{"version":3,"sources":["app/modules/auth/models/auth.enums.ts","app/modules/employee/stores/employeesStore/index.ts","app/modules/common/components/wildHealthStatusLabel/WildHealthStatusLabel.tsx","app/modules/common/components/wildHealthStatusLabel/WildHealthStatusLabel.styles.ts","app/modules/payment/models/subscription.models.ts","app/modules/employee/stores/patientProfileStore/patientProfileStore.ts","app/modules/employee/stores/patientProfileStore/patientProfileQuery.ts","assets/img/icons/recentAppts.svg","app/modules/common/pagination/components/paginationComponent/SmallPaginationComponent.tsx","app/modules/widgets/components/widgetContainerBodyComponent/widgetContainerBodyComponent.hooks.ts","app/modules/appointments/services/appoitmentOptions.service.ts","app/modules/appointments/components/appointmentOptionsDialogComponent/appointmentOptions.validator.ts","app/modules/appointments/components/appointmentOptionsDialogComponent/appointmentOptionsDialogComponent.hooks.ts","assets/img/icons/InfoCircle.svg","app/modules/appointments/components/appointmentOptionsDialogComponent/appointmentOptionsDialogComponent.styles.ts","app/modules/appointments/components/appointmentOptionsDialogComponent/AppointmentOptionsDialogComponent.tsx","app/modules/appointments/components/createPatientAppointmentUpdatedDialog/CreatePatientAppointmentDialogComponent.tsx","app/modules/widgets/components/appointmentWidgetComponent/appointmentWidgetComponent.hooks.ts","app/modules/widgets/components/appointmentWidgetComponent/appointmentWidgetComponent.styles.ts","app/modules/widgets/components/appointmentWidgetComponent/AppointmentWidgetComponent.tsx","app/modules/widgets/components/appointmentWidgetComponent/AppointmentWidgetRedesignComponent.tsx","app/modules/widgets/components/myTasksWidgetComponent/myTasksWidgetComponent.style.ts","app/modules/widgets/components/myTasksWidgetComponent/myTaskItemComponent/myTaskItemComponent.style.ts","app/modules/widgets/components/myTasksWidgetComponent/constants/myTaskImages.ts","app/modules/widgets/components/myTasksWidgetComponent/SchedulingInformationDialog/scheduilngInformationDialog.style.ts","assets/img/icons/EmptyTaskCheck.svg","app/modules/widgets/components/myTasksWidgetComponent/SchedulingInformationDialog/schedulingInformationDialog.tsx","app/modules/widgets/components/myTasksWidgetComponent/SchedulingInformationDialog/schedulingInformationDialog.hooks.ts","app/modules/widgets/components/myTasksWidgetComponent/myTaskItemComponent/MyTaskItemComponent.tsx","app/modules/widgets/components/myTasksWidgetComponent/myTaskItemComponent/myTaskItemComponent.hook.ts","app/modules/common/models/navigation.models.ts","app/modules/widgets/components/myTasksWidgetComponent/MyTasksWidgetCompoent.tsx","app/modules/widgets/components/myTasksWidgetComponent/myTasksWidgetComponent.hooks.ts","app/modules/widgets/components/navigationWidgetComponent/navigationWidgetComponent.style.ts","assets/img/icons/VisitNoteIcon.svg","app/modules/widgets/components/navigationWidgetComponent/navigationWidgetComponent.hooks.ts","assets/img/icons/MessagesIcon.svg","assets/img/icons/GoalsIcon.svg","assets/img/icons/BiometricsIcon.svg","assets/img/icons/upcomingLabs.svg","app/modules/widgets/components/navigationWidgetComponent/NavigationWidgetComponent.tsx","app/modules/notifications/components/notificationComponent/notificationsWidgetComponent.styles.ts","assets/img/icons/MessageNotificationIcon.svg","assets/img/icons/stickynoteIcon.svg","app/modules/notifications/components/notificationComponent/NotificationsWidgetComponent.tsx","app/modules/widgets/components/journeyTasksWidgetComponent/journeyTasksWidgetComponent.styles.ts","app/modules/widgets/components/journeyTasksWidgetComponent/JourneyTasksWidgetComponent.tsx","app/modules/widgets/components/journeyTasksWidgetComponent/journeyTasksWidgetComponent.hooks.ts","app/modules/widgets/components/widgetContainerBodyComponent/WidgetContainerBodyComponent.tsx","app/modules/widgets/components/widgetContainerComponent/widgetContainerComponent.styles.ts","app/modules/widgets/components/widgetContainerComponent/WidgetContainerComponent.tsx","app/modules/appointments/components/coachRescheduleAppointmentDialog/coachRescheduleAppointmentDialogComponent.hooks.ts","app/modules/appointments/components/coachRescheduleAppointmentDialog/CoachRescheduleAppointmentDialogComponent.styles.ts","app/modules/appointments/components/coachRescheduleAppointmentDialog/CoachRescheduleAppointmentDialogComponent.tsx","app/modules/common/components/logOutTimeOutComponent/LogOutTimeOutComponent.hook.tsx","app/modules/common/components/logOutTimeOutComponent/LogOutTimeOutComponent.tsx","app/modules/common/pagination/components/paginationComponent/paginationComponent.style.tsx","app/modules/common/pagination/components/selectPageComponent/SelectPageComponent.tsx","app/modules/common/pagination/components/paginationComponent/PaginationComponent.tsx","assets/img/logos/WHBlackLogo.svg","assets/img/logos/WHLogo.svg","assets/img/logos/WHClarityLogo.svg","assets/img/logos/WHClarityLogo.png","assets/img/logos/Clarity_pdf_header.png","assets/img/placeholders/EmptyPhoto.png","assets/img/icons/arrowLeft.svg","assets/img/icons/arrowRight.svg","assets/img/icons/arrowUp.svg","app/modules/common/helpers/on-emit.ts","assets/img/icons/arrowDown.svg","assets/img/placeholders/success.png","assets/img/placeholders/EmptyChats.png","assets/img/placeholders/EmptyMessages.png","app/modules/common/components/wildHealthContainer/wildHealthContainer.styles.ts","app/modules/common/components/wildHealthContainer/WildHealthContainer.tsx","assets/img/companies/labCorp.png","assets/img/companies/quest.png","assets/img/companies/bostonHeart.png","assets/img/HealthReport_Pg18_Image.png","app/modules/healthSummary/stores/healthSummary.store.ts","app/modules/healthSummary/stores/healthSummary.query.ts","assets/img/placeholders/EmptyRecommendations.png","assets/img/SNPS_RedTriangle.png","assets/img/SNPS_YellowTriangle.png","assets/img/HealthReport_Pg2_Image.jpg","assets/img/HealthReport_Pg8_Image.png","assets/img/HealthReport_Pg23_Image.png","assets/img/HealthReport_Pg16_Image.png","assets/img/HealthReport_Pg14_Image.png","assets/img/HealthReport_Pg12_Image.png","assets/img/HealthReport_Pg13_Image1.png","app/modules/appointments/stores/appointments/appointments.store.ts","app/modules/appointments/stores/appointments/appointments.query.ts","assets/img/HealthReport_Pg13_graph.png","assets/img/WH_Cover_Image.jpg","assets/img/icons/expand.svg","assets/img/icons/collapse.svg","assets/img/placeholders/EmptyMeds.png","assets/img/icons/checked.svg","assets/img/icons/note.svg","assets/img/icons/star.svg","assets/img/TaskEmpty.png","assets/img/icons/TrendingUp.svg","app/modules/account/services/profile.service.ts","assets/img/icons/TrendingDown.svg","assets/img/DietGoal.png","assets/img/ExerciseGoal.png","assets/img/MindfulnessGoal.png","assets/img/LongevityGoal.png","assets/img/NeuroGoal.png","assets/img/SleepGoal.png","assets/img/OtherGoal.png","assets/img/DietGoalFull.png","assets/img/ExerciseGoalFull.png","app/modules/common/pagination/helpers/get-evailable-pages.ts","assets/img/MindfulnessGoalFull.png","assets/img/LongevityGoalFull.png","assets/img/NeuroGoalFull.png","assets/img/SleepGoalFull.png","assets/img/OtherGoalFull.png","assets/img/paymentCouponIcon.png","assets/img/success.svg","assets/img/getStarted/Recommended.png","app/modules/common/helpers/enum-mapper.ts","assets/img/CheckoutConfirmVideoPreview.svg","app/modules/common/components/wildHealthPlaceHolder/wildHealthPlaceHolderBase.styles.ts","app/modules/common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase.tsx","app/modules/common/components/wildHealthTable/WildHealthTableCell.tsx","app/modules/conversations/helpers/messages.converter.tsx","app/modules/common/components/WildHealthRadio.tsx","app/modules/common/components/wildHealthButton/WildHealthButton.tsx","app/modules/common/components/wildHealthButton/wildHealthButton.hooks.ts","app/modules/insurance/stores/insurance.query.ts","app/services/logo.service.tsx","app/modules/conversations/stores/patientConversationsStore/patientConversations.query.ts","app/modules/patientSupplements/services/supplements.service.ts","app/modules/notes/models/notes.models.ts","app/modules/healthSummary/services/healthSummarySupplements.service.ts","app/modules/healthSummary/services/healthSummaryAllergies.service.ts","app/modules/healthSummary/services/healthSummary.service.ts","app/modules/patientSupplements/models/patientSupplementModel.ts","app/modules/appointments/helpers/appointmentHelper.ts","app/modules/timezones/stores/timezones/timezones.store.ts","app/modules/timezones/stores/timezones/timezones.query.ts","app/modules/common/components/OptionalComponent.tsx","app/modules/payment/services/subscription.service.ts","app/modules/locations/services/locations.service.ts","app/modules/healthSummary/helpers/healthSummaryHelper.ts","app/modules/conversations/stores/patientConversationsStore/patientConversations.store.ts","app/modules/locations/stores/locations.store.ts","app/modules/locations/stores/locations.query.ts","app/modules/common/helpers/display-name.ts","app/modules/patientSupplements/services/patientSupplements.service.ts","app/modules/notifications/stores/notifications/notifications.store.ts","app/modules/notifications/stores/notifications/notifications.query.ts","appInsights.ts","app/modules/common/dialogs/confirmDialog/ConfirmDialog.styles.ts","app/modules/common/dialogs/confirmDialog/ConfirmDialog.tsx","app/modules/common/dialogs/confirmDialog/confirmDialog.hooks.ts","app/modules/common/dialogs/confirmWithReasonDialog/confirmWithReasonDialog.validator.ts","app/modules/common/dialogs/confirmWithReasonDialog/confirmWithReasonDialog.hooks.ts","app/modules/common/dialogs/confirmWithReasonDialog/confirmWithReasonDialog.styles.ts","app/modules/common/dialogs/confirmWithReasonDialog/ConfirmWithReasonDialog.tsx","app/modules/common/dialogs/infoDialog/InfoDialog.styles.ts","app/modules/common/dialogs/infoDialog/InfoDialog.tsx","app/modules/common/dialogs/infoDialog/infoDialog.hooks.ts","app/modules/common/snack/CommonSnack.tsx","app/modules/tracking/historyTracking.tsx","assets/img/icons/SelectedChild.svg","app/modules/dnaFiles/components/failedDnaBadgeComponent/FailedDnaBadgeComponent.tsx","app/modules/dnaFiles/components/failedDnaBadgeComponent/failedDnaBadgeComponent.hooks.ts","app/components/iconComponent/MedicalHistoryIcon.tsx","assets/img/icons/Appointments.svg","app/components/iconComponent/SelectedChildIcon.tsx","app/components/iconComponent/ConversationIcon.tsx","assets/img/icons/AllPatients.svg","app/components/iconComponent/AppointmentsIcon.tsx","app/components/iconComponent/HealthReportIcon.tsx","assets/img/icons/MyPatients.svg","app/components/iconComponent/AllPatientsIcon.tsx","assets/img/icons/HealthScore.svg","app/components/iconComponent/MyPatientsIcon.tsx","assets/img/icons/PendingNotes.svg","app/components/iconComponent/HealthScoreIcon.tsx","assets/img/icons/fellowship.svg","app/components/iconComponent/PendingNotesIcon.tsx","assets/img/icons/fellowshipActive.svg","assets/img/icons/Shortcuts.svg","app/components/iconComponent/FellowshipIcon.tsx","assets/img/icons/Licensing.svg","app/components/iconComponent/ShortcutsIcon.tsx","assets/img/icons/Analytics.svg","app/components/iconComponent/LicensingIcon.tsx","assets/img/icons/Dashboard.svg","app/components/iconComponent/AnalyticsIcon.tsx","assets/img/icons/Intake.svg","app/components/iconComponent/DashboardIcon.tsx","assets/img/icons/Users.svg","app/components/iconComponent/IntakeIcon.tsx","assets/img/icons/Notes.svg","app/components/iconComponent/UsersIcon.tsx","assets/img/icons/Academy.svg","app/components/iconComponent/NotesIcon.tsx","assets/img/icons/DNA.svg","app/components/iconComponent/AcademyIcon.tsx","assets/img/icons/Person.svg","app/components/iconComponent/DNAIcon.tsx","assets/img/icons/HealthPlan.svg","app/components/iconComponent/PersonIcon.tsx","app/components/iconComponent/HealthPlan.tsx","app/components/iconComponent/LabsIcon.tsx","app/modules/conversations/components/unreadMessagesBadgeComponent/unreadMessagesBadgeComponent.hooks.ts","app/modules/conversations/components/unreadMessagesBadgeComponent/unreadMessagesBadgeComponent.styles.tsx","app/modules/conversations/components/unreadMessagesBadgeComponent/UnreadMessagesBadgeComponent.tsx","app/modules/conversations/components/newSupportTicketsBadgeComponent/newSupportTicketsBadgeComponent.hooks.ts","app/modules/conversations/components/newSupportTicketsBadgeComponent/NewSupportTicketsBadgeComponent.tsx","app/modules/conversations/components/conversationBudgeComponent/conversationsBadgeComponent.hooks.ts","app/modules/conversations/components/conversationBudgeComponent/ConversationsBadgeComponent.tsx","app/modules/questionnaire/stores/questionnaireStore/questionnaire.store.ts","app/modules/questionnaire/stores/questionnaireStore/questionnaire.query.ts","app/modules/questionnaire/components/uncompletedMedicalHistoryBadgeComponent/uncompletedMedicalHistoryBadgeComponent.hooks.ts","app/modules/questionnaire/components/uncompletedMedicalHistoryBadgeComponent/UncompletedMedicalHistoryBadgeComponent.tsx","app/modules/healthReport/stores/healthReportsStore/healthReports.store.ts","app/modules/healthReport/stores/healthReportsStore/healthReports.query.ts","app/modules/healthReport/components/healthReportBadgeComponent/HealthReportBadgeComponent.tsx","app/modules/healthReport/components/healthReportBadgeComponent/healthReportBadgeComponent.hooks.ts","app/modules/questionnaire/components/uncompletedMedicalHistoryBadgeComponent/UncompletedHealthFormsBadgeComponent.tsx","app/modules/rosters/stores/rosters/rosters.store.ts","app/modules/rosters/models/roster.model.ts","app/modules/rosters/stores/rosters/rosters.query.ts","app/modules/rosters/services/rosters.service.ts","app/modules/unmatchedLabs/components/unmatchedLabsBadgeComponent/UnmatchedLabsBadgeComponent.tsx","app/modules/unmatchedLabs/components/unmatchedLabsBadgeComponent/unmatchedLabsBadgeComponent.hooks.ts","app/services/mainMenu.service.tsx","app/modules/account/pages/patientAccountPage/patientProfilePage.styles.ts","app/modules/common/components/PhoneNumberInput.tsx","app/modules/common/helpers/get-last-object.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationComponentValidator/patientPharmacyInformation.validator.ts","app/modules/patients/components/PatientInformationWidget/PharmacyInfoWidgetComponent/pharmacyInfoWidgetComponent.hooks.ts","app/modules/patients/components/PatientInformationWidget/PharmacyInfoWidgetComponent/pharmacyInfoWidgetComponent.styles.ts","app/modules/patients/components/PatientInformationWidget/PharmacyInfoWidgetComponent/PharmacyInfoWidgetComponent.tsx","app/modules/patients/components/PatientInformationWidget/AddressInfoWidgetComponent/addressInfoWidgetComponent.style.ts","app/modules/common/components/WildHealthClickableTooltip/WildHealthClickableTooltip.tsx","app/modules/patients/components/PatientInformationWidget/AddressInfoWidgetComponent/AddressInfoWidgetComponent.tsx","app/modules/patients/components/PatientInformationWidget/AddressInfoWidgetComponent/addressInfoWidgetComponent.hooks.ts","app/modules/patients/components/PatientInformationWidget/GeneralInfoWidgetComponent/generalInfoWidgetComponent.styles.ts","app/modules/patients/components/PatientInformationWidget/GeneralInfoWidgetComponent/GeneralInfoWidgetComponent.tsx","app/modules/patients/components/PatientInformationWidget/GeneralInfoWidgetComponent/generalInfoWidgetComponent.hooks.ts","assets/img/icons/CheckedIcon.svg","assets/img/icons/CheckedIconDefault.svg","app/modules/common/components/WildHealthCheckbox.tsx","app/modules/patients/components/PatientInformationWidget/SessionRecordingSettingWidgetComponent/SessionRecordingSettingWidgetComponent.tsx","app/modules/patients/components/PatientInformationWidget/SessionRecordingSettingWidgetComponent/sessionRecordingSettingWidgetComponent.hooks.ts","app/modules/account/pages/patientAccountPage/PatientProfilePage.tsx","app/modules/account/pages/patientAccountPage/patientProfilePage.hooks.ts","app/modules/common/components/wildHealthTabPanel/WildHealthTabPanel.tsx","app/modules/common/components/wildHealthTabControl/wildHealthTabControl.hooks.tsx","app/modules/common/components/wildHealthTabControl/wildHealthTabControl.styles.ts","app/modules/common/components/wildHealthTabControl/WildHealthTabControl.tsx","app/modules/account/components/employeeAccountComponent/employeeAccountComponent.styles.ts","app/modules/account/components/employeeAccountComponent/employeeAccountComponent.validator.ts","app/modules/account/stores/addressStore/address.store.ts","app/modules/account/stores/addressStore/address.query.ts","app/modules/account/services/address.service.ts","app/modules/account/components/employeeAccountComponent/employeeAccountComponent.hooks.ts","app/modules/common/components/WildHealthDatePicker.tsx","app/modules/account/components/employeeAccountComponent/EmployeeAccountComponent.tsx","app/modules/common/components/updateAddressForm/updateAddressForm.hooks.ts","app/modules/common/components/updateAddressForm/UpdateAddressForm.tsx","app/modules/common/models/address.models.ts","app/modules/account/components/businessAccountComponent/businessAccountComponent.validator.ts","app/modules/account/components/businessAccountComponent/BusinessAccountComponent.tsx","app/modules/account/components/businessAccountComponent/businessAccountComponent.hooks.ts","app/modules/account/models/businessProfile.model.ts","app/modules/account/models/practiceProfile.model.ts","app/modules/account/components/practiceAccountComponent/practiceAccountComponent.validator.ts","app/modules/account/components/practiceAccountComponent/PracticeAccountComponent.tsx","app/modules/account/components/practiceAccountComponent/practiceAccountComponent.hooks.ts","app/modules/auth/pages/restorePasswordPage/restorePasswordPage.validator.ts","app/modules/account/components/resetPasswordComponent/ResetPasswordComponent.tsx","app/modules/account/components/resetPasswordComponent/resetPasswordComponent.hooks.ts","app/modules/account/pages/employeeAccountPage/EmployeeAccountPage.tsx","app/modules/account/pages/myAccountPage/MyAccountPage.tsx","app/modules/account/pages/myAccountPage/myAccount.hooks.ts","app/modules/payment/components/activeMembershipCard/activeMembershipCardComponent.styles.ts","app/modules/payment/components/activeMembershipCard/ActiveMembershipCardComponent.tsx","app/modules/payment/components/membershipCard/membershipCardComponent.styles.ts","app/modules/payment/components/membershipCard/MembershipCardComponent.tsx","app/modules/payment/models/payment.models.ts","app/modules/payment/components/membershipCard/membershipCardComponent.hooks.ts","app/modules/payment/services/payment.service.ts","app/modules/account/pages/patientMembershipPage/PatientMembershipPage.tsx","app/modules/account/pages/patientMembershipPage/PatientMembershipPage.hooks.ts","app/modules/account/pages/resetPassword/ResetPasswordPage.tsx","app/modules/locations/models/locations.models.ts","app/modules/account/pages/resetPassword/resetPasswordPage.hooks.ts","app/modules/appointments/components/selectAppointmentType/SelectAppointmentTypeComponent.tsx","app/modules/common/components/selectUserComponent/SelectUserComponent.tsx","app/modules/appointments/components/appointmentAttendees/AppointmentAttendeesComponent.tsx","app/modules/appointments/components/selectTargetType/SelectTargetTypeComponent.tsx","app/modules/appointments/components/selectDuration/SelectDurationComonent.tsx","app/modules/appointments/models/times.models.ts","app/modules/appointments/components/coachCreateAppoinmentDialog/coachCreateAppoinmentDialogComponent.hooks.ts","app/modules/appointments/components/coachCreateAppoinmentDialog/CoachCreateAppointmentDialog.styles.ts","app/modules/appointments/components/coachCreateAppoinmentDialog/CoachCreateAppoinmentDialogComponent.tsx","app/modules/appointments/components/scheduleItems/appointmentDayItemComponent/AppointmentDayItemComponent.styles.ts","app/modules/appointments/components/scheduleItems/appointmentDayItemComponent/AppointmentDayItemComponent.tsx","app/modules/appointments/components/scheduleItems/appointmentDayItemComponent/appointmentDayItemComponent.hooks.ts","app/modules/appointments/components/appointmentInfoPopover/AppointmentInfoPopoverComponent.styles.ts","app/modules/appointments/components/sendInviteDialog/SendInviteDialogComponent.styles.ts","app/modules/appointments/components/sendInviteDialog/sendInviteDialogComponent.validator.ts","app/modules/appointments/components/sendInviteDialog/SendInviteDialogComponent.tsx","app/modules/appointments/components/sendInviteDialog/sendInviteDialogComponent.hooks.ts","app/modules/appointments/components/appointmentInfoPopover/AppointmentInfoPopoverComponent.tsx","app/modules/appointments/components/appointmentInfoPopover/appointmentInfoPopoverComponent.hooks.ts","app/modules/appointments/components/scheduleItems/appointmentItemComponent/AppointmentItemComponent.styles.ts","app/modules/appointments/components/scheduleItems/appointmentItemComponent/AppointmentItemComponent.tsx","app/modules/appointments/components/scheduleItems/appointmentItemComponent/appointmentItemComponent.hooks.ts","app/modules/questionnaire/services/questionnaire.service.ts","app/modules/appointments/components/coachAppointmentsCalendar/coachAppointmentsCalendarComponent.hooks.ts","app/modules/appointments/components/coachAppointmentsCalendar/CoachAppointmentCalendarComponent.styles.ts","assets/img/icons/calendar.svg","app/modules/appointments/components/scheduleItems/blockedItemComponent/BlockedItemComponent.styles.ts","app/modules/appointments/components/scheduleItems/blockedItemComponent/BlockedItemComponent.tsx","app/modules/appointments/components/coachAppointmentsCalendar/CoachAppointmentsCalendarComponent.tsx","app/modules/appointments/pages/coachAppointmentsPage/CoachAppointmentsPage.styles.ts","assets/img/icons/coach.svg","app/modules/conversations/components/chatsListComponent/chatsListComponent.styles.ts","app/modules/appointments/components/selectEmployeeWithSearch/selectEmployeeWithSearch.styles.ts","app/modules/appointments/components/selectEmployeeWithSearch/selectEmployeeWithSearch.tsx","assets/img/icons/Dot.svg","app/modules/appointments/components/appointmentsStatisticComponent/appointmentsStatisticComponent.styles.ts","app/modules/appointments/components/appointmentsStatisticComponent/AppointmentsStatisticComponent.tsx","app/modules/appointments/components/appointmentsStatisticComponent/appointmentsStatisticComponent.hooks.ts","app/modules/appointments/pages/coachAppointmentsPage/CoachAppointmentsPage.tsx","app/modules/appointments/pages/coachAppointmentsPage/coachAppointmentPage.hooks.ts","app/modules/notes/components/medicationsSupplements/MedicationsSupplementsComponent.tsx","app/modules/notes/components/noteInternalRecommendations/noteInternalRecommendation.styles.ts","app/modules/notes/components/noteInternalRecommendations/NoteInternalRecommendation.tsx","app/modules/notes/components/noteRecommendations/NoteRecommendationsComponent.styles.ts","app/modules/notes/components/noteRecommendations/NoteRecommendationsComponent.tsx","app/modules/notes/components/noteSignature/NoteSignatureComponent.tsx","app/modules/patientSupplements/stores/patientMedicationsStore/patientMedications.query.ts","app/modules/patientSupplements/stores/patientSupplementsStore/patientSupplements.query.ts","assets/img/icons/TopGoal.svg","app/modules/questionnaire/models/questionnaire.models.ts","app/modules/notes/constants/nonAppointmentNoteTypes.ts","app/modules/notes/services/notes.service.ts","app/modules/notes/constants/initialConsult.constants.ts","app/modules/inputs/models/input.models.ts","app/modules/healthReport/constants/apoe.constants.ts","app/modules/notes/services/mdmCodes.service.ts","app/styles/Pinyon-Script.ts","app/modules/notes/services/notes-pdf.service.ts","app/modules/notes/helpers/noteHelpers.tsx","app/modules/notes/components/initialConsult/initialConsultComponent.styles.ts","app/modules/notes/components/initialConsult/InitialConsultComponent.tsx","app/modules/notes/components/initialConsult/initialConsultComponent.hooks.ts","app/modules/notes/components/followUp/followUpComponent.styles.ts","app/modules/notes/components/followUp/FollowUpComponent.tsx","app/modules/notes/components/followUp/followUpComponent.hooks.ts","app/modules/employee/services/metaTags.service.ts","app/components/PatientMetaTagsComponent/patientMetaTags.style.ts","app/components/PatientMetaTagsComponent/PatientMetaTagsComponent.tsx","app/components/PatientMetaTagsComponent/patientMetaTags.hooks.ts","app/components/pageTitleComponent/PageTitleComponent.tsx","app/modules/notes/pages/patientBlankPage/patientBlankPage.styles.ts","app/modules/notes/pages/patientBlankPage/PatientBlankPage.tsx","app/modules/notes/pages/patientBlankPage/patientBlankPage.hooks.ts","app/modules/notes/components/soapNoteComponent/soapNote.hooks.ts","app/modules/notes/components/soapNoteComponent/SoapNoteComponent.tsx","app/modules/notes/components/historyAndPhysicalComponent/HistoryAndPhysicalComponent.tsx","app/modules/notes/components/historyAndPhysicalComponent/historyAndPhysical.hooks.ts","app/modules/notes/components/historyAndPhysicalFollowUpComponent/HistoryAndPhysicalFollowUpComponent.tsx","app/modules/notes/components/historyAndPhysicalFollowUpComponent/historyAndPhysicalFollowUp.hooks.ts","app/modules/common/components/wildHealthButton/downloadButton/DownloadButton.tsx","app/modules/appointments/components/patientPastAppointmentsComponent/patientPastAppointmentsComponent.styles.ts","app/modules/appointments/components/patientPastAppointmentsComponent/PatientPastAppointmentsComponent.tsx","app/modules/appointments/components/patientPastAppointmentsComponent/patientPastAppointmentsComponent.hooks.tsx","app/modules/appointments/pages/patientPastAppointmentsPage/PatientPastAppointmentsPage.tsx","app/modules/appointments/components/createPatientAppointmentDialog/CreatePatientAppointmentDialogComponent.styles.ts","app/modules/appointments/components/createPatientAppointmentDialog/CreatePatientAppointmentDialogComponent.tsx","app/modules/appointments/components/createPatientAppointmentDialog/createPatientAppointmentDialogComponent.hook.ts","app/modules/appointments/components/appointmentCard/AppointmentCardComponent.styles.tsx","app/modules/products/enums/productType.ts","app/modules/appointments/components/appointmentCard/AppointmentCardComponent.tsx","app/modules/appointments/components/appointmentCard/AppointmentCardComponent.hook.tsx","app/modules/appointments/components/appointmentCards/AppointmentCardsComponent.tsx","app/modules/appointments/components/appointmentCards/MobileAppointmentCardsComponent.tsx","app/modules/appointments/components/cancelAppointmentDialogComponent/cancelAppointmentDialogComponent.styles.ts","webpack:///./src/assets/img/logos/WHClarityLogo.svg?ab17","app/modules/appointments/components/cancelAppointmentDialogComponent/CancelAppointmentDialogComponent.tsx","app/modules/appointments/components/cancelAppointmentDialogComponent/cancelAppointmentDialogComponent.hooks.ts","app/modules/appointments/components/patientUpcommingAppointmentsComponent/PatientUpcommingAppointmentsComponent.tsx","app/modules/appointments/components/patientUpcommingAppointmentsComponent/patientUpcomminAppointmentsComponent.hooks.ts","app/modules/appointments/pages/patientUpcommingAppointmentsPage/PatientUpcommingAppointmentPage.tsx","app/modules/auth/pages/loginPage/loginPage.validator.ts","app/modules/auth/pages/forgotPasswordPage/forgotPasswordPage.validator.ts","app/modules/auth/pages/loginPage/loginPage.styles.ts","app/modules/auth/pages/forgotPasswordPage/ForgotPasswordPage.tsx","app/modules/auth/pages/forgotPasswordPage/forgotPasswordPage.hooks.tsx","app/modules/auth/pages/loginOnBehalfPage/LoginOnBehalfPage.tsx","assets/img/icons/GoogleIcon.svg","app/modules/auth/pages/loginOnBehalfPage/loginOnBehalfPage.hooks.ts","app/modules/auth/pages/loginPage/LoginPage.tsx","app/modules/auth/pages/loginPage/loginPage.hooks.tsx","app/modules/auth/pages/restorePasswordPage/RestorePasswordPage.tsx","app/modules/auth/pages/restorePasswordPage/restorePasswordPage.hooks.ts","app/modules/auth/pages/setUpPasswordPage/setUpPasswordPage.validator.ts","app/modules/auth/pages/setUpPasswordPage/SetUpPasswordPage.tsx","app/modules/auth/pages/setUpPasswordPage/setUpPasswordPage.hooks.ts","app/modules/auth/components/verifyProfileComponent/verifyProfilePageValidator.validator.ts","app/modules/auth/components/verifyProfileComponent/VerifyProfileComponent.tsx","app/modules/auth/components/verifyProfileComponent/verifyProfileComponent.hooks.tsx","app/modules/auth/components/sendProfileVerificationComponent/sendProfileVerificationComponent.validator.ts","app/modules/auth/components/sendProfileVerificationComponent/SendProfileVerificationComponent.tsx","app/modules/common/components/ProtectedRoute.tsx","app/modules/auth/components/sendProfileVerificationComponent/sendProfileVerificationComponent.hooks.tsx","app/modules/auth/pages/verifyProfilePage/VerifyProfilePage.tsx","app/modules/auth/pages/verifyProfilePage/verifyProfilePage.hooks.tsx","app/modules/conversations/models/conversationState.models.ts","app/modules/common/components/AuthenticatedRoute.tsx","app/modules/common/components/AuthorizedRoute.tsx","app/modules/conversations/components/employeeConversationsComponent/employeeConversationsComponent.styles.ts","app/modules/conversations/components/employeeConversationsComponent/employeeConversationsComponent.hooks.ts","app/modules/common/components/wildHealthButton/FilterButtonGroup.tsx","app/modules/common/components/wildHealthPlaceHolder/commonPlaceHolder.styles.ts","app/modules/common/components/wildHealthPlaceHolder/ChatsPlaceHolder.tsx","app/modules/conversations/components/chatsListComponent/chatsListComponent.hooks.ts","app/modules/conversations/components/chatsListComponent/ChatsListComponent.tsx","app/modules/conversations/components/createInternalConversationDialogComponent/createInternalConversationDialogComponent.hooks.ts","app/modules/common/components/selectUserComponent/multiSelectUserComponent.styles.ts","app/modules/common/components/selectUserComponent/MultiSelectUserComponent.tsx","app/modules/conversations/components/createInternalConversationDialogComponent/createInternalConversationDialogComponent.styles.ts","app/modules/conversations/components/createInternalConversationDialogComponent/CreateInternalConversationDialogComponent.tsx","app/modules/conversations/components/selectUserDialogComponent/selectUserDialogComponent.hooks.ts","app/modules/conversations/components/selectUserDialogComponent/selectUserDialogComponent.styles.ts","app/modules/conversations/components/selectUserDialogComponent/SelectUserDialogComponent.tsx","app/modules/conversations/components/messageAvatarsComponent/MessageAvatarsComponent.tsx","app/modules/conversations/components/chatItemComponent/chatItemComponent.styles.ts","app/modules/conversations/components/chatItemComponent/ChatItemComponent.tsx","app/modules/conversations/components/employeeChatComponent/employeeChatComponent.styles.ts","app/modules/conversations/components/employeeConversationsTabsComponent/EmployeeConversationsTabsComponent.tsx","app/modules/conversations/components/employeeConversationsTabsComponent/employeeConversationsTabsComponent.hooks.ts","app/modules/conversations/stores/scheduledMessagesStore/scheduledMessages.store.ts","app/modules/conversations/stores/scheduledMessagesStore/scheduledMessages.query.ts","assets/img/icons/OpenSide.svg","app/modules/conversations/services/scheduleMessage.service.ts","app/modules/common/constants/conversation.ts","app/modules/conversations/helpers/getAttributes.ts","app/modules/conversations/components/conversationComponent/conversationComponent.hooks.ts","app/modules/conversations/components/sendMessageComponent/sendMessageComponent.styles.ts","assets/img/icons/ActivityAndSports.svg","app/modules/healthReport/services/selectShortcut.service.ts","app/modules/common/helpers/insert-string.ts","app/modules/conversations/components/sendMessageComponent/sendMessageComponent.hooks.ts","assets/img/icons/AnimalsNature.svg","assets/img/icons/FoodDrink.svg","assets/img/icons/Reaction.svg","assets/img/icons/Symbols.svg","assets/img/icons/TravelPlaces.svg","app/modules/conversations/components/emojiComponent/emojiComponent.styles.ts","assets/img/icons/Send.svg","app/modules/conversations/components/emojiComponent/EmojiComponent.tsx","app/modules/conversations/components/emojiComponent/emojiComponent.hooks.ts","assets/img/icons/Attach.svg","assets/img/icons/Schedule.svg","app/modules/conversations/components/sendMessageComponent/SendMessageComponent.tsx","app/modules/conversations/components/sendMessageComponentMobile/sendMessageComponentMobile.styles.ts","app/modules/conversations/components/sendMessageComponentMobile/SendMessageComponentMobile.tsx","app/modules/conversations/components/editScheduledMessage/editScheduledMessage.styles.ts","app/modules/conversations/components/editScheduledMessage/EditScheduledMessage.tsx","app/modules/conversations/components/editScheduledMessage/editScheduledMessage.hooks.ts","app/modules/conversations/components/scheduleMessageDialogComponent/scheduleMessageDialogComponent.styles.ts","assets/img/icons/AiIcon.svg","app/modules/conversations/components/scheduleMessageDialogComponent/ScheduleMessageDialogComponent.tsx","app/modules/conversations/components/scheduleMessageDialogComponent/scheduleMessageDialogComponent.hooks.ts","app/modules/common/components/wildHealthPlaceHolder/MessagesPlaceHolder.tsx","app/modules/conversations/components/messageComponent/messageComponent.styles.ts","app/modules/conversations/components/messageAvatarComponent/messageAvatarComponent.styles.ts","app/modules/conversations/components/messageAvatarComponent/MessageAvatarComponent.tsx","app/modules/conversations/components/messageComponent/messageComponent.hooks.ts","app/modules/conversations/components/hoverMenuMessageComponent/HoverMenuMessageComponent.styles.ts","app/modules/conversations/components/hoverMenuMessageComponent/menuMessage/MenuMessage.tsx","app/modules/conversations/components/hoverMenuMessageComponent/HoverMenuMessageComponent.tsx","app/modules/conversations/components/messageComponent/DeleteMessageDialog.tsx","app/modules/conversations/components/messageComponent/ForwardMessageDialog.tsx","app/modules/conversations/components/messageComponent/MessageComponent.tsx","app/modules/conversations/components/threadComponent/threadComponent.styles.ts","app/modules/common/helpers/group.by.ts","app/modules/conversations/components/messageComponent/MessageCompactComponent.tsx","app/modules/conversations/components/messageComponent/MessageComponentView.tsx","app/modules/conversations/components/threadComponent/ThreadComponent.tsx","app/modules/conversations/components/conversationComponent/conversationComponent.styles.ts","app/modules/conversations/components/editAiMessage/editAiMessage.hooks.ts","app/modules/conversations/components/editAiMessage/editAiMessage.styles.ts","app/modules/employee/models/shortcut.models.ts","app/modules/conversations/components/editAiMessage/EditAiMessage.tsx","app/modules/healthReport/components/selectShortcutComponent/selectShortcutComponent.styles.ts","app/modules/employee/stores/shortcutsStore/shortcuts.store.ts","app/modules/employee/stores/shortcutsStore/shortcuts.query.ts","app/modules/employee/services/shortcuts.service.ts","app/modules/healthReport/components/selectShortcutComponent/SelectShortcutComponent.tsx","assets/img/icons/Add.svg","app/modules/healthReport/components/selectShortcutComponent/selectShortcutComponent.hooks.ts","app/modules/conversations/components/conversationComponent/ConversationComponent.tsx","app/modules/conversations/components/chatMembersComponent/chatMembersComponent.styles.ts","assets/img/placeholders/EmptyAttachments.svg","app/modules/conversations/components/chatMembersComponent/ManageChatMembersComponent.tsx","app/modules/common/components/wildHealthPlaceHolder/AttachmentsPlaceHolder.tsx","app/modules/conversations/components/attachmentsComponent/attachmentsComponent.hooks.ts","app/modules/conversations/components/attachmentsComponent/attachmentsComponent.styles.ts","app/modules/conversations/components/attachmentsComponent/AttachmentsComponent.tsx","app/constants/image.constants.ts","app/modules/common/components/wildHealthPlaceHolder/CommonPlaceHolder.tsx","app/modules/conversations/components/scheduledMessagesComponent/scheduledMessagesComponent.styles.ts","app/modules/conversations/components/scheduledMessagesComponent/scheduledMessagesComponent.hooks.ts","app/modules/conversations/components/scheduledMessagesComponent/ScheduledMessagesComponent.tsx","app/modules/conversations/helpers/getMembers.ts","app/modules/conversations/components/attachmentsViewComponent/attachmentsViewComponent.hooks.ts","app/modules/conversations/components/attachmentsViewComponent/AttachmentsViewComponent.tsx","app/modules/conversations/components/employeeChatComponent/EmployeeChatComponent.tsx","app/modules/conversations/components/employeeChatComponent/employeeChatComponent.hooks.ts","app/modules/conversations/components/internalThreadComponent/internalThreadComponent.styles.ts","app/modules/conversations/components/internalThreadComponent/InternalThreadComponent.tsx","app/modules/conversations/components/internalConversationComponent/InternalConversationComponent.tsx","app/modules/conversations/components/internalChatComponent/internalChatComponent.styles.ts","app/modules/conversations/components/internalThreadViewComponent/InternalThreadViewComponent.tsx","app/modules/conversations/components/internalConversationViewComponent/InternalConversationViewComponent.tsx","app/modules/conversations/components/internalConversationViewComponent/InternalConversationViewComponent.hooks.ts","app/modules/conversations/components/chatMembersComponent/ChatMembersComponent.tsx","app/modules/conversations/components/internalChatComponent/InternalChatComponent.tsx","app/modules/conversations/components/internalChatComponent/internalChatComponent.hooks.ts","app/modules/conversations/components/employeeConversationsComponent/EmployeeConversationsComponent.tsx","app/modules/conversations/pages/employeeConversationsPage/EmployeeConversationsPage.tsx","app/modules/common/components/wildHealthButton/BackButton.tsx","app/modules/conversations/components/messageSettingsComponent/messageSettingsComponent.styles.ts","app/modules/employee/services/awayMessageTemplates.service.ts","app/modules/conversations/components/messageSettingsComponent/messageSettingsComponent.hooks.ts","app/modules/common/components/WIldHealthSwitcher.ts","app/modules/conversations/components/messageSettingsComponent/MessageSettingsComponent.tsx","app/modules/conversations/pages/messageSettingsPage/MessageSettingsPage.tsx","app/modules/conversations/components/fullHealthCareChatComponent/fullHealthCareChatComponent.hooks.ts","app/modules/conversations/components/fullHealthCareChatComponent/fullHealthCareChatComponent.styles.ts","app/modules/conversations/models/conversationSubject.models.ts","app/modules/conversations/components/fullHealthCareChatComponent/FullHealthCareChatComponent.tsx","app/modules/conversations/components/fullStaffChatComponent/fullStaffChatComponent.styles.ts","app/modules/conversations/components/fullStaffChatComponent/fullStaffChatComponent.hooks.ts","app/modules/conversations/components/selectConversationSubjectComponent/selectConversationSubjectComponent.styles.ts","assets/img/stepperIcons/stepActive.svg","app/modules/conversations/components/selectConversationSubjectComponent/SelectConversationSubjectComponent.tsx","app/modules/conversations/components/staffConversationsHistoryComponent/staffConversationsHistoryComponent.styles.ts","app/modules/conversations/components/staffConversationsHistoryComponent/components/CollapseHistoryComponent.tsx","app/modules/conversations/components/staffConversationsHistoryComponent/components/mobileCollapseHistoryComponent.styles.ts","app/modules/conversations/components/staffConversationsHistoryComponent/components/MobileCollapseHistoryComponent.tsx","app/modules/conversations/components/staffConversationsHistoryComponent/StaffConversationsHistoryComponent.tsx","app/modules/conversations/components/fullStaffChatComponent/FullStaffChatComponent.tsx","app/modules/conversations/pages/patientChatPage/PatientChatPage.tsx","app/modules/conversations/components/patientConversationsComponent/patientConversationsComponent.styles.ts","app/modules/conversations/components/healthCareChatComponent/healthCareChatComponent.styles.ts","app/modules/conversations/components/staffChatComponent/staffChatComponent.hooks.ts","app/modules/conversations/components/healthCareChatComponent/HealthCareChatComponent.tsx","app/modules/conversations/components/healthCareChatComponent/healthCareChatComponent.hooks.ts","app/modules/conversations/components/staffChatComponent/staffChatComponent.styles.ts","app/modules/conversations/components/staffChatComponent/StaffChatComponent.tsx","app/modules/conversations/components/patientConversationsComponent/PatientConversationsComponent.tsx","app/modules/conversations/components/patientConversationsComponent/patientConversationsComponent.hooks.ts","app/modules/conversations/pages/patientConversationsPage/PatientConversationsPage.tsx","app/modules/conversations/components/patientsSubmissionsComponent/patientsSubmissionsComponent.hooks.ts","app/modules/conversations/components/patientsSubmissionsComponent/patientsSubmissionsComponent.styles.ts","app/modules/conversations/components/patientsSubmissionsComponent/PatientsSubmissionsComponent.tsx","app/modules/conversations/pages/patientsSubmissionsPage/PatientsSubmissionsPage.tsx","app/modules/common/components/searchComponent/searchComponent.styles.tsx","app/modules/common/components/searchComponent/SearchComponent.tsx","app/modules/dnaFiles/constants/dnaFiles.constants.ts","app/modules/dnaFiles/stores/dnaFiles/dnaFiles.store.ts","app/modules/dnaFiles/components/dnaFilesMonitorComponent/dnaFilesMonitorComponent.hooks.tsx","app/modules/dnaFiles/stores/dnaFiles/dnaFiles.query.ts","app/modules/dnaFiles/services/dnaFiles.service.ts","app/modules/payment/models/paymentPlan.models.ts","app/modules/dnaFiles/components/dnaFilesMonitorComponent/DNAFilesMonitorComponent.tsx","app/modules/dnaFiles/pages/DnaFilesMonitorPage/DNAFilesMonitorPage.tsx","app/modules/payment/stores/paymentPlansStore/paymentPlans.store.ts","app/modules/addons/models/addOns.models.tsx","app/modules/payment/stores/paymentPlansStore/paymentPlans.query.ts","app/modules/payment/services/paymentPlans.service.ts","app/modules/payment/helpers/getPlanFullName.ts","app/modules/employee/components/manageAllPatientsComponent/manageAllPatientsComponent.hooks.ts","app/modules/common/sorting/models/sorting-state.ts","app/modules/employee/components/manageAllPatientsComponent/manageAllPatientsComponent.styles.ts","app/modules/locations/components/manageLocationsComponent/manageLocationsComponent.hooks.ts","app/modules/employee/components/manageAllPatientsComponent/ManageAllPatientsComponent.tsx","app/modules/employee/pages/manageAllPatients/ManageAllPatientsPage.tsx","app/modules/locations/components/createLocationDialogComponent/createLocationDialogComponent.validator.ts","app/modules/locations/components/createLocationDialogComponent/createLocationDialogComponent.hooks.ts","app/modules/locations/components/createLocationDialogComponent/CreateLocationDialogComponent.tsx","app/modules/locations/components/updateLocationDialogComponent/updateLocationDialogComponent.validator.ts","app/modules/locations/components/updateLocationDialogComponent/updateLocationDialogComponent.hooks.ts","app/modules/locations/components/updateLocationDialogComponent/UpdateLocationDialogComponent.tsx","app/modules/locations/components/manageLocationsComponent/ManageLocationsComponent.tsx","app/modules/employee/services/permissions.service.ts","app/modules/employee/services/roles.service.ts","app/modules/employee/components/createEmployeeButton/createEmployeeButtonComponent.validator.ts","app/modules/employee/components/createEmployeeButton/createEmployeeButtonComponent.hooks.ts","app/modules/employee/components/createEmployeeButton/createEmployeeButtonComponent.styles.ts","app/modules/employee/components/createEmployeeButton/CreateEmployeeButtonComponent.tsx","app/modules/account/components/resetPatientPasswordDialogComponent/ResetPatientPasswordDialogComponent.tsx","app/modules/account/components/resetPatientPasswordDialogComponent/resetPatientPasswordDialogComponent.hooks.ts","app/modules/employee/components/updateEmployee/updateEmployeeComponent.validator.ts","app/modules/employee/components/updateEmployee/updateEmployeeComponent.hooks.ts","app/modules/employee/components/updateEmployee/updateEmployeeComponent.styles.ts","app/modules/employee/components/manageEmployeesComponent/manageEmployeesComponent.hooks.ts","app/modules/employee/components/updateEmployee/UpdateEmployeeComponent.tsx","app/modules/employee/components/manageEmployeesComponent/ManageEmployeesComponent.tsx","app/modules/locations/components/manageLocationsCommonComponent/ManageLocationsCommonComponent.hooks.tsx","app/modules/locations/components/manageLocationUsersComponent/ManageLocationUsersComponent.tsx","app/modules/locations/components/manageLocationsCommonComponent/ManageLocationsCommonComponent.tsx","app/modules/employee/components/manageIntakePatientsComponent/manageIntakePatientsComponent.hooks.ts","app/modules/employee/pages/manageEmployeesPage/ManageEmployeesPage.tsx","app/modules/employee/components/manageIntakePatientsComponent/manageIntakePatientsComponent.styles.ts","app/modules/employee/components/manageIntakePatientsComponent/ManageIntakePatientsComponent.tsx","app/modules/employee/pages/manageIntakePatientsPage/ManageIntakePatientsPage.tsx","app/modules/employee/pages/managePatientProfilePage/managePatientProfilePage.styles.ts","app/modules/common/components/wildHealthTabMenuControl/wildHealthTabMenuControl.styles.ts","app/modules/common/components/wildHealthTabMenuControl/wildHealthTabMenuControl.hooks.tsx","app/modules/products/enums/productSubType.ts","app/modules/common/components/wildHealthTabMenuControl/WildHealthTabMenuControl.tsx","app/modules/common/components/wildHealthHeaderComponent/wildHealthHeaderComponent.styles.ts","app/modules/common/components/wildHealthHeaderComponent/WildHealthHeaderComponent.tsx","app/modules/orders/components/appointmentsOrderComponent/appointmentsOrderComponent.styles.ts","app/modules/products/enums/paymentFlowType.ts","app/modules/orders/components/appointmentsOrderComponent/AppointmentsOrderComponent.tsx","app/modules/orders/components/appointmentsOrderComponent/appointmentsOrderComponent.hooks.ts","app/modules/orders/stores/dnaOrdersStore/dnaOrders.store.ts","assets/img/stepperIcons/stepInactive.svg","app/modules/orders/stores/dnaOrdersStore/dnaOrders.query.ts","app/modules/orders/services/dnaOrdersService.ts","app/modules/common/components/wildHealthStepper/WildHealthStepIcon.tsx","app/modules/common/components/wildHealthStepper/WildHealthStepperConnector.tsx","app/modules/orders/components/dnaOrdersComponent/dnaOrdersComponent.styles.ts","app/modules/orders/components/newDnaOrderDialogComponent/newDnaOrderDialogComponent.hooks.ts","app/modules/orders/components/newDnaOrderDialogComponent/newDnaOrderDialog.validator.ts","app/modules/orders/components/newDnaOrderDialogComponent/newDnaOrderDialogComponent.styles.ts","app/modules/common/helpers/display-money.ts","app/modules/orders/components/newDnaOrderDialogComponent/NewDnaOrderDialogComponent.tsx","app/modules/orders/components/dnaOrdersComponent/DnaOrdersComponent.tsx","app/modules/orders/components/dnaOrdersComponent/dnaOrdersComponent.hooks.ts","app/modules/orders/components/dnaOrderResultsComponent/DnaOrderResultsComponent.tsx","app/modules/orders/components/dnaOrderReplacementComponent/dnaOrderReplacementComponent.styles.ts","app/modules/orders/components/dnaOrderReplacementComponent/DnaOrderReplacementComponent.tsx","app/modules/orders/components/dnaOrderReplacementComponent/dnaOrderReplacementComponent.hooks.tsx","app/modules/addons/stores/addOns.store.ts","app/modules/orders/components/dnaComponent/dnaComponent.hooks.tsx","app/modules/addons/stores/addOns.query.ts","app/modules/orders/components/dnaComponent/DnaComponent.tsx","app/modules/orders/stores/epigeneticOrdersStore/epigeneticOrders.store.ts","app/modules/orders/stores/epigeneticOrdersStore/epigeneticOrders.query.ts","app/modules/orders/services/epigeneticOrders.service.ts","app/modules/addons/services/addOns.service.ts","app/modules/orders/components/epigeneticComponent/epigeneticComponent.hooks.ts","app/modules/orders/components/epigeneticComponent/epigeneticComponent.styles.ts","app/modules/orders/components/epigeneticComponent/EpigeneticComponent.tsx","app/modules/orders/components/labOrdersComponent/labOrdersComponent.styles.ts","app/modules/common/components/wildHealthMenu/WildHealthWarningMenuItem.tsx","app/modules/orders/components/cancelLabOrderDialogue/cancelLabOrderDialogue.styles.tsx","app/modules/orders/components/cancelLabOrderDialogue/CancelLabOrderDialogue.tsx","app/modules/orders/components/cancelLabOrderDialogue/cancelLabOrderDialogue.hooks.tsx","app/modules/orders/components/markLabOrderAsPaidDialog/MarkLabOrderAsPaidDialog.tsx","app/modules/orders/components/pricingDialogComponent/pricingDialogComponent.hooks.ts","app/modules/orders/components/markLabOrderAsPaidDialog/markLabOrderAsPaidDialog.hooks.tsx","app/modules/orders/components/labOrdersComponent/LabOrdersComponent.tsx","app/modules/orders/components/labOrdersComponent/labOrdersComponent.hooks.ts","app/modules/orders/services/pricing.service.ts","app/modules/orders/components/pricingDialogComponent/pricingDialogComponent.styles.ts","assets/img/icons/NotificationIcon.svg","app/modules/orders/components/pricingDialogComponent/PricingDialogComponent.tsx","app/modules/orders/components/addNewLabPricingComponent/addNewLabPricingComponent.validator.ts","app/modules/orders/components/addNewLabPricingComponent/addNewLabPricingComponent.hooks.ts","app/modules/orders/components/addNewLabPricingComponent/addNewLabPricingComponent.styles.ts","app/modules/orders/components/addNewLabPricingComponent/AddNewLabPricingComponent.tsx","app/modules/orders/components/updateLabPricingComponent/updateLabPricingComponent.hooks.ts","app/modules/orders/components/updateLabPricingComponent/UpdateLabPricingComponent.tsx","app/modules/orders/components/uploadDocumentDialogComponent/uploadExcelFileDialogComponent.styles.ts","app/modules/orders/components/uploadDocumentDialogComponent/UploadExcelFileDialogComponent.tsx","app/modules/orders/components/uploadDocumentDialogComponent/uploadExcelFileDialog.hooks.ts","app/modules/orders/components/labOrderIFrameComponent/labOrderIFrameComponent.hooks.ts","app/modules/orders/components/labOrderIFrameComponent/labOrderIFrameComponent.styles.ts","app/modules/orders/components/labOrderIFrameComponent/LabOrderIFrameComponent.tsx","app/modules/orders/components/newLabsOrderComponent/NewLabsOrderComponent.tsx","app/modules/orders/components/labOrderPlacedComponent/labOrderPlacedComponent.styles.ts","app/modules/orders/components/labOrderPlacedComponent/LabOrderPlacedComponent.tsx","app/modules/orders/components/labOrderPlacedComponent/labOrderPlacedComponent.hooks.ts","app/modules/orders/services/invoice-pdf.service.ts","app/modules/orders/components/labOrderInvoiceComponent/labOrderInvoiceComponent.styles.ts","app/modules/orders/components/labComponent/labComponent.hooks.tsx","app/modules/orders/components/labOrderInvoiceComponent/LabOrderInvoiceComponent.tsx","app/modules/orders/components/labOrderInvoiceComponent/labOrderInvoiceComponent.hooks.ts","app/modules/orders/components/labComponent/LabComponent.tsx","app/modules/orders/services/orders-pdf.service.ts","app/modules/orders/components/otherDiagnosticComponent/otherDiagnosticComponent.hooks.ts","app/modules/orders/components/otherDiagnosticComponent/otherDiagnosticComponent.styles.ts","app/modules/insurance/enums/coverageStatus.ts","app/modules/notes/services/icdCodes.service.ts","app/modules/insurance/services/insurance.service.ts","app/modules/orders/helpers/get-order-item-description.ts","app/modules/orders/components/newOtherOrderComponent/newOtherOrderComponent.hooks.tsx","app/modules/notes/components/signOffDIalogComponent/signOffDialogComponent.hooks.ts","app/modules/orders/components/newOtherOrderComponent/newOtherOrderComponent.styles.ts","app/modules/notes/components/signOffDIalogComponent/signOffDialogComponent.styles.ts","assets/img/icons/StarOutlined.svg","app/modules/notes/components/signOffDIalogComponent/SignOffDialogComponent.tsx","app/modules/notes/components/diagnosisComponent/diagnosisComponent.style.ts","app/modules/common/helpers/is-focus-in-current-target.ts","app/modules/orders/components/orderDiagnosisComponent/orderDiagnosisComponent.hooks.ts","assets/img/icons/starChecked.svg","app/modules/orders/components/referralsOrdersComponent/referralsOrdersComponent.hooks.ts","app/modules/orders/components/orderDiagnosisComponent/OrderDiagnosisComponent.tsx","app/modules/orders/components/newOtherOrderComponent/NewOtherOrderComponent.tsx","app/modules/orders/components/otherDiagnosticComponent/OtherDiagnosticComponent.tsx","app/modules/orders/components/referralsOrdersComponent/referralsOrdersComponent.styles.ts","app/modules/orders/components/newReferralOrderComponent/newReferralOrderComponent.hooks.tsx","app/modules/orders/components/newReferralOrderComponent/newReferralOrderComponent.styles.ts","app/modules/healthReport/models/healthReport.models.ts","app/modules/orders/components/newReferralOrderComponent/NewReferralOrderComponent.tsx","app/modules/orders/components/referralsOrdersComponent/ReferralsOrdersComponent.tsx","app/modules/orders/components/ordersComponent/OrdersComponent.tsx","app/modules/orders/components/ordersComponent/ordersComponent.hooks.tsx","app/modules/common/components/wildHealthPlaceHolder/HealthReportPlaceHolder.tsx","app/modules/healthReport/components/pdfLoader/pdfLoaderComponent.tsx","app/modules/healthReport/services/healthReport.services.ts","app/modules/healthReport/a4Pages/HealthReportBasePage.tsx","app/modules/healthReport/a4Pages/HealthReportChronicDisease0Page.tsx","app/modules/inputs/constants/inputs.constants.ts","app/modules/healthReport/components/progressDiagramComponent/ProgressDiagramComponent.tsx","app/modules/healthReport/components/labResultComponent/LabResultComponent.tsx","assets/img/icons/Save.svg","app/modules/healthReport/constants/healthReport.constants.ts","app/modules/healthReport/components/scaleChartComponent/ScaleChartComponent.tsx","app/modules/healthReport/helpers/renderScaleChartComponent.tsx","app/modules/healthReport/a4Pages/healthReport.styles.ts","app/modules/healthReport/a4Pages/HealthReportChronicDisease1Page.tsx","app/modules/common/helpers/view-text-with-link.ts","app/modules/healthReport/components/healthRecommendationComponent/HealthRecommendationComponent.styles.tsx","app/modules/common/helpers/create-text-with-links.ts","app/modules/healthReport/components/healthRecommendationComponent/HealthRecommendationComponent.tsx","app/modules/healthReport/helpers/sanitizeRecommendationContent.ts","app/modules/healthReport/components/recommendationSingleSelectComponent/recommendationSingleSelectComponent.styles.ts","app/modules/common/components/wildHealthPlaceHolder/RecommendationPlaceHolder.tsx","app/modules/healthReport/components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent.tsx","app/modules/healthReport/a4Pages/HealthReportChronicDisease2Page.tsx","app/modules/healthReport/components/dnaTableComponent/DnaTableComponent.tsx","app/modules/healthReport/a4Pages/HealthReportChronicDisease3Page.tsx","app/modules/healthReport/a4Pages/HealthReportChronicDisease4Page.tsx","app/modules/healthReport/a4Pages/HealthReportChronicDisease5Page.tsx","app/modules/healthReport/a4Pages/HealthReportDetails1Page.tsx","app/modules/healthReport/a4Pages/HealthReportDetails2Page.tsx","app/modules/healthReport/a4Pages/HealthReportDetails3Page.tsx","app/modules/healthReport/a4Pages/HealthReportDetails4Page.tsx","app/modules/inputs/helpers/render-lab-input-range.tsx","app/modules/healthReport/a4Pages/HealthReportDetails5Page.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition0Page.tsx","app/modules/inputs/helpers/sort-lab-input-values.ts","app/modules/inputs/helpers/labInputs.extensions.ts","app/modules/healthReport/components/circleDiagramComponent/CircleDiagramComponent.tsx","app/modules/healthReport/components/colorDescriptionComponent/colorDescriptionComponent.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition1Page.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition2Page.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition3Page.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition4Page.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition5Page.tsx","app/modules/healthReport/a4Pages/HealthReportDietAndNutrition6Page.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery0Page.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery1Page.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery2Page.tsx","app/modules/healthReport/components/exerciseReportTable/ExerciseReportTableCell.tsx","app/modules/healthReport/components/exercisePlanScheduleComponent/ExercisePlanScheduleComponent.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery3Page.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery4Page.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery5Page.tsx","app/modules/healthReport/components/exerciseBodyCircuitComponent/ExerciseBodyCircuitComponent.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery6Page.tsx","app/modules/healthReport/a4Pages/HealthReportExerciseAndRecovery7Page.tsx","app/modules/healthReport/a4Pages/HealthReportLongevity0Page.tsx","app/modules/healthReport/a4Pages/HealthReportLongevity1Page.tsx","app/modules/healthReport/a4Pages/HealthReportLongevity2Page.tsx","app/modules/healthReport/a4Pages/HealthReportMicrobiome0Page.tsx","app/modules/healthReport/components/microbiomeItemComponent/microbiomeItemComponent.styles.ts","app/modules/healthReport/components/microbiomeItemComponent/MicrobiomeItemComponent.tsx","app/modules/healthReport/a4Pages/HealthReportMicrobiome1Page.tsx","app/modules/healthReport/a4Pages/HealthReportMicrobiome2Page.tsx","app/modules/healthReport/a4Pages/HealthReportNeurobehavioral0Page.tsx","app/modules/healthReport/a4Pages/HealthReportNeurobehavioralPage.tsx","app/modules/healthReport/components/roadMapComponent/roadMapComponent.styles.ts","app/modules/healthReport/a4Pages/HealthReportSleep0Page.tsx","app/modules/healthReport/a4Pages/HealthReportSleepPage.tsx","app/modules/healthReport/a4Pages/HealthReportStartPage.tsx","app/modules/healthReport/a4Pages/HealthReportSupplementsPage.tsx","app/modules/healthReport/a4Pages/HealthReportAppendixPage.tsx","app/modules/healthReport/components/healthRecommendationTestComponent/HealthRecommendationTextComponent.tsx","app/modules/healthReport/a4Pages/HealthReportRecommendationPage.tsx","app/modules/healthReport/services/healthReportPdf.service.ts","app/modules/healthReport/services/patientHealthReport.service.ts","app/modules/recommendations/services/recommendations.service.ts","app/modules/healthReport/components/healthReportToolbarComponent/healthReportToolbarComponent.hooks.tsx","app/modules/healthReport/components/healthReportToolbarComponent/healthReportToolbarComponent.styles.ts","app/modules/healthReport/components/changeReviewerDialogComponent/changeReviewerDialogComponent.hooks.ts","app/modules/healthReport/components/changeReviewerDialogComponent/ChangeReviewerDialogComponent.tsx","app/modules/healthReport/components/selectRecommendationSetDialog/selectRecommendationSetDialog.hooks.ts","app/modules/healthReport/components/recommendationsDialogComponent/recommendationsDialogComponent.hooks.ts","app/modules/common/components/expandableComponent/ExpandableComponent.tsx","app/modules/healthReport/components/recommendationsComponent/recommendationsComponent.hooks.ts","app/modules/healthReport/components/recommendationSelectComponent/recommendationSelectComponent.styles.ts","app/modules/healthReport/components/recommendationSelectComponent/RecommendationSelectComponent.tsx","app/modules/healthReport/components/recommendationsComponent/RecommendationsComponent.tsx","app/modules/healthReport/components/recommendationsWithPreviousComponent/recommendationsWithPreviousComponent.hooks.ts","app/modules/healthReport/components/recommendationSelectWithPreviousComponent/recommendationSelectWithPreviousComponent.styles.ts","app/modules/healthReport/components/recommendationSelectWithPreviousComponent/RecommendationSelectWithPreviousComponent.tsx","app/modules/healthReport/components/recommendationsWithPreviousComponent/RecommendationsWithPreviousComponent.tsx","app/modules/healthReport/components/recommendationsUpdatePreviousComponent/recommendationsUpdatePreviousComponent.hooks.ts","app/modules/healthReport/components/recommendationSelectUpdateComponent/recommendationSelectUpdateComponent.styles.ts","app/modules/healthReport/components/recommendationSelectUpdateComponent/RecommendationSelectUpdateComponent.tsx","app/modules/healthReport/components/recommendationsUpdatePreviousComponent/RecommendationsUpdatePreviousComponent.tsx","app/modules/healthReport/components/recommendationsDialogComponent/RecommendationsDialogComponent.tsx","app/modules/healthReport/components/selectRecommendationSetDialog/SelectRecommendationSetDialog.tsx","app/modules/healthReport/components/healthReportToolbarComponent/HealthReportToolbarComponent.tsx","app/modules/healthReport/a4Pages/HealthReportRecommendationsPage.tsx","app/modules/healthReport/a4Pages/healthReportRecommendationsPage.hooks.ts","app/modules/healthReport/components/healthReportComponent/healthReportComponent.styles.ts","app/modules/healthReport/components/healthReportComponent/HealthReportComponent.tsx","app/modules/healthReport/components/healthReportComponent/healthReportComponent.hooks.tsx","app/modules/inputs/stores/inputsStore/inputs.store.ts","app/modules/inputs/stores/inputsStore/inputs.query.ts","app/modules/inputs/services/patientInputs.service.ts","app/modules/inputs/services/inputs.service.ts","app/modules/inputs/components/uploadInputsDialog/UploadInputsDialog.tsx","app/modules/inputs/components/uploadInputsDialog/uploadInputsDialog.hooks.ts","assets/img/Microbiome.svg","app/modules/common/dialogs/tutorialDialog/tutorialDialog.styles.ts","app/modules/common/dialogs/tutorialDialog/TutorialDialog.tsx","app/modules/common/dialogs/tutorialDialog/tutorialDialog.hooks.ts","app/modules/inputs/components/uploadInputsFilesComponent/UploadInputsFilesComponent.tsx","app/modules/inputs/components/uploadInputsFilesComponent/uploadInputsFilesComponent.hooks.ts","app/modules/inputs/components/dataFilesComponent/DataFilesComponent.tsx","app/modules/inputs/components/dataFilesComponent/dataFilesComponent.hooks.ts","app/modules/inputs/components/generalInputsComponent/generalInputsComponent.validator.ts","assets/img/icons/Edit1.svg","app/modules/inputs/components/generalInputsComponent/GeneralInputsComponent.tsx","app/modules/inputs/components/generalInputsComponent/generalInputsComponent.hooks.ts","app/modules/inputs/components/labInputsComponent/labInputsComponent.styles.ts","app/modules/inputs/helpers/sort-lab-input-data-sets.ts","app/modules/inputs/components/labInputsComponent/labInputsComponent.validator.ts","app/modules/inputs/components/labInputsSectionComponent/LabInputsSectionComponent.styles.ts","app/modules/inputs/components/labInputValueComponent/LabInputValueComponent.styles.ts","app/modules/common/helpers/empty-value.tsx","app/modules/inputs/components/labInputValueComponent/LabInputValueComponent.tsx","app/modules/inputs/components/labResultsGraphComponent/LabResultsGraphComponent.tsx","app/modules/inputs/components/addLabDialogComponent/addLabDialogComponent.hooks.ts","app/modules/inputs/helpers/render-lab-result-values-graph.tsx","app/modules/inputs/components/LabInputRangeComponent/LabInputRangeComponent.styles.ts","app/modules/inputs/components/LabInputRangeComponent/LabInputRangeComponent.tsx","app/modules/inputs/components/labInputsSectionComponent/LabInputsSectionComponent.tsx","app/modules/inputs/components/labInputsSectionComponent/labInputsSectionComponent.hooks.ts","app/modules/common/components/selectDataSetDialogComponent/SelectDataDialogComponent.styles.ts","app/modules/common/components/selectDataSetDialogComponent/IOSCalender.tsx","app/modules/inputs/components/updateLabInputRangeComponent/UpdateLabInputRangeComponent.tsx","app/modules/inputs/components/addLabDialogComponent/AddLabDialogComponent.tsx","app/modules/common/components/checkBoxDropdown/checkboxDropdown.styles.ts","app/modules/common/components/wildHealthButton/OptionsButton.tsx","app/modules/common/components/checkBoxDropdown/CheckboxDropdown.tsx","app/modules/common/components/checkBoxDropdown/checkboxDropdown.hooks.ts","app/modules/inputs/components/manageLabInputDatesComponent/ManageLabInputDatesComponent.tsx","app/modules/inputs/components/labInputsComponent/labInputsComponent.tsx","app/modules/inputs/components/labInputsComponent/labInputsComponent.hooks.ts","app/modules/inputs/components/inputComponent/inputComponent.styles.ts","app/modules/inputs/components/inputComponent/InputComponent.tsx","app/modules/inputs/components/microbiomeInputsComponent/microbiomeInputsComponent.validator.ts","app/modules/inputs/components/microbiomeInputsComponent/microbiomeInputsComponent.hooks.ts","app/modules/inputs/components/microbiomeInputsComponent/microbiomeInputsComponent.styles.ts","app/modules/inputs/components/microbiomeInputsComponent/MicrobiomeInputsComponent.tsx","app/modules/notes/components/createNote/createNote.styles.ts","app/modules/notes/components/createNote/CreateNote.tsx","app/modules/patientSupplements/components/MedicationsEditDialogComponent/medicationComponent.validator.ts","app/modules/patientSupplements/components/MedicationsEditDialogComponent/medicationComponent.hooks.tsx","app/modules/patientSupplements/components/MedicationsEditDialogComponent/medicationComponent.styles.tsx","app/modules/patientSupplements/components/MedicationsEditDialogComponent/MedicationAddNewDialogComponent.tsx","app/modules/patientSupplements/components/MedicationsEditDialogComponent/MedicationEditDialogComponent.tsx","app/modules/patientSupplements/components/medicationsComponent/MedicationsComponent.tsx","app/modules/patientSupplements/components/medicationsComponent/medicationsComponent.hooks.ts","app/modules/patientSupplements/components/medicationsSupplementsDCComponent/MedicationsDCComponent.tsx","app/modules/patientSupplements/components/medicationsSupplementsDCComponent/SupplementsDCComponent.tsx","app/modules/patientSupplements/components/supplementsEditDialogComponent/supplementComponent.validator.ts","app/modules/patientSupplements/components/supplementsEditDialogComponent/supplementComponent.hooks.tsx","app/modules/patientSupplements/components/supplementsEditDialogComponent/supplementComponent.styles.tsx","app/modules/patientSupplements/components/supplementsEditDialogComponent/SupplementAddNewDialogComponent.tsx","app/modules/patientSupplements/components/supplementsEditDialogComponent/SupplementEditDialogComponent.tsx","app/modules/patientSupplements/components/recommendFullscriptSupplementsComponent/recommendFullscriptSupplementsComponent.styles.ts","app/modules/patientSupplements/components/recommendFullscriptSupplementsComponent/recommendFullscriptSupplementsComponent.hooks.ts","app/modules/auth/services/thirdPartyIntegration.service.ts","app/modules/patientSupplements/components/recommendFullscriptSupplementsComponent/RecommendFullscriptSupplementsComponent.tsx","app/modules/patientSupplements/components/supplementsComponent/SupplementsComponent.tsx","app/modules/patientSupplements/components/supplementsComponent/supplementsComponent.hooks.ts","app/modules/notes/components/createFollowUp/createFollowUpComponent.validator.ts","app/modules/notes/components/selectIntervalComponent/SelectIntervalComponent.tsx","app/modules/notes/components/SelectAppointmentToNotesComponent/selectAppointmentToNotesDialog.styles.tsx","app/modules/notes/components/configureNoteAppointmentComponent/configureNoteAppointmentDialog.styles.ts","app/modules/notes/components/configureNoteAppointmentComponent/ConfigureNoteAppointmentDialog.tsx","app/modules/notes/components/configureNoteAppointmentComponent/configureNoteAppointmentDialog.hooks.ts","app/modules/notes/components/SelectAppointmentToNotesComponent/SelectAppointmentToNotesDialog.tsx","app/modules/notes/components/SelectAppointmentToNotesComponent/selectAppointmentToNotesDialog.hooks.tsx","app/modules/notes/components/goalCompletionDateComponent/GoalCompletionDateComponent.tsx","app/modules/notes/components/textFieldNoteComponent/TextFieldNoteComponent.tsx","app/modules/notes/components/textFieldNoteComponent/textFieldNoteComponent.hooks.tsx","app/modules/notes/components/goalsComponent/GoalsComponent.styles.ts","app/modules/notes/components/goalsComponent/GoalsComponent.tsx","app/modules/common/helpers/handle-shortcut-insert.ts","app/modules/notes/components/educationsComponent/EducationsComponent.styles.ts","app/modules/notes/components/educationsComponent/EducationsComponent.tsx","app/modules/notes/components/notePlanComponent/NotePlanComponent.tsx","app/modules/notes/services/goals.service.ts","app/modules/notes/services/mdmPlans.service.ts","app/modules/notes/services/commonSupplements.service.ts","app/modules/patientSupplements/components/medicationsSupplementsDCComponent/RxntMedicationsDCComponent.tsx","app/modules/patientSupplements/components/manageRxntButton/ManageRxntButtonComponent.tsx","app/modules/patientSupplements/components/manageRxntButton/manageRxntButtonComponent.hooks.ts","app/modules/patientSupplements/components/medicationsRxNTComponent/MedicationsRxNTComponent.tsx","app/modules/notes/components/createFollowUp/createFollowUpComponent.hooks.tsx","app/modules/notes/components/createFollowUp/createFollowUpComponent.styles.ts","app/modules/notes/components/createFollowUp/CreateFollowUpComponent.tsx","app/modules/patientSupplements/stores/patientAllergyStore/patientAllergies.query.ts","app/modules/patientSupplements/components/patientMedicationUpdateComponent/patientMedicationUpdateComponent.validator.ts","app/modules/patientSupplements/components/patientMedicationUpdateComponent/patientMedicationUpdateComponent.hooks.tsx","app/modules/patientSupplements/components/patientMedicationUpdateComponent/patientMedicationUpdateComponent.styles.ts","app/modules/patientSupplements/components/patientMedicationUpdateComponent/PatientMedicationUpdateComponent.tsx","app/modules/common/components/wildHealthPlaceHolder/SupplementsPlaceHolder.tsx","app/modules/patientSupplements/components/patientMedicationsComponent/patientMedicationsComponent.styles.tsx","app/modules/patientSupplements/components/patientMedicationsComponent/PatientMedicationsComponent.tsx","app/modules/patientSupplements/components/patientMedicationsComponent/patientMedicationsComponent.hooks.ts","app/modules/patientSupplements/components/patientSupplementsUpdateComponent/patientSupplementsUpdateComponent.validator.ts","app/modules/patientSupplements/components/patientSupplementsUpdateComponent/patientSupplementsUpdateComponent.hooks.tsx","app/modules/patientSupplements/components/patientSupplementsUpdateComponent/patientSupplementsUpdateComponent.styles.ts","app/modules/patientSupplements/components/patientSupplementsUpdateComponent/PatientSupplementsUpdateComponent.tsx","app/modules/patientSupplements/components/patientSupplementsComponent/patientSupplementsComponent.styles.tsx","app/modules/patientSupplements/stores/meddsSuppsStore/meddsSupps.store.ts","app/modules/patientSupplements/components/patientSupplementsComponent/PatientSupplementsComponent.tsx","app/modules/patientSupplements/components/patientSupplementsComponent/patientSupplementsComponent.hooks.ts","app/modules/patientSupplements/stores/meddsSuppsStore/meddsSupps.query.ts","assets/img/Supplements1stStep.svg","assets/img/Supplements2ndStep.svg","webpack:///./src/assets/img/success.svg?2f08","app/modules/patientSupplements/components/patientSupplementsFullscriptComponent/patientSupplementsFullscriptComponent.styles.tsx","assets/img/icons/SupplementOrdered.svg","assets/img/icons/AddSupplement.svg","app/modules/patientSupplements/components/patientSupplementsUpdateFullscriptComponent/patientSupplementsUpdateFullscriptComponent.validator.ts","app/modules/patientSupplements/components/patientSupplementsUpdateFullscriptComponent/patientSupplementsUpdateFullscriptComponent.hooks.tsx","app/modules/patientSupplements/components/patientSupplementsUpdateFullscriptComponent/patientSupplementsUpdateFullscriptComponent.styles.ts","app/modules/patientSupplements/components/searchFullscriptSupplementComponent/searchFullscriptSupplementComponent.hooks.ts","app/modules/patientSupplements/components/searchFullscriptSupplementComponent/SearchFullscriptSupplementComponent.tsx","app/modules/patientSupplements/components/patientSupplementsUpdateFullscriptComponent/PatientSupplementsUpdateFullscriptComponent.tsx","app/modules/patientSupplements/components/patientSupplementsFullscriptComponent/PatientSupplementsFullscriptComponent.tsx","app/modules/patientSupplements/components/patientSupplementsFullscriptComponent/patientSupplementsFullscriptComponent.hooks.ts","app/modules/patientSupplements/components/patientMedicationsRxNTComponent/patientMedicationsRxNTComponent.styles.tsx","app/modules/patientSupplements/components/patientMedicationsRxNTComponent/PatientMedicationsRxNTComponent.tsx","app/modules/patientSupplements/components/patientMedicationsRxNTComponent/patientMedicationsRxNTComponent.hooks.ts","app/modules/patientSupplements/components/patientMedicationsSupplementsTabs/PatientMedicationsSupplementsTabsComponent.tsx","app/modules/patientSupplements/components/patientMedicationsSupplementsTabs/patientMedicationsSupplementsTabsComponent.hooks.ts","app/modules/notes/components/createInitialConsult/createInitialConsultComponent.validator.ts","app/modules/common/components/wildhealthAutocomplete/WildHealthAutocompleteComponent.tsx","app/modules/common/components/wildhealthAutocomplete/wildHealthAutocompleteComponent.hooks.ts","app/modules/healthSummary/components/listItemsComponent/healthSummaryListItemsComponent.styles.tsx","app/modules/healthSummary/components/listItemsComponent/HealthSummaryListItemsNoteComponent.tsx","app/modules/notes/components/createInitialConsult/createInitialConsultComponent.hooks.tsx","app/modules/notes/components/createInitialConsult/createInitialConsultComponent.styles.ts","app/modules/notes/components/createInitialConsult/CreateInitialConsultComponent.tsx","app/modules/notes/components/createNote/createNote.hooks.tsx","app/modules/notes/components/createNote/createNote.validator.ts","app/modules/notes/components/createSimple/createSimpleComponent.hooks.tsx","app/modules/notes/components/createSimple/createSimpleComponent.styles.ts","app/modules/notes/components/createSimple/CreateSimpleComponent.tsx","app/modules/notes/components/simple/simpleComponent.styles.ts","app/modules/notes/components/simple/SimpleComponent.tsx","app/modules/notes/components/simple/simpleComponent.hooks.ts","app/modules/notes/components/emptyVisitNotes/EmptyVisitNotesComponent.tsx","app/modules/notes/components/emptyInternalNotes/EmptyInternalNotesComponent.tsx","app/modules/notes/components/manageNoteCard/manageNoteCardComponent.styles.ts","app/modules/notes/components/manageNoteCard/ManageNoteCardComponent.tsx","app/modules/notes/components/managedNotesCards/managedNotesCardsComponent.styles.ts","app/modules/notes/components/managedNotesCards/ManagedNotesCardsComponent.tsx","app/modules/notes/components/managedNotesCards/managedNotesCardsComponent.hooks.ts","app/modules/notes/components/nextAppointmentDateComponent/nextAppointmentDateComponent.static.ts","app/modules/notes/components/nextAppointmentDateComponent/nextAppointmentDateComponent.hooks.ts","app/modules/notes/components/nextAppointmentDateComponent/NextAppointmentDateComponent.tsx","app/modules/notes/components/createSoapComponent/createSoapNoteComponent.static.ts","app/modules/notes/components/mdmComponent/MdmComponent.styles.ts","app/modules/notes/components/mdmComponent/MdmComponent.tsx","app/modules/notes/components/noteMdmComponent/noteMdmComponent.styles.ts","app/modules/notes/components/noteMdmComponent/NoteMdmComponent.tsx","app/modules/notes/components/physicalComponent/PhysicalComponent.tsx","app/modules/common/components/itemsListComponent/ItemsListComponent.styles.ts","app/modules/common/components/itemsListComponent/ItemsListApoeComponent.tsx","app/modules/common/components/itemsListComponent/ItemsListComponent.tsx","app/modules/healthSummary/components/blockItemComponent/BlockItemComponent.styles.tsx","app/modules/healthSummary/components/blockItemComponent/BlockItemComponent.tsx","app/modules/healthSummary/models/healthSummary.models.ts","app/modules/healthSummary/components/blockItemComponent/blockItemComponent.hooks.ts","app/modules/healthSummary/components/blockItemsComponent/HealthSummaryBlockItemsComponent.styles.ts","app/modules/healthSummary/components/blockItemsComponent/HealthSummaryBlockItemsNoteComponent.tsx","app/modules/notes/components/pmhComponent/PmhComponent.tsx","app/modules/notes/components/rosComponent/RosComponent.tsx","app/modules/notes/components/supplementsMedicationsComponent/supplementsMedicationsComponent.styles.ts","app/modules/notes/components/supplementsMedicationsComponent/SupplementsMedicationsComponent.tsx","app/modules/questionnaire/static/detailedQuestionnaire.static.ts","app/modules/questionnaire/static/medicalHistroryQuestionnaire.static.ts","app/modules/notes/components/createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.static.ts","app/modules/notes/components/createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.validator.ts","app/modules/notes/components/createSoapComponent/createSoapNoteComponent.validator.ts","app/modules/vital/validators/vital.validator.ts","app/modules/notes/services/commonOrders.service.ts","app/modules/notes/components/createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.hooks.ts","app/modules/notes/components/createHistoryAndPhysicalComponent/CreateHistoryAndPhysicalNoteComponent.styles.ts","app/modules/notes/components/createHistoryAndPhysicalFollowUpComponent/createHistoryAndPhysicalFollowUpNoteComponent.static.ts","app/modules/notes/components/noteGeneralInfo/NoteGeneralInfoComponent.tsx","app/modules/notes/components/diagnosisComponent/DiagnosisComponent.tsx","app/modules/notes/components/specialtyTestsComponent/SpecialtyTestsComponent.styles.ts","app/modules/notes/components/specialtyTestsComponent/SpecialtyTestsComponent.tsx","app/modules/notes/components/createHistoryAndPhysicalComponent/CreateHistoryAndPhysicalNoteComponent.tsx","app/modules/notes/components/createHistoryAndPhysicalFollowUpComponent/createHistoryAndPhysicalFollowUpNoteComponent.validator.ts","app/modules/notes/components/createHistoryAndPhysicalFollowUpComponent/createHistoryAndPhysicalFollowUpNoteComponent.hooks.ts","app/modules/notes/components/createHistoryAndPhysicalFollowUpComponent/CreateHistoryAndPhysicalFollowUpNoteComponent.styles.ts","app/modules/notes/components/createHistoryAndPhysicalFollowUpComponent/CreateHistoryAndPhysicalFollowUpNoteComponent.tsx","app/modules/notes/components/createSoapComponent/createSaopNoteComponent.hooks.ts","app/modules/notes/components/createSoapComponent/createSoapNoteComponent.styles.ts","app/modules/notes/components/createHistoryAndPhysicalGroupVisitComponent/createHistoryAndPhysicalGroupVisitNoteComponent.static.ts","app/modules/notes/components/createSoapComponent/CreateSoapNoteComponent.tsx","app/modules/notes/components/createHistoryAndPhysicalGroupVisitComponent/createHistoryAndPhysicalGroupVisitNoteComponent.validator.ts","app/modules/notes/components/createHistoryAndPhysicalGroupVisitComponent/createHistoryAndPhysicalGroupVisitNoteComponent.hooks.ts","app/modules/notes/components/createHistoryAndPhysicalGroupVisitComponent/CreateHistoryAndPhysicalGroupVisitNoteComponent.styles.ts","app/modules/notes/components/createHistoryAndPhysicalGroupVisitComponent/CreateHistoryAndPhysicalGroupVisitNoteComponent.tsx","app/modules/notes/components/historyAndPhysicalGroupVisitComponent/HistoryAndPhysicalGroupVisitComponent.tsx","app/modules/notes/constants/initialConsultOld.constants.ts","app/modules/notes/components/historyAndPhysicalGroupVisitComponent/historyAndPhysicalGroupVisit.hooks.ts","app/modules/questionnaire/components/questionComponent/questionnaire.styles.ts","app/modules/questionnaire/components/questionComponent/QuestionCheckComponentCastom.tsx","app/modules/questionnaire/components/questionComponent/QuestionTextComponent.tsx","app/modules/common/components/WildHealthTimePicker.tsx","app/modules/questionnaire/components/questionComponent/QuestionTimeComponent.tsx","app/modules/questionnaire/components/questionComponent/QuestionNumberComponent.tsx","app/modules/questionnaire/components/questionComponent/QuestionCheckOneComponent.tsx","app/modules/questionnaire/components/questionComponent/QuestionRateComonent.tsx","app/modules/questionnaire/components/questionComponent/QusetionSelectCustomComponent.tsx","app/modules/questionnaire/components/questionComponent/QuestionCheckComponent.tsx","app/modules/questionnaire/components/questionComponent/QuestionDateComponent.tsx","app/modules/questionnaire/components/questionComponent/QuestionComponent.tsx","app/modules/notes/components/createInitialConsult/Old/createInitialConsultComponentOld.hooks.tsx","app/modules/notes/components/createInitialConsult/Old/createInitialConsultOldComponent.tsx","app/modules/questionnaire/components/answerComponent/AnswerComponent.styles.ts","app/modules/questionnaire/components/answerComponent/AnswerComponent.tsx","app/modules/notes/components/noteQuestionnaireResult/NoteQuestionnaireResult.tsx","app/modules/notes/components/noteRecommendations/Old/NoteRecommendationsComponentOld.tsx","app/modules/notes/components/manageNotes/manageNotesComponent.hooks.tsx","app/modules/notes/components/initialConsult/Old/InitialConsultComponentOld.tsx","app/modules/notes/components/initialConsult/Old/initialConsultComponentOld.hooks.tsx","app/modules/notes/components/manageNotes/ManageNotesComponent.tsx","app/modules/questionnaire/helpers/render-questionnaire-name.ts","app/modules/questionnaire/components/questionnairesComponent/QuestionnairesComponent.styles.ts","app/modules/questionnaire/components/completedQuestionnaireComponent/CompletedQuestionnaireComponent.tsx","app/modules/questionnaire/components/questionnaireCardComponent/QuestionnaireCardComponent.styles.ts","app/modules/questionnaire/components/questionnaireCardComponent/QuestionnaireCardComponent.tsx","app/modules/questionnaire/components/questionnairesResultListComponent/questionnairesResultListComponent.validator.ts","app/modules/common/helpers/go-to-error.ts","app/modules/questionnaire/components/answerComponent/customAnswers/SupplementsAnswerComponent.tsx","app/modules/questionnaire/components/answerComponent/customAnswers/MedicationsAnswerComponent.tsx","app/modules/questionnaire/components/answerComponent/customAnswers/AllergiesAnswerComponent.tsx","app/modules/questionnaire/helpers/has-answer.ts","app/modules/questionnaire/static/healthGoalsQuestionnaire.static.ts","app/modules/questionnaire/components/medicalHistoryQuestionnaireSurveyComonent/QuestionnaireMedicationsComponent.tsx","app/modules/questionnaire/components/medicalHistoryQuestionnaireSurveyComonent/QuestionnaireSupplementsComponent.tsx","app/modules/patientSupplements/components/patientAllergyUpdateComponent/patientAllergyUpdateComponent.validator.ts","app/modules/patientSupplements/components/patientAllergyUpdateComponent/patientAllergyUpdateComponent.hooks.tsx","app/modules/patientSupplements/components/patientAllergyUpdateComponent/patientAllergyUpdateComponent.styles.ts","assets/img/icons/info.svg","app/modules/patientSupplements/components/patientAllergyUpdateComponent/PatientAllergyUpdateComponent.tsx","app/modules/questionnaire/components/medicalHistoryQuestionnaireSurveyComonent/QuestionnaireAllergiesComponent.tsx","app/modules/questionnaire/components/detailedQuestionnaireSurveyComponent/DeselectParentQuestionComponent.tsx","app/modules/questionnaire/components/healthGoalsQuestionnaireSurveyComponent/HideCommentQuestionComponent.tsx","app/modules/questionnaire/helpers/is-gender-match.ts","app/modules/questionnaire/components/questionnaireSectionComponent/QestionnaireSectionComponent.tsx","app/modules/questionnaire/components/phq8SectionComponent/Phq8SectionComponent.tsx","app/modules/questionnaire/helpers/specific-questions-provider.tsx","app/modules/questionnaire/components/questionnairesResultListComponent/QuestionnairesResultListComponent.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/GeneralResultComponent.styles.ts","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/GeneralResultComponentHealthForms.tsx","app/modules/questionnaire/helpers/questionnaireStaticData.ts","app/modules/questionnaire/components/initialQuestionnaireResultComponent/InitialQuestionnaireResultComponentHealthForms.tsx","app/modules/questionnaire/components/healthLogQuestionnaireResultComponent/HealthLogQuestionnaireResultComponent.tsx","app/modules/questionnaire/components/questionnaireProgressBarComponent/questionnaireProgressBarComponent.tsx","app/modules/common/components/PageSliderComponent.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/GeneralSurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/MedicalSurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/NutritionSurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/ExerciseSurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/CardioRespiratorySurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/SleepSurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/pages/StressSurveyResult.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/InitialQuestionnaireResultComponent.tsx","app/modules/questionnaire/components/initialQuestionnaireResultComponent/initialQuestionnaireResultComponent.hooks.ts","app/modules/questionnaire/static/followUpForm.static.ts","app/modules/questionnaire/components/followUpFormResultComponent/FollowUpFormResultComponent.tsx","app/components/layoutComponent/layoutComponent.styles.ts","app/modules/userOptions/components/userOptionsButton/userOptionsButtonComponent.styles.ts","app/modules/userOptions/components/userOptionsButton/UserOptionsButtonComponent.tsx","app/modules/userOptions/components/userOptionsButton/userOptionsButtonComponent.hooks.ts","app/components/headers/commonHeaderComponent/commonHeaderComponent.styles.ts","app/components/headers/commonHeaderComponent/commonHeaderComponent.hooks.tsx","app/components/headers/commonHeaderComponent/CommonHeaderComponent.tsx","app/services/header.service.tsx","app/components/layoutComponent/LayoutComponent.tsx","app/modules/questionnaire/components/cardioTimerComponent/CardioTimerComponent.tsx","app/modules/questionnaire/components/questionnairesListComponent/QuestionnairesListComponent.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/CardioRespiratorySurvey.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/ExerciseSurvey.tsx","app/modules/common/components/UpdateUserForm.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/GeneralSurvey.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/MedicalSurvey.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/NutritionSurvey.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/SleepSurvey.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/pages/StressSurvey.tsx","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/initialQuestionnaireSurveyComponent.validator.ts","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/initialQuestionnaireSurveyComponent.hooks.ts","app/modules/questionnaire/pages/initialQuestionnaireSurveyComponent/InitialQuestionnaireSurveyComponent.tsx","app/modules/questionnaire/components/healthLogQuestionnaireSurveyComponent/healthLogQuestionnaireSurveyComponent.validator.ts","app/modules/questionnaire/components/healthLogQuestionnaireSurveyComponent/healthLogQuestionnaireSurveyComponent.hooks.ts","app/modules/questionnaire/components/healthLogQuestionnaireSurveyComponent/HealthLogQuestionnaireSurveyComponent.tsx","app/modules/questionnaire/components/questionnaireProgressComponent/QuestionnaireProgressComponent.tsx","app/modules/questionnaire/helpers/sections-availability-provider.ts","app/modules/questionnaire/components/questionnaireComponent/questionnaireComponent.hooks.tsx","app/modules/questionnaire/components/questionnaireComponent/QuestionnaireComponent.styles.ts","app/modules/questionnaire/components/questionnaireComponent/QuestionnaireComponent.tsx","app/modules/questionnaire/components/medicalHistoryQuestionnaireSurveyComonent/medicalHistoryQuestionnaireSurveyComponent.validator.ts","app/modules/questionnaire/components/medicalHistoryQuestionnaireSurveyComonent/MedicalHistoryQuestionnaireSurveyComponent.tsx","app/modules/questionnaire/components/healthGoalsQuestionnaireSurveyComponent/healthGoalsQuestionnaireSurveyComponent.validator.ts","app/modules/questionnaire/components/healthGoalsQuestionnaireSurveyComponent/HealthGoalsQuestionnaireSurveyComponent.tsx","app/modules/questionnaire/components/detailedQuestionnaireSurveyComponent/detailedQuestionnaireSurveyComponent.validator.ts","app/modules/questionnaire/components/detailedQuestionnaireSurveyComponent/DetailedQuestionnaireSurveyComponent.tsx","app/modules/questionnaire/components/followUpFormSurveyComponent/followUpFormSurvey.validator.ts","app/modules/questionnaire/components/followUpFormSurveyComponent/followUpFormSurveyComponent.hooks.ts","app/modules/questionnaire/components/followUpFormSurveyComponent/FollowUpFormSurveyComponent.tsx","app/modules/questionnaire/components/questionnairesComponent/QuestionnairesComponent.tsx","app/modules/questionnaire/components/questionnairesComponent/questionnairesComponent.hooks.ts","app/modules/payment/components/offerPaymentPlanComponent/offerPaymentPlanComponent.validator.ts","app/modules/payment/components/offerPaymentPlanComponent/offerPaymentPlanComponent.hooks.ts","app/modules/payment/components/offerPaymentPlanComponent/OfferPaymentPlanComponent.tsx","app/modules/account/components/cancelSubscriptionComponent/cancelSubscriptionComponent.validator.ts","app/modules/account/components/cancelSubscriptionComponent/CancelSubscriptionComponent.tsx","app/modules/account/components/cancelSubscriptionComponent/cancelSubscriptionComponent.hooks.ts","app/modules/common/components/selectDataSetDialogComponent/selectDataDialogComponent.hooks.ts","app/modules/common/components/selectDataSetDialogComponent/SelectDataDialogComponent.tsx","app/modules/payment/components/activateSubscriptionComponent/ActivateSubscriptionComponent.tsx","app/modules/payment/components/activateSubscriptionComponent/activateSubscriptionComponent.hooks.ts","app/modules/account/components/pauseSubscriptionComponent/pauseSubscriptionDialog.styles.ts","app/modules/account/components/pauseSubscriptionComponent/PauseSubscriptionDialog.tsx","app/modules/account/components/premiumBillingComponent/premiumBillingComponent.validator.ts","app/modules/account/components/premiumBillingComponent/premiumBillingComponent.hooks.ts","app/modules/account/components/premiumBillingComponent/premiumBillingComponent.styles.ts","app/modules/account/components/premiumBillingComponent/PremiumBillingComponent.tsx","app/modules/account/components/managePlan/ManagePlanComponent.tsx","app/modules/account/components/managePlan/managePlanComponent.hooks.ts","app/modules/common/components/paymentPlanDisplayComponent/PaymentPlanDisplayComponent.tsx","app/modules/common/helpers/display-percent.ts","app/modules/locations/components/transferPatientToLocationComponent/TransferPatientToLocationComponent.tsx","app/modules/locations/components/transferPatientToLocationComponent/transferPatientToLocationComponent.hooks.ts","app/modules/employee/components/assignEmployeesComponent/AssignEmployeesComponent.tsx","app/modules/employee/components/patientOptionsComponent/PatientOptionsComponent.tsx","app/modules/employee/components/patientInformationComponent/patientInformationComponent.validator.ts","app/modules/leadSources/stores/leadSources.store.ts","app/modules/leadSources/stores/leadSources.query.ts","app/modules/leadSources/services/leadSources.service.ts","app/modules/employee/components/patientInformationComponent/patientInformationComponent.hooks.ts","app/modules/employee/components/patientInformationComponent/PatientInformationComponent.tsx","assets/img/icons/CloseSide.svg","app/modules/patients/components/ChronologicalSummaryComponent/ChronologicalSummaryComponent.style.ts","assets/img/icons/Filter.svg","assets/img/icons/Results.svg","assets/img/icons/SupplementMeds.svg","assets/img/icons/ArticleDraft.svg","assets/img/icons/Ellipse.svg","assets/img/icons/Message.svg","app/modules/patients/components/MessageEventComponent/MessageEventComponent.styles.ts","app/modules/patients/components/MessageEventComponent/MessageEventComponent.tsx","app/modules/patients/components/ChronologicalSummaryComponent/ChronologicalSummaryComponent.tsx","app/modules/patients/components/ChronologicalSummaryComponent/chronologicalSummaryComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationComponentValidator/patientInformationComponent.validator.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/addressInfoWidgetComponent/addressInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/addressInfoWidgetComponent/addressInfoWidgetComponent.style.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/appointmentsInfoWidgetComponent/appointmentsInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/addressInfoWidgetComponent/AddressInfoWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/appointmentsInfoWidgetComponent/appointmentsInfoWidgetComponent.styles.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/appointmentsInfoWidgetComponent/AppointmentsInfoWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/generalInfoWidgetComponent/generalInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/generalInfoWidgetComponent/generalInfoWidgetComponent.styles.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/generalInfoWidgetComponent/GeneralInfoWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/healthFormsInfoWidgetComponent/healthFormsInfoWidgetComponent.styles.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/healthFormsInfoWidgetComponent/HealthFormsInfoWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/healthFormsInfoWidgetComponent/healthFormsInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/membershipInfoWidgetComponent/membershipInfoWidgetComponent.styles.ts","app/modules/conversations/components/smsReminderToggleComponent/SmsReminderToggleComponent.tsx","app/modules/conversations/components/smsReminderToggleComponent/smsReminderToggleComponent.hooks.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/membershipInfoWidgetComponent/MembershipInfoWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/membershipInfoWidgetComponent/membershipInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/ordersInfoWidgetComponent/ordersInfoWidgetComponent.styles.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/ordersInfoWidgetComponent/OrdersInfoWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/ordersInfoWidgetComponent/ordersInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/pharmacyInfoWidgetComponent/pharmacyInfoWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/pharmacyInfoWidgetComponent/pharmacyInfoWidgetComponent.styles.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/pharmacyInfoWidgetComponent/PharmacyInfoWidgetComponent..tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationRedesignComponent/patientInformationRedesignComponent.styles.ts","app/modules/employee/services/demographic-pdf.service.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/demographicExportWidgetComponent/demographicExportWidgetComponent.hooks.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/demographicExportWidgetComponent/demographicExportWidgetComponent.styles.ts","app/modules/employee/components/patientInformationRedesignComponent/patientInformationWidget/demographicExportWidgetComponent/DemographicExportWidgetComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationRedesignComponent/PatientInformationRedesignComponent.tsx","app/modules/employee/components/patientInformationRedesignComponent/patientInformationRedesignComponent/patientInformationRedesignComponent.hooks.ts","app/modules/insurance/services/insuranceVerification.service.ts","app/modules/insurance/components/insuranceCard/insuranceCard.styles.ts","app/modules/insurance/components/verifyInsuranceComponent/VerifyInsuranceComponent.tsx","app/modules/insurance/enums/insuranceServiceType.ts","app/modules/insurance/components/verifyInsuranceComponent/verifyInsuranceComponent.hooks.ts","app/modules/insurance/components/insuranceCard/InsuranceCardComponent.tsx","app/modules/insurance/components/insuranceCard/insuranceCardComponent.hooks.ts","app/modules/insurance/components/insuranceCardHistory/insuranceCardHistory.styles.ts","app/modules/insurance/components/insuranceVerificationModalComponent/insuranceVerificationModal.hooks.ts","app/modules/insurance/constants/insurance.constants.ts","app/modules/insurance/components/insuranceVerificationModalComponent/InsuranceVerificationModalComponent.tsx","app/modules/insurance/components/insuranceCardHistory/InsuranceCardHistoryComponent.tsx","app/modules/insurance/models/insurance.models.ts","app/modules/insurance/components/insuranceCardHistory/insuranceCardHistoryComponent.hooks.ts","app/modules/insurance/components/insuranceComponent/insuranceComponent.validator.ts","assets/img/icons/camera.svg","app/modules/insurance/components/createInsuranceModalComponent/createInsuranceModalComponent.styles.ts","app/modules/insurance/components/createInsuranceModalComponent/CreateInsuranceModalComponent.tsx","app/modules/insurance/components/createInsuranceModalComponent/createInsuranceModalComponent.hooks.ts","app/modules/common/dialogs/confirmDialog/ConfirmInsuranceDialog.tsx","app/modules/common/dialogs/confirmDialog/confirmInsuranceDialog.hooks.ts","app/modules/insurance/components/insuranceVerificationComponent/InsuranceVerificationComponent.tsx","app/modules/insurance/components/insuranceVerificationComponent/insuranceVerificationComponent.hooks.ts","app/modules/insurance/components/InsuranceListItemComponent/insuranceListItemComponent.styles.ts","app/modules/common/models/attachment.models.ts","app/modules/insurance/components/InsuranceListItemComponent/insuranceListItem.hooks.ts","app/modules/insurance/components/InsuranceListItemComponent/InsuranceListItemComponent.tsx","app/modules/insurance/components/insurancesListComponent/InsurancesListComponent.tsx","app/modules/insurance/components/insurancesListComponent/InsurancesListComponent.hooks.ts","app/modules/insurance/components/updateInsuranceModalComponent/updateInsuranceModalComponent.styles.ts","app/modules/comments/models/comment.models.ts","app/modules/insurance/components/updateInsuranceModalComponent/UpdateInsuranceModalComponent.tsx","app/modules/insurance/components/updateInsuranceModalComponent/updateInsuranceModalComponent.hooks.ts","app/modules/comments/services/comments.service.ts","app/modules/comments/components/CommentsDialogComponent/CommentsDialogComponent.tsx","app/modules/comments/components/CommentsDialogComponent/commentsDialogComponent.hooks.ts","app/modules/insurance/components/insuranceInformationComponent/InsuranceInformationComponent.tsx","app/modules/insurance/components/insuranceInformationComponent/insuranceInfoComponent.hooks.ts","app/modules/employee/components/patientProfileComponent/PatientProfileComponent.tsx","app/modules/employee/components/patientProfileComponent/patientProfileComponent.hooks.tsx","app/modules/conversations/components/staffChatViewComponent/staffChatViewComponent.hooks.ts","app/modules/conversations/components/conversationViewComponent/ConversationViewComponent.tsx","app/modules/conversations/components/healthCareChatViewComponent/HealthCareChatViewComponent.tsx","app/modules/conversations/components/staffChatViewComponent/StaffChatViewComponent.tsx","app/modules/conversations/components/fullHealthCareViewChatComponent/FullHealthCareViewChatComponent.tsx","app/modules/conversations/components/fullStaffViewChatComponent/fullStaffViewChatComponent.hooks.ts","app/modules/conversations/components/fullHealthCareViewChatComponent/fullHealthCareViewChatComponent.hooks.ts","app/modules/conversations/components/fullStaffViewChatComponent/FullStaffViewChatComponent.tsx","assets/img/icons/HealthSectionEmptyState.svg","app/modules/conversations/components/patientConversationsViewComponent/PatientConversationsViewComponent.tsx","app/modules/healthSummary/components/wrapperComponent/HealthSummaryWrapperComponent.styles.ts","app/modules/healthSummary/components/wrapperComponent/HealthSummaryWrapperComponent.tsx","app/modules/healthSummary/components/blockItemsComponent/HealthSummaryBlockItemsComponent.tsx","app/modules/healthSummary/components/blockItemsComponent/healthSummaryBlockItemsComponent.hooks.ts","app/modules/healthSummary/components/listItemsComponent/HealthSummaryListItemsComponent.tsx","app/modules/healthSummary/components/listItemsComponent/healthSummaryListItemsComponent.hooks.ts","app/modules/common/components/wildHealthPlaceHolder/HealthSummaryPlaceHolder.tsx","app/modules/healthSummary/components/contentComponent/HealthSummaryContentComponent.tsx","app/modules/healthSummary/components/contentComponent/healthSummaryContentComponent.hooks.ts","app/modules/healthSummary/components/healthSummaryComponent/healthSummaryComponent.styles.ts","app/modules/healthSummary/components/healthSummaryComponent/healthSummaryComponent.hooks.ts","app/modules/healthSummary/components/blockItemApoeComponent/BlockItemApoeComponent.styles.tsx","app/modules/healthSummary/components/blockItemApoeComponent/BlockItemApoeComponent.tsx","app/modules/documents/models/documents.models.ts","app/modules/healthSummary/components/blockItemApoeComponent/blockItemApoeComponent.hooks.ts","app/modules/healthSummary/components/healthSummaryComponent/HealthSummaryComponent.tsx","app/modules/inputs/stores/documentsStore/documents.store.ts","app/modules/inputs/stores/documentsStore/documents.query.ts","app/modules/inputs/services/patientDocuments.service.ts","app/modules/inputs/services/documents.service.ts","app/modules/documents/components/documentCategoryCardComponent/documentCategoryCardComponent.styles.ts","assets/img/icons/consents.svg","assets/img/icons/consult.svg","assets/img/icons/ecg.svg","assets/img/icons/other.svg","assets/img/icons/oldRecords.svg","assets/img/icons/medicalForms.svg","assets/img/icons/LabReports.svg","assets/img/icons/hospitalRecord.svg","assets/img/icons/ImagingReports.svg","assets/img/icons/Prescriptions.svg","app/modules/documents/components/documentCategoryCardComponent/DocumentCategoryCardComponent.tsx","app/modules/inputs/components/uploadDocumentsDialog/uploadDocumentsDialog.styles.ts","app/modules/inputs/components/uploadDocumentsDialog/UploadDocumentsDialog.tsx","app/modules/inputs/components/uploadDocumentsDialog/uploadDocumentsDialog.hooks.ts","app/modules/documents/components/uploadDocumentsFilesComponent/uploadDocumentsFilesComponent.hooks.ts","app/modules/documents/components/uploadDocumentsFilesComponent/uploadDocumentsFilesComponent.styles.tsx","app/modules/documents/components/uploadDocumentsFilesComponent/UploadDocumentsFilesComponent.tsx","app/modules/documents/components/documentsComponent/DocumentsComponent.tsx","app/modules/documents/components/documentsComponent/documentsComponent.hooks.ts","app/components/iconComponent/SupplementsMedsIcon.tsx","app/components/iconComponent/ResultsIcon.tsx","app/modules/documents/components/newDocumentsBadgeComponent/newDocumentsBadgeComponent.hooks.ts","app/modules/documents/components/newDocumentsBadgeComponent/NewDocumentsComponent.tsx","app/modules/northPassAcademy/models/courses.enums.tsx","app/modules/northPassAcademy/components/patientCourseHistory/patientCourseHistoryComponent.styles.ts","app/modules/northPassAcademy/stores/courses/courses.store.ts","app/modules/northPassAcademy/stores/courses/courses.query.ts","app/modules/northPassAcademy/services/courses.service.ts","app/modules/northPassAcademy/components/assignCourseButtonComponent/assignCourseButtonComponent.hooks.tsx","app/modules/northPassAcademy/components/assignCourseButtonComponent/assignCourseButtonComponent.styles.tsx","assets/img/placeholders/EmptyRiskScores.svg","app/modules/northPassAcademy/components/assignCourseButtonComponent/AssignCourseButtonComponent.tsx","app/modules/northPassAcademy/components/patientCourseHistory/PatientCourseHistoryComponent.tsx","app/modules/northPassAcademy/components/patientCourseHistory/patientCourseHistoryComponent.hooks.tsx","assets/img/placeholders/EmptyLifestyle.svg","assets/img/placeholders/EmptyLabs.svg","assets/img/placeholders/EmptyBiomarkers.svg","assets/img/placeholders/EmptyHealthBiomarkers.svg","assets/img/placeholders/EmptyMobileHealthScore.svg","assets/img/placeholders/EmptyMobileLabs.svg","assets/img/placeholders/EmptyMobileBiomarkers.svg","assets/img/placeholders/EmptyMobileLifestyle.svg","assets/img/placeholders/EmptyMobileRiskScores.svg","app/modules/healthScore/stores/score.store.ts","app/modules/healthScore/stores/score.query.ts","app/modules/healthScore/services/healthScore.service.ts","app/modules/healthScore/components/healthScoreComponent/healthScoreComponent.hooks.ts","app/modules/healthScore/components/healthScoreComponent/healthScoreComponent.style.ts","app/modules/patients/components/BiomarkersComponent/BiomarkersComponent.style.ts","app/modules/patients/components/BiomarkersComponent/BiomarkersComponent.tsx","app/modules/patients/components/BiomarkersComponent/biomarkersComponent.hooks.ts","app/modules/healthScore/models/score.model.ts","app/modules/patients/components/GeneralChartComponent/GeneralChartComponent.style.ts","app/modules/vital/models/vital.model.ts","app/modules/vital/stores/vital.store.ts","app/modules/patients/components/GeneralChartComponent/GeneralChartComponent.tsx","app/modules/patients/components/GeneralChartComponent/generalChartComponent.hooks.ts","app/modules/healthScore/components/healthScoreComponent/HealthScoreComponent.tsx","app/modules/common/components/selectViewModeComponent/SelectViewModeComponent.styles.ts","app/modules/common/components/selectViewModeComponent/SelectViewModeComponent.tsx","app/modules/vital/stores/vital.query.ts","app/modules/vital/services/vital.service.ts","app/modules/vital/helpers/get-unique-dates.ts","app/modules/vital/components/biometricComponent/biometricComponent.hooks.ts","app/modules/vital/components/biometricComponent/biometricComponent.styles.ts","app/modules/inputs/components/biometricInputsGraphComponent/BiometricInputsGraphComponent.tsx","app/modules/vital/components/biometricRowComponent/biometricRowComponent.styles.ts","app/modules/vital/components/biometricRowComponent/BiometricRowComponent.tsx","app/modules/inputs/helpers/render-biometric-values-graph.tsx","app/modules/common/components/selectRangeComponent/selectRangeComponent.styles.ts","app/modules/common/components/selectRangeComponent/SelectRangeComponent.tsx","app/modules/vital/components/biometricComponent/BiometricComponent.tsx","app/modules/notes/constants/goalCategoryNames.ts","assets/img/icons/Diet.svg","assets/img/icons/Exercise.svg","assets/img/icons/Mindfulness.svg","assets/img/icons/Longevity.svg","assets/img/icons/Neuro.svg","assets/img/icons/Sleep.svg","assets/img/icons/OtherGoal.svg","assets/img/CeliacAndGluten.svg","app/modules/widgets/components/healthPlanWidgetComponent/constants/healthGoalIcons.tsx","app/modules/healthPlan/components/HealthPlanPastGoals/healthPlanPastGoalsComponent.styles.ts","app/modules/healthPlan/components/HealthPlanPastGoals/HealthPlanPastGoalsComponent.tsx","app/modules/healthPlan/components/HealthPlanPastGoals/healthPlanPastGoalsComponent.hooks.tsx","app/modules/healthPlan/components/HealthPlan/HealthPlanComponent.style.ts","app/modules/widgets/components/healthPlanWidgetComponent/healthPlanItemComponent/healthPlanItemComponent.style.ts","app/modules/widgets/components/healthPlanWidgetComponent/constants/healthGoalImages.ts","app/modules/widgets/components/healthPlanWidgetComponent/healthPlanItemComponent/HealthPlanItemComponent.tsx","app/modules/healthPlan/components/HealthPlan/HealthPlanComponent.tsx","app/modules/healthPlan/components/HealthPlan/healthPlanComponent.hooks.tsx","assets/img/icons/AcrobatPdfIcon.svg","assets/img/icons/LockedDocumentIcon.svg","app/modules/healthReport/models/reportTemplate.models.ts","app/modules/healthReport/components/addOnReportsComponent/addOnReportsComponent.styles.ts","app/modules/healthReport/services/addOnReports.service.ts","app/modules/healthReport/components/addOnReportsComponent/AddOnReportPrintComponent.tsx","app/modules/healthReport/services/addOnReportPdf.service.ts","assets/img/icons/Export.svg","app/modules/healthReport/components/addOnReportsComponent/AddOnReportsComponent.tsx","app/modules/healthReport/components/addOnReportsComponent/addOnReportsComponent.hooks.ts","app/modules/patients/components/VisitPrepComponent/visitPrepComponent.hooks.ts","app/modules/patients/components/VisitPrepComponent/visitPrepComponent.styles.ts","app/modules/patients/services/visitPrep.service.ts","app/modules/patients/components/VisitPrepComponent/VisitPrepComponent.tsx","app/modules/conversations/components/playgroundChatListComponent/playgroundChatListComponent.styles.ts","app/modules/conversations/components/playgroundChatListComponent/PlaygroundChatListComponent.tsx","app/modules/conversations/components/playgroundChatListComponent/playgroundChatListComponent.hooks.ts","app/modules/conversations/components/playgroundChatComponent/playgroundChatComponent.styles.ts","app/modules/conversations/components/sendPlaygroundMessageComponent/SendPlaygroundMessageComponent.tsx","app/modules/conversations/components/sendPlaygroundMessageComponent/sendPlaygroundMessageComponent.hooks.ts","app/modules/conversations/components/playgroundThreadComponent/playgroundThreadComponent.hooks.ts","app/modules/conversations/components/playgroundThreadComponent/playgroundThreadComponent.styles.ts","assets/img/icons/CopyIcon.svg","app/modules/conversations/components/playgroundMessageComponent/playgroundMessageComponent.styles.ts","assets/img/icons/ThumbUp.svg","assets/img/icons/ThumbDown.svg","app/modules/conversations/components/patientPlaygroundComponent/patientPlaygroundComponent.hooks.ts","app/modules/conversations/components/playgroundMessageComponent/PlaygroundMessageComponent.tsx","app/modules/common/helpers/copy-to-clipboard.ts","app/modules/conversations/components/playgroundThreadComponent/PlaygroundThreadComponent.tsx","app/modules/conversations/components/playgroundChatComponent/PlaygroundChatComponent.tsx","app/modules/conversations/components/playgroundChatComponent/playgroundChatComponent.hooks.ts","app/modules/conversations/components/patientPlaygroundComponent/patientPlaygroundComponent.styles.ts","app/modules/conversations/components/startPatientPlaygroundComponent/startPatientPlaygroundComponent.styls.ts","assets/img/icons/PlaygroundIconDisabled.svg","app/modules/conversations/components/startPatientPlaygroundComponent/StartPatientPlaygroundComponent.tsx","app/modules/conversations/components/startPatientPlaygroundComponent/startPatientPlaygroundComponent.hooks.ts","app/modules/conversations/components/patientPlaygroundComponent/PatientPlaygroundComponent.tsx","app/components/iconComponent/PlaygroundIcon.tsx","app/modules/employee/components/managePatientProfileComponent/ManagePatientProfileComponent.tsx","app/modules/employee/components/managePatientProfileComponent/managePatientProfileComponent.hooks.ts","app/modules/employee/pages/managePatientProfilePage/ManagePatientProfilePage.tsx","app/modules/employee/pages/managePatientProfilePage/managePatientProfilePage.hooks.tsx","app/modules/employee/components/shortcuts/manageShortcutsComponent/manageShortcutsComponent.styles.ts","app/modules/employee/components/shortcuts/manageShortcutsComponent/manageShortcutsComponent.validator.ts","app/modules/employee/components/shortcuts/createShortcutComponent/createShortcutComponent.validator.ts","app/modules/employee/components/shortcuts/createShortcutComponent/CreateShortcutComponent.tsx","app/modules/employee/components/shortcuts/createShortcutComponent/createShortcutComponent.hooks.ts","app/modules/employee/components/shortcuts/createShortcutGroupComponent/createShortcutGroupComponent.validator.ts","app/modules/employee/components/shortcuts/createShortcutGroupComponent/CreateShortcutGroupComponent.tsx","app/modules/employee/components/shortcuts/createShortcutGroupComponent/createShortcutGroupComponent.hooks.ts","app/modules/employee/components/shortcuts/shortcutAuditInformationComponent/ShortcutAuditInformationComponent.tsx","assets/img/icons/FolderOpen.svg","assets/img/icons/Ellipse1.svg","app/modules/employee/components/shortcuts/shortcutGroupsListComponent/shortcutGroupsListComponent.styles.tsx","app/modules/employee/components/manageMyPatientsComponent/manageMyPatientsComponent.hooks.ts","app/modules/employee/components/shortcuts/shortcutGroupsListComponent/ShortcutGroupsListComponent.tsx","app/modules/employee/components/shortcuts/shortcutGroupsListComponent/shortcutGroupsListComponent.hooks.tsx","app/modules/employee/components/shortcuts/ShortcutTabsComponent/ShortcutTabsComponent.tsx","app/modules/employee/components/shortcuts/ShortcutTabsComponent/shortcutTabsComponent.hooks.ts","app/modules/employee/components/shortcuts/manageShortcutsComponent/ManageShortcutsComponent.tsx","app/modules/employee/components/shortcuts/manageShortcutsComponent/manageShortcutsComponent.hooks.ts","app/modules/employee/pages/manageShortcutsPage/ManageShortcutsPage.tsx","app/modules/employee/components/manageMyPatientsComponent/manageMyPatientsComponent.styles.ts","app/modules/addons/models/patientAddOn.models.ts","app/modules/addons/constants/patientAddOn.constants.ts","app/modules/employee/components/manageMyPatientsComponent/ManageMyPatientsComponent.tsx","app/modules/employee/pages/myPatientsPage/MyPatientsPage.tsx","app/modules/employee/components/manageApiResponseComponent/manageApiResponseComponent.validator.ts","app/modules/employee/services/engineering.service.ts","app/modules/employee/stores/employerProductsStore/employerProductsStore.ts","app/modules/employee/components/manageApiResponseComponent/manageApiResponseComponent.hooks.ts","app/modules/employee/stores/employerProductsStore/employerProductsQuery.ts","app/modules/employee/services/employerProducts.service.ts","app/modules/employee/components/manageApiResponseComponent/manageApiResponseComponent.styles.ts","app/modules/employee/models/integrationVendor.enums.ts","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/EndpointAdminComponent.tsx","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/LoginOnBehalfOfUser.tsx","app/modules/payment/models/paymentPrice.models.ts","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/ViewAllIntegrationIds.tsx","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/BuyProductsComponent.tsx","app/modules/employee/components/manageEmployerProductsComponent/manageEmployerProductsComponent.hooks.ts","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/ChangeSubscriptionComponent.tsx","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/ChangePaymentPlanInsuranceStates.tsx","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/ManagePatientProductsComponent.tsx","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/CreateDefaultPaymentPlanComponent.tsx","app/modules/employee/components/manageApiResponseComponent/endPointAdmin/ChangeSubscriptionPriceComponent.tsx","app/modules/employee/components/manageApiResponseComponent/ManageApiResponseComponent.tsx","app/modules/employee/pages/engineeringAdminPage/EngineeringAdminPage.tsx","app/modules/employee/components/manageEmployerProductsComponent/EmployerDetailDialogComponent/employerDetailDialogComponent.hooks.ts","app/modules/employee/components/manageEmployerProductsComponent/EmployerDetailDialogComponent/employerDetailDialogComponent.styles.ts","app/modules/employee/components/managePromoCodesComponent/managePromoCodesComponent.hooks.ts","app/modules/employee/components/manageEmployerProductsComponent/EmployerDetailDialogComponent/EmployerDetailDialogComponent.tsx","app/modules/employee/components/manageEmployerProductsComponent/ManageEmployerProductsComponent.tsx","app/modules/employee/pages/employerAdminPage/EmployerAdminPage.tsx","app/modules/employee/components/managePromoCodesComponent/promoCodesComponent.styles.ts","app/modules/payment/models/paymentCoupon.model.ts","app/modules/employee/components/createPromoCodeComponent/createPromoCodeComponent.validator.ts","app/modules/employee/components/createPromoCodeComponent/createPromoCodeComponent.styles.ts","app/modules/employee/components/createPromoCodeComponent/CreatePromoCodeComponent.tsx","app/modules/employee/components/createPromoCodeComponent/createPromoCodeComponent.hooks.ts","app/modules/employee/components/managePromoCodesComponent/ManagePromoCodesComponent.tsx","app/modules/employee/pages/managePromoCodesPage/ManagePromoCodesPage.tsx","app/modules/employee/stores/bannersStore/bannersStore.ts","app/modules/employee/components/manageBannersComponent/manageBannersComponent.hooks.ts","app/modules/employee/stores/bannersStore/bannersQuery.ts","app/modules/employee/services/banners.service.ts","app/modules/employee/components/manageBannersComponent/manageBannersComponent.styles.ts","app/models/banner.model.ts","app/modules/employee/components/manageBannersComponent/modifyBanner.validator.ts","app/modules/employee/components/createBannerComponent/createBannerComponent.styles.ts","app/modules/employee/components/createBannerComponent/CreateBannerComponent.tsx","app/modules/employee/components/createBannerComponent/createBannerComponent.hooks.ts","app/modules/employee/components/updateBannerComponent/updateBannerComponent.hooks.ts","app/modules/employee/components/updateBannerComponent/updateBannerComponent.styles.ts","app/modules/employee/components/updateBannerComponent/UpdateBannerComponent.tsx","app/modules/employee/components/manageBannersComponent/ManageBannersComponent.tsx","app/modules/employee/pages/manageBannersPage/ManageBannersPage.tsx","app/modules/syncRecords/stores/syncRecordsStore/syncRecordsStore.ts","app/modules/syncRecords/stores/syncRecordsStore/syncRecordsQuery.ts","app/modules/syncRecords/services/syncRecords.service.ts","app/modules/syncRecords/components/syncRecordsDashboardComponent/syncRecordsDashboardComponent.styles.ts","app/modules/syncRecords/models/syncRecordStatus.enums.ts","app/modules/syncRecords/components/syncRecordsDashboardComponent/SyncRecordsDashboardComponent.tsx","app/modules/syncRecords/components/syncRecordsDashboardComponent/syncRecordsDashboardComponent.hooks.ts","app/modules/syncRecords/pages/syncRecordsDashboardPage/SyncRecordsDashboardPage.tsx","app/modules/syncRecords/components/syncRecordListComponent/syncRecordListComponent.hooks.ts","app/modules/syncRecords/components/syncRecordTypeComponent/syncRecordTypeComponent.styles.ts","app/modules/syncRecords/components/syncRecordTypeComponent/SyncRecordTypeComponent.tsx","app/modules/syncRecords/components/syncRecordTypeComponent/syncRecordTypeComponent.hooks.ts","app/modules/syncRecords/pages/syncRecordTypePage/SyncRecordTypePage.tsx","app/modules/syncRecords/components/syncRecordReconcileComponent/syncRecordReconcileComponent.styles.ts","app/modules/syncRecords/components/syncRecordListComponent/SyncRecordListComponent.tsx","app/modules/syncRecords/pages/syncRecordListPage/SyncRecordListPage.tsx","app/modules/syncRecords/components/syncRecordReconcileComponent/SyncRecordReconcileComponent.tsx","app/modules/syncRecords/components/syncRecordReconcileComponent/syncRecordReconcileComponent.hooks.ts","app/modules/syncRecords/pages/syncRecordReconcilePage/SyncRecordReconcilePage.tsx","app/modules/employee/pages/submitPatientPage/submitPatientPage.validator.ts","app/modules/employee/pages/submitPatientPage/submitPatientPage.hooks.ts","app/modules/locations/components/selectLocationComponent/SelectLocationComponent.tsx","app/modules/fellowship/models/fellowship.enums.ts","app/modules/employee/pages/submitPatientPage/SubmitPatientPage.tsx","app/modules/fellowship/components/fellowPatients/fellowPatientsComponent.hooks.ts","app/modules/fellowship/helpers/displayEnrollment.tsx","assets/img/icons/VectorUp.svg","assets/img/icons/VectorDown.svg","app/modules/common/components/wildHealthTableSortLabel/WildHealhTableSortLabel.styles.ts","app/modules/common/components/wildHealthTableSortLabel/WildHealthTableSortLabel.tsx","app/modules/fellowship/components/fellowPatients/FellowPatientsComponent.tsx","app/modules/fellowship/pages/FellowPatients/FellowPatientsPage.tsx","app/modules/fellowship/pages/FellowshipGetStarted/fellowshipStepper.tsx","app/modules/fellowship/pages/FellowshipGetStarted/FellowshipGetStartedPage.styles.ts","app/modules/fellowship/components/selectFellowshipRole/SelectFellowShipRoleComponent.styles.ts","app/modules/fellowship/components/selectFellowshipRole/createPracticumPatient.validator.ts","app/modules/fellowship/components/selectFellowshipRole/selectFellowshipRoleComponent.hooks.ts","app/modules/fellowship/components/createPracticumPatientForm/CreatePracticumPatientForm.tsx","app/modules/fellowship/components/fellowshipRegistrationButton/FellowshipRegistrationNextButton.tsx","app/modules/fellowship/components/selectFellowshipRole/SelectFellowshipRoleComponent.tsx","app/modules/payment/components/selectPaymentPlanCardComponent/SelectPaymentPlanCardComponent.styles.ts","app/modules/payment/helpers/getPeriodDiscount.ts","app/modules/payment/components/paymentBenefitsComponent/PaymentBenefitsForFellowComponent.tsx","app/modules/payment/components/selectPaymentPlanCardComponent/SelectPaymentPlanCardComponent.tsx","app/modules/fellowship/components/fellowshipRegistrationButton/FellowshipRegistrationBackButton.tsx","app/modules/fellowship/components/selectFellowshipPlan/SelectFellowshipPlanComponent.tsx","app/modules/fellowship/components/selectFellowshipPlan/selectFellowshipPlanComponent.hooks.ts","app/modules/addons/components/selectAddOnComponent/selectAddOnComponent.tsx","app/modules/addons/components/selectAddOnsComponent/selectAddOnsComponent.tsx","app/modules/addons/components/SelectAddOnsCardComponent/SelectAddOnsCardComponent.tsx","app/modules/fellowship/components/fellowshipCheckout/fellowshipCheckoutComponentValidator.ts","app/modules/payment/components/paymentFormComponent/paymentFormComponent.hooks.tsx","app/modules/payment/components/paymentFormComponent/PaymentFormUpdatedComponent.tsx","app/modules/payment/services/confirmAgreement.service.ts","app/modules/payment/components/confirmAgreementsCheckBoxComponent/ConfirmAgreementsCheckBoxComponent.styles.tsx","app/modules/payment/components/confirmAgreementsCheckBoxComponent/ConfirmAgreementsCheckBoxComponent.tsx","app/modules/fellowship/components/fellowshipCheckout/fellowshipCheckoutComponent.hooks.tsx","app/modules/fellowship/components/fellowshipCheckout/FellowshipCheckoutComponent.styles.ts","app/modules/payment/components/billingSummaryComponent/BillingSummaryComponent.tsx","app/modules/payment/components/AgreementsComponent/pages/AgreementBasePage.tsx","app/modules/payment/components/AgreementsComponent/pages/AgreementHeaderComponent.tsx","app/modules/payment/components/AgreementsComponent/pages/agreementsPagesProvider.ts","app/modules/payment/components/AgreementsComponent/pages/PatientAgreementPage.tsx","app/modules/payment/components/AgreementsComponent/pages/CoachingClientAgreementPage.tsx","app/modules/payment/components/AgreementsComponent/pages/PatientFoundersAgreementPage.tsx","app/modules/payment/components/AgreementsComponent/pages/CoachingFoundersClientAgreementPage.tsx","app/modules/payment/components/AgreementsComponent/pages/PatientSingleAgreementPage.tsx","app/modules/payment/components/AgreementsComponent/pages/CoachingClientSingleAgreementPage.tsx","app/modules/payment/components/viewAgreementsDialog/viewAgreementsDialog.hooks.ts","app/modules/payment/components/AgreementsComponent/AgreementsComponent.tsx","app/modules/payment/components/AgreementsComponent/agreementsComponent.hooks.ts","app/modules/payment/components/viewAgreementsDialog/ViewAgreementsDialog.tsx","app/modules/payment/helpers/getCorrespondingPrice.ts","app/modules/payment/components/paymentSummaryComponent/PaymentSummaryComponent.tsx","app/modules/payment/components/paymentCouponComponent/applyPaymentCoupon.validator.ts","app/modules/payment/components/paymentCouponComponent/ApplyPaymentCouponComponent.tsx","app/modules/fellowship/pages/FellowshipGetStarted/fellowshipGetStartedPage.hooks.tsx","app/modules/payment/components/paymentCouponComponent/applyPaymentCouponComponent.hooks.ts","app/modules/payment/components/paymentCouponComponent/PaymentCouponAppliedComponent.tsx","app/modules/payment/components/patientInfoComponent/patientInfoComponent.styles.tsx","app/modules/payment/components/patientInfoComponent/PatientInfoComponent.tsx","app/modules/payment/components/loginInfoComponent/loginInfoComponent.styles.tsx","app/modules/payment/components/loginInfoComponent/LoginInfoComponent.tsx","app/modules/fellowship/components/fellowshipCheckout/FellowshipCheckoutComponent.tsx","app/modules/fellowship/pages/FellowshipGetStarted/FellowshipGetStartedPage.tsx","app/modules/fellowship/pages/PMFellowshipGetStarted/pmFellowshipGetStartedPage.styles.ts","app/modules/fellowship/components/selectPMFellowshipRole/SelectFellowShipRoleComponent.styles.ts","app/modules/fellowship/components/selectPMFellowshipRole/createPracticumPatient.validator.ts","app/modules/fellowship/components/selectPMFellowshipRole/selectFellowshipRoleComponent.hooks.ts","app/modules/fellowship/components/selectPMFellowshipRole/CreatePracticumPatientForm.tsx","app/modules/fellowship/pages/PMFellowshipGetStarted/pmFellowshipGetStartedPage.hooks.tsx","app/modules/fellowship/components/selectPMFellowshipRole/SelectFellowshipRoleComponent.tsx","app/modules/fellowship/pages/PMFellowshipGetStarted/PMFellowshipGetStartedPage.tsx","app/modules/common/components/wildHealthPlaceHolder/FellowshipRosterPlaceHolder.tsx","app/modules/fellowship/components/addFellowButton/addFellowButtonComponent.validator.ts","app/modules/fellowship/components/addFellowButton/addFellowButtonComponent.hooks.ts","app/modules/fellowship/components/addFellowButton/addFellowButtonComponent.styles.ts","app/modules/fellowship/components/addFellowButton/AddFellowButtonComponent.tsx","app/modules/fellowship/components/updateFellow/updateFellowComponent.validator.ts","app/modules/fellowship/components/updateFellow/updateFellowComponent.hooks.ts","app/modules/fellowship/components/updateFellow/updateFellowComponent.styles.ts","app/modules/fellowship/components/updateFellow/UpdateFellowComponent.tsx","app/modules/fellowship/components/fellows/FellowsComponent.tsx","app/modules/fellowship/components/fellows/fellowsComponent.hooks.ts","app/modules/fellowship/components/practicumPatients/practicumPatientsComponent.hooks.ts","app/modules/fellowship/components/practicumPatients/PracticumPatientsComponent.tsx","app/modules/fellowship/components/fellowship/FellowshipComponent.tsx","app/modules/fellowship/components/fellowship/fellowshipComponent.hooks.tsx","app/modules/fellowship/pages/FellowshipPage/FellowshipPage.tsx","app/modules/fellowship/pages/FellowshipSubmissionReceived/FellowshipSubmissionReceivedPage.styles.ts","app/modules/fellowship/pages/FellowshipSubmissionReceived/FellowshipSubmissionReceivedPage.tsx","app/modules/habitScorePage/pages/habitScorePage.styles.ts","app/modules/habitScorePage/pages/HabitScorePage.tsx","app/modules/habitScorePage/pages/HabitScorePage.hooks.ts","app/modules/healthReport/pages/PatientHealthReportPage/PatientHealthReportPage.tsx","app/modules/healthReport/pages/PatientAddOnReportsPage/PatientAddOnReportsPage.tsx","app/modules/healthScore/pages/HealthScorePage.tsx","app/modules/inputs/pages/patientDataFilesPage/PatientDataFilesPage.tsx","app/modules/inputs/components/patientGeneralInputsComponent/PatientGeneralInputsComponent.tsx","assets/img/icons/DownloadIcon.svg","app/modules/inputs/components/patientGeneralInputsComponent/patientGeneralInputsComponent.hooks.ts","app/modules/inputs/pages/patientGeneralPage/PatientGeneralPage.tsx","app/modules/inputs/pages/patientDocumentsPage/PatientDocumentsPage.tsx","app/modules/inputs/components/patientLabInputsComponent/patientLabInputsComponent.hooks.ts","app/modules/inputs/components/patientLabInputsComponent/patientLabInputsComponent.styles.ts","app/modules/inputs/components/patientLabInputsSectionComponent/PatientLabInputsSectionComponent.styles.ts","app/modules/inputs/components/patientLabInputsSectionComponent/PatientLabInputsSectionComponent.tsx","app/modules/inputs/components/patientLabInputsSectionComponent/patientLabInputsSectionComponent.hooks.ts","app/modules/inputs/components/patientLabInputsComponent/PatientLabInputsComponent.tsx","app/modules/inputs/pages/patientLabsPage/PatientLabsPage.tsx","app/modules/inputs/components/patientMicrobiomeInputsComponent/patientMicrobiomeInputsComponent.styles.ts","app/modules/inputs/components/patientMicrobiomeInputsComponent/PatientMicrobiomeInputsComponent.tsx","app/modules/inputs/components/patientMicrobiomeInputsComponent/patientMicrobiomeInputsComponent.hooks.ts","app/modules/inputs/pages/patientMicrobiomePage/PatientMicrobiomePage.tsx","app/modules/leadSources/components/manageLeadSourcesComponent/manageLeadSourcesComponent.validator.ts","app/modules/leadSources/components/manageLeadSourcesComponent/ManageLeadSourcesComponent.tsx","app/modules/leadSources/components/manageLeadSourcesComponent/manageLeadSourcesComponent.hooks.ts","app/modules/leadSources/pages/LeadSourcesPage.tsx","app/modules/patients/components/PatientTitleComponent/PatientTitleComponent.style.ts","app/modules/patients/components/PatientTitleComponent/PatientTitleComponent.tsx","app/modules/patients/components/PatientTitleComponent/patientTitleComponent.hooks.ts","app/modules/notes/pages/createFollowUpNotePage/CreateFollowUpNotePage.tsx","app/modules/notes/pages/createInitialConsultNotePage/CreateInitialConsultNotePage.tsx","app/modules/notes/pages/createSimpleNotePage/CreateSimpleNotePage.tsx","app/modules/notes/pages/patientFollowUp/patientFollowUpPage.styles.ts","app/modules/notes/pages/patientFollowUp/PatientFollowUpPage.tsx","app/modules/notes/pages/patientFollowUp/patientFollowUpPage.hooks.ts","app/modules/notes/components/noteCard/noteCardComponent.hooks.ts","app/modules/notes/components/noteCard/NoteCardComponent.tsx","app/modules/notes/pages/patientNotes/patientNotesPage.styles.ts","app/modules/notes/pages/patientNotes/PatientNotesPage.tsx","app/modules/notes/pages/patientNotes/patientNotesPage.hooks.ts","app/modules/orders/pages/patientOrdersPage/PatientOrdersPage.tsx","assets/img/icons/FacebookIcon.svg","app/modules/orders/pages/patientOrdersPage/patientOrdersPage.hooks.ts","app/modules/patients/pages/referralLandingPage/referralLandingPage.styles.ts","assets/img/icons/TwitterIcon.svg","assets/img/icons/PhoneIcon.svg","assets/img/icons/ClipboardIcon.svg","app/modules/patients/pages/referralLandingPage/ReferralLandingPage.tsx","app/modules/patients/pages/referralLandingPage/referralLandingPage.hooks.tsx","app/modules/patientSupplements/pages/patientSupplementsPage/PatientSupplementsPage.tsx","app/modules/payment/components/finishBuySubscriptionComponent/FinishBuySubscriptionComponent.hooks.tsx","app/modules/payment/helpers/getPlanForAutoSelect.ts","app/modules/payment/components/finishBuySubscriptionComponent/FinishBuySubscriptionComponent.tsx","app/modules/payment/components/paymentBenefitsComponent/PaymentBenefitsComponent.tsx","app/modules/payment/components/selectPaymentPeriodComponent/selectPaymentPeriodComponent.styles.tsx","app/modules/payment/components/selectPaymentPeriodComponent/SelectPaymentPeriodComponent.tsx","app/modules/payment/components/selectPaymentPeriodComponent/SelectPaymentPeriodComponent.hooks.ts","app/modules/payment/components/selectPaymentPlanComponent/SelectPaymentPlanComponent.styles.tsx","app/modules/payment/components/selectTrialPaymentPlanComponent/SelectTrialPaymentPlanComponent.hooks.ts","app/modules/payment/components/selectTrialPaymentPlanComponent/SelectTrialPaymentPlanComponent.tsx","app/modules/payment/components/selectPaymentPlanCardTestComponent/SelectPaymentPlanCardComponent.styles.ts","app/modules/payment/components/selectPaymentPlanCardTestComponent/SelectPaymentPlanCardComponent.tsx","app/modules/payment/components/selectPaymentPlanComponent/SelectPaymentPlanComponent.tsx","app/modules/payment/components/selectPaymentPlanComponent/SelectPaymentPlanComponent.hooks.ts","app/modules/payment/pages/buyNewSubscriptionPage/BuyNewSubscriptionPage.hooks.tsx","app/modules/payment/components/waitListDialogComponent/waitListDialogComponent.validator.ts","app/modules/payment/components/waitListDialogComponent/waitListDialogComponent.hooks.tsx","app/modules/payment/components/waitListDialogComponent/WaitListDialogComponent.tsx","app/modules/payment/pages/buyNewSubscriptionPage/BuyNewSubscriptionPage.tsx","app/modules/payment/pages/buySubscriptionSucceededPage/BuySubscriptionSucceededPage.tsx","app/modules/payment/pages/confirmAgreementsPage/confirmAgreementsPage.hooks.ts","app/modules/payment/pages/confirmAgreementsPage/ConfirmAgreementsPage.tsx","app/modules/common/components/updateAddressTestForm/updateAddressForm.hooks.ts","app/modules/common/components/updateAddressTestForm/updateAddressForm.styles.tsx","assets/img/icons/InfoCircleIcon.svg","app/modules/common/components/updateAddressTestForm/UpdateAddressForm.tsx","app/modules/addons/components/selectAddOnTestComponent/selectAddonComponent.styles.tsx","assets/img/icons/VisibilityOff.svg","app/modules/addons/components/selectAddOnTestComponent/selectAddOnComponent.tsx","app/modules/addons/components/selectAddOnsTestComponent/selectAddOnsComponent.tsx","app/modules/addons/components/SelectAddOnsCardTestComponent/SelectAddOnsCardComponent.tsx","app/modules/payment/components/billingSummaryTestComponent/billingSummaryComponent.styles.tsx","app/modules/payment/components/billingSummaryTestComponent/BillingSummaryComponent.tsx","app/modules/payment/components/welcomePatientInfoComponent/welcomePatientInfoComponent.styles.tsx","app/modules/payment/components/welcomePatientInfoComponent/WelcomePatientInfoComponent.tsx","app/modules/payment/components/patientInfoRedesignComponent/patientInfoRedesignComponent.styles.tsx","app/modules/payment/components/patientInfoRedesignComponent/PatientInfoRedesignComponent.tsx","app/modules/payment/components/paymentCouponTestComponent/applyPaymentCoupon.validator.ts","app/modules/payment/components/paymentCouponTestComponent/applyPaymentCouponComponent.hooks.ts","app/modules/payment/components/paymentCouponTestComponent/paymentCouponComponent.styles.tsx","assets/img/icons/TicketIcon.svg","app/modules/payment/components/paymentCouponTestComponent/ApplyPaymentCouponComponent.tsx","assets/img/icons/RadioChecked.svg","app/modules/payment/components/paymentCouponTestComponent/PaymentCouponAppliedComponent.tsx","assets/img/icons/RadioUnchecked.svg","app/modules/payment/components/paymentSummaryTestComponent/paymentSummaryComponent.styles.tsx","app/modules/payment/components/paymentSummaryTestComponent/PaymentSummaryComponentGetStarted.tsx","app/modules/payment/components/finishCheckoutComponent/FinishCheckoutComponentValidator.ts","app/modules/payment/stores/inviteCodeStore/inviteCode.store.ts","app/modules/payment/stores/inviteCodeStore/inviteCode.query.ts","app/modules/auth/constants/auth.constants.ts","app/modules/common/helpers/get-fb-traits.ts","app/modules/common/helpers/get-age.ts","app/modules/payment/components/finishCheckoutComponent/FinishCheckoutComponent.hooks.tsx","app/modules/payment/components/finishCheckoutComponent/finishCheckoutComponent.styles.tsx","assets/img/icons/lock.svg","app/modules/payment/components/registrationButton/RegistrationBackButton.tsx","app/modules/payment/components/registrationButton/RegistrationNextTestButton.tsx","assets/img/icons/LockIcon.svg","app/modules/payment/components/paymentCardTestComponent/paymentCardComponent.style.ts","app/modules/payment/components/paymentCardTestComponent/PaymentCardComponent.tsx","assets/img/getStarted/mastercardLogo.svg","app/modules/payment/components/confirmAlternativeAddOnDialog/ConfirmDialog.styles.ts","app/modules/payment/components/confirmAlternativeAddOnDialog/ConfirmDialog.tsx","app/modules/insurance/components/insuranceComponent/insuranceCheckoutComponent.hooks.ts","app/modules/insurance/components/insuranceComponent/InsuranceComponent.styles.ts","app/modules/payment/components/finishCheckoutRedesignComponent/FinishCheckoutComponent.hooks.tsx","app/modules/insurance/components/insuranceComponent/InsuranceCheckoutComponent.tsx","app/modules/payment/components/registrationButton/RegistrationSkipButton.tsx","app/modules/payment/components/finishCheckoutComponent/FinishCheckoutComponent.tsx","app/modules/payment/components/finishCheckoutRedesignComponent/FinishCheckoutComponentValidator.ts","app/modules/payment/components/finishCheckoutRedesignComponent/finishCheckoutComponent.styles.tsx","assets/img/getStarted/VisaCardLogo.svg","assets/img/getStarted/AMEXCardLogo.svg","assets/img/getStarted/DiscoverCardLogo.svg","assets/img/getStarted/DinersCardLogo.svg","assets/img/getStarted/JCBCardLogo.svg","assets/img/getStarted/UnionPayCardLogo.svg","assets/img/icons/InsuranceIcon.svg","app/modules/payment/components/finishCheckoutExperimentComponent/FinishCheckoutComponent.hooks.tsx","app/modules/payment/components/finishCheckoutRedesignComponent/FinishCheckoutComponent.tsx","app/modules/payment/components/finishCheckoutExperimentComponent/FinishCheckoutComponentValidator.ts","app/modules/payment/components/finishCheckoutExperimentComponent/finishCheckoutComponent.styles.tsx","app/modules/payment/components/payButtonComponent/PayButtonComponent.tsx","assets/img/getStarted/ProvenResultsDesktop.svg","assets/img/getStarted/ProvenResultsMobile.svg","assets/img/icons/GridLock.svg","assets/img/icons/StarIcon.svg","app/modules/payment/components/finishCheckoutExperimentComponent/FinishCheckoutComponent.tsx","app/modules/payment/pages/getStartedPage/getStartedPage.hooks.tsx","app/modules/payment/pages/getStartedPage/GetStartedPage.styles.tsx","app/modules/payment/components/finishCheckoutRedesignComponent/headerCouponApplied/HeaderCouponApplied.tsx","app/modules/payment/components/finishCheckoutRedesignComponent/headerProgressBar/HeaderProgressBar.tsx","app/modules/payment/pages/getStartedPage/GetStartedPage.tsx","app/modules/payment/components/consultationComponent/ConsultationComponent.styles.tsx","app/modules/payment/components/consultationComponent/ConsultationComponent.hooks.ts","app/modules/payment/components/consultationComponent/ConsultationComponent.tsx","app/modules/payment/stores/onboardingConfigurationStore/onboardingConfiguration.store.ts","app/modules/payment/stores/onboardingConfigurationStore/onboardingConfiguration.query.ts","app/modules/payment/services/onboarding.service.ts","app/modules/payment/pages/consultationPage/consultationPage.hooks.tsx","app/modules/payment/pages/consultationPage/ConsultationPage.styles.tsx","app/modules/payment/pages/consultationPage/ConsultationPage.tsx","app/modules/payment/components/paymentFormComponent/PaymentFormComponent.tsx","app/modules/payment/components/joinPracticeComponent/joinPracticeComponent.validator.ts","app/modules/payment/components/joinPracticeComponent/joinPracticeComponent.hooks.tsx","app/modules/payment/components/joinPracticeComponent/joinPracticeComponent.styles.tsx","app/modules/payment/components/joinPracticeComponent/JoinPracticeComponent.tsx","app/modules/payment/pages/joinPracticePage/JoinPracticePage.tsx","app/modules/payment/pages/joinPracticeSucceededPage/joinPracticeSucceededPage.styles.tsx","assets/img/icons/EnvelopeOpen.svg","app/modules/payment/pages/joinPracticeSucceededPage/JoinPracticeSucceededPage.tsx","app/modules/payment/pages/joinPracticeSucceededPage/joinPracticeSucceededPage.hooks.ts","assets/img/icons/Heartbeat.svg","assets/img/icons/VideoPlay.svg","assets/img/icons/EditIcon.svg","assets/img/icons/EmailSentIcon.svg","app/modules/payment/pages/paymentSucceededPage/paymentSucceededPage.styles.ts","app/constants/video.constants.ts","app/modules/payment/pages/paymentSucceededPage/PaymentSucceededPage.tsx","app/modules/payment/pages/paymentSucceededPage/paymentSucceededPage.hooks.tsx","app/modules/questionnaire/pages/intakeSpecialistQuestionnaireResultPage/IntakeSpecialistQuestionnaireResultPage.tsx","app/modules/questionnaire/pages/intakeSpecialistQuestionnaireResultPage/intakeSpecialistQuestionnaireResultPage.hooks.ts","app/modules/questionnaire/pages/patientHealthFormsPage/patientHealthFormsPage.styles.ts","app/modules/common/dialogs/healthFormModal/healthFormWelcome.styles.ts","app/modules/common/dialogs/healthFormModal/HealthFormWelcome.tsx","app/modules/questionnaire/pages/patientHealthFormsPage/PatientHealthFormsPage.tsx","app/modules/questionnaire/pages/patientHealthFormsPage/patientHealthFormsPage.hooks.ts","app/modules/questionnaire/pages/patientQuestionnairePage/patientQuestionnairePage.styles.ts","app/modules/questionnaire/pages/patientQuestionnairePage/PatientQuestionnairePage.tsx","app/modules/questionnaire/pages/patientQuestionnairePage/patientQuestionnairePage.hooks.ts","app/modules/questionnaire/pages/questionnaireCompletedPage/QuestionnaireCompletedPage.tsx","app/modules/questionnaire/pages/questionnaireCompletedPage/questionnaireCompletedPage.hooks.ts","app/modules/questionnaire/pages/startQuestionnairePage/StartQuestionnairePage.tsx","app/modules/questionnaire/pages/startQuestionnairePage/startQuestionnairePage.hooks.ts","app/modules/common/components/wildHealthButton/DiscardButton.tsx","app/modules/common/components/selectDataRangePopoverComponent/selectDataRangePopoverComponent.styles.ts","app/modules/common/components/selectDataRangePopoverComponent/SelectDataRangePopoverComponent.tsx","app/modules/inputs/components/labInputsGraphComponent/LabInputsGraphComponent.tsx","app/modules/inputs/helpers/render-lab-values-graph.tsx","app/modules/inputs/components/valuesDetailsComponent/ValuesDetails.style.ts","app/modules/inputs/components/valuesDetailsComponent/ValuesDetailsComponent.tsx","app/modules/inputs/components/valuesDetailsComponent/ValuesDetailsComponentForBloodPressure.tsx","app/modules/vital/components/vitalRowComponent/vitalRowComponent.styles.ts","app/modules/vital/components/vitalRowComponent/VitalRowComponent.tsx","app/modules/vital/helpers/calculate-bmi.ts","app/modules/vital/components/vitalsHistoryComponent/vitalsHistoryComponent.hooks.ts","app/modules/vital/components/vitalsHistoryComponent/vitalsHistoryComponent.styles.ts","app/modules/vital/components/vitalsHistoryComponent/VitalsHistoryComponent.tsx","app/modules/vital/components/vitalHistoryComponentMobile/vitalsHistoryComponentMobile.hooks.ts","app/modules/vital/components/vitalHistoryComponentMobile/vitalsHistoryComponentMobile.styles.ts","assets/img/icons/edit.svg","app/modules/notes/components/manageDraftNotes/manageDraftNotesComponent.hooks.ts","app/modules/vital/components/vitalHistoryComponentMobile/VitalsHistoryComponentMobile.tsx","app/modules/vital/pages/vitalsHistoryPage/VitalsHistoryPage.tsx","app/pages/privacyPolicyPage/PrivacyPolicyPage.tsx","app/pages/termsOfServicePage/TermsOfServicePage.tsx","app/modules/notes/pages/draftNotesPage/draftNotesPage.styles.ts","app/modules/common/components/wildHealthTrashIcon/WildHealthTrashIcon.tsx","app/modules/notes/components/manageDraftNotes/ManageDraftNotesComponent.tsx","app/modules/notes/pages/draftNotesPage/DraftNotesPage.tsx","app/modules/notes/pages/draftNotesPage/DraftNotesPage.hooks.ts","app/modules/awaitingApprovalPage/pages/awaitingApprovalPage.styles.ts","app/modules/awaitingApprovalPage/pages/AwaitingApprovalPage.tsx","app/modules/awaitingApprovalPage/pages/AwaitingApprovalPage.hooks.ts","app/modules/insurance/pages/InsurancePage/InsurancePage.tsx","app/modules/insurance/components/manageInsurancesComponent/manageInsurancesComponent.hooks.ts","app/modules/insurance/pages/InsurancePage/insurancePage.hooks.ts","app/modules/insurance/services/insuranceManagement.service.ts","app/modules/insurance/components/manageInsurancesComponent/manageInsurancesComponent.styles.ts","app/modules/insurance/components/insuranceConfigurationsComponent/insuranceConfigurationsComponent.hooks.ts","app/modules/insurance/components/manageInsurancesComponent/ManageInsurancesComponent.tsx","app/modules/insurance/pages/ManageInsurancesPage/ManageInsurancesPage.tsx","app/modules/insurance/components/insuranceConfigurationsComponent/insuranceConfigurationsComponent.styles.ts","app/modules/insurance/components/insuranceConfigurationsComponent/InsuranceConfigurationsComponent.tsx","app/modules/insurance/pages/InsuranceConfigurationsPage/InsuranceConfigurationsPage.tsx","app/modules/insurance/components/configurationEditComponent/configurationEditComponent.hooks.tsx","app/modules/insurance/components/configurationEditComponent/configurationEditComponent.styles.ts","app/modules/insurance/components/configurationEditComponent/ConfigurationEditComponent.tsx","app/modules/insurance/pages/InsuranceConfigurationEditPage/InsuranceConfigurationEditPage.tsx","app/modules/healthSummary/pages/PatientHealthSummaryPage.tsx","app/modules/notes/pages/historyAndPhysicalNotePage/HistoryAndPhysicalNotePage.tsx","app/modules/notes/pages/historyAndPhysicalFollowUpNotePage/HistoryAndPhysicalFollowUpNotePage.tsx","app/modules/notes/pages/soapNotePage/SoapNotePage.tsx","app/modules/notes/pages/createSoapNotePage/CreateSoapNotePage.tsx","app/modules/notes/pages/patientSoapNotePage/PatientSoapNotePage.tsx","app/modules/notes/pages/patientSoapNotePage/patientSoapNotePage.hooks.ts","app/modules/notes/pages/PatientHistoryAndPhysicalNotePage/PatientHistoryAndPhysicalNotePage.tsx","app/modules/notes/pages/PatientHistoryAndPhysicalNotePage/patientHistoryAndPhysicalNote.hooks.ts","app/modules/notes/pages/patientHistoryAndPhysicalFollowUpNotePage/PatientHistoryAndPhysicalFollowUpNotePage.tsx","app/modules/notes/pages/patientHistoryAndPhysicalFollowUpNotePage/patientHistoryAndPhysicalFollowUpNote.hooks.ts","app/modules/northPassAcademy/pages/patientNorthPassAcademyPage/PatientNorthPassAcademyPage.tsx","app/modules/payment/components/reselectPaymentPlanComponent/reselectPaymentPlanComponent.styles.tsx","app/modules/payment/components/reselectPaymentPlanCardComponent/reselectPaymentPlanCardComponent.styles.ts","app/modules/payment/components/reselectPaymentPlanCardComponent/ReselectPaymentPlanCardComponent.tsx","app/modules/payment/components/reselectPaymentPlanComponent/ReselectPaymentPlanComponent.tsx","app/modules/payment/pages/accountMembershipActivationPage/AccountMembershipActivationPage.tsx","app/modules/notes/components/SignOffNotesReviewComponent/SignOffNotesReviewComponent.hooks.ts","app/modules/payment/pages/accountMembershipActivationPage/AccountMembershipActivationPage.hooks.tsx","app/modules/notes/constants/noteTypeNames.ts","assets/img/icons/sort.svg","app/modules/notes/components/additionalNoteComponent/AdditionalNoteComponent.styles.ts","app/modules/notes/components/additionalNoteComponent/AdditionalNoteComponent.tsx","app/modules/notes/components/SignOffNotesRequestsComponent/SignOffNotesRequestsComponent.hooks.ts","app/modules/notes/constants/reviewableNoteTypes.ts","app/modules/notes/components/SignOffNotesReviewComponent/SignOffNotesReviewComponent.tsx","app/modules/notes/components/SignOffNotesRequestsComponent/SignOffNotesRequestsComponent.tsx","app/modules/notes/pages/signOffNotesPage/signOffNotesPage.tsx","app/modules/notes/pages/signOffNotesPage/signOffNotesPage.hooks.tsx","app/modules/notes/pages/PatientHistoryAndPhysicalGroupVisitNotePage/PatientHistoryAndPhysicalGroupVisitNotePage.tsx","app/modules/notes/pages/PatientHistoryAndPhysicalGroupVisitNotePage/patientHistoryAndPhysicalGroupVisitNote.hooks.ts","app/modules/notes/pages/patientInitialConsult/New/PatientInitialConsultPageNew.tsx","app/modules/notes/pages/patientInitialConsult/New/patientInitialConsultPage.hooks.ts","app/modules/notes/pages/patientInitialConsult/Old/PatientInitialConsultPageOld.tsx","app/modules/conversations/models/message.models.ts","app/modules/notes/pages/patientInitialConsult/Old/patientInitialConsultPageOld.hooks.ts","app/modules/notes/pages/patientInitialConsult/PatientInitialConsultPageBasic.tsx","app/modules/notes/pages/patientInitialConsult/patientInitialConsultPageBasic.hooks.ts","app/modules/notes/pages/patientNotePage/PatientNotePage.tsx","app/modules/notes/pages/historyAndPhysicalGroupVisitNotePage/HistoryAndPhysicalGroupVisitNotePage.tsx","app/modules/notes/pages/SignOffNotePage/SignOffNotePage.tsx","app/modules/conversations/components/manageMessagingComponent/manageMessagingComponent.hooks.ts","app/modules/conversations/components/manageMessagingComponent/manageMessagingComponent.styles.ts","app/modules/conversations/components/manageMessagingComponent/ManageMessagingComponent.tsx","app/modules/conversations/pages/manageMessagesPage/ManageMessagesPage.tsx","app/modules/conversations/components/messageForwardingComponent/MessageForwardingComponent.tsx","app/modules/conversations/components/messageForwardingComponent/messageForwardingComponent.hooks.ts","app/modules/conversations/pages/messageForwardingPage/MessageForwardingPage.tsx","app/modules/insurance/components/patientResponsibilityComponent/patientResponsibilityComponent.validator.ts","app/modules/insurance/components/patientResponsibilityComponent/patientResponsibilityComponent.styles.ts","app/modules/insurance/components/patientResponsibilityComponent/PatientResponsibilityComponent.tsx","app/modules/insurance/components/patientResponsibilityComponent/patientResponsibilityComponent.hooks.ts","app/modules/insurance/pages/PatientResponsibilityPage/PatientResponsibilityPage.tsx","app/modules/employee/components/alertsHistoryComponent/AlertsHistoryComponent.tsx","app/modules/employee/components/alertsHistoryComponent/alertsHistoryComponent.hooks.ts","app/modules/conversations/pages/alertsHistoryPage/AlertsHistoryPage.tsx","app/modules/healthPlan/pages/PatientHealthPlanPage.tsx","app/modules/unmatchedLabs/components/unmatchedLabsComponent/unmatchedLabsComponent.hooks.tsx","app/modules/unmatchedLabs/components/unmatchedLabsComponent/unmatchedLabsComponent.styles.ts","app/modules/unmatchedLabs/components/assignLabsDialogComponent/assignLabsDialogComponent.hooks.ts","app/modules/unmatchedLabs/components/assignLabsDialogComponent/AssignLabsDialogComponent.tsx","app/modules/orders/components/dnaOrderDropshipComponent/dnaOrderDropshipComponent.hooks.ts","app/modules/unmatchedLabs/components/labFileViewDialogComponent/LabFileViewDialogComponent.tsx","app/modules/unmatchedLabs/components/unmatchedLabsComponent/UnmatchedLabsComponent.tsx","app/modules/unmatchedLabs/pages/unmatchedLabsPage/UnmatchedLabsPage.tsx","app/modules/orders/components/dnaOrderDropshipComponent/updateDnaOrder.validator.ts","app/modules/orders/components/dnaOrderDropshipComponent/dnaOrderDropshipComponent.styles.ts","app/modules/orders/components/dnaOrderDropshipComponent/DnaOrderDropshipComponent.tsx","app/modules/orders/pages/dnaOrderDropshipPage/DnaOrderDropshipPage.tsx","app/modules/healthReport/stores/healthReportTemplatesStore/healthReportTemplates.store.ts","app/modules/healthReport/components/healthReportTemplatesComponent/healthReportTemplatesComponent.hooks.tsx","app/modules/healthReport/stores/healthReportTemplatesStore/healthReportTemplates.query.ts","app/modules/healthReport/services/healthReportTemplates.service.ts","app/modules/healthReport/components/healthReportTemplatesComponent/modifyReportTemplate.validator.ts","app/modules/healthReport/components/healthReportTemplatesComponent/healthReportTemplatesComponent.styles.ts","app/modules/employee/components/manageCommonGoalsComponent/manageCommonGoalsComponent.hooks.ts","app/modules/healthReport/components/healthReportTemplatesComponent/HealthReportTemplatesComponent.tsx","app/modules/healthReport/pages/HealthReportTemplatesPage/HealthReportTemplatesPage.tsx","app/modules/employee/components/manageCommonGoalsComponent/createCommonGoal.validator.ts","app/modules/employee/components/manageCommonGoalsComponent/manageCommonGoalsComponent.styles.ts","app/modules/employee/components/manageCommonMdmsComponent/manageCommonMdmsComponent.hooks.ts","app/modules/employee/components/manageCommonGoalsComponent/ManageCommonGoalsComponent.tsx","app/modules/employee/pages/manageCommonGoalsPage/ManageCommonGoalsPage.tsx","app/modules/employee/components/manageCommonMdmsComponent/createCommonMdm.validator.ts","app/modules/employee/components/manageCommonMdmsComponent/manageCommonMdmsComponent.styles.ts","app/modules/employee/components/manageCommonMdmsComponent/ManageCommonMdmsComponent.tsx","app/modules/employee/pages/manageCommonMdmPage/ManageCommonMdmsPage.tsx","app/modules/employee/components/commonGoalEditComponent/commonGoalEditComponent.hooks.ts","app/modules/employee/components/commonGoalEditComponent/commonGoalEditComponent.styles.ts","app/modules/employee/components/commonGoalEditComponent/CommonGoalEditComponent.tsx","app/modules/employee/pages/manageCommonGoalEditPage/ManageCommonGoalEditPage.tsx","app/modules/employee/components/commonMdmPlanEditComponent/commonMdmPlanEditComponent.hooks.ts","app/modules/employee/components/commonMdmPlanEditComponent/commonMdmPlanEditComponent.styles.ts","app/modules/employee/components/manageCommonSupplementsComponent/manageCommonSupplementsComponent.hooks.ts","app/modules/employee/components/commonMdmPlanEditComponent/CommonMdmPlanEditComponent.tsx","app/modules/employee/pages/manageCommonMdmEditPage/ManageCommonMdmEditPage.tsx","app/modules/employee/components/manageCommonSupplementsComponent/createCommonSupplement.validator.ts","app/modules/employee/components/manageCommonSupplementsComponent/manageCommonSupplementsComponent.styles.ts","app/modules/employee/components/manageCommonOrdersComponent/manageCommonOrdersComponent.hooks.ts","app/modules/employee/components/manageCommonSupplementsComponent/ManageCommonSupplementsComponent.tsx","app/modules/employee/pages/manageCommonSupplementsPage/ManageCommonSupplementsPage.tsx","app/modules/employee/components/manageCommonOrdersComponent/createCommonOrder.validator.ts","app/modules/employee/components/manageCommonOrdersComponent/manageCommonOrdersComponent.styles.ts","app/modules/recommendations/models/recommendations.model.ts","app/modules/employee/components/manageCommonOrdersComponent/ManageCommonOrdersComponent.tsx","app/modules/employee/pages/manageCommonOrdersPage/ManageCommonOrdersPage.tsx","app/modules/recommendations/components/createRecommendationDialog/createRecommendation.validator.ts","app/modules/recommendations/components/createRecommendationTriggerDialog/createRecommendationTrigger.validator.ts","app/modules/recommendations/components/manageRecommendationsComponent/manageRecommendationsComponent.hooks.ts","app/modules/recommendations/components/manageRecommendationsComponent/manageRecommendationsComponent.styles.ts","app/modules/employee/components/opsAdminToolsComponent/opsAdminToolsCompnent.hooks.ts","app/modules/recommendations/components/createRecommendationDialog/CreateRecommendationDialog.tsx","app/modules/recommendations/components/createRecommendationTriggerDialog/CreateRecommendationTriggerDialog.tsx","app/modules/recommendations/components/manageRecommendationsComponent/ManageRecommendationsComponent.tsx","app/modules/recommendations/pages/manageRecommendationsPage/ManageRecommendationsPage.tsx","app/modules/orders/pages/referralOrderPage/ReferralOrderPage.tsx","app/modules/orders/pages/otherOrderPage/OtherOrderPage.tsx","app/modules/employee/components/opsAdminToolsComponent/opsAdminToolsComponent.validator.ts","app/modules/employee/components/opsAdminToolsComponent/opsAdminToolsComponent.styles.ts","app/modules/employee/components/opsAdminToolsComponent/components/ChangeSubscriptionComponent.tsx","assets/img/icons/LockRed.svg","app/modules/employee/components/opsAdminToolsComponent/components/BuyProductsComponent.tsx","app/modules/employee/components/opsAdminToolsComponent/OpsAdminToolsComponent.tsx","app/modules/employee/pages/opsAdminToolsPage/OpsAdminToolsPage.tsx","app/modules/patients/components/PatientTodoTasksComponent/patientTodoTasksComponent.styles.ts","app/modules/patients/components/PatientTodoTasksComponent/PatientTodoTasksComponent.tsx","app/modules/patients/components/PatientTodoTasksComponent/patientTodoTasksComponent.hooks.ts","app/modules/patients/components/PatientCompletedTasksComponent/patientCompletedTasksComponent.styles.ts","assets/img/icons/DownloadPrimary.svg","app/modules/patients/components/PatientCompletedTasksComponent/PatientCompletedTasksComponent.tsx","app/modules/patients/components/PatientCompletedTasksComponent/patientCompletedTasksComponent.hooks.ts","app/modules/patients/components/PatientRewardTasksComponent/PatientRewardTasksComponent.styles.ts","app/modules/kbDocuments/models/documentSource.model.ts","app/modules/patients/components/PatientRewardTasksComponent/PatientRewardTasksComponent.tsx","app/modules/patients/components/PatientRewardTasksComponent/patientRewardTasksComponent.hooks.ts","app/modules/patients/components/PatientJourneyTasksComponent/PatientJourneyTasksComponent.tsx","app/modules/patients/components/PatientJourneyTasksComponent/patientJourneyTasksComponent.hooks.ts","app/modules/patients/pages/myTasksPage/MyTasksPage.tsx","app/modules/kbDocuments/services/kbDocuments.service.ts","app/modules/kbDocuments/components/documentSources/DocumentSourcesComponent.tsx","app/modules/kbDocuments/components/documentSources/documentSourcesComponent.hooks.ts","app/modules/kbDocuments/components/uploadDocumentSourceDialog/uploadDocumentSource.validator.ts","app/modules/kbDocuments/components/uploadDocumentSourceDialog/uploadDocumentSourceDialog.hooks.ts","app/modules/kbDocuments/components/uploadDocumentSourceDialog/uploadDocumentSourceDialog.styles.ts","app/modules/kbDocuments/components/uploadDocumentSourceDialog/DescriptionComponentForTag.tsx","app/modules/kbDocuments/components/uploadDocumentSourceDialog/UploadDocumentSourceDialog.tsx","app/modules/kbDocuments/components/updateDocumentSourceDialog/updateDocumentSourceDialog.hooks.tsx","app/modules/kbDocuments/components/updateDocumentSourceDialog/UpdateDocumentSourceDialog.tsx","app/modules/kbDocuments/pages/manageKbDocumentsPage/ManageKbDocumentsPage.tsx","app/modules/auth/pages/auth2CodePage/Auth2CodePage.tsx","app/modules/auth/pages/auth2CodePage/auth2CodePage.hooks.tsx","app/modules/auth/helpers/auth2UrlBuilder.ts","app/modules/auth/pages/auth2LoginPage/auth2LoginPage.hooks.ts","app/modules/auth/pages/auth2LoginPage/Auth2LoginPage.tsx","app/modules/conversations/components/genericPlaygroundComponent/genericPlaygroundComponent.hooks.ts","app/modules/conversations/components/genericPlaygroundComponent/genericPlaygroundComponent.styles.ts","app/modules/conversations/components/startGenericPlaygroundComponent/StartGenericPlaygroundComponent.tsx","app/modules/conversations/components/conversationTemplatesComponent/conversationTemplatesComponent.hooks.ts","app/modules/conversations/components/startGenericPlaygroundComponent/startGenericPlaygroundComponent.hooks.ts","app/modules/conversations/components/genericPlaygroundComponent/GenericPlaygroundComponent.tsx","app/modules/conversations/pages/genericPlaygroundPage/GenericPlaygroundPage.tsx","app/modules/conversations/components/conversationTemplatesComponent/modifyConversationTemplate.validator.ts","app/modules/conversations/components/conversationTemplatesComponent/conversationTemplatesComponent.styles.ts","app/modules/payment/components/finishCheckoutPreauthorizeComponent/finishCheckoutPreauthorizeComponent.hooks.tsx","app/modules/conversations/components/conversationTemplatesComponent/ConversationTemplatesComponent.tsx","app/modules/conversations/pages/manageConversationTemplatePage/ManageConversationTemplatesPage.tsx","app/modules/payment/pages/preauthorizeSignUpPage/preauthorizeSignUpPage.styles.ts","app/modules/payment/components/finishCheckoutPreauthorizeComponent/finishCheckoutPreauthorizeComponent.validator.ts","app/modules/payment/components/finishCheckoutPreauthorizeComponent/finishCheckoutPreauthorizeComponent.styles.ts","app/modules/payment/components/finishCheckoutPreauthorizeComponent/FinishCheckoutPreauthorizeComponent.tsx","app/modules/payment/services/preauthorizeRequest.service.ts","app/modules/payment/pages/preauthorizeSignUpPage/PreauthorizeSignUpPage.tsx","app/modules/payment/pages/preauthorizeSignUpPage/preauthorizeSignUpPage.hooks.tsx","app/modules/auth/pages/thirdPartyIntegrationCodePage/ThirdPartyIntegrationCodePage.tsx","app/modules/auth/pages/thirdPartyIntegrationCodePage/thirdPartyIntegrationCodePage.hooks.tsx","app/modules/auth/pages/thirdPartyIntegrationLoginPage/thirdPartyIntegrationLoginPage.hooks.ts","app/modules/auth/pages/thirdPartyIntegrationLoginPage/ThirdPartyIntegrationLoginPage.tsx","app/modules/employee/components/manageEmployersProfileComponent/addEmployerProfile.validator.ts","app/modules/employee/components/manageEmployersProfileComponent/manageEmployersProfileComponent.hooks.ts","app/modules/employee/components/manageEmployersProfileComponent/manageEmployersProfileComponent.styles.ts","app/modules/employee/components/manageEmployersProfileComponent/ManageEmployersProfileComponent.tsx","app/modules/employee/pages/manageEmployersProfilePage/ManageEmployersProfilePage.tsx","app/modules/employee/components/manageEmployersProfileComponent/components/managePreauthorizedEmployeesComponent/updatePreauthorizedEmployee.validator.ts","app/modules/employee/components/manageEmployersProfileComponent/components/managePreauthorizedEmployeesComponent/managePreauthorizedEmployeesComponent.styles.ts","app/modules/employee/components/manageEmployersProfileComponent/components/addEmployeesButtonComponent/addEmployeesButtonComponent.validator.ts","app/modules/employee/components/manageEmployersProfileComponent/components/addEmployeesButtonComponent/addEmployeesButtonComponent.hooks.ts","app/modules/employee/components/manageEmployersProfileComponent/components/addEmployeesButtonComponent/addEmployeesButtonComponent.styles.ts","assets/img/icons/Link.svg","app/modules/employee/components/manageEmployersProfileComponent/components/addEmployeesButtonComponent/AddEmployeesButtonComponent.tsx","app/modules/employee/components/manageEmployersProfileComponent/components/sendSignUpButtonComponent/sendSignUpButtonComponent.styles.ts","app/modules/employee/components/manageEmployersProfileComponent/components/sendSignUpButtonComponent/SendSignUpButtonComponent.tsx","app/modules/employee/components/manageEmployersProfileComponent/components/sendSignUpButtonComponent/sendSignUpButtonComponent.hooks.ts","app/modules/employee/components/manageEmployersProfileComponent/components/managePreauthorizedEmployeesComponent/ManagePreauthorizedEmployeesComponent.tsx","app/modules/employee/components/manageEmployersProfileComponent/components/managePreauthorizedEmployeesComponent/managePreauthorizedEmployeesComponent.hooks.ts","app/modules/employee/pages/employerProfileDetailPage/EmployerProfileDetailPage.tsx","app/modules/employee/pages/employerProfileDetailPage/employerProfileDetailPage.hooks.ts","app/modules/auth/pages/loginRxNTPage/LoginRxNTPage.tsx","app/modules/auth/pages/loginRxNTPage/loginRxNTPage.hooks.ts","app/services/route.service.tsx","app/modules/common/components/errorBoundaryComponent/ErrorBoundaryComponent.styles.ts","app/modules/common/components/errorBoundaryComponent/ErrorBoundaryComponent.tsx","app/pages/common/errorBoundaryPage/ErrorBoundaryPage.tsx","app/modules/common/dialogs/confirmAndSelectedDialog/confirmAndSelectedDialog.hooks.ts","app/modules/common/dialogs/confirmAndSelectedDialog/ConfirmAndSelectedDialog.tsx","app/modules/conversations/components/stickyChatContainerComponent/stickyChatContainerComponent.hooks.ts","app/modules/conversations/components/stickyChatContainerComponent/stickyChatContainerComponent.style.ts","app/modules/conversations/components/stickyChatComponent/stickyChatComponent.hooks.ts","app/modules/conversations/components/sendMessageCompactComponent/SendMessageCompactComponent.tsx","app/modules/conversations/components/stickyChatComponent/stickyChatComponent.style.ts","app/modules/conversations/components/stickyChatComponent/StickyChatComponent.tsx","app/modules/conversations/components/messageComponent/MessageComponentViewForAiDemo.tsx","app/modules/conversations/components/threadComponent/ThreadComponentForAiDemo.tsx","app/modules/conversations/components/stickyChatComponent/StickyChatComponentForAiDemo.tsx","app/modules/conversations/components/attachmentsDialog/attachmentsDialogComponent.hooks.ts","app/modules/conversations/components/sliderDialog/SliderDialogComponent.tsx","app/modules/conversations/components/attachmentsDialog/AttachmentsDialogComponent.tsx","app/modules/conversations/components/scheduledMessagesDialog/ScheduledMessagesDialogComponent.tsx","app/modules/conversations/components/activeUsersDialog/ActiveUsersDialogComponent.tsx","app/modules/conversations/components/stickyChatContainerComponent/StickyChatContainerComponent.tsx","app/modules/conversations/components/loadConversationStoreComponent/loadConversationStoreComponent.hooks.tsx","app/modules/conversations/components/loadConversationStoreComponent/LoadConversationStoreComponent.tsx","app/modules/widgets/components/healthPlanWidgetComponent/healthGoalDialogComponent/healthGoalDialogComponent.hooks.ts","app/modules/widgets/components/healthPlanWidgetComponent/healthGoalDialogComponent/healthGoalDialogComponent.styles.ts","app/modules/widgets/components/healthPlanWidgetComponent/healthGoalDialogComponent/HealthGoalDialogComponent.tsx","app/modules/common/dialogs/confirmAndSelectedOneDialog/confirmAndSelectedOneDialog.hooks.ts","app/modules/common/dialogs/confirmAndSelectedOneDialog/ConfirmAndSelectedOneDialog.tsx","app/modules/common/dialogs/alertDialog/alertDialog.styles.ts","app/modules/common/dialogs/alertDialog/AlertDialog.tsx","app/modules/common/dialogs/alertDialog/alertDialog.hooks.ts","app/modules/payment/components/standardUpsellDialog/standardUpsellDialog.styles.ts","app/modules/payment/components/standardUpsellDialog/standardUpsellDialog.hooks.ts","app/modules/payment/components/standardUpsellDialog/StandardUpsellRequestDialog.tsx","app/modules/payment/components/standardUpsellDialog/StandardUpsellRequestReceivedDialog.tsx","app/App.tsx","app/modules/auth/helpers/refreshHelper.ts","serviceWorker.ts","app/styles/global.styles.ts","index.tsx","app/modules/common/constants/data-specifications.ts","app/modules/auth/stores/auth/index.ts","app/modules/patientSupplements/services/medications.service.ts","app/modules/orders/services/labOrders.service.ts","app/modules/locations/helpers/displayLocation.ts","app/services/navigation.service.ts","assets/img/icons/CalendarIcon.svg","app/modules/payment/stores/subscriptionStore/subscriptionStore.ts","app/modules/payment/stores/subscriptionStore/subscriptionQuery.ts","app/stores/applicationStore/application.store.ts","app/stores/applicationStore/application.query.ts","app/modules/common/helpers/auth-header.ts","app/modules/appointments/stores/availability/availability.query.ts","app/modules/appointments/components/coachCreateAppoinmentDialog/coachAppointment.validator.ts","app/modules/patientSupplements/services/patientMedications.service.ts","assets/img/icons/cancel.svg","app/modules/common/constants/colors.ts","app/modules/common/styles/common.styles.ts","app/services/account.service.ts","app/services/users.service.ts","app/modules/common/components/wildHealthButton/SecondaryButton.tsx","app/constants/notification.contants.ts","app/modules/notifications/services/notifications.service.ts","assets/img/placeholders/EmptyReport.png","app/modules/patientSupplements/services/prescription.service.ts","app/modules/common/helpers/display-date.ts","app/modules/payment/stores/paymentStore/payment.store.ts","app/modules/payment/stores/paymentStore/payment.query.ts","app/modules/patientSupplements/services/patientAllergiesService.ts","app/modules/appointments/constants/appointment.constants.ts","app/modules/patientSupplements/stores/patientSupplementsStore/patientSupplements.store.ts","app/modules/common/components/WildHealthLinearProgress.tsx","app/modules/conversations/services/conversationsView.service.ts","app/modules/patientSupplements/stores/patientMedicationsStore/patientMedications.store.ts","app/modules/timezones/services/timezones.service.ts","assets/img/icons/warning.svg","app/modules/unmatchedLabs/models/unmatchedLabs.models.ts","app/modules/orders/stores/labOrdersStore/labOrders.store.ts","app/modules/orders/stores/labOrdersStore/labOrders.query.ts","app/constants/route.constants.ts","app/modules/patientSupplements/stores/patientAllergyStore/patientAllergies.store.ts","app/modules/orders/services/otherOrders.service.ts","app/modules/orders/services/referralOrders.service.ts","app/models/menu.models.ts","app/modules/patients/helpers/taskCtaHandler.ts","app/modules/patients/stores/patientsStore/patients.query.ts","app/modules/insurance/stores/insurance.store.ts","app/modules/appointments/stores/availability/availability.store.ts","app/services/application.service.ts","app/modules/products/services/patientProducts.service.ts","app/modules/common/validation/general-validator.ts","app/modules/conversations/components/patientConversationsViewComponent/patientConversationsViewComponent.hooks.ts","app/modules/appointments/services/availability.service.ts","assets/img/icons/information.svg","app/modules/appointments/models/appointments.enums.tsx","app/modules/appointments/components/selectDateTime/SelectDateTimeComponent.styles.tsx","app/modules/appointments/components/selectDateTime/SelectDateTimeComponent.tsx","app/modules/appointments/components/selectDateTime/SelectDateTimeComponent.hook.tsx","app/modules/common/components/featureFlags/featureFlags.models.ts","app/modules/common/components/WildHealthTooltip.tsx","app/constants/pagesNames.constants.ts","app/modules/common/components/wildHealthTable/WildHealthTableRow.tsx","app/modules/tracking/tracker.tsx","app/modules/orders/stores/ordersStore/orders.query.ts","app/modules/patientSupplements/services/allergies.service.ts","app/constants/title.constants.ts","app/modules/products/stores/productsStore/products.store.ts","app/modules/appointments/components/appointmentReason/AppointmentReasonComponent.tsx","app/modules/patientSupplements/constants/medicationsAndSupplementsContants.ts","app/modules/orders/stores/ordersStore/orders.store.ts","assets/img/icons/Trash.svg","app/modules/appointments/components/createPatinentAppointmentForm/CreatePatientAppointmentFormComponent.validator.ts","webpack:///./src/assets/img/icons/monthlyCalendar.svg?6fbe","app/modules/appointments/components/createPatinentAppointmentForm/CreatePatientAppointmentFormComponent.styles.tsx","app/modules/appointments/components/selectAppointmentPurpose/SelectAppointmentPurposeComponent.tsx","app/modules/appointments/components/selectProvider/SelectProviderComponent.styles.ts","app/modules/appointments/components/providerInfo/ProviderInfoComponent.styles.ts","app/modules/common/helpers/getPhotoSrc.ts","app/modules/appointments/components/providerInfo/ProviderInfoComponent.tsx","app/modules/appointments/components/selectProvider/SelectProviderComponent.tsx","app/modules/appointments/components/createPatinentAppointmentForm/CreatePatientAppointmentFormComponent.tsx","app/modules/appointments/components/createPatinentAppointmentForm/CreatePatientAppointmentFormComponent.hooks.ts","app/modules/appointments/components/patientRescheduleAppointmentDialog/patientRescheduleAppointmentDialogComponent.hooks.ts","app/modules/appointments/components/patientRescheduleAppointmentDialog/PatientRescheduleAppointmentDialogComponent.styles.ts","app/modules/appointments/components/patientRescheduleAppointmentDialog/PatientRescheduleAppointmentDialogComponent.tsx","app/modules/notifications/components/notificationComponent/notificationsButtonComponent.styles.ts","app/modules/notifications/components/notificationComponent/NotificationsButtonComponent.tsx","app/modules/payment/services/agreements.service.ts","app/modules/products/stores/productsStore/index.ts","app/modules/healthSummary/services/healthSummaryVitals.service.ts","app/modules/appointments/components/selectEmployee/SelectEmployeeComponent.tsx","assets/img/placeholders/EmptyAppointments.png","app/modules/common/sorting/models/sorting-destination.ts","app/modules/appointments/components/selectAppointmentWithType/SelectAppointmentWithTypeComponent.tsx","assets/img/icons/monthlyCalendar.svg","assets/img/icons/timeCircle.svg","app/modules/timezones/constants/timezone.constants.ts","app/modules/timezones/helpers/timezone.ts","app/modules/payment/stores/agreementsStore/agreements.store.ts","app/modules/payment/stores/agreementsStore/agreements.query.ts","app/components/footerComponent/footerComponent.styles.ts","app/components/footerComponent/FooterComponent.tsx","app/modules/common/components/wildHealthSaveClickableElement/WildHealthSaveClickableElement.tsx","app/modules/common/components/wildHealthSaveClickableElement/wildHealthSaveClickableElement.hooks.ts","app/modules/patients/stores/patientsStore/index.ts","app/modules/common/models/user.models.ts","app/modules/common/components/ProtectedElement.tsx","app/modules/auth/stores/auth/auth.query.ts","app/modules/products/stores/productsStore/products.query.ts","assets/img/icons/ReferralLanding.svg","app/modules/account/components/profileComponent/ProfileComponent.tsx","app/modules/account/components/profileComponent/profileComponent.hooks.ts","app/components/authenticatedHeaderComponent/authenticatedHeaderComponent.styles.ts","app/components/mobileNavigationComponent/mobileNavigationComponent.styles.ts","app/components/iconComponent/ReferralLandingIcon.tsx","app/components/mobileNavigationComponent/ReferralNavigationComponent.tsx","app/components/authenticatedHeaderComponent/AuthenticatedHeaderComponent.tsx","app/modules/account/components/profileRedesignComponent/ProfileComponent.tsx","app/modules/account/components/profileRedesignComponent/profileComponent.hooks.ts","app/modules/patients/components/SearchPatientComponent/SearchPatientComponent.styles.ts","app/modules/patients/components/SearchPatientComponent/SearchPatientComponent.tsx","app/components/authenticatedHeaderNavbarComponent/authenticatedHeaderNavbarComponent.styles.ts","app/components/authenticatedHeaderNavbarComponent/authenticatedHeaderNavbarComponent.hooks.tsx","app/modules/conversations/components/playgroundButton/PlaygroundButton.tsx","app/components/authenticatedHeaderNavbarComponent/AuthenticatedHeaderNavbarComponent.tsx","app/components/mobileNavigationComponent/mobileNavigationComponent.hooks.tsx","app/components/iconComponent/SignOutIcon.tsx","app/components/mobileNavigationComponent/MobileNavigationComponent.tsx","app/components/authenticatedMobileHeaderComponent/authenticatedMobileHeaderComponent.styles.ts","app/components/authenticatedMobileHeaderComponent/AuthenticatedMobileHeaderComponent.tsx","app/components/sideBarComponent/sideBarComponent.hooks.tsx","app/components/sideBarComponent/sideBarComponent.styles.ts","app/components/sideBarComponent/SideBarComponent.tsx","app/components/authenticatedLayoutComponent/authenticatedLayoutComponent.styles.ts","app/components/authenticatedLayoutComponent/AuthenticatedLayoutComponent.tsx","app/components/authenticatedLayoutComponent/authenticatedLayoutComponent.hooks.ts","assets/img/icons/MedicalHistory.svg","assets/img/icons/LabsIcon.svg","app/modules/appointments/components/selectLocation/SelectLocationComponent.tsx","app/modules/common/components/featureFlags/FeatureComponent.tsx","assets/img/icons/welcome.svg","app/modules/common/sorting/helpers/object-comparer.ts","app/modules/healthSummary/services/healthSummaryMedications.service.ts","assets/img/TaskBgRegularHC.png","app/services/confirm.service.ts","app/modules/common/components/wildHealthPlaceHolder/WildHealthPlaceHolder.tsx","app/modules/conversations/models/conversation.models.ts","app/modules/patients/services/patients.service.ts","app/modules/patientSupplements/models/patientMedicationModel.ts","app/modules/products/services/products.service.ts","app/modules/patientSupplements/models/patientAllergiesModel.ts","app/modules/common/components/wildHealthButton/AccentButton.tsx","app/modules/employee/models/employee.enums.ts","assets/img/TaskBgRegularPV.png","app/modules/common/pagination/models/page-sizes.ts","app/modules/notes/stores/notes/notes.store.ts","app/modules/notes/stores/notes/notes.query.ts","app/modules/common/constants/roles.ts","app/modules/orders/models/orders.models.ts","app/modules/auth/stores/auth/auth.store.ts","app/modules/conversations/services/conversations.service.ts","app/modules/patients/stores/patientsStore/patients.store.ts","app/modules/employee/stores/employeesStore/employeesQuery.ts","app/modules/employee/stores/employeesStore/employeesStore.ts","app/modules/employee/components/dashboardWidget/appointmentWidgetComponent/AppointmentTags/AppointmentTags.tsx","app/modules/appointments/components/editAppointmentDialog/EditAppointmentDialogComponent.styles.ts","app/modules/appointments/components/editAppointmentDialog/editAppointmentDialogComponent.validator.ts","app/modules/appointments/components/editAppointmentDialog/EditAppointmentDialogComponent.tsx","app/modules/appointments/components/editAppointmentDialog/editAppointmentDialogComponent.hooks.ts","app/modules/employee/components/patientInfoTooltipComponent/patientInfoTooltipComponent.styles.ts","app/modules/employee/components/patientInfoTooltipComponent/PatientInfoTooltipComponent.tsx","app/modules/employee/components/patientInfoTooltipComponent/patientInfoTooltipComponent.hooks.ts","app/modules/common/components/wildHealthButton/wildHealthButton.styles.ts","assets/img/icons/HealthReport.svg","app/modules/notifications/components/notificationComponent/NotificationsButtonComponent.hooks.tsx","assets/img/icons/PlaygroundIcon.svg","assets/img/icons/Menu.svg","assets/img/icons/BellIcon.svg","app/modules/appointments/components/appointmentComment/AppointmentCommentComponent.tsx","app/modules/appointments/components/selectTimezone/SelectTimezoneComponent.tsx","webpack:///./src/assets/img/icons/timeCircle.svg?208c","app/modules/healthSummary/services/HealthSummaryRxntAllergiesService.ts","app/modules/healthSummary/services/healthSummaryRxntMedicationsService.ts","app/modules/common/validation/general-validation-rules.ts","app/modules/appointments/components/createPatientAppointmentUpdatedDialog/CreatePatientAppointmentDialogComponent.styles.ts","app/modules/appointments/components/createPatientAppointmentUpdatedDialog/createPatientAppointmentDialogComponent.hook.ts","app/modules/appointments/components/createPatientAppointmentUpdatedDialog/CreatePatientAppointmentDialogRedesignComponent.tsx","assets/img/icons/chartView.svg","assets/img/icons/valuesView.svg","assets/img/getStarted/Together.png","assets/img/getStarted/SandraAvatar.png","app/modules/conversations/helpers/pdfExporter/conversations/ConversationPdfDocument.ts","app/modules/conversations/helpers/pdfExporter/appointments/AppointmentsPdfDocument.ts","app/modules/conversations/helpers/pdfExporter/PdfServices.ts","app/modules/common/components/featureFlags/featureFlags.ts","app/modules/widgets/components/standardUpsellWidgetCompoent/standardUpsellWidgetComponent.styles.ts","app/modules/widgets/components/standardUpsellWidgetCompoent/StandardUpsellWidgetComponent.tsx","app/modules/widgets/components/standardUpsellWidgetCompoent/standardUpsellWidgetComponent.hooks.ts","assets/img/TaskBgFirstHC.png","assets/img/TaskBgFirstPV.png","app/modules/appointments/constants/appointmentColors.ts","app/modules/conversations/stores/employeeConversationsStore/employeeConversations.query.ts","app/modules/appointments/services/appointments.service.ts","app/modules/employee/services/employees.service.ts","app/modules/common/components/wildHealthMenu/WildHealthMenu.tsx","app/modules/conversations/stores/employeeConversationsStore/employeeConversations.store.ts","app/modules/common/components/WildHealthLinkButton.tsx","assets/img/icons/location.svg","assets/img/HealthReport_Pg20_Brain.png","assets/img/HealthReport_Pg20_Insulin.png","app/modules/common/sorting/helpers/handle-compare.ts","assets/img/HealthReport_Pg22_Inflammation.png","assets/img/HealthReport_Pg5_Diagram.png","assets/img/HealthReport_Pg15_Image.png","assets/img/icons/time.svg","assets/img/referralLanding/share_gift.png","app/modules/auth/services/auth.service.ts","app/modules/common/components/dialogTitle/DialogTitle.tsx","assets/img/icons/Conversations.svg","app/modules/common/snack/state/snack.models.ts","app/modules/common/snack/state/snack.store.ts","app/modules/common/snack/state/snack.query.ts","app/modules/common/constants/httpStatusCode.ts","app/modules/common/snack/state/snack.service.ts","app/modules/common/snack/state/snack.hooks.ts","app/modules/patients/models/patient.model.ts","app/modules/account/stores/profileStore/profile.store.ts","app/modules/account/stores/profileStore/profile.query.ts","app/config.ts","assets/img/icons/ForwardIcon.svg","app/modules/notifications/models/notifications.models.ts","app/modules/notes/components/textMarkdownComponent/textMarkdownComponent.styles.tsx","app/modules/common/helpers/display-text-with-link.tsx","app/modules/notes/components/textMarkdownComponent/TextMarkdownComponent.tsx"],"names":["PermissionType","UserType","Practice","Roles","ExternalAuthProvider","WildHealthStatusLabel","props","color","minWidth","px","borderRadius","fontWeight","children","classes","makeStyles","theme","createStyles","root","fontSize","height","display","justifyContent","alignItems","width","whiteSpace","overflow","textOverflow","paddingRight","paddingLeft","breakpoints","down","maxWidth","good","colors","backgroundColor","selected","white","main","average1","average2","bad","rose700","rose100","normal","neutral","gray1","separators","black","gray3","success","useStyles","Box","className","clsx","SubscriptionStatus","CancellationReasonType","SubscriptionPauseStatus","SubscriptionType","CancellationReasonTypes","Map","set","TheCost","DidNotLike","DidNotUse","WantADoctor","FeelBetter","Other","Active","Expired","NotActive","Canceled","Deactivated","patientProfileStore","StoreConfig","name","resettable","selectedTab","MenuItemTypes","Profile","patientId","pathHistory","metaTagsModel","npsScores","paymentPlanHistories","tab","this","update","model","Store","patientProfileQuery","store","selectedTab$","select","state","pathHistory$","metaTags$","npsScores$","paymentPlanHistories$","getValue","Query","_path","_path2","_excluded","_extends","Object","assign","bind","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgRecentAppts","_ref","svgRef","title","createElement","viewBox","fill","ref","fillRule","clipRule","d","stroke","strokeWidth","strokeLinecap","strokeLinejoin","ForwardRef","forwardRef","SmallPaginationComponent","selectedPage","pageSize","totalCount","handlePageSelect","useState","page","setPage","count","Math","ceil","onChange","event","value","variant","shape","invisibleTypes","NotificationType","UnreadMessagesCount","NewSupportTicket","NewMessage","UnreadMessagesManual","appointmentsOptionsService","appointmentsStore","url","process","config","headers","authHeader","Observable","observer","Axios","get","pipe","subscribe","response","appointmentOptions","data","next","complete","error","snackService","commonErrorHandler","post","updateAppointmentOptions","put","appointmentOptionsValidator","GeneralValidator","nextAppointmentDateValidationRule","notEmptyValidationRule","emptyOptions","withType","purpose","id","nextAppointmentDate","_path3","borderColor","dialogTitle","padding","dialogTitleCloseAction","position","right","top","palette","grey","dialogContent","paddingTop","paddingBottom","dialogActions","action","AppointmentOptionsDialogComponent","isOpen","isSaving","hasChanges","isOverwriting","overwriteDate","selectedWithType","AppointmentWithType","HealthCoach","selectedPurpose","AppointmentPurposeType","Welcome","appointmentTypes","Consult","errors","setState","checkIfOverwriting","previousOption","find","x","getOverwriteDate","options","handleClose","setupInitialTarget","types","availableWithTypes","getAvailableWithTypes","option","includes","useEffect","subscriptions","onEmit","appointmentsQuery","allAppointmentTypes$","appointmentOptions$","appointmentsService","getAvailableAppointmentTypes","getOptions","map","it","unsubscribe","targetPurpose","configurations","some","t","correspondingOptions","field","validateAndSetState","validateObjectAndSetState","stateIsValid","cb","updateOptions","createOptions","useFacade","handleWithTypeSelect","handlePurposeSelect","handleChanges","handleSave","handleOpen","commonClasses","commonUseStyles","maxDate","moment","Date","add","toDate","SecondaryButton","onClick","Dialog","onClose","open","disableTypography","Typography","IconButton","DialogContent","FormControl","required","size","fullWidth","subtitle","Select","style","background","v","Number","withTypes","Array","from","appointmentWithTypeNames","filter","getWithTypes","index","MenuItem","mt","getAppointmentTypesByWithType","utils","DateFnsUtils","placeholder","format","openTo","inputVariant","views","momentDate","KeyboardButtonProps","minDate","Alert","severity","DialogActions","WildHealthButton","loading","disabled","autoFocus","DialogTitle","withStyles","margin","spacing","closeButton","other","size24","textMedium","aria-label","CreatePatientAppointmentDialogComponent","assignedEmployees","appointmentWithType","locations","timeZone","disableSchedule","handleToggleDialog","handleGoToConversations","handleContinueDialog","useTheme","isSmallScreen","useMediaQuery","targetAppointmentType","getTargetAppointmentType","notAvailableCard","flex","authQuery","getType","Employee","isDefaultPractice","Tooltip","unavailabilityReason","notAvailableCardText","notAvailableCardSubText","blurBackground","greatNews","dashboardMessageTitle","scheduleAppointment","mr","dashboardMessageDescription","scheduleVisit","WildHealthLinkButton","content","hereText","basicStyle","borderStyle","borderWidth","toContinueDialog","ml","CalendarIcon","scheduleAppointmentButton","fullScreen","toShowDialog","dialog","CreatePatientAppointmentFormComponent","isContinueDialog","toggleDialog","handleCloseDialog","history","useHistory","isLoading","isPhotosLoading","isAppointmentTypesLoading","isManageOpen","menuAnchorEl","appointments","appointmentsSummary","patientAppointments$","appointmentTypes$","employeesQuery","patientEmployees$","employees","patientsQuery","patientTimeZone$","locationsQuery","availableLocations$","appointmentsSummary$","photosCB","appointmentTypeCB","getPhotos","profileService","getEmployeeProfilePhotos","e","join","patientsService","getPatientTimeZone","locationsService","getAvailable","getCurrentPracticeId","getAvailableAppointmentTypesAsync","getAppointmentsSummary","employeeService","getAssignedToById","getPatientAppointmentsById","getPatientId","getAssignedTo","getPatientAppointments","appointmentId","selectedId","appointment","openPatientAppointmentReschedule","confirmService","confirm","cancelAsPatient","joinLink","window","navigationService","toMyProfile","status","bg","cardContent","fontFamily","linkBlack","noAppointmentsContainer","noAppointments","appointmentContainer","appointmentContent","marginTop","marginBottom","employeeAvatars","employeeImage","imagePlaceholder","employeeName","gray600","time","date","dateIcon","timeIcon","dateTime","divider","menuIcon","manageButtons","gridGap","flexDirection","marginRight","marginLeft","AppointmentWidgetComponent","handleToggleMenu","handleReschedule","handleCancel","handleJoin","coachSectionWithTypes","providerSectionWithTypes","HealthCoachAndProvider","Provider","hasFollowUp","Boolean","appointmentType","FollowUp","denomenator","availableCoachAppointments","renderAppointments","targetAppointments","AppointmentStatus","getAppointmentsByWithType","targetWithType","availableType","getAvailableAppointmentType","employee","el","role","displayName","employeeTypesNames","isCanCreate","EmployeeType","minHeight","buttonType","sort","a","b","startDate","getTime","my","Avatar","src","profileQuery","getPhoto","displayShortName","firstName","lastName","trim","getAvatarLetters","getTitle","gutterBottom","endDate","currentTarget","AccentButton","mx","renderSection","employeeTypesNamesForAppointment","Card","elevation","CardContent","WildHealthLinearProgress","PatientRescheduleAppointmentDialogComponent","Divider","Popover","keepMounted","anchorEl","anchorOrigin","vertical","horizontal","transformOrigin","WildHealthMenu","py","AppointmentWidgetRedesignComponent","handleGoToMyProfile","handleToggleManage","renderAppointment","renderAppointmentsSection","CreatePatientAppointmentDialogRedesignComponent","renderCreateAppointment","textAlign","border","renderContent","link","cursor","filterButton","selectedFilterButton","lightGray2","navigateContainer","navigateButton","box","flexShrink","goalTitle","noHealthGoalsText","noHealthGoalsSubText","imageContainer","backgroundRepeat","backgroundPosition","backgroundSize","gray2","Button","EngagementCriteriaType","label","scheduleAppt","textTransform","openDialog","myTaskFullImages","NoIMCForMoreThan2MonthsAfterCheckout","TaskBgFirstHC","NoIMCForMoreThan6MonthsAfterCheckout","TaskBgFirstPV","NoICCForMoreThan2WeeksAfterCheckout","TaskBgRegularHC","NoDnaReviewForMoreThan2MonthsAfterCheckout","TaskBgRegularPV","NoDnaReviewForMoreThan6MonthsAfterCheckout","InsuranceNoMDVisitForMoreThan3MonthsSinceLastMDVisit","CashNoMDVisitForMoreThan3MonthsSinceLastMDVisit","NoHCVisitForMoreThanMonthSinceLastHC","NoIMCForMoreThan1DayAfterDNAAndLabsReturned","NoIMCForMoreThan2WeeksAfterDNAAndLabsReturned","NoDnaReviewForMoreThan1DayAfterDNAAndLabsReturned","NoDnaReviewForMoreThan2WeeksAfterDNAAndLabsReturned","NoICCForMoreThan1DayAfterHCAssigned","PatientBirthdayIsToday","IMCCompleted1DayAgo","Empty","TaskEmpty","EngagementCriteriaTypeTitle","EngagementCriteriaTypeBody","_g","_defs","container","zIndex","left","bottom","backGrnd","opacity","boxToSwap","SchedulingInformationDialog","taskType","handleOpenSchedulingInfo","dialogMobileRef","useRef","initialPosition","finalPosition","isDrag","threshold","isRemove","initialBottom","current","persist","clientY","pageY","clientHeight","element","finalPos","moved","transform","pow","abs","handleInit","handleUpdate","handleReset","onMouseDown","onMouseMove","onMouseUp","onMouseLeave","onTouchStart","onTouchMove","onTouchEnd","mb","aria-labelledby","aria-describedby","paper","p","DialogContentText","MyTaskItemComponent","task","showDialogSchedulingInfo","analyticsEvent","Track","type","platform","PlatformName","isOpenScheduling","backgroundImage","flexGrow","NavigationItemsType","y","rx","shapeRendering","filterUnits","colorInterpolationFilters","floodOpacity","result","in","values","stdDeviation","in2","operator","mode","MyTasksWidgetComponent","tasks","currentPage","pages","calculatePages","goals","trunc","patientTasks$","getPatientTasksByEmployee","getPatientTasks","slice","getCurrentTasks","Grid","item","md","lg","sm","xs","renderTask","itemContainer","badge","_path4","_path5","_path6","_path7","_path8","_path9","_path10","_path11","navigationPatientItems","Appointments","Biometrics","MyGoals","Labs","Messaging","VisitNotes","navigationItems","conversationHealthCare","conversationSupport","conversations","navigationMessaging","c","unreadMessages","hasNewMessages","setUnreadMessages","patientConversationsQuery","heathCareConversation$","conversation","Patient","supportConversations$","toPatientUpcomingAppts","toPatientProfileNote","toPatientConversation","toPatientLabResults","toPatientHealthPlan","toVitalsHistory","toPatientDashboard","toPatientUpcommingAppointments","toPatientNotes","toConversations","toLabs","toMyHealthPlan","toDashboard","strokeMiterlimit","NavigationWidgetComponent","handleNavigate","renderItem","Badge","LabsIcon","getIcon","list","iconButton","dismissAll","primaryV","expandIcon","viewMoreItem","listItem","borderBottom","visibility","empty","iconType","maxHeight","dismissAction","notificationToolTipText","customWidth","navy","tooltipPlacement","NotificationsWidgetComponent","notifications","handleNavigateTo","handleDelete","customTooltipClasses","tooltip","tooltipPlacementBottom","tooltipPlacementTop","renderTitle","notification","subject","createdAt","toCurrentTimeZone","renderCta","btnLink","UpcomingLabs","getSecondaryText","getSecondaryAction","ListItemSecondaryAction","WildHealthSaveClickableElement","component","timeout","edge","placement","Trash","renderDeleteAction","List","ListItem","button","HealthLogReminder","bgcolor","cyan100","MedicalHistory","cyan500","MessageAdminToolEmail","MessageAdminToolSMS","MessageAdminToolClarity","pink50","pink600","NewHealthReport","mint100","HealthReport","mint500","LabResults","lavendar100","lavendar600","NewNote","ListItemText","primary","secondary","text","substring","sideMobile","sideContainer","papper","borderTopLeftRadius","borderBottomLeftRadius","borderTopRightRadius","JourneyTasksWidgetComponent","completes","isSideAreaOpen","selectedTaskId","_history","todoPatientJourneyTasks$","isArchived","group","dismissPatientJourneyTask","completePatientJourneyTask","getTodoPatientJourneyTasks","toPatientJourneyTasks","handleComplete","handleGotoJourneyTaskPage","handleToggleSideArea","ListItemIcon","handleCta","Drawer","anchor","targetTask","pb","description","taskCTA","pt","renderSideArea","WidgetContainerBodyComponent","showTimeline","notificationsQuery","notifications$","visibleNotifications","isPatientPremium","getTargetPatientIsPremium","getIsPremium","hasActiveStandardPlan","getTargetPatientSubscription","isActive","paymentPlan","isSubscriptionStatusActive","getPlan","getTodoPatientJourneyTasksByEmployee","handleToggle","featureFlags","useFlags","isNewAppointmentWidget","isFeatureFlag","FeatureFlag","AppointmentWidgetRedesign","isPatientTimelineWidget","PatientTimelineWidget","renderJouneyTaskAndNotification","anyFlags","direction","xl","StandardUpsellWidgetComponent","WidgetContainerComponent","stateContext","initialState","appointmentConfiguration","availabilities","selectedDate","selectedTime","isAvailabilityLoading","queryAvailability","isEmployee","employeeIds","availabilityService","getByEmployeeIds","configurationId","availabilityStore","reset","availabilityQuery","availabilities$","every","employeeId","availability","start","minutes","configuration","appointmentRescheduleOnOpen","selectedReasonType","reasonType","getAllAppointmentTypes","patientTimeZone","isEmployeeUser","coachAppointmentValidator","preventDefault","requiresReasonType","AppointmentReasonType","OtherTestFollowUp","removeError","reason","addError","reasonIsSelected","createModel","patient","duration","locationType","appointmentTypeId","appointmentTypeConfigurationId","comment","locationId","location","timeZoneId","timezonesQuery","getMyTimezone","AppointmentReasonTypeNames","rescheduleAsEmployee","resultInitialized","forEach","employeeAvailability","getEarliestAvailability","isSame","boxShadow","CoachRescheduleAppointmentDialogComponent","handleChangeDate","handleChangeTime","handleSubmit","getAvailability","handleChangeReason","handleSelectReason","targetType","AppointmentTargetType","selectedCoach","isCoachRole","roleId","selectedProvider","isProviderRole","selectedStaff","roles","staff","size14","colorGray1","TextField","SelectLocationComponent","selectedLocationType","handleChangeLocationType","phoneNumber","phone","FeatureComponent","featureFlag","AppointmentReasons","AppointmentReasonComponent","SelectAppointmentWithTypeComponent","handleChange","availableTypes","SelectEmployeeComponent","selectedEmployee","onEmployeeChange","Staff","SelectDateTimeComponent","errorMessage","patientTimezone","getTimeZoneName","sourceTimer","interval","tryRefresh","refreshToken","Sentry","category","message","level","Severity","Info","authService","Error","isLoggedIn","tokenExpiresWithin","getId","logout","toLogin","handleRefreshFailure","checkIsLoggedIn","console","log","isAuthTokenValid","getRefreshToken","isRefreshTokenValid","LogOutTimeOutComponent","pagesContainer","pagePagination","regularPage","SelectPageComponent","pageSizes","handlePageSizeSelect","PaginationComponent","availablePages","handlePageSizeChange","Pagination","pageNumber","module","exports","source$","nextFn","rootWithBackground","rootMargin","up","WildHealthContainer","hideBackground","m","undefined","healthSummaryStore","jsonDataSections","jsonDataLoaded","originData","newData","concat","updateOrigin","updatedData","isDeleted","isNew","soft","mapKey","items","getKey","healthSummaryQuery","data$","map$","flatMap","employeeAppointmentsSource","patientAppointmentsSource","upcomingAppointmentSource","appointmentOptionsSource","patientAppointments","employeeAppointments","recentlyAddedAppointmentsSource","recentlyAddedAppointments","recentlyNoUploadedLabFileAppointments","upcomingAppointment","allAppointmentTypes","appointmentAvailableTypes","appointmentsStatistic","appointmentsIncludeTags","appointmentSequenceInfo","isExcluded","appointmentsSource","appointmentsView","AppointmentsStore","_toPatientView","cancellationReason","AppointmentCancellationReason","Reschedule","_toEmployeeView","appointmentSource","appointmentView","existingSource","updatedSource","existingView","allOptions","timezone","copy","toTimeZoneDate","cancelledAt","employeeAppointments$","recentlyAddedAppointments$","recentlyNoUploadedLabFileAppointments$","appointmentsStatistic$","appointmentsIncludeTags$","appointmentSequenceInfo$","licensingUrl","employeeProfile","businessProfile","email","practiceProfile","patientProfile","pharmacyInfo","patientProfileProblemList","intakeId","preferredUrl","practiceInfo","messages","practiceShortInfo","delinquentStatus","updateEmployeePhotos","profileStore","getAvailablePages","maxPage","getNumericKeys","enumeration","isNaN","parseInt","WildHealthPlaceHolderBase","justify","WildHealthTableCell","head","body","TableCell","getAuthor","sid","patients","vendorExternalIds","convertMessagesToGroups","author","pos","findIndex","participantSid","authorFirstName","authorLastName","employeeType","isMyMessage","conversationIdentity","originalMessage","dateCreated","convertMessagesToGroupsForView","authorId","convertMessagesToGroupsForAiDemo","isAi","getEmployeeId","WildHealthRadio","checked","canExecute","setCanExecute","timerSubscription","timer","handleOnClick","none","datePicker","tertiary","danger","referral","mint","default","large","medium","small","CircularProgress","insuranceQuery","insurances$","insurances","coverages$","coverages","attachments$","attachments","verificationList$","verificationList","insuranceAvailability$","insuranceAvailability","insuranceConfigurations$","insuranceConfigurations","targetInsuranceConfiguration$","targetInsuranceConfiguration","comments$","comments","insuranceStore","logoService","commonLogo","WHBlackLogo","WHLogo","clarity","WHClarityLogo","clarityHeader","WHClarityPDFLogo","healthReport","WHHealthReportLogo","author$","supportConversations","heathCareConversation","targetConversation$","targetConversation","targetStaffConversation$","targetStaffConversation","targetHealthcareConversation$","targetHealthcareConversation","targetInternalConversation$","targetInternalConversation","isLoading$","isSendForwardMessage","patientConversationsStore","supplementsService","patientSupplementsStore","patientSupplements","isFromNotes","create","edit","delete","deleteSuccess","query","treatmentPlanId","NotesType","GoalCategory","GoalsFilterState","goalCategoryNames","Diet","Exercise","Sleep","Neuro","Longevity","Mindfulness","NextTimeSpan","goalsFiltersStateTrackNames","TopGoals","AllGoals","PastGoals","MdmPatientType","MdmMode","MdmCategory","MdmCategoryIds","SectionType","NoteDeletionReason","nextTimeSpanNames","Week","Month","Year","HealthSummaryNoteKeySectionNames","ALLERGIES","FAMILY_HISTORY","PROBLEMS_LIST","SURGICAL_HISTORY","SCREENING_HEALTH_MAINTENANCE","LIFESTYLE_HISTORY","SOCIAL_HISTORY","HPI","NoteMarkdownTypes","NoteGoalsVersion","NotePmhVersion","noteDeleteReasons","WrongPatient","MissingContent","WrongAppointment","downloadNoteOptions","mdmCategoryItemsCount","EstablishedPatientOne99203","EstablishedPatientSecond99203","EstablishedPatientOne99204","EstablishedPatientSecond99204","EstablishedPatientThird99204","EstablishedPatientOne99205","EstablishedPatientSecond99205","EstablishedPatientThird99205","NewPatientOne99203","NewPatientSecond99203","NewPatientOne99204","NewPatientSecond99204","NewPatientThird99204","NewPatientOne99205","NewPatientSecond99205","NewPatientThird99205","healthSummarySupplementsService","patientsSupplementsService","supplements","supplementsData","dosage","sectionLoaded","clearSection","setData","payload","replace","healthSummaryAllergiesService","allergiesService","patientAllergiesService","allergies","allergiesData","reaction","healthSummaryService","flags","RxntIntegration","healthSummaryRxntAllergiesService","healthSummaryMedicationsService","healthSummaryRxntMedicationsService","healthSummaryVitalsService","useJsonData","getJsonDataService","itemKey","SupplementSource","newPatientSupplementModel","instructions","defaultDosage","purchaseLink","orderedAt","supplementSources","Supplement","Intake","Notes","Fullscript","flat","getAvailabilityEndDate","isScheduleAvailable","timezonesStore","browserTimezone","tz","guess","toString","olsonId","standardName","daylightName","baseUtcOffset","totalHours","utcOffset","totalMinutes","timezones","myTimezone","timezones$","myTimezone$","OptionalComponent","defaultContent","practiceId","subscriptionService","subscriptionStore","API_URL","manualPaymentUrl","activeSubscription","mySubscriptions","patientSubscriptions","addPatientSubscription","updatePatientSubscription","subscriptionId","manualPaymentId","manualPayment","locationsStore","locationOnCreate","Subject","locationOnUpdate","callback","availableLocations","floor","random","split","buildKey","sectionKey","subSection","onlyUnique","val","self","orphanedProxies","proxy","healthCareConversation","matchedSupportConversation","vendorExternalId","updateSupportConversation","conversationsJoined","ConversationType","HealthCare","setHealthCareConversation","fullName","obj","notificationsStore","alerts","alertsHistory","alertsHistoryTotalCount","newNotifications","existingNotifications","allNotifications","notificationIds","alerts$","alertsHistory$","alertsHistoryTotalCount$","handleCompare","SortingDirection","Desc","browserHistory","createBrowserHistory","basename","reactPlugin","ReactPlugin","appInsights","ApplicationInsights","instrumentationKey","APPINSIGHTS_INSTRUMENTATIONKEY","extensions","extensionConfig","identifier","loadAppInsights","actionSection","borderTop","borderTopColor","acceptBtn","borderLeft","borderLeftColor","CommonConfirmDialog","acceptTitle","cancelTitle","onQuestion","question","handleAnswer","onKeyPress","isIOS","size20","textSemiBold","colorBlack","size16","textRegular","colorBad","colorMain","confirmWithReasonDialogValidator","notWhitespaceValidationRule","requiredValidationRule","maxLengthValidationRule","defaultState","CommonConfirmWithReasonDialog","onQuestionWithReason","handleReasonChange","handleConfirm","rows","multiline","InputProps","helperText","dialogCloseButton","CommonInfoDialog","image","onQuestionInfo","pl","pr","Cancel","alt","align","CommonSnack","Snackbar","autoHideDuration","SnackType","idx","HistoryTracking","useLocation","Page","_circle","FailedDnaBadgeComponent","isFailed","setIsFailed","anyFailedDnaKits","DnaKitFailed","MedicalHistoryIcon","isSelected","cx","cy","r","SelectedChildIcon","ConversationsIcon","Conversations","AppointmentsIcon","HealthReportIcon","AllPatientsIcon","MyPatientsIcon","HealthScoreIcon","PendingNotesIcon","FellowshipIcon","ShortcutsIcon","LicensingIcon","AnalyticsIcon","DashboardIcon","IntakeIcon","UsersIcon","NotesIcon","AcademyIcon","DNAIcon","PersonIcon","HealthPlanIcon","newMessages","setNewMessages","conversationTypes","setConversationTypes","filteredConversationTypes","Support","Set","getConversationTypes","employeeConversationsQuery","conversations$","internal","internalMessageNotification","healthCare","healthcareMessageNotification","support","colorsMap","Internal","UnreadMessagesBadgeComponent","interestedTypes","newTickets","setNewTickets","hasNewTickets","NewSupportTicketsBadgeComponent","badgeContent","context","ConversationsBadgeComponent","newMessagesAndTickets","setNewMessagesAndTickets","hasNewMessagesAndTickets","questionnaireStore","healthForms","availableQuestionnaires","questionnaireResults","questionnaireResultsByEmployee","targetResult","questionnaireBanner","notificationMedicalHistory","questionnaireResultsByAppointments","results","questionnaireQuery","healthForms$","questionnaireResults$","questionnaireResultsByEmployee$","availableQuestionnaires$","targetResult$","questionnaireBanner$","notificationMedicalHistory$","questionnaireResultsByAppointments$","notCompleted","setNotCompleted","UncompletedMedicalHistoryBadgeComponent","healthReportsStore","report","reportForRecommendation","reports","reportsUnderReview","reportsTotalCount","notificationAwaitingApproval","recommendationsDefault","recommendationToSend","recommendations","metrics","patientReport","addOnReports","owner","recommendation","trigger","recommendationId","triggers","recommendationTriggers","triggerId","healthReportsQuery","report$","reportForRecommendation$","reports$","reportsUnderReview$","reportsTotalCount$","notificationAwaitingApproval$","recommendationsDefault$","recommendations$","metrics$","patientReport$","addOnReports$","HealthReportBadgeComponent","reportsNotifications","notesNotifications","notesQuery","any","UncompletedHealthFormsBadgeComponent","NoPmRoster","rostersStore","rosters","roster","push","addRoster","rostersQuery","rosters$","rosterId","rostersService","updateRoster","UnmatchedLabsBadgeComponent","unassignedLab","setUnassignedLab","labOrdersQuery","isUnmatchedFile$","isUnmatchedFile","labOrdersService","getAnyUnmatchedFiles","mainMenuService","dashboardMenuItem","icon","Dashboard","getEmployeeMenuItems","getConversation","myPatients","Coaching","ViewOnly","dnaFiles","DNAFileManager","dnaOrderDropship","ManagePatients","intake","shortcuts","Shortcuts","getEmployeeType","pendingNotes","usersAndPods","ManageEmployees","ManageLocations","allPatients","analytics","PatientAnalytics","fellowship","ManageFellowship","licensing","ManageLicensees","getRoleId","portalAdmin","employerAdmin","engineeringAdmin","insuranceCarriers","ManageInsurance","managePromoCodes","managePatientResponsibility","manageBanners","manageCommonGoals","manageCommonMdms","manageCommonSupplements","manageCommonOrders","manageRecommendations","manageEmployersProfiles","kbDocuments","ManageKbDocuments","isStaffRole","opsAdminTools","OpsAdminTools","manageHealthReportTemplates","manageConversationTemplates","profile","getEmployeeNavigationMenuItems","userPermissions","checkPermission","getConversationMenu","toCoachAppointments","PendingNotes","DraftNotes","toDraftNotes","SignOffNotes","toSignOffNotes","AwaitingApproval","toAwaitingApproval","Patients","toManagePatients","MyPatients","toMyPatients","IntakePatients","toIntakePatients","Settings","AssignUnmatchedResults","toShortcuts","Analytics","toLeadSources","accountService","loginToLicenceApp","DNAFiles","toDNAFiles","DNAOrderDropship","toDNAOrderDropship","Employees","toManageEmployees","EmployerAdmin","toEmployerAdmin","EngineeringAdminTool","toEngineeringAdminTool","ManageMessages","MessagingAdminPanel","toManageMessaging","ManageForwarding","MessageForwarding","toMessageForwarding","EligibleInsurances","toEligibleInsurances","InsuranceConfigurations","toInsuranceConfigurations","toOpsAdminTools","PromoCodes","toManagePromoCodes","ManagePatientResponsibility","toPatientResponsibility","UnmatchedLabs","toUnmatchedLabs","Banners","toManageBanners","HealthReportTemplates","toHealthReportTemplates","ManageCommonGoals","toCommonGoals","ManageCommonMdms","toCommonMdms","ManageCommonSupplements","toCommonSupplements","ManageCommonOrders","toCommonOrders","Recommendations","toRecommendations","KBDocuments","toKBDocuments","ManageConversationTemplates","toManageConversationTemplates","ManageEmployersProfiles","toManageEmployersProfiles","Asc","Fellowship","toFellowship","confirmWithReason","LlmPlayground","GenericPlayground","toGenericPlayground","menuItem","getPatientMenuItems","MenuHealthScoreNew","HealthScore","toHealthScore","MyHealthReport","toMyHealthReport","AddOnReportPage","AddOnReports","toAddOnReports","HealthPlanDashboard","HealthPlan","Results","LabsInputs","Orders","toOrders","UpcommingAppointments","PastAppointments","toPatientPastAppointments","Questionnaire","HealthForms","toMyHealthForms","Documents","toDocuments","Supplements","toPatientsSupplements","MicrobiomeInputs","toMicrobiome","AcademyPatientChart","CourseHistory","toPatientCourseHistory","Account","DataFilesInputs","toDataFiles","ReferralLanding","toReferralLanding","Membership","toMyMembership","InsuranceProfile","getInsuranceAvailability","Insurance","toInsurance","menuItems","getMenuItemsByPermissions","careCoordinator","admin","staffConversation","licensingProvider","provider","coach","fellow","PatientsSubmissions","toPatientsSubmissions","permissions","userType","dashboard","employeePages","getPages","employeeMenuItems","availableItems","filteredItems","Navigation","widget","switcherReverse","active","phoneNumberInput","inputRef","inputElement","guide","keepCharPositions","mask","placeholderChar","showMask","getLastObject","reduce","acc","cur","patientPharmacyInfomationValidator","stringLengthValidationRule","phoneNumberValidationRule","addressValidationRules","streetAddress1","city","country","zipCode","pageFields","gray4","headerSection","lineHeight","buttonText","textGray","breakWord","PharmacyInfoWidgetComponent","isSaveChanges","pharmacyInfoDraft","validateForm","pop","pharmacyInfo$","getInitPharmacyInfo","getMyPharmacyInfo","streetAddress","updateMyPharmacyInfo","handleEditToggle","autoComplete","inputComponent","WildHealthTabs","indicator","Tabs","tabHeaderSection","tabContentSection","editBtnSection","mediumGray","wordBreak","breakGrayWord","lightBlack","arrow","WildHealthClickableTooltip","tooltipContent","isOpened","customClasses","disableTouchListenerStatus","ClickAwayListener","onClickAway","PopperProps","disablePortal","disableFocusListener","disableHoverListener","disableTouchListener","AddressInfoWidgetComponent","tabIndex","targetPatient$","targetPatient","patientDraft","newTabIndex","handleChangeTab","handleTooltipOpen","handleTooltipClose","renderAddresscontent","address","streetAddress2","Tab","billingAddress","shippingAddress","dividerSection","renderDivider","GeneralInfoWidgetComponent","displayAssignedEmployees","textBold","displayAge","birthday","displayDate","Gender","gender","WildHealthCheckbox","checkStatus","handleCheck","defaultIcon","lightNavy","controlIcon","controlCheckedIcon","control","Checkbox","checkedIcon","FormControlLabel","SessionRecordingSettingWidgetComponent","meetingRecordingConsent","meetingRecordingConsentDraft","usersService","getMe","birthDate","smsMarketing","PatientProfilePage","getMyInfo","DataSpecificationsEnum","UpdatePatientSpecification","smallScreen","AuthenticatedLayoutComponent","TitlesService","myAccountTitle","pageName","PagesNamesService","myAccount","selectedMenuItem","bgWhiteMain","colorLinkBlack","TranscriptionConsent","WildHealthTabPanel","toRender","hidden","initTab","onChangeCB","selectedContent","childItemsStates","handleMenuToggle","handleRenderChildrenMenuItems","getContentAnchorEl","MenuProps","child","childIndex","menus","tabs","childKey","alignContent","handleMenuOpen","disableRipple","TabProps","tabPanels","setTabPanels","initialKey","useStylesSimpleTabs","useStylesFullWidthTabs","useStylesSideBarTabs","useStylesThreeWidthTabs","useStylesMobileWidthTabs","WildHealthTabControl","otherContent","textColor","scrollButtons","photoContainer","photo","photoBorder","photoItem","photoButton","photoUploadButton","employeeAccountComponentValidator","firstNameValidationRule","lastNameValidationRule","emailValidationRule","addressStore","states","addressQuery","states$","lookup","getStates","abbreviation","addressService","searchQuery","setStates","stateLicenses","credentials","bio","photoUrl","isPhotoUrlLoading","isStateLoading","isSubmitted","employeeProfile$","getProfileCB","getProfilePhotoCB","getStateCB","getEmployeeProfile","getProfilePhoto","file","files","Promise","resolve","Resizer","imageFileResizer","uri","resizeFile","then","isAfter","formData","FormData","append","entries","updateEmployeeProfile","reLogin","getTargetLocationId","customTheme","createTheme","light","dark","customTextField","WildHealthDatePicker","useKeyboardDatePicker","keyboardIcon","stopPropagation","DatePicker","EmployeeAccountComponent","handleStatesChange","handlePhotoUpload","deletePhoto","WildHealth","mediumTitle","emptyPhoto","whButton","accept","inputLabel","disableFuture","inputProps","Male","Female","FormHelperText","Autocomplete","disableClearable","multiple","getOptionLabel","renderInput","params","rxntUserName","rxntPassword","addressesKeys","UpdateAddressForm","prefix","classStyle","address1","usePlacesAutocomplete","requestOptions","debounce","setValue","street","getGeocode","getZipCode","catch","selectAddress","handleAddressChange","suggestions","structured_formatting","main_text","secondary_text","endAdornment","Fragment","ready","emptyAddress","getInitAddress","businessAccountComponentValidator","BusinessAccountComponent","business","taxIdNumber","paymentToken","businessProfile$","getBusinessProfile","updateBusinessProfile","primaryTitle","getDefaultPracticeModel","hideAddressOnSignUp","practiceAccountComponentValidator","linkSegmentValidationRule","PracticeAccountComponent","practice","practiceProfile$","getPracticeProfile","updatePracticeProfile","EnabledRegistration","restorePasswordPageValidator","functionValidationRule","regexpValidationRule","RegExp","ResetPasswordComponent","newPassword","confirmPassword","resetPatientPassword","resetPassword","handleSubmitForm","onSubmit","EmployeeAccountPage","hasPermission","ClinicAnalytics","None","Paper","MyAccountPage","subscriptionCard","cardDivider","subscriptionItem","subscriptionItemSubtext","rightCardColumn","subscriptionAction","dateContainer","endDatePadding","ActiveMembershipCardComponent","subscription","standardUpSellActions","handleToggleCancel","handleGoBillingInfo","handleGoCancellationForm","handleModifyPlan","handleToggleAction","handleToggleSuspend","handleReactivePlan","isPrecisionCarePackagePatient","sortingHistories","h1","h2","WildHealthPlaceHolder","pauses","activePause","pendingPause","Pending","diff","price","paymentPrice","paymentCoupon","detail","paymentPriceDetailDisplay","ProtectedElement","cancellationRequest","events","ActionStatus","Completed","BellIcon","Link","patientStore","toggleRequestDialog","paragraph","CancellationForm","notFeatureFlag","noWrap","Paused","IntegrationVendor","PaymentStatus","MembershipCardComponent","selectedHistoryIndex","handleExpand","paymentPlanName","paymentService","paymentStore","resp","vendor","productId","authHeaderForStripe","URLSearchParams","amount","currency","RoutesConstants","stripeApiUrl","paymentStatusNames","PendingCopay","PendingInsurancePayment","PendingOutstandingPayment","Paid","NotPayable","PatientMembershipPage","isHistoryLoading","isCallToActionsLoading","activeMembership","isStripeIntegration","callToActions","subscriptionQuery","mySubscriptions$","s","integrationVendor","Stripe","callToActions$","ActionType","StandardPlanUpSell","getMy","callToActionCB","getPaymentPlanUpdateHistory","getActiveCallToActions","getPatientSubscriptionsLink","res","focus","toBuyNewSubscription","toCancellationForm","handleGoEditBillingInfo","handleGoToBuySubscription","canBeReplaced","LocationType","ResetPasswordPage","resetPasswordTitle","SelectAppointmentTypeComponent","SelectUserComponent","handleInputChange","selectedUser","users","inputText","debouncedHandleTextChange","useCallback","handleTextChange","user","AppointmentAttendeesComponent","SelectTargetTypeComponent","targetTypeKeys","data-testid","appointmentTargetTypeNames","SelectDurationComponent","durations","durationsPerPurpose","SickVisit","fullDay","patientMode","defaultInitialState","showDuration","allCoaches","allProviders","patientEmployees","employeeTimeZone","timeZones","selectedTargetType","selectedAppointmentType","selectedAppointmentConfiguration","selectedPatient","selectedEmployees","selectedDuration","AppointmentLocationType","Online","selectedLocation","isPatientsLoading","CoachCreateAppointmentDialogComponent","handlePatientSelect","handlePatientSearch","getAll","handleEmployeeSelect","handleEmployeesSelect","handleChangeTargetType","removeErrors","getTargetDurations","handleChangeAppointmentType","handleChangeAppointmentWithType","handleChangeDuration","durationValue","handleShowDuration","show","handleChangeComment","handleChangeName","createPatientAppointment","createAsEmployee","createOtherAppointment","createOther","createAllDayAppointment","createAllDay","getDayEnd","setLocations","headOffice","HeadOffice","patients$","employees$","appointmentScheduleOnOpen","getAllPracticeEmployees","timezonesService","getTimezones","coaches","providers","staffs","locationIds","showTypeSection","showScheduleWithSection","showDateSection","pointer","durationValues","availableDurations","filterPatientDurations","canAssignAnyEmployee","hideTime","AppointmentCommentComponent","info","wc","appointmentColors","purple","purpleLight","purpleMid","fmc","blue","blueLight","blueMid","icc","green","greenLight","greenMid","fcc","orange","orangeLight","orandeMid","imc","strongBlue","strongBlueLight","strongBlueMid","red","redLight","redMid","menuButton","AppointmentDayItemComponent","menuAnchor","cancelAsEmployee","notesMenuAnchor","toggle","editDialogOpen","openAppointmentReschedule","toManagePatientProfile","handleCancelAppointment","handleJoinAppointment","handleOpenMenu","handleCloseMenu","handleOpenNotesMenu","handleCloseNotesMenu","handleToggleEditDialog","handleRescheduleAppointment","goToPatientProfile","isUpcoming","getAppointmentName","isOther","PatientJourneyStatusNames","journeyStatus","AppointmentLocationTypeNames","Menu","toCreateInitialConsultNote","toCreateFollowUpNote","toCreateSimpleNote","Blank","EditAppointmentDialogComponent","timeDivider","avatar","notShowHeader","sendInviteDialogValidator","SendInviteDialogComponent","inviteModel","sendAppointmentInvite","handleEditEmail","AppointmentInfoPopoverComponent","handleOpenEditDialog","appointmentColor","followUpFormId","sequenceInfo","tags","questionnaireResult","employeeAppointment","sequence","inviteDialogOpen","setNoShowAppointment","toPatientQuestionnaireVisitPrep","note","handleToggleInviteDialog","handleNoShowAppointment","goToPatientVisitPrep","handleViewNote","userOptions","htmlColor","noShow","sequenceNumber","AppointmentTags","toCreateHistoryAndPhysicalNote","toCreateHistoryAndPhysicalFollowUpNote","FollowUpForms","toPatientQuestionnaireResult","linkButton","previousCoachAppointment","appointmentName","previousProviderAppointment","href","rel","userName","recordingIcon","AppointmentItemComponent","infoAnchor","handleOpenInfoPopover","handleCloseInfoPopover","AppointmentPurposeTypeNames","getAppointmentColor","questionnaireService","typesQuery","resultId","updateQuestionnaireResult","forms","banner","appointmentIds","getRelatedDayDate","dayOfWeek","dayOrder","getDay","setDate","getDate","setHours","handleToggleStatisticLoading","scheduleMode","AppointmentsViewMode","startOfWeek","DayOfWeek","Monday","endOfWeek","Sunday","isAppointmentsLoading","isFollowUpFormsLoading","isSequenceNumbersLoading","isAppointmentTagsLoading","getDayDate","hour","availabilityCB","appointmentsCB","getFollowUpFormsCB","getSequenceNumbersCB","getTagsCB","getPhotosCB","currentAvailability$","getAppointmentsStatistic","getCalendarById","getEmployeeAppointmentsById","filteredAppointments","x1","x2","followUpAppointmentIds","hasPaitentAppointments","getFollowUpForms","getEmployeeAppointmentsByIds","sequenceNumbersModel","getAppointmentSequenceNumbers","scrollCalendar","setTimeout","document","getElementById","scroll","daysRange","Day","viewModeSelect","calendar","currentDateCell","cell","borderRight","solidBorderCell","dashedBorderCell","headerCell","currentCell","alignTop","verticalAlign","row","timeCell","weekNavigationButton","lightGray","timeLine","timeDot","timeLabel","BlockedItemComponent","clipPath","getTimeLabel","suffix","targetMinutes","minutesZero","appointmentTimes","calendarHourStart","calendarHoursEnd","startValue","endValue","isHourStart","isQuarterStart","isHalfStart","getSchedulerTimes","CoachAppointmentsCalendarComponent","selectEmployee","newAppointment","handleScheduleModeSelect","handleDateChange","handleGoNext","handleGoPrev","handleGoCurrent","calendarRef","cellWidth","WorkWeek","calendarStart","min","calendarEnd","max","weekDays","Tuesday","Wednesday","Thursday","Friday","Saturday","getWeekDays","scheduleModeKeys","getIsCurrentDate","dateByDay","currentDate","getDateMinutes","resDate","getHours","getMinutes","getAppointments","renderTimeLine","rowSpan","currMinutes","minutesOffset","cellHeight","offset","renderCalendarCell","day","startMinutes","endMinutes","isCurrentDate","dayAppointments","dayAvailability","getFullYear","getMonth","end","getDayAvailability","isUnavailable","nextAvailabilities","nextAppointments","nextAvailability","prev","curr","nextAppointment","nextDate","toISOString","disableUnderline","renderValue","appointmentsViewModeNames","TableContainer","Table","stickyHeader","TableHead","TableRow","dayOfWeekNames","size18","TableBody","toolBar","_title","_style","newMessageContainer","newMessage","search","searchBase","activeThread","favoriteChats","overflowY","chats","moreIcon","popoverContent","SearchTextField","borderBottomColor","NewMessageButton","mainDark","Fab","clipPathUnits","searchPopoverProps","SelectEmployeeWithSearchComponent","me","handleFiltering","renderIcon","startAdornment","statisticBlock","gray8","statisticTitle","AppointmentsStatisticComponent","statistic","renderMeetingsBreakdown","_15min","_30min","_60min","colorGray2","renderBlock","meetingBreakdown","flexWrap","visitHours","booked15MinuteMeetings","booked25MinuteMeetings","booked55MinuteMeetings","availableHours","available15MinuteMeetings","available25MinuteMeetings","available55MinuteMeetings","administrativeHours","blockedHours","withRouter","employeesFiltered","isStatisticLoading","userId","createDialogOpened","openAppointmentSchedule","filtered","toLowerCase","handleEmployeeChange","handleOpenCreateDialog","appointmentsTitle","AppointmentsStatistic","MedicationsSupplementsComponent","medications","collection","renderText","NoteInternalRecommendationComponent","internalContent","TextMarkdownComponent","classLink","regular","letterSpacing","textWrap","NoteRecommendationsComponent","NoteSignatureComponent","noteId","currentNote","amendedNotes","getCurrentNote","completedAt","isAmended","version","completedBy","getCompletedBy","patientMedicationsQuery","patientMedications$","patientMedications","rxntMedications$","rxntMedications","editModel$","editModel","patientMedicationsStore","patientSupplementsQuery","patientSupplements$","QuestionnairePages","QuestionnaireType","QuestionnaireSubType","QuestionnaireSubject","QuestionnaireStatusType","QuestionType","GroupSubjectFromServer","GroupSubjectTitle","NonAppointmentsNoteTypes","HistoryAndPhysicalGroupVisit","FileDownload","require","notesService","getConfig","onSignOff","number","string","setNotes","take","skip","sortingSource","sortingDirection","updateDraftNotesWithSort","noteTypes","noteTypesQuery","notesForReview","notesUnderReview","addOrUpdateNote","isOriginNoteForCompare","targetContent","ForDelete","responseType","newFile","Blob","URL","createObjectURL","download","appendChild","click","revokeObjectURL","decodeURIComponent","isPremium","isWildHealthPractice","originalNoteId","logs","nextCoachAppointmentDate","nextProviderAppointmentDate","visitDate","deleteDraft","notesStore","BloodPressure","InitialQuestionNames","MEDICAL_CONDITIONS","FAMILY_MEDICAL_CONDITIONS","HEALTH_PRIORITY","EXCITED_TO_LEARN","HEALTH_FEARS","CURRENT_MEDICATIONS","CURRENT_MEDICATIONS_SUPPLEMENT","SPECIFIC_DIET","REGULAR_FOOD","START_CONSUMING_FOOD","STOP_CONSUMING_FOOD","PRIMARY_EXERCISES","EXERCISE_TYPE","EXERCISE_FREQUENCY","EXERCISE_PROGRAM_FOR","EXERCISE_LIMITATIONS","PULSE_REST","PULSE_AFTER_TEST","PULSE_1_MIN_AFTER_TEST","HEIGHT","WEIGHT","WAIST","MAX_PUSH_UPS","MAX_BUR_PRESS_1_MIN","SLEEP_QUALITY","ROUTINE_BEFORE_SLEEP","START_SLEEP","STOP_SLEEP","ALARM_CLOCK","RESTED_AFTER_SLEEP","ENERGY_AFTER_SLEEP","STRESS_LEVEL","DEAL_WITH_STRESS","SBP","ETHNICITY","FASTING","CANCER_SCREENING","SMOKING_STATUS","DIABETES_STATUS","MEDITATION_FREQUENCY","EAT_FIRST_TIME","EAT_SECOND_TIME","EAT_THIRD_TIME","WHAT_EAT_FIRST_TIME","WHAT_EAT_SECOND_TIME","WHAT_EAT_THIRD_TIME","EAT_THROUGHOUT_DAY","RESTRICTED_FEEDING_DURING_DAY","EXERCISING_DURING_DAY","ACTIVITIES_BEFORE_SLEEP","CONSUME_BEFORE_SLEEP","FALL_ASLEEP","WAKE_UP","WOKE_UP_FEEL","WOKE_UP_ENERGY","MEDITATION_DURING_WEEK","HealthLogQuestionNames","FIRST_MEAL_TIME","FIRST_MEAL","SECOND_MEAL_TIME","SECOND_MEAL","LAST_MEAL_TIME","LAST_MEAL","LIST_OF_SNACKS","REGULAR_PRACTICE","WEEKS_EXERCISE","TYPES_OF_EXERCISE","ACTIVITIES_LIST","CONSUME_BEFORE_NIGHT","FALL_ASLEEP_TIME","WAKE_UP_TIME","WAKE_UP_WITH_ALARM","FEEL_IN_THE_MORNING","ENERGY_THROUGHOUT_THE_DAY","PRACTICES_A_WEEK","HealthGoalsQuestionNames","YOUR_INTENTION","YOUR_EXERCISE_GOALS","PERSONAL_EXERCISE_GOAL","EXERCISE_ROUTINE_LOOK_LIKE","YOUR_NUTRITION_GOALS","PERSONAL_NUTRITION_GOAL","TYPE_OF_FOOD_DO_YOU_EAT","YOUR_SLEEP_GOALS","PERSONAL_SLEEP_GOAL","GOOD_AND_BAD_SLEEP_ROUTINE","YOUR_MINDFULNESS_GOALS","PERSONAL_MINDFULNESS_GOAL","MINDFULNESS_PRACTICE_LOOK","YOUR_SOCIAL_CONNECTIONS","PERSONAL_SOCIAL_CONNECTION_GOAL","DESCRIBE_SOCIAL_CONNECTIONS","TAKE_TIME_TO_WALK_OUTSIDE","TAKE_TIME_TO_WALK_OUTSIDE_COMMENT","HEALS_HAPPINESS_PERFORMANCE","HEALTH_FEELING","HEALS_COMMENTS","OVERALL_PHYSICAL_HEALTH","FREE_CHRONIC_PAIN","FREE_CHRONIC_PAIN_COMMENTS","GET_SICK","SICK_COMMENTS","HEALTH_PHYSICAL_FEELING","HEALS_PHYSICAL_COMMENTS","HEALTH_MORE_OR_LESS","HEALS_MORE_OR_LESS_COMMENTS","HAPPINESS_ENJOY_LIFE","HAPPINESS_ENJOY_LIFE_COMMENT","HAPPINESS_CONNECTIONS","HAPPINESS_CONNECTIONS_COMMENT","HAPPINESS_OPTIMISTIC_PESSIMISTIC","HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT","HAPPINESS_COACH_THERAPIST","HAPPINESS_COACH_THERAPIST_COMMENT","HAPPINESS_INTO_MY_80","HAPPINESS_INTO_MY_80_COMMENT","HAPPINESS_OVERALL","HAPPINESS_OVERALL_COMMENT","PERFORMANCE_METRICS","PERFORMANCE_METRICS_EXPLAIN","PERFORMANCE_ACTIVITY_IMPORTANT","PERFORMANCE_ACTIVITY_IMPORTANT_COMMENT","PERFORMANCE_IMPROVEMENT","PERFORMANCE_IMPROVEMENT_COMMENT","PERFORMANCE_CONFIDENT_80S","PERFORMANCE_CONFIDENT_80S_COMMENT","PERFORMANCE_OVERALL","PERFORMANCE_OVERALL_COMMENT","NoteRecommendationTypes","InitialConsultNames","TOP_3_HEALTH_PRIORITIES","CURRENT_MEDICAL_CONDITIONS","MEAL_CONSUMING_TIME_1","MEAL_CONSUMING_TYPE_1","MEAL_CONSUMING_TIME_2","MEAL_CONSUMING_TYPE_2","MEAL_CONSUMING_TIME_3","MEAL_CONSUMING_TYPE_3","AVAILABLE_EQUIPMENT","EXERCISE_TYPES","USE_ALARM_CLOCK","FEEL_RESTED","CheckManyToTextField","InitialConsultToInitialQuestionNamesMap","Key1","Key2","InitialConsultToHealthLogQuestionNamesMap","getInitQuestionnaires","questions","questionSubject","CheckMany","allowOther","variants","childrenNames","parentAnswers","SelectOne","TimeInput","TextInput","FileInputType","Optimization","FileInputDataProvider","LabGroup","LabInputNotificationType","InputNotificationClassification","VitalValueSourceType","LabInputsViewMode","LabRangeType","LabValidationSource","DietType","ExerciseType","Ethnicity","SmokingCategory","DiabetesType","YesNo","labRangeTypesNames","LessThen","MoreThen","FromTo","LessThanOrEqual","MoreThanOrEqual","labInputGroupNames","Lipids","Hormones","Methylation","Inflammation","VitaminsAndMicronutrients","InsulinResistanceAndMetabolism","CBC","Metabolic","ApoeConstants","Apoe11","Apoe12","Apoe13","Apoe24","Apoe14","Apoe22","Apoe23","Apoe33","Apoe34","Apoe44","Default","ApoeSoursConstants","BloodTest","apoeSoursNames","apoeNames","apoes","mdmCodesService","noteType","pinyonFont","pdfMakeX","pdfFontsX","vfs","pdfMake","fonts","Roboto","bold","italics","bolditalics","PinyonScript","NotesPdfService","pdfDocument","pageMargins","header","footer","pageCount","table","widths","layout","alignment","styles","titleHeader","subTitle","footerText","h3","italic","blockquote","line","decorationColor","signedByText","font","getApoeInfo","apoeStatus","apoeLabel","apoeScore","parseFloat","checkMarkdown","part","match","H1","H2","H3","Italic","Bold","Blockquote","Line","createPartHeader","createPartBold","createPartItalic","createPartBlockquote","createPartCode","createPartList","displayInfoDiagnosis","Image","getLogo","onload","canvas","ctx","dataURL","base64","getContext","drawImage","toDataURL","headerImageFit","headerImageMargins","fit","lastNote","trimPart","updatePart","answer","checkAnswer","JSON","parse","o","getPdfTextSections","fillColor","InitialConsultNotePdfService","amendedText","buildPdfContent","personalizeFooter","createPdf","getBlob","blob","uploadNote","clear","intention","systolicBloodPressure","diastolicBloodPressure","currentMedicalConditions","medication","getEmptyPdfSection","supplement","startsWith","renderSignature","InitialConsultNotePdfServiceOld","contentParts","recommendationSection","section","getPdfAnswer","answerItem","FollowUpNotePdfService","amendedList","completionDate","interventions","goalsVersion","New","plan","dietGoals","exerciseGoals","sleepGoals","mindfulnessGoals","neuroGoals","longevityGoals","renderGoals","dietEducations","renderEducation","exerciseEducations","sleepEducations","neuroEducations","longevityEducations","mindfulnessEducations","rxntIntegration","medicationsSupplements","isInCurrent","fullscriptSupplements","stoppedMedications","isStopped","stoppedSupplements","stoppedRxntMedications","dosingInstructions","globalIndex","todayCoachingContent","steps","InternalNotePdfService","attachmentsEmployee","isContentUpdated","isAttachmentsUpdated","fileName","SoapNotePdfService","codes","subjective","ROS","rosEnabled","rosValues","physicalData","unableToObtain","systolicBP","diastolicBP","heartRate","temperature","weight","physicalExam","mdmData","mdmPatientTypes","Established","mdmText","selectedMdmPatientType","selectedCodeId","selectedMode","TimeBased","spentTime","mdmCode","categories","selectedCategoryIds","selectedCategoryId","showCodeDescription","selectedCategoryItems","allItems","categoryItem","allowInput","inputValue","diagnosis","code","additionalInformation","planText","labsText","endOf","fromNow","HistoryAndPhysicalPdfService","isTopGoal","mdmCodes","pmhVersion","PMHnew","getItemName","rxntAllergies","famHX","screeningHealthMaintenanceApoe","hideApoe","Yes","score","screeningHealthMaintenance","apoe","surgicalHX","socialHX","lifestyleHX","PMH","socialLifestyleHX","chiefComplaint","coachOtherText","initialConsultNotePdfService","initialConsultNotePdfServiceOld","followUpNotePdfService","internalNotePdfService","historyAndPhysicalPdfService","soapNotePdfService","canDiscardNote","renderTextSection","secondaryTitle","isFutureAppointment","itemWithDescription","renderApoeSection","apoeInfo","colonoscopy","psa","renderItemsSection","isDiagnosis","isApoe","smallTitle","renderMedicationsAndSupplementsToStart","renderEmptyMedicationsAndSupplementsToStart","renderEmptyMedicationsAndSupplementsToStop","renderMedicationsAndSupplementsToStop","renderVitals","renderNextAppointmentDate","renderMdm","mdm","appointmentDuration","educationText","sortedGoals","goal","isCompleted","accent1","intervention","IsSectionAmendHistoryAndPhysical","originalContent","amendContent","sectionType","Hpi","Diagnosis","stringify","MedicationAndSupplements","Ros","Physical","Mdm","Plan","IsSectionAmendSoap","GetMaximumVersionOfNote","resultNotes","IsSectionAmendICC","IsSectionAmendFollowUp","NextAppointment","GenerateAmendedChangesForFollowUp","originalInternalContent","edited","GenerateAmendedChangesForHistoryAndPhysical","handleDownloadNoteByEmployeePdfBd","isEmployeeView","Initial","pdfContent","pdfMedications","pdfSupplements","getContentByEmployee","medicationsService","isOldIcc","downloadNotePdf","tempId","now","attachmentId","fileSize","Soap","HistoryAndPhysicalInitial","HistoryAndPhysicalFollowUp","commonDiagnoses","sectionTitle","InitialConsultComponent","handleGoToNotes","handleGoToEditNote","isPdfDownloading","targetContent$","isContentLoading","originalNoteContent","resetTargetContent","confirmAndSelectedNoteViewType","downloadNote","noteIdNew","handleDownloadPdf","handleChooseNote","renderProblemList","WildHealthTableRow","renderRowProblemList","ButtonGroup","startIcon","displaySelectVersion","renderRecommendations","FollowUpComponent","renderNoGoalsPlaceHolder","uppercase","renderOldGoals","goalIndex","interventionIndex","renderGeneralGoals","renderNewGoals","renderSupplements","renderStoppedSupplements","metaTagsService","metaTagsStore","titleSize","fontColor","titleSubscription","PatientMetaTagsComponent","isMessages","metaTags","isNpsLoading","npsTopic","PatientNpsScoreTopic","npsCb","getMetaTags","getNpsScore","renderTagColor","tag","sentiment","TagSentiment","Danger","Success","Warning","Normal","subscriptionPlan","metaTad","PatientNpsScoreTypeNames","npsScoreType","submittedAtWeek","npsScore","PageTitleComponent","BackTitleComponent","actionSize","goBack","fileButton","fileIcon","downloadIcon","internalNote","PatientBlankPage","getNote","getContentByPatient","getByPatient","noteForDownload","handleGoBack","renderAttachments","GridList","GridListTile","openAttachment","GridListTileBar","toFixed","actionIcon","noteDetailTitle","bgMain","colorWhite","GenerateAmendedChangesForSoap","SoapNoteComponent","goBackTitle","renderNoteTitle","renderPlan","renderNoteContent","HistoryAndPhysicalNoteComponent","HistoryAndPhysicalFollowUpNoteComponent","DownloadButton","square","isSquareStyled","PatientPastAppointmentsComponent","selectedNote","renderNote","viewComponent","getTargetPatient","React","toPatientInitialConsult","toPatientFollowUp","toPatientBlank","toPatientSoap","toPatientHistoryAndPhysical","toPatientHistoryAndPhysicalFollowup","patientFullName","getName","downloadPastAppointments","handleNoteViews","handleDownloadPastAppts","view","getHost","displayTimeZone","size12","backgroundAverage1","colorAverage1","backgroundGood","colorGood","backgroundBad","AppointmentStatusNames","getStatusForMobile","btnLinkToNotes","getNotes","cancelledBy","onOpen","getStatus","emptyAppointments","fixedButton","ProductType","card","cardHeader","listItemSecondary","textSecondaty","expandContent","locationIcon","recordingConsentSection","recordingConsentIcon","gray500","recordingConsentText","AppointmentCardComponent","isExpanded","InPerson","encodedAddress","encodeURIComponent","googleMapSearch","handleOpenGoogleMap","handleEditAppointment","cardHeaderAvatar","cardHeaderAction","getAppointmentType","Phone","CardHeader","subheaderTypographyProps","titleTypographyProps","subheader","monthlyCalendar","primaryTypographyProps","backgroundColorBg","timeCircle","displayTimePatientTimeZone","arrowUp","arrowDown","Collapse","unmountOnExit","addEndListener","AppointmentCardsComponent","handleAddAppointmentToCalendar","handleBuyProducts","isBuyProductsLink","renderProviderVisitsInfo","backgroundColorAccent2","completedProviderMembershipVisits","availableProviderMembershipVisits","completedAdditionalProviderVisits","availableAdditionalProviderVisits","canPurchaseVisitCredits","personType","backgroundColorLightGray","isLicensingPractice","PatientProduct","hasHealthCoachingVisits","unlimitedVisits","implicitUnlimitedAmount","completedCoachAppointments","renderCoachVisitsInfo","emptyMessage","ProductTypeNames","StartupFee","AddOns","PhysicianVisit","HealthCoachVisit","FollowUpLabs","FreeLabOrder","FreeEpigeneticOrder","MobileAppointmentCardsComponent","defaultProps","canAccept","setOpen","notificationIcon","renderAppointmentInfo","_rect","discardBtn","borderRightColor","CancelAppointmentDialogComponent","cancelPatientAppointmentScheduleOnOpen","PatientUpcommingAppointmentsComponent","products","createAppointmentWithTypes","productsQuery","products$","getCurrentTimezone","subscription$","getPatientCurrent","productsService","getProducts","isIntegratedWithPaymentSystem","getCurrent","submitAsPatient","openCancelAppointmentSchedule","product","getPatientBuyProductsOnBehalf","getPatientBuyProducts","tabsStyle","allowInline","patternContentUnits","xlinkHref","loginPageValidator","forgotPasswordPageValidator","gray400","loginPage","contentBox","loginForm","loadingPage","logo","login","fontStretch","fontStyle","linkText","darkMint","loginBtnSection","resetPasswordBtnSection","setPasswordSection","doneIcon","linkEmailSent","ForgotPasswordPage","_siteKey","SITE_KEY","_recaptcha","mobileForgotPasswordPath","pathname","mobileForgotPassword","recaptcha","execute","sitekey","onResolved","token","antiSpamToken","forgotPassword","notFoundEmail","toDefault","renderRecaptcha","handleReturn","handleKeyDown","forgotPasswordTitle","Container","InputAdornment","_g2","_g3","_g4","LoginOnBehalfPage","businessId","loginOnBehalf","reload","loginTitle","maskType","maskUnits","LoginPageComponent","redirectTo","isRegistrationCompleted","toGetStarted","inProgress","showPassword","password","subscriptionStatus","confirmInfo","toAccountMembershipActivation","toForgotPassword","toAuth2LoginPage","handleClickShowPassword","handleForgotPassword","goToGetStartedPage","goToAuth2LoginPage","OutlinedInput","Auth2Google","Google","RestorePasswordPage","isResetSuccess","showConfirmPassword","restorePassword","handleLogin","handleClickShowConfirmPassword","restorePasswordTitle","setUpPasswordPageValidator","SetUpPasswordPage","setUpPassword","VerifyProfileComponentValidator","VerifyProfileComponent","handleVerificationSubmit","verify","sendProfileVerificationComponentValidator","RedirectPermissions","SendProfileVerificationComponent","handleVerificationSent","newPhoneNumber","getPhoneNumber","sendVerification","VerifyProfilePage","verificationSent","isVerified","activateProfileTitle","ConversationState","ProtectedRoute","redirectPermission","Component","rest","Unauthorized","to","NotVerified","NoConfirmedAgreements","render","AuthenticatedRoute","AuthorizedRoute","redirectPermissions","allPermissions","validatePermissions","getPermissions","isAgreementsConfirmed","chatList","overflowX","chatRoot","chat","forwardTurnOn","resetTargetConversation","llmConversationTypes","getTargetConversation","getNotificationsByTypes","getTab","ignoreTypes","EmployeeConversationsTabs","ignoreTypeNames","skipNotifications","linkData","conversationType","notificationsToDelete","getConversations","deleteNotifications","notificationsService","deleteBulk","removeNotifications","messageSettings$","setting","forwardEmployeeEnabled","conversationsService","getConversationsSettings","getActive","selectConversation","FilterButtonGroup","grouped","ToggleButtonGroup","imageSmall","ChatsPlaceHolder","emptyChats","filters","isInternal","isNewMessageOpen","isOpenFavoriteCollapse","isOpenRecentCollapse","filterPatient","ChatPatientFilterTypes","patientFilterState","filterByChatFilter","ChatFilterTypes","Closed","isSigned","byName","oldestUnreadMessageAt","lastMessageAt","hasActiveSubscription","InActive","All","filterPatientBySubscription","Assigned","getEmail","filterByMyPatients","SignedOff","filterByActive","employeeConversationsStore","setTargetConversation","resetAttachments","resetAttachmentsView","enableToAttachmentAdding","isFavorite","removeFavoriteConversation","addFavoriteConversation","filtersPopoverProps","ChatsListComponent","newMessageComponent","newMessageProps","chatTemplate","handleToggleNewMessage","handleConversationSelect","handleTogglePatientFilter","handleUpdateFavoriteConversation","handleToggleFavoriteThreads","handleToggleRecentThreads","renderChat","today","yesterday","convertedDate","getDisplayDate","klass","targetConversationId","orientation","exclusive","ToggleButton","chatFilterTypesNames","underline","chatPatientFilterTypesNames","startOf","subtract","favoriteConversations","attributes","FavoriteEmployeeIds","unfavoriteConversations","favoriteHeight","itemSize","itemCount","renderChats","isUsersLoading","canSubmit","selectedUsersIds","selectedUserTitle","removeSelectedUser","checkIcon","MultiSelectUserComponent","handleUsersSelect","disableCloseOnSelect","limitTags","renderOption","renderTags","getTagProps","onDelete","CreateInternalConversationDialogComponent","usersIds","handleUserSearch","handleApprove","SelectUserDialogComponent","actionName","handleGetUsers","handleUserSelect","isDelegated","MessageAvatarsComponent","participants","maxParticipantsCount","smallScreenFirstAvatar","initials","smallScreenSecondAvatar","firstAvatar","secondAvatar","overlap","AvatarGroup","activeChat","chatNames","chatSubTitle","chatLastMessage","chatDate","favoriteAction","UnreadMessages","ChatWithPatientItemComponent","subscriptionPlanName","InternalChatItemComponent","otherEmployees","renderEmployee","gridTemplateAreas","gridTemplateColumns","side","gridArea","sideMaxHeight","settingsIcon","iconInfo","titleAndAvatars","gap","EmployeeMessagesTabsComponent","tabsStyles","conversationProxies","tab$","isReady","setTab","toMessageSettings","handleGetFilters","handleNavigateToSettings","patientConversations","internalConversations","pConversation","createConversation","targetId","iConversation","createInternalConversation","scheduledMessagesStore","editingTarget","scheduledMessages","uploadedAttachments","newAttachments","messageToSchedule","scheduledMessagesQuery","editingTarget$","scheduledMessages$","uploadedAttachments$","scheduleMessageService","conversationsUrl","conversationId","setScheduledMessages","scheduledMessageId","setUploadedAttachments","participantId","timeToSendStr","timeZoneName","addScheduledMessage","removeAttachments","updateScheduledMessage","deleteScheduledMessage","messageAttributes","getConversationAttributes","client","conversationTypeNames","conversationsClient","useBaseFacade","tempAuthor","isLoadingMessages","paginator","messagesStaff","perPage","scrollToIndex","lastReadMessageIndex","typing","unreadMessageClicked","setAuthor","getMessageByVendorExternalId","conversationsViewService","getPatientAllMessagesStaff","getAllMessagesSupport","handleMessageAdded","updateLastReadMessageIndex","handleMessageUpdated","participantExternalVendorId","ConnectionStatuses","joined","lastReadMessageUpdateModel","conversationExternalVendorId","lastMessageReadIndex","lastReadMessageUpdate","startTyping","member","pushTypingIfNotExist","participant","endTyping","createObserverForUnreadMessages","lasMessageIndex","unreadMessageCB","isVisible","IntersectionObserver","createObserverForLoadMoreMessages","threadStart","querySelector","threadStartObserver","canLoadMore","handleLoadMore","observe","createObserverForMessagesLoaded","scrollToMessage","messagesLoadedObserver","unobserve","hasPrevPage","loadMessagesCB","conversationProxy","lastMessageIndex","channelState","lastMessage","lastReadIndex","loadMessages","getMessages","prevPage","connectionStateChanged","conversationJoined","addOrphanedProxy","updateConversation","on","ConversationsClient","conversationAuthToken","off","lastVisibleIndex","checkReadMessages","getConnectionStatus","employeeParticipant","addEmployeeToConversationModel","sendIcon","imageAttachment","attachment","attachmentIcon","attachmentTitle","removeAttachment","disabledMessage","compactMessageInput","compactMessageInputAdornment","InputField","outline","ActionButton","selectShortcutService","onSelect","insertString","str","subSrt","messageSelectionPosition","emojiAnchorElement","ignoreChangesEvent","handleTyping","schedule","handleSendMessage","handleOnTextMessageChanged","cursorPos","handleTextMessageChanged","keyCode","shiftKey","altKey","selectionStart","textBefore","textAfter","navigation","emojiGroup","emojiGroupSelected","filledIcon","strokedIcon","EmojiButton","hover","EmojiNavButton","EmojiComponent","groups","handleSelectEmoji","selectedGroupIndex","handleSelectGroup","emojiGroups","emoji","fillText","getImageData","isEmojiSupported","iem","SendMessageComponent","handleSchedule","handleRemoveAttachment","canAttach","canSchedule","handleAttach","handleChangeMessage","handleToggleReaction","handleInsertReaction","isMiddleScreen","between","rowsMax","onKeyDown","ConversationsEmojis","messageContainer","attachmentsList","attachmentContainer","rootInput","SendMessageComponentMobile","containerAttachments","DiscardButton","ConfirmButton","EditScheduledMessage","initMessage","initAttachments","attachmentsNew","handleDiscard","handleRemoveAttachmentNew","ScheduleMessageDialogComponent","isToday","iterations","setMinutes","hours","previousTime","disabledTile","MessagesPlaceHolder","emptyMessages","myMessages","messagesBlock","compactMessagesBlock","messageFileButton","myMessageFileButton","messageLinkUrl","textDecoration","myMessageLinkUrl","mint700","mint900","breakText","messageAuthor","messageView","MyMessage","MyCompactMessage","MyDeletedMessage","MyDeletedCompactMessage","Message","gray100","CompactMessage","DeletedMessage","DeletedCompactMessage","MessageAvatarComponent","ListItemAvatar","initialRequest","messageId","initialAlertRequest","alertId","actionType","details","messageGroup","isLastMessage","handleUpdateInteraction","acceptingLoading","isDeleting","isForwarding","isDeleteOpen","isForwardOpen","deleteMessageRequest","reactOnAlertMessageRequest","getAttachmentAdding","addTargetAttachments","media","filename","getSendNewMessageStatus","formattedMessage","updateSendMessageStatus","editingTargetAiMessage$","aiMessageAcceptLoading$","getContentTemporaryUrl","targetAiMessage","acceptInteraction","messageSid","referenceId","interaction","ReferenceId","Detail","aiMessageAccept","acceptAiMessage","rejectInteraction","rejectAiMessage","startAiEditing","removeMessage","reactOnAlert","MessageAlertActionType","Accepted","moreVert","markUnreadMenu","deleteMessageMenu","popover","pointerEvents","MenuMessage","handleSetUnread","showMore","setShowMore","HoverMenuMessageComponent","setAnchorEl","anchorElForDelete","setAnchorElForDelete","messageIndex","conversationSize","handleOpenDeleteReason","handlePopoverClose","handlePopoverOpen","handleDeletePopoverClose","handleDeletePopoverOpen","handleClick","aria-owns","aria-haspopup","onMouseEnter","disableScrollLock","PaperProps","DeleteMessageDialog","deleteMessageReasonTypesNames","ForwardMessageDialog","clearTimeout","Rejected","MessageComponent","scrollToMessageRef","createRef","messageToScrollIndex","handleSetMessageUnread","formatDate","downloadMedia","handleAcceptInteraction","handleRejectInteraction","handleEditInteraction","handleOpenDeleteMessageDialog","handleCloseDeleteMessageDialog","handleChangeDeleteReason","handleCloseForward","handleSubmitForward","scrollIntoView","block","behavior","renderUserName","IsDeleted","isPatientUser","deletionDetails","DeletionDetails","Reason","DeletedBy","converted","messagesEntity","messagesByIndex","identity","thisMessageMustBeScrolledTo","getMessageAuthor","isAiMessage","Interactions","interactions","Type","InteractionType","Recommendation","CreatedAt","renderAiMessage","AiHealthCoachAssist","noMessage","useStylesThread","groupBy","keyGetter","MessageCompactComponent","MessageComponentView","isCompact","handleDownloadAttachment","mediaSid","createMediaUrl","addTargetAttachmentsView","messageComponent","ThreadComponent","messageGroups","threadStartId","isProxy","messagesUnreadRef","groupedByDate","displayMessagesDate","dateFormated","renderMessage","isLastGroup","ListSubheader","disableSticky","renderUnreadMessages","thread","sendMessage","closedTicket","typingAvatar","dropContainer","dropIcon","dropTitle","noneOutline","useDropStyles","ShortcutGroupType","EditAiMessage","ShortcutGroupTabs","ShortcutGroupTypeNames","Global","Personal","createCompareFunction","sortBy","shortcutsStore","targetShortcut","_sort","shortcut","_insertShortcut","_deleteShortcut","k","isPersonal","groupId","shortcutsQuery","groups$","targetShortcut$","shortcutsService","shortcutsUrl","shortcutGroupsUrl","init","insertGroup","updateGroup","deleteGroup","updateShortcut","insertShortcut","deleteShortcut","SelectShortcutComponent","typeId","setInitialState","handleSelect","filteredGroups","filteredShortcuts","handleFilter","arrayTrimSearchKey","globalGroups","g","globalShortcuts","personalGroups","personalShortcuts","allShortcuts","handleApply","handleType","handleGroup","displayEmpty","disablePadding","ConversationComponent","threadHeight","dropClasses","isScheduleDialogOpen","scheduledMessageForEditing","scheduledAttachmentsForEditing","toSendAttachments","aiMessageForEditing","detailForAiMessage","awayMessageEnabled","baseState","handleToggleScheduleDialog","handleEndEditScheduledMessage","endEditing","handleEndEditAiMessage","endAiEditing","prepareMessage","setBody","addMedia","setAttributes","build","send","acceptedFiles","fileRejections","itemIndex","removeAttachmentIds","timeToSend","utc","reschedule","messageSelected","setAllMessagesUnread","unreadMessageCount","setMessagesUnread","editAiMessage","handleDropAttachment","handleOpenScheduleDialog","handleScheduleMessage","DynamicSendMessageComponent","vendorExternalIdentity","isScheduledMessageEditing","isAiMessageForEditing","onDrop","getRootProps","getInputProps","isDragActive","rootProps","sendMessageSection","stateChangeEmployeeName","stateChangeDate","CloudUploadOutlined","titleIcon","removeUser","addUser","Member","_ellipse","_rect2","_circle2","_rect3","_rect4","_g5","ManageChatMembersComponent","isDialogActiveUsers","members","disableAddMember","disableRemoveMember","handleAddMember","handleRemoveMember","disableRemove","ry","y1","y2","gradientUnits","stopColor","stopOpacity","AttachmentsPlaceHolder","emptyAttachments","pdfGroup","imageGroup","targetAttachments$","pdfs","images","contentType","contentContainer","titleContainer","containerImg","slider","imageFile","Title","FileName","DialogSlider","AttachmentsComponent","handleToggleSection","sideBarTabsStyle","setUrl","renderImage","renderPdf","renderGroup","isImageGroup","ImageConstants","loginBackgroundPath","clarityPdfHeaderPath","licensingWHHeaderLogoPath","commonPlaceHolderPath","emptyReportPath","emptyReportCFPath","healthReportPg2ImagePath","healthReportPg8ImagePath","healthReportPg12ImagePath","healthReportPg13GraphPath","healthReportPg13ImagePath","healthReportPg14ImagePath","healthReportPg16ImagePath","healthReportPg18ImagePath","healthReportPg23ImagePath","healthReportRoadMapPath","videoPreviewImagePath","whCoverImagePath","CommonPlaceHolder","cdnBaseLink","ScheduledMessage","ScheduledMessageDialog","targetMessageId","handleToggleActions","startEditing","ScheduledMessagesComponent","handleEdit","isEditing","renderAttachment","disableGutters","uploadedAttachs","mapParticipant","getConversationMembers","isEmployeeAssigned","employeeAssigned","targetAttachmentsView$","AttachmentsViewComponent","EmployeeChatComponent","isClosing","isAddUserOpen","connectionStatus","connectionStatus$","removeEmployeeToConversationModel","updateSupportConversationState","toNewTabManagePatientProfile","handleToggleAddUser","handleAddUser","handleRemoveUserFromThread","handleCloseTicket","renderMobileSideArea","PatientInfoTooltipComponent","renderHeaderArea","messageDivider","messageDate","InternalThreadComponent","scrollTo","setScrollTo","renderMessages","InternalConversationComponent","signedBy","signDate","patientInfo","patientName","InternalThreadViewComponent","InternalConversationViewComponent","getAllMessagesInternal","ChatMembersComponent","InternalChatComponent","PatientUserSpecification","signOffConversation","handleNavigateToPatient","handleSignOff","forwardEnabledEmployees","settings","names","forwardEmployee","forwardEmployeeId","ForwardIcon","EmployeeConversationsComponent","EmployeeConversationsPage","contentMargin","displayChildren","messagingTitle","messaging","BackButton","BackButtonDialog","inputRoot","backButton","contentItems","awayMessageTemplatesService","awayMessageTemplates","templatesLoading","isChanged","isSubmitting","awayMessageEnabledFrom","awayMessageEnabledTo","awayMessageTemplateId","templates","WildHealthSwitcher","switchBase","track","Switch","MessageSettingsComponent","initSettings","messageSettings","awayMessageTemplates$","templatesCb","getAllTemplates","updateSettingsModel","updateConversationsSettings","handleParamChanges","handleChangeSectionState","handleSaveChanges","information","template","MessageSettingsPage","messageSettingsTitle","ConversationSubject","messagesContent","titlePaddingTop","FullHealthCareChatComponent","participantsInitials","conversationTitles","messageContent","historyTitle","historyItem","historyItemContent","historyContext","historyGoBackTitle","placeholderImage","subjectSection","subjectTitle","FullStaffChatComponentView","supportConversationSubjects","Billing","TechSupport","Scheduling","PlanQuestions","Feedback","TestKits","healthCareConversationSubjects","ExercisePlan","Nutrition","LifestyleRoutines","SupplementsMedications","subjectItem","SelectConversationSubjectComponent","subjects","step","stepBorder","stepSelected","statusDate","closedIcon","activeIcon","stepLabelRoot","historyButton","CollapseHistoryComponent","isOpenCollapse","isClosed","filteredConversations","useMemo","renderStepIcon","Stepper","connector","isLast","Step","StepLabel","StepIconComponent","stepper","stepLabel","statusDateContainer","MobileCollapseComponent","StepContent","StaffConversationsHistoryComponent","activeTicketsIsOpen","closedTicketsIsOpen","FullStaffChatComponent","creatingTicket","isUpdateMessageHistory","NewTicket","showHistoryComponent","SelectedConversation","startPatientSupportConversations","handleCreateNewTicket","handleStartConversation","handleSelectConversation","handleShowHistoryComponent","PatientChatPage","threadId","chatTitle","StaffChatState","employeeNames","awayNotification","navy100","notificationToolTip","notificationList","listStyle","popper","HealthCareChatComponent","toChat","handleNavigateToChat","renderNotificationArea","History","Selected","StaffChatComponent","handleOpenConversation","handleNewConversationClick","handleNavigateToMessageHistory","renderCreateNewConversation","PatientConversationsComponent","isSupportLoading","isHealthCareLoading","isSupportPhotosLoading","isHCPhotosLoading","supportPhotosCB","hcPhotosCB","e1","e2","conversationNotifications","targetConversationNotifications","handleRemoveTargetNotifications","PatientConversationsPage","patientsSubmissionsComponentColumns","messagePreview","descriptionTitle","cursorPointer","PatientsSubmissionsComponent","isNavigating","targetLocationId","targetChatId","supportSubmissions$","getSupportSubmissions","supportSubmissions","addConversation","expandedConversation","handleToggleMessage","patientsSubmissions","colSpan","PatientsSubmissionsPage","patientsSubmissionsTitle","fade","common","searchIcon","inputField","transition","transitions","SearchComponent","defaultValue","handleSearch","searchValue","InputBase","input","DnaFilesFilters","all","synchronized","notSynchronized","failed","DnaFilesSynchronizationFilters","DnaFileSynchronizationStatuses","SortingSource","dnaFilesStore","dnaFile","dnaFilesQuery","dnaFiles$","dnaFilesService","updateDnaFiles","updateDnaFile","dnaFilesView","dnaFilesAll","sortingColumns","isFileSynced","selectedFilter","triggerView","getDnaFilesView","filteredFiles","isFileFailed","filterDnaFiles","searchedFiles","totalLenght","a1","a2","viewFiles","newDirection","columns","downloading","getFileSize","downloadFile","getNotificationsByType","isSynchronized","syncStatusChange","retrying","retryFile","PaymentPlanType","PaymentPlanId","InclusionOption","DNAFilesMonitorComponent","handleSorting","handleDownloadClick","handleSyncStatusChange","handleRetry","handlePageChange","getAllAvailablePages","emptyPlaceholder","TableSortLabel","isFileTagged","Chip","AddonOrders","TableFooter","DNAFilesMonitorPage","dnaFilesTitle","PaymentSteps","InclusionOptionNames","NoOne","FirstFree","FirstAnnualFree","Limited","Unlimited","AddOnProvider","paymentPlansStore","plans","trialPlan","regularPlans","activationPlans","founderPlans","proposedPlans","upsellPlans","activePaymentPlans","selectedPlan","selectedPeriod","selectedPrice","isCouponApplied","couponCode","coupon","employerProduct","promoCodes","isTrial","isFounder","HealthCoachingTier","WildHealthLight","isLimited","Upsell","prices","isExclusive","promoCodeId","paymentPlansQuery","plans$","trialPlan$","regularPlans$","activationPlans$","founderPlans$","proposedPlans$","upsellPlans$","activePaymentPlans$","selectedPlan$","selectedPeriod$","selectedPrice$","isCouponApplied$","coupon$","couponCode$","employerProduct$","promoCodes$","paymentPlansService","trialOrderOnShow","limitedPlanOnSelect","employerKey","updatePlans","asNotLimited","resetCoupon","resetPeriodPrices","period","addPromoCode","deletePromoCode","promoCodeModel","cancelledSuccess","editPromoCode","getPaymentPlanFullName","periodInMonths","addOnProvidersNames","ImageMark","Elysium","LabCorp","Quest","Boston","addOnProvidersImages","addOnsList","OrderType","Lab","Epigenetic","Dna","stateList","joinedPractice","stateInitial","paymentPlansInitial","filtersState","isPodsOpen","isProvidersOpen","isCoachesOpen","isPlansOpen","isAddOnsOpen","isStateOpen","isAllStateSelected","isAllAddOnsSelected","paymentPlans","addOns","periods","periodId","setPlans","pods","pod","couchesAndProviders$","setCoachesAndProviders","orderTypes","orderTypeNames","patientsTotalCount$","patientsTotalCount","getActiveCoachesAndProviders","sortingColumn","setDirection","toLocaleLowerCase","toSelect","podId","nested","avatarProvider","accent2","avatarCoaches","accent4","avatarEmpty","closeIcon","ManageAllPatientsComponent","handleToggleFilters","handleToggleAddOns","handleToggleState","handleTogglePlans","handleToggleProviders","handleToggleCoaches","handleTogglePods","handleApplyFilters","handleSearchState","handleSearchQueryChanges","handleOnPaymentChanges","handleOnPodChanges","handleProviderChanges","handleCoachChanges","handleOnStateChanges","handleClearFilters","handleOnAddOnsChanges","handleSearchPlan","handleSelectAllState","handleSelectAllAddOns","renderEmployeesName","renderAvatar","displayLocation","ManageAllPatientsPage","allPatientsTitle","targetLocation","isActionsOpen","actionsAnchorEl","isCreating","l1","l2","createLocation","updateLocation","createLocationDialogComponentValidator","CreateLocationDialogComponent","updateLocationDialogComponentValidator","careCoordinatorId","careCoordinators","UpdateLocationDialogComponent","careCoordinators$","getActiveCareCoordinators","handleSelectedCareCoordinatorChange","InputLabel","htmlFor","ManageLocationsComponent","handleCreate","handleGoToManageLocation","CreatePods","permissionsService","employeesStore","inactivePermissions","rolesService","createEmployeeButtonComponentValidator","optionalValidation","integerValidationRule","initModel","registerInSchedulerSystem","npi","defaultRolesForCalendar","fullWidthField","permission","permissionCheck","progress","outlineOffset","CreateEmployeeButtonComponent","rxntExpanded","roles$","permissions$","createEmployee","handleSelectLocation","handleSelectRole","handlePermissionChange","handleAddCalendar","toggleRxNT","dividers","MigrationBetweenLocations","ResetPatientPasswordDialogComponent","updateEmployeeComponentValidator","schedulerAccountId","selectLabel","UpdateEmployeeComponent","selfManagingEmployee","showSchedulerId","getValidSchedulerAccountId","expectedValue","employee$","getActiveBy","updateEmployee","handleSchedulerAccountIdChanges","toggleShowSchedulerId","hasSchedulerAccountId","noneLocation","currentEmployeeEmail","isEditOpen","isResetPasswordOpen","selectedEmployeeId","isEmployeeActionsOpen","employeeActionsAnchorEl","selectedRoleId","searchEmployeesAction","getEmployeesAction","resentEmployeeInvite","deleteEmployee","employeeEmail","resetEmployeePassword","ManageLocationsStates","ManageEmployeesComponent","handleToggleEditEmployee","handleToggleResetEmployeePassword","handleResendEmployeeInvite","handleDeleteEmployee","handleToggleEmployeeActions","handleSubmitResetPassword","handleSearchInputChange","employeeTableClass","employeeTable","fieldIndex","isDeleteAvailable","ManageLocationUsersComponent","ManageLocationsCommonComponent","stateView","Manage","ManageEmployeesPage","isElementEnabled","employeesTitle","getNewPatients","PatientOnBoardingStatus","p1","p2","ManageIntakePatientsComponent","submitPatient","ManageIntakePatientsPage","intakePatientsTitle","intakePatients","drawer","drawerPaper","drawerOpen","easing","sharp","enteringScreen","drawerClose","leavingScreen","menuList","menuIconSize","badgeIcon","menuItemText","menuItemTextSelected","menuItemSelected","indexUnique","hasChildren","handleMenuItemToggle","WildHealthTooltip","renderChildMenuItems","initTabUnique","ProductSubType","WildHealthTabMenuControl","MenuIcon","WildHealthHeaderComponent","ProductSubTypeNames","BuiltIn","Additional","ProductPaymentFlowType","invoiceLink","AppointmentsOrderComponent","orders","patientProducts$","additionalProducts","productSubType","productType","patientProductsService","getPatientProducts","getMyProducts","getPatientInvoiceLink","getMyInvoiceLink","displayValue","displayStatus","mapOrders","paymentFlow","displayPrice","paymentStatus","dnaOrdersStore","order","replacedOrder","newOrder","dnaOrdersQuery","orders$","dnaOrdersService","addOrder","replaceOrder","updateOrder","deleteOrder","WildHealthStepIcon","completed","WildHealthVerticalStepperConnector","borderTopWidth","StepConnector","WildHealthHorizontalStepperConnector","alternativeLabel","CreateDnaOrderStep","newDnaOrderDialogValidator","defaultParams","barcode","outboundShippingCode","returnShippingCode","displayMoney","isNegative","noCommas","amountString","NewDnaOrderDialog","SelectShipOption","isManual","ManualFlow","ShippedKit","addOnIds","barCode","handleToggleManual","handleNextStep","shippedLabel","ManualLabel","shippedControl","ManualControl","btnName","disabledStatus","renderProcessButton","backBtn","renderNextButton","DnaOrdersComponent","handleNavigateToReplacement","handleOrderKit","handleToggleNewOrderDialog","selectedOrder","getMyOrders","selectedOrderId","isEdit","isUpdating","updateModel","patientShippingNumber","laboratoryShippingNumber","updatePatientDnaOrders","handleToggleOrderDetails","handleToggleEditOrder","handleUpdateOrder","isMobile","orderManageSectionWithTypes","canEdit","emptyPlaceHolder","displayDataValue","displayUpsLink","TransitionComponent","Zoom","leaveDelay","displayUspsLink","isLoadingNewKit","isNewOrderDialogOpen","shortOrderStatusNames","OrderStatus","Failed","Ordered","orderStatusNames","activeStep","orderStatusIndexes","statusLogs","renderSmallContent","DnaOrderResultsComponent","isResulted","isReplaced","DnaOrderReplacementComponent","handleNavigateToOrders","handleOrderReplacement","orderId","dna","handleToggleReplacement","replaceButton","canReplace","DnaStates","addOnsStore","addOnsQuery","addOns$","orderType","viewState","DnaComponent","addOnsLoading","stateViews","Replacement","getByType","epigeneticOrdersStore","epigeneticOrdersQuery","epigeneticOrdersService","addOnsService","AddOnsStore","onUpload","paymentPlanId","grouping","labProvider","hasFreeEpigeneticOrders","freeEpigeneticOrders","usedAt","expiredAt","getEpigeneticAddOns","getPracticeId","addOn","orderKit","refreshPatientProducts","EpigeneticComponent","paidAt","invoicePaid","invoiceUnpaid","darkGray","invoiceCancelled","circleGreen","circleRed","circleGray","WildHealthWarningMenuItem","dialogWidth","CancelLabOrderDialogue","canCancel","setDefaultState","onCancel","callbackModel","handleUpdateReason","handleSubmitCancel","MarkLabOrderAsPaidDialog","handleMarkAsPaid","onMarkAsPaid","LabOrdersComponent","handleNavigateToOrderNew","handleNavigateToInvoice","navigateToInvoice","isDownloadingRequisition","targetOrder","labs","getRequisition","downloadUrl","setAttribute","getMyRequisition","pc","labOrderId","cancelOrder","markAsPaidOrder","handleViewRequisition","handleBuyNewLabOrder","canBuyNewLabOrder","handleNavigateToInvoiceFromState","handleCancelOrder","handleMarkOrderAsPaid","locationSearch","managePatientProfile","displayUtcDateValue","isPaid","expectedCollectionDate","isCancelled","Cancelled","statusClass","statusText","cancelledInfoTip","InvoiceManagement","pricingService","onView","onNew","onUpdate","addOnItem","searchBox","totalPriceText","totalContext","totalPriceContent","paddingInline","selectedText","headerBox","UploadButton","systemBlack","PricingDialogComponent","handleNewPricing","handleModifyLabPricing","handleUpdatePricingByDocument","selectedItems","totalPrice","selectedAddOn","selectAddOns","selectOrdering","delayDebounceFn","splice","total","sum","pricingId","exportData","integrationId","wb","Sheets","XLSX","json_to_sheet","SheetNames","excelBuffer","write","bookType","FileSaver","handleOnFilter","handleAddNewLab","handleExportDocument","handleUploadDocument","ManageLabPricing","addNewLabPricingComponentValidator","notNegativeValidationRule","AddNewLabPricingDialogComponent","createAddOn","handleBack","alternativeOffer","alternativeAddon","UpdateLabPricingDialogComponent","updateAddOn","minRows","deleteIcon","UploadExcelFileDialogComponent","editIndex","handleUpload","getAllowedExtensions","indexOfSlesh","lastIndexOf","handleSaveAttachment","fileToSave","replaceAll","isInteger","fileToCange","indexPoint","removeTypeFromName","handleFileUpload","handleEditAttachment","maxFiles","iframeUrl","PricingButton","LabOrderIFrameComponent","getOrdersIFrame","openNew","deleteAddOn","openUpdate","upload","handleViewPricing","handleAddNewAddOn","handleModifyAddOn","handleUploadAddOnsDocument","newTab","NewLabsOrderComponent","invoice","boxSizing","LabOrderPlacedComponent","isPaying","pay","handleProcessCharge","sku","labInvoicePdfService","invoiceLogo","xhr","XMLHttpRequest","reader","FileReader","onloadend","readAsDataURL","headerBody","ValuesBody","headerRows","invoiceTitle","invoiceSubTitle","companyTitle","companySubTitle","tableHeader","tableValue","LabStates","LabOrderInvoiceComponent","dataUrl","handleExportInvoice","LabComponent","OrderNew","InvoicePlaced","Invoice","OtherOrdersViewState","OrdersPdfService","signetAt","referralOrderPdfService","signedAt","Signed","allDiagnoses","primaryDiagnosis","primaryDiagnosesId","otherDiagnoses","primaryDiagnosisInline","otherDiagnosesInline","allDiagnosesCodes","dateOfBirth","insuranceProvider","insuranceId","clinicalReasonForReferral","urgencyTimeToAppointment","patientPreferences","otherOrderPdfService","diagnosisCode","patientAddress","orderingProvider","reasonForOrder","preferredLocation","CoverageStatus","icdCodesService","insuranceService","onCreateInsurance","onUpdateInsurance","requestCreateInsurance","requestUpdateInsurance","coverage","stateId","age","separator","memberId","isPrimary","frontImage","backImage","policyHolder","relationship","addCoverage","coverageId","addAttachment","isAvailable","getOrderItemDescription","delimiterIndex","defaultInitialContent","isLoadingIcd","isProcessing","testOrderGroup","handleAutoComplete","priority","insurance","getData","getDiagnosis","addOnId","getCoveragesByEmploy","getMap","getOrdering","addOnsOtherOrder","addOnsGroupNames","openSignOff","modelUpdate","sendForReview","modelCreate","otherOrdersService","primaryDiagnosisId","diagnoses","needSpecification","SignOffEmployeeType","infoBox","chip","groupTitle","selectEmployeeButton","selectedEmployeeButton","SignOffDialogComponent","isOrderCreate","selectedEmployeeType","close","isProviderOnly","discard","handleSelectedEmployeeType","handleNotesChanges","maxRows","editIcon","addIcon","addIcon2","addText","iconCheck","connectedLine","isFocusInCurrentTarget","relatedTarget","node","parentNode","ReferralOrdersViewState","OrderDiagnosisComponent","grid","selectedDiagnosis","getAutoComplete","handleTextInfoChange","handlePrimaryChange","enableAdd","valueToEdit","indexToEdit","diagnosisCommon","selectedCodes","handleDeleteItem","handleEnableAdd","handleAddChanges","handleAddSubmit","handleEditChanges","handleEnableEdit","handleSubmitEdit","starIcon","statIconChecked","onBlur","freeSolo","NewOtherOrderComponent","handleSendForApproval","handleSaveAsDraft","handleSaveAndComplete","handleDiagnosisChange","handlePrimaryDiagnosisChange","handleAdditionalInformationChanges","handleUrgencyChanges","handlePreferenceChanges","handleOrderReasonChanges","handleAddOnSelect","handleAddonDescriptionChanges","canConfirm","canSendForApproval","handleOpenGroup","renderAddOn","String","RadioGroup","OtherDiagnosticComponent","AllOrders","handleDownloadOrder","ordersQuery","otherOrders$","UpdateOrder","NewOrder","handleDeleteOrder","handleOpenOrder","handleNewOrder","Draft","orderCreateStatusNames","UnderReview","getIcdCodesAutoComplete","Referral","referralOrdersService","HealthReportSections","RecommendationTypesNumbers","RecommendationTypes","NewReferralOrderComponent","handleReasonChanges","ReferralsOrdersComponent","referralOrders$","OrdersComponent","HealthReportPlaceHolder","HealthReportPages","HealthReportMode","HealthReportVersion","HealthReportDialogName","RecommendationSetType","MicrobiomeType","HealthReportStatus","recommendationRowsCapacity","Macronutrient","KryptoniteFoods","SuperFoods","CompleteDiet","ExerciseAndRecovery","Microbiome","Neurobehavioral","Cardiovascular","Dementia","InsulinResistance","Extra","recommendationNameOld","recommendationName","dnaDefinitions","DnaImportance","Preparing","InProgress","Submitted","ReportStrategy","ReportSectionKey","getFullRecommendationContentNew","previousValue","currentValue","getFullRecommendationContent","manualContent","endsWith","PdfLoaderComponent","healthReportServices","reportId","prefillReport","reportSettings","RoadMap","Overall","DietAndNutrition","ChronicDisease","Details","Appendix","GenomicGlossary","HealthReportBasePage","getCurrentReportOwner","hasTitle","renderHeader","renderFooter","HealthReportMobileBasePage","firstPage","HealthReportChronicDisease0Page","PrintMode","tertiaryFontReport","sizeBigReport","textRegularReport","textMediumReport","img","LabInputNames","TotalCholesterol","HdlCholesterol","LdlCholesterol","Triglycerides","LdlP","SmallLdlP","LpA","ApolipoproteinB","Desmosterol","Lathosterol","Campsterol","Sitosterol","Cholestanol","Homocysteine","Ast","Alt","B12","Folate","FolateRbc","Tmao","UricAcid","Ferritin","Omega3","VitaminD","CoQ10","LinoleicAcid","FastingGlucose","FastingInsulin","HgbA1C","Crp","AgRatio","LpPla2","OxLdl","Dhea","Igf","TestosteroneTotal","TestosteroneFree","Shbg","Estradio","Progesterone","Lh","Fsh","Tsh","FreeT4","FreeT3","Cortisol","Homir","TrigHdl","MicrobiomeInputNames","InflammationScore","DiversityScore","LabelPosition","LabInputLabels","allowedFileExtensions","DNAReport","Andme","LabCorpElation","Ancestry","LabCorpOriginal","MicrobiomeData","Gutbio","dietNames","Vegan","Veggie","Pescatarian","Mediterranean","Whole","GlutenFree","Paleo","Keto","exerciseNames","NoPreference","Endurance","Strength","optimizationNames","Incomplete","ethnicityNames","American","White","Indian","Pakistani","Bangladeshi","OtherAsian","BlackCaribbean","BlackAfrican","AfricanAmerican","Chinese","Hispanic","Arab","Korean","Japanese","diabetesNames","No","Type1","Type2","LabResultComponent","ProgressDiagramComponent","unavailable","positionPriorityShort","1","BottomRight","2","TopRight","positionPriorityMedium","BottomLeft","TopLeft","3","4","positionPriorityLong","Bottom","Top","5","6","dataPriority","labelPosition","updateLabelPositions","setupLabelPosition","createGradient","renderData","detailedRiskData","unavailableRiskData","riskColorMap","exerciseRiskColorMap","ScaleChartComponent","dataSet","startAngle","endAngle","innerRadius","outerRadius","paddingAngle","dataKey","isAnimationActive","entry","angle","renderPointer","renderScaleChartComponent","colorData","isCalculated","exerciseReportSubTitle","reportTitle","reportSubTitle","referenceLinkPage","referenceLink","HealthReportChronicDisease1Page","labValues","labReport","sizeMediumReport","longevityReport","mesaRiskScore","scorePercent","cvdRiskScore","getLabReportValue","sizeSmallReport","shortcutView","linkValidationRule","test","readonly","printable","fullwidth","saveChanges","HealthRecommendationMode","createTextWithLinks","entities","decodeHTMLEntities","sanitizeRecommendationContent","txt","innerHTML","DOMPurify","sanitize","HealthRecommendationComponent","handleContentChanges","handleManualContentChanges","AutoGenerated","recommendationMode","setRecommendationMode","renderPlaceholder","renderEditableRecommendation","ManuallyEntered","handleInputModeToggle","handleOnKeyDownAuto","contentOnChanges","handleOnKeyDownManual","manualContentOnChanges","renderReadonlyRecommendation","recommendationContent","dangerouslySetInnerHTML","__html","renderPrintableRecommendation","printableContent","EditMode","ReadonlyMode","renderRecommendation","textFiel","RecommendationPlaceHolder","emptyRecommendation","RecommendationSingleSelectComponent","currentRecommendation","handleSelected","handleAddRecommendation","isGeneralPage","handleOnKeyDown","idFild","HealthReportChronicDisease2Page","handleChangesNewRecommendation","handleSaveChangesNew","SetRecommendation","cardiovascularRecommendation","DnaTableComponent","colorMap","importance","NotImportant","HighImportance","redFlag","yellowFlag","HealthReportChronicDisease3Page","apoeAccuracyScore","dietAndNutritionReport","insulinIcon","insulinResistanceScore","round","dementiaRiskScore","brainIcon","dementiaRecommendation","size28","HealthReportChronicDisease4Page","simpleBaseTitle","carbonIntoleranceScore","alphaReport","homir","range","hdlTrigRatio","insulinResistanceRecommendation","HealthReportChronicDisease5Page","inflammationRiskScore","inflammationRecommendation","HealthReportDetails1Page","definitions","localeCompare","definition","HealthReportDetails2Page","HealthReportDetails3Page","HealthReportDetails4Page","getLabInputRange","renderLabInputRange","wrapBrackets","rangeString","dimension","getMaxValueByRange","HealthReportDetails5Page","lipidsValues","hormonesValues","methylationValues","inflammationValues","vitaminsAndMicronutrientsValues","insulinResistanceAndMetabolismValues","HealthReportDietAndNutrition0Page","whImg","sortLabInputValues","dataSetId","getDataSetByLabLatestValue","dataSets","datesetForRecentValue","getRange","latestValue","wildHealthOptimalRange","Custom","CircleDiagramComponent","percentColor","radius","RADIAN","PI","labelLine","midAngle","percent","cos","sin","textAnchor","dominantBaseline","ColorDescriptionComponent","HealthReportDietAndNutrition1Page","cycleDiagramData","recommendedMacros","carb","fat","pro","fatIntoleranceScore","satFatIntoleranceScore","HealthReportDietAndNutrition2Page","macronutrientRecommendation","HealthReportDietAndNutrition3Page","HealthReportDietAndNutrition4Page","methylationScore","cholineRiskScore","folateScore","tmaoRiskScore","methylationRecommendation","HealthReportDietAndNutrition5Page","vitaminsAndMicronutrientsDna","vitaminsAndMicronutrientsRecommendation","HealthReportDietAndNutrition6Page","kryptoniteFoodsRecommendation","superFoodsRecommendation","HealthReportExerciseAndRecovery0Page","HealthReportExerciseAndRecovery1Page","exerciseAndRecoveryReport","strengthAndEnduranceScore","recoveryScore","intensityScore","HealthReportExerciseAndRecovery2Page","ExerciseReportTableCell","ExercisePlanScheduleComponent","week","exercises","weekExercise","exercise","monday","tuesday","wednesday","thursday","friday","saturday","sunday","float","ExercisePlanScheduleMobileComponent","HealthReportExerciseAndRecovery3Page","exercisePlan","HealthReportExerciseAndRecovery4Page","getHR","maxHeartRate","traningZoneData","zone","hr1percent","hr1value","hr2percent","hr2value","rpe","effort","psyAdapatations","chronologicalAge","HealthReportExerciseAndRecovery5Page","coreData1","reps","program1","variation","program2","notes","coreData2","ExerciseBodyCircuitComponent","bodyCircuit","strengthCircuits","strengthCircuit","genotype","intensity","hiitWorkouts","hiitWorkout","ExerciseBodyCircuitMobileComponent","HealthReportExerciseAndRecovery6Page","bodyCircuits","HealthReportExerciseAndRecovery7Page","exerciseDnaKeys","HealthReportLongevity0Page","HealthReportLongevity1Page","ageData","epiGeneticAge","biologicalAge","realAge","oxidativeStressRiskScore","telomersRiskScore","cancerRiskScore","metabolismScore","lifespanScore","HealthReportLongevity2Page","HealthReportMicrobiome0Page","segment","MicrobiomeItemComponent","multiplier","ranges","r1","r2","descendingComparator","risk","MicrobiomeItemMobileComponent","HealthReportMicrobiome1Page","inflammationScore","microbiomeReport","microbiomeResistance","diversityScore","microbiome","Flora","renderInflammationScore","renderDiversityScore","HealthReportMicrobiome2Page","HealthReportNeurobehavioral0Page","HealthReportNeurobehavioralPage","neurobehavioralReport","neurobehavioralDna","roadMap","leaf","leafContainer","labelWrap","overallScoreDescription","overallScoreIndicator","AtGoal","IncompleteData","AreaOfImprovement","HealthReportSleep0Page","HealthReportSleepPage","sleepReport","circadianDna","imgGraph","HealthReportStartPage","displayReportInfo","reviewer","HealthReportSupplementsPage","overallReport","supplementsRecommendation","HealthReportAppendixPage","HealthRecommendationTextComponent","HealthReportRecommendationPage","calculatePartSize","maxLine","paragraphs","partSize","isOverflow","lineMax","rowsCount","linesCount","splitOnParts","mainPageMaxRows","mainPageMaxLine","extraPageMaxRows","extraPageMaxLine","parts","paragraphBuffer","paragraphLastPart","breakDietAndNutrition2Pages","fullRecommendation","recommendationParts","shift","recommendationPart","recommendationPageProps","breakDietAndNutrition4Pages","breakDietAndNutrition5Pages","breakDietAndNutrition6Pages","completeDietRecommendation","breakExerciseAndRecoveryPages","breakSleepPages","breakNeurobehavioralPages","breakMicrobiomePages","breakChronicDisease2Pages","breakChronicDisease3Pages","breakChronicDisease4Pages","breakChronicDisease5Pages","breakLongevityPages","breakSupplementsPages","healthReportPdfServices","_snapshotFormat","_pages","StartPage","DietAndNutrition0","DietAndNutrition1","DietAndNutrition2","DietAndNutrition3","DietAndNutrition4","DietAndNutrition5","DietAndNutrition6","ExerciseAndRecovery0","ExerciseAndRecovery1","ExerciseAndRecovery2","ExerciseAndRecovery3","ExerciseAndRecovery4","ExerciseAndRecovery5","ExerciseAndRecovery6","ExerciseAndRecovery7","Sleep0","Sleep1","Neurobehavioral0","Neurobehavioral1","Microbiome0","Microbiome1","Microbiome2","ChronicDisease0","ChronicDisease1","ChronicDisease2","ChronicDisease3","ChronicDisease4","ChronicDisease5","Longevity0","Longevity1","Longevity2","Details1","Details2","Details3","Details4","Details5","breakablePages","_ignorePages","OldVersion","rootContainer","HealthReportPdfServices","_createRootContainer","mainPageProps","pdf","jsPDF","pageTypes","pageType","addPage","breakablePage","_generatePage","pageFunction","extraPageProps","_generateExtraPage","save","_dispose","_getSnapshot","snapshot","_getSize","addImage","_toImage","_renderPage","html2canvas","ReactDOM","pageWidth","getWidth","pageHeight","getHeight","imageWidth","imageHeight","ratio","removeChild","getElementsByTagName","patientHealthReportService","recommendationsService","addRecommendation","updateRecommendation","removeRecommendation","addRecommendationTrigger","updateRecommendationTrigger","removeRecommendationTrigger","isNewRecommendations","navigationContext","recommendationsV2","getValueFeatureFlag","RecommendationsV2","isBannerExist","isGenerating","isPublishing","isRegenerating","lastReport","actionsMenuAnchor","isChangeReviewerOpen","isSelectRecommendationSetOpen","dialogName","actionSelectReportAnchor","selectedReportName","fixedSectionShow","getReports","getPatientRecommendations","getDefaultRecommendation","canGenerateReport","canPublishReport","canRegenerateReport","canReportDownload","accent3","getById","observable","generate","getRecommendationToSend","regenerate","goUp","nAgt","navigator","userAgent","browserName","publish","Update","goTo","toolContainer","toolButton","toolActions","toolActionsPad","toolActionsMobile","reportSelectRoot","navigationContainer","navigationBubble","stepsContainer","navigationButton","stepButton","stepButtonSelected","reportPagePopover","stepMobileButton","boxCircle","disabledBtn","infoWrapper","infoContainer","rotateIcon","iconSize","navigationMobileContainer","mobileDownloadSection","fixedSection","fixedCloseButton","ActionsButton","reportReviewerId","newReviewer","reviewers","saveNewReviewer","reviewerId","ChangeReviewerDialogComponent","handleReviewerChange","selectProvider","reportRecomendationSet","handleReportGenerate","handleReportRegenerate","selectedType","isSelectReport","isRecommendationsDialogOpen","handleOpenRecommendationsDialog","baseId","recommendationType","resetReportForRecommendation","NewAndSkipReview","recommendationsToSend","putRecommendationToSend","handleSkipReview","Previous","Compare","getByIdForRecommendation","selectAll","isPrepereRecommendation","getLast","ExpandableComponent","expanded","refCurrent","collapseIcon","sections","sectionsIsChanged","isSelectedAll","prepereRecommendationToSend","selectedAll","checkSelectedAll","newRecommendation","unix","RecommendationSelectComponent","currentRecomemendation","RecommendationsComponent","handleExpandSection","getRecommendation","handleSelectedAll","sectionsContent","recommendationsPrevious","isSelectedAllNew","isSelectedAllPrev","selectedAllNew","selectedAllPrev","selectedRecommendations","selectedRecommendationsPrevious","recommendationForIsSelected","recommendationPreviousForIsSelected","recommendationForUpdated","updatedRecommendation","textSecondary","noRecommendation","recommendationUpdate","noRecommendationNew","RecommendationSelectWithPreviousComponent","handleSelectedNew","handleSelectedPrev","handleChangesPrev","hendleUpdateRecommendation","renderPlaceHolder","renderAddRecommendation","renderRecommendationCurrent","handleOnKeyDownPrev","renderRecommendationNew","renderCurrentRecommendationsBloc","theSameRecommendation","getRecommendationForCompere","RecommendationsWithPreviousComponent","isPrepareRecommendation","getRecommendationNew","getRecommendationCurrent","handleSelectedAllNew","handleSelectedAllPrevious","handleUpdateRecommendation","RecommendationSelectUpdateComponent","handleChangesNew","handleOnKeyDownNew","RecommendationsUpdatePreviousComponent","RecommendationsDialogComponent","handleSubmitUpdate","handleCancelRegenerate","getSubTitle","getContent","SelectRecommendationSetDialog","handleTypeChange","handleReportChange","handleCloseRecommendationsDialog","handleGoBackRecommendationsDialog","selectRecommendationSet","selectReport","HealthReportToolbarComponent","navigationSteps","ReportRecommendations","onCloseBanner","getStatusDateLabel","getStatusColor","handleToggleCloseChangeReviewer","handleReportDownload","handlePublishReport","handleCloseSelectRecommendationSet","handleOpenSelectRecommendationSet","handleSelectReportToggle","handleGoToReportPage","handleFixedSectionToggle","selectReportMobile","renderRegenerateButton","HealthReportGeneration","canGoBack","goNext","canGoNext","HealthReportRecommendationsPage","toolBarSection","HealthReportComponent","isReadonly","dnaInputs","reportToSend","getNavigationSteps","reportStart","healthReportPageProps","_defaultReportPages","_defaultReportPagesNew","_defaultReportPagesRecommendation","_defaultReportPagesRecommendationForPatient","_defaultMobileReportPages","_defaultMobileReportPagesNew","_defaultMobileReportPagesRecommendation","_defaultMobileReportPagesRecommendationForPatient","_healthReportPages","_healthReportMobilePages","_recommendationNavigationSteps","_defaultNavigationSteps","_navigationSteps","getReportPagesSteps","reportPage","mobileReportPage","getMobileReportPagesSteps","nextButton","increasePage","decreasePage","allPages","LocationAnalytics","inputsStore","fileInputs","labInputs","generalInputs","microbiomeInputs","viewMode","Graph","mesaScore","fileInput","dataSetsState","labInput","inputsQuery","uploads$","labInputs$","generalInputs$","dataSets$","microbiomeInputs$","viewMode$","apoeInfo$","patientInputsService","urInputs","urlUploads","urlGeneral","urlLab","urlMicrobiome","urlApoe","fileURL","dataProvider","addFileInput","deleteFileInput","inputs","inputsService","urlInputs","urlMesa","mediaType","setLabIntputs","datasetId","updateLabIntputs","models","changedInputs","UploadInputsDialog","dataProviders","selectDataProviders","handleDataProviderSelect","allDataProviders","displayInputType","displayFileName","_circle3","_circle4","fillOpacity","dy","dx","imageSection","TutorialDialog","currentStep","opened","tutorialContent","currentIndex","handleSkip","featuredImage","UploadInputsFilesComponent","fileType","canDownload","canUpload","isDownloading","isUploading","isDialogOpened","selectedFile","tutorialStatus","uploads","applicationQuery","tutorialStatus$","tutorialName","isAcknowledged","applicationService","checkFirstVisit","fileId","getLabInputs","deleteUpload","viewinline","closeTutorial","handleDownload","handleView","actionsIcon","uploadedAt","observationDate","DataFilesComponent","getUploads","canEmployeeUpload","LabsModification","canPatientUpload","canDownloadDna","DnaCanDownload","generalInputsComponentValidator","rangeValidationRule","GeneralInputsComponent","isVitalSaving","isCalculating","errorMesa","getGeneralInputs","updateGeneralInputs","getMesaScore","mesa","handleNumericChanges","handleCalculateMesa","exerciseGoal","exerciseType","dietChoice","dietType","exerciseActivitiesFrequency","meditationFrequency","rem","ethnicity","eth","smokingCategory","diabetesType","mesaRiskUrl","deepSleep","sleep","ageBioUrl","fastingRegularly","yn","cancerScreeningCompleted","familyHeartAttack","chronicKidneyDisease","atrialFibrillation","bloodPressureTreatment","rheumatoidArthritis","brainOptimization","optimization","mindOptimization","bodyOptimization","gutOptimization","longevityOptimization","bioHackingOptimization","ShowUntestedSwitcher","thumb","focusVisible","sortLabInputDataSets","WhOptimalRanges","stickyLeft","tableToolbar","addLabButton","shadowRight","popoverDivider","BiomarkerSlider","isDanger","mint200","rose500","valueLabel","isRevert","borderBottomRightRadius","rail","Slider","navy900","renderEmptyValue","LabInputValueComponent","outOfNorm","notificationType","isInitialized","warning","renderNotificationImage","CustomTooltip","LabResultsGraphComponent","renderRange","minValue","maxValue","graphData","strokeDasharray","dot","CheckIsNormal","gray200","axisLine","tickLine","tick","renderLabResultValuesGraph","initializedValues","LabInputRangeComponent","LabInputsSectionComponent","isHightlighted","showUntestedValue","hiddenDataSets","handleEditLab","handleHighlightLab","selectedLabInputId","selectedLabInput","lab_name","handleToggleDescription","paperContainerRef","getRecentValue","isError","dataset","inputName","inputId","pxString","dataLength","tableContainerWidth","offsetWidth","tableWidth","isScrollable","valueWidth","dataSetByLatestValue","isHighlighted","renderValuesView","targetLabInput","isEditMode","disableDates","toStringDate","isDateInDisabledRange","dates","getDisableDates","dateAvailable","handleDateChanges","formatted","getSeconds","isValidState","navigationIcon","dateTitle","calander","IOSCalender","activeStartDate","setMonth","handleCanMoveNext","calendarType","showNavigation","UpdateLabInputRangeComponent","ValueScope","renderRangeInput","AddLabDialogComponent","handleRangeChanges","handleNameChange","handleAddNewMiscLab","shouldDisableDate","inputValues","draftValues","noOptionsText","filterOptions","forcePopupIcon","onChanges","checkboxDropdownWrapper","placeHolder","placeHolderOpen","menuPaper","FilterButton","OptionsButton","CheckboxDropdown","ManageLabInputDatesComponent","LabInputsComponent","isHighlightExpand","isAddLabsDialogOpen","displayRange","selectedDataSetId","selectedDataSet","AllKey","createDefaultValue","isNewMisc","isChangedInThisSession","editable","isPresent","getDataSets","allDataSets","new","allValues","createdValues","newOtherValues","appendedValues","updatedValues","deletedValues","toCreate","labInputRange","toUpdate","newLabInputs","updatedLabInputs","toAppend","toDelete","toCorrect","labInputMutations","updateLabInputs","formattedDate","newDataSet","deleteDataSets","UpdateLabInputHighlights","deleteLabInputs","existingDataSetId","handleEditMode","handleValueChange","getCurrentDataSet","handleAddLabDialogToggle","getDropDownItems","handleColumnCheck","handleHighlightExpand","handleHighlight","handleToggleShowUntested","dropDownItems","ds","highlightedLabs","warningMessage","WildHealthTextField","InputComponent","textFieldClasses","isDisabled","microbiomeInputsComponentValidator","validateInput","validate","getMicrobiomeInputs","updateMicrobiomeInputs","maWidth","MicrobiomeInputsComponent","inflammation","diversity","CreateNote","noteName","titleTextBox","MedicationComponentFieldNames","itemName","medicationComponentValidator","MedicationAddNewDialogComponent","MedicationEditDialogComponent","MedicationsComponent","handleAddMedications","handleEditMedications","handleRemoveMedications","isMenuOpened","isAddNewOpened","isEditorOpened","handleAddNewToggle","selectedItem","backgroundGray3","MedicationsDCComponent","handleMedicationsIsStoppedChange","SupplementsDCComponent","SupplementComponentFieldNames","supplementComponentValidator","SupplementAddNewDialogComponent","SupplementEditDialogComponent","iframe","thirdPartyIntegrationService","authStore","addExternalAuth","onOrdered","externalAuth","feature","handleTreatmentPlanActivated","byTreatmentPlan","treatmentPlan","getSessionToken","fullscript","sessionToken","getExternalAuthorizationProviders","env","baseUrl","fullscriptClient","publicKey","secretToken","universalId","mount","initClient","toThirdPartyIntegrationLoginPage","RecommendFullscriptSupplementsComponent","capitalize","SupplementsComponent","handleAddSupplements","handleFullscriptSupplements","handleEditSupplements","handleRemoveSupplements","isRecommendationOpened","toggleRecommendation","FullscriptIntegration","CreateFollowUpComponentFieldNames","goalName","interventionName","nextStepName","noteTitle","createFollowUpComponentValidator","SelectIntervalComponent","appointmentCard","ConfigureNoteAppointmentDialog","appointmentDate","handleAppointmentDate","hoursMinutes","dateResult","handleAppointmentType","handleAppointmentTime","handleAppointmentDuration","toConfiguration","InputLabelProps","shrink","handleConfigureAppointment","SelectAppointmentToNotesDialog","appointmentConfigurationOpen","dateBefore","dateAfter","sorted","handleAppointment","handleNoAppointment","handleSelectAppointmentDialog","handleChangeSelectAppointment","colorAccent1","handleSubmitSelectAppointment","StateMode","DateMode","TextFieldNoteComponent","handleChanged","key2","key3","isFollowUp","goalSideBar","deleteGoalIcon","deleteInterventionIcon","rootView","interventionDot","DataType","GoalsCompletionDateComponent","stateMode","View","dateMode","Weeks","handleStateModChanges","handleDateModChanges","Edit","Months","mewCompletionDate","GoalsComponent","commonGoals","handleGoalsChanges","handleValidateGoals","enteringData","Goal","valueToAdd","setFocus","setSubmitted","dataType","goalId","handleEditGoal","handleEditIntervention","handleOnAddKeyDown","handleOnEditKeyDown","modifiedValue","Intervention","renderViewElement","completionValue","handleAddCommonGoals","handleCompleteGoal","handleTopGoal","handleDeleteIntervention","handleCompletionDateChanges","handleShortcutInsert","EducationsComponent","education","handleEducationChanges","NotePlanComponent","notesType","handlePlanTextChanges","handleLabTextChanges","handleCoachOtherTextChanges","goalsDataKey","educationsDataKey","getCommonGoals","toPatientOrdersNewTab","goalsService","currentGoals","pastGoals","pastGoalsTotal","targetCommonGoal","addCommonGoal","updateCommonGoal","addIntervention","updateIntervention","removeCommonGoal","interventionId","removeIntervention","mdmPlansService","commonMdms","targetCommonMdm","addCommonMdm","updateCommonMdm","addReason","updateReason","removeCommonMdm","mdmId","reasonId","removeReason","commonSupplementsService","commonSupplements","addCommonSupplement","updateCommonSupplement","removeCommonSupplement","RxntMedicationsDCComponent","numberOfRefills","lastDatePrescribed","ManageRxntButtonComponent","loginRxNT","handleLoginToRxNT","MedicationsRxNTComponent","coachNextAppointmentTimes","timeSpan","quantity","defaultCoachAppointmentTime","defaultProviderAppointmentTime","manualTimeSpans","originalNote","autoSaveTimer","setIsOpen","isAutoSaving","isPrefilled","patientSubscription","prewNote","labsGoals","enableCoachNextAppointment","selectedCoachNextTimeMode","selectedCoachNextTimeSpan","selectedCoachNextTimeQuantity","selectedProviderNextTimeMode","enableProviderNextAppointment","selectedProviderNextTimeSpan","selectedProviderNextTimeQuantity","isFirstSaveOriginalNote","isCommonMdmLoading","isCommonGoalLoading","isCommonSupplementLoading","saveAsDraft","getNextAppointmentDate","isProvider","targetTimeSpan","targetQuantity","handleOnKeyDownGoal","handleGoalNameTextChange","handleOnGoalNameChange","handleGoalNameChange","handleOnKeyDownGoalInervention","handleInterventionTextChange","handleOnInterventionChange","handleInterventionChange","handleOnKeyDownNextStep","stepId","handleNextStepTextChange","handleOnNextStepChange","handleNextStepChange","isChecked","handleSelectAppointmentSubmit","handleAppointmentChanges","finalVisitDate","handleVisitDateChanges","timePicker","handleTimeChanges","handleInternalNotesChanged","handleInternalNotesTextChanged","todayCoaching","handleTodayCoachingContentTextChanged","recommendedListTabs","currentListTabs","handleAddNewGoal","educations","handleAddNewIntervention","handleRemoveIntervention","coachAppointment","timeModel","displayQuantity","getCommonSupplements","recommendedList","nextSteps","handleAddNewNextStep","endOfTemplate","completedById","assignedTo","isCanCompleteNote","validateContent","saveAsCompleted","additionalNote","assignToId","signOff","getMedicationsSupplements","isNoteContentLoading","getSaveModelFromOriginalNote","autoSave","notesGroups$","notesGroups","n","isNoteWithAppointment","previousNote","previousFollowUpNotes","previousFollowUpNote","getCurrentGoalsByEmployee","getByEmployee","lastFollowUpNote","commonGoalCB","commonMDMCB","commonSupplementCB","getAllCommonMdms","getAllCommonGoals","getAllCommonSupplements","CreateFollowUpComponent","patientAllergiesQuery","patientAllergies$","patientAllergies","rxntAllergies$","patientAllergiesStore","patientMedicationUpdateComponentValidator","getInitialState","newPatientMedicationModel","PatientMedicationUpdateComponent","service","patientsMedicationsService","SupplementsPlaceHolder","emptyMeds","actions","smallRoot","itemDot","itemReaction","PatientMedicationsComponent","medicationsPart","medicationsPartView","setEditModel","renderCreateButton","renderToggleButtonCell","renderMenuItems","allergy","emptyMedications","patientSupplementsUpdateComponentValidator","PatientSupplementsUpdateComponent","getDefaultLink","handleFieldChange","linkInput","SuppsMeddsTabs","siteLink","descriptionCollapsed","descriptionExpanded","PatientSupplementsComponent","supplementsPart","isFullText","supplementsPartView","anchorElements","handleReadMore","renderInfoText","supplementsEmail","renderCreateLink","correctedLink","emptySupplements","meddsSuppsStore","meddsSuppsQuery","_g6","patientSupplementsUpdateFullscriptComponentValidator","isFullscript","searchInFullscript","SearchFullscriptSupplementComponent","initialValue","brand","PatientSupplementsUpdateFullscriptComponent","toggleFullscript","PatientSupplementsFullscriptComponent","hideTips","supplementSource","isRecommendationOpen","wording","renderPurchaseLink","PatientMedicationsRxNTComponent","prescriptionService","getPatientActiveMeds","getMyActiveMeds","PatientMedicationsSupplementsTabsComponent","initialClassName","smallClassName","createInitialConsultComponentValidator","checkManyQuestionValidationRule","WildHealthAutocompleteComponent","elementId","HealthSummaryListItemsNoteComponent","handleEditRowValue","handleEditRowName","handleAddNewRow","handleBlur","saveValue","rxnt","selectedKey","editRestricted","getEditCell","renderRowEditor","editRowValue","editRowName","nameColumn","valueColumn","addNewRow","HealthSummaryEdit","renderItemRow","editSection","getNameBtn","questionnaires","isOrderedInitialLabsCollected","isFreeTrial","errorBloodPressure","currentMap","draft","editPmhState","setEditPmhState","handleOnInternalNotesChanged","getInternalContent","internalNotes","bloodPressure","parsedValue","handleChangeSystolic","handleChangeDiastolic","yourIntention","getSectionData","dataItem","emptyModel","updateItems","arr","parseValue","editValue","editName","medicationSupplements","recommendationsHeader","scriptsGoal","fillArrayWithNoteLogs","array","questionnaire","namesMap","answers","getPmhAndHpiData","getLatestResults","HealthLog","submittedAt","initial","q","healthLog","getLatestHealthFormsResults","goalsQuestionnaire","subType","GoalsIncomplete","PatientInitialConsultSpecification","problemList","endOfNoteTitle","endSectionTitle","textArea","resize","recommendationTextArea","CreateInitialConsultComponent","baseData","noteTitleValidate","getValidateResult","saveFiles","createNoteValidator","fileTypes","baseSetState","baseGetData","addButton","isValid","validateFileType","validateFileSize","errorCB","CreateSimpleComponent","SimpleComponent","isFilesDifferent","original","isDifferent","renderFile","EmptyVisitNotesComponent","EmptyInternalNotesComponent","reviewedBy","ManageNoteCardComponent","keyIndex","handleGoToNote","handleDownloadNotePdf","downloadingNoteId","setIsDeleting","renderSpinner","showDownloadButton","handleEditNote","currentDraftNote","GetCurrentDraft","assignedAt","deletedBy","deletedAt","deletionReason","renderSecondaryText","handleNoteDelete","VisitNoteCreation","ManagedNotesCardsComponent","handleGoToCreateNote","internalNotesGroups","visitNotesGroups","createNote","visit","toShow","handleCreateNoteToggle","handleGetCurrentNote","amendedNote","employeeTypeMap","renderNoteGroups","SoapNote","ImhNote","FmhNote","providerNextAppointmentTimes","Coach","NoteSections","NextAppointmentDateComponent","handleCoachNextAppointmentChange","handleCoachNextTimeModeChange","handleCoachNextTimeSpanChange","handleCoachNextTimeQuantityChange","handleProviderNextAppointmentChange","handleProviderNextTimeModeChange","handleProviderNextTimeSpanChange","handleProviderNextTimeQuantityChange","providerAppointment","displayAppointmentDate","noteForView","renderPreviousNoteAppointmentTimes","timeInput","recommendedTime","mdmSection","timeSection","MdmComponent","handleCodeChange","handleCategoryChange","handleCategoryItemChange","handleModeChange","handleSpentTimeChanges","mdmDisabled","timeBasedDisable","handleCategorySelect","categoryIds","categoriesToComplete","employeeOnly","renderCategoryOption","itemsToSelectCount","handleCategoryItemSelect","riskDescription","minTime","maxTime","reasonDot","reasonName","NoteMdmComponent","mdms","handleMdmTextChange","handleMdmPatientTypeChange","reasons","reason1","reason2","handleAddCommonMdm","getCommonMdms","patientType","noteSectionsNames","MedicationsAndSupplements","Objective","MDM","SpecialTests","PhysicalComponent","handleDisableVitals","handlePhysicalExamChanges","isObjective","ItemsListApoeComponent","handleHideApoe","handleSelectedSours","handleEditValue","handleDateColonoscopyChanges","handleDatePsaChanges","renderEditElement","ItemsListComponent","deleteButton","HealthSummarySectionType","HealthSummarySectionPosition","BlockItemComponent","editMode","sectionOfNote","handleEditItem","getDataItem","itemsBlock","columnFormat","rowFormat","HealthSummaryBlockItemsNoteComponent","handleAddInformation","handleEditNewItem","handleSaveNewItem","getItemsByMapKey","newItem","useNameValue","getItems","subSectionItems","valueItem","viewLabelCondition","dateFormat","formatedValue","buildItems","hasItems","subSubsectionItem","AddInformationItem","getHeader","getFooter","PmhComponent","dataNew","newVersion","handleChangesOldPmh","handleSelectedSoursApoe","handleEditApoe","styleTabs","buildSectionComponent","editSectionType","Block","pmhListTabs","RosComponent","selectedVariants","handleEnableRos","setOther","handleKeyPress","SupplementsMedicationsComponent","handleMedicationStopped","handleSupplementStopped","setSelectedTab","DetailedQuestionNames","CARDIOVASCULAR","CARDIOVASCULAR_VARIANTS","HIGH_BLOOD_PRESSURE_YEAR","HIGH_BLOOD_PRESSURE_TREATMENT","HIGH_BLOOD_PRESSURE_ACTIVE","PULMONARY_EMBOLISM_YEAR","PULMONARY_EMBOLISM_TREATMENT","PULMONARY_EMBOLISM_ACTIVE","DEEP_VIEN_THROMBOSIS_YEAR","DEEP_VIEN_THROMBOSIS_TREATMENT","DEEP_VIEN_THROMBOSIS_ACTIVE","CAROTID_STENOSIS_YEAR","CAROTID_STENOSIS_TREATMENT","CAROTID_STENOSIS_ACTIVE","DIAGNOSED_EATING_DISORDER_ISSUES","DIAGNOSED_EATING_DISORDER_ISSUES_VARIANTS","CORONARY_ARTERY_DISEASE_YEAR","CORONARY_ARTERY_DISEASE_TREATMENT","CORONARY_ARTERY_DISEASE_ACTIVE","HEART_ATTACK_YEAR","HEART_ATTACK_TREATMENT","HEART_ATTACK_ACTIVE","CONGESTIVE_HEART_FAILURE_YEAR","CONGESTIVE_HEART_FAILURE_TREATMENT","CONGESTIVE_HEART_FAILURE_ACTIVE","HIGH_CHOLESTEROL_YEAR","HIGH_CHOLESTEROL_TREATMENT","HIGH_CHOLESTEROL_ACTIVE","BLOOD_CLOTTING_DISORDER_YEAR","BLOOD_CLOTTING_DISORDER_TREATMENT","BLOOD_CLOTTING_DISORDER_ACTIVE","ANEURYSM_YEAR","ANEURYSM_TREATMENT","ANEURYSM_ACTIVE","CARDIAC_VALVE_PROBLEM_YEAR","CARDIAC_VALVE_PROBLEM_TREATMENT","CARDIAC_VALVE_PROBLEM_ACTIVE","AFIB_YEAR","AFIB_TREATMENT","AFIB_ACTIVE","GASTROINTESTINAL_ISSUES","GASTROINTESTINAL_ISSUES_VARIANTS","SKIN_ISSUES","SKIN_ISSUES_VARIANTS","URINARY_ISSUES","URINARY_ISSUES_VARIANTS","KIDNEY_ISSUES","KIDNEY_ISSUES_VARIANTS","LUNG_ISSUES","LUNG_ISSUES_VARIANTS","NEUROLOGICAL_ISSUES","NEUROLOGICAL_ISSUES_VARIANTS","ENDOCRINE_HORMONAL_ISSUES","ENDOCRINE_HORMONAL_ISSUES_VARIANTS","MENTAL_HEALTH_ISSUES","MENTAL_HEALTH_ISSUES_VARIANTS","BLOOD_ISSUES","BLOOD_ISSUES_VARIANTS","MUSCULOSKELETAL_ISSUES","MUSCULOSKELETAL_ISSUES_VARIANTS","CANCER_ISSUES","CANCER_ISSUES_COMMENT","CANCER_ISSUES_VARIANTS","BREAST_CANCER_YEAR","BREAST_CANCER_TREATMENT","BREAST_CANCER_ACTIVE","PROSTATE_CANCER_YEAR","PROSTATE_CANCER_TREATMENT","PROSTATE_CANCER_ACTIVE","LUNG_CANCER_YEAR","LUNG_CANCER_TREATMENT","LUNG_CANCER_ACTIVE","COLON_CANCER_YEAR","COLON_CANCER_TREATMENT","COLON_CANCER_ACTIVE","BONE_CANCER_YEAR","BONE_CANCER_TREATMENT","BONE_CANCER_ACTIVE","LIVER_CANCER_YEAR","LIVER_CANCER_TREATMENT","LIVER_CANCER_ACTIVE","KIDNEY_CANCER_YEAR","KIDNEY_CANCER_TREATMENT","KIDNEY_CANCER_ACTIVE","BAIN_CANCER_YEAR","BAIN_CANCER_TREATMENT","BAIN_CANCER_ACTIVE","SKIN_CANCER_YEAR","SKIN_CANCER_TREATMENT","SKIN_CANCER_ACTIVE","SURGERY_ISSUES","SURGERY_ISSUES_VARIANTS","APPENDECTOMY_SURGERY_YEAR","CORONARY_ARTERY_BYPASS_SURGERY_YEAR","CAROTID_ENDARTERECTOMY_SURGERY_YEAR","CHOLECYSTECTOMY_SURGERY_YEAR","BARIATRIC_SURGERY_YEAR","HYSTERECTOMY_SURGERY_YEAR","NEPHRECTOMY_SURGERY_YEAR","SPLENECTOMY_SURGERY_YEAR","TONSILLECTOMY_SURGERY_YEAR","CORONARY_ARTERY_BYPASS","SMOKING","YEARS_SMOKING","CIGARETTES_DAY","DRINK_ISSUES","AVERAGE_DRINK_ISSUES","REDUCE_DRINK_ISSUES","CRITICIZING_ISSUES","FELT_GUILTY_ISSUES","EYE_OPENER_ISSUES","CONSUME_ALCOHOL","CONSUME_CIGARETTES","SMOKE_MARIJUANA","DRUGS_ISSUES","DRUGS_ISSUES_VARIANTS","DRUGS_ISSUES_COMMENT","PARTNERSHIP_STATUS","RELATIONSHIP_STATUS","HAVE_CHILDREN","CHILDREN_NAME","CHILDREN_AGE","LIVE_ALONE","SEXUALLY_ACTIVE","CONTRACEPTION_PROTECTION","LEARNING_CONTRACEPTION_PROTECTION","MENSTRUAL_CYCLE","MONTHLY_PERIOD","MENOPAUSE","MENOPAUSE_AGE","PREGNANT","PREGNANT_COMMENT","TOTAL_PREGNANCIES","FULL_TERM_BIRTHS","PREMATURE","MISCARRIAGES","ABORTIONS","PREGNANCY_COMPLICATIONS","PREGNANCY_COMPLICATIONS_VARIANTS","BIOLOGICAL_MOTHER_LIVING","BIOLOGICAL_MOTHER_MEDICAL_PROBLEMS","BIOLOGICAL_FATHER_LIVING","BIOLOGICAL_FATHER_MEDICAL_PROBLEMS","BIOLOGICAL_SIBLING","BIOLOGICAL_SIBLING_LIVING","BIOLOGICAL_SIBLING_MEDICAL_PROBLEMS","YOUR_GENE_MUTATIONS","FAMILY_GENE_MUTATIONS","MUTATIONS_DIAGNOSED","CANCER_DIAGNOSED","BRCA_FAMILY_GENE_MUTATIONS","MAMMOGRAM","DATE_OF_LAST_MAMMOGRAM","MAMMOGRAM_ABNORMALITIES","PAP_SMEAR","DATE_OF_LAST_PAP_SMEAR","PAP_SMEAR_ABNORMALITIES","COLON_CANCER","COLON_CANCER_DIAGNOSED","COLON_CANCER_DIAGNOSED_AGE","COLONOSCOPY","SPECIFY_SCREENING","DATE_OF_LAST_SCREENING","COLONOSCOPY_ABNORMALITIES","PSA_OR_PROSTATE","DATE_OF_PSA_OR_PROSTATE_EXAM","PSA_ABNORMALITIES","LUNG_CANCER_SCREENINGS","DATE_OF_LUNG_CANCER","MORE_60_OSTEOPOROSIS","MORE_65_OSTEOPOROSIS","MORE_65_ABNORMALITIES","TETANUS_VACCINE","DATE_OF_LAST_TETANUS_VACCINE","PNEUMONIA_VACCINE","DATE_OF_LAST_PNEUMONIA_VACCINE","FLU_VACCINE_SEASON","DATE_OF_LAST_FLU_VACCINE","COVID_VACCINE","DATE_OF_LAST_COVID_VACCINE","HEALTH_WELLNESS_REVIEW","PHQ2_1","PHQ2_2","PHQ8_1","PHQ8_2","PHQ8_3","PHQ8_4","PHQ8_5","PHQ8_6","PHQ8_7","PHQ8_8","DetailedQuestionnaireSectionNames","BIOLOGICAL_MOTHER","BIOLOGICAL_FATHER","PHQ2","PHQ8","detailedQuestionnaireSections","groupAnswerList","subQuestionList","MedicalHistoryAndLifestyleQuestionNames","DEMOGRAPHICS_AND_BIOMETRICS_ETHNICITY","DEMOGRAPHICS_AND_BIOMETRICS_HEIGHT","DEMOGRAPHICS_AND_BIOMETRICS_WEIGHT","DEMOGRAPHICS_AND_BIOMETRICS_WAIST","DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP","DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM","MEDICAL_HISTORY_CONDITIONS","MEDICAL_HISTORY_CONDITIONS_COMMENT","MEDICAL_HISTORY_CONDITIONS_FAMILY","MEDICAL_HISTORY_CONDITIONS_FAMILY_COMMENT","MEDICAL_HISTORY_DIABET","MEDICAL_HISTORY_DIABET_TYPE","MEDICAL_HISTORY_CHOLESTEROL","MEDICAL_HISTORY_BLOOD_PRESSURE","CORONARY_CALCIUM_SCORE","SCORE","SMOKING_HISTORY","ALCOHOL_HISTORY","ANY_MEDICATIONS","MEDICATIONS","SUPPLEMENT","ANY_SUPPLEMENTS","SUPPLEMENTS","DRUG_ALLERGIES","SPECIFIC_KIND_OF_DIET","RESTRICTED_FOOD","RESTRICTED_FOOD_COMMENT","OILY_FISH","RED_MEAT","PROCESSED_MEAT","SERVINGS_VEGETABLES","SERVINGS_CARBOHYDRATES","SERVINGS_LEGUMES","PRACTICE_FEEDING","PRACTICE_FEEDING_COMMENT","PRIMARY_EXERCISE_GOAL","PRIMARY_EXERCISE_GOAL_COMMENT","AVERAGE_LIGHT_EXERCISE_TIME","AVERAGE_MODERATE_EXERCISE_TIME","AVERAGE_INTENSE_EXERCISE_TIME","PUSH_UPS_PERFORMING","RUN_RUN","REP_BENCH_PRESS","DEADLIFT","REP_SQUAT","AVERAGE_HOURS_OF_SLEEP","AVERAGE_HOURS_OF_SLEEP_COMMENT","SLEEP_ROUTINE","SLEEP_ROUTINE_COMMENT","FALL_ASLEEP_NIGHT","RESTED_READY_WAKEUP","TYPICAL_STRESS","STRESS_OR_PRACTICE_MINDFULNESS","STRESS_OR_PRACTICE_MINDFULNESS_COMMENT","PERFORM_YOUR_ROUTINES","PERFORM_YOUR_ROUTINES_COMMENT","TV_HOURS","non_TV_SCREEN","PREFERRED_PHARMACY_NAME","PREFERRED_PHARMACY_PHONE","PREFERRED_PHARMACY_ADDRESS","PREFERRED_PHARMACY_CITY","PREFERRED_PHARMACY_ZIPCODE","PREFERRED_PHARMACY_STATE","PREFERRED_PHARMACY_COUNTRY","MedicalHistoryAndLifestyleSectionNames","DEMOGRAPHICS_AND_BIOMETRICS_BODY_PARAMETERS","DEMOGRAPHICS_AND_BIOMETRICS_BLOOD_PRESSURE","DIABETES","CHOLESTEROL_MEDICATIONS","BLOOD_PRESSURE_MEDICATIONS","CORONARIUM_CALCIUM_SCORE","ALCOHOL","DIET","FOOD_LIMIT","FOOD_FREQUENCY","EXERCISE_GOAL","EXERCISE_PERFORMANCE","SLEEP_LENGTH","SLEEP_PRECONDITIONS","SLEEP_TIME","SLEEP_REST_SCORE","DAY_ENERGY_SCORE","STRESS_LEVEL_SCORE","STRESS_HELPERS","MINDFULNESS_FREQUENCY","TV","PREFERRED_PHARMACY","MedicalHistoryAndLifestyleSections","createHistoryAndPhysicalNoteComponentValidator","EstablishedPatientG0438","EstablishedPatientG0439","NewPatientG0438","EstablishedPatient99205","NewPatient99205","EstablishedPatient99203","EstablishedPatient99204","categoryId","NewPatient99203","NewPatient99204","function","createSoapNoteComponentValidator","vitalsErrorMessages","VitalsNames","SystolicBloodPressure","DiastolicBloodPressure","HeartRate","HRV","RHR","Weight","Height","BMI","Waist","Steps","Calories","Temperature","VitalsKeys","waist","vitalsValidator","nullableRangeValidationRule","vitalsNormalValuesValidator","vitalsNormalValues","commonOrdersService","commonOrders","addCommonOrder","updateCommonOrder","removeCommonOrder","isLoadingHealthSummary","specialTests","icdCodes","rosVariants","areAllergiesLoading","areQuestionnaireResultsLoading","navigateTo","isCommonOrderLoading","refs","validateVitals","systolicValue","diastolicValue","getAnswer","questionKey","getAnswerVariants","parsedAnswer","getSaveModel","getHpiFromQuestionnaireResults","medicalHistoryQuestionnaire","medicalConditions","nutritionGoals","mindfulnesGoals","socialConnectionGoals","prefillText","prefillHpi","MedicalHistoryIncomplete","hpiData","getByPatientId","getPatientAllergies","getApoe","commonOrderCB","getAllCommonOrders","setNoteData","ids","removedItems","tests","elem","newDataItem","isDelete","NoteGeneralInfoComponent","handleTitleChanges","handleAppointmentDateChanges","finalDuration","DiagnosisComponent","diagnose","SpecialtyTestsComponent","handleTestUpdates","company","cost","handleRemoveTest","handleAddTest","getCommonOrders","CreateHistoryAndPhysicalNoteComponent","handleHpiChanges","handlePmhItemChanges","handleRosChanges","handleVitalsChanges","handleDiagnosisChanges","handleTestChanges","handleNextAppointmentDateChanges","getIcdCodesAutoPmhComplete","createHistoryAndPhysicalFollowUpNoteComponentValidator","CreateHistoryAndPhysicalFollowUpNoteComponent","getHpiData","detailedQuestionnaire","DetailedHistoryIncomplete","CreateSoapNoteComponent","handleSubjectiveChanges","createHistoryAndPhysicalGroupVisitNoteComponentValidator","CreateHistoryAndPhysicalGroupVisitNoteComponent","HistoryAndPhysicalGroupVisitNoteComponent","titleInfo","hint","CheckboxQuestionaris","FormControlLabelQuestionaris","FormControlLabelChecboxQuestionaris","iOSBoxShadow","IOSSlider","mark","markActive","QuestionCheckComponentCastom","deselectKeys","FormGroup","QuestionTextComponent","componentInNotes","WildHealthTimePicker","TimePicker","QuestionTimeComponent","parseTimeToDate","QuestionNumberComponent","inline","QuestionCheckOneComponent","Radio","QuestionRateComponent","wrapResult","isSlideValue","valueLabelDisplay","variantsPrefix1","variantsPrefix2","renderRateHints","QuestionSelectCustomComponent","QuestionCheckComponent","isVariantChecked","isOtherChecked","QuestionDateComponent","QuestionComponent","SelectMany","optional","CheckOne","NumericInput","Rate","DateInput","renderQuestion","initRecommendations","SleepOrMindfulnessOrBreathwork","sectionIndex","handleAnswerChanges","handleOnRecommendationAddChange","handleOnRecommendationChange","handleOnRecommendationAddTextChange","handleOnRecommendationEditChange","listStyleType","recommendationsWithScripts","CreateInitialConsultComponentOld","withDots","subQuestion","subAnswer","AnswerComponent","renderNowResult","isArray","parseCheckMany","itemType","renderAnswer","NoteQuestionnaireResult","NotesStates","NoteRecommendationsComponentOld","InitialConsultComponentOld","ManageNotesComponent","Collection","targetNote","activeContent","CreateInitialConsult","CreateFollowUp","CreateInternal","CreateBlank","CreateSoap","CreateHistoryAndPhysicalInitial","CreateHistoryAndPhysicalFollowUp","CreateHistoryAndPhysicalGroupVisit","InitialConsultOld","InitialConsult","CreateInitialConsultOld","renderQuestionnaireName","listItemText","CompletedQuestionnaireComponent","titleSection","cardTitle","cardMain","readMore","questionImage","statusSection","QuestionnaireCardComponent","handleStart","isLongText","descriptionRef","statusLabel","icons","star","scrollHeight","questionnairesResultListComponentValidator","goToError","offsetTop","SupplementsAnswerComponent","MedicationsAnswerComponent","AllergiesAnswerComponent","allergiesIds","hasAnswer","isEqual","FUTURE_NUTRITION_PLAN","DEPRESSION_BORDERED","DEPRESSION_BORDERED_COMMENT","HealthGoalsSectionNames","INTENTION","EXERCISE_GOALS","NUTRITION_GOALS","SLEEP_GOALS","MINDFULNESS_GOALS","CONNECTION_GOALS","FEEL_GOOD","OVERALL_PHSICAL_HEALTH","CHRONIC_PAIN","HOW_OFTEN_SICK","PHYSICAL_80S","YEAR_AGO","ENJOY_LIFE","GOOD_FELLINGS","OPTIMISTIC_PESSIMISTIC","HAVE_COACH","HAPPY_80S","MENTAL_HEALTH","METRICS_PERFORM","METRICS_PERFORM_COMMENT","ACTIVITIES_PERFORM","LAST_YEAR_IMPROVEMENTS","PERFORMING_80S","OVERALL_PERFORMANCE","HealthGoalsQuestionnaireSections","QuestionnaireMedicationsComponent","dialogOpened","handleOpenDialog","secondaryFont","QuestionnaireSupplementsComponent","patientAllergyUpdateComponentValidator","newPatientAllergyModel","PatientAllergyUpdateComponent","QuestionnaireAllergiesComponent","DeselectParentQuestionComponent","questionName","parentQuestionName","handleDeselect","HideCommentQuestionComponent","showComment","isGenderMatch","QuestionnaireSectionComponent","questionComponents","questionRequirements","hideSubject","parentQuestion","requirement","parentRequirement","showInfoContainer","originQuestion","Phq8SectionComponent","getSpecificQuestions","QuestionnairesResultListComponent","draftAnswers","saving","cloneAnswers","targetAnswers","getTargetAnswers","resultTest","saveAsEmployee","getQuestionsRequirements","parentQuestions","childQuestions","pq","draftQuestionsRequirements","questionsRequirements","IsSectionValid","questionnaireResultId","wrappQuestionnaires","GeneralResultComponentHealthForms","questionView","groupWithTitle","groupItem","SetYourConnectionGoals","SetYourExerciseGoals","SetYourMindfulnessGoals","SetYourNutritionGoals","SetYourSleepGoals","relatedQuestions","questionViewIntention","questionViewGoals","questionViewHealth","questionViewHappiness","questionViewPerformance","questionViewMedicalHistory","questionViewLifestyle","detailedMedicalHistory","detailedSurgeryHistory","detailedSocialHistory","detailedWomenHealthHistory","detailedFamilyHistory","detailedScreeningHistory","detailedVaccinesHistory","detailedHealthReviewHistory","InitialQuestionnaireResultComponentHealthForms","rxntIgnore","tabsGoals","Intention","Goals","Health","Happiness","Performance","tabsMedicalHistoryAndLifestyle","Lifestyle","tabsDetailedHistoryFemale","SurgicalHistory","SocialHistory","WomensHealthHistory","FamilyHistory","Screening","Vaccines","tabsDetailedHistoryMale","Review","getTabs","HealthLogQuestionnaireResultComponent","QuestionnaireProgress","colorPrimary","barColorPrimary","LinearProgress","QuestionnaireProgressBarComponent","getProgressValue","General","Medical","CardioRespiratory","Stress","PageSliderComponent","hideNext","backCenter","colorNavy","GeneralSurveyResult","MedicalSurveyResult","NutritionSurveyResult","ExerciseSurveyResult","CardioRespiratorySurveyResult","SleepSurveyResult","StressSurveyResult","InitialQuestionnaireResultComponent","getNavigationContext","InitialQuestionnaireResultBaseComponent","FollowUpFormQuestionNames","REFLECT_LAST_VISIT","RATE_OVERALL_PROGRESS","CLARIFY_PREVIOUS_QUESTIONS","HOPING_UPCOMING_VISITS","RATE_SUCCESS_EXERCISE","RATE_SUCCESS_NUTRITION","RATE_SUCCESS_SLEEP","RATE_SUCCESS_MINDFULNESS","RATE_SUCCESS_SOCIAL_CONNECTION","YOUR_WEIGHT_BIOMETRICS","YOUR_WAIST_CIRCUMFERENCE_BIOMETRICS","CHECKING_BIOMETRICS_SYSTOLIC_BP","CHECKING_BIOMETRICS_DIASTOLIC_BP","FollowUpFormResultComponent","UserOptionsPopoverProps","UserOptionsButtonComponent","showMenu","toResetPassword","postLogoutRedirect","topBannerHeight","grow","logoSection","redesignLogo","employerLogo","toolbar","sectionDesktop","mobileMenu","mobileMenuButton","mobileMenuItem","mobileChildrenMenuItem","defaultCursor","plusStyle","userAccountBtnSection","logoutText","mobileMenuPopoverProps","childrenMenuItemsPopoverProps","getEmployerProduct","isMobileMenuOpen","MenuItemsStates","handleMobileMenuToggle","handleHeaderMenuItemToggle","handleMobileMenuItemToggle","toOpen","bannerCdnUrl","whBlobCdnBaseLink","toWildHealth","UserAccountButtons","NotificationsButtonComponent","isUnspecifiedUser","renderOptionsBtn","MobileMenuButton","MobileMenu","collapse","handleRenderMobileChildrenMenuItems","DesktopChildrenMenus","CommonHeaderComponent","hideMenu","isLicensingPage","isAuthorized","DesktopMenu","userAccountButtons","AppBar","Toolbar","headerService","commonHeader","commonToolBar","isLicensingSignup","LayoutComponent","redesign","mobilePath","mobileGetStarted","mobilePaymentSuccess","CssBaseline","getHeaderToolBar","FooterComponent","CardioTimerComponent","leftSeconds","totalSeconds","isRunning","seconds","updateState","disable","secondsPart","minutesPart","sec2time","QuestionnairesListComponent","cardioRespiratory","performTests","CardioRespiratoryQuestionnairePageFields","innerWidth","CardioRespiratorySurvey","ExerciseQuestionnairePageFields","ExerciseSurvey","UpdateUserForm","emailIsReadonly","GeneralQuestionnairePageFields","GeneralQuestionnairePatientFields","GeneralSurvey","handlePatientChanges","MedicalQuestionnairePageFields","MedicalSurvey","NutritionQuestionnairePageFields","NutritionSurvey","SleepQuestionnairePageFields","SleepSurvey","StressQuestionnairePageFields","StressSurvey","questionnaireSurveyPageValidator","birthdayValidationRule","fields","saveQuestionnaire","submitQuestionnaire","getQuestionnaire","getPatient","savePatient","validatePage","patientProfile$","AnonymousInitialQuestionnaireSurveyPage","saveByIntakeId","submitByIntakeId","toQuestionnaireCompleted","startByType","getPatientProfileByIntakeId","updatePatientProfileByIntakeId","useAnonymousFacade","saveResult","submitResult","startQuestionnaire","questionnaireTitle","AuthorizedInitialQuestionnaireSurveyComponent","getPatientProfile","updatePatientProfile","InitialQuestionnaireSurveyComponent","healthLogQuestionnaireSurveyComponentValidator","submitAsEmployee","getNotificationAvailable","HealthLogQuestionnaireSurveyComponent","QuestionnaireProgressComponent","phqQuestions","phqScores","validator","getSectionForSkipping","sectionForSkipping","sectionName","Phq2","accumulator","isQuestionnaireSectionAvailable","canSkipSection","sectionNames","newAnswers","currentSection","getCurrentSection","medicationDialogOpened","allergiesDialogOpened","hasBloodPressure","setSkipSectionName","getNextSection","nextSection","getPreviousSection","previousSection","updateAnswer","callBack","currentQuestionary","topPressureAnswer","bottomPressureAnswer","QuestionnaireComponent","getProgress","handleToggleBloodPressure","lightMint","medicalHistoryQuestionnaireValidator","MedicalHistoryQuestionnaireSurveyComponent","healthGoalsQuestionnaireValidator","HealthGoalsQuestionnaireSurveyComponent","detailedQuestionnaireValidator","DetailedQuestionnaireSurveyComponent","followUpFormSurveyComponentValidator","FollowUpFormSurveyComponent","QuestionnairesComponent","pendingQuestionnaires","completedQuestionnaires","loadQuestionnairesAndResults","getHealthFormsByPatientId","getResults","handleGoToQuestionnaireResult","getResultsByEmployee","available","questionnaireId","isDialogOpen","startByIdOnBehalf","handleStartQuestionnaire","handleGoBackToQuestionnaires","healthFormsSorted","internalQuestionnaires","questionnaireStatusType","InCompleted","renderFollowing","questionnaireComponent","FollowUpCallForms","renderResult","renderQuestionnaire","offerPaymentPlanComponentValidator","OfferPaymentPlanComponent","handlePlanSelect","planId","handlePeriodSelect","cancelSubscriptionComponentValidator","CancelSubscriptionComponent","toDateString","handleReasonTypeChange","disablePast","handleCheckDate","dateUnavailable","SelectDataDialogComponent","ActivateSubscriptionComponent","selectedPaymentPrice","PauseSubscriptionDialog","isSuspending","month","handleSuspend","premiumBillingComponentValidator","minNumberValidationRule","numberValidationRule","maxNumberValidationRule","initManualPayment","deposit","downPayment","remainingPaidOverMonths","scheduleItems","selectInput","dialogAction","PremiumBillingComponent","isAdding","isOpenReview","isCollapse","patientSubscriptions$","manualPayment$","dueDate","addPremiumBilling","handleOpenReview","handleCloseReview","handleChangeDownPayment","handleChangeItemAmount","handleOnBlurValidate","PremiumBilling","ManagePlanComponent","isPremiumBillingLoading","isOfferPlanOpen","isCancelPlanOpen","isActivateSubscriptionOpen","isPauseSubscriptionOpen","suspendMonth","premiumBillingCB","getManualPayment","historyCB","paymentPeriodId","offerPaymentPlan","paymentPriceId","Activate","linkToPaymentVendor","reactivePlan","pauseDurationInMonth","pausePlan","handleToggleOfferPlanDialog","handleToggleCancelSubscriptionDialog","handleToggleActivateSubscriptionDialog","handleOfferPlan","handleActivateSubscription","handleCancelSubscription","handleViewBillingDetail","handleGoToOpsAdminTools","handleTogglePauseSubscriptionDialog","handleChangeMonths","PaymentPlanDisplayComponent","promoCode","discount","originalPrice","displayPercent","promoCodeRender","TransferPatientToLocationComponent","currentLocation","transferPatientToLocation","handleChangeLocation","handleTransfer","checkBox","AssignEmployeesComponent","selectedEmployeesIds","labelId","dense","PatientOptionsComponent","optionName","patientInformationComponentValidator","leadSourcesStore","leadSources","leadSourcesQuery","leadSources$","leadSourcesService","createLeadSource","changeActivity","deleteLeadSource","isEmployeesLoading","leadSource","leadSourceId","shouldValidateLeadSource","handleEditModeToggle","getEmployeeActive","draftPatient","otherLeadSource","podcastSource","PatientInformationComponent","handleOptionsChanges","handleDiscardChanges","handleLeadSourceChanges","assignedEmployeeIds","displayOtherLeadSource","closeWrapper","closeTimeline","closeTitle","openTitle","openTimeline","eventMainContainer","iconContainer","iconContainerCommon","iconWrapper","MessageEventComponent","seeMore","ChronologicalEventType","LabsOrdered","ChronologicalSummaryComponent","filterTypes","chronologicalEvents","chronologicalEventsView","isTimelineOpen","chronologicalEvents$","sortedChronologicalEvents","ordersForSorting","el1","el2","getPatientTimeline","handleAddFilterType","closeChronologicalTimeline","offsetHeight","ChronologicalEventTypeNames","VisitCompleted","NotePublished","SupplementUpdated","InternalMessageSent","toPatientOrders","toPatientProfilePastAppointments","toPatientsProfileSupplements","renderActions","AppointmentsEnum","tabTitle","borderTitle","lineWeight","patientBox","tabsWrapper","tabRoot","historyLinkText","historyLink","AppointmentsInfoWidgetComponent","previousAppointments","selectedAppointment","tabSelected","Upcoming","appt","previousAppt","newValue","handleTabChange","getTitleEmployee","mobileApp","noMobileApp","space","displayRenewalDate","canBeActivated","nowDate","subscriptionEnd","diffDays","isMobileAppInstalled","renderEditContent","circleOrange","shortHealthFormsStatusNames","class","HealthFormsInfoWidgetComponent","isLoadingResults","isLoadingAvailable","isLoadingHealthForm","cbR","cbA","cbH","toPatientHealthForms","handleGoToHealthForms","SmsReminderToggleComponent","togglePatientSmsReminders","MembershipInfoWidgetComponent","isFellow","handleIsFellowChange","avatarPreparing","avatarGood","avatarOrange","avatarDanger","avatarNA","OrdersInfoWidgetComponent","isLoadingApp","isLoadingDna","isLoadingEpi","isLoadingLab","dnaOrders","appointmentOrders","epigeneticOrders","labOrders","cbEpi","cbDna","cbLab","cbApp","handleGoToOrders","getPatientPharmacyInfo","updatePatientPharmacyInfo","demographicPdfService","isPayByCash","isLoadingReferral","isLoadingDiagnostic","isLoadingNotes","isLoadingInsurance","isLoadingSubscription","isSelectedDemographic","isSelectedDiagnostic","isSelectedReferral","isSelectedNote","referralOrders","selectReferral","diagnosticOrders","selectDiagnostic","selectNote","notes$","cbRef","cbDiagnostic","cbNotes","cbInsurance","cbSubscription","getAvailableInsurancesByEmployee","diagnosticOrder","referralOrder","activeCoverages","handleDownloadDemographicSheet","handleDownloadReferralOrder","DemographicExportWidgetComponent","handleToggleDemographic","handleToggleDiagnostic","handleToggleReferral","handleToggleNotes","handleSelectOrder","handleSelectNote","displayNoteTitle","aria-required","FilterByEventType","HealthCoachOrProviderAssigned","PatientInformationRedesignComponent","isHealthCoachView","handleViewToggle","insuranceVerificationService","urlVerification","onInsuranceVerificationDetials","requestInsuranceVerificationDetails","insuranceVerificationId","InsuranceServiceType","InsuranceVerificationElibilityCode","InsuranceVerificationTimePeriodQualifier","InsuranceVerificationServiceType","VerifyInsuranceComponent","isVerifiedItem","selectedVerifiedItem","handleVerifiedItemChanges","InsuranceCardComponent","isVerifyInsuranceOpen","selectedCoverageId","deactivateCoverage","activateCoverage","verifyInsurance","getInsuranceVerification","isRunningVerification","runInsuranceVerification","handleToggleVerifyDialog","handleActivationSwitch","handleVerifyInsurance","isPayByCashLoading","notFound","getInsuranceVerificationDetails","insuranceServiceTypeLabel","ProviderVisit","insuranceVerificationEligibilityCodeLabel","ActiveCoverage","InactiveCoverage","Coinsurance","Copay","Deductible","Limitation","OutOfPocket","Noncovered","BenefitDisclaimer","ContactEntity","PrimaryCareProvider","insuranceVerificationTimePeriodQualifierLabel","Years","ServiceYears","CalendarYear","Visit","Remaining","Admission","insuranceVerificationServiceTypeLabel","MedicalCare","Surgical","Consultation","DiagnosticXRay","DiagnosticLab","RadiationTherapy","Anesthesia","SurgicalAssistance","Blood","DurableMedicalEquipmentUsed","DurableMedicalEquipmentPurchased","RenalSupplies","PreAdmissionTesting","DurableMedicalEquipmentRental","PneumoniaVaccine","SecondSurgicalOpinion","ThirdSurgicalOpinion","SocialWork","DiagnosticDental","Periodontics","Restorative","Endodontics","MaxillofacialProsthetics","AdjunctiveDentalServices","PlanCoverageAndGeneralBenefits","PlanWaitingPeriod","Chiropractic","DentalCare","DentalCrowns","DentalAccident","Orthodontics","Prosthodontics","OralSurgery","PreventiveDental","HomeHealthCare","HomeHealthPrescriptions","Hospice","RespiteCare","Hospitalization","HospitalizationInpatient","HospitalRoomAndBoard","LongTermCare","MajorMedical","MedicallyRelatedTransportation","PlanCoverage","InvitroFertilization","MRIScan","DonorProcedures","Acupuncture","NewbornCare","Pathology","SmokingCessation","WellBabyCare","Maternity","Transplants","Audiology","InhalationTherapy","DiagnosticMedical","PrivateDutyNursing","Porsthetics","Dialysis","Otology","Chemotherapy","AllergyTesting","Immunizations","RoutinePhysical","FamilyPlanning","Infertility","Abortion","HivTreatment","EmergencyServices","CancerTreatment","RetailPharmacy","FreeStandingPrescriptionDrug","MailOrderPharmacy","BrandNamePrescriptionDrug","GenericPrescriptionDrug","Podiatry","DentalTestAndExaminations","PeriodontalSurgicalServices","DentureRepairs","DentalNonSurgicalExtractions","PrescriptionDrug","BariatricServices","Psychiatric","Psychotherapy","PsychiatricInpatient","PsychiatricOutpatient","Rehabilitation","RehabilitationInpatient","RehabilitationOutpatient","OccupationalTherapy","PhysicalMedicine","SpeechTherapy","SkilledNursingCare","SubstanceAbuse","AlcoholismTreatment","DrugAddiction","Optometry","Frames","Lenses","RoutineEyeExam","NonmedicallyNecessaryPhysical","ExperimentalDrugTherapy","BurnCare","IndependentMedicalEvaluation","PsychiatricTreatmentPartialHospitalization","DayCare","CognitiveTherapy","MassageTherapy","PulmonaryRehabilitation","CardiacRehabilitation","Pediatric","NurseryRoomAndBoard","Orthopedic","Cardiac","Lymphatic","Gastrointestinal","Endocrine","Neurology","Gynecological","Obstetrical","ObstetricalGynecological","SickPhysicianVisit","WellPhysicianVisit","CoronaryCare","ScreeningXRay","ScreeningLaboratory","MammogramHighRisk","MammogramLowRisk","FluVaccination","EyewearAccessories","CaseManagement","Dermatology","DurableMedicalEquipment","DiabeticSupplies","AppliedBehavioralAnalysisTherapy","NonMedicalEquipment","PsychiatricEmergency","StepDownUnit","SkilledNursingFacilityHeadLevelOfCare","SkilledNursingFacilityVentilatorLevelOfCare","LevelOfCare1","LevelOfCare2","LevelOfCare3","LevelOfCare4","Radiographs","DiagnosticImaging","FixedProsthodontics","RemovableProsthodontics","IntraoralImages","OralEvaluation","DentalProphylaxis","PanoramicImages","Sealants","FluorideTreatments","DentalImplants","TemporomandibularJointDysfunction","LongTermCarePharmacy","ComprehensiveMedicationTherapyManagementReview","TargetedMedicationTherapyManagementReview","DietaryServices","IntensiveCardiacRehabilitation","ConvenienceCare","Telemedicine","PharmacistServices","DiabeticEducation","EarlyIntervention","PreventiveServices","SpecialtyPharmacy","DurableMedicalEquipmentNew","CATScan","Ophthalmology","ContactLenses","FertilityPreservation","MedicallyTailoredMeals","IVTherapy","MedicalCoverage","SocialWorkCoverage","DentalCoverage","HearingCoverage","PrescriptionDrugCoverage","VisionCoverage","OrthodontiaCoverage","MentalHealthCoverage","GenericPrescriptionDrugFormulary","GenericPrescriptionDrugNonFormulary","Allergy","IntesiveCare","MentalHealth","NeonatalIntensiveCare","Oncology","PositronEmissionTomographyScan","PhysicalTherapy","Pulmonary","Renal","ResidentialPsychiatricTreatment","SeriousMentalHealth","TransitionalCare","TransitionalNurseryCare","UrgentCare","InsuranceVerificationModalComponent","renderField","sender","organizationName","subscriber","dependent","insuredBenefit","insuredIsSubscriber","relationshipCode","_","benefits","benefit","eligibilityCode","coverageLevelCode","inNetworkIndicator","timePeriodQualifier","CoveragePriority","InsuranceCardHistoryComponent","isAddButtonLoading","handleViewDetails","verification","displayNumberCoverageHistory","displayNameHistory","runAt","insuranceComponentValidator","Relationships","RelationshipNames","emptyServiceConfiguration","fee","maximumVisitLength","minimumVisitLength","newPatientsOnly","supportsRte","supportsClaims","insuranceConfigId","claimSubmissionConfig","claimsPartnerId","cptCode","modifier","lockCodeEntries","placeOfService","includeRenderingProviderInformation","rteSubmissionConfig","serviceTypeCode","payerOverride","rteResponseConfig","use271Price","preDeductibleSubsidy","postDeductibleSubsidy","useOutOfPocketMaximum","preDeductibleOrganizationSubsidy","postDeductibleOrganizationSubsidy","nonCoveredExclusions","includeEligibilityMessageRegex","excludeEligibilityMessageRegex","eligibleGroupNumbers","groupIdRegex","rejectIfNoServiceTypeBenefit","blockPlanDescriptions","blockInsurancePlans","allowZeroDollarDeductible","allowZeroDollarCopay","allowZeroPercentCoinsurance","responseServiceTypes","copayPreDeductibleRegex","copayPostDeductibleRegex","determineDeductibleRegex","determineCopayRegex","determineCoinsuranceRegex","alwaysApplyCopayAfterDeductible","stateIds","insurancePlanIds","uploadedImage","CreateInsuranceModalComponent","containPolicyHolder","confirmInsurance","handleSetAsPrimary","handleUploadFrontImage","handleUploadBackImage","togglePolicyHolder","renderDropZone","SELF","ConfirmInsuranceDialog","onQuestionInsurance","InsuranceVerificationComponent","isEnabledInsuranceAdd","EnabledInsuranceAdd","isEnabledInsuranceVerificationToggle","EnabledInsuranceVerificationToggle","isInsuranceLoading","isSubscriptionLoading","isInsuranceAvailable","insuranceUnavailibilityReason","patientInsurances","verificationHistory","getInsuranceAvailabilityOnBehalf","getInsurances","turnOnInsurance","turnOffInsurance","createCoverageOnBehalf","handleCashPay","handleAddInsurance","getInsuranceHistory","getIsInsuranceToggleDisabled","verificationHistories","lastVerification","AttachmentType","primaryAttachment","imageUrl","InsuranceCardFront","GetInsuranceImage","InsuranceListItemComponent","Primary","InsurancesListComponent","inactiveCoverages","LeftByType","UpdateInsuranceModalComponent","commentsService","commentsStore","updateComment","commentId","removeComment","CommentsDialogComponent","isNewComment","initialComment","selectCommentId","selectedComment","canUpdate","getComments","commentableUniversalId","saveComment","deleteComment","handleUpdateComment","handleNewAdd","renderName","leftByType","Clarity","leftBy","modifiedAt","createdBy","InsuranceInformationComponent","selectedUniversalId","isOpenComments","getInsuranceUploadsOnBehalf","isAttachmentsLoading","updateCoverageOnBehalf","resetComments","handleEditInsurance","handleOpenComments","handleCloseComments","PatientProfileComponent","patientIntakeId","tabItems","NewPatientProfile","ConversationViewComponent","classesThread","HealthCareChatViewComponent","downloadMessages","openFullChat","StaffOrHealthCoachMessagesEnum","HEALTH_COACH","StaffChatViewComponent","staffOrHealth","downloadAllMessages","STAFF","FullHealthCareViewChatComponent","closeFullChat","FullStaffViewChatComponent","PatientConversationsViewComponent","isFullStaffChatOpen","isFullHealthCareChatOpen","messagesHealthcare","handleOpenStaffChat","handleOpenHealthCareChat","handleCloseStaffChat","handleCloseHealthCareChat","handleDownloadMessages","titleConteiner","HealthSummaryWrapperComponent","isEmpty","handleAdd","disableUpdateButton","rxntMapKeys","getEmptyDescription","clickAction","linkQuestionnaireButton","getEmptyMessage","HealthSummaryBlockItemsComponent","refreshData","editedValues","orign","batchUpdate","updateDataAfterSave","cancelChanges","HealthSummaryListItemsComponent","getDataItemName","saveNewChanges","isRxnt","HealthSummaryPlaceHolder","HealthSummaryContentComponent","maxLength","emptyPage","isDataPresent","getMapData","getJsonData","containerMain","valueView","DocumentCategory","BlockItemApoeComponent","selectedApoe","selectedSours","initialColonoscopy","initialPsa","apoeFromStore","updateApoeInfo","isEmployView","getApoeScoreValue","emptyContent","HealthSummaryComponent","getSectionMap","sectionPosition","Content","Left","mapItem","Right","documentCategorySections","LabReports","EpigeneticReports","ImagingReports","Consults","ECGs","HospitalReports","Consents","MedicalForms","OldRecords","Miscellaneous","Prescriptions","documentCategoryNames","documentsStore","documentList","documentSourceTypes","newDocumentList","documentId","isViewed","documentsQuery","documentList$","kbDocuments$","documentSourceTypes$","patientDocumentsService","urlDocuments","documentType","viewableFileIndexes","isSendToKb","generativeAiKbInlineModel","documentsService","patch","updateDocument","cardDocumentCoun","cardUnreadLabele","cardActive","DocumentCategoryCardComponent","isEmployeePerspective","getNewDocument","documents","UploadDocumentsDialog","fileToCangeType","documentTypes","viewableFileIndexs","isSendToKB","newViewableFileIndexs","handleDataCategoriesSelect","handleSetViewable","handleToogleSend","colorMediumGray","newDocumentsExist","transfer","attachmentType","getDocuments","viewFile","viewDocument","confirmAndSelected","isViewable","viewableDocumentModel","isViewableByPatient","setViewableByPatient","UploadDocumentsFilesComponent","dateUploaded","DocumentsComponent","documentsCategory","activeCategory","createDocumentsCategory","doc","handleGoToDocuments","handleOpenDocumentsList","handleDocumentUpload","SupplementMedsIcon","ResultsIcon","NewDocuments","newDocuments","setNewDocumnts","hasNewDocuments","PatientCourseStatus","NewDocumentsComponent","historyContainer","customTooltip","nextUpSection","nextUp","bannerMessage","noCompleted","NotStarted","coursesStore","courses","patientCourseHistories","courseHistories","coursesQuery","patientCourseHistories$","courses$","coursesService","setCourses","setPatientCourseHistories","courseId","_line","_line2","AssignCourseButtonComponent","selectedCourses","getCourses","assignCourseByPatientId","handleCoursesSelect","handleAssign","course","renderOptionLabel","PatientCourseHistoryComponent","histories","notStartedStatus","inProgressStatus","completedStatus","getPatientCourseHistoriesByPatientId","getPatientCourseHistoriesByUserId","toNewTabNorthPassAcademy","handleOnNotStartedStatusChanges","handleOnInProgressStatusChanges","handleOnCompletedStatusChanges","handleGoToNorthPassAcademy","bannerComponent","courseHistory","dt","emptyCourses","_rect5","healthScoreStore","healthScore","isHealthScoreAvailable","healthScoreQuery","healthScore$","isHealthScoreAvailable$","healthScoreService","orderLabsTerms","emptySections","emptyContainer","scoreSection","scoreTitle","scoreNumber","BiomarkersComponent","handleCategoryTooltipToggle","handleTooltipToggle","scores","scoreVal","emptyPartScore","hoverText","ColorsForHealth","itemContent","cardFooter","chartTooltip","OptionTooltip","VitalsDateRangeType","VitalsHistoryMode","VitalsHistoryView","GeneralChartComponent","refBlock","renderBars","barSize","isOpenedTitle","isOpenedGraph","addEventListener","removeEventListener","handleChartTooltipToggle","displayDataWithValue","renderItemName","getFillColor","smallChartWidth","RootRef","rootRef","hoverOverName","hoverOverText","trendingUp","trendingDown","hide","domain","tickCount","HealthScoreComponent","generalScore","labsScore","filteredGeneralScore","isCompletedQuestionnaires","isResultsFromLabs","patientScore","scoredTerms","filteredGeneralCatgory","categori","terms","termCategory","filteredLabCategory","labsTerms","term","getAllMyResults","emptyMobileHealthScore","emptyHealthBiomarkers","emptyMobileLabs","emptyLabs","emptyMobileBiomarkers","emptyBiomarkers","emptyMobileLifestyle","emptyLifestyle","emptyMobileRiskScores","emptyRiskScores","buttonTitle","SelectViewModeComponent","checkboxDropdownClasses","useCheckboxDropdownStyles","KeyboardArrowDownIcon","KeyboardArrowUpIcon","ArrowDropDownIcon","ArrowDropUpIcon","DownArrowIcon","UpArrowIcon","renderButtonContent","createVitalValueModel","sourceType","vitalStore","year","latestVital","vitals","vitalsAverage","totalVitals","mediumPageSizes","createInitialState","vitalQuery","latestVital$","vitals$","vitalsAverage$","totalVitals$","view$","mode$","startDate$","endDate$","selectedPage$","pageSize$","vitalService","latestVitalUrl","tileVital","vital","valueId","getLatestVital","fetch","json","dateRange","getUniqDates","matrix","vitalDates","duplicateCount","actualCount","reverse","SevenDays","avg","vitalFromStore","graphPageSizes","addMissingValuesToVitals","toPush","castedDate","emptyValue","getEmptyValue","handleDateRangeChange","getVitalAverage","prepareVitals","vitalsCopy","validateValues","numStart","numEnd","datesView","getColumns","SixMonth","ThirtyDays","BiometricInputsGraphComponent","textField","notificationToolTipPopper","notificationToolTipArrow","cellName","graphContainer","BiometricRowComponent","rowWidth","nameCell","renderWarning","valuesView","renderBiometricValuesGraph","renderGraph","Values","cells","hasError","getWarning","renderViewValues","SelectRangeComponent","BiometricComponent","switchView","switchRange","viewModes","chartView","rangeModes","renderOptions","groupedVitals","getVitals","renderTable","_mask","healthGoalIcons","HealthPlanPastGoalsComponent","handleOpenGoal","renderGoal","rowsPerPage","getPastGoal","getPastGoalsByEmployee","getPastGoalsByPatient","pastGoals$","pastGoalsTotal$","setGoalsTab","handleSearchSubmit","size22","grayBorder","healthGoalImages","DietImage","ExerciseImage","MindfulnessImage","LongevityImage","NeuroImage","SleepImage","OtherImage","healthGoalFullImages","DietFullImage","ExerciseFullImage","MindfulnessFullImage","LongevityFullImage","NeuroFullImage","SleepFullImage","OtherFullImage","HealthPlanItemComponent","HealthPlanComponent","filterState","topGoals","handleFilterStateChanges","currentGoals$","goalsTab$","goalsTab","getCurrentGoalsByPatient","openView","renderContentWeb","renderContentMobile","ReportType","addOnReportsServices","reportType","reportStrategy","ReportTypesNames","Celiac","AddOnReportPrintComponent","renderGenericContent","contentJson","chapters","CeliacDisease","GlutenSensitivity","Symptoms","CausalityAndDiagnosis","CeliacDiseaseRisk","reportValueList","RelativeRisk","RelativeRiskPercentile","renderRiskValues","RiskValues","renderRecommendationsContent","CeliacAndGlutenSensitivityRecommendation","renderCeliacPresent","CeliacHaplotypes","addOnReportPdfServices","AddOnReportPdfServices","reportTemplateName","AddOnReportsComponent","isPatientReportLoading","isShowReport","availableAddOnReports","patientReportCB","GetAvailableReportsByEmployee","AddOnFree","GetPatientReportByEmployee","GetAvailableReports","GetPatientReport","CreatePatientReportByEmployee","CreatePatientReport","handleDownloadReport","handleToggleView","handleGenerateReport","renderScheduleToReviewButton","forScheduleToReview","renderReportContent","patientReportId","canGeneratePatientReport","hasDnaResults","availableAddOnReport","reportTypeName","SectionEnum","gray900","visitPrepService","visitPrep","VisitPrepComponent","sectionExpandStates","PLAN","GOALS","NEW_LABS","MEDICATIONS_AND_SUPPLEMENTS","RECENT_DOCUMENTS","selectedPlanTab","mapValues","visitPrep$","clearVisitPrep","getVisitPrepByEmployee","getVisitPrep","recentDocuments","handleChangePlanTab","healthCoachPlan","providerPlan","newLabs","emptyResult","mint50","renderMedicationAndSupplements","renderPlanSection","regularGoals","renderGoalsSection","anyLabs","renderLabValue","renderNewLabSection","renderMedicationsAndSupplementsSection","uploadedBy","PlaygroundChatListComponent","SendPlaygroundMessageComponent","handleMessageChanged","isReacted","myMessageContainer","messageBlock","myMessage","gray","reacted","PatientPlaygroundViewState","PlaygroundMessageComponent","handleAddReaction","handleRemoveReaction","Reactions","CreatedBy","getReaction","interactionBody","ReactionType","Like","Dislike","clipboard","writeText","renderPlaygroundResponse","PlaygroundThreadComponent","lastMessageRef","submitReaction","removeReaction","Id","handleReaction","PlaygroundChaComponent","editSubject","newSubject","updateSubject","toggleEditSubject","handleSubjectChanges","submitNewSubject","chatListRoot","toggleButton","templatesListRoot","mint600","selectedTemplate","templateName","templateDescription","StartPatientPlaygroundComponent","handleCreated","templates$","getConversationTemplates","PatientPlayground","prompt","startPatientPlaygroundConversations","handleSelectTemplate","PatientPlaygroundComponent","chatListHidden","NewConversation","TargetConversation","handleChatListToggle","handleCreateConversation","handleConversationCreated","renderChatView","PlaygroundIcon","ManagePatientProfileComponent","setPatientId","isHealthPlan","isLlmPlayground","featureMap","VisitPrep","HealthSummary","GeneralInputs","BioData","has","ManagePatientProfilePage","displayPatientName","patientProfileTitle","groupList","manageShortcutsComponentValidator","createShortcutComponentValidator","CreateShortcutComponent","getGroups","createShortcut","isCheckedCreate","createShortcutGroupComponentValidator","CreateShortcutGroupComponent","createGroup","handleNameChanges","ShortcutAuditInformationComponent","modifiedBy","SortingObject","ShortcutGroupsListComponent","selectedShortcut","filteredGroup","setTargetShortcut","handleGroupClick","handleShortcutClick","renderGroupIcon","placeholderImg","ShortcutTabsComponent","ManageShortcutsComponent","targetGroup","createShortcutGroup","updateTargetShortcut","resetTargetShortcut","handleShortcutCreate","handleShortcutCreated","handleShortcutGroupCreate","handleShortcutGroupCreated","handleShortcutDelete","ManageShortcutsPage","coachShortcutsTitle","coachShortcuts","originalPatients","objectName","optionId","filteredTitle","object","FirstName","StartDate","Name","ActivePlan","SendDate","LastMessage","LastAppointment","activeSource","selectedFilterId","selectedOptionId","selectedOption","setPatients","tempPatients","sentByRole","getCurrentFilterModel","lastAppointmentGreaterThanDaysAgo","lastCoachingVisitGreaterThanDaysAgo","lastMessageSentGreaterThanDaysAgo","daysSinceIccWithoutImcScheduledFromToday","daysSinceSignUpWithoutIccScheduledFromToday","planRenewalDateLessThanDaysFromToday","includesTags","planName","hasFollowUpMedicalScheduled","valueString","getMyPatients","filter_type","tagsToAdd","planNames","planNameToAdd","activePlan","filteredPatients","filterId","PatientAddonStatus","AddOnNames","InitialLabWork","FollowUpLabWork","AddOnLabels","ManageMyPatientsComponent","handleFilterSelect","handleOptionSelect","emptyAvaPlaceholder","renderSubscription","isRenewable","renewalDate","colorAccent3","whiteButton","patientNameSorting","startDateSorting","activePlanSorting","lastMessageSorting","lastVisitSorting","upcomingVisitSorting","healthCoach","initialLab","followUpLab","renderAddOns","sentDate","lastAppointment","renderUpcomingAppointment","MyPatientsPage","myPatientsTitle","manageApiResponseComponentValidator","engineeringService","authUrl","usersUrl","identitiesUrl","patientsUrl","subscriptionUrl","paymentPlansUrl","performanceTestsUrl","requestor_user_id","requestor_user_type","impersonated_user_id","impersonated_user_type","impersonation_success","vendorId","buyProductModel","recommendModel","migrationModel","updateInsuranceStatesModel","removeInsuranceStatesModel","defaultPaymentPlanModel","ToolEnum","employerProductsStore","employerProducts","selectedEmployer","employerProductsQuery","employerProducts$","selectedEmployer$","employerProductsService","addEmployer","initialParamsType","CHANGE_SUBSCRIPTION_PRICE","priceId","employerProductId","CHANGE_PRACTICE_COPY","BUY_PRODUCTS","isPaidForByDefaultEmployer","CHANGE_SUBSCRIPTION_CANDIDATE","PAYMENT_PLANS_RECOMMEND","fromSubscriptionId","paymentStrategy","isInsurance","RESET_PATIENT_PRODUCTS","GET_ACTIVE_PATIENT_PRODUCTS","CREATE_DEFAULT_PAYMENT_PLAN","inclusions","stripeProductId","desiredId","includeDefaultAddOns","isPrecisionCarePackageFlow","Delete_Unspecified_User","responseSection","hyphens","overflowWrap","stateItem","removeIcon","addBtn","linkBlue","removeBtn","EndpointAdminComponent","handleOpenToggle","toolMenu","charAt","toUpperCase","getParamTitle","paramName","param","LoginOnBehalfOfUserComponent","setMode","newMode","PaymentStrategy","PaymentPriceType","integrationVendorNames","OpenPm","Hint","Twilio","Elation","Northpass","ViewAllIntegrationIdsComponent","BuyProductsComponent","renderProductTypeName","DiscountSource","PaymentPriceTypeNames","PromoCode","InsurancePromoCode","AnnualSaving","Coupon","ChangeSubscriptionComponent","eligiblePaymentPlans","eligiblePaymentCoupons","handleChangeSubscriptionCandidate","handlePaymentPlanRecommend","handlePaymentPlanMigration","renderPlanName","setStep","renderPaymentPlanRecommend","FullPayment","PartialPayment","Breadcrumbs","PAYMENT_PLANS_MIGRATE","renderSubscriptionCandidate","ChangePaymentPlanInsuranceStatesComponent","handleAddClick","handleRemoveClick","selectedStates","insuranceStates","ManagePatientProductsComponent","eligiblePatientProducts","handleGetActivePatientProducts","handleRestoreSubscriptionPrice","handleResetPatientProducts","MANAGE_PATIENT_PRODUCTS","renderStep1","usedBy","CreateDefaultPaymentPlanComponent","handleCreateDefaultPaymentPlan","initialPrice","strategy","isAutoRenewal","startupFee","discountInsurance","initialInclusion","handleChangesPrice","handleChangesInclusion","inclusion","paymentPlanTemplateId","handleAddPrice","handleRemovePrice","handleAddInclusion","handleRemoveInclusion","ChangeSubscriptionPriceComponent","ManageApiResponseComponent","isProductsLoading","responseView","isLoginBehalfUserOpen","isIntegrationOpen","isChangeInsuranceStatesOpen","menuParams","menuStates","errorValues","newPaymentPriceId","changeSubscriptionPrice","changePracticeCopy","buyProducts","changeSubscriptionCandidate","statusCode","paymentPlanRecommend","migratePaymentPlan","resetPatientProducts","getActivePatientProducts","createDefaultPaymentPlan","deleteUnspecifiedUser","isDefault","employerProductsCB","getAllEmployerProducts","loginOnBehalfOfUser","authorize","getIntegrationInformation","updateInsuranceStates","addPaymentPlanInsuranceStates","targetPaymentPlan","removePaymentPlanInsuranceStates","tool","handleToggleLoginBehalf","handleToggleIntegration","handleToggleChangeInsuranceStates","getLoginOnBehalfOfUser","getAllIntegrationIds","handleAddInsuranceStates","handleRemoveInsuranceStates","handleChangesGeneric","engineeringAdminTool","LoginOnBehalfOfUser","ViewAllIntegrationIds","ChangePaymentPlanInsuranceStates","EngineeringAdminPage","engineeringAdminTitle","employers","originalEmployers","isOpenEmployerDetail","selectedEmployerId","Key","filteredEmployers","employerId","initEmployerModel","supportedPaymentPricesDescription","inclusionsDescription","discountsDescription","contextStyle","employerBanner","EmployerDetailDialogComponent","employer","getEmployerProductById","renderNoData","renderDescription","descriptions","ManageEmployerProductsComponent","handleToggleEmployerDetail","EmployerAdminPage","employerAdminTitle","originalPromoCodes","searchKey","targetCode","Discount","Plans","ExpirationDate","Status","getPromoCodes","filteredPromoCodes","deactivatePromoCode","DiscountType","statusPointer","createPromoCodeComponentValidator","DiscountTypeNames","Percentage","Nominal","darkPurple","seeMoreBtn","DiscountAmountField","WildHealthSwitch","lightBlue2","lightGray1","CreatePromoCodeComponent","initialParmas","discountType","isDiscountStartupFee","isDiscountLabs","isAppliedForInsurance","expirationDate","isSpecific","isSeeMoreOption","handleToggleDiscountType","createPromoCode","handleToggleMoreOptions","handleToggleSpecificChange","ManagePromoCodesComponent","handleDeactivate","discountUnitOfMeasure","additional","canDeactivate","canDelete","ManagePromoCodesPage","promoCodesTitle","bannersStore","banners","newBanner","bannersQuery","banners$","bannersService","addBanner","updateBanner","removeBanner","originalBanners","selectedBanner","Priority","getAllBanners","filteredBanners","bannerId","f","deleteBanner","BannerDisplayType","bannerTypesNames","modifyBannerValidator","CreateBannerComponent","createBanner","UpdateBannerComponent","ManageBannersComponent","handleToggleBannerActions","handleToggleEditBanner","handleDeleteBanner","ManageBannersPage","bannersTitle","syncRecordsStore","syncRecordTypes","syncRecordStatusCounts","targetSyncRecordListStatusId","targetSyncRecordListStatus","targetSyncRecords","syncRecordReconciles","filterDate","searchSyncRecords","typeName","syncRecordStatusCount","statusId","searchResult","syncRecords","syncRecordsQuery","syncRecordTypes$","syncRecordStatusCounts$","targetSyncRecords$","targetSyncRecordListStatus$","totalCount$","syncRecordReconciles$","filterDate$","searchSyncRecords$","typeName$","practiceId$","syncRecordsService","pageNumberQuery","createdAtQuery","syncRecordId","SyncRecordStatus","SyncDatumBooleanKeys","SyncRecordAction","SyncRecordsDashboardComponent","getSyncRecords","path","toSyncRecordType","handleGoTargetSyncRecordType","SyncRecordsDashboardPage","syncRecordsTitle","SyncRecords","syncRecordStatusNames","PendingCleansing","PendingValidation","ReadyForSync","SyncComplete","Locked","FailedSync","DorothyDuplicatePolicyId","DorothyDuplicateBirthdateZipCodeFirstLast","DorothyRequiresDiscovery","DorothyBlankZipCode","DorothyInvalidBirthday","DorothyInvalidBirthdayFormat","DorothyInvalidAddress","DorothyInvalidName","DorothyUnshippableAddress","DorothyDuplicatePolicyIdDiscarded","DorothyDuplicateBirthdateZipCodeDiscarded","DorothyRequiresDiscoveryDiscarded","DorothyBlankZipCodeDiscarded","DorothyInvalidBirthdayDiscarded","DorothyInvalidAddressDiscarded","DorothyInvalidNameDiscarded","DorothyUnshippableAddressDiscarded","syncRecordActionNames","DorothySendValidateAddressEmail","DorothySubscriptionOptOut","titleBysyncRecordStatus","SyncRecordTypeComponent","groupByCategory","syncRecord","getSyncRecordType","syncRecordList","updateTargetSyncRecordList","toTargetSyncRecordList","setTargetSyncRecordCount","getSyncRecordsSearch","handleGoTargetSyncRecordList","SyncRecordTypePage","toSyncRecordDashboard","showSearchResult","getTargetTypeName","getTargetPracticeId","getTargetStatus","targetRecordsTotal","getTargetTotalCount","getFilterDate","getSyncRecordsStatus","toSyncRecordReconcile","setFilterDate","SyncRecordListComponent","isAvailableReconcile","handleGotoRecordReconcile","handleToggleFilter","handleApplyFilter","record","SyncRecordListPage","getAvailableReconcile","SyncRecordReconcileComponent","recordId","getSyncRecordsReconcile","datum","reconcileSyncRecord","reconciles","performSyncRecordAction","handleChangeDatums","handleReconcile","handleAction","SmsMarketingOptIn","SmsOptIn","SubscriptionOptIn","isBooleanField","disabledReason","SyncRecordReconcilePage","submitPatientPageValidator","SubmitPatientSpecification","submit","FellowRoleType","FellowRoleSubmissionType","SubmitPatientPage","handleLocationChanges","submitPatientTitle","fellowId","Enrollment","getFellow","fellows","practicumPatients$","getEmployeePracticumPatients","displayEnrollment","isEnrolled","WildHealhTableSortLabel","FellowPatientsComponent","enrolledColumn","FellowPatientsPage","fellowshipTitle","FellowshipStepConnector","useFellowshipStepIconStyles","incompleted","FellowshipStepIcon","sidebar","selectCard","selectCardActive","undoDeleteBox","undoDelete","createPracticumPatientValidator","getEmptyPracticumPatient","deleted","selectedRole","selectedFellowRoleSubmission","quarterFellows","selectedRoster","selectedPatientFellowId","selectedLinkingFellowId","practicumPatients","removePracticumPatientErrors","practicumPatientNumber","fellowsPublicInfo$","getActiveFellowsPublicInfo","RegisterAsPatient","selectFellow","linkFellow","practicumPatient","startRegistration","toFellowshipSubmissionReceived","Fellow","SubmitPracticumPatient","getActiveFellowsPublicInfoByRoster","getRosters","FellowPatient","CreatePracticumPatientForm","FellowshipRegistrationNextButton","SelectFellowshipRoleComponent","handleChangeRole","handleChangeFellowSubmission","handleFellowSelect","handleLinkFellow","handleCreatePracticumPatient","handleDeletePracticumPatient","handleUndoDeletePracticumPatient","handlePracticumPatientChanges","handleSubmitPracticumPatients","isSubmitPracticumPatientsMode","handleQuarterSelect","January21","July21","January22","renderFellowConetnt","renderFellowRegisterAsPatientConetnt","renderRoleContent","renderFellowPatientConetnt","planCard","planPricing","planBenefits","spacingZero","getPeriodDiscount","PaymentBenefitsComponent","SelectPaymentPlanCardComponent","hideLimited","isOnePeriodPrice","primaryFont","startPrice","startStartupFee","renderPrice","renderHeaderSection","FellowshipRegistrationBackButton","SelectFellowshipPlanComponent","selectPlan","selectPeriod","SelectAddOnComponent","handleSelectingItem","SelectAddOnsComponent","SelectAddOnsCardComponent","tertiaryFont","fellowshipCheckoutComponentValidator","needCardData","stripe","useStripe","elements","useElements","getElement","CardElement","createPaymentMethod","paymentMethod","CARD_ELEMENT_OPTIONS","base","fontSmoothing","invalid","iconColor","PaymentFormComponent","confirmAgreements","stripePromise","loadStripe","PaymentForm","cardElement","confirmAgreementService","onConfirm","agreement","paymentPeriod","agreements","textWithLink","agreementsWrap","ConfirmAgreementsCheckBoxComponent","handleShowAgreements","getSelectedPlan","getSelectedPeriod","exclusivePrice","annualPrice","getDefaultPaymentPrice","getCouponCode","isPaymentCouponApplied","setPaymentToken","payer","selectedLeadSource","exclusivePrices","getSelectedAddOns","updateValidationState","recaptchaOnResolved","selectedFellow","linkedFellow","inviteCode","agreementId","isConfirmed","findState","founderId","linkedEmployeeId","marketingSMS","employerProductKey","register","toPaymentSuccess","firstInvalidField","getBoundingClientRect","scrollBy","scrollToErrorField","handlePaymentSubmit","executeRecaptcha","paymentQuery","credentials$","freeAddOnsPrice","isAddOnsForFree","freeAddOnsTypes","getCredentials","getOptional","paymentPriceType","newPromoCodeApply","adjustedPrices","retrievedCoupon","newSelectedPeriod","setCouponApplied","updateSelectedPeriod","howDidYouHeardAboutUsSelect","BillingSummaryComponent","selectedAddOns","hasDiscount","hasContainer","subTotalPrice","discounts","colorDarkGray","discountModel","showYearMonth","AgreementBasePage","AgreementHeaderComponent","agreementsPagesMap","renderPaymentPlanCheckbox","selectedPlanName","selectedPeriodInMonths","agreementPagesProvider","agreementPage","updateReducer","updatedState","AgreementsComponent","currentAgreementPageProps","currentAgreementPage","renderAgreement","AgreementDialog","useReducer","dialogRef","getPage","getCorrespondingPrice","PaymentSummaryComponent","handlePriceSelect","priceType","monthlyPrice","displayPaymentPrice","applyCouponCodeValidator","notIncludeWhitespaceValidationRule","FellowshipRegistrationStep","ApplyPaymentCouponComponent","applyCoupon","handleCouponChanges","handleCouponApply","PaymentCouponAppliedComponent","paymentCouponIcon","PatientInfoComponent","hiddenFields","readonlyFields","displayLoginInfo","LoginInfoComponent","FellowshipCheckoutComponent","renderPaymentForm","handleToggleSelectingAddOn","Role","Checkout","FellowshipGetStartedPage","StepsContent","size30","pmFellows","selectedQuarterDate","SelectPMFellowshipRoleComponent","PMFellowshipGetStartedPage","FellowshipRosterPlaceHolder","addFellowButtonComponentValidator","createFellow","AddFellowButtonComponent","updateFellowComponentValidator","UpdateFellowComponent","updateFellow","fellowActionPopoverProps","FellowsComponent","pmFellowship","isFellowActionsOpen","fellowActionsAnchorEl","isRosterActive","fellows$","getFellowsByRoster","deactivate","activate","deleteFellow","toFellowPatients","handleIsRosterActive","handleToggleFellowActions","handleToggleEditFellow","handleDeleteFellow","handleGoToFellowPatients","originalPracticumPatients","hideTestPatients","handleNewNote","updateFellowshipNote","getPracticumPatientsByRoster","PracticumPatientsComponent","handleOpenNote","handleToggleTestPatients","registrationDate","FellowshipComponent","FellowshipPage","isPmFellowship","FellowshipSubmissionReceivedPage","HabitScorePage","patientDashboardTitle","PatientHealthReportPage","healthReportTitle","PatientAddOnReportsPage","addOnReportsTitle","HealthScorePage","PatientDataFilesPage","dataFilesInputsTitle","PatientGeneralInputsComponent","PatientGeneralPage","generalInputsTitle","medicalHistory","PatientDocumentsPage","documentsTitle","PatientLabInputsSectionComponent","showDataSet","PatientLabInputsComponent","getDropDownItemsForMobile","handleColumnCheckForMobile","PatientLabsPage","labsInputsTitle","PatientMicrobiomeInputsComponent","PatientMicrobiomePage","microbiomeInputsTitle","manageLeadSourcesComponentValidator","ManageLeadSourcesComponent","creationName","updateAnchors","handleActivityChange","handleCreateChanges","handleOpenOptionsMenu","handleCloseOptionsMenu","aria-controls","LeadSourcesPage","leadSourcesTitle","infoTitle","infoTitleSecondaty","patientTitle","patientSubtext","PatientTitleComponent","displayNamesList","viewItems","patientProfileProblemList$","getPatientProblemList","displayShortAge","displayProblemName","CreateFollowUpNotePage","fromDraftNotePage","CreateInitialConsultNotePage","CreateSimpleNotePage","PatientFollowUpPage","toPatientHistoryAndPhysicalGroupVisit","handleDownloadNoteByPatientPdfBd","NoteCardComponent","PatientNotesPage","employeeDisplayName","notesTitle","emptyNotes","PatientOrdersPage","ordersStore","defaultStyle","ordersTitle","headerText","headerTextSM","objectFit","shareContent","orContent","orDivider","shareBtn","codeContent","ReferralLandingPage","referralCode","acValue","twitterReferralLink","mobileModel","patientMobileNumber","smsReferralLink","sendSocialNetwork","referralLandingTitle","referFriend","FacebookShareButton","quote","PatientSupplementsPage","supplementsTitle","mobileGetStartedPath","getCoupon","isPaymentPlanApplied","buyNewSubscriptionModel","Replace","toMobileBuySubscriptionSuccess","toBuySubscriptionSuccess","getPlanForAutoSelect","specifiedPlan","defaultPlan","FinishBuySubscriptionComponent","handleSelectingAddOn","applyPaymentPlan","isPlanAutoSelect","benefitTextItems","firstItem","renderBenefitText","chosePlan","SelectPaymentPeriodComponent","renderPeriodPrice","containerSmall","choosePlan","choosePlanSM","marginInline","mostPopularRibbon","mostPopularText","ribbonRelation","notMostPopular","centerSection","centerSectionSM","centerContext","cancelContext","saveContext","detailFeatureContext","mostPlanCard","mostPlanName","featuresTopBorder","featuresBothBorder","featuresContext","featuresBoldContext","mostPlanFeatureCard","planFeatureCard","sameFeatureBorder","stickyFooter","SelectTrialPaymentPlanComponent","planCard1","planCard2","lightBlue","saveMoneyStyle","SelectPaymentPlanCardTestedComponent","mostPopular","SelectPaymentPlanComponent","correctInviteCode","showMobileFooter","prevScrollY","plan_type","scrollEvent","scrollY","showTrialPlan","handleTrialPlanSelect","mostPlan","defaultPlanId","defaultPeriodId","DefaultPlan","SelectPlan","SelectPeriod","goBackFromCheckoutPage","PaymentStepsContent","defaultPeriod","waitListDialogComponentValidator","limitationReason","isSent","WaitListDialogComponent","sendPatientToWaitList","BuyNewSubscriptionPage","buyNewSubscriptionTitle","buyNewSubscription","BuySubscriptionSucceededPage","postNativeDeviceEvent","paymentSuccessTitle","currentAgreement","ConfirmAgreementsPage","agreementsQuery","notConfirmedAgreements$","signature","agreementsService","getNotConfirmed","innerHeight","confirmation","agreementsStore","notConfirmedAgreements","goDown","handleDismiss","confirmAgreementsTitle","stateSuggestion","UpdateAddressTestedForm","handleValidate","colorMint","newDesignWidth","newDesignArrow","SelectAddOnTestedComponent","colorGray700","startupFeeTooltip","BillingSummaryTestedComponent","getDiscountWording","WelcomePatientInfoComponent","gray700","unchecked","lime","lightMint20","PatientInfoRedesignComponent","getBirthday","couponCodeInput","applyBtn","appliedCouponBox","appliedCouponSpan","applyBtnText","couponCodeBox","gray6","couponCodeText","ApplyPaymentCouponTestedComponent","PaymentCouponAppliedTestedComponent","couponDiscount","handleRemove","yearlyPaymentContext","tipCard","strategyContext","PaymentSummaryTestedComponent","renderTip","paymentStrategyName","paymentAnnotation","finishCheckoutComponentValidator","adultValidationRule","newBirthdayValidationRule","inviteCodeStore","inviteCodeQuery","inviteCode$","AuthConstants","getFBTraits","traits","postalCode","uuidPasswordInterpolation","GetStartedStep","getAge","insuranceOnboarding","InsuranceOnboarding","medicareOnboarding","MedicareOnboarding","isMarketingSMSButton","MarketingSmsButton","isConsultationGetStartedPath","consultationGetStarted","promoCodePricePrice","isCardExist","hasInsurance","popUpData","alternativeAddOnId","sameAsBillingAddress","enterDiscountCode","paymentError","cardSaved","isAgreeContinue","isAgreeSMS","paymentCardInfo","handleHasInsurance","nextStep","CaptureInsurance","AskMedicare","CheckInsurance","updateUserStep2","getNextStep","validateEmail","isEmailExistForPatient","uuidv4","emailDoNotUsed","PersonalInfo","AskInsurance","getPreviousStep","shippingAddressField","getInviteCode","toMobilePaymentSuccess","createdPatient","registerCB","validateStepWelcome","validateStepFirst","validateStepSecond","handleSubmitRegistration","alternativeAddOn","selectPaymentPriceType","welcomeMain","firstStepMain","termsPolicyLink","couponBtnLink1","couponBtnLink2","orderDetail","orderDetailSM","paymentMethodBlock","creditCard","formControl","RegistrationBackButton","RegistrationNextTestedButton","RegistrationNextButton","PaymentCardTestedComponent","handleTokenChange","isSavedCardData","PaymentCardComponent","ConfirmAlternativeAddOnDialog","getEmptyInsurance","insuranceStateId","coverageDraft","isSaveButtonLoading","isUploadButtonLoading","isInsurancesLoading","isCoveragesLoading","policyHolderFields","getAttachments","getCoverages","getInsuranceUploads","updateCoverage","createCoverage","uploadInsurance","HealthConcernStatus","selectItem","insuranceTitle","formTitle","inmagesCard","inputFieldMain","InsuranceCheckoutComponent","handlePolicyHolderCheck","renderInsuranceForm","InsuranceCheckoutRedesignComponent","isMedicareFlow","colorDarkMint","RegistrationSkipButton","RegistrationSkipRedesignButton","FinishCheckoutComponent","selectAlternativeAddOn","handleSameAsBillingAddress","handleEnterDiscountCode","handleSubmitNextStep","handleSubmitBackStep","isCheckedAlternativeAddOn","handleAgree","isCheckedWelcomePatient","isCheckedPersonalInfo","isCheckedBillingDetail","controlTermsAndPolicy","renderDefaultNextButton","renderAskInsuranceNextButton","toTermsOfUse","toTermsOfService","toPrivacyPolicy","toNoticeOfPrivacy","last4","exp_month","exp_year","toLocaleString","substr","handleSetProgress","HealthConcern","isEmailSent","cardName","healthConcernStatus","showBottom","isGetUserInfo","Shipping","OnnInsurance","updateUserAddress","HaveAccount","HealthConcernInterstitial","CreateAccount","NameInterstitial","Payment","handleUserInfoCheck","getMyUserInfo","isCheckedProperStep","loginModel","forgotPasswordModel","ResetPassword","validateNameInterStep","validatePersonalInfoStep","validateShippingStep","validatePaymentStep","previousStep","concernMain","concernInterstitialMain","orderSummeryMain","concernBorder","concernBorderActive","recommendedPlan","recommendedImage","recommendedPlanImage","charcoal","backBtnSection","stickyReviewBtnSection","strokeOpacity","FinishCheckoutRedesignComponent","isCheckedNameInfo","goToLoginPage","goToResetPasswordStep","goToHaveAccountStep","isCheckedShippingDetail","isCheckedPaymentCardDetail","handleChangeHealthConcernStatus","MaximizeHealthSpanLongevity","colorCharcoal","TreatNewChronicConditions","OptimizeMyOverallHealth","ElevateMyPerformance","renderHealthConcernStep","RecommendedPlan","renderHealthConcernDescription","renderAskInsuranceStep","renderAskMedicareStep","renderOnnInsuranceStep","renderShippingStep","renderPaymentStep","renderCard","renderCheckoutStep","isAppleAndGooglePay","AppleAndGooglePay","isPaidByAppleOrGoogle","ClinicallyProvenResults","WorkingTogether","Congratulations","AppleGooglePay","clinicallyProvenResultsMain","workingTogetherImage","sandraAvatar","downIcon","securityBlock","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_path19","_path20","PayButtonComponent","handleSetPaid","paymentRequest","setPaymentRequest","requestPayerName","requestPayerEmail","canMakePayment","ev","createStripePaymenIntent","confirmCardPayment","client_secret","payment_method","handleActions","paymentIntent","FinishCheckoutExperimentComponent","size34","renderClinicallyProvenResultsStep","renderCreateAccountStep","SandraAvatar","renderBillingStep","OnboardingRedesignV2","CheckoutSocialProof","progressBarOpened","bannerOpened","bannerHeight","isNewAccountId","userId$","alert","rect","btnClose","span","HeaderCouponApplied","BorderLinearProgress","bar","HeaderProgressBar","GetStartedPage","isOnboardingRedesign","Helmet","getStartedTitle","whWhiteForm","mainSmall","consultationWidget","ConsultationComponent","consultationFormId","onboardingConfigurationStore","onboardingConfigurationQuery","consultationFormId$","onboardingService","updateConfiguration","queryParams","getPlanName","formId","getConfiguration","ConsultationPage","setBannerOpened","joinPracticeComponentValidator","practiceUrl","isShippingSameAsBilling","toJoinPracticeSuccess","practiceInfo$","practice1","address2","getPracticeInfo","checkBoxIcon","JoinPracticeComponent","handleIsShippingSameAsBillingChange","handleSelectAddOnChange","handleConfirmPurchase","headerImage","JoinPracticePage","joinPracticeTitle","EnabledLicensingJoin","JoinPracticeSucceededPage","handleGoToDashboard","joinPracticeSuccessTitle","headContent","videoTextContent","watchVideoText","guideVideo","aspectRatio","previewVideo","videoTag","videoPlayIcon","rightContent","dotIcon","videoIcon","iconBox","listText","emailText","iconBoxDivider","listItem1","listItem2","listItem3","desktopDownloadContent","mobileDownloadContent","downloadText","whForm","congratulationSection","stepContainer","stepContent","videoSection","desktopVideoSection","mobileVideoSection","clarityVideo","fillOutFormBtn","setIconSection","circleBg1","circleBg2","stepIcon","signSection","playIcon","VideoConstants","checkoutVideoPath","PaymentSucceededPage","videoDialogOpen","showStickySection","handleGoToQuestionnaire","handleToggleVideoDialog","videoRef","colorGray900","toPhysicianPairingQuizForm","poster","Preview","controls","autoPlay","IntakeSpecialistQuestionnaireResultPage","goToSubmitPatientPage","toSubmitPatient","initialResult","healthQuestionnaireResult","healthQuestionnaireResultTitle","HealthFormWelcome","PatientHealthFormsPage","followingQuestionnaires","isAvailableLoading","isResultsLoading","isHealthFormsLoading","toMyQuestionnaire","startById","getHealthForms","getMyAvailable","healthForm","handleFinishQuestionnaire","handleGoToBannerQuestionnaire","QuestionnairesUseIntial","renderCompleted","PatientQuestionnairePage","getResult","handleGoToQuestionnaires","QuestionnaireCompletedPage","healthQuestionnaireCompletedTitle","StartQuestionnairePage","setIsLoading","startQuestionnaireTitle","SelectDataRangePopoverComponent","setDataRange","selectRange","LabInputsGraphComponent","renderLabValuesGraph","ValuesDetailsComponent","marginThreshold","disableRestoreFocus","BackdropProps","invisible","colorSeparators","ValuesDetailsComponentForBloodPressure","vitalValues","initializedVitalValues","systolicValues","diastolicValues","resultValues","date1","date2","systolicOutOfNorm","diastolicOutOfNorm","VitalsTextField","VitalRowComponent","popoverProps","popoverAnchorEl","renderPopover","renderPopoverForBloodPressure","modes","vitalId","MobileApplication","readOnly","renderEditValues","onMouseOver","onMouseOut","calculateBmi","weightVitals","heightVitals","canAddNewDataSet","isDataSetDialogOpen","popovers","isSelectDateRangeOpen","selectDateRangeAnchor","handleConfirmDiscardChanges","flow","setView","handleEditVitalValue","vitalValue","validateFields","bmiVitals","bmiValue","isSystolic","isDiastolic","createSuccess","removeSuccess","updateSuccess","originalItems","removedValues","vitalIndex","isOriginalValue","unlock","remove","updateVitalValue","setPageSize","setDateRange","VitalsHistoryComponent","switchMode","handleToggleDataSetDialog","handleAddDataSet","handleSelectDateRangeToggle","actionButtons","renderAddNewDataSet","checkDate","itemEditDate","itemEditIndex","compact","menuItemTitle","MenuItemicon","dialogButtonText","dialogDate","vitalDisplayName","VitalsHistoryComponentMobile","handleEditVitalItem","renderMenuPopOver","vitalItem","renderEditDialog","VitalsHistoryPage","DynamicVitalHistoryComponent","vitalsHistory","PrivacyPolicyPage","privacyPolicyTitle","PrivacyPolicyComponent","TermsOfServicePage","termsOfUseTitle","TermsOfServiceComponent","privacyPolicy","termsOfService","draftNotes","targetNoteContent","targetNoteMedications","targetNoteSupplements","draftNotes$","getAllDrafts","draftNote","toCreateSoapNote","toCreateHistoryAndPhysicalGroupVisitNote","WildHealthTrashIcon","ManageDraftNotesComponent","handleDeleteDraftNote","noteTypeName","DraftNotesPage","draftNotesTitle","linkBtn","AwaitingApprovalPage","isSubmitReport","getNotificationAwaitingApproval","getAllUnderReview","awaitingApprovalTitle","awaitingApproval","toPatientHealthReport","InsurancePage","coverageList","isShowConfirmDialog","Regular","getAvailableInsurances","insuranceManagementService","configurationsUrl","copay","coinsurance","deductible","copayAmount","coinsuranceAmount","deductibleAmount","removeInsuranceConfiguration","serviceConfigId","isOrganiztionLoading","isAddingInsurance","originalInsurances","selectedCarrierId","selectedInsuranceId","selectedState","oldStates","removingInsuranceId","sortedInsurances","hasStatesInsurances","filteredInsurances","addInsurance","addInsuranceStates","targetInsurance","removeInsuranceStates","trashIcon","plusButton","plusIcon","ManageInsurancesComponent","handleAddState","handleRemoveAllStates","handleToggleStates","eligibleInsurances","ManageInsurancesPage","eligibleInsurancesTitle","isConfigLoading","isAddingConfiguration","originalInsuranceConfigurations","removingConfigurationId","sortedInsuranceConfigurations","getConfigCB","getInsuranceConfigurations","filteredConfigurations","addConfiguration","createInsuranceConfiguration","deleteInsuranceConfiguration","toInsuranceConfigurationEdit","InsuranceConfigurationsComponent","handleCreateInsuranceConfiguration","handleRemoveConfiguration","handleGoToEdit","insurancePlans","InsuranceConfigurationsPage","insuranceConfigurationsTitle","initialRTEConifg","failureManagementType","tradingPartnerId","requireGroupNumber","includeCptCode","memberIdValidationRegex","initialClaimAutomationConfig","useSubscriberName","addressOverride","isServiceConfigUpdating","insuranceConfiguration","rteConfiguration","claimAutomationConfig","serviceConfigurations","mainConfigCollapse","basicConfig","rteConfig","claimsAutoConfig","logoUrl","allInsurancePlans","getInsurancePlansCB","getInsuranceConfigurationById","getAvailableInsurancePlans","serviceConfiguration","uploadConfigurationLogo","payerLogo","updateInsuranceConfiguration","createServiceConfiguration","updateServiceConfiguration","deleteServiceConfiguration","ConfigurationEditComponent","handleChangeRTEConfigs","handleChangeClaimAutomationConfigs","handleChangeAddressOverrides","handleChangeBasicServiceConfigs","handleChangeSubServiceConfigs","handleServiceConfigMultiSelectChange","handleUpdateInsuranceConfiguration","handleAddServiceConfig","handleUpdateServiceConfiguration","handleRemoveServiceconfig","handleMainConfigToggle","handleLogoUpload","handleDeleteLogo","payerNameAlias","groupIdDisplayName","memberIdDisplayName","supportsEligibilityLookup","providerInstructions","patientMessaging","InsuranceConfigurationEditPage","PatientHealthSummaryPage","healthSummary","healthSummaryTitle","HistoryAndPhysicalNotePage","HistoryAndPhysicalFollowUpNotePage","SoapNotePage","CreateSoapNotePage","PatientSoapNotePage","renderNoteHeader","PatientHistoryAndPhysicalNotePage","PatientHistoryAndPhysicalFollowUpNotePage","academyTitle","academy","moneyStyle","benefitsContainer","ReselectPaymentPlanCardComponent","ReselectPaymentPlanComponent","AccountMembershipActivationPage","accountMembershipActivationTitle","accountMembershipActivation","targetNoteId","isFilterOpened","filterAnchorEl","selectNotes","getNotesForReview","column","cancelSignOff","noteTypeNames","AdditionalNoteComponent","reviewableNoteTypes","SignOffNotesReviewComponent","handleViewPatient","handleSignOffAndComplete","handleFilterChanges","getNotesUnderReview","SignOffNotesRequestsComponent","SignOffNotesPage","signOffNotes","PatientHistoryAndPhysicalGroupVisitNotePage","PatientInitialConsultPageNew","MessageType","PatientInitialConsultPageOld","PatientInitialConsultBasePage","PatientNotePage","getByIdForPatient","HistoryAndPhysicalGroupVisitNotePage","SignOffNotePage","newProps","AudienceType","nameMessageType","Email","Sms","ClarityMessage","MobileMessage","MessageStatus","audienceTypeNames","LastMessageSent10DaysAgo","LastMessageSent20DaysAgo","LastMessageSent30DaysAgo","LastMessageSent60DaysAgo","LastUnansweredMessage10DaysAgo","LastUnansweredMessage20DaysAgo","LastUnansweredMessage30DaysAgo","LastUnansweredMessage60DaysAgo","LastCoachVisit10DaysAgo","LastCoachVisit20DaysAgo","LastCoachVisit30DaysAgo","LastCoachVisit60DaysAgo","LastAppointment10DaysAgo","LastAppointment20DaysAgo","LastAppointment30DaysAgo","LastAppointment60DaysAgo","PlanRenewalIn30Days","PlanRenewalIn60Days","SinceIccWithoutImc30Days","SinceIccWithoutImc45Days","SinceIccWithoutImc60Days","SinceSignUpWithoutIcc5Days","SinceSignUpWithoutIcc10Days","SinceSignUpWithoutIcc20Days","SinceSignUpWithoutIcc30Days","IccDue","ImcDue","InsuranceVerified","InsurancePending","InsuranceNotVerified","PrecisionCarePackagePlan","WildHealthLightPlan","PrecisionCareHealthCoachingPlan","SinglePlan","AdvancedPlan","OptimizationPlan","CorePlan","PrecisionCarePlan","nameMessageStatus","Delivered","isSendingMessage","methodsOfDelivery","selectedMethods","eligiblePatients","selectedOpt","getFilteredPatients","messagesAdminTools$","messagesAdminTools","messagesTotalCount$","messagesTotalCount","getPlansAndTags","patientsFilterModel","createMessage","ManageMessagingComponent","handleTitleChange","handleDescriptionChange","handleMethodsChange","messagingAdminPanel","audienceType","ManageMessagesPage","messagingAdminPanelTitle","MessageForwardingComponent","messagesForwardingAdminTools$","messagesForwardingAdminTools","getForwardingMessages","messageForwarding","employeeFirstName","employeeLastName","forwardedEmployeeFirstName","forwardedEmployeeLastName","awayMessage","startedForwarding","MessageForwardingPage","patientResponsibilityComponentValidator","PatientResponsibilityComponent","getNoteRemit","getDetailValue","remits","remit","codings","createPatientResponsibilityInvoice","handleNoteIdChange","handleCopayChange","handleCoinsuranceChange","handleDeductibleChange","handleNoteIdOnBlur","handleCreateInvoice","PatientResponsibilityPage","patientResponsibilityTitle","patientResponsibility","AlertsHistoryComponent","alertsTotalCount","getAlertsHistory","resolvedBy","resolvedAt","AlertsHistoryPage","alertsHistoryTitle","PatientHealthPlanPage","healthPlanTitle","healthPlan","isAssignToPatientOpen","isViewFileOpen","labFilesAll","labFilesView","assignFile","deleteFile","getFiles","unmatchedDocuments$","unmatchedDocuments","getUnmatchedLabs","deleteUnmatchedFile","labResultId","assignUnmatchedFile","filteredFile","updateDocuments","mimeType","AssignLabsDialogComponent","LabFileViewDialogComponent","UnmatchedLabsComponent","handleCancelAssign","handleOpenAssignDialog","handleAssignToPatient","handleOpenViewFileDialog","handleCloseView","updatedAt","UnmatchedLabsPage","unmatchedLabsTitle","unmatchedLabs","updateDnaOrderValidator","dnaOrdersView","dnaOrdersAll","Address","Barcode","PatientShippingNumber","LaboratoryShippingNumber","searchedOrders","totalLenghth","getDnaOrdersView","viewOrders","getByOrderStatus","deleteDnaOrderShipping","updateDnaOrderShipping","DnaOrderDropshipComponent","renderAddress","displayBool","shouldShipFirstClass","DNAOrderDropshipPage","dnaOrderDropshipTitle","healthReportTemplatesStore","reportTemplates","newTemplate","healthReportTemplatesQuery","reportTemplates$","healthReportTemplatesService","templateId","updateTemplate","addTemplate","removeTemplate","modifyReportTemplateValidator","templateString","createTemplate","Version","Comment","CreatedDate","getHealthReportTemplates","updateReportTemplate","createReportTemplate","cloneReportTemplate","deleteReportTemplate","HealthReportTemplatesComponent","handleToggleTemplateModify","handleToggleTemplateActions","handleSaveTemplate","handleCloneTemplate","handleDeleteTemplate","healthReportTemplates","HealthReportTemplatesPage","healthReportTemplatesTitle","createCommonGoalValidator","createCommonGoal","removingGoalId","Category","Completion","commonGoals$","deleteCommonGoal","toCommonGoalEdit","ManageCommonGoalsComponent","handleCreateGoal","handleDeleteGoal","handleToggleNewGoal","ManageCommonGoalsPage","commonGoalsTitle","createCommonMdmValidator","createCommonMdm","removingMdmId","commonMdms$","createCommonMdmPlan","deleteCommonMdmPlan","toCommonMdmEdit","ManageCommonMdmsComponent","handleCreateMdmPlan","handleDeleteMdmPlan","handleToggleNewMdm","mdmPlan","ManageCommonMdmsPage","commonMdmsTitle","CommonGoalEditComponent","targetGoal","createIntervention","targetCommonGoal$","getCommonGoalById","deleteIntervention","handleChangeIntervention","handleUpdateGoal","handleSaveIntervention","handleToggleInterventionModify","ManageCommonGoalEditPage","mdmPlanId","CommonMdmPlanEditComponent","targetMdmPlan","createReason","targetCommonMdm$","getCommonMdmById","updateCommonMdmPlan","updateMdmReason","createMdmReason","deleteMdmReason","handleChangeMdmReason","handleUpdateMdmPlan","handleSaveMdmReason","handleDeleteMdmReason","handleToggleMdmReasonModify","ManageCommonMdmEditPage","createCommonSupplementValidator","createCommonSupplement","removingId","commonSupplements$","deleteCommonSupplement","ManageCommonSupplementsComponent","ManageCommonSupplementsPage","commonSupplementsTitle","createCommonOrderValidator","createCommonOrder","Test","Price","commonOrders$","deleteCommonOrder","LogicalOperator","ManageCommonOrdersComponent","ManageCommonOrdersPage","commonOrdersTitle","createRecommendationValidator","createRecommendationTriggerValidator","RecommendationCategoryTag","LogicalOperatorNames","And","Or","RecommendationClassification","RecommendationCategoryTagNames","Unknown","Pgx","Cvd","Autoimmune","MacroNutrient","Cancer","RecommendedMacros","AddOnReport","VerificationMethod","RecommendationClassificationNames","NonMedical","MetricSource","VerificationMethodNames","Automatic","AppointmentCompletion","ManualReviewProvider","ManualReviewHealthCoach","MetricType","DNA","Calculator","MetricValueType","Raw","Calculated","Decimal","Integer","Percent","initialRecommendationParmas","classification","verificationMethods","initialTriggerParmas","confidence","logicalOperator","recommendationTriggerComponents","isMetricLoading","isOpenAddTrigger","originalRecommendations","selectedRecommendation","createRecommendation","createRecommendationTrigger","Order","metricsCB","getAllRecommendations","getMetrics","trimedSearch","filteredRecommendations","metricId","classificationTypeOptionId","deleteRecommendation","initalComponent","components","CreateRecommendationDialog","handleAddTrigger","classificationType","CreateRecommendationTriggerDialog","handleAddComponent","handleRemoveComponent","metric","renderMetric","typeOptions","renderClassificationTypeOption","ManageRecommendationsComponent","handleTriggerChanges","handleToggleRecommendation","handleToggleAddTrigger","handleSaveTrigger","ManageRecommendationsPage","recommendationsTitle","ReferralOrderPagePage","referralOrderTitle","OtherOrderPagePage","otherOrderTitle","otherOrder","opsAdminToolsComponentValidator","OpsAdminToolsStep","Step1","Step2","Step3","StepperConnector","useStepIconStyles","StepIcon","renderPaymentPlanMigrate","OpsAdminToolsComponent","currentToolEnum","toolEnum","OpsAdminToolsPage","opsAdminToolsTitle","archiveAction","PatientTodoTasksComponent","todoTask","selectedTask","categoriesExpanded","patientJourneyTasks$","patientJourneyTasks","todo","getPatientJourneyTasks","requiredTasks","isLocked","optionalTasks","previousSectionName","categoryIndex","PatientCompletedTasksComponent","completedTask","undoPatientJourneyTask","handleUndo","canUndo","isDismissed","SourceType","AssetType","DocumentChunkingStrategy","DocumentGenerationStrategy","HealthCategoryTag","PatientRewardTasksComponent","rewardTasks","rewards","isDownloadingTask$","PatientJourneyTasksComponent","getPatientJourneyTasksByEmployee","PatientMyTasksPage","myTasksTitle","myTasks","kbDocumentsService","documentSourceTypeId","personaIds","updateKbDocument","deleteKbDocument","HealthCategoryTagNames","DocumentSourcesComponent","isTypeLoading","selectedSource","documentSources","getTypesCB","getKbDocuments","getDocumentSourceTypes","sourceId","uploadKbDocumentSource","updateKbDocumentSource","uploadDocumentSourceValidator","initParam","uploadDocumentSource","assetType","File","Url","checkAssetType","DescriptionComponentForTag","UploadDocumentSourceDialog","UpdateDocumentSourceDialog","updateDocumentSource","documentSourcePersonas","ManageKbDocumentsPage","kbDocumentsTitle","Auth2CodePage","searchParams","useParams","recapReady","auth","loginWithAuth2","onLoaded","auth2UrlBuilder","_googleUrl","_fullscriptUrl","clientId","redirectUri","authorizationProvider","redirect","GenericPlaygroundViewState","Auth2LoginPage","StartGenericPlaygroundComponent","startGenericPlaygroundConversations","GenericPlaygroundComponent","GenericPlaygroundPage","genericPlaygroundTitle","genericPlayground","modifyConversationTemplateValidator","conversationTemplates","updateConversationTemplate","createConversationTemplate","deleteConversationTemplate","PreauthorizeGetStartedStep","ConversationTemplatesComponent","ManageConversationTemplatesPage","conversationTemplatesTitle","finishCheckoutPreauthorizeComponentValidator","preauthorizeRequest","setupPassword","setUpPreauthorizePassword","SetupPassword","preauthorizeRequestToken","registerPreauthorize","validateSetupPassword","FinishCheckoutPreauthorizeComponent","renderSetupPasswordStep","preauthorizeRequestService","preauthorizeRequests","addRequest","addRequests","updateRequest","PreauthorizeSignUpPage","requestToken","getByToken","request","requestId","ThirdPartyIntegrationCodePage","ThirdPartyIntegrationLoginPage","addEmployerProfileValidator","initEmployerProductModel","inlineSupportedPaymentPriceIds","isAddOpen","createEmployerProduct","ManageEmployersProfileComponent","toEmployerProfileDetail","ManageEmployersProfilePage","employersProfilesTitle","employersProfiles","updatePreauthorizedEmployeeValidator","addEmployeesButtonComponentValidator","creatRequests","createPreauthorizeRequests","createPreauthorizeRequest","AddEmployeesButtonComponent","isCheckedForCreating","handleAddRequest","SendSignUpButtonComponent","requests","filteredRequests","selectedIds","requests$","getRegistrationLink","handleSelectAll","handleSend","handleCopyLink","ManagePreauthorizedEmployeesComponent","selectedRequest","getPreauthorizeRequests","handleToggleEditProfile","handleUpdateProfile","EmployerProfileDetailPage","LoginRxNTPage","formRef","loginInRxNT","loginRxNTTitle","method","btoa","NotFoundRedirect","fragment","exact","paymentSuccess","Route","flows","authorizedRoutesProps","buySubscriptionSuccess","mobileBuySubscriptionSuccess","patientPastAppointments","PatientPastAppointmentsPage","patientUpcommingAppointments","PatientUpcommingAppointmentsPage","patientNotes","patientInitialConsult","patientSoap","patientHistoryAndPhysical","patientHistoryAndPhysicalGroupVisit","patientHistoryAndPhysicalFollowup","patientFollowUp","labsInputs","dataFilesInputs","patientOrders","patientBlank","habitScore","referralLanding","accountInsurance","patientCourseHistory","PatientNorthPassAcademyPage","patientNote","accountMembership","authenticatedRoutesProps","verifyProfile","accountProfile","authenticatedRoutesPropsStartIndex","coachAppointments","CoachAppointmentsPage","manageEmployees","managePatients","dnafilesMonitor","createInitialConsultNote","fellowPatients","employeeConversations","createFollowUpNote","createSoapNote","createSimpleNote","createHistoryAndPhysicalNote","createHistoryAndPhysicalGroupVisitNote","createHistoryAndPhysicalFollowUpNote","manageMessaging","manageInsurances","isStaffOrAdmin","syncRecordType","syncRecordsList","syncRecordsReconcile","signOffNote","thirdPartyIntegrationCode","thirdPartyIntegrationLogin","titleGrid","gridButton","ErrorBoundaryComponent","wrap","ErrorBoundaryPage","goToDashboard","errorInfo","withScope","scope","errorBoundaryError","stack","componentStack","cause","captureException","contexts","react","err","newChoise","CommonConfirmAndSelectedDialog","onQuestionWithSelected","avatarIcon","collapsed","messagesViewLoading","messagesView","messagesViewForAi","scrollToIndexForAi","isAiLoading","isJoining","getPatientAllMessagesHealthCare","initialMessage","accountSid","conversationSid","dateUpdated","attributesString","sendMessageToAiDemo","SendMessageCompactComponent","viewOnlyMessage","StickyChatComponent","handleJoinThread","MessageComponentViewForAiDemo","ThreadComponentForAiDemo","StickyChatComponentForAiDemo","handleSendMessageForAiDemo","isSliderDialogOpen","selectedNumber","handleGroupView","SliderDialogComponent","setCurrent","bullets","infinite","organicArrows","onTransitionStart","slide","nextIndex","AttachmentsDialogComponent","handleToggleSliderDialog","ScheduledMessagesDialogComponent","ActiveUsersDialogComponent","StickyChatContainerComponent","menu","isAttachmentsDialogOpen","isScheduledDialogOpen","isActiveUsersDialogOpen","isCollapsed","isCollapsedForAiDemo","isDashboard","isRendering","getMembers","handleCollapse","isAiDemo","updatePatientIdForDashboard","updateStickyChatLoadingForDashboard","existingConversation","getPatientHealthCareConversation","handleManageProfileNavigation","patientIdForDashboard$","patientIdForDashboard","listen","newMembers","newMembersList","handleToggleAttachmentsDialog","handleGoToConversation","handleToggleScheduledDialog","handleToggleActiveUsersDialog","canAddUser","D2CDemo","MenuListProps","conversationsDirty","conversationsStore","Unspecified","resetConversations","startEmployee","startPatient","getEmployeeAuthor","getEmployeeConversations","setExpectedConversations","setConversations","initConversations","getPatientAuthor","getPatientStaffConversations","setSupportConversations","reconnect","pushConversationJoined","setOldestUnreadMessage","targetIndex","oldestUnreadMessage","isActiveConversation","isAuthor","setProxy","getUnreadMessagesCount","updateConnectionStatus","connecting","connected","disconnecting","disconnected","denied","conversationLeft","messageAdded","messageUpdated","setInterval","setConversationsJoined","userType$","shutdown","LoadConversationStoreComponent","HealthGoalDialogComponent","CommonConfirmAndSelectedOneDialog","newChoice","onQuestionWithSelectedOne","CommonAlertDialog","onQuestionAlert","isRequestOpen","isReceivedOpen","isRequestOpen$","isReceivedOpen$","reactionType","ActionReactionType","Accept","requestStandardUpsell","toggleRequestReceivedDialog","StandardUpsellRequestDialog","handleRequest","StandardUpsellRequestReceivedDialog","AxiosInstance","interceptors","use","reject","akitaDevtools","persistState","include","Loadable","loader","preload","DashboardPreload","LOGROCKET_KEY","LogRocket","dom","inputSanitizer","textSanitizer","setAuthenticatedUserContext","appWithLDProvider","withLDProvider","clientSideID","practiceRoutes","flowRoutes","setFlowRoutes","isGetHealthReportNotificationLoading","isGetNoteNotificationLoading","isGetRosterLoading","isGetChangedAgreementLoading","isGetInsuranceAvailabilityLoading","isRefreshPatientTimezoneLoading","isGetQuestionnaireNotificationLoading","getMenuItems","applicationStore","isRegistrationCompleted$","isEmployeeLoading","isPatientLoading","cbHRNotification","cbNoteNotification","cbRoster","cbChangedAgreement","cbInsuranceAvailability","cbRefreshPatientTimezone","cbQuestionnaireNotification","getPatientAgreementsChanged","getChangedAgreements","refreshPatientsTimezone","initApp","connect","getInfo","employerGetStarted","preauthorizeSignUp","getStarted","healthQuestionnaire","auth2Code","auth2Login","healthQuestionnaireCompleted","joinPractice","joinPracticeSuccess","fellowshipGetStarted","pmFellowshipGetStarted","fellowshipSubmissionReceived","StickyChatMessaging","withAITracking","hostname","GlobalStyles","hasEnvVariable","dsn","integrations","Integrations","BrowserTracing","tracesSampleRate","environment","AppInsightsContext","serviceWorker","registration","unregister","urlUnmatchedLab","getDocumentsFromResults","deleteDocument","labOrdersStore","getPath","setPath","employeeNotes","wildHealthPrivacyPolicy","wildHealthTermsOfUse","wildHealthTermsOfService","wildHealthNoticeOfPrivacy","cancellationForm","physicianPairingQuizForm","northPassAcademy","wildHealthDomain","linkUrl","SvgCalendarIcon","isSideBarOpen","authorizationProviders","information$","isSideBarOpen$","menuItems$","authorizationProviders$","getToken","getExternalAuth","accessToken","getSecretkey","currentAvailability","notEmptyArrayValidationRule","wildHealthColors","mint300","mint400","mint800","navy50","navy200","navy300","navy400","navy500","navy600","navy700","navy800","taupe50","taupe100","taupe200","taupe300","taupe400","taupe500","taupe600","taupe700","taupe800","taupe900","gray50","gray300","gray800","rose50","rose200","rose300","rose400","rose600","rose800","rose900","apricot50","apricot100","apricot200","apricot300","apricot400","apricot500","apricot600","apricot700","apricot800","apricot900","amber50","amber100","amber200","amber300","amber400","amber500","amber600","amber700","amber800","amber900","honey50","honey100","honey200","honey300","honey400","honey500","honey600","honey700","honey800","honey900","lime50","lime100","lime200","lime300","lime400","lime500","lime600","lime700","lime800","lime900","olive50","olive100","olive200","olive300","olive400","olive500","olive600","olive700","olive800","olive900","cyan50","cyan200","cyan300","cyan400","cyan600","cyan700","cyan800","cyan900","indigo50","indigo100","indigo200","indigo300","indigo400","indigo500","indigo600","indigo700","indigo800","indigo900","lavendar50","lavendar200","lavendar300","lavendar400","lavendar500","lavendar700","lavendar800","lavendar900","pink100","pink200","pink300","pink400","pink500","pink700","pink800","pink900","colorFormBg","darkBlue","average1Bg","goodBg","badBg","lightMint50","mainContent","slogan","grayButton","size46","size40","size10","colorBg","colorAccent2","colorGray3","colorStroke","colorLightGray","colorAverage2","colorDisabled","colorMainDark","colorLightBlue","colorLightNavy","nowrap","lineThrough","cursorTransparent","caretColor","semiTitle","isNewAccount","NotificationsConstants","checkNewNotificationsInterval","urlAlerts","disconnect","getNewNotifications","getLastNotification","clearInterval","lastNotificationId","deleteNotification","deleteAlert","medicationsStore","allergiesStore","privateKey","medicationId","employeeUrl","patientUrl","transformResponse","setTimezones","UnmatchedDocumentType","lab","LABRES","mobileEmployerGetStarted","editDraftNote","addOtherOrder","otherOrders","updateOtherOrder","orderOtherForReview","deleteOtherOrder","addReferralOrder","updateReferralOrder","orderReferralForReview","deleteReferralOrder","reward_name","toggleDownloadRewardTask","toNewTabFromLinkUrl","filePath","filePathArray","getRequisitionByPatient","requistionCtaHandler","downloadFileForTask","basicCtaHandler","coachPatients$","coachPatients","myPatients$","patientTasks","patientsEngagement$","patientsEngagement","todoPatientJourneyTasks","completedJourneyTasks$","completedJourneyTasks","healthCoachEngagements$","healthCoachEngagements","isDownloadingTask","toView","availabilitySource","employeeAvailabilities","setAvailability","bannerUrl","tutorialUrl","defaultUrl","patientProducts","productsStore","maps","_map","rules","rule","fromParam","toParam","setCurrentAvailability","setAvailabilityByEmployeeIds","setBulkAvailability","IRR","CatchUp","Postponed","AppointmentSignOffType","LabFollowUp","NewProblem","Fitness","CvdRisk","DementiaRisk","MetabolicHealth","timeButton","timeButtonSelected","filteredAvailability","skipFilter","isSchedulerReminder","handleChangeTimeCustom","canMoveBack","handleShowPreviousMonthView","handleShowNextMonthView","datesAreOnSameDay","externalParameter","first","filterUnavailableDate","selectedDay","arrowLeft","arrowRight","tileDisabled","environmentTypes","Licensing","environmentPriority","activateProfile","termsOfUse","patientDashboard","manageDeliveryOrders","noteDetail","scheduling","createInitialConsult","Identify","identify","host","orderOtherForReview$","orderReferralForReview$","AllergiesService","handleError","baseTitle","healthQuestionnaireTitle","pendingNotesTitle","signOffNotesTitle","resultsTitle","medicalHistoryTitle","manageDeliveryOrdersTitle","schedulingTitle","createInitialConsultTitle","vitalsHistoryTitle","messageForwardingTitle","OrderTabs","SvgTrash","createPatientAppointmentValidator","requestButton","cancelButton","WebkitLineClamp","WebkitBoxOrient","SelectAppointmentPurposeComponent","availablePurposes","selectedProviderAvatar","selectedProviderTitle","providerListItem","radio","getPhotoSrc","photoId","getPhotoUrl","ProviderInfoComponent","SelectProviderComponent","recommendedProvider","onProviderSelect","sizes","potentialProviders","selectedTimeZoneId","timeSlotSelected","commonAvailability","defaultDuration","getEndDate","handleChangeAppointmentPurpose","handleChangeTimezone","queryPotentialProviders","getAppointmentDuration","getPotential","currentProvider","assertProviderIsSelected","handleChangeCoachType","coachType","getProvider","getEmployeeIds","canContinue","handleRequestAppointment","createAsPatient","getPatientSubscription","getAllProducts","productAvailable","isUsed","canChargePatient","requiredProductType","handleProviderSelect","providerId","handleGoToAccountSetting","useEffectCB","handleDate","handleTime","uniqueTypes","isCreateAvailable","hasCoach","hasProvider","renderSummary","SelectTimezoneComponent","avalability","toAdd","patientAppointmentRescheduleOnOpen","rescheduleAsPatient","notificationsPopoverProps","showNotifications","handleDeleteAll","handleToggleNotifications","confirmations","agreementsChanges","usTimeZoneAbbrs","EST","EDT","CST","CDT","MST","MDT","PST","PDT","thisTimeZone","abbr","zoneAbbr","thisTimeZoneName","confirmations$","agreementsChanges$","linkWrapper","smLinkWrapper","footerContainer","logo1","logo2","footerRedesign","footerRedesignContainer","linkRedesignWrapper","applicationInformation","defaultItems","applicationVersion","FooterRedesignComponent","firstName$","lastName$","targetLocationId$","registrationCompleted","isAgreementsChanged$","isAgreementsChanged","isNewAccount$","externalAuth$","refreshTokenModel","valid","expiration","expires","externalAuthentication","getSubscriptionStatus","registrationManager","RegistrationManager","PRACTICE_ID","profilePopoverProps","ProfileComponent","switchLocation","sessionStorage","setItem","handleSwitchLocation","handleGoToMyAccount","handleGoToMyMembership","handleLogOut","handleGoToMyInsurance","locationsIsOpen","setLocationsIsOpen","filteredLocations","renderLocationList","referralIcon","referralTitle","menuTitle","ReferralLandingIcon","ReferralNavigationComponent","ElevationScroll","useScrollTrigger","disableHysteresis","cloneElement","AuthenticatedHeaderComponent","searchContent","SearchPatientComponent","displayEmailPhoneDOB","selectedButton","menuPopoverProps","menuItemsToIgnore","PlaygroundButton","AuthenticatedHeaderNavbarComponent","SignOutIcon","anchorPosition","MobileNavigationComponent","AuthenticatedMobileHeaderComponent","getIsSideBarOpen","childrenMenuItem","SideBarComponent","bannerLinkUrl","isDelinquent","topBanners","delinquentStatus$","isPatientDelinquent","getInformation","getBanners","getAcceptChangesAgreements","closeBanner","paymentLink","deactivateBanner","handleCloseBanner","handleCloseDelinquentBanner","isTopNavigation","isCloseDelinquent","getItem","paymentLinkText","changes","SvgMedicalHistory","SvgLabsIcon","locationTypeKeys","orderBy","objectKey","aValue","bValue","medicationsData","initialChoise","DeleteMessageReasonTypes","MessageAlertType","WrongRecipient","WrongContent","WrongMessageOrTypo","AiMistake","urlEngagement","urlPatientJourneyTasks","urlCallToActions","paymentPeriods","periodsIds","orderTypesQuery","stateAbbreviations","coachesIds","providersIds","ignoreWithoutCompletedRegitration","coachesIdsQuery","providersIdsQuery","locationsIds","spec","updateCoachPatients","authentication","updateShortPatientModel","updatePatientStatuses","removeCompletedEngagementTask","updateCompletedJourneyTasks","updateCallToActions","VirtualAssistant","pageSizesWidget","NotesStore","_applyTimeZoneToAppointment","_groupedVisitNotes","newGroup","newCommonGoal","commonGoal","newIntervention","newCommonMdm","commonMdm","newReason","newCommonSupplement","commonSupplement","newCommonOrder","commonOrder","intakeSpecialist","viewOnly","virtualAssistant","DeliveryProviders","Placed","OutForDelivery","Arrived","ReturnProcessing","ReturnArrived","availableLocationIds","isOnBehalf","dob","identifyPayload","externalAuthList","adminTools","mediaUrl","templatesUrl","aiUrl","updateSettings","addSupportConversation","setTemplates","resetConversation","createPdfWithAllMessages","pdfServices","downloadPdfFor","JourneyTasksTabs","Todo","dnaStatus","labsStatus","engagementId","newSetting","couchesAndProviders","staff$","fellowsPublicInfo","editAppointmentDialogValidator","appointmentDraft","editAppointment","handleEditComment","isShow","problemCB","SvgHealthReport","notificationsNavigation","PatientAssignment","AppointmentRequest","ChangeHealthPlan","NewEnrollment","PatientTransferred","AppointmentCancelled","FellowEnrolled","FellowshipPatientEnrolled","PracticumPatientAdded","HealthReportReview","HealthReportReviewed","toPatientDocuments","NoteSignOff","toSignOffNote","toPatientNote","NewAlert","PatientJourneyRewardUnlocked","navigate","deleteAll","filteredNotification","SvgPlaygroundIcon","SvgBellIcon","AppointmentsUseBrowserTimeZone","SvgTimeCircle","getMyAllergies","validationRules","regexp","func","oldValidation","newValidation","phoneNumberValidationTestedRule","regex","employeeSection","buttonSection","actionHeight","SideEnum","subjectType","conversationSubject","splitText","splitTextToSize","yPosition","setFontSize","setLineWidth","isLeftSide","LEFT","addTextAndCarriageReturn","isAttachment","xPosition","setFontType","removeSpecialChars","ConversationPdfDocument","emp","pat","addFooterAndNextHeader","getNumberOfPages","setFont","addFooters","AppointmentsPdfDocument","employeesText","PdfServices","appoitments","flag","environmentPriorityIndex","getEnvironmentPriority","getEnvironmentType","getFlag","getStringValueFlag","getflagName","envPrfix","envPriorityIndex","userFeatureFlag","allUsersFeatureFlag","Decline","handleDecline","yellow","yellowMid","yellowLight","patientsChatsTab$","patientsChatsTab","internalChatsTab$","internalChatsTab","targetAttachments","targetAttachmentsView","orphanedProxies$","editingTargetAiMessage","aiMessageAcceptLoading","attachmentAddingAvailable$","attachmentAddingAvailable","isGetPhotosLoading$","isGetPhotosLoading","isLoadingForDashboardStickyChat$","isLoadingForDashboardStickyChat","isExpectedConversationsLoaded","expectedConversations","defaultDate","defaultTime","asOfDateTime","queryString","setEmployeeAppointments","setPatientAppointments","setPatientAppointmentTypes","insertEmployeeAppointment","insertPatientAppointment","rescheduleAppointment","reschedulePatientAppointment","cancelEmployeeAppointment","cancelEmployeeAppointmentForDashboard","editPatientAppointment","cancelPatientAppointment","downloadAppoitnmentsPdfFor","appointmentSignOffType","signOffAppointment","addEmployee","removeEmployee","addFellow","removeFellow","upcomingAppointments","setEmployeeRecentlyAddedAppointments","setRecentlyNoUploadedLabFileAppointments","WildHealthMenuItem","PatientsChatsTabs","InternalChatsTabs","matchedConversation","WildHealthLink","WildHealthExternalLinkButton","object1","object2","requiresExternalLogoutVal","resetStores","trackingIdentifier","retVal","SvgConversations","snackStore","snackQuery","snackState$","isOpen$","httpStatusCode","user_id","user_type","getDefaultErrorMessage","extractMessages","validOptions","mapOptions","webkit","messageHandlers","iOSNative","postMessage","appInterface","createErrorMessage","fireSegmentErrorEvent","newState","PatientDnaStatus","PatientLabsStatus","PatientEpigeneticStatus","PatientJourneyStatus","PatientNpsScoreType","PatientCreated","InitialCoachingCallScheduled","InitialCoachingCallCompleted","LabsPending","ReportSent","RepeatLabsOrdered","ScheduleFUCoachingConsult","FUCoachingConsultScheduled","InitialMDVisit","ScheduleMDVisit","MDVisitScheduled","LongevityMonth1","LongevityMonth2","LongevityMonth3","LongevityMonth4","LongevityMonth5","LongevityMonth6","BrainOptimizationMonth1","BrainOptimizationMonth2","BrainOptimizationMonth3","BrainOptimizationMonth4","BrainOptimizationMonth5","BrainOptimizationMonth6","GutHealthMonth1","GutHealthMonth2","GutHealthMonth3","GutHealthMonth4","GutHealthMonth5","GutHealthMonth6","MindfulnessMonth1","MindfulnessMonth2","MindfulnessMonth3","MindfulnessMonth4","MindfulnessMonth5","MindfulnessMonth6","AthleticOptimizationMonth1","AthleticOptimizationMonth2","AthleticOptimizationMonth3","AthleticOptimizationMonth4","AthleticOptimizationMonth5","AthleticOptimizationMonth6","emptyPatientPharmacyInfo","JourneyTaskAction","PostImc","MonthFive","MonthTen","employeePhotos","photos","practiceShortInfo$","employeePhotos$","employeePhoto","dotenv","__dirname","SvgForwardIcon","textDecorationColor","onTapLink","createTitleLink","createPartLine","getLink","linkStyle","displayTextWithLink","getTextSections","TextLinkMarkdownComponent","subPart","subIndex","trimSubPart","displayMessageTextWithLink"],"mappings":"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CNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,GAEhB,CACIp0C,KAAM,KACNo0C,YAAY,ID7Hb,SAASpoC,KA4BZ,MAA0BtH,mBAAS,CAC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","file":"static/js/main.f2084774.chunk.js","sourcesContent":["export enum PermissionType {\n None = 0,\n Coaching = 5,\n AddonOrders = 10,\n Shortcuts = 20,\n Appointments = 25,\n EnrollmentNotifications = 30,\n ManageEmployees = 35,\n ManagePatients = 40,\n HealthReportGeneration = 45,\n VisitNoteCreation = 50,\n ClinicAnalytics = 55,\n LabsModification = 60,\n ViewOnly = 65,\n PatientAnalytics = 70,\n LocationAnalytics = 75,\n LmdPatientSignUpPage = 80,\n ManageLicensees = 85,\n ManageLocations = 90,\n MigrationBetweenLocations = 95,\n ManageFellowship = 100,\n FellowshipNotifications = 105,\n Conversations = 110,\n DNAFileManager = 115,\n ManageInsurance = 120,\n ManageLabPricing = 125,\n ManageMessages = 130,\n ManageForwarding = 135,\n AssignUnmatchedResults = 140,\n InvoiceManagement = 145,\n AiHealthCoachAssist = 150,\n OpsAdminTools = 155,\n ManageKbDocuments = 160,\n PremiumBilling = 165\n}\n\nexport enum UserType {\n Patient = 1,\n Employee = 2,\n Unspecified = 3\n}\n\nexport enum Practice {\n WildHealth = 1\n}\n\nexport enum Roles {\n Coach = 1,\n Provider = 2,\n}\n\nexport enum ExternalAuthProvider {\n Google = 5,\n fullscript = 10\n}\n","export * from './employeesQuery';\nexport * from './employeesStore';\n","import React from \"react\";\nimport { Box } from \"@material-ui/core\";\nimport { useStyles } from \"./WildHealthStatusLabel.styles\";\nimport clsx from \"clsx\";\n\ninterface WildHealthStatusLabelProps {\n color?: 'good' | 'selected' | 'average1' | 'average2' | 'bad' | 'normal' | 'neutral' | 'success';\n minWidth?: number;\n px?: number;\n borderRadius?: number;\n fontWeight?: number;\n children?: any;\n}\n\nexport const WildHealthStatusLabel: React.FC = (props: WildHealthStatusLabelProps) => {\n const {\n color = 'neutral',\n minWidth = 64,\n px = 14,\n borderRadius = 4,\n fontWeight = 400,\n children,\n } = props;\n\n const classes = useStyles({\n minWidth: minWidth,\n paddingRight: px,\n paddingLeft: px,\n borderRadius: borderRadius,\n fontWeight: fontWeight\n })();\n\n return (\n \n {children}\n \n );\n};","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../constants/colors\";\n\ninterface useStylesProps {\n minWidth?: number;\n paddingRight?: number;\n paddingLeft?: number;\n borderRadius?: number;\n fontWeight?: number;\n}\n\nexport const useStyles = (props: useStylesProps) =>\n makeStyles((theme: Theme) =>\n createStyles({\n root: {\n fontSize: 14,\n fontWeight: props.fontWeight,\n height: 30,\n borderRadius: props.borderRadius,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n width: \"fit-content\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n minWidth: props.minWidth,\n paddingRight: props.paddingRight,\n paddingLeft: props.paddingLeft,\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth: 224,\n },\n },\n good: {\n color: colors.good,\n backgroundColor: `${colors.good}14`,\n [theme.breakpoints.down(\"xs\")]: {\n backgroundColor: `${colors.good}24`,\n },\n },\n selected: {\n color: colors.white,\n backgroundColor: colors.main,\n },\n average1: {\n color: colors.average1,\n backgroundColor: `${colors.average1}14`,\n },\n average2: {\n color: colors.average2,\n backgroundColor: `${colors.average2}14`,\n },\n bad: {\n color: colors.rose700,\n backgroundColor: colors.rose100,\n },\n normal: {\n color: colors.main,\n backgroundColor: `${colors.main}24`,\n },\n neutral: {\n color: colors.gray1,\n backgroundColor: `${colors.separators}`,\n [theme.breakpoints.down(\"xs\")]: {\n color: colors.black,\n backgroundColor: colors.gray3,\n },\n },\n success: {\n color: colors.white,\n backgroundColor: `${colors.good}`,\n [theme.breakpoints.down(\"xs\")]: {\n backgroundColor: `${colors.good}`,\n },\n },\n })\n );\n","import { ConfirmAgreementModel } from \"./agreement.model\";\nimport { PaymentPeriodModel } from \"./paymentPeriod.models\";\nimport { PaymentPlanModel } from \"./paymentPlan.models\";\nimport { PaymentCouponModel, PaymentPriceModel } from \"./paymentPrice.models\";\nimport { IntegrationVendor } from \"./payment.models\";\n\nexport interface SubscriptionModel {\n id: number;\n startDate: Date;\n endDate: Date;\n canceledAt: Date;\n isActive: boolean;\n displayName: string;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n status: SubscriptionStatus;\n type: SubscriptionType;\n cancellationRequest: SubscriptionCancellationRequestModel | null;\n canBeReplaced: boolean;\n canBeActivated: boolean;\n paymentPrice: PaymentPriceModel;\n integrationVendor: IntegrationVendor;\n paymentCoupon?: PaymentCouponModel;\n price: number;\n pauses: SubscriptionPauseModel[];\n pause: SubscriptionPauseModel;\n manualPaymentId: number | null;\n}\n\nexport enum SubscriptionStatus {\n Active = 1,\n Expired = 5,\n NotActive = 10,\n Canceled = 15,\n Deactivated = 20,\n Paused = 25\n}\n\nexport enum CancellationReasonType {\n Other = 0,\n TheCost = 1,\n DidNotLike = 2,\n DidNotUse = 3,\n WantADoctor = 4,\n FeelBetter = 5,\n CanceledInPaymentSystem = 98,\n Renewed = 99,\n Replaced = 100\n}\n\nexport enum SubscriptionPauseStatus\n{\n Pending = 1,\n Active = 10,\n Ended = 20,\n Terminated = 30\n}\n\nexport const CancellationReasonTypes = new Map()\n .set(CancellationReasonType.TheCost, 'The Cost')\n .set(CancellationReasonType.DidNotLike, 'Didn’t like it enough')\n .set(CancellationReasonType.DidNotUse, 'Didn’t use it enough')\n .set(CancellationReasonType.WantADoctor, 'I want an in person doctor')\n .set(CancellationReasonType.FeelBetter, 'I feel better')\n .set(CancellationReasonType.Other, 'Other')\n\nexport const SubscriptionStatusNames = new Map([\n [SubscriptionStatus.Active, \"Active\"],\n [SubscriptionStatus.Expired, \"Expired\"],\n [SubscriptionStatus.NotActive, \"Not Active\"],\n [SubscriptionStatus.Canceled, \"Canceled\"],\n [SubscriptionStatus.Deactivated, \"Deactivated\"],\n]);\n\nexport enum SubscriptionType{\n Regular = 1,\n Insurance = 5\n}\n\nexport interface BuyNewSubscriptionModel {\n paymentPeriodId: number;\n paymentPriceId: number;\n addOnIds: number[];\n founderId: number;\n agreements: ConfirmAgreementModel[];\n promoCode?: string;\n}\n\nexport interface SubscriptionCancellationRequestModel {\n id: number;\n reason: string;\n date: Date | null;\n}\n\nexport interface CancelSubscriptionModel {\n id: number;\n reasonType: CancellationReasonType;\n reason: string;\n date: Date | null;\n}\n\nexport interface ActivateSubscriptionModel {\n patientId: number;\n paymentPriceId: number;\n startDate: Date;\n}\n\nexport interface PatientSubscriptionModel {\n name: string;\n startDate: Date;\n renewalDate: Date;\n status: string;\n}\n\nexport interface ChangeSubscriptionPaymentPriceModel {\n subscriptionId: number,\n newPaymentPriceId: number,\n couponCode: string,\n employerProductId: number\n}\n\nexport interface PauseSubscriptionModel {\n id: number;\n pauseDurationInMonth: number;\n}\n\nexport interface SubscriptionPauseModel {\n startDate: Date;\n endDate: Date;\n status: SubscriptionPauseStatus;\n subscriptionId: number;\n}\n\ninterface PaymentScheduleItemModel {\n amount: number;\n dueDate: Date;\n}\n\ninterface BillableScheduleModel {\n total: number;\n deposit: number;\n downPayment: number;\n remainingPaidOverMonths: number;\n scheduleItems: PaymentScheduleItemModel[];\n}\n\nexport interface CreateManualPaymentModel extends BillableScheduleModel {\n patientId: number;\n subscriptionId: number;\n}\n\nexport interface ManualPaymentModel extends BillableScheduleModel {\n id: number;\n}\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { MenuItemTypes } from '../../../../models/menu.models';\nimport { MetaTagsModel } from '../../models/metaTags.models';\nimport { PatientNpsScoreModel, PaymentPlanHistoryModel } from '../../../patients/models/patient.model';\n\n/**\n * Represents patientProfile state\n */\nexport interface PatientProfileState {\n selectedTab: string;\n patientId: number;\n pathHistory: string;\n metaTagsModel: MetaTagsModel;\n npsScores: PatientNpsScoreModel[];\n paymentPlanHistories: PaymentPlanHistoryModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): PatientProfileState {\n return {\n selectedTab: `${MenuItemTypes.Profile}`,\n patientId: 0,\n pathHistory: \"\",\n metaTagsModel: null,\n npsScores: [],\n paymentPlanHistories: []\n };\n}\n\n/**\n * Provides patientProfile states management\n */\n@StoreConfig({name: 'patientProfile', resettable: true })\nexport class PatientProfileStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setTab(tab: string) {\n this.update({selectedTab: tab});\n }\n\n public setPath(pathHistory){\n this.update({pathHistory:pathHistory});\n }\n\n public setPatientId(patientId: number) {\n this.update({patientId: patientId});\n }\n\n public SetMetaTags(model: MetaTagsModel) {\n this.update({ metaTagsModel: model });\n }\n}\n\nexport const patientProfileStore = new PatientProfileStore();\n","import { Query } from '@datorama/akita';\nimport { MetaTagsModel } from '../../models/metaTags.models';\nimport { PatientProfileState, patientProfileStore, PatientProfileStore } from \"./patientProfileStore\";\n\n/**\n * Provides patientProfile queries\n */\nexport class PatientProfileQuery extends Query {\n selectedTab$ = this.select(state => state.selectedTab);\n pathHistory$ = this.select(state => state.pathHistory);\n metaTags$ = this.select(state => state.metaTagsModel);\n npsScores$ = this.select(state => state.npsScores);\n paymentPlanHistories$ = this.select(state => state.paymentPlanHistories);\n\n constructor(protected store: PatientProfileStore) {\n super(store);\n }\n\n public getTab(): string {\n return this.getValue().selectedTab;\n }\n\n public getPath(): string {\n return this.getValue().pathHistory;\n }\n\n public getMetaTags(): MetaTagsModel {\n return this.getValue().metaTagsModel;\n }\n}\n\nexport const patientProfileQuery = new PatientProfileQuery(patientProfileStore);\n","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgRecentAppts = function SvgRecentAppts(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 25,\n viewBox: \"0 0 25 25\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.77928 3.76109H7.0663V1.95312C7.0663 1.69494 7.27686 1.48438 7.53505 1.48438H8.59161C8.8498 1.48438 9.06036 1.69494 9.06036 1.95312V3.76109H15.9397V1.95312C15.9397 1.69494 16.1503 1.48438 16.4084 1.48438H17.465C17.7232 1.48438 17.9338 1.69494 17.9338 1.95312V3.76109H21.2208C22.4848 3.76109 23.5157 4.79202 23.5157 6.056V7.52642H1.48438V6.056C1.48438 4.79202 2.5153 3.76109 3.77928 3.76109ZM23.5156 8.65147V21.2207C23.5156 22.4847 22.4847 23.5156 21.2207 23.5156H3.77928C2.5153 23.5156 1.48438 22.4847 1.48438 21.2207V8.65147H23.5156Z\",\n fill: \"\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.26562 15.0547L11.8095 17.6094L16.9062 12.5\",\n stroke: \"white\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRecentAppts, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/recentAppts.a6758f78.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useState } from \"react\";\nimport { Box } from \"@material-ui/core\";\nimport Pagination from \"@material-ui/lab/Pagination\";\n\ninterface PaginationComponentProps {\n selectedPage: number;\n pageSize: number;\n totalCount: number;\n handlePageSelect: (pageNumber: number) => void;\n}\n\nexport const SmallPaginationComponent: React.FC = (\n props: PaginationComponentProps\n) => {\n const {\n selectedPage,\n pageSize,\n totalCount,\n handlePageSelect,\n } = props;\n\n const [page, setPage] = useState(selectedPage);\n\n const handleChange = (event, value) => {\n setPage(value);\n handlePageSelect(value);\n };\n\n return (\n \n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { NotificationModel, NotificationType } from \"../../../notifications/models/notifications.models\";\nimport { notificationsQuery } from \"../../../notifications/stores/notifications\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\n\ninterface NotificationsComponentState {\n isLoading: boolean;\n notifications: NotificationModel[];\n anchorEl: HTMLButtonElement;\n showTimeline: boolean;\n}\n\nconst invisibleTypes = [\n NotificationType.UnreadMessagesCount,\n NotificationType.NewSupportTicket,\n NotificationType.NewMessage,\n NotificationType.UnreadMessagesManual\n];\n\n\nexport function useFacade(patientId: number | null): [\n NotificationsComponentState,\n (status: boolean) => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n notifications: [],\n anchorEl: null,\n showTimeline: true\n } as NotificationsComponentState);\n\n const handleToggle = (status: boolean) => {\n setState(state => ({ ...state, showTimeline: status }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(notificationsQuery.notifications$, notifications => {\n const visibleNotifications = notifications?.filter(x => !invisibleTypes.includes(x.type)) ?? [];\n setState(state => ({\n ...state,\n notifications: visibleNotifications,\n }));\n })\n ];\n\n const cb = () => setState(state => ({...state, isLoading: false}))\n\n const isPatientPremium = patientId ? patientsQuery.getTargetPatientIsPremium() : authQuery.getIsPremium();\n const hasActiveStandardPlan = patientId ? patientsQuery.getTargetPatientSubscription()?.isActive && patientsQuery.getTargetPatientSubscription()?.paymentPlan?.displayName === \"Standard\" : authQuery.isSubscriptionStatusActive() && authQuery.getPlan() === \"Standard\";\n\n if (patientId) {\n if (!isPatientPremium && hasActiveStandardPlan) {\n patientsService.getTodoPatientJourneyTasksByEmployee(patientId).subscribe(cb, cb)\n } else {\n setState(state => ({\n ...state,\n showTimeline: false,\n }));\n }\n } else {\n if (!isPatientPremium && hasActiveStandardPlan) {\n patientsService.getTodoPatientJourneyTasks().subscribe(cb, cb)\n } else {\n setState(state => ({\n ...state,\n showTimeline: false,\n }));\n }\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleToggle];\n}","import Axios from 'axios-observable';\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {\n AppointmentOptions,\n} from '../models/appointments.models';\nimport {AppointmentsStore, appointmentsStore} from '../stores/appointments';\nimport {Observable} from 'rxjs';\n\nexport class AppointmentsOptionsService {\n private url = `${process.env.REACT_APP_API_URL}AppointmentOptions`;\n\n constructor(private appointmentsStore: AppointmentsStore) {\n }\n\n public getOptions(patientId: number): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.get(`${this.url}?patientId=${patientId}`, config).pipe()\n .subscribe(\n response => {\n this.appointmentsStore.update({ appointmentOptions: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public createOptions(model: AppointmentOptions): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.post(`${this.url}`, model, config).pipe()\n .subscribe(\n response => {\n this.appointmentsStore.updateAppointmentOptions(response.data);\n snackService.success('Appointment options updated successfully');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public updateOptions(model: AppointmentOptions): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.put(`${this.url}`, model, config).pipe()\n .subscribe(\n response => {\n this.appointmentsStore.updateAppointmentOptions(response.data);\n snackService.success('Appointment options updated successfully');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const appointmentsOptionsService = new AppointmentsOptionsService(appointmentsStore);\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {nextAppointmentDateValidationRule, notEmptyValidationRule} from \"../../../common/validation/general-validation-rules\";\n\nexport const appointmentOptionsValidator = new GeneralValidator({\n \"nextAppointmentDate\": [nextAppointmentDateValidationRule],\n \"withType\": [notEmptyValidationRule()],\n \"purpose\": [notEmptyValidationRule()],\n});","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { AppointmentOptions, AppointmentTypeModel } from \"../../models/appointments.models\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { appointmentsQuery } from \"../../stores/appointments\";\nimport { appointmentsService } from \"../../services/appointments.service\";\nimport { AppointmentPurposeType, AppointmentWithType } from \"../../models/appointments.enums\";\nimport { appointmentsOptionsService } from \"../../services/appoitmentOptions.service\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { appointmentOptionsValidator } from \"./appointmentOptions.validator\";\nimport {getAvailableWithTypes} from \"../../helpers/appointmentHelper\";\n\ninterface AppointmentOptionsDialogComponentState extends IErrorState {\n isOpen: boolean;\n isSaving: boolean;\n hasChanges: boolean;\n isOverwriting: boolean;\n overwriteDate: Date | null;\n selectedWithType: AppointmentWithType;\n selectedPurpose: AppointmentPurposeType;\n appointmentTypes: AppointmentTypeModel[];\n appointmentOptions: AppointmentOptions[];\n target: AppointmentOptions;\n}\n\nconst emptyOptions = (patientId: number, withType: AppointmentWithType, purpose: AppointmentPurposeType): AppointmentOptions => {\n return {\n id: null,\n nextAppointmentDate: null,\n withType: withType,\n purpose: purpose,\n patientId: patientId\n }\n}\n\nexport function useFacade(patientId: number): [\n AppointmentOptionsDialogComponentState,\n (withType: AppointmentWithType) => void,\n (purpose: AppointmentPurposeType) => void,\n (field: string, value: string) => void,\n () => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isOpen: false,\n isSaving: false,\n hasChanges: false,\n isOverwriting: false,\n overwriteDate: null,\n selectedWithType: AppointmentWithType.HealthCoach,\n selectedPurpose: AppointmentPurposeType.Welcome,\n appointmentTypes: [],\n appointmentOptions: [],\n target: emptyOptions(patientId, AppointmentWithType.HealthCoach, AppointmentPurposeType.Consult),\n errors: {}\n } as AppointmentOptionsDialogComponentState);\n\n const handleWithTypeSelect = (withType: AppointmentWithType) => {\n const targetPurpose = state.appointmentTypes.find(x => x.configurations.some(t => t.withType === withType))?.purpose ?? null;\n\n let correspondingOptions = state.appointmentOptions\n .find(x => x.purpose === targetPurpose && x.withType === withType);\n\n if (!correspondingOptions) {\n correspondingOptions = emptyOptions(patientId, withType, targetPurpose);\n }\n\n setState(state => ({\n ...state,\n hasChanges: correspondingOptions.id == null,\n selectedWithType: withType,\n selectedPurpose: targetPurpose,\n overwriteDate: getOverwriteDate(targetPurpose, withType),\n target: Object.assign({}, correspondingOptions)\n }))\n }\n\n const handlePurposeSelect = (purpose: AppointmentPurposeType) => {\n let correspondingOptions = state.appointmentOptions\n .find(x => x.purpose === purpose && x.withType === state.selectedWithType);\n\n if (correspondingOptions == null) {\n correspondingOptions = emptyOptions(patientId, state.selectedWithType, purpose);\n }\n\n setState(state => ({\n ...state,\n hasChanges: correspondingOptions.id == null,\n selectedPurpose: purpose,\n overwriteDate: getOverwriteDate(purpose, state.selectedWithType),\n target: Object.assign({}, correspondingOptions)\n }))\n }\n\n const handleChanges = (field: string, value: string) => {\n appointmentOptionsValidator.validateAndSetState(state, setState, field, value);\n const options = state.target;\n\n options[field] = value;\n\n setState(state => ({\n ...state,\n hasChanges: true,\n isOverwriting: checkIfOverwriting(options),\n target: options\n }));\n }\n\n const checkIfOverwriting = (target: AppointmentOptions) => {\n const purpose = state.selectedPurpose;\n const withType = state.selectedWithType;\n if (!target || !purpose || !withType) {\n return false;\n }\n\n const previousOption = state\n .appointmentOptions\n .find(x => x.purpose === purpose && x.withType === withType);\n\n if (!previousOption) {\n return false;\n }\n\n return target.nextAppointmentDate < previousOption.nextAppointmentDate;\n }\n\n const getOverwriteDate = (\n purpose: AppointmentPurposeType,\n withType: AppointmentWithType,\n options: AppointmentOptions[] = null): Date | null => {\n if (!purpose || !withType) {\n return null;\n }\n\n if (!options) {\n options = state.appointmentOptions\n }\n\n const previousOption = options.find(x => x.purpose === purpose && x.withType === withType);\n\n return previousOption?.nextAppointmentDate ?? null;\n }\n\n const handleOpen = () => {\n setState(state => ({\n ...state,\n isOpen: true,\n hasChanges: false,\n isOverwriting: false,\n overwriteDate: null\n }));\n }\n\n const handleSave = () => {\n appointmentOptionsValidator.validateObjectAndSetState(state, setState, state.target);\n if (appointmentOptionsValidator.stateIsValid(state)) {\n if (state.target) {\n setState(state => ({\n ...state,\n isSaving: true\n }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isSaving: false\n }));\n handleClose();\n }\n if (state.target.id) {\n appointmentsOptionsService.updateOptions(state.target).subscribe(cb, cb);\n } else {\n appointmentsOptionsService.createOptions(state.target).subscribe(cb, cb);\n }\n }\n }\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n isOpen: false,\n hasChanges: false,\n isOverwriting: false,\n overwriteDate: null,\n target: emptyOptions(patientId, AppointmentWithType.HealthCoach, AppointmentPurposeType.Consult),\n selectedPurpose: AppointmentPurposeType.Welcome,\n selectedWithType: AppointmentWithType.HealthCoach\n }));\n }\n\n const setupInitialTarget = (types: AppointmentTypeModel[], options: AppointmentOptions[]) => {\n const availableWithTypes = getAvailableWithTypes(types);\n const option = options?.find(x => availableWithTypes.includes(x.withType));\n setState(state => ({\n ...state,\n target: option ? Object.assign({}, option) : state.target,\n selectedWithType: option ? option.withType : state.selectedWithType,\n selectedPurpose: option ? option.purpose : state.selectedPurpose,\n overwriteDate: getOverwriteDate(\n option ? option.purpose : state.selectedPurpose,\n option ? option.withType : state.selectedWithType,\n options\n )\n }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(appointmentsQuery.allAppointmentTypes$, types => {\n const options = appointmentsQuery.getValue().appointmentOptions;\n\n setState(state => ({\n ...state,\n appointmentTypes: types\n }));\n\n setupInitialTarget(types, options)\n }),\n onEmit(appointmentsQuery.appointmentOptions$, options => {\n const types = appointmentsQuery.getValue().appointmentTypes;\n\n setState(state => ({\n ...state,\n appointmentOptions: options\n }));\n\n setupInitialTarget(types, options);\n }),\n ];\n\n if (state.isOpen) {\n appointmentsService.getAvailableAppointmentTypes(patientId);\n appointmentsOptionsService.getOptions(patientId).subscribe();\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n useEffect(useEffectCB, [patientId, state.isOpen]);\n\n return [\n state,\n handleWithTypeSelect,\n handlePurposeSelect,\n handleChanges,\n handleSave,\n handleOpen,\n handleClose\n ];\n}","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgInfoCircle = function SvgInfoCircle(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 2C6.5 2 2 6.5 2 12C2 17.5 6.5 22 12 22C17.5 22 22 17.5 22 12C22 6.5 17.5 2 12 2Z\",\n stroke: \"#F2F2F2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 16V11\",\n stroke: \"#F2F2F2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.0054 8H11.9964\",\n stroke: \"#F2F2F2\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfoCircle, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/InfoCircle.659dace0.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n padding: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: 20,\n top: 20,\n color: theme.palette.grey[500],\n },\n dialogContent : {\n width: 548,\n paddingTop: 0,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n dialogActions: {\n paddingTop: 0,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n action: {\n color: colors.main,\n }\n }),\n);\n","import React from \"react\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {\n Box,\n Dialog, DialogActions,\n DialogContent, FormControl,\n IconButton, MenuItem, Select,\n Typography\n} from \"@material-ui/core\";\nimport MuiDialogTitle from \"@material-ui/core/DialogTitle\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { useFacade } from \"./appointmentOptionsDialogComponent.hooks\";\nimport { useStyles } from \"./appointmentOptionsDialogComponent.styles\";\nimport { SecondaryButton } from \"../../../common/components/wildHealthButton/SecondaryButton\";\nimport { KeyboardDatePicker, MuiPickersUtilsProvider } from \"@material-ui/pickers\";\nimport DateFnsUtils from \"@date-io/moment\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { appointmentWithTypeNames } from \"../../models/appointments.enums\";\nimport moment from \"moment\";\nimport {Alert} from \"@material-ui/lab\";\nimport {getAppointmentTypesByWithType, getAvailableWithTypes} from \"../../helpers/appointmentHelper\";\n\ninterface AppointmentOptionsDialogComponentProps {\n patientId: number;\n}\n\nexport const AppointmentOptionsDialogComponent: React.FC = (props: AppointmentOptionsDialogComponentProps) => {\n const [\n {\n isOpen,\n isSaving,\n hasChanges,\n isOverwriting,\n overwriteDate,\n selectedWithType,\n selectedPurpose,\n appointmentTypes,\n target,\n errors\n },\n handleWithTypeSelect,\n handlePurposeSelect,\n handleChanges,\n handleSave,\n handleOpen,\n handleClose,\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const maxDate = moment(new Date()).add(1, 'year').toDate();\n\n const getWithTypes = () => {\n const withTypes = getAvailableWithTypes(appointmentTypes);\n return Array.from(appointmentWithTypeNames).filter(x => withTypes.includes(x[0]));\n }\n\n const renderDialog = () => {\n return (\n handleClose()}\n className={classes.root}\n open={isOpen}\n >\n \n\n Appointment Options\n\n handleClose()}>\n \n \n \n\n \n \n \n \n Schedule With\n handleWithTypeSelect(Number(v.target.value))}\n >\n {\n getWithTypes().map((value, index) => {\n return {value[1]}\n })\n }\n \n \n \n \n \n Appointment Type\n handlePurposeSelect(Number(v.target.value))}\n >\n {\n getAppointmentTypesByWithType(appointmentTypes, selectedWithType).map((value, index) => {\n return {value.name}\n })\n }\n \n \n \n \n Earliest Date to Schedule\n \n handleChanges(`nextAppointmentDate`, momentDate === null ?\n \"\" : momentDate.format(\"YYYY-MM-DD\"))}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\"\n }}\n minDate={new Date()}\n maxDate={maxDate}\n />\n \n \n {\n isOverwriting &&\n \n By selecting this, you are overriding the previously set date of {moment(overwriteDate).format('L')}\n \n }\n \n \n {\n hasChanges &&\n \n handleClose()} color=\"tertiary\">\n Discard\n \n handleSave()}\n loading={isSaving}\n disabled={Object.keys(errors).length > 0}\n autoFocus>\n Save Changes\n \n \n }\n \n )\n }\n return (\n <>\n \n handleOpen()}>\n See Appointment Options\n \n \n\n {\n target && renderDialog()\n }\n \n );\n}","import {\n Box,\n createStyles,\n Dialog,\n DialogContent,\n IconButton,\n Theme,\n Tooltip,\n Typography,\n WithStyles,\n withStyles,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { CreatePatientAppointmentFormComponent } from \"../createPatinentAppointmentForm/CreatePatientAppointmentFormComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"./CreatePatientAppointmentDialogComponent.styles\";\nimport { LocationModel } from \"../../../locations/models/locations.models\";\nimport { useFacade } from \"./createPatientAppointmentDialogComponent.hook\";\nimport { EmployeeModel } from \"../../../employee/models/employee.models\";\nimport { AppointmentTypeModel } from \"../../models/appointments.models\";\nimport { AppointmentWithType } from \"../../models/appointments.enums\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport MuiDialogTitle from \"@material-ui/core/DialogTitle\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport React from \"react\";\nimport clsx from \"clsx\";\nimport { TimeZoneModel } from \"../../../timezones/models/timezone.model\";\nimport { ReactComponent as CalendarIcon } from \"@img/icons/CalendarIcon.svg\";\nimport { ReactComponent as InfoCircleIcon } from \"@img/icons/InfoCircle.svg\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { WildHealthLinkButton } from \"../../../../modules/common/components/WildHealthLinkButton\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport DateRange from \"@material-ui/icons/DateRange\";\nimport {getTargetAppointmentType} from \"../../helpers/appointmentHelper\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 0,\n padding: theme.spacing(2),\n },\n closeButton: {\n position: \"absolute\",\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n });\n\ninterface DialogTitleProps extends WithStyles {\n id: string;\n children: React.ReactNode;\n onClose: () => void;\n}\n\nconst DialogTitle = withStyles(styles)((props: DialogTitleProps) => {\n const { children, classes, onClose, ...other } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n \n \n {children}\n \n {onClose ? (\n \n \n \n ) : null}\n \n );\n});\n\ninterface ScheduleAppointmentComponentProps {\n assignedEmployees: EmployeeModel[];\n appointmentWithType: AppointmentWithType;\n appointmentTypes: AppointmentTypeModel[];\n locations: LocationModel[];\n timeZone: TimeZoneModel;\n patientId?: number | null;\n disableSchedule?: boolean;\n buttonType?: any;\n hasFollowUp?: boolean;\n}\n\nexport const CreatePatientAppointmentDialogComponent: React.FC<\n ScheduleAppointmentComponentProps\n> = (props: ScheduleAppointmentComponentProps) => {\n const {\n assignedEmployees,\n appointmentWithType,\n appointmentTypes,\n locations,\n timeZone,\n patientId = null,\n disableSchedule = false,\n } = props;\n\n const [state, handleToggleDialog, handleGoToConversations, handleContinueDialog] = useFacade();\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const targetAppointmentType = getTargetAppointmentType(appointmentTypes, appointmentWithType);\n\n const infoIcon = () => {\n return authQuery.getType() === UserType.Employee && authQuery.isDefaultPractice() ? (\n \n \n \n ) : (\n \n );\n };\n\n const scheduleAppointmentButton = () => {\n const basicStyle = {\n borderColor: colors.main,\n borderStyle: \"solid\",\n backgroundColor: colors.white,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n color: colors.main,\n };\n\n return isSmallScreen ? (\n \n {state.toContinueDialog ? \"Appointment Confirmation\" : \"Schedule Appointment\"}\n \n \n \n \n ) : (\n \n \n \n );\n };\n\n return (\n <>\n \n {disableSchedule && (\n \n {infoIcon()}\n \n Visits become available to schedule as you progress along your journey.{\" \"}\n handleGoToConversations()}\n >\n Message us{\" \"}\n {\" \"}\n if you need to schedule a visit sooner\n \n \n )}\n \n \n {targetAppointmentType?.dashboardMessageTitle}\n \n \n \n \n {targetAppointmentType?.dashboardMessageDescription}\n \n \n \n {\" \"}\n Please schedule your Zoom visit\n \n {\n if (!disableSchedule) {\n handleToggleDialog();\n }\n }}\n content={here}\n id=\"schedule-appointment-link\"\n />\n \n \n {scheduleAppointmentButton()}\n \n \n \n\n \n {\n !isSmallScreen &&\n \n \n {state.toContinueDialog ? \"Appointment Confirmation\" : \"Schedule Appointment\"} \n \n \n }\n \n \n \n \n \n \n \n );\n};\n","import { useEffect, useState } from 'react';\nimport { useHistory } from \"react-router-dom\";\nimport { Subscription } from 'rxjs';\nimport { confirmService } from '../../../../services/confirm.service';\nimport { AppointmentTypeModel, PatientAppointmentModel, AppointmentsSummaryModel } from '../../../appointments/models/appointments.models';\nimport { appointmentsService } from '../../../appointments/services/appointments.service';\nimport { appointmentsQuery } from '../../../appointments/stores/appointments';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { EmployeeModel } from '../../../employee/models/employee.models';\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { employeesQuery } from '../../../employee/stores/employeesStore';\nimport { LocationModel } from '../../../locations/models/locations.models';\nimport { locationsService } from \"../../../locations/services/locations.service\";\nimport { locationsQuery } from '../../../locations/stores';\nimport { patientsService } from '../../../patients/services/patients.service';\nimport { patientsQuery } from '../../../patients/stores/patientsStore';\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { TimeZoneModel } from \"../../../timezones/models/timezone.model\";\nimport { profileService } from '../../../account/services/profile.service';\nimport { navigationService } from '../../../../services/navigation.service';\n\ninterface AppointmentWidgetComponentState {\n isLoading: boolean;\n isPhotosLoading: boolean;\n isAppointmentTypesLoading: boolean;\n isManageOpen: boolean;\n menuAnchorEl: HTMLElement;\n assignedEmployees: EmployeeModel[];\n appointmentTypes: AppointmentTypeModel[];\n appointments: PatientAppointmentModel[];\n locations: LocationModel[];\n timeZone: TimeZoneModel;\n selectedId: number;\n appointmentsSummary: AppointmentsSummaryModel;\n}\n\nexport function useFacade(patientId: number | null): [\n AppointmentWidgetComponentState,\n (appointmentId: number, menuAnchorEl?: HTMLElement) => void,\n () => void,\n () => void,\n (joinLink: string) => void,\n () => void,\n (appointmentId: number, status: boolean) => void,\n] {\n const history = useHistory();\n const [state, setState] = useState({\n isLoading: true,\n isPhotosLoading: true,\n isAppointmentTypesLoading: false,\n isManageOpen: false,\n menuAnchorEl: null,\n assignedEmployees: [],\n appointmentTypes: [],\n appointments: [],\n locations: [],\n timeZone: null,\n appointmentsSummary: null\n } as AppointmentWidgetComponentState);\n\n const handleReschedule = () => {\n const appointment = state.appointments.find(x => x.id === state.selectedId);\n if (!appointment) {\n return;\n }\n\n setState(state => ({ ...state, isManageOpen: false, menuAnchorEl: null }));\n\n appointmentsService.openPatientAppointmentReschedule(appointment, null).subscribe();\n }\n\n const handleCancel = () => {\n setState(state => ({ ...state, isManageOpen: false, menuAnchorEl: null }));\n\n confirmService.confirm(\n 'Cancel Appointment',\n 'Are you sure you want to cancel the appointment?',\n 'Cancel Appointment',\n 'Discard',\n 'danger')\n .subscribe(\n () => appointmentsService.cancelAsPatient(state.selectedId)\n );\n }\n\n const handleJoin = (joinLink: string) => {\n window.open(joinLink);\n }\n\n const handleToggleMenu = (appointmentId: number, menuAnchorEl?: HTMLElement) => {\n setState(state => ({ \n ...state, \n menuAnchorEl,\n selectedId: appointmentId\n }))\n }\n\n const handleToggleManage = (appointmentId: number, status: boolean) => {\n setState(state => ({ \n ...state, \n isManageOpen: status,\n selectedId: appointmentId\n }))\n }\n\n const handleGoToMyProfile = () => {\n navigationService.toMyProfile(history);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(appointmentsQuery.patientAppointments$, appointments => {\n setState(state => ({ ...state, appointments: appointments }));\n }),\n onEmit(appointmentsQuery.appointmentTypes$, types => {\n setState(state => ({ ...state, appointmentTypes: types }))\n }),\n onEmit(employeesQuery.patientEmployees$, employees => {\n setState(state => ({ ...state, assignedEmployees: employees }));\n }),\n onEmit(patientsQuery.patientTimeZone$, timeZone => {\n setState(state => ({ ...state, timeZone: timeZone }));\n }),\n onEmit(locationsQuery.availableLocations$, locations => {\n setState(state => ({ ...state, locations: locations }));\n }),\n onEmit(appointmentsQuery.appointmentsSummary$, appointmentsSummary => {\n setState(state => ({ ...state, appointmentsSummary: appointmentsSummary }));\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n const photosCB = () => setState(state => ({ ...state, isPhotosLoading: false }));\n const appointmentTypeCB = () => setState(state => ({ ...state, isAppointmentTypesLoading: false }));\n const getPhotos = (employees: EmployeeModel[]) => {\n if (employees && employees.length) {\n profileService.getEmployeeProfilePhotos(employees.map(e => e.id).join(',')).subscribe(photosCB, photosCB)\n } else {\n photosCB()\n }\n }\n\n patientsService.getPatientTimeZone(patientId);\n locationsService.getAvailable(authQuery.getCurrentPracticeId()).subscribe();\n if (!state.isAppointmentTypesLoading) {\n setState(state => ({\n ...state,\n isAppointmentTypesLoading: true\n }));\n appointmentsService.getAvailableAppointmentTypesAsync(patientId).subscribe(appointmentTypeCB, appointmentTypeCB);\n }\n\n if (patientId) {\n appointmentsService.getAppointmentsSummary(patientId);\n employeeService.getAssignedToById(patientId).subscribe((employees) => getPhotos(employees));\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe(cb, cb);\n } else {\n appointmentsService.getAppointmentsSummary(authQuery.getPatientId());\n employeeService.getAssignedTo().subscribe((employees) => getPhotos(employees));\n appointmentsService.getPatientAppointments(new Date()).subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleToggleMenu, handleReschedule, handleCancel, handleJoin, handleGoToMyProfile, handleToggleManage];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: colors.bg,\n [theme.breakpoints.down(\"xs\")]: {\n height: \"fit-content\",\n },\n },\n cardContent: {\n padding: 0,\n },\n content: {\n backgroundColor: '#fff',\n height: \"100%\",\n padding: 16,\n borderRadius: 8\n },\n title: {\n fontSize: 20,\n fontWeight: 500,\n fontFamily: \"Poppins\",\n color: colors.linkBlack,\n },\n noAppointmentsContainer: {\n paddingTop: 50,\n paddingBottom: 50,\n },\n noAppointments: {\n fontSize: 16,\n },\n appointmentContainer: {\n [theme.breakpoints.down(\"xs\")]: {\n // height: 110,\n },\n },\n appointmentContent: {\n display: \"flex\",\n marginTop: 16,\n marginBottom: 24,\n [theme.breakpoints.down(\"xs\")]: {\n // margin: 0,\n },\n },\n employeeAvatars: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n alignItems: \"flex-start\",\n },\n },\n employeeImage: {\n height: 70,\n width: 70,\n },\n imagePlaceholder: {\n height: \"auto\",\n width: \"100%\",\n color: \"#7C8A9D\",\n },\n employeeName: {\n fontSize: 18,\n fontWeight: 500,\n },\n position: {\n color: colors.gray600,\n fontSize: 16,\n fontWeight: 500,\n },\n time: {\n fontSize: 14,\n fontWeight: 400,\n color: colors.black,\n },\n date: {\n fontSize: 14,\n fontWeight: 400,\n color: colors.black,\n },\n dateIcon: {\n fill: colors.gray600,\n width: 18,\n height: 18,\n },\n timeIcon: {\n fill: colors.gray600,\n width: 18,\n height: 18,\n },\n dateTime: {\n display: \"flex\",\n alignItems: \"center\",\n marginTop: 4,\n },\n divider: {\n background: colors.separators,\n marginTop: 20,\n marginBottom: 20\n },\n menuIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n \"&.MuiIconButton-root\": {\n padding: 0,\n color: colors.black,\n },\n },\n },\n manageButtons: {\n display: \"flex\",\n alignItems: \"center\",\n gridGap: 16,\n width: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n flexDirection: 'column'\n },\n },\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '10px 10px 0 0',\n margin: 0,\n marginTop: 'auto'\n },\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"flex-end\",\n margin: 0,\n paddingRight: 24,\n paddingLeft: 24,\n paddingTop: 24,\n paddingBottom: 0,\n },\n dialogContent: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: 'center',\n maxWidth: 545,\n paddingTop: 0,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginLeft: 0,\n },\n },\n dialogActions: {\n paddingBottom: 30,\n paddingLeft: 24,\n paddingRight: 24\n },\n })\n);\n","import {\n Avatar,\n Box,\n Card,\n CardContent,\n Divider,\n IconButton,\n Popover,\n Typography,\n useMediaQuery,\n useTheme\n} from \"@material-ui/core\";\nimport DateRangeIcon from '@material-ui/icons/DateRange';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport WatchLaterRoundedIcon from '@material-ui/icons/WatchLaterRounded';\nimport moment from \"moment\";\nimport React from \"react\";\nimport {\n AppointmentOptionsDialogComponent\n} from \"../../../appointments/components/appointmentOptionsDialogComponent/AppointmentOptionsDialogComponent\";\nimport {\n CreatePatientAppointmentDialogComponent\n} from '../../../appointments/components/createPatientAppointmentUpdatedDialog/CreatePatientAppointmentDialogComponent';\nimport {\n PatientRescheduleAppointmentDialogComponent\n} from '../../../appointments/components/patientRescheduleAppointmentDialog/PatientRescheduleAppointmentDialogComponent';\nimport {\n AppointmentPurposeType,\n AppointmentStatus,\n AppointmentWithType\n} from '../../../appointments/models/appointments.enums';\nimport {PatientAppointmentModel} from '../../../appointments/models/appointments.models';\nimport {AccentButton} from \"../../../common/components/wildHealthButton/AccentButton\";\nimport {SecondaryButton} from \"../../../common/components/wildHealthButton/SecondaryButton\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {WildHealthMenuItem} from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport {displayShortName} from \"../../../conversations/helpers/messages.converter\";\nimport {useFacade} from \"./appointmentWidgetComponent.hooks\";\nimport {useStyles} from \"./appointmentWidgetComponent.styles\";\nimport {getAvailableAppointmentType, getAvailableWithTypes} from \"../../../appointments/helpers/appointmentHelper\";\nimport { EmployeeType, employeeTypesNames, employeeTypesNamesForAppointment } from \"../../../employee/models/employee.enums\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\n\nexport interface AppointmentWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const AppointmentWidgetComponent: React.FC = (props: AppointmentWidgetComponentProps) => {\n const [\n {\n isLoading,\n isAppointmentTypesLoading,\n menuAnchorEl,\n assignedEmployees,\n appointmentTypes,\n appointments,\n locations,\n timeZone,\n appointmentsSummary\n },\n handleToggleMenu,\n handleReschedule,\n handleCancel,\n handleJoin\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const coachSectionWithTypes: Array = [AppointmentWithType.HealthCoach];\n const providerSectionWithTypes: Array = [AppointmentWithType.HealthCoachAndProvider, AppointmentWithType.Provider];\n\n const hasFollowUp = Boolean(appointmentTypes.find((appointmentType) => appointmentType.purpose === AppointmentPurposeType.FollowUp));\n const denomenator = appointmentsSummary?.availableCoachAppointments;\n\n const getAppointmentsByWithType = (withTypes: AppointmentWithType[], appointments: PatientAppointmentModel[]): PatientAppointmentModel[] => {\n return appointments.filter(x => x.status !== AppointmentStatus.Canceled && withTypes.includes(x.withType));\n }\n\n const getTitle = (appointment: PatientAppointmentModel): string => {\n return appointment.employees\n .map(e => `${e.firstName} ${e.lastName}`)\n .join(', ');\n }\n\n const getAvatarLetters = (appointment: PatientAppointmentModel): string => {\n return appointment.employees.length === 1\n ? displayShortName(appointment.employees[0].firstName, appointment.employees[0].lastName)\n : appointment.employees.map(x => x.firstName.trim()[0]).join(',');\n }\n\n const renderAppointments = (withTypes: AppointmentWithType[], position: EmployeeType) => {\n const targetAppointments = getAppointmentsByWithType(withTypes, appointments);\n\n const availableWithTypes = getAvailableWithTypes(appointmentTypes);\n\n const targetWithType = availableWithTypes.find(x => withTypes.includes(x));\n\n const availableType = getAvailableAppointmentType(appointmentTypes, targetWithType);\n\n const employee = assignedEmployees?.find(el => el.role.displayName === employeeTypesNames.get(position))\n\n const isCanCreate = position === EmployeeType.HealthCoach ? denomenator > 0 : true;\n\n if (!targetAppointments || !targetAppointments.length) {\n return (\n \n \n \n );\n }\n\n const byStartDate = (a, b) => new Date(a.startDate).getTime() - new Date(b.startDate).getTime();\n const appointment = targetAppointments.sort(byStartDate)[0];\n\n return (\n \n \n \n \n {getAvatarLetters(appointment)}\n \n \n \n \n \n \n {getTitle(appointment)}\n \n \n \n \n \n \n \n {moment(appointment.startDate).format(isSmallScreen?'ddd, MMM DD':'ddd, MMMM DD')}\n \n \n\n \n \n \n \n \n {`${moment(appointment.startDate).format('hh:mm a')} - ${moment(appointment.endDate).format('hh:mm a')}`}\n \n \n \n \n \n handleToggleMenu(appointment.id, e.currentTarget)} className={classes.menuIcon}>\n \n \n \n \n \n \n \n handleJoin(appointment.joinLink)} fullWidth={isSmallScreen} >\n Join\n \n \n \n )\n }\n\n const renderSection = (position: EmployeeType, withTypes: AppointmentWithType[]) => {\n return (\n \n \n \n {employeeTypesNamesForAppointment.get(position)} Visit\n \n \n \n {renderAppointments(withTypes, position)}\n \n \n )\n }\n\n const renderContent = () => {\n if (isLoading || isAppointmentTypesLoading) {\n return \n }\n\n return (\n \n \n\n {renderSection(EmployeeType.HealthCoach, coachSectionWithTypes)}\n \n {renderSection(EmployeeType.Provider, providerSectionWithTypes)}\n handleToggleMenu(0)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n handleCancel()}>Cancel\n handleReschedule()}>Reschedule\n \n {\n props.patientId && <>\n \n \n \n \n \n }\n \n )\n }\n\n return (\n \n \n \n Upcoming Appointments\n \n\n {renderContent()}\n \n \n );\n}","import React from \"react\";\nimport {\n Avatar,\n Box,\n Card,\n CardContent,\n Divider,\n Typography,\n Dialog,\n DialogContent,\n DialogActions,\n useMediaQuery,\n useTheme\n} from \"@material-ui/core\";\nimport WatchLaterOutlinedIcon from '@material-ui/icons/WatchLaterOutlined';\nimport { ReactComponent as CalendarIcon } from \"@img/icons/CalendarIcon.svg\";\nimport moment from \"moment\";\nimport { useFacade } from \"./appointmentWidgetComponent.hooks\";\nimport { useStyles } from \"./appointmentWidgetComponent.styles\";\nimport {\n PatientRescheduleAppointmentDialogComponent\n} from '../../../appointments/components/patientRescheduleAppointmentDialog/PatientRescheduleAppointmentDialogComponent';\nimport {\n AppointmentPurposeType,\n AppointmentStatus,\n AppointmentWithType\n} from '../../../appointments/models/appointments.enums';\nimport { PatientAppointmentModel } from '../../../appointments/models/appointments.models';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\nimport { displayShortName } from \"../../../conversations/helpers/messages.converter\";\nimport {getAvailableAppointmentType, getAvailableWithTypes} from \"../../../appointments/helpers/appointmentHelper\";\nimport { CreatePatientAppointmentDialogRedesignComponent } from \"../../../appointments/components/createPatientAppointmentUpdatedDialog/CreatePatientAppointmentDialogRedesignComponent\";\nimport { WildHealthStatusLabel } from \"../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { AppointmentOptionsDialogComponent } from \"../../../appointments/components/appointmentOptionsDialogComponent/AppointmentOptionsDialogComponent\";\nimport { EmployeeType, employeeTypesNames, employeeTypesNamesForAppointment } from \"../../../employee/models/employee.enums\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\n\nexport interface AppointmentWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const AppointmentWidgetRedesignComponent: React.FC = (props: AppointmentWidgetComponentProps) => {\n const { patientId } = props\n const [\n {\n isLoading,\n isPhotosLoading,\n isAppointmentTypesLoading,\n isManageOpen,\n assignedEmployees,\n appointmentTypes,\n appointments,\n locations,\n timeZone,\n appointmentsSummary\n },\n handleToggleMenu,\n handleReschedule,\n handleCancel,\n handleJoin,\n handleGoToMyProfile,\n handleToggleManage\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const coachSectionWithTypes: Array = [AppointmentWithType.HealthCoach];\n const providerSectionWithTypes: Array = [AppointmentWithType.HealthCoachAndProvider, AppointmentWithType.Provider];\n\n const hasFollowUp = Boolean(appointmentTypes.find((appointmentType) => appointmentType.purpose === AppointmentPurposeType.FollowUp));\n const denomenator = appointmentsSummary?.availableCoachAppointments;\n\n const getAppointmentsByWithType = (withTypes: AppointmentWithType[], appointments: PatientAppointmentModel[]): PatientAppointmentModel[] => {\n return appointments.filter(x => x.status !== AppointmentStatus.Canceled && withTypes.includes(x.withType));\n }\n\n const getTitle = (appointment: PatientAppointmentModel): string => {\n return appointment.employees\n .map(e => `${e.firstName} ${e.lastName}`)\n .join(', ');\n }\n\n const getAvatarLetters = (appointment: PatientAppointmentModel): string => {\n return appointment.employees.length === 1\n ? displayShortName(appointment.employees[0].firstName, appointment.employees[0].lastName)\n : appointment.employees.map(x => x.firstName.trim()[0]).join(',');\n }\n\n const renderCreateAppointment = (disableSchedule, targetWithType, position: EmployeeType) => {\n return (\n \n \n \n );\n }\n\n const renderAppointment = (appointment) => {\n return (\n <>\n \n \n \n {getAvatarLetters(appointment)}\n \n \n \n \n \n \n {getTitle(appointment)}\n \n \n \n \n \n \n {moment(appointment.startDate).format(isSmallScreen ? 'ddd, MMM DD' : 'ddd, MMMM DD')}\n \n\n \n \n \n \n {`${moment(appointment.startDate).format('hh:mm a')} - ${moment(appointment.endDate).format('hh:mm a')}`}\n \n \n \n \n \n \n \n \n handleToggleManage(appointment.id, true)}\n >\n Manage Appointment\n \n \n \n handleJoin(appointment.joinLink)}\n >\n Join\n \n \n \n \n )\n }\n\n const renderAppointmentsSection = (targetAppointments) => {\n const byStartDate = (a, b) => new Date(a.startDate).getTime() - new Date(b.startDate).getTime();\n const appointment = targetAppointments.sort(byStartDate)[0];\n return \n {renderAppointment(appointment)}\n \n }\n\n const renderSection = (position: EmployeeType, withTypes: AppointmentWithType[]) => {\n\n const targetAppointments = getAppointmentsByWithType(withTypes, appointments);\n const availableWithTypes = getAvailableWithTypes(appointmentTypes);\n const targetWithType = availableWithTypes.find(x => withTypes.includes(x));\n const availableType = getAvailableAppointmentType(appointmentTypes, targetWithType);\n const employee = assignedEmployees?.find(el => el.role.displayName === employeeTypesNames.get(position))\n const isCanCreate = position === EmployeeType.HealthCoach ? denomenator > 0 : true;\n const disableSchedule = !(!!availableType && !!employee && isCanCreate);\n\n return (\n \n \n \n {employeeTypesNamesForAppointment.get(position)} Visit\n \n {disableSchedule && targetAppointments.length === 0 && \n Not Eligible\n }\n \n \n {(!targetAppointments || !targetAppointments.length)\n ? renderCreateAppointment(disableSchedule, targetWithType, position)\n : renderAppointmentsSection(targetAppointments)\n }\n \n \n )\n }\n\n const renderContent = () => {\n if (isLoading || isPhotosLoading || isAppointmentTypesLoading) {\n return \n }\n\n const targetAppointments = getAppointmentsByWithType([...coachSectionWithTypes, ...providerSectionWithTypes], appointments);\n\n return (\n \n \n\n {renderSection(EmployeeType.HealthCoach, coachSectionWithTypes)}\n \n {renderSection(EmployeeType.Provider, providerSectionWithTypes)}\n {(!patientId && targetAppointments && targetAppointments.length > 0) && \n By joining the session, you consent to the session being recorded, subject to your opt-out preferences in your account settings. You may opt-out by clicking here to change your settings.\n }\n handleToggleManage(0, false)}\n className={classes.dialog}\n >\n {\n !isSmallScreen &&\n handleToggleManage(0, false)}\n >\n \n Manage Appointment\n \n \n }\n \n \n {\n isSmallScreen &&\n \n \n Manage Appointment\n \n \n }\n \n \n Data shows, patients who meet more frequently with their providers have greater outcomes and improvements. Consider rescheduling instead of cancelling!\n \n \n While we don’t charge for cancellations, we ask that you please make any changes at least 48-hours prior to your scheduled appointment time.\n \n \n {\n isSmallScreen &&\n \n \n handleReschedule()}\n size='large'\n fullWidth>\n Reschedule\n \n \n \n handleCancel()}\n size='large'\n color='secondary'\n border='none'\n fullWidth>\n Cancel Appointment\n \n \n \n }\n \n \n {\n !isSmallScreen &&\n \n handleCancel()}\n size='large'\n color='secondary'\n border='none'\n borderRadius={50}>\n Cancel Appointment\n \n\n handleReschedule()}\n size='large'\n borderRadius={50}>\n Reschedule\n \n \n }\n \n {\n props.patientId && <>\n \n \n \n \n \n }\n \n )\n }\n\n return (\n \n \n \n Upcoming Appointments\n \n \n {renderContent()}\n \n \n \n );\n}","import { Button } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: colors.bg,\n [theme.breakpoints.down(\"xs\")]: {\n height: \"fit-content\",\n },\n },\n content: {\n padding: 0,\n },\n title: {\n fontSize: 20,\n fontWeight: 500,\n color: colors.black,\n },\n link: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.main,\n cursor: 'pointer'\n },\n filterButton: {\n color: colors.gray1,\n cursor: 'pointer',\n fontWeight: 500,\n fontSize: 15,\n height: 40,\n padding: 10,\n paddingLeft: 15,\n paddingRight: 15\n },\n selectedFilterButton: {\n cursor: 'pointer',\n fontWeight: 500,\n fontSize: 15,\n background: colors.lightGray2,\n color: colors.main,\n borderRadius: 20,\n height: 40,\n padding: 10,\n paddingLeft: 15,\n paddingRight: 15\n },\n navigateContainer: {\n width: 70,\n },\n navigateButton: {\n padding: 10,\n minWidth: 28,\n width: 28,\n height: 28,\n },\n box: {\n background: colors.main,\n borderRadius: 8,\n height: 360,\n width: \"100%\",\n color: colors.white,\n fontSize: 14,\n padding: \"24px 30px\",\n overflow: \"auto\",\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth: 276,\n height: 326,\n flexShrink: 0,\n },\n },\n goalTitle: {\n fontSize: 20,\n fontWeight: 500,\n },\n noHealthGoalsText: {\n fontSize: 15,\n fontWeight: 600,\n color: colors.main,\n },\n noHealthGoalsSubText: {\n fontSize: 15,\n fontWeight: 500,\n color: colors.gray1,\n },\n imageContainer: {\n minWidth: 180,\n minHeight: 88,\n borderRadius: 12,\n background: colors.lightGray2,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n color: colors.white,\n display: 'flex',\n padding: 20,\n alignItems: 'center',\n },\n })\n);\n\nexport const NavigateButton = withStyles((theme: Theme) => ({\n root: {\n color: colors.main,\n backgroundColor: colors.stroke,\n borderRadius: 2,\n \"&:hover\": {\n backgroundColor: `${colors.stroke}CC`,\n },\n \"&:disabled\": {\n color: colors.gray2,\n backgroundColor: colors.disabled,\n },\n },\n}))(Button);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport {colors} from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500,\n fontFamily: \"Be Vietnam Pro\",\n color: colors.white,\n },\n imageContainer: {\n minWidth: 180,\n minHeight: 180,\n borderRadius: 12,\n background: colors.lightGray2,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n color: colors.white,\n },\n label: {\n background: `${colors.white}25`,\n display: 'flex',\n fontSize: 12,\n justifyContent: 'center',\n alignItems: 'center',\n color: colors.white,\n borderRadius: 4,\n padding: 4,\n paddingRight: 10,\n width: 'max-content',\n },\n scheduleAppt: {\n color: colors.white,\n textTransform: 'capitalize',\n border: '1px solid',\n },\n openDialog: {\n color: colors.white,\n textTransform: 'capitalize',\n },\n dialog: {\n paddingTop: \"30px !important\",\n paddingLeft: \"40px !important\",\n paddingRight: \"40px !important\",\n paddingBottom: \"30px !important\",\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n paddingBottom: 30,\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n dialogTitle: {\n padding: 24,\n },\n\n })\n);\n","import TaskBgFirstHC from '@img/TaskBgFirstHC.png';\nimport TaskBgRegularHC from '@img/TaskBgRegularHC.png';\nimport TaskBgFirstPV from '@img/TaskBgFirstPV.png';\nimport TaskBgRegularPV from '@img/TaskBgRegularPV.png';\nimport TaskEmpty from '@img/TaskEmpty.png';\n\nexport enum EngagementCriteriaType {\n NoIMCForMoreThan2MonthsAfterCheckout = 10,\n NoIMCForMoreThan6MonthsAfterCheckout = 11,\n NoICCForMoreThan2WeeksAfterCheckout = 12,\n NoDnaReviewForMoreThan2MonthsAfterCheckout = 13,\n NoDnaReviewForMoreThan6MonthsAfterCheckout = 14,\n InsuranceNoMDVisitForMoreThan3MonthsSinceLastMDVisit = 20,\n CashNoMDVisitForMoreThan3MonthsSinceLastMDVisit = 30,\n NoHCVisitForMoreThanMonthSinceLastHC = 40,\n NoIMCForMoreThan1DayAfterDNAAndLabsReturned = 50,\n NoIMCForMoreThan2WeeksAfterDNAAndLabsReturned = 51,\n NoDnaReviewForMoreThan1DayAfterDNAAndLabsReturned = 52,\n NoDnaReviewForMoreThan2WeeksAfterDNAAndLabsReturned = 53,\n NoICCForMoreThan1DayAfterHCAssigned = 60,\n IMCCompleted1DayAgo = 70,\n PatientBirthdayIsToday = 1000,\n Empty = 1,\n}\n\nexport const myTaskFullImages = new Map()\n .set(EngagementCriteriaType.NoIMCForMoreThan2MonthsAfterCheckout, TaskBgFirstHC)\n .set(EngagementCriteriaType.NoIMCForMoreThan6MonthsAfterCheckout, TaskBgFirstPV)\n .set(EngagementCriteriaType.NoICCForMoreThan2WeeksAfterCheckout, TaskBgRegularHC)\n .set(EngagementCriteriaType.NoDnaReviewForMoreThan2MonthsAfterCheckout, TaskBgRegularPV)\n .set(EngagementCriteriaType.NoDnaReviewForMoreThan6MonthsAfterCheckout, TaskBgRegularHC)\n .set(EngagementCriteriaType.InsuranceNoMDVisitForMoreThan3MonthsSinceLastMDVisit, TaskBgRegularPV)\n .set(EngagementCriteriaType.CashNoMDVisitForMoreThan3MonthsSinceLastMDVisit, TaskBgFirstHC)\n .set(EngagementCriteriaType.NoHCVisitForMoreThanMonthSinceLastHC, TaskBgFirstPV)\n .set(EngagementCriteriaType.NoIMCForMoreThan1DayAfterDNAAndLabsReturned, TaskBgFirstHC)\n .set(EngagementCriteriaType.NoIMCForMoreThan2WeeksAfterDNAAndLabsReturned, TaskBgRegularPV)\n .set(EngagementCriteriaType.NoDnaReviewForMoreThan1DayAfterDNAAndLabsReturned, TaskBgRegularHC)\n .set(EngagementCriteriaType.NoDnaReviewForMoreThan2WeeksAfterDNAAndLabsReturned, TaskBgRegularPV)\n .set(EngagementCriteriaType.NoICCForMoreThan1DayAfterHCAssigned, TaskBgRegularHC)\n .set(EngagementCriteriaType.PatientBirthdayIsToday, TaskBgFirstPV)\n .set(EngagementCriteriaType.IMCCompleted1DayAgo, TaskBgRegularHC)\n .set(EngagementCriteriaType.Empty, TaskEmpty)\n\n\nexport const EngagementCriteriaTypeTitle: { [type: number]: string } = {\n [EngagementCriteriaType.NoIMCForMoreThan2MonthsAfterCheckout]: '',\n [EngagementCriteriaType.InsuranceNoMDVisitForMoreThan3MonthsSinceLastMDVisit]: 'Why Schedule a Physician Visit?',\n [EngagementCriteriaType.CashNoMDVisitForMoreThan3MonthsSinceLastMDVisit]: 'Why Schedule a Physician Visit?',\n [EngagementCriteriaType.NoHCVisitForMoreThanMonthSinceLastHC]: 'Why Schedule a Health Coaching Session?',\n [EngagementCriteriaType.NoICCForMoreThan2WeeksAfterCheckout]: 'Why Schedule Your ICC?',\n [EngagementCriteriaType.NoIMCForMoreThan1DayAfterDNAAndLabsReturned]: 'Why Schedule Your IMC?',\n [EngagementCriteriaType.NoIMCForMoreThan2WeeksAfterDNAAndLabsReturned]: 'Why Schedule Your IMC?',\n [EngagementCriteriaType.NoIMCForMoreThan6MonthsAfterCheckout]: '',\n [EngagementCriteriaType.NoICCForMoreThan1DayAfterHCAssigned]: 'Why Schedule Your ICC?',\n [EngagementCriteriaType.IMCCompleted1DayAgo]: 'Why Schedule a Health Coaching Session?',\n [EngagementCriteriaType.NoDnaReviewForMoreThan2MonthsAfterCheckout]: 'Why Schedule Your DNA Review?',\n [EngagementCriteriaType.NoDnaReviewForMoreThan6MonthsAfterCheckout]: 'Why Schedule Your DNA Review?',\n [EngagementCriteriaType.NoDnaReviewForMoreThan1DayAfterDNAAndLabsReturned]: 'Why Schedule Your DNA Review?',\n [EngagementCriteriaType.NoDnaReviewForMoreThan2WeeksAfterDNAAndLabsReturned]: 'Why Schedule Your DNA Review?',\n}\n\nexport const EngagementCriteriaTypeBody: { [type: number]: string } = {\n [EngagementCriteriaType.NoIMCForMoreThan2MonthsAfterCheckout]: '',\n [EngagementCriteriaType.InsuranceNoMDVisitForMoreThan3MonthsSinceLastMDVisit]: 'Data shows, patients who meet with their physician more frequently experience more significant outcomes and improvements to their health. We recommend quarterly Physician Visits for maximum impact. Plus, it\\'s covered by insurance - so you can save up to $175! ',\n [EngagementCriteriaType.CashNoMDVisitForMoreThan3MonthsSinceLastMDVisit]: 'Data shows, patients who meet with their physician more frequently experience more significant outcomes and improvements to their health. We recommend quarterly Physician Visits for maximum impact.',\n [EngagementCriteriaType.NoHCVisitForMoreThanMonthSinceLastHC]: 'Data shows, meeting with your health coach more regularly leads to more significant progress and outcomes. Take advantage of unlimited health coaching to achieve your goals. Our coaches have specialized training in behavioral change and Precision Medicine – giving them a unique ability to equip you with tips, guidance, support, and solutions to challenges at every stage of your journey. We recommend monthly Health Coaching Sessions for maximum impact.',\n [EngagementCriteriaType.NoICCForMoreThan2WeeksAfterCheckout]: 'Your Initial Coaching Call (ICC) is your first opportunity to meet your coach (and accountability buddy!), outline your primary health goals, address questions or concerns, and leave with actionable next steps to kickstart your health journey. As agents of change, our coaches will determine a regular cadence for your meetings to ensure you’re on track and building habits and behaviors that support your goals.',\n [EngagementCriteriaType.NoIMCForMoreThan1DayAfterDNAAndLabsReturned]: 'During your Initial Medical Consult (IMC), a board-certified Precision Medicine Physician will break down the details of your Personal Health Report. You’ll talk through the implications of your genetics across all key pillars of health: nutrition, exercise, sleep, neurobehavioral, chronic disease risk, and more – alongside recommendations for achieving optimal health. Your physician will leave you with a clear path forward with top interventions to help you achieve your individual health goals.',\n [EngagementCriteriaType.NoIMCForMoreThan2WeeksAfterDNAAndLabsReturned]: 'During your Initial Medical Consult (IMC), a board-certified Precision Medicine Physician will break down the details of your Personal Health Report. You’ll talk through the implications of your genetics across all key pillars of health: nutrition, exercise, sleep, neurobehavioral, chronic disease risk, and more – alongside recommendations for achieving optimal health. Your physician will leave you with a clear path forward with top interventions to help you achieve your individual health goals.',\n [EngagementCriteriaType.NoIMCForMoreThan6MonthsAfterCheckout]: '',\n [EngagementCriteriaType.NoICCForMoreThan1DayAfterHCAssigned]: 'Your Initial Coaching Call (ICC) is your first opportunity to meet your coach (and accountability buddy!), outline your primary health goals, address questions or concerns, and leave with actionable next steps to kickstart your health journey. As agents of change, our coaches will determine a regular cadence for your meetings to ensure you’re on track and building habits and behaviors that support your goals.',\n [EngagementCriteriaType.IMCCompleted1DayAgo]: 'Data shows, meeting with your health coach more regularly leads to more significant progress and outcomes. Take advantage of unlimited health coaching to achieve your goals. Our coaches have specialized training in behavioral change and Precision Medicine – giving them a unique ability to equip you with tips, guidance, support, and solutions to challenges at every stage of your journey. We recommend monthly Health Coaching Sessions for maximum impact.',\n [EngagementCriteriaType.NoDnaReviewForMoreThan2MonthsAfterCheckout]: 'During your DNA Review, a board-certified Precision Medicine Physician will break down the details of your Personal Health Report. You’ll talk through the implications of your genetics across all key pillars of health: nutrition, exercise, sleep, neurobehavioral, chronic disease risk, and more – alongside recommendations for achieving optimal health. Your physician will leave you with a clear path forward with top interventions to help you achieve your individual health goals.',\n [EngagementCriteriaType.NoDnaReviewForMoreThan6MonthsAfterCheckout]: 'During your DNA Review, a board-certified Precision Medicine Physician will break down the details of your Personal Health Report. You’ll talk through the implications of your genetics across all key pillars of health: nutrition, exercise, sleep, neurobehavioral, chronic disease risk, and more – alongside recommendations for achieving optimal health. Your physician will leave you with a clear path forward with top interventions to help you achieve your individual health goals.',\n [EngagementCriteriaType.NoDnaReviewForMoreThan1DayAfterDNAAndLabsReturned]: 'During your DNA Review, a board-certified Precision Medicine Physician will break down the details of your Personal Health Report. You’ll talk through the implications of your genetics across all key pillars of health: nutrition, exercise, sleep, neurobehavioral, chronic disease risk, and more – alongside recommendations for achieving optimal health. Your physician will leave you with a clear path forward with top interventions to help you achieve your individual health goals.',\n [EngagementCriteriaType.NoDnaReviewForMoreThan2WeeksAfterDNAAndLabsReturned]: 'During your DNA Review, a board-certified Precision Medicine Physician will break down the details of your Personal Health Report. You’ll talk through the implications of your genetics across all key pillars of health: nutrition, exercise, sleep, neurobehavioral, chronic disease risk, and more – alongside recommendations for achieving optimal health. Your physician will leave you with a clear path forward with top interventions to help you achieve your individual health goals.',\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n container:{\n width: '100%',\n zIndex: 1601,\n position: 'fixed',\n backgroundColor:'white',\n borderRadius: '5%',\n color: 'black',\n left: 0,\n bottom: '-10px',\n display: 'flex',\n alignItems: 'center',\n flexDirection: 'column'\n },\n backGrnd:{\n width: '100vh',\n height: '100vh',\n zIndex: 1600,\n backgroundColor:\"gray\",\n opacity: 0.5,\n position: 'fixed',\n top: 0,\n left: 0\n },\n boxToSwap:{\n width: '65px',\n height: '5px',\n backgroundColor: '#DDDDDD',\n marginTop: '25px',\n borderRadius: '100px'\n },\n dialog:{\n borderRadius: 20\n }\n })\n);\n","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyTaskCheck = function SvgEmptyTaskCheck(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 66,\n height: 66,\n viewBox: \"0 0 66 66\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_467_9548)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 13,\n y: 13,\n width: 40,\n height: 40,\n rx: 20,\n fill: \"white\",\n shapeRendering: \"crispEdges\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M40.5861 27.2106C41.0533 27.5496 41.1376 28.1778 40.7744 28.6138L32.4441 38.6137C32.2586 38.8364 31.9809 38.9757 31.6796 38.9971C31.3782 39.0185 31.0811 38.9201 30.8617 38.7261L26.3348 34.7262C25.9051 34.3465 25.8866 33.7136 26.2934 33.3125C26.7002 32.9114 27.3783 32.8941 27.808 33.2738L31.4773 36.516L39.0826 27.3862C39.4458 26.9502 40.119 26.8716 40.5861 27.2106Z\",\n fill: \"#1F72A2\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_467_9548\",\n x: 0,\n y: 0,\n width: 66,\n height: 66,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", null), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 6.5\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.471591 0 0 0 0 0.77597 0 0 0 0 0.951997 0 0 0 1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_467_9548\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_467_9548\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyTaskCheck, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyTaskCheck.4a04053d.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, Dialog, DialogActions, DialogContent, DialogContentText, useMediaQuery, useTheme } from '@material-ui/core';\nimport React, { useRef } from 'react';\nimport { useFacade } from './schedulingInformationDialog.hooks';\nimport { DialogTitle } from '../../../../common/components/dialogTitle/DialogTitle';\nimport { WildHealthButton } from '../../../../common/components/wildHealthButton/WildHealthButton';\nimport { useStyles } from './scheduilngInformationDialog.style';\nimport { EngagementCriteriaType, EngagementCriteriaTypeBody, EngagementCriteriaTypeTitle } from '../constants/myTaskImages';\n\ninterface SchedulingInformationDialogProps{\n taskType: EngagementCriteriaType;\n isOpen: boolean;\n handleOpenSchedulingInfo: Function;\n}\n\nexport const SchedulingInformationDialog: React.FC = ((props: SchedulingInformationDialogProps) => {\n const \n {\n isOpen,\n taskType,\n handleOpenSchedulingInfo\n } = props;\n \n const dialogMobileRef = useRef();\n\n const [\n state,\n handleInit,\n handleUpdate,\n handleReset\n ] = useFacade(dialogMobileRef, handleOpenSchedulingInfo);\n\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const classes = useStyles();\n\n return (\n (isSmallScreen && isOpen)?\n \n {handleOpenSchedulingInfo(false, false)}}>\n
{handleInit(event)}} onMouseMove={(event)=>{handleUpdate(event)}} onMouseUp={(event)=>{handleReset(event)}} onMouseLeave={(event)=>{handleReset(event)}} onTouchStart={(event)=>{handleInit(event)}} onTouchMove={(event)=>{handleUpdate(event)}} onTouchEnd={(event)=>{handleReset(event)}}>\n \n \n {EngagementCriteriaTypeTitle[taskType]}\n {EngagementCriteriaTypeBody[taskType]}\n \n {handleOpenSchedulingInfo(false, true)}}>Schedule Appointment\n \n \n
\n
:\n \n {handleOpenSchedulingInfo(false, false)}}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n classes={{paper: classes.dialog}}\n >\n {handleOpenSchedulingInfo(false, false)}}>\n \n\n \n \n {EngagementCriteriaTypeTitle[taskType]}\n \n \n \n {EngagementCriteriaTypeBody[taskType]}\n \n \n \n\n \n \n {handleOpenSchedulingInfo(false, true)}}>\n Schedule Now\n \n \n \n \n \n );\n})","import { useState } from 'react';\n\nexport interface SchedulingInformationDialogState{\n dialogMobileRef: any;\n isDrag: boolean;\n initialPosition: number;\n initialBottom: number;\n finalPosition: number;\n isRemove: boolean;\n threshold: number;\n}\n\nexport function useFacade(dialogMobileRef: any, handleOpenSchedulingInfo: Function): [\n SchedulingInformationDialogState, \n Function,\n Function,\n Function\n] {\n\n const [state, setState] = useState({\n initialPosition: 0,\n finalPosition: 0,\n isDrag: false,\n threshold: 100,\n isRemove: false,\n initialBottom: dialogMobileRef?.current?.style?.bottom,\n dialogMobileRef: dialogMobileRef\n } as SchedulingInformationDialogState);\n\n const handleReset = (event) => {\n event.persist();\n\n if(!state.dialogMobileRef?.current){\n return;\n }\n\n state.dialogMobileRef.current.style.transform = 'none';\n state.dialogMobileRef.current.style.opacity = 1;\n\n setState(state => ({\n ...state,\n isDrag: false,\n initialPosition: 0,\n finalPosition: 0,\n }));\n\n if(state.isRemove){\n handleOpenSchedulingInfo(false, false);\n }\n }\n\n const handleInit = (event) => {\n event.persist();\n\n setState(state => ({\n ...state,\n isDrag: true,\n initialPosition: event.clientY || event.pageY,\n isRemove: false,\n threshold: dialogMobileRef?.current?.clientHeight / 3\n }));\n }\n\n const handleUpdate = (event) => {\n event.persist();\n\n if(state.isDrag && state.dialogMobileRef.current && state.initialPosition != null){\n const element = state.dialogMobileRef.current;\n const finalPos = event.clientY || event.pageY;\n const moved = finalPos - state.initialPosition;\n element.style.transform = `translateY(${moved}px)`;\n element.style.opacity = 1 - Math.pow((Math.abs(moved)/ state.threshold), 5);\n\n setState(state => ({\n ...state,\n finalPosition: finalPos,\n isRemove: false\n }));\n\n if(Math.abs(moved) >= state.threshold){\n setState(state => ({\n ...state,\n isRemove: true\n }));\n }\n }\n }\n\n return [\n state,\n handleInit,\n handleUpdate,\n handleReset\n ];\n}","import React from \"react\";\nimport { useStyles } from \"./myTaskItemComponent.style\";\nimport { Box, Button, createStyles, Dialog, DialogContent, IconButton, Theme, Typography, useMediaQuery, useTheme, withStyles, WithStyles } from \"@material-ui/core\";\nimport { myTaskFullImages } from \"../constants/myTaskImages\";\nimport { PatientTaskModel } from \"../../../../patients/models/patient.model\";\nimport NotificationsNoneRoundedIcon from '@material-ui/icons/NotificationsNoneRounded';\nimport { useFacade } from \"./myTaskItemComponent.hook\";\nimport { CreatePatientAppointmentFormComponent } from \"../../../../appointments/components/createPatinentAppointmentForm/CreatePatientAppointmentFormComponent\";\nimport MuiDialogTitle from \"@material-ui/core/DialogTitle\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport clsx from \"clsx\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { SchedulingInformationDialog } from \"../SchedulingInformationDialog/schedulingInformationDialog\";\n\nexport interface MyTaskItemComponentProps {\n task: PatientTaskModel;\n patientId?: number | null;\n}\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 0,\n padding: theme.spacing(2),\n },\n closeButton: {\n position: \"absolute\",\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n });\n\ninterface DialogTitleProps extends WithStyles {\n id: string;\n children: React.ReactNode;\n onClose: () => void;\n}\n\nconst DialogTitle = withStyles(styles)((props: DialogTitleProps) => {\n const { children, classes, onClose, ...other } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n \n \n {children}\n \n {onClose ? (\n \n \n \n ) : null}\n \n );\n});\n\nexport const MyTaskItemComponent: React.FC = (props: MyTaskItemComponentProps) => {\n const {\n patientId = null,\n task\n } = props;\n\n const [{\n assignedEmployees,\n appointmentWithType,\n appointmentTypes,\n locations,\n timeZone,\n toContinueDialog,\n toShowDialog,\n showDialogSchedulingInfo,\n },\n handleToggleDialog,\n handleContinueDialog,\n handleOpenSchedulingInfo,\n ] = useFacade(task, patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n \n \n \n \n Reminder\n \n \n {task.displayName}\n \n \n \n Schedule Appointment\n \n\n {handleOpenSchedulingInfo(true, false)}}\n >\n Why Schedule?\n \n \n \n \n {\n !isSmallScreen &&\n \n \n {toContinueDialog ? \"Appointment Confirmation\" : \"Schedule Appointment\"}\n \n \n }\n \n \n \n \n \n \n \n \n\n )\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { AppointmentWithType } from \"../../../../appointments/models/appointments.enums\";\nimport { AppointmentTypeModel } from \"../../../../appointments/models/appointments.models\";\nimport { appointmentsQuery } from \"../../../../appointments/stores/appointments\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { EmployeeModel } from \"../../../../employee/models/employee.models\";\nimport { employeesQuery } from \"../../../../employee/stores/employeesStore\";\nimport { LocationModel } from \"../../../../locations/models/locations.models\";\nimport { locationsQuery } from \"../../../../locations/stores\";\nimport { PatientTaskModel } from \"../../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../../patients/stores/patientsStore\";\nimport { TimeZoneModel } from \"../../../../timezones/models/timezone.model\";\nimport { PlatformName, Track } from \"../../../../tracking/tracker\";\nimport { EngagementCriteriaType } from \"../constants/myTaskImages\";\n\ninterface CreatePatientAppointmentDialogComponentState {\n toShowDialog: boolean;\n toContinueDialog: boolean;\n\n showDialogSchedulingInfo: boolean;\n titleScheduler: string;\n bodyScheduler: string;\n\n assignedEmployees: EmployeeModel[];\n appointmentWithType: AppointmentWithType;\n appointmentTypes: AppointmentTypeModel[];\n locations: LocationModel[];\n timeZone: TimeZoneModel;\n}\n\n/**\n * Custom Hook to manage a view Model for Appointments component\n */\nexport function useFacade(task: PatientTaskModel, patientId?: number,): [CreatePatientAppointmentDialogComponentState, () => void, () => void, (isOpen: boolean, isOpenScheduling: boolean) => void] {\n const [state, setState] = useState({\n toShowDialog: false,\n toContinueDialog: false,\n showDialogSchedulingInfo: false,\n\n appointmentWithType: AppointmentWithType.HealthCoach,\n assignedEmployees: [],\n appointmentTypes: [],\n locations: [],\n timeZone: null,\n } as CreatePatientAppointmentDialogComponentState);\n\n const handleContinueDialog = () => {\n setState(state => ({\n ...state,\n toContinueDialog: !state.toContinueDialog\n }));\n }\n\n const handleToggleDialog = () => {\n if (state.toShowDialog) {\n return setState(state => ({\n ...state,\n toShowDialog: !state.toShowDialog,\n toContinueDialog: false\n }));\n }\n\n if (task.analyticsEvent) {\n Track(\"engagement_primary_cta\", {\n type: task.analyticsEvent,\n platform: PlatformName()\n })\n }\n\n setState(state => ({\n ...state,\n toShowDialog: !state.toShowDialog\n }));\n }\n\n const handleOpenSchedulingInfo = (isOpen: boolean, isOpenScheduling: boolean) => {\n\n if (isOpen && task.analyticsEvent) {\n Track(\"engagement_detail_cta\", {\n type: task.analyticsEvent,\n platform: PlatformName()\n })\n }\n\n setState(state => ({\n ...state,\n showDialogSchedulingInfo: isOpen\n }));\n\n if (isOpenScheduling) {\n handleToggleDialog();\n }\n }\n\n useEffect(() => {\n if (task.type === EngagementCriteriaType.NoICCForMoreThan1DayAfterHCAssigned\n || task.type === EngagementCriteriaType.NoICCForMoreThan2WeeksAfterCheckout\n || task.type === EngagementCriteriaType.NoIMCForMoreThan6MonthsAfterCheckout\n || task.type === EngagementCriteriaType.NoIMCForMoreThan2MonthsAfterCheckout\n || task.type === EngagementCriteriaType.NoHCVisitForMoreThanMonthSinceLastHC\n || task.type === EngagementCriteriaType.IMCCompleted1DayAgo) {\n setState(state => ({ ...state, appointmentWithType: AppointmentWithType.HealthCoach }))\n } else {\n setState(state => ({ ...state, appointmentWithType: AppointmentWithType.Provider }))\n }\n const subscriptions: Subscription[] = [\n onEmit(appointmentsQuery.appointmentTypes$, types => {\n setState(state => ({ ...state, appointmentTypes: types }))\n }),\n onEmit(employeesQuery.patientEmployees$, employees => {\n setState(state => ({ ...state, assignedEmployees: employees }));\n }),\n onEmit(patientsQuery.patientTimeZone$, timeZone => {\n setState(state => ({ ...state, timeZone: timeZone }));\n }),\n onEmit(locationsQuery.availableLocations$, locations => {\n setState(state => ({ ...state, locations: locations }));\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleToggleDialog, handleContinueDialog, handleOpenSchedulingInfo];\n}","/**\n * Represents page slide navigation context\n */\nexport interface PageSliderNavigationContext {\n nextButton: string;\n backButton: string;\n canGoBack: Function;\n goBack: Function;\n canGoNext: Function;\n goNext: Function;\n goTo?: Function;\n}\n\nexport enum NavigationItemsType {\n Appointments = 1,\n Biometrics = 2,\n MyGoals = 3,\n Labs = 4,\n Messaging = 5,\n VisitNotes= 6,\n}\nexport interface NavigationItemModel {\n\n type: NavigationItemsType,\n name: string,\n badge: boolean,\n}\n\n\n","import React from \"react\";\nimport { Box, Card, CardContent, Grid, Typography } from \"@material-ui/core\";\nimport { NavigateButton, useStyles } from \"./myTasksWidgetComponent.style\";\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\nimport { useFacade } from \"./myTasksWidgetComponent.hooks\";\nimport { PatientTaskModel } from \"../../../patients/models/patient.model\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { MyTaskItemComponent } from \"./myTaskItemComponent/MyTaskItemComponent\";\nimport { myTaskFullImages, EngagementCriteriaType } from \"./constants/myTaskImages\";\nimport { ReactComponent as EmptyTaskCheck } from '@img/icons/EmptyTaskCheck.svg';\n\nexport interface MyTasksWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const MyTasksWidgetComponent: React.FC = (props: MyTasksWidgetComponentProps) => {\n const [\n isLoading,\n currentPage,\n pages,\n tasks,\n handleNavigate,\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n const renderTask = (task: PatientTaskModel, index: number) => {\n return (\n \n \n \n )\n }\n\n const renderContent = () => {\n if (isLoading) {\n return \n }\n\n if (!tasks || !tasks.length) {\n return (\n \n \n You're all caught up! Check back soon for any new tasks.\n \n )\n }\n\n return (\n <>\n \n {\n tasks.map((task, index) => {\n return renderTask(task, index);\n })\n }\n \n \n )\n }\n\n return (\n \n \n \n Next Steps\n \n {/* handleNavigate(currentPage - 1)}\n >\n \n \n\n = pages || isLoading}\n className={classes.navigateButton}\n onClick={() => handleNavigate(currentPage + 1)}\n >\n \n */ }\n \n \n \n {renderContent()}\n \n \n \n );\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {useMediaQuery, useTheme} from \"@material-ui/core\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { PatientTaskModel } from \"../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\n\ninterface MyTasksWidgetComponentState {\n isLoading: boolean;\n tasks: PatientTaskModel[];\n currentPage: number;\n pages: number;\n}\n\nexport function useFacade(\n patientId: number | null\n): [\n boolean,\n number,\n number,\n PatientTaskModel[],\n (page: number) => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n tasks: [],\n currentPage: 1,\n pages: 1,\n } as MyTasksWidgetComponentState);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const pageSize = 1;\n\n const calculatePages = (goals: PatientTaskModel[]) => {\n let pages = Math.trunc(goals.length / pageSize);\n if (goals.length % pageSize !== 0) {\n pages++;\n }\n\n return pages;\n }\n\n const getCurrentTasks = () => {\n if (isSmallScreen) {\n return state.tasks;\n }\n\n return state.tasks?.slice(\n (state.currentPage - 1) * pageSize,\n state.currentPage * pageSize\n );\n };\n\n const handleNavigate = (page: number) => {\n setState((state) => ({ ...state, currentPage: page }));\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(\n patientsQuery.patientTasks$,\n (tasks) => {\n setState((state) => ({\n ...state,\n tasks: tasks,\n pages: calculatePages(tasks),\n currentPage: 1\n }));\n }\n ),\n ];\n\n const cb = () => setState((state) => ({ ...state, isLoading: false }));\n\n if (patientId) {\n patientsService.getPatientTasksByEmployee(patientId).subscribe(cb, cb);\n } else {\n patientsService.getPatientTasks().subscribe(cb, cb);;\n }\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state.isLoading,\n state.currentPage,\n state.pages,\n getCurrentTasks(),\n handleNavigate,\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: colors.bg,\n [theme.breakpoints.down(\"xs\")]: {\n height: \"fit-content\",\n },\n },\n content: {\n padding: 0,\n },\n title: {\n fontSize: 13,\n fontWeight: 500,\n paddingTop: 12,\n color: colors.black\n },\n itemContainer: {\n background: colors.white,\n minHeight: 96,\n borderRadius: 10,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n },\n badge: {\n right: -8,\n }\n\n })\n);\n\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgVisitNoteIcon = function SvgVisitNoteIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31,\n height: 30,\n viewBox: \"0 0 31 30\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.5836 4.71429C16.057 4.71429 16.4407 4.33053 16.4407 3.85714C16.4407 3.38376 16.057 3 15.5836 3C15.1102 3 14.7264 3.38376 14.7264 3.85714C14.7264 4.33053 15.1102 4.71429 15.5836 4.71429Z\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.5836 7.28571V27\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.0119 8.14286H7.01195C5.1184 8.14286 3.58337 6.60784 3.58337 4.71429H12.1548L13.0119 8.14286Z\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.1547 8.14286H24.1547C26.0482 8.14286 27.5832 6.60784 27.5832 4.71429H19.0118L18.1547 8.14286Z\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.1548 16.7143H19.0119\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.0118 11.5714C20.432 11.5714 21.5833 12.7227 21.5833 14.1429C21.5833 15.563 20.432 16.7143 19.0118 16.7143\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.155 16.7143C10.7349 16.7143 9.58362 15.563 9.58362 14.1429C9.58362 12.7227 10.7349 11.5714 12.155 11.5714\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1547 16.7143C19.5748 16.7143 20.7261 17.8656 20.7261 19.2857C20.7261 20.7059 19.5748 21.8572 18.1547 21.8572\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.0117 21.8572C11.5916 21.8572 10.4403 20.7059 10.4403 19.2857C10.4403 17.8656 11.5916 16.7143 13.0117 16.7143\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.1547 21.8572C19.1014 21.8572 19.8689 22.6247 19.8689 23.5714C19.8689 24.5182 19.1014 25.2857 18.1547 25.2857\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.012 25.2857C12.0652 25.2857 11.2977 24.5182 11.2977 23.5714C11.2977 22.6247 12.0652 21.8572 13.012 21.8572\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgVisitNoteIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/VisitNoteIcon.d93a1918.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { NavigationItemModel, NavigationItemsType } from \"../../../common/models/navigation.models\";\nimport { PatientConversationModel } from \"../../../conversations/models/conversation.models\";\nimport { patientConversationsQuery } from \"../../../conversations/stores/patientConversationsStore/patientConversations.query\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { useHistory } from 'react-router';\n\n\n\ninterface NavigationWidgetComponentState {\n navigationItems: NavigationItemModel[];\n conversationHealthCare: PatientConversationModel[],\n conversationSupport: PatientConversationModel[],\n}\n\nconst navigationPatientItems = [\n {\n type: NavigationItemsType.Appointments,\n name: 'Appointments',\n badge: false,\n },\n {\n type: NavigationItemsType.Biometrics,\n name: 'Biometrics',\n badge: false,\n },\n {\n type: NavigationItemsType.MyGoals,\n name: 'My Goals',\n badge: false,\n },\n {\n type: NavigationItemsType.Labs,\n name: 'Labs',\n badge: false,\n },\n {\n type: NavigationItemsType.Messaging,\n name: 'Messaging',\n badge: false,\n },\n {\n type: NavigationItemsType.VisitNotes,\n name: 'Visit Notes',\n badge: false,\n },\n]\n\nexport function useFacade(\n patientId: number | null\n): [\n NavigationWidgetComponentState,\n (type: NavigationItemsType) => void,\n ] {\n const [state, setState] = useState({\n navigationItems: navigationPatientItems,\n conversationHealthCare: [],\n conversationSupport: [],\n } as NavigationWidgetComponentState);\n\n const history = useHistory();\n\n const hasNewMessages = (conversations: PatientConversationModel[]): boolean => {\n return conversations.filter(c => c.unreadMessages > 0).length > 0\n }\n\n const setUnreadMessages = (conversations: PatientConversationModel[]) => {\n const navigationMessaging = state.navigationItems.find(el => el.type === NavigationItemsType.Messaging)\n navigationMessaging.badge = hasNewMessages(conversations)\n setState(state => ({\n ...state,\n navigationItems: [...state.navigationItems.filter(el => el.type !== NavigationItemsType.Messaging), navigationMessaging]\n }));\n\n }\n\n useEffect(() => {\n if (state.conversationHealthCare.length || state.conversationSupport.length) {\n setUnreadMessages([...state.conversationHealthCare, ...state.conversationSupport])\n }\n }, [state.conversationHealthCare, state.conversationSupport]);\n\n const handleNavigate = (type: NavigationItemsType) => {\n if (patientId) {\n switch (type) {\n case NavigationItemsType.Appointments:\n navigationService.toPatientUpcomingAppts(history, patientId);\n break;\n case NavigationItemsType.VisitNotes:\n navigationService.toPatientProfileNote(history, patientId)\n break;\n case NavigationItemsType.Messaging:\n navigationService.toPatientConversation(history, patientId);\n break;\n case NavigationItemsType.Labs:\n navigationService.toPatientLabResults(history, patientId)\n break;\n case NavigationItemsType.MyGoals:\n navigationService.toPatientHealthPlan(history, patientId)\n break;\n case NavigationItemsType.Biometrics:\n navigationService.toVitalsHistory(history, patientId)\n break;\n default:\n navigationService.toPatientDashboard(history, patientId)\n }\n } else {\n switch (type) {\n case NavigationItemsType.Appointments:\n navigationService.toPatientUpcommingAppointments(history);\n break;\n case NavigationItemsType.VisitNotes:\n navigationService.toPatientNotes(history)\n break;\n case NavigationItemsType.Messaging:\n navigationService.toConversations(history);\n break;\n case NavigationItemsType.Labs:\n navigationService.toLabs(history)\n break;\n case NavigationItemsType.MyGoals:\n navigationService.toMyHealthPlan(history)\n break;\n case NavigationItemsType.Biometrics:\n navigationService.toVitalsHistory(history)\n break;\n default:\n navigationService.toDashboard(history)\n }\n }\n\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientConversationsQuery.heathCareConversation$, conversation => {\n if (conversation && authQuery.getType() === UserType.Patient) {\n setState(state => ({\n ...state,\n conversationHealthCare: [conversation]\n }));\n }\n }),\n onEmit(patientConversationsQuery.supportConversations$, conversations => {\n if (conversations && authQuery.getType() === UserType.Patient) {\n setState(state => ({\n ...state,\n conversationSupport: conversations\n }));\n }\n }),\n\n ];\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleNavigate,\n ];\n}","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMessagesIcon = function SvgMessagesIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31,\n height: 30,\n viewBox: \"0 0 31 30\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22 23.0376H17L11.4375 26.7375C10.6125 27.2875 9.5 26.7001 9.5 25.7001V23.0376C5.75 23.0376 3.25 20.5376 3.25 16.7876V9.28749C3.25 5.53749 5.75 3.03749 9.5 3.03749H22C25.75 3.03749 28.25 5.53749 28.25 9.28749V16.7876C28.25 20.5376 25.75 23.0376 22 23.0376Z\",\n stroke: \"#388174\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.7444 14.375H10.7556\",\n stroke: \"#388174\",\n strokeWidth: 1.8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.7444 14.375H15.7556\",\n stroke: \"#388174\",\n strokeWidth: 1.8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.7444 14.375H20.7556\",\n stroke: \"#388174\",\n strokeWidth: 1.8,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMessagesIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/MessagesIcon.739734cc.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgGoalsIcon = function SvgGoalsIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31,\n height: 30,\n viewBox: \"0 0 31 30\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M3.85015 5.01677C5.44792 3.419 7.83466 2.8125 10.8959 2.8125H18.0209C21.0821 2.8125 23.4688 3.419 25.0666 5.01677C26.6644 6.61455 27.2709 9.00128 27.2709 12.0625V16.8125C27.2709 17.3303 26.8511 17.75 26.3334 17.75C25.8156 17.75 25.3959 17.3303 25.3959 16.8125V12.0625C25.3959 9.18622 24.8149 7.4167 23.7408 6.3426C22.6667 5.2685 20.8972 4.6875 18.0209 4.6875H10.8959C8.01959 4.6875 6.25008 5.2685 5.17597 6.3426C4.10187 7.4167 3.52087 9.18622 3.52087 12.0625V19.1875C3.52087 22.0638 4.10187 23.8333 5.17597 24.9074C6.25008 25.9815 8.01959 26.5625 10.8959 26.5625H15.6459C16.1636 26.5625 16.5834 26.9822 16.5834 27.5C16.5834 28.0178 16.1636 28.4375 15.6459 28.4375H10.8959C7.83466 28.4375 5.44792 27.831 3.85015 26.2332C2.25238 24.6355 1.64587 22.2487 1.64587 19.1875V12.0625C1.64587 9.00128 2.25238 6.61455 3.85015 5.01677Z\",\n fill: \"#388174\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.643 11.7478C21.0584 12.0569 21.1447 12.6442 20.8356 13.0596L18.0479 16.8067C17.3245 17.7599 15.9634 17.9473 15.0148 17.1835L15.0083 17.1783L12.8084 15.3746C12.7478 15.3267 12.6846 15.3137 12.6275 15.3213C12.5696 15.329 12.5057 15.3598 12.4534 15.43C12.4533 15.4302 12.4535 15.4299 12.4534 15.43L9.58732 19.3073C9.27954 19.7236 8.69251 19.8117 8.27615 19.5039C7.85979 19.1961 7.77177 18.6091 8.07955 18.1927L10.9471 14.3135C11.6688 13.3404 13.0353 13.1501 13.9864 13.9159L13.9929 13.9211L16.1928 15.7248C16.3032 15.812 16.4571 15.7987 16.5524 15.6756L19.3313 11.9404C19.6403 11.525 20.2276 11.4388 20.643 11.7478Z\",\n fill: \"#388174\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21.8489 20.5715L21.5143 21.2526C21.3497 21.5818 21.0898 21.8505 20.8347 22.0418C20.581 22.2321 20.2477 22.4091 19.8802 22.4703L19.8723 22.4717L19.4255 22.5422C19.1031 22.5964 18.9867 22.6857 18.9511 22.7229C18.958 22.7746 18.9999 22.9211 19.2396 23.1642L19.6529 23.5775L19.6669 23.5918C19.9365 23.8731 20.1057 24.2304 20.1976 24.5544C20.2893 24.8777 20.3334 25.271 20.2501 25.6517L20.2465 25.6685L20.1876 25.9149C20.1142 26.2329 20.115 26.4413 20.1338 26.5566C20.2464 26.5385 20.4401 26.4758 20.7139 26.3107L20.7297 26.3013L21.0361 26.1246C21.0366 26.1243 21.0371 26.124 21.0376 26.1237C21.3971 25.9154 21.8091 25.8375 22.1716 25.8375C22.5341 25.8375 22.9461 25.9154 23.3056 26.1237C23.3061 26.124 23.3067 26.1243 23.3072 26.1246L23.6275 26.3094C23.8998 26.4727 24.092 26.5343 24.2035 26.5517C24.2232 26.4376 24.2258 26.2301 24.1548 25.9116L24.093 25.6517C24.0097 25.271 24.0539 24.8777 24.1456 24.5544C24.2376 24.2304 24.4068 23.8731 24.6764 23.5918L24.6903 23.5775L25.1036 23.1642C25.3433 22.9211 25.3853 22.7746 25.3922 22.7229C25.3566 22.6857 25.2402 22.5964 24.9178 22.5422L24.471 22.4716C24.4603 22.4699 24.4497 22.4681 24.439 22.466C24.086 22.3977 23.7617 22.23 23.5052 22.0381C23.2494 21.8469 22.993 21.5807 22.8289 21.2525L22.826 21.2466L22.4944 20.5715C22.3764 20.3337 22.2663 20.2105 22.1983 20.1549C22.1878 20.1464 22.179 20.1399 22.1716 20.1349C22.1643 20.1399 22.1554 20.1464 22.145 20.1549C22.077 20.2105 21.9669 20.3337 21.8489 20.5715ZM25.4059 22.74C25.4058 22.74 25.4054 22.7394 25.4047 22.738L25.4059 22.74ZM24.2819 26.5569C24.2833 26.5566 24.2841 26.5565 24.2842 26.5565L24.2819 26.5569ZM20.051 26.5618C20.051 26.5618 20.0518 26.5618 20.0533 26.5622L20.051 26.5618ZM18.9374 22.74C18.9374 22.74 18.9377 22.7393 18.9385 22.7381L18.9374 22.74ZM22.1716 18.2486C23.1193 18.2486 23.7894 18.9618 24.1751 19.7404L24.1765 19.7433L24.506 20.414C24.5071 20.4158 24.5153 20.4298 24.5358 20.4529C24.5588 20.4789 24.5901 20.5082 24.6281 20.5366C24.7039 20.5933 24.766 20.6171 24.7889 20.6236L25.2224 20.692C26.0682 20.833 26.9045 21.2728 27.1844 22.1514C27.4632 23.0269 27.0403 23.8718 26.4357 24.4838L26.4317 24.4879L26.0292 24.8903C26.0256 24.8948 26.015 24.9089 26.0007 24.9358C25.9822 24.9707 25.9638 25.0155 25.9494 25.0662C25.935 25.1169 25.9273 25.1642 25.9249 25.2024C25.923 25.2304 25.9245 25.2464 25.925 25.2511L25.9831 25.4952C26.1847 26.3929 26.163 27.4907 25.3327 28.0984C24.5 28.7079 23.4528 28.3894 22.6701 27.9216L22.368 27.7474L22.3657 27.7461C22.3662 27.7464 22.349 27.7368 22.3098 27.7275C22.2716 27.7185 22.2239 27.7125 22.1716 27.7125C22.1193 27.7125 22.0717 27.7185 22.0335 27.7275C21.9942 27.7368 21.977 27.7464 21.9776 27.7461L21.9753 27.7474L21.6741 27.9211C20.8867 28.394 19.8341 28.7157 18.9996 28.1014C18.1679 27.4891 18.1537 26.3858 18.3617 25.4889L18.3629 25.4836L18.4183 25.2511C18.4188 25.2464 18.4202 25.2304 18.4184 25.2024C18.4159 25.1642 18.4082 25.1169 18.3938 25.0662C18.3794 25.0155 18.361 24.9707 18.3425 24.9358C18.3283 24.9089 18.3176 24.8948 18.3141 24.8903L17.9076 24.4838C17.303 23.8719 16.88 23.0269 17.1589 22.1514C17.4387 21.2728 18.2751 20.833 19.1208 20.6921L19.1287 20.6908L19.568 20.6214C19.5715 20.6204 19.5831 20.6167 19.6026 20.6075C19.633 20.5932 19.6705 20.5712 19.7096 20.5418C19.7487 20.5126 19.7817 20.4817 19.8063 20.454C19.8278 20.4298 19.8364 20.4152 19.8375 20.4136L20.1681 19.7404C20.5539 18.9618 21.2239 18.2486 22.1716 18.2486Z\",\n fill: \"#388174\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgGoalsIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/GoalsIcon.eafa3f7d.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgBiometricsIcon = function SvgBiometricsIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31,\n height: 30,\n viewBox: \"0 0 31 30\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.76705 7.19828C7.09409 7.19828 4.90909 9.42934 4.90909 12.2044C4.90909 14.8388 6.43979 17.4897 8.58121 19.7134C10.5738 21.7825 12.9387 23.3169 14.625 23.9821C15.6427 23.5805 16.9243 22.8556 18.2348 21.8667C18.7137 21.5052 19.3899 21.6076 19.7449 22.0952C20.0999 22.5829 19.9994 23.2713 19.5204 23.6328C17.9326 24.831 16.3051 25.7361 14.9685 26.1929C14.7456 26.269 14.5044 26.269 14.2815 26.1929C12.2003 25.4817 9.36067 23.6627 7.03953 21.2524C4.72782 18.8519 2.75 15.6751 2.75 12.2044C2.75 8.23577 5.88162 5 9.76705 5C11.6548 5 13.3662 5.76571 14.625 7.0058C15.8838 5.76571 17.5952 5 19.483 5C23.3684 5 26.5 8.23577 26.5 12.2044C26.5 13.3109 26.298 14.3871 25.9518 15.4128C25.758 15.9869 25.1438 16.2923 24.58 16.095C24.0161 15.8977 23.7161 15.2724 23.9099 14.6983C24.1892 13.8709 24.3409 13.0365 24.3409 12.2044C24.3409 9.42934 22.1559 7.19828 19.483 7.19828C17.8455 7.19828 16.3935 8.03261 15.5105 9.32186C15.3086 9.61664 14.978 9.79233 14.625 9.79233C14.272 9.79233 13.9414 9.61664 13.7395 9.32186C12.8565 8.03261 11.4045 7.19828 9.76705 7.19828Z\",\n fill: \"#388174\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.2353 15.0099C20.652 15.0633 21.0017 15.3277 21.1417 15.695L22.0002 17.947L22.3146 17.5293C22.525 17.2499 22.8696 17.0833 23.2375 17.0833H25.375C25.9963 17.0833 26.5 17.5497 26.5 18.125C26.5 18.7003 25.9963 19.1667 25.375 19.1667H23.8247L22.592 20.804C22.3508 21.1245 21.9361 21.293 21.518 21.2405C21.0999 21.1881 20.7487 20.9234 20.6083 20.555L19.7446 18.2891L19.4117 18.7257C19.2009 19.0022 18.8582 19.1667 18.4926 19.1667H16.375C15.7537 19.1667 15.25 18.7003 15.25 18.125C15.25 17.5497 15.7537 17.0833 16.375 17.0833H17.9097L19.1618 15.441C19.4044 15.1227 19.8186 14.9564 20.2353 15.0099Z\",\n fill: \"#388174\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgBiometricsIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/BiometricsIcon.9a86e8a0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgUpcomingLabs = function SvgUpcomingLabs(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 16,\n viewBox: \"0 0 14 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.2529 7.76406C11.6685 6.98044 10.8919 6.38906 9.99216 6.03903V0.9375H10.306C10.5648 0.9375 10.7747 0.727625 10.7747 0.46875C10.7747 0.209875 10.5648 0 10.306 0H5.92834C5.66947 0 5.45959 0.209875 5.45959 0.46875C5.45959 0.727625 5.66947 0.9375 5.92834 0.9375H6.24216V6.03916C5.97647 6.14278 5.72106 6.26881 5.47656 6.41497V4.66022C5.6585 4.59581 5.78906 4.42272 5.78906 4.21872C5.78906 3.95984 5.57919 3.74997 5.32031 3.74997H1.19531C0.936437 3.74997 0.726562 3.95984 0.726562 4.21872C0.726562 4.42272 0.857125 4.59581 1.03906 4.66022V13.7809C1.03906 15.0043 2.03441 15.9996 3.25781 15.9996C4.02178 15.9996 4.69678 15.6115 5.09603 15.0221C5.97134 15.6552 7.02903 16 8.11716 16C10.9603 16 13.2734 13.6869 13.2734 10.8438C13.2734 9.72412 12.9205 8.65919 12.2529 7.76406ZM5.50881 7.52787C5.91219 7.21009 6.36387 6.97131 6.85137 6.81822C7.04672 6.75688 7.17966 6.57578 7.17966 6.371V0.9375H9.05466V6.371C9.05466 6.57578 9.18756 6.75684 9.38294 6.81822C10.8552 7.28062 11.924 8.48178 12.2393 9.94188C11.9937 9.84722 11.7183 9.75 11.4069 9.75C11.1198 9.75 10.873 9.85869 10.6747 9.946C10.5387 10.0059 10.4101 10.0625 10.3203 10.0625C10.2306 10.0625 10.102 10.0059 9.96597 9.946C9.76766 9.85869 9.52084 9.75 9.23378 9.75C8.94672 9.75 8.69991 9.85869 8.50159 9.946C8.36553 10.0059 8.237 10.0625 8.14722 10.0625C8.05741 10.0625 7.92887 10.0059 7.79281 9.946C7.5945 9.85869 7.34769 9.75 7.06063 9.75C6.77356 9.75 6.52678 9.85869 6.32844 9.946C6.19238 10.0059 6.06384 10.0625 5.97403 10.0625C5.88422 10.0625 5.75572 10.0059 5.61966 9.946C5.57369 9.92575 5.526 9.90497 5.47656 9.88463V7.55072C5.48747 7.54353 5.49834 7.53613 5.50881 7.52787ZM1.97653 4.6875H4.53903V7.15625H1.97653V4.6875ZM3.25778 15.0622C2.55131 15.0622 1.97653 14.4874 1.97653 13.7809V13.625H2.41403C2.67291 13.625 2.88278 13.4151 2.88278 13.1562C2.88278 12.8974 2.67291 12.6875 2.41403 12.6875H1.97653V11.75H2.41403C2.67291 11.75 2.88278 11.5401 2.88278 11.2812C2.88278 11.0223 2.67291 10.8125 2.41403 10.8125H1.97653V9.87497H2.41403C2.67291 9.87497 2.88278 9.66509 2.88278 9.40622C2.88278 9.14734 2.67291 8.93747 2.41403 8.93747H1.97653V8.09375H4.53903V13.7809C4.53903 14.4874 3.96428 15.0622 3.25778 15.0622ZM8.11716 15.0625C7.14487 15.0625 6.20228 14.7263 5.45153 14.1138C5.46794 14.0052 5.47656 13.894 5.47656 13.7809V10.9012C5.62466 10.9558 5.79112 11 5.974 11C6.26106 11 6.50787 10.8913 6.70619 10.804C6.84225 10.7441 6.97078 10.6875 7.06056 10.6875C7.15034 10.6875 7.27887 10.7441 7.41494 10.804C7.61325 10.8913 7.86006 11 8.14713 11C8.43419 11 8.681 10.8913 8.87931 10.804C9.01538 10.7441 9.14391 10.6875 9.23369 10.6875C9.3235 10.6875 9.45203 10.7441 9.58809 10.804C9.78641 10.8913 10.0332 11 10.3203 11C10.6073 11 10.8541 10.8913 11.0525 10.804C11.1885 10.7441 11.3171 10.6875 11.4069 10.6875C11.5702 10.6875 11.7618 10.762 11.9647 10.8408C12.0823 10.8866 12.2041 10.9334 12.3337 10.9724C12.2655 13.2393 10.4003 15.0625 8.11716 15.0625Z\",\n fill: \"#1F72A2\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUpcomingLabs, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/upcomingLabs.3857dd37.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { Badge, Box, Card, CardContent, Grid } from \"@material-ui/core\";\nimport { useStyles } from \"./navigationWidgetComponent.style\";\nimport { useFacade } from \"./navigationWidgetComponent.hooks\";\nimport { ReactComponent as CalendarIcon } from \"@img/icons/CalendarIcon.svg\";\nimport { ReactComponent as VisitNoteIcon } from \"@img/icons/VisitNoteIcon.svg\";\nimport { ReactComponent as MessagesIcon } from \"@img/icons/MessagesIcon.svg\";\nimport { ReactComponent as LabsIcon } from \"@img/icons/LabsIcon.svg\";\nimport { ReactComponent as GoalsIcon } from \"@img/icons/GoalsIcon.svg\";\nimport { ReactComponent as BiometricsIcon } from \"@img/icons/BiometricsIcon.svg\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { NavigationItemModel, NavigationItemsType } from \"../../../common/models/navigation.models\";\n\nexport interface NavigationWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const NavigationWidgetComponent: React.FC = (props: NavigationWidgetComponentProps) => {\n const [\n {\n navigationItems\n },\n handleNavigate,\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n const getIcon = (type: NavigationItemsType) => {\n switch (type) {\n case NavigationItemsType.Appointments: return ;\n case NavigationItemsType.VisitNotes: return ;\n case NavigationItemsType.Messaging: return ;\n case NavigationItemsType.Labs: return ;\n case NavigationItemsType.MyGoals: return ;\n case NavigationItemsType.Biometrics: return ;\n default: return <>;\n }\n }\n\n const renderItem = (item: NavigationItemModel, index: number) => {\n return (\n \n handleNavigate(item.type)}>\n {item.badge && }\n {getIcon(item.type)}\n {item.name}\n \n \n )\n }\n\n return (\n \n \n \n {\n navigationItems.map((item, index) => {\n return renderItem(item, index);\n })\n }\n \n \n \n );\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n fontSize: 14,\n borderRadius: 8,\n width: '100%',\n backgroundColor: theme.palette.background.paper,\n },\n iconButton: {\n minWidth: 24,\n },\n title: {\n fontSize: 20,\n fontWeight: 600,\n fontFamily: \"Poppins\",\n color: colors.black,\n },\n dismissAll: {\n fontSize: 14,\n color: colors.primaryV,\n fontWeight: 500,\n textTransform: 'capitalize',\n },\n expandIcon: {\n fill: colors.primaryV,\n width: 18,\n },\n viewMoreItem: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n listItem: {\n borderBottom: `1px solid ${colors.stroke}`,\n '&:hover + .group-item': {\n visibility: 'visible'\n }\n },\n empty: {\n borderRadius: 8,\n width: '100%',\n background: colors.white,\n padding: 14,\n fontSize: 14\n },\n iconType: {\n padding: 4,\n marginRight: 8,\n width: 30,\n maxWidth: 30,\n height: 30,\n maxHeight: 30,\n borderRadius: 4,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center', \n },\n dismissAction: {\n visibility: 'hidden',\n '&:hover': {\n visibility: 'visible'\n }\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.navy,\n padding: 8,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n }),\n);\n","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMessageNotificationIcon = function SvgMessageNotificationIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 20,\n viewBox: \"0 0 22 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.88534 3.2371C2.20538 3.86848 1.75 4.89295 1.75 6.5V13.5C1.75 15.107 2.20538 16.1315 2.88534 16.7629C3.57535 17.4036 4.61497 17.75 6 17.75H16C17.385 17.75 18.4246 17.4036 19.1147 16.7629C19.7946 16.1315 20.25 15.107 20.25 13.5V8.5C20.25 8.08579 20.5858 7.75 21 7.75C21.4142 7.75 21.75 8.08579 21.75 8.5V13.5C21.75 15.393 21.2054 16.8685 20.1353 17.8621C19.0754 18.8464 17.615 19.25 16 19.25H6C4.38503 19.25 2.92465 18.8464 1.86466 17.8621C0.794615 16.8685 0.25 15.393 0.25 13.5V6.5C0.25 4.60705 0.794615 3.13152 1.86466 2.1379C2.92465 1.15363 4.38503 0.75 6 0.75H13C13.4142 0.75 13.75 1.08579 13.75 1.5C13.75 1.91421 13.4142 2.25 13 2.25H6C4.61497 2.25 3.57535 2.59637 2.88534 3.2371Z\",\n fill: \"#DA0C3D\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.41401 6.53196C5.67252 6.20832 6.14444 6.15551 6.46809 6.41401L9.59716 8.91327C9.597 8.91314 9.59732 8.91339 9.59716 8.91327C10.3538 9.51519 11.6562 9.51549 12.4127 8.91341C12.4127 8.91346 12.4128 8.91336 12.4127 8.91341L13.5927 7.97341C13.9167 7.71532 14.3886 7.76873 14.6466 8.09272C14.9047 8.4167 14.8513 8.88856 14.5273 9.14664L13.3473 10.0866C12.044 11.1243 9.96629 11.1244 8.6629 10.0868L5.53196 7.58605C5.20832 7.32754 5.15551 6.85561 5.41401 6.53196Z\",\n fill: \"#DA0C3D\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M18.5 1.75C17.5335 1.75 16.75 2.5335 16.75 3.5C16.75 4.4665 17.5335 5.25 18.5 5.25C19.4665 5.25 20.25 4.4665 20.25 3.5C20.25 2.5335 19.4665 1.75 18.5 1.75ZM15.25 3.5C15.25 1.70507 16.7051 0.25 18.5 0.25C20.2949 0.25 21.75 1.70507 21.75 3.5C21.75 5.29493 20.2949 6.75 18.5 6.75C16.7051 6.75 15.25 5.29493 15.25 3.5Z\",\n fill: \"#DA0C3D\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMessageNotificationIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/MessageNotificationIcon.43bd351a.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgStickynoteIcon = function SvgStickynoteIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 2V5\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 2V5\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 11H15\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7 15H12\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 22H9C4 22 3 19.94 3 15.82V9.65C3 4.95 4.67 3.69 8 3.5H16C19.33 3.68 21 4.95 21 9.65V16\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21 16L15 22V19C15 17 16 16 18 16H21Z\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStickynoteIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/stickynoteIcon.a54b1dee.svg\";\nexport { ForwardRef as ReactComponent };","import React, {useState} from 'react';\nimport {\n Box,\n IconButton,\n List,\n ListItem,\n ListItemSecondaryAction,\n ListItemText,\n Tooltip,\n useMediaQuery,\n useTheme\n} from \"@material-ui/core\";\nimport moment from 'moment';\nimport {NotificationModel, NotificationType} from \"../../models/notifications.models\";\nimport {useFacade} from \"./NotificationsButtonComponent.hooks\";\nimport {useStyles} from \"./notificationsWidgetComponent.styles\";\nimport {toCurrentTimeZone} from \"../../../timezones/helpers/timezone\";\nimport {ReactComponent as LabsIcon} from \"@img/icons/LabsIcon.svg\";\nimport {ReactComponent as UpcomingLabsIcon} from \"@img/icons/upcomingLabs.svg\";\nimport {ReactComponent as MessageNotificationIcon} from \"@img/icons/MessageNotificationIcon.svg\";\nimport {ReactComponent as NoteIcon} from \"@img/icons/stickynoteIcon.svg\";\nimport {ReactComponent as MedicalHistory} from \"@img/icons/MedicalHistory.svg\";\nimport {ReactComponent as HealthReport} from \"@img/icons/HealthReport.svg\";\nimport {colors} from \"../../../common/constants/colors\";\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport clsx from \"clsx\";\nimport {\n WildHealthSaveClickableElement\n} from \"../../../common/components/wildHealthSaveClickableElement/WildHealthSaveClickableElement\";\nimport { ReactComponent as TrashIcon } from \"@img/icons/Trash.svg\";\nimport LaunchIcon from '@material-ui/icons/Launch';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\n\n\nconst messageLength = 150;\n\ninterface NotificationsWidgetComponentProps {\n patientId: number;\n}\n\ninterface NotificationsWidgetComponentState {\n isOpen: boolean,\n}\n\nexport const NotificationsWidgetComponent: React.FC = (props: NotificationsWidgetComponentProps) => {\n const [\n { notifications },\n handleNavigateTo,\n handleDelete,\n handleDeleteAll,\n handleToggleNotifications\n ] = useFacade(props.patientId);\n\n const [state, setState] = useState({\n isOpen: false,\n } as NotificationsWidgetComponentState);\n\n const theme = useTheme();\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const displayDate = (date: Date) => {\n return moment(toCurrentTimeZone(date)).format(\"MMM D - hh:mm a\");\n }\n\n const renderTitle = (notification: NotificationModel) => {\n return `${notification.subject} (${displayDate(notification.createdAt)})`;\n }\n\n const renderMessage = (notification: NotificationModel) => {\n return notification.text.length < messageLength ? notification.text : `${notification.text.substring(0, messageLength)} . . .`;\n }\n\n const getIcon = (type: NotificationType) => {\n switch (type) {\n case NotificationType.HealthLogReminder: \n return ;\n case NotificationType.NewMessage: \n case NotificationType.UnreadMessagesCount: \n case NotificationType.UnreadMessagesManual: \n case NotificationType.MessageAdminToolEmail: \n case NotificationType.MessageAdminToolSMS:\n case NotificationType.MessageAdminToolClarity: \n return ;\n case NotificationType.NewHealthReport: \n return ;\n case NotificationType.LabResults: \n return ;\n case NotificationType.UpcomingLabs:\n return ;\n case NotificationType.NewNote: \n return ;\n default: \n return ;\n }\n }\n\n const getSecondaryText = (type: NotificationType) => {\n switch (type) {\n case NotificationType.UpcomingLabs: return 'View requisition';\n default: return 'View'\n }\n }\n\n const renderCta = (notification: NotificationModel) => {\n return handleNavigateTo(notification)} className={commonClasses.btnLink}>\n \n \n {getSecondaryText(notification.type)}\n \n \n \n \n \n \n }\n\n const renderDeleteAction = (notification: NotificationModel) => {\n return \n handleDelete(notification.id)}\n component={IconButton}\n aria-label=\"delete\"\n timeout={500}\n edge=\"end\"\n >\n Dismiss

}\n classes={customTooltipClasses}>\n \n
\n \n
\n }\n\n const getSecondaryAction = (notification: NotificationModel) => {\n switch (notification.type) {\n case NotificationType.UpcomingLabs: return renderCta(notification)\n default: return renderDeleteAction(notification)\n }\n }\n\n const handleViewMore = () => {\n setState(state => ({ ...state, isOpen: !state.isOpen }));\n }\n\n const notificationToSow = () => {\n return state.isOpen ? notifications : notifications.slice(0, 5)\n }\n\n const renderContent = () => {\n return !!notifications.length\n ? \n {notificationToSow().map((item, index) =>\n \n {getIcon(item.type)}\n handleNavigateTo(item)}\n />\n {\n getSecondaryAction(item)\n }\n \n )}\n {notifications.length > 5 && handleViewMore()} button key={-1}>\n \n \n {state.isOpen ? 'Hide More' : 'View More'}\n \n {state.isOpen ? : }\n \n\n }\n \n : Nothing to see here!\n }\n\n return (\n <>\n {renderContent()}\n \n );\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n fontSize: 14,\n borderRadius: 8,\n width: '100%',\n backgroundColor: theme.palette.background.paper,\n },\n listItem: {\n borderBottom: `1px solid ${colors.stroke}`,\n paddingRight: 80,\n },\n empty: {\n borderRadius: 8,\n width: '100%',\n background: colors.white,\n padding: 14,\n },\n sideMobile: {\n width: 400,\n height: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n width: '100%',\n height: 'min-content',\n },\n },\n sideContainer: {\n height: '100%',\n width: '100%',\n overflow: 'auto',\n padding: 20,\n paddingBottom: 24,\n [theme.breakpoints.down(\"xs\")]: {\n paddingBottom: 40,\n },\n },\n papper: {\n borderTopLeftRadius: 16,\n borderBottomLeftRadius: 16,\n [theme.breakpoints.down(\"xs\")]: {\n height: 'min-content',\n marginTop: 'auto',\n bottom: 0,\n borderTopLeftRadius: 20,\n borderTopRightRadius: 20,\n borderBottomLeftRadius: 0,\n },\n },\n }),\n);\n","import React from 'react';\nimport { Box, IconButton, List, ListItem, ListItemIcon, ListItemSecondaryAction, ListItemText, Drawer, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport ArrowRightAltIcon from '@material-ui/icons/ArrowRightAlt';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport clsx from 'clsx';\nimport { useFacade } from \"./journeyTasksWidgetComponent.hooks\";\nimport { useStyles } from \"./journeyTasksWidgetComponent.styles\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { handleCta } from '../../../patients/helpers/taskCtaHandler';\n\ninterface JourneyTasksWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const JourneyTasksWidgetComponent: React.FC = (props: JourneyTasksWidgetComponentProps) => {\n const [\n {\n isLoading,\n tasks,\n completes,\n selectedTaskId,\n isSideAreaOpen\n },\n handleComplete,\n handleGotoJourneyTaskPage,\n handleToggleSideArea\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderSideArea = () => {\n const targetTask = tasks.find(x => x.id === selectedTaskId);\n if (targetTask) {\n return (\n \n {!isSmallScreen && \n \n My Task\n handleToggleSideArea(0, false)}\n >\n \n \n \n }\n \n {targetTask.title}\n {targetTask.description}\n \n {targetTask.taskCTA &&\n \n handleCta(targetTask)}\n >\n {targetTask.taskCTA.title}\n \n \n }\n \n \n )\n }\n\n return <>\n }\n\n const renderContent = () => {\n return \n {!!tasks.length && tasks.map((item, index) =>\n \n \n handleComplete(item, false)}\n disabled={isLoading || !!props.patientId}\n >\n {completes.includes(item.id) ? : }\n \n \n !props.patientId && handleCta(item)}\n />\n \n handleToggleSideArea(item.id, true)}\n >\n \n \n \n \n )}\n handleGotoJourneyTaskPage()} button key={-1}>\n \n \n View Full Roadmap\n \n \n \n \n \n }\n\n return (\n <>\n {renderContent()}\n handleToggleSideArea(0, false)}\n >\n \n {renderSideArea()}\n \n \n \n );\n}\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { TodoPatientJourneyTaskModel } from \"../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\n\ninterface JourneyTasksWidgetComponentState {\n isLoading: boolean;\n tasks: TodoPatientJourneyTaskModel[];\n completes: number[];\n isSideAreaOpen: boolean;\n selectedTaskId: number;\n}\n\nexport function useFacade(patientId: number | null): [\n JourneyTasksWidgetComponentState,\n (task: TodoPatientJourneyTaskModel, isArchived: boolean) => void,\n () => void,\n (id: number, open: boolean) => void\n] {\n const [state, setState] = useState({\n isLoading: false,\n tasks: [],\n completes: [],\n isSideAreaOpen: false,\n selectedTaskId: 0\n } as JourneyTasksWidgetComponentState);\n\n const _history = useHistory();\n\n const handleComplete = (task: TodoPatientJourneyTaskModel, isArchived: boolean) => {\n Track(\"onboarding_medicare\", {\n group: 'test',\n platform: PlatformName(),\n });\n setState(state => ({...state, isLoading: true, isSideAreaOpen: false, selectedTaskId: 0}));\n const cb = () => setState(state => ({...state, isLoading: false}))\n const handleNext = () => {\n if (!isArchived) {\n setState(state => ({...state, completes: [...state.completes, task.id]}));\n }\n \n patientsService.getTodoPatientJourneyTasks().subscribe(cb, cb)\n }\n if (isArchived) {\n Track(\"timeline_task_archived\", {\n title: task.title,\n platform: PlatformName(),\n })\n } else {\n Track(\"timeline_task_completed\", {\n title: task.title,\n source: 'patient',\n platform: PlatformName(),\n })\n }\n const action = isArchived ? patientsService.dismissPatientJourneyTask(task.id) : patientsService.completePatientJourneyTask(task.id)\n action.subscribe(handleNext, cb);\n }\n\n const handleToggleSideArea = (id: number, open: boolean) => {\n setState(state => ({ ...state, isSideAreaOpen: open, selectedTaskId: id }))\n }\n\n const handleGotoJourneyTaskPage = () => {\n navigationService.toPatientJourneyTasks(_history, patientId)\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.todoPatientJourneyTasks$, tasks => {\n setState(state => ({\n ...state,\n tasks\n }));\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleComplete, handleGotoJourneyTaskPage, handleToggleSideArea];\n}","import React from \"react\";\nimport { Box, Grid, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { useFlags } from \"launchdarkly-react-client-sdk\";\nimport clsx from \"clsx\";\nimport { useFacade } from \"./widgetContainerBodyComponent.hooks\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { isFeatureFlag, anyFlags } from \"../../../common/components/featureFlags/featureFlags\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { AppointmentWidgetComponent } from \"../appointmentWidgetComponent/AppointmentWidgetComponent\";\nimport { AppointmentWidgetRedesignComponent } from \"../appointmentWidgetComponent/AppointmentWidgetRedesignComponent\";\nimport { MyTasksWidgetComponent } from \"../myTasksWidgetComponent/MyTasksWidgetCompoent\";\nimport { NavigationWidgetComponent } from \"../navigationWidgetComponent/NavigationWidgetComponent\";\nimport { NotificationsWidgetComponent } from \"../../../notifications/components/notificationComponent/NotificationsWidgetComponent\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { JourneyTasksWidgetComponent } from \"../journeyTasksWidgetComponent/JourneyTasksWidgetComponent\";\nimport { StandardUpsellWidgetComponent } from \"../standardUpsellWidgetCompoent/StandardUpsellWidgetComponent\";\n\nexport interface WidgetContainerBodyComponentProps {\n patientId: number | null;\n}\n\nexport const WidgetContainerBodyComponent: React.FC = (\n props: WidgetContainerBodyComponentProps\n) => {\n const { patientId } = props;\n const [\n { \n isLoading,\n notifications,\n showTimeline\n },\n handleToggle\n ] = useFacade(patientId);\n\n const featureFlags = useFlags();\n const isNewAppointmentWidget = isFeatureFlag(featureFlags, FeatureFlag.AppointmentWidgetRedesign);\n const isPatientTimelineWidget = isFeatureFlag(featureFlags, FeatureFlag.PatientTimelineWidget);\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const isPatientPremium = patientId ? patientsQuery.getTargetPatientIsPremium() : authQuery.getIsPremium()\n const hasActiveStandardPlan = patientId ? patientsQuery.getTargetPatientSubscription()?.isActive && patientsQuery.getTargetPatientSubscription()?.paymentPlan?.displayName === \"Standard\" : authQuery.isSubscriptionStatusActive() && authQuery.getPlan() === \"Standard\";\n\n const renderJouneyTaskAndNotification = () => {\n if (isPatientPremium || !hasActiveStandardPlan) {\n if (patientId) return <>\n return <>\n \n \n handleToggle(false)}>\n Notifications\n {notifications.length > 0 && (\n {notifications.length}\n )}\n \n \n \n \n \n }\n \n return (\n \n {(!anyFlags(featureFlags) || isLoading) ? (\n \n ) : (\n <>\n \n \n {isPatientTimelineWidget && handleToggle(true)}>My Tasks}\n {!patientId && handleToggle(false)}>\n Notifications\n {notifications.length > 0 && (\n {notifications.length}\n )}\n }\n \n \n {showTimeline ? (\n isPatientTimelineWidget ? : <>\n ) : (\n \n )}\n \n )}\n \n )\n }\n\n return (\n \n \n {!isPatientPremium && \n \n }\n {!patientId && }\n {isSmallScreen && renderJouneyTaskAndNotification()}\n \n \n \n {!isSmallScreen && renderJouneyTaskAndNotification()}\n \n \n {authQuery.isSubscriptionStatusActive() && (\n \n {isNewAppointmentWidget\n ? \n : }\n \n )}\n \n \n );\n};\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n },\n container: {\n width: \"100%\",\n paddingTop: 16,\n paddingBottom: 16,\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16\n },\n },\n title: {\n fontWeight: 500,\n fontSize: 20,\n marginBottom: 16\n },\n })\n);\n","import { WidgetContainerBodyComponent } from \"../widgetContainerBodyComponent/WidgetContainerBodyComponent\";\nimport React from \"react\";\nimport { Box, useTheme, useMediaQuery, Typography } from \"@material-ui/core\";\nimport { useStyles } from \"./widgetContainerComponent.styles\";\n\nexport interface WidgetContainerComponentProps {\n patientId: number | null;\n}\n\nexport const WidgetContainerComponent: React.FC = (\n props: WidgetContainerComponentProps\n) => {\n const { patientId } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n \n \n {isSmallScreen && (\n Dashboard\n )}\n \n \n \n );\n};\n","import moment from \"moment\";\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport {\n AppointmentTypeConfigurationModel,\n AppointmentTypeModel,\n CreateAppointmentModel,\n EmployeeAppointmentModel\n} from \"../../models/appointments.models\";\nimport { AvailabilityModel, EmployeeAvailabilityModel } from \"../../models/availability.models\";\nimport { appointmentsService } from \"../../services/appointments.service\";\nimport { availabilityService } from \"../../services/availability.service\";\nimport { availabilityQuery } from \"../../stores/availability/availability.query\";\nimport { coachAppointmentValidator } from \"../coachCreateAppoinmentDialog/coachAppointment.validator\";\nimport { TimeZoneModel } from \"../../../timezones/models/timezone.model\";\nimport { timezonesQuery } from \"../../../timezones/stores/timezones\";\nimport {availabilityStore} from \"../../stores/availability/availability.store\";\nimport {appointmentsQuery} from \"../../stores/appointments\";\nimport { AppointmentReasonType, AppointmentReasonTypeNames } from \"../../models/appointments.enums\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { source } from \"../../constants/appointment.constants\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\ninterface RescheduleAppointmentComponentState extends IErrorState {\n open: boolean;\n appointment: EmployeeAppointmentModel;\n appointmentType: AppointmentTypeModel;\n appointmentConfiguration: AppointmentTypeConfigurationModel;\n availabilities: EmployeeAvailabilityModel[];\n minDate: Date;\n selectedDate: Date;\n selectedTime: Date;\n isAvailabilityLoading: boolean;\n patientTimeZone: TimeZoneModel;\n isLoading: boolean;\n selectedReasonType: AppointmentReasonType;\n}\n\nconst initialState: RescheduleAppointmentComponentState = {\n open: false,\n appointment: null,\n appointmentType: null,\n appointmentConfiguration: null,\n availabilities: [],\n minDate: new Date(),\n selectedDate: new Date(),\n selectedTime: null,\n isAvailabilityLoading: false,\n isLoading: false,\n errors: {}\n} as RescheduleAppointmentComponentState;\n\nlet stateContext: RescheduleAppointmentComponentState;\n/**\n * Custom Hook to manage a view Model for Create shortcuts component\n */\nexport function useFacade(): [\n RescheduleAppointmentComponentState,\n (date: Date) => void,\n (time: Date) => void,\n (event: any) => void,\n () => void,\n () => AvailabilityModel[],\n (reason: string) => void,\n (value: any) => void\n] {\n const [state, setState] = useState({...initialState} as RescheduleAppointmentComponentState);\n\n stateContext = state;\n\n const handleChangeDate = (date: Date) => {\n setState({ ...state, selectedDate: date, selectedTime: null });\n }\n\n const handleChangeTime = (time: Date) => {\n coachAppointmentValidator.validateAndSetState(state, setState, 'selectedTime', time);\n setState({ ...state, selectedTime: time });\n }\n\n const handleChangeReason = (reason: string) => {\n state.appointment.reason = reason;\n setState({...state, appointment: state.appointment});\n }\n\n const handleSelectReason = (value: any) => {\n setState(state => ({\n ...state,\n selectedReasonType: value,\n errors: GeneralValidator.removeError({ errors: GeneralValidator.removeError(state, 'otherReason')}, 'selectedReason')\n }));\n }\n\n const reasonIsSelected = (): boolean => {\n if (!state.appointmentType?.requiresReasonType) {\n return true;\n }\n\n if (!state.selectedReasonType) {\n setState(state => ({\n ...state,\n errors: GeneralValidator.addError(state, 'selectedReason', 'Please, select a reason.')\n }));\n \n return false;\n }\n\n if (state.selectedReasonType !== AppointmentReasonType.Other && state.selectedReasonType !== AppointmentReasonType.OtherTestFollowUp) {\n setState(state => ({\n ...state,\n errors: GeneralValidator.removeError(state, 'selectedReason')\n }));\n\n return true;\n }\n\n if (state.appointment.reason) {\n setState(state => ({\n ...state,\n errors: GeneralValidator.removeError(state, 'otherReason')\n }));\n\n return true;\n }\n\n setState(state => ({\n ...state,\n errors: GeneralValidator.addError(state, 'otherReason', 'Please, enter a specific reason.')\n }));\n\n return false;\n }\n\n const handleSubmit = (event: any) => {\n event.preventDefault();\n\n coachAppointmentValidator.validateAndSetState(state, setState, 'selectedTime', state.selectedTime);\n\n if (!reasonIsSelected()) {\n return;\n }\n\n if (!coachAppointmentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({ ...state, isLoading: true }));\n\n const createModel = {\n patientId: state.appointment.patient?.id,\n employeeIds: state.appointment.employees.map(x => x.id),\n startDate: moment(state.selectedTime).toDate(),\n endDate: moment(state.selectedTime).add(state.appointment.duration, 'm').toDate(),\n locationType: state.appointment.locationType,\n appointmentTypeId: state.appointmentType?.id,\n appointmentTypeConfigurationId: state.appointmentConfiguration?.id,\n comment: state.appointment.comment,\n name: state.appointment.name,\n locationId: state.appointment.location.id,\n timeZoneId: timezonesQuery.getMyTimezone()?.id,\n reason: state.selectedReasonType && state.selectedReasonType !== AppointmentReasonType.Other && state.selectedReasonType !== AppointmentReasonType.OtherTestFollowUp ? AppointmentReasonTypeNames[state.selectedReasonType] : state.appointment.reason,\n reasonType: state.selectedReasonType,\n source: source\n } as CreateAppointmentModel\n\n appointmentsService.rescheduleAsEmployee(createModel, state.appointment.id).subscribe(() => {\n setState(state => ({...initialState, errors: {}}));\n }, () => {\n setState(state => ({ ...state, isLoading: false }));\n });\n }\n\n const handleClose = () => {\n setState(state => ({...initialState, errors: {}}));\n }\n\n const getAvailability = (): AvailabilityModel[] => {\n let result = [];\n let resultInitialized = false;\n\n state.appointment.employees.forEach(employee => {\n const employeeAvailability = state.availabilities.find(x => x.employeeId === employee.id)?.availability;\n\n if (!employeeAvailability) {\n return [];\n }\n\n if (!resultInitialized) {\n result = employeeAvailability;\n resultInitialized = true;\n }\n\n setState(state => ({\n ...state,\n selectedDate: availabilityQuery.getEarliestAvailability()\n }));\n\n result = result.filter(value => employeeAvailability.some(x => moment(x.start).isSame(moment(value.start))));\n });\n\n return result;\n }\n\n const getDayEnd = (): Date => {\n return moment(new Date()).add(6, 'months').add(-2, 'day').toDate()\n }\n\n const queryAvailability = (isEmployee: boolean) => {\n if (!state.appointment) {\n return [];\n }\n\n setState(state => ({ ...state, isAvailabilityLoading: true }));\n\n if (state.appointment.employees.length) {\n const employeeIds = state.appointment.employees.map(employee => employee.id);\n availabilityService.getByEmployeeIds(employeeIds, new Date(), getDayEnd(), state.appointment.configurationId, isEmployee).subscribe();\n }\n }\n\n useEffect(() => {\n availabilityStore.reset();\n\n const subscriptions: Subscription[] = [\n onEmit(availabilityQuery.availabilities$, availabilities => {\n if (state.appointment) {\n const isLoading = !state.appointment.employees.map(x => x.id).every(x => availabilities.map(a => a.employeeId).includes(x));\n setState(state => ({\n ...state,\n availabilities: availabilities.map(a => ({\n employeeId: a.employeeId,\n availability: a.availability.filter(x => moment(x.start).minutes() % 15 === 0)\n }) as EmployeeAvailabilityModel),\n isAvailabilityLoading: isLoading\n }))\n }\n }),\n onEmit(appointmentsQuery.allAppointmentTypes$, types => {\n if (stateContext.appointment) {\n const type = types.find(x => x.configurations.some(t => t.id === stateContext.appointment.configurationId));\n const configuration = type?.configurations.find(x => x.id === stateContext.appointment.configurationId);\n\n setState(state => ({\n ...state,\n appointmentType: type,\n appointmentConfiguration: configuration\n }));\n }\n }),\n appointmentsService.appointmentRescheduleOnOpen.subscribe((model) => {\n const [\n appointment,\n ] = model.data;\n\n setState(state => ({\n ...state,\n open: true,\n appointment: appointment,\n selectedReasonType: appointment.reasonType\n }));\n\n appointmentsService.getAllAppointmentTypes();\n }),\n onEmit(patientsQuery.patientTimeZone$, timeZone => {\n setState(state => ({ ...state, patientTimeZone: timeZone }))\n }),\n ];\n\n state.open && queryAvailability(authQuery.isEmployeeUser());\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [state.appointment]);\n\n return [\n state,\n handleChangeDate,\n handleChangeTime,\n handleSubmit,\n handleClose,\n getAvailability,\n handleChangeReason,\n handleSelectReason\n ]\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important',\n paddingBottom: '30px !important'\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n paddingBottom: 30\n },\n dialogActions: {\n paddingTop: 20,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n boxShadow: '0px 2px 13px 0px rgba(168, 173, 198, 0.25)'\n },\n })\n);","import React from \"react\";\nimport { Box, Divider, TextField } from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { useFacade } from \"./coachRescheduleAppointmentDialogComponent.hooks\";\nimport { AppointmentPurposeType, AppointmentTargetType, AppointmentWithType } from '../../models/appointments.enums';\nimport clsx from 'clsx';\nimport { SelectLocationComponent } from \"../selectLocation/SelectLocationComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { SelectDateTimeComponent } from \"../selectDateTime/SelectDateTimeComponent\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { SelectAppointmentWithTypeComponent } from \"../selectAppointmentWithType/SelectAppointmentWithTypeComponent\";\nimport { isCoachRole, isProviderRole, roles } from \"../../../common/constants/roles\";\nimport { SelectEmployeeComponent } from \"../selectEmployee/SelectEmployeeComponent\";\nimport { useStyles } from \"./CoachRescheduleAppointmentDialogComponent.styles\";\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\nimport { getTimeZoneName } from \"../../../timezones/helpers/timezone\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { AppointmentReasonComponent } from \"../appointmentReason/AppointmentReasonComponent\";\n\nexport const CoachRescheduleAppointmentDialogComponent: React.FC = () => {\n const [\n state,\n handleChangeDate,\n handleChangeTime,\n handleSubmit,\n handleClose,\n getAvailability,\n handleChangeReason,\n handleSelectReason\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n if (!state.appointment) {\n return (<>);\n }\n\n const targetType = state.appointment.purpose === AppointmentPurposeType.Other && state.appointment.withType === AppointmentWithType.Other ? AppointmentTargetType.Other : AppointmentTargetType.Patient;\n\n const selectedCoach = state.appointment.employees.find(x => isCoachRole(x.roleId));\n const selectedProvider = state.appointment.employees.find(x => isProviderRole(x.roleId));\n const selectedStaff = state.appointment.employees.find(x => x.roleId === roles.staff);\n\n return (\n <>\n handleClose()}>\n handleClose()}\n >\n \n Rescheduling Appointment\n \n \n \n \n\n \n \n {state.appointment.purpose === AppointmentPurposeType.Other ? 'Appointment Name' : 'Appointment Type'}\n \n \n \n \n \n\n {\n targetType === AppointmentTargetType.Patient &&\n \n { }}\n phoneNumber={state.appointment.patient.phone}\n disabled={true}\n />\n \n }\n \n {state.appointmentType?.requiresReasonType && (\n \n \n \n \n \n \n )}\n {\n targetType === AppointmentTargetType.Patient &&\n <>\n \n\n \n { }}\n availableTypes={[state.appointment.withType]}\n value={state.appointment.withType}\n disabled={true}\n />\n \n \n {\n (state.appointment.withType === AppointmentWithType.HealthCoach ||\n state.appointment.withType === AppointmentWithType.HealthCoachAndProvider) &&\n \n \n Select Health Coach\n \n \n { }}\n disabled={true}\n />\n \n \n }\n {\n state.appointment.withType === AppointmentWithType.HealthCoachAndProvider && \n }\n {\n (state.appointment.withType === AppointmentWithType.Provider ||\n state.appointment.withType === AppointmentWithType.HealthCoachAndProvider) &&\n \n \n Select Provider\n \n \n { }}\n disabled={true}\n />\n \n \n }\n {\n state.appointment.withType === AppointmentWithType.Staff &&\n \n \n Select Staff\n \n \n { }}\n disabled={true}\n />\n \n \n }\n \n \n }\n {\n targetType === AppointmentTargetType.Other &&\n \n \n Appointment Attendee(s)\n \n \n {state.appointment.employees.map(x => (`${x.firstName} ${x.lastName}`)).join(', ')}\n \n \n }\n\n \n\n \n \n \n \n \n \n handleClose()}\n width={120}\n size='large'\n color='tertiary'\n disabled={state.isLoading}>\n Cancel\n \n\n handleSubmit(e)}\n width={260}\n size='large'\n loading={state.isLoading}>\n Reschedule Appointment\n \n \n \n \n )\n}","import {useEffect} from \"react\";\nimport {useHistory} from \"react-router\";\nimport {Subscription} from \"recompose\";\nimport {interval} from 'rxjs';\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {authService} from \"../../../auth/services/auth.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport * as Sentry from \"@sentry/browser\";\nimport {Severity} from \"@sentry/browser\";\nimport {RefreshTokenModel} from \"../../../auth/models/auth.models\";\n\nexport function useFacade(): void {\n\n\n //In develop and production, we have the following:\n // the auth token expires 8 hours after it’s issued\n // the refresh token expires 43200 minutes, or 30 days, after it is issued.\n // the UI checks every `periodMilliseconds` if the auth token is expired yet, and if so, it immediately goes for a refresh.\n // When the token is refreshed, the auth store updates the auth model using the response from the RefreshToken endpoint.\n //\n // The RefreshToken endpoint uses authService.Authenticate, which issues an entire new token,\n // including a new refresh token from scratch, with expiration dates according to the configuration described above.\n //\n //\n //A situation occurs where xhr requests to refresh are queued, but not yet processed in the backend, and they are all\n //suddenly submitted at once. A refresh occurs, but subsequent 'failures' to refresh a token that has already been redeemed\n //results in the UI logging the user out, and this is why Clarity has been logging users out.\n //\n //There is no advantage to checking so often because the refresh token is good for an entire month, so let's increase the interval\n //from 10 seconds to 1 hour.\n\n // 1000ms * 60 = 60000 ms = 60 seconds\n // 60 seconds * 60 mins = 3600 seconds = 1 hour\n //const oneHour = 1000 * 60 * 60;\n\n const thirtySeconds = 1000 * 30;\n const sourceTimer = interval(thirtySeconds);\n\n const history = useHistory();\n\n //In the api, the token is (currently) configured to expire 8 hours after it is issued.\n //This four-hour window lets the user run with the token for \"tryRefreshWithinHoursOfExpiration\"\n //hours before the UI will try to refresh it.\n //This time buffer eliminates a race condition between a successful refresh and a 401-failed request.\n const tryRefreshWithinHoursOfExpiration = 4;\n\n const handleRefreshFailure = (refreshToken: RefreshTokenModel) =>\n {\n Sentry.addBreadcrumb({\n category: \"auth\",\n message: \"The refresh token could not be redeemed: \" + refreshToken.refreshToken,\n level: Severity.Error\n })\n if(authQuery.isLoggedIn() && !authQuery.tokenExpiresWithin(tryRefreshWithinHoursOfExpiration))\n {\n //The token is still valid, but the refresh failed...\n //This situation should never occur.\n const id = authQuery.getId()\n const message = `Multiple refresh requests for token with id ${id} occurred. The user is still logged in.`;\n Sentry.captureMessage(message, Severity.Error)\n }\n else\n {\n authService.logout();\n navigationService.toLogin(history);\n }\n }\n\n function doLogout()\n {\n Sentry.addBreadcrumb({\n category: \"auth\",\n message: \"The refresh token is not valid\",\n level: Severity.Error\n })\n authService.logout();\n navigationService.toLogin(history);\n }\n\n function tryRefresh(refreshToken: RefreshTokenModel) {\n Sentry.addBreadcrumb({\n category: \"auth\",\n message: \"The refresh token is valid\",\n level: Severity.Info\n })\n\n authService.refreshToken(refreshToken).subscribe(\n () => {\n Sentry.addBreadcrumb({\n category: \"auth\",\n message: \"The refresh token was redeemed:\" + refreshToken.refreshToken,\n level: Severity.Info\n })\n },\n () => {\n handleRefreshFailure(refreshToken)\n })\n }\n\n const checkIsLoggedIn = () => {\n //if the token is missing, or it's expired, or it's going to expire\n //in the next \"tryRefreshWithinHoursOfExpiration\" hours, then try to do a refresh.\n console.log(\"checking token validity...\")\n if (!authQuery.isAuthTokenValid() || authQuery.tokenExpiresWithin(tryRefreshWithinHoursOfExpiration))\n {\n Sentry.addBreadcrumb({\n category: \"auth\",\n message: \"The auth token is expired, doesn't exist, or it expires soon.\",\n level: Severity.Info\n })\n\n const refreshToken = authQuery.getRefreshToken();\n\n //If the refresh token looks good, then use it.\n //If it's no good (or the refresh fails), then the user is out of luck.\n if (authQuery.isRefreshTokenValid())\n {\n tryRefresh(refreshToken);\n }\n else\n {\n doLogout();\n }\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [sourceTimer.subscribe(checkIsLoggedIn)];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n}\n","import React from \"react\";\nimport { useFacade } from \"./LogOutTimeOutComponent.hook\";\n\nexport const LogOutTimeOutComponent: React.FunctionComponent = () => {\n useFacade();\n return <>;\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n color: \"#999999\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 12,\n },\n },\n pagesContainer: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"flex-end\",\n [theme.breakpoints.down(\"xs\")]: {\n justifyContent: \"space-between\",\n width: \"100%\",\n },\n },\n pagePagination: {\n \"& ul > li:not(:first-child):not(:last-child) > button:not(.Mui-selected)\": {\n display: \"none\",\n },\n },\n selectedPage: {\n color: \"#3982ad\",\n backgroundColor: \"#f2f6f8\",\n maxWidth: \"64px\",\n minWidth: \"0px\",\n width: \"36px\",\n },\n regularPage: {\n color: \"#c3cbd7\",\n maxWidth: \"64px\",\n minWidth: \"0px\",\n width: \"36px\",\n },\n })\n);\n","import React from 'react';\nimport {\n FormControl,\n MenuItem,\n Select\n} from '@material-ui/core';\n\ninterface SelectPageComponentProps {\n pageSize: number;\n pageSizes: number[];\n handlePageSizeSelect: (pageSize: number) => void;\n}\n\nexport const SelectPageComponent: React.FC = (props: SelectPageComponentProps) => {\n const {\n pageSize,\n pageSizes,\n handlePageSizeSelect\n } = props;\n\n return (\n <>\n \n \n \n \n )\n};","import { Box, Button, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport React, { useState } from \"react\";\nimport { useStyles } from \"./paginationComponent.style\";\nimport { SelectPageComponent } from \"../../../../common/pagination/components/selectPageComponent/SelectPageComponent\";\nimport Pagination from \"@material-ui/lab/Pagination\";\n\ninterface PaginationComponentProps {\n selectedPage: number;\n pageSize: number;\n pageSizes: number[];\n totalCount: number;\n availablePages: number[];\n handlePageSelect: (pageNumber: number) => void;\n handlePageSizeChange: (value: any) => void;\n}\n\nexport const PaginationComponent: React.FC = (\n props: PaginationComponentProps\n) => {\n const {\n selectedPage,\n pageSizes,\n pageSize,\n totalCount,\n availablePages,\n handlePageSelect,\n handlePageSizeChange,\n } = props;\n\n const style = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const [page, setPage] = useState(selectedPage);\n\n const handleChange = (event, value) => {\n setPage(value);\n handlePageSelect(value);\n };\n\n const renderPagePagination = () => {\n if (isSmallScreen) {\n return (\n \n );\n }\n return availablePages.map((pageNumber, index) => {\n return (\n \n \n handlePageSelect(pageNumber)}\n variant='outlined'\n className={\n selectedPage === pageNumber ? style.selectedPage : style.regularPage\n }\n >\n {pageNumber}\n \n \n \n );\n });\n };\n\n return (\n \n {!isSmallScreen && (\n \n \n Rows per page:\n \n \n \n \n \n )}\n \n \n {`Showing ${(selectedPage - 1) * pageSize + 1} to ${\n selectedPage * pageSize > totalCount ? totalCount : selectedPage * pageSize\n } of ${totalCount}`}\n \n {renderPagePagination()}\n \n \n );\n};\n","module.exports = __webpack_public_path__ + \"static/media/WHBlackLogo.222280bf.svg\";","module.exports = __webpack_public_path__ + \"static/media/WHLogo.eb3fe4b7.svg\";","module.exports = __webpack_public_path__ + \"static/media/WHClarityLogo.5a7a7c3d.svg\";","module.exports = __webpack_public_path__ + \"static/media/WHClarityLogo.bee98d17.png\";","module.exports = __webpack_public_path__ + \"static/media/Clarity_pdf_header.f8befe46.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/arrowLeft.c642d120.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowRight.099ae559.svg\";","module.exports = __webpack_public_path__ + \"static/media/arrowUp.01a63b0b.svg\";","import {Observable, Subscription} from \"rxjs\";\n\nexport function onEmit(source$: Observable, nextFn: (value: T) => void): Subscription {\n return source$.subscribe(nextFn, console.error);\n}","module.exports = __webpack_public_path__ + \"static/media/arrowDown.fd6605d3.svg\";","module.exports = __webpack_public_path__ + \"static/media/success.94734591.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/EmptyMessages.b96cd38c.png\";","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderRadius: 2,\n },\n rootWithBackground: {\n background: \"#fff\",\n },\n rootMargin: {\n margin: 0,\n [theme.breakpoints.up(\"sm\")]: {\n margin: 1,\n padding: '0px 28px'\n },\n },\n })\n);\n","import { Box, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { useStyles } from \"./wildHealthContainer.styles\";\nimport React from \"react\";\nimport clsx from \"clsx\";\n\ninterface WildHealthContainerProps {\n hideBackground?: boolean;\n minHeight?: any;\n minWidth?: any;\n margin?: number | string;\n display?: any;\n children: React.ReactNode;\n}\n\nexport const WildHealthContainer: React.FC = (\n props: WildHealthContainerProps\n) => {\n const {\n children,\n margin,\n minHeight,\n minWidth,\n hideBackground,\n display = \"block\",\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n \n {children}\n \n );\n};\n","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg18_Image.90f24688.png\";","import { HealthSummaryDataModel, HealthSummaryMapModel } from '../models/healthSummary.models'\nimport { getKey } from '../helpers/healthSummaryHelper'\nimport { Store, StoreConfig } from '@datorama/akita'\n\n/**\n * Represents health summary state\n */\nexport interface HealthSummaryState {\n originData: HealthSummaryDataModel[]\n data: HealthSummaryDataModel[]\n map: HealthSummaryMapModel[]\n jsonDataSections: number\n jsonDataLoaded: number\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): HealthSummaryState {\n return {\n jsonDataSections: 0,\n jsonDataLoaded: 0,\n originData: [],\n data: [],\n map: []\n };\n}\n\n/**\n * Provides health summary states management\n */\n@StoreConfig({name: 'healthSummary', resettable: true })\nexport class HealthSummaryStore extends Store {\n constructor() {\n super(createInitialState())\n }\n\n public setData(data: HealthSummaryDataModel[]) {\n const newData = this.getValue().data.concat(data)\n\n this.updateOrigin(newData)\n }\n\n public add(item: HealthSummaryDataModel, updateOrigin?: boolean) {\n const newData = [...this.getValue().data, item]\n\n updateOrigin ? this.updateOrigin(newData) : this.update({ data: newData })\n }\n\n public edit(item: HealthSummaryDataModel, updateOrigin?: boolean) {\n const data = this.getValue().data\n\n data[data.indexOf(data.find(x => x.key === item.key))] = item\n\n updateOrigin ? this.updateOrigin(data) : this.update({ data: [...data] })\n }\n\n \n public updateDataAfterSave() {\n const data = this.getValue().data\n\n const updatedData = data.filter(el => !el.isDeleted).map(el => {\n return {\n ...el,\n isNew: false,\n }\n })\n\n this.update({ data: [...updatedData] })\n }\n\n public delete(key: string, soft?: boolean) {\n if (soft) {\n const data = this.getValue().data\n\n const item = data.find(x => x.key === key)\n \n item.isDeleted = true\n\n this.update({ data: [...data] })\n \n return\n }\n\n this.update({ data: this.getValue().data.filter(x => x.key !== key) })\n }\n\n\n\n public clearSection(mapKey: string) {\n const map = this.getValue().map.find(x => x.key === mapKey)\n\n const keys = (map?.items ?? []).map(x => x.key).concat(mapKey)\n\n const newData = this.getValue().data.filter(x=> !keys.includes(getKey(x.key)))\n\n this.update({ data: newData })\n }\n\n public refreshData() {\n this.update({ data: [...this.getValue().originData] })\n }\n\n public clear() {\n this.update(createInitialState())\n }\n\n public sectionLoaded() {\n this.update({ jsonDataLoaded: this.getValue().jsonDataLoaded + 1 })\n }\n\n public isLoading(): boolean {\n const data = this.getValue()\n\n return data.jsonDataLoaded > 0 && data.jsonDataLoaded >= data.jsonDataSections\n }\n\n private updateOrigin(data: HealthSummaryDataModel[]) {\n this.update({ data: [...data], originData: data.map(x=> ({...x})) })\n }\n}\n\nexport const healthSummaryStore = new HealthSummaryStore()\n","import {HealthSummaryState, healthSummaryStore, HealthSummaryStore} from \"./healthSummary.store\"\nimport { HealthSummaryDataModel } from \"../models/healthSummary.models\"\nimport {Query} from '@datorama/akita'\n\n/**\n * Provides Health Summary queries\n */\nexport class HealthSummaryQuery extends Query {\n data$ = this.select(state => state.data)\n map$ = this.select(state => state.map)\n\n constructor(protected store: HealthSummaryStore) {\n super(store)\n }\n\n public getDataItem(key: string): HealthSummaryDataModel {\n return this.getValue().data.find(x=> x.key === key)\n }\n\n public getDataItemName(key: string): string {\n return this.getValue().map.flatMap(x=> x.items).find(x=> x.key === key)?.name\n }\n}\n\nexport const healthSummaryQuery = new HealthSummaryQuery(healthSummaryStore)\n","module.exports = __webpack_public_path__ + \"static/media/EmptyRecommendations.4b8ab914.png\";","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJkAAACuCAYAAAAlI6+vAAAACXBIWXMAABeBAAAXgQGmAW9mAAATwGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDItMDlUMTM6NTY6MjQtMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDItMDlUMTM6NTY6MjQtMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTAyLTA5VDEzOjU2OjI0LTA4OjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjA4ODM5Y2VkLWI3ZmEtNGZlOS04N2ViLWYxOGNlZTU2ZThhYyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmIxODMzNjgyLWE2ZTUtMzg0Mi05YTFmLWQ1ZDJjMWM2YjhkYSIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjRiYTNiZTEwLTlmYjktNGRhNi1hZjMwLWZjN2FkOTcyMDQxMyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NGJhM2JlMTAtOWZiOS00ZGE2LWFmMzAtZmM3YWQ5NzIwNDEzIiBzdEV2dDp3aGVuPSIyMDIxLTAyLTA5VDEzOjU2OjI0LTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MDg4MzljZWQtYjdmYS00ZmU5LTg3ZWItZjE4Y2VlNTZlOGFjIiBzdEV2dDp3aGVuPSIyMDIxLTAyLTA5VDEzOjU2OjI0LTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDk0NkQ0QzRFMThBNzNBQzM2NjE1NTdBRjUwRkI2QzQ8L3JkZjpsaT4gPHJkZjpsaT4xMTkzNTA2Rjc2OTg4NkUyQ0JBQkY1NDc3RTMyRTFDQzwvcmRmOmxpPiA8cmRmOmxpPjE4MUIxRDgzMDBFM0QyODBFOUI5QkRFMkRERUM5NjNCPC9yZGY6bGk+IDxyZGY6bGk+NzcyNzdFQzBDNjVGREVBNjNDQkM2MUNFNjgwRkI2RjU8L3JkZjpsaT4gPHJkZjpsaT44NUYwQzY4OUVEODMyMUM3Mjg4Nzg0NzI3NzA2QTE1NjwvcmRmOmxpPiA8cmRmOmxpPjlEMTk1M0IyNjJEODExOTBCRTM0N0Y4N0ZBN0RDRkNGPC9yZGY6bGk+IDxyZGY6bGk+QTUxODBERUE3NzdCNzg4MDc2MUNFRUZBMEFFQzBFQzk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MDU1MGUyNjQtNjI0OS0wZTQzLTk4N2YtYzExNzZlODNiOGIxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBhZGNlMjI0LTk4N2QtMTU0MC05ZTgxLWYxOWM1Mzk1ZGJmOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZWY3MmJhOC0zZWQxLTExNGEtOWFmYi1iMTgyYWZhYWM0YmY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MTQwNDM1MzktYTIzZC1iNzQ3LWJhZmYtMWE0ZWU1ZDk2YWY0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE5YjE4MDVhLTg5NjYtZmU0ZS1hNmYwLTQwM2I5OTFiZTE1ZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxY2MxZmEzOC1iYmM5LWZmNGUtYTM3Yi04N2JjZTYzYzA5ZmE8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MjY2MWQ3NTItNmEwMS0xMTdjLTg2OGQtYTcyYjE3NjYzNDU1PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjI2ZTNhMmI4LWNmMmItMjY0MS1iNmRmLTg5MzJkOTMxNjk2YzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjQzNTQ4OC1jZWUyLWU1NDUtYjQ4MC0wNGU0OGUwMDIyMmE8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6M2Y3YTU1NDQtZjUxZC0zOTRkLWFjYzAtMzQ1ZWFhZDZkY2YxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQwYmI1ZGJlLWNlY2UtN2U0MS1hMWFmLWQ4M2I5NzdiZmQwNjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NTFhMTllYi1mYjJhLWU2NGQtOGZjNC02NDRhOTExOTBjOTQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Nzc1N2YzOTktODQxOC0xNDRkLWJhMzUtMTg4ZDkwYjYzYmI2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgyNWE4MDM0LTJjZGMtMmI0MS04ZTI2LTdhMTA4NWFhYTZlOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4N2Q1MDczZS01ZGQ1LTNlNGQtOWQ3ZS02NWM2NzMzZjQ4YzQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ODdlNDZjZWYtOGIwNi05YjQ4LWFhNTItYzY4YjZhYzA0YzZkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjlmNDJjNzE2LWEwMGMtMDg0My1iN2E2LTIwNmY0MmZiN2QyZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDphNjVhZDU2NC1kZTUzLWJlNDAtYjk4ZC0xNWI3MzQyMjU5ZjI8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YTY5YjBhNDgtNjQ5ZC0zMDRhLWIxZjctYzU1NDhjZTA5Y2RkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM2ODU4NjU3LTlkOGQtNDk0OC1iODAzLWUwZDU3MDA3ZWQ0MDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNzFkNzM1Yi1mYTA4LTM2NGQtYmNkNi1iODFiYTQ3MDg2YzM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YzkxZjA3MzAtODliZC1lMTRmLWExMTMtNzdiZDU4YTE3NTZlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNhMThhZmRiLWM2NTItM2Q0MS05M2EyLWIwZjMxYmMwYzM0ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjYWY5YTE0Ny1kOGYyLTJmNDEtODNmZS0xYWIyMTYzNTIxM2M8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZDFiYWM2MDgtOGE4OS03ZTQxLWFkZDktZTFmMThmZTI0MmIxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmQ5OGY0ZGIxLTZlNmMtMWE0Yi1iZjQ0LTU0ZDMwZjI3Mjg3NDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMGU3ZDdlMS04MzQzLTQ2NGItOTdlMy0wMzRjYWEyNGYxMzc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjFlMDIxYmI4LWE2MjItNDA1MC04Njk1LWQzY2Q4NjM2MzAzMjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MWY0MTY1MmItN2NkMC00MzIxLWIzZDktYTUwNGIzZDQ5YTcwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyNEJCOUZBMkEyRkVFNzExQUY3OUZDMzFGMzhGRURGQjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MkQwNzQyMDExN0FFRTgxMUE4OUM4RDkwQjM0NjI2NTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjMyNDVlNzhlLWFlMjgtMDU0MS04Y2U4LWE3NTA1ZDZiOTViZDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzgzOWM5MzUtZmVkMy00N2E0LWI1NzYtMWQxMDk0Njk3YzZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1ZThmOWMwNy1hMWQ4LTRkZTMtODY2Ni01MzAwODk5ZjJiYjk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjYyZTgzMTQyLWMxMTItNGJkOS05ODYwLTRiMzQ2MTFjZTQ2NzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6N2RjYzgyZGYtNDhkOC00MzIzLWE3ZWEtODkw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\"","module.exports = \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJkAAACuCAYAAAAlI6+vAAAACXBIWXMAABeBAAAXgQGmAW9mAAATwGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0NDYwLCAyMDIwLzA1LzEyLTE2OjA0OjE3ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtbG5zOmRjPSJodHRwOi8vcHVybC5vcmcvZGMvZWxlbWVudHMvMS4xLyIgeG1wOkNyZWF0b3JUb29sPSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgeG1wOkNyZWF0ZURhdGU9IjIwMjEtMDItMDlUMTM6NTc6MDUtMDg6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjEtMDItMDlUMTM6NTc6MDUtMDg6MDAiIHhtcDpNb2RpZnlEYXRlPSIyMDIxLTAyLTA5VDEzOjU3OjA1LTA4OjAwIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjI3Mzc5MzZhLTE3ZjYtNGJiNS1hMjZkLTkzYjQxNTZiNDk4NyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjExOGZlOTkxLWU5N2YtOTQ0Ni1iOGQ4LTg5ZmFmOTgwOWI0YyIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOmI3YTg4ZjZiLWMwNjQtNDAwMS05ZmZiLTAyZDllYzAyNzhhYSIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6YjdhODhmNmItYzA2NC00MDAxLTlmZmItMDJkOWVjMDI3OGFhIiBzdEV2dDp3aGVuPSIyMDIxLTAyLTA5VDEzOjU3OjA1LTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjczNzkzNmEtMTdmNi00YmI1LWEyNmQtOTNiNDE1NmI0OTg3IiBzdEV2dDp3aGVuPSIyMDIxLTAyLTA5VDEzOjU3OjA1LTA4OjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMiAoTWFjaW50b3NoKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPHBob3Rvc2hvcDpEb2N1bWVudEFuY2VzdG9ycz4gPHJkZjpCYWc+IDxyZGY6bGk+MDk0NkQ0QzRFMThBNzNBQzM2NjE1NTdBRjUwRkI2QzQ8L3JkZjpsaT4gPHJkZjpsaT4xMTkzNTA2Rjc2OTg4NkUyQ0JBQkY1NDc3RTMyRTFDQzwvcmRmOmxpPiA8cmRmOmxpPjE4MUIxRDgzMDBFM0QyODBFOUI5QkRFMkRERUM5NjNCPC9yZGY6bGk+IDxyZGY6bGk+NzcyNzdFQzBDNjVGREVBNjNDQkM2MUNFNjgwRkI2RjU8L3JkZjpsaT4gPHJkZjpsaT44NUYwQzY4OUVEODMyMUM3Mjg4Nzg0NzI3NzA2QTE1NjwvcmRmOmxpPiA8cmRmOmxpPjlEMTk1M0IyNjJEODExOTBCRTM0N0Y4N0ZBN0RDRkNGPC9yZGY6bGk+IDxyZGY6bGk+QTUxODBERUE3NzdCNzg4MDc2MUNFRUZBMEFFQzBFQzk8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MDU1MGUyNjQtNjI0OS0wZTQzLTk4N2YtYzExNzZlODNiOGIxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjBhZGNlMjI0LTk4N2QtMTU0MC05ZTgxLWYxOWM1Mzk1ZGJmOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDowZWY3MmJhOC0zZWQxLTExNGEtOWFmYi1iMTgyYWZhYWM0YmY8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MTQwNDM1MzktYTIzZC1iNzQ3LWJhZmYtMWE0ZWU1ZDk2YWY0PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjE5YjE4MDVhLTg5NjYtZmU0ZS1hNmYwLTQwM2I5OTFiZTE1ZjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDoxY2MxZmEzOC1iYmM5LWZmNGUtYTM3Yi04N2JjZTYzYzA5ZmE8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6MjY2MWQ3NTItNmEwMS0xMTdjLTg2OGQtYTcyYjE3NjYzNDU1PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjI2ZTNhMmI4LWNmMmItMjY0MS1iNmRmLTg5MzJkOTMxNjk2YzwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDozYjQzNTQ4OC1jZWUyLWU1NDUtYjQ4MC0wNGU0OGUwMDIyMmE8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6M2Y3YTU1NDQtZjUxZC0zOTRkLWFjYzAtMzQ1ZWFhZDZkY2YxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjQwYmI1ZGJlLWNlY2UtN2U0MS1hMWFmLWQ4M2I5NzdiZmQwNjwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo2NTFhMTllYi1mYjJhLWU2NGQtOGZjNC02NDRhOTExOTBjOTQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6Nzc1N2YzOTktODQxOC0xNDRkLWJhMzUtMTg4ZDkwYjYzYmI2PC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjgyNWE4MDM0LTJjZGMtMmI0MS04ZTI2LTdhMTA4NWFhYTZlOTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4N2Q1MDczZS01ZGQ1LTNlNGQtOWQ3ZS02NWM2NzMzZjQ4YzQ8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ODdlNDZjZWYtOGIwNi05YjQ4LWFhNTItYzY4YjZhYzA0YzZkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjlmNDJjNzE2LWEwMGMtMDg0My1iN2E2LTIwNmY0MmZiN2QyZTwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDphNjVhZDU2NC1kZTUzLWJlNDAtYjk4ZC0xNWI3MzQyMjU5ZjI8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YTY5YjBhNDgtNjQ5ZC0zMDRhLWIxZjctYzU1NDhjZTA5Y2RkPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmM2ODU4NjU3LTlkOGQtNDk0OC1iODAzLWUwZDU3MDA3ZWQ0MDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjNzFkNzM1Yi1mYTA4LTM2NGQtYmNkNi1iODFiYTQ3MDg2YzM8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6YzkxZjA3MzAtODliZC1lMTRmLWExMTMtNzdiZDU4YTE3NTZlPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmNhMThhZmRiLWM2NTItM2Q0MS05M2EyLWIwZjMxYmMwYzM0ODwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpjYWY5YTE0Ny1kOGYyLTJmNDEtODNmZS0xYWIyMTYzNTIxM2M8L3JkZjpsaT4gPHJkZjpsaT5hZG9iZTpkb2NpZDpwaG90b3Nob3A6ZDFiYWM2MDgtOGE4OS03ZTQxLWFkZDktZTFmMThmZTI0MmIxPC9yZGY6bGk+IDxyZGY6bGk+YWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOmQ5OGY0ZGIxLTZlNmMtMWE0Yi1iZjQ0LTU0ZDMwZjI3Mjg3NDwvcmRmOmxpPiA8cmRmOmxpPmFkb2JlOmRvY2lkOnBob3Rvc2hvcDpmMGU3ZDdlMS04MzQzLTQ2NGItOTdlMy0wMzRjYWEyNGYxMzc8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjFlMDIxYmI4LWE2MjItNDA1MC04Njk1LWQzY2Q4NjM2MzAzMjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MWY0MTY1MmItN2NkMC00MzIxLWIzZDktYTUwNGIzZDQ5YTcwPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDoyNEJCOUZBMkEyRkVFNzExQUY3OUZDMzFGMzhGRURGQjwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MkQwNzQyMDExN0FFRTgxMUE4OUM4RDkwQjM0NjI2NTE8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjMyNDVlNzhlLWFlMjgtMDU0MS04Y2U4LWE3NTA1ZDZiOTViZDwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6MzgzOWM5MzUtZmVkMy00N2E0LWI1NzYtMWQxMDk0Njk3YzZjPC9yZGY6bGk+IDxyZGY6bGk+eG1wLmRpZDo1ZThmOWMwNy1hMWQ4LTRkZTMtODY2Ni01MzAwODk5ZjJiYjk8L3JkZjpsaT4gPHJkZjpsaT54bXAuZGlkOjYyZTgzMTQyLWMxMTItNGJkOS05ODYwLTRiMzQ2MTFjZTQ2NzwvcmRmOmxpPiA8cmRmOmxpPnhtcC5kaWQ6N2RjYzgyZGYtNDhkOC00MzIzLWE3ZWEtODkw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\"","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg2_Image.6b1f1e43.jpg\";","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg8_Image.287b5680.png\";","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg23_Image.030255f4.png\";","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg16_Image.2805e1e6.png\";","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg14_Image.2ddb9c48.png\";","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg12_Image.902b07b0.png\";","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg13_Image1.9f15a63b.png\";","import { Store, StoreConfig } from '@datorama/akita';\nimport {\n AppointmentCancellationReason,\n AppointmentStatus,\n AppointmentWithType,\n} from '../../models/appointments.enums';\nimport {\n AppointmentOptions,\n AppointmentsSummaryModel,\n AppointmentTypeModel,\n BaseAppointmentModel,\n EmployeeAppointmentModel,\n UpcomingAppointment,\n AppointmentSequenceNumbersModel, AppointmentsSequenceInfoModel\n} from '../../models/appointments.models';\nimport { PatientAppointmentModel } from '../../models/appointments.models';\nimport { timezonesQuery } from \"../../../timezones/stores/timezones\";\nimport { toTimeZoneDate } from \"../../../timezones/helpers/timezone\";\nimport {AppointmentsStatisticModel} from \"../../models/appointmentsStatistic.models\";\n\nexport interface AppointmentsState {\n employeeAppointmentsSource: EmployeeAppointmentModel[];\n recentlyAddedAppointmentsSource: EmployeeAppointmentModel[];\n patientAppointmentsSource: PatientAppointmentModel[];\n upcomingAppointmentSource: UpcomingAppointment;\n appointmentOptionsSource: AppointmentOptions[];\n employeeAppointments: EmployeeAppointmentModel[];\n recentlyAddedAppointments:EmployeeAppointmentModel[];\n recentlyNoUploadedLabFileAppointments:EmployeeAppointmentModel[];\n patientAppointments: PatientAppointmentModel[];\n upcomingAppointment: UpcomingAppointment;\n appointmentOptions: AppointmentOptions[];\n appointmentTypes: AppointmentTypeModel[];\n allAppointmentTypes: AppointmentTypeModel[];\n appointmentAvailableTypes: AppointmentWithType[];\n appointmentsSummary: AppointmentsSummaryModel;\n appointmentsStatistic: AppointmentsStatisticModel;\n appointmentsIncludeTags: EmployeeAppointmentModel[];\n appointmentSequenceInfo: AppointmentsSequenceInfoModel[];\n}\n\n/**\n * Creates initial appointment state\n */\nexport function createInitialState(): AppointmentsState {\n return {\n employeeAppointmentsSource: [],\n patientAppointmentsSource: [],\n upcomingAppointmentSource: null,\n appointmentOptionsSource: [],\n patientAppointments: [],\n employeeAppointments: [],\n recentlyAddedAppointmentsSource:[],\n recentlyAddedAppointments:[],\n recentlyNoUploadedLabFileAppointments: [],\n upcomingAppointment: null,\n appointmentOptions: [],\n appointmentTypes: [],\n allAppointmentTypes: [],\n appointmentAvailableTypes: [],\n appointmentsSummary: null,\n appointmentsStatistic: null,\n appointmentsIncludeTags: [],\n appointmentSequenceInfo: []\n };\n}\n\n/**\n * Provides appointment state management\n */\n@StoreConfig({ name: 'appointments', resettable: true })\nexport class AppointmentsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setPatientAppointmentTypes(appointmentTypes: AppointmentTypeModel[]) {\n this.update({\n appointmentTypes: appointmentTypes.filter(x => !x.isExcluded),\n allAppointmentTypes: appointmentTypes\n })\n }\n\n public setPatientAppointments(appointmentsSource: PatientAppointmentModel[]): void {\n const appointmentsView = appointmentsSource.map(x => AppointmentsStore._toPatientView(x));\n\n this.update({\n patientAppointmentsSource: appointmentsSource,\n patientAppointments: appointmentsView.filter(x => x.cancellationReason !== AppointmentCancellationReason.Reschedule)\n })\n }\n\n public setEmployeeAppointments(appointmentsSource: EmployeeAppointmentModel[]): void {\n const appointmentsView = appointmentsSource.map(x => AppointmentsStore._toEmployeeView(x));\n\n this.update({\n employeeAppointmentsSource: appointmentsSource,\n employeeAppointments: appointmentsView.filter(x => x.cancellationReason !== AppointmentCancellationReason.Reschedule)\n })\n }\n\n public setEmployeeRecentlyAddedAppointments(appointmentsSource: EmployeeAppointmentModel[]): void {\n const appointmentsView = appointmentsSource.map(x => AppointmentsStore._toEmployeeView(x));\n\n this.update({\n recentlyAddedAppointmentsSource: appointmentsSource,\n recentlyAddedAppointments: appointmentsView\n })\n }\n\n public setRecentlyNoUploadedLabFileAppointments(appointmentsSource: EmployeeAppointmentModel[]): void {\n const appointmentsView = appointmentsSource.map(x => AppointmentsStore._toEmployeeView(x));\n\n this.update({\n recentlyNoUploadedLabFileAppointments: appointmentsView,\n })\n }\n\n public signOffAppointment(appointmentId: number): void {\n this.update({ recentlyNoUploadedLabFileAppointments: this.getValue().recentlyNoUploadedLabFileAppointments.filter(i => i.id !== appointmentId) });\n }\n\n public insertPatientAppointment(appointmentSource: PatientAppointmentModel): void {\n const appointmentView = AppointmentsStore._toPatientView(appointmentSource);\n\n this.update({\n patientAppointmentsSource: [...this.getValue().patientAppointmentsSource, appointmentSource],\n patientAppointments: [...this.getValue().patientAppointments, appointmentView]\n });\n }\n\n public insertEmployeeAppointment(appointmentSource: EmployeeAppointmentModel): void {\n const appointmentView = AppointmentsStore._toEmployeeView(appointmentSource);\n\n this.update({\n employeeAppointmentsSource: [...this.getValue().employeeAppointmentsSource, appointmentSource],\n employeeAppointments: [...this.getValue().employeeAppointments, appointmentView]\n });\n }\n\n public editPatientAppointment(appointmentSource: PatientAppointmentModel): void {\n const appointmentView = AppointmentsStore._toPatientView(appointmentSource);\n\n const appointmentsSource = this.getValue().patientAppointmentsSource.map((x) => (x.id === appointmentSource.id) ? Object.assign(x, appointmentSource) : x);\n const appointmentsView = this.getValue().patientAppointments.map((x) => (x.id === appointmentView.id) ? Object.assign(x, appointmentView) : x);\n\n this.update({\n patientAppointmentsSource: appointmentsSource,\n patientAppointments: appointmentsView\n });\n }\n\n public editAppointment(appointment: BaseAppointmentModel): void {\n const existingSource = this.getValue().patientAppointmentsSource.find(x => x.id === appointment.id);\n if (!existingSource) {\n return;\n }\n\n const updatedSource = Object.assign(existingSource, appointment);\n const appointmentView = AppointmentsStore._toEmployeeView(existingSource);\n\n const appointmentsSource = this.getValue().patientAppointmentsSource.map((x) => (x.id === updatedSource.id) ? updatedSource : x);\n const appointmentsView = this.getValue().patientAppointments.map((x) => (x.id === appointmentView.id) ? appointmentView : x);\n\n this.update({\n employeeAppointmentsSource: appointmentsSource,\n employeeAppointments: appointmentsView\n });\n }\n\n public cancelPatientAppointment(appointment: BaseAppointmentModel): void {\n const existingSource = this.getValue().patientAppointmentsSource.find(x => x.id === appointment.id);\n const existingView = this.getValue().patientAppointments.find(x => x.id === appointment.id);\n\n if (!existingSource) {\n return;\n }\n\n existingSource.status = AppointmentStatus.Canceled;\n existingView.status = AppointmentStatus.Canceled;\n\n this.update({\n patientAppointmentsSource: this.getValue().patientAppointmentsSource.map(x => x.id === existingSource.id ? existingSource : x),\n patientAppointments: this.getValue().patientAppointments.map(x => x.id === existingView.id ? existingView : x),\n });\n }\n\n public cancelEmployeeAppointment(appointment: BaseAppointmentModel): void {\n const existingSource = this.getValue().employeeAppointmentsSource.find(x => x.id === appointment.id);\n const existingView = this.getValue().employeeAppointments.find(x => x.id === appointment.id);\n\n if (!existingSource) {\n return;\n }\n\n existingSource.status = AppointmentStatus.Canceled;\n existingView.status = AppointmentStatus.Canceled;\n\n this.update({\n employeeAppointmentsSource: this.getValue().employeeAppointmentsSource.map(x => x.id === existingSource.id ? existingSource : x),\n employeeAppointments: this.getValue().employeeAppointments.map(x => x.id === existingView.id ? existingView : x),\n });\n }\n\n public cancelEmployeeAppointmentForDashboard(appointment: BaseAppointmentModel): void {\n const existingSource = this.getValue().employeeAppointmentsSource.find(x => x.id === appointment.id);\n const existingView = this.getValue().employeeAppointments.find(x => x.id === appointment.id);\n\n if (!existingSource) {\n return;\n }\n\n existingSource.status = AppointmentStatus.Canceled;\n existingView.status = AppointmentStatus.Canceled;\n\n this.update({\n employeeAppointmentsSource: this.getValue().employeeAppointmentsSource.filter(x => x.id !== existingSource.id),\n employeeAppointments: this.getValue().employeeAppointments.filter(x => x.id !== existingView.id),\n });\n }\n\n public rescheduleAppointment(id: number, appointment: BaseAppointmentModel): void {\n const existingSource = this.getValue().employeeAppointmentsSource.find(x => x.id === id);\n if (!existingSource) {\n return;\n }\n\n const employeeAppointmentsSource = this.getValue().employeeAppointmentsSource.filter(x => x.id !== id);\n const employeeAppointments = this.getValue().employeeAppointments.filter(x => x.id !== id);\n\n this.update({\n employeeAppointmentsSource: [...employeeAppointmentsSource, appointment],\n employeeAppointments: [...employeeAppointments, AppointmentsStore._toEmployeeView(appointment)],\n });\n }\n\n public reschedulePatientAppointment(id: number, appointment: BaseAppointmentModel): void {\n const existingSource = this.getValue().patientAppointmentsSource.find(x => x.id === id);\n if (!existingSource) {\n return;\n }\n\n const patientAppointmentsSource = this.getValue().patientAppointmentsSource.filter(x => x.id !== id);\n const patientAppointments = this.getValue().patientAppointments.filter(x => x.id !== id);\n\n this.update({\n patientAppointmentsSource: [...patientAppointmentsSource, appointment],\n patientAppointments: [...patientAppointments, AppointmentsStore._toPatientView(appointment)],\n });\n }\n\n public updateAppointmentOptions(options: AppointmentOptions): void {\n const allOptions = this.getValue().appointmentOptions;\n this.update({ appointmentOptions: allOptions.filter(x => x.id === options.id ? options : x) });\n }\n\n // #region private\n\n private static _toPatientView(appointment: PatientAppointmentModel): PatientAppointmentModel {\n const timezone = timezonesQuery.getMyTimezone();\n\n const copy = Object.assign({}, appointment);\n\n copy.startDate = toTimeZoneDate(copy.startDate, timezone);\n copy.endDate = toTimeZoneDate(copy.endDate, timezone);\n if (copy.cancelledAt) {\n copy.cancelledAt = toTimeZoneDate(copy.cancelledAt, timezone);\n }\n\n return copy;\n }\n\n private static _toEmployeeView(appointment: EmployeeAppointmentModel): EmployeeAppointmentModel {\n const timezone = timezonesQuery.getMyTimezone();\n\n const copy = Object.assign({}, appointment);\n\n copy.startDate = toTimeZoneDate(copy.startDate, timezone);\n copy.endDate = toTimeZoneDate(copy.endDate, timezone);\n\n if (copy.cancelledAt) {\n copy.cancelledAt = toTimeZoneDate(copy.cancelledAt, timezone);\n }\n\n return copy;\n }\n\n // #endregion\n}\n\nexport const appointmentsStore = new AppointmentsStore();\n","import { PatientAppointmentModel } from '../../models/appointments.models';\nimport { AppointmentsState, AppointmentsStore, appointmentsStore } from './appointments.store';\nimport { Query } from '@datorama/akita';\n\n/**\n * Provides method for working with appointments store\n */\nexport class AppointmentsQuery extends Query {\n patientAppointments$ = this.select(state => state.patientAppointments);\n employeeAppointments$ = this.select(state => state.employeeAppointments);\n appointmentOptions$ = this.select(state => state.appointmentOptions);\n recentlyAddedAppointments$ = this.select(state=>state.recentlyAddedAppointments);\n recentlyNoUploadedLabFileAppointments$ = this.select(state=>state.recentlyNoUploadedLabFileAppointments);\n appointmentTypes$ = this.select(state => state.appointmentTypes);\n allAppointmentTypes$ = this.select(state => state.allAppointmentTypes);\n appointmentsSummary$ = this.select(state => state.appointmentsSummary);\n appointmentsStatistic$ = this.select(state => state.appointmentsStatistic);\n appointmentsIncludeTags$ = this.select(state => state.appointmentsIncludeTags);\n appointmentSequenceInfo$ = this.select(state => state.appointmentSequenceInfo);\n\n constructor(protected store: AppointmentsStore) {\n super(store);\n }\n\n /**\n * Returns appointments\n */\n public getToken(): Array {\n return this.getValue().patientAppointments;\n }\n}\n\nexport const appointmentsQuery = new AppointmentsQuery(appointmentsStore);","module.exports = __webpack_public_path__ + \"static/media/HealthReport_Pg13_graph.95993c2f.png\";","module.exports = __webpack_public_path__ + \"static/media/WH_Cover_Image.234a7baf.jpg\";","module.exports = __webpack_public_path__ + \"static/media/expand.5b688d16.svg\";","module.exports = __webpack_public_path__ + \"static/media/collapse.f2db2680.svg\";","module.exports = __webpack_public_path__ + \"static/media/EmptyMeds.1b4c8942.png\";","module.exports = __webpack_public_path__ + \"static/media/checked.c5597f38.svg\";","module.exports = __webpack_public_path__ + \"static/media/note.d6084f0a.svg\";","module.exports = __webpack_public_path__ + \"static/media/star.18ac050e.svg\";","module.exports = __webpack_public_path__ + \"static/media/TaskEmpty.4dc91bd0.png\";","module.exports = __webpack_public_path__ + \"static/media/TrendingUp.0d8b1622.svg\";","import Axios from 'axios-observable';\nimport { Observable } from 'rxjs';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { profileStore, ProfileStore } from \"../stores/profileStore\";\nimport { EmployeeProfileModel, EmployeeProfilePhotoModel } from \"../models/employeeProfile.model\";\nimport { PatientProfileModel } from \"../models/patientProfile.model\";\nimport { PracticeProfileModel } from \"../models/practiceProfile.model\";\nimport { PracticeInfoModel, PracticeInfoShortModel } from \"../models/practice.model\";\nimport { BusinessProfileModel } from '../models/businessProfile.model';\nimport { HealthSummaryDataModel } from '../../healthSummary/models/healthSummary.models';\nimport { PatientPharmacyInfoModel, DelinquentStatusModel } from '../../patients/models/patient.model';\n\n/**\n * Provides method for working profile\n */\nexport class ProfileService {\n private url = `${process.env.REACT_APP_API_URL}`;\n private licensingUrl = `${process.env.REACT_APP_LICENSING_API_URL}`;\n\n constructor(private store: ProfileStore) {\n }\n\n /**\n * Fetches employee profile\n */\n public getEmployeeProfile(): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}Employees/Profile`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ employeeProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updateEmployeeProfile(model: FormData): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}Employees/Profile`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success(\"Profile successfully updated!\");\n this.store.update({ employeeProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updateBusinessProfile(model: BusinessProfileModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}Businesses`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success(\"Business successfully updated!\");\n this.store.update({ businessProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updatePracticeProfile(model: PracticeProfileModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n model.email = model.email.trim();\n\n return new Observable((observer) =>\n Axios.put(`${this.url}Practices`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success(\"Business successfully updated!\");\n this.store.update({ practiceProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Fetches patient profile\n */\n public getPatientProfile(): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}Patients/Profile`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ patientProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Fetches patient pharmacy patient profile by intake id\n */\n public getPatientPharmacyInfo(patientId: number): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}PatientPharmacyInfo/${patientId}`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ pharmacyInfo: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Get the My pharmacy Info\n */\n public getMyPharmacyInfo(): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}PatientPharmacyInfo/GetPharmacyInfo`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ pharmacyInfo: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Update patient pharmacy patient profile by employee\n */\n public updatePatientPharmacyInfo(patientId: number, model: PatientPharmacyInfoModel): Observable {\n return new Observable(observer => {\n Axios.post(`${this.url}PatientPharmacyInfo/${patientId}`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ pharmacyInfo: response.data })\n snackService.success(\"Pharmacy Info successfully updated!\");\n observer.next();\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete()\n }\n );\n })\n\n }\n\n /**\n * Update My pharmacy Info\n */\n public updateMyPharmacyInfo(model: PatientPharmacyInfoModel): Observable {\n return new Observable(observer => {\n Axios.post(`${this.url}PatientPharmacyInfo/UpdatePharmacyInfo`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ pharmacyInfo: response.data })\n snackService.success(\"Pharmacy Info successfully updated!\");\n observer.next();\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete()\n }\n );\n })\n\n }\n\n /**\n * Fetches problem list patient profile by intake id\n */\n public getPatientProblemList(patientId: number): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}Patients/ProblemsList/${patientId}`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ patientProfileProblemList: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Fetches patient profile by intake id\n */\n public getPatientProfileByIntakeId(intakeId: string): Observable {\n return new Observable((observer) =>\n Axios.get(`${this.url}Patients/${intakeId}/Profile`)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ patientProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public getBusinessProfile(): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}Businesses`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ businessProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n () => {\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updatePatientProfile(model: PatientProfileModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}Patients/Profile`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ patientProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updatePatientProfileByIntakeId(intakeId: string, model: PatientProfileModel): Observable {\n return new Observable((observer) =>\n Axios.put(`${this.url}Patients/${intakeId}/Profile`, model)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ patientProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public getPracticeInfo(preferredUrl: string): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.licensingUrl}Practices/Info?preferredUrl=${preferredUrl}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ practiceInfo: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error.message.includes('404') ? { response: { data: { messages: ['Practice name not found.'] } } } : error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getPracticeProfile(): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.url}Practices`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ practiceProfile: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getShortPracticeInfo(): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.url}Practices/info`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ practiceShortInfo: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getProfilePhoto(): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.url}Attachment/profile-photo`, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getPhotoUrl(id: number): string {\n return `${this.url}Attachment/${id}`;\n }\n\n /**\n * Fetches patient delinquent\n */\n public isPatientDelinquent(): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.get(`${this.url}Patients/Delinquent`, config)\n .pipe()\n .subscribe(\n response => {\n this.store.update({ delinquentStatus: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public getEmployeeProfilePhotos(employeeIds: string): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.url}Attachment/get-photos/${employeeIds}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateEmployeePhotos(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const profileService = new ProfileService(profileStore);","module.exports = __webpack_public_path__ + \"static/media/TrendingDown.324997db.svg\";","module.exports = __webpack_public_path__ + \"static/media/DietGoal.f5f03484.png\";","module.exports = __webpack_public_path__ + \"static/media/ExerciseGoal.2772cd61.png\";","module.exports = __webpack_public_path__ + \"static/media/MindfulnessGoal.01ca98dc.png\";","module.exports = __webpack_public_path__ + \"static/media/LongevityGoal.0dcdd969.png\";","module.exports = __webpack_public_path__ + \"static/media/NeuroGoal.f3eb64af.png\";","module.exports = __webpack_public_path__ + \"static/media/SleepGoal.ed59536c.png\";","module.exports = __webpack_public_path__ + \"static/media/OtherGoal.d9caf347.png\";","module.exports = __webpack_public_path__ + \"static/media/DietGoalFull.9422bd97.png\";","module.exports = __webpack_public_path__ + \"static/media/ExerciseGoalFull.6549a9e5.png\";","import {IPaginationState} from \"../models/pagination-state\";\n\nexport const getAvailablePages = (state: IPaginationState) => {\n const maxPage = Math.ceil(state.totalCount / state.pageSize);\n\n if(maxPage === 1) {\n return [state.selectedPage];\n }\n\n if(state.selectedPage === 1) {\n return state.selectedPage + 1 === maxPage\n ? [state.selectedPage, state.selectedPage + 1]\n : [state.selectedPage, state.selectedPage + 1, state.selectedPage + 2];\n }\n\n if(state.selectedPage === maxPage) {\n return state.selectedPage - 1 === 1\n ? [state.selectedPage - 1, state.selectedPage]\n : [state.selectedPage - 2, state.selectedPage - 1, state.selectedPage];\n }\n\n return [state.selectedPage - 1, state.selectedPage, state.selectedPage + 1];\n}\n","module.exports = __webpack_public_path__ + \"static/media/MindfulnessGoalFull.761e8947.png\";","module.exports = __webpack_public_path__ + \"static/media/LongevityGoalFull.95585946.png\";","module.exports = __webpack_public_path__ + \"static/media/NeuroGoalFull.c4edcd3c.png\";","module.exports = __webpack_public_path__ + \"static/media/SleepGoalFull.964af0ae.png\";","module.exports = __webpack_public_path__ + \"static/media/OtherGoalFull.37d143d7.png\";","module.exports = \"data:image/png;base64,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\"","module.exports = __webpack_public_path__ + \"static/media/success.f6442fa9.svg\";","module.exports = __webpack_public_path__ + \"static/media/Recommended.4449e10b.png\";","export function getNumericKeys(enumeration: any): number[] {\n return Object.keys(enumeration).filter(x => isNaN(Number(x)) === false).map(x => parseInt(x));\n}\n","module.exports = __webpack_public_path__ + \"static/media/CheckoutConfirmVideoPreview.b9d075c3.svg\";","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n flex: 1,\n },\n },\n message: {\n fontFamily: \"Poppins\",\n fontWeight: 600,\n fontSize: 20,\n color: colors.gray1,\n margin: 16,\n [theme.breakpoints.up('sm')]: {\n margin: 25,\n },\n },\n children: {\n margin: 16,\n [theme.breakpoints.up('sm')]: {\n margin: 25,\n },\n },\n })\n)","import { Box, Grid } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useStyles } from \"./wildHealthPlaceHolderBase.styles\";\n\nexport interface WildHealthPlaceHolderBaseProps {\n message: string;\n children?: any;\n}\n\nexport const WildHealthPlaceHolderBase: React.FC = (props: WildHealthPlaceHolderBaseProps) => {\n const {\n message,\n children\n } = props;\n\n const classes = useStyles();\n\n return (\n \n \n {message}\n {children}\n \n \n );\n}\n","import {createStyles, Theme, withStyles} from \"@material-ui/core/styles\";\nimport {TableCell} from \"@material-ui/core\";\n\nexport const WildHealthTableCell = withStyles((theme: Theme) =>\n createStyles({\n root: {\n borderBottom: '1px solid #EFF3F8',\n },\n head: {\n color: '#afbaca',\n fontWeight: 450,\n },\n body: {\n fontWeight: 450,\n },\n }),\n)(TableCell);\n\nexport interface ColumnViewModel {\n title: string;\n alignment?: 'inherit' | 'left' | 'center' | 'right' | 'justify';\n}","import { MessageGroupModel } from \"../models/message.models\";\nimport {\n ConversationAuthorModel, ConversationModelBaseView, ConversationModelBaseViewForAiDemo,\n EmployeeConversationParticipantModel,\n PatientConversationParticipantModel\n} from \"../models/conversation.models\";\nimport { employeeTypesNames } from \"../../employee/models/employee.enums\";\nimport { authQuery } from \"../../auth/stores/auth\";\n\nconst getAuthor = (\n sid: string,\n patients: PatientConversationParticipantModel[],\n employees: EmployeeConversationParticipantModel[]\n): [string, string, number?, string?] => {\n const patient = patients.find(x => x.vendorExternalIds?.includes(sid));\n\n if (patient) {\n return [patient.firstName, patient.lastName]\n }\n\n const employee = employees.find(x => x.vendorExternalIds?.includes(sid));\n\n if (employee) {\n return [employee.firstName, employee.lastName, employee.employeeId, employeeTypesNames.get(employee.type)]\n }\n\n return ['Unknown', 'Unknown']\n}\n\nexport const convertMessagesToGroups = (\n messages: any[],\n author: ConversationAuthorModel,\n patients: PatientConversationParticipantModel[],\n employees: EmployeeConversationParticipantModel[]): MessageGroupModel[] => {\n\n const uniqueMessages = messages && messages.length ? messages.filter(function (m, pos) {\n return messages.findIndex(x => x.state.sid === m.state.sid) === pos;\n }) : [];\n\n return uniqueMessages.map((message) => {\n const [firstName, lastName, employeeId, employeeType] = getAuthor(message.participantSid, patients, employees);\n return {\n authorFirstName: firstName,\n authorLastName: lastName,\n employeeId: employeeId,\n employeeType: employeeType,\n isMyMessage: author && message.author === author?.conversationIdentity,\n messages: [\n {\n originalMessage: message,\n date: message.dateCreated\n }\n ]\n };\n });\n}\n\nexport const convertMessagesToGroupsForView = (\n messages: ConversationModelBaseView[],\n authorId: string,\n patients: PatientConversationParticipantModel[],\n employees: EmployeeConversationParticipantModel[]): MessageGroupModel[] => {\n\n const uniqueMessages = messages && messages.length ? messages.filter(function (m, pos) {\n return messages.findIndex(x => x.sid === m.sid) === pos;\n }) : [];\n\n return uniqueMessages.map((message) => {\n const [firstName, lastName, employeeId, employeeType] = getAuthor(message.participantSid, patients, employees);\n return {\n authorFirstName: firstName,\n authorLastName: lastName,\n employeeId: employeeId,\n employeeType: employeeType,\n isMyMessage: authorId && message.author === authorId,\n messages: [\n {\n originalMessage: message,\n date: message.dateCreated\n }\n ]\n };\n });\n}\n\nexport const convertMessagesToGroupsForAiDemo = (messages: ConversationModelBaseViewForAiDemo[]): MessageGroupModel[] => {\n\n const uniqueMessages = messages && messages.length ? messages : [];\n\n return uniqueMessages.map((message) => {\n return {\n authorFirstName: message.isAi ? 'AI' : 'Human',\n authorLastName: ' ',\n employeeId: authQuery.getEmployeeId(),\n employeeType: '',\n isMyMessage: !message.isAi,\n messages: [\n {\n originalMessage: message,\n date: message.dateCreated\n }\n ]\n };\n });\n}\n\nexport const displayShortName = (firstName?: string, lastName?: string) => {\n return [(firstName || \"\").trim().slice(0, 1), (lastName || \"\").trim().slice(0, 1)]\n .join(\"\");\n}","import React from 'react';\nimport { withStyles } from '@material-ui/core/styles';\nimport Radio, { RadioProps } from '@material-ui/core/Radio';\nimport { colors } from '../constants/colors';\n\nexport const WildHealthRadio = withStyles({\n root: {\n color: colors.main,\n '&$checked': {\n color: colors.main,\n },\n },\n checked: {},\n disabled: {\n color: colors.stroke,\n '&$checked': {\n color: colors.stroke,\n }\n }\n})((props: RadioProps) => );","import { Button, CircularProgress } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useFacade } from './wildHealthButton.hooks';\nimport { useStyles } from './wildHealthButton.styles';\nimport clsx from 'clsx';\n\ninterface WildHealthButtonProps {\n onClick?: (event?: React.MouseEvent) => void;\n children?: any;\n style?: React.CSSProperties;\n size?: 'default' | 'large' | 'medium' | 'small';\n color?: 'primary' | 'primaryV' | 'secondary' | 'tertiary' | 'danger' | 'referral' | 'mint' | 'white' | 'datePicker';\n width?: number | string;\n autoFocus?: boolean;\n disabled?: boolean;\n border?: 'none';\n borderRadius?: number | string;\n timeout?: number;\n type?: any;\n fullWidth?: boolean;\n loading?: boolean;\n id: string;\n}\n\nexport const WildHealthButton: React.FC = (props: WildHealthButtonProps) => {\n const {\n onClick,\n timeout = 250,\n size = 'default',\n color = 'primary',\n width = 'auto',\n border = '',\n borderRadius = '',\n fullWidth = false,\n loading = false\n } = props;\n const classes = useStyles();\n\n const [\n canExecute,\n handleOnClick,\n ] = useFacade(onClick, timeout);\n\n return (\n \n {loading ? : props.children}\n \n );\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription, timer } from 'rxjs';\n\n/**\n * Custom Hook to manage a view Model for Notifications component\n */\nexport function useFacade(onClick: (event?: React.MouseEvent) => void, timeout: number): [boolean, (event?: React.MouseEvent) => void] {\n const [canExecute, setCanExecute] = useState(true);\n\n\n const handleOnClick = (event?: React.MouseEvent) => {\n setCanExecute(() => false);\n onClick(event);\n }\n\n const useEffectCB = () => {\n const timerSubscription = timer(timeout).subscribe(() => {\n setCanExecute(() => true);\n timerSubscription.unsubscribe();\n });\n\n const subscriptions: Subscription[] = [timerSubscription];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n useEffect(useEffectCB, [canExecute, timeout]);\n\n return [canExecute, handleOnClick];\n}","import {Query} from '@datorama/akita';\nimport { InsuranceState, insuranceStore, InsuranceStore } from './insurance.store';\nimport {AttachmentModel} from \"../../common/models/attachment.models\";\n\n/**\n * Provides Insurance queries\n */\nexport class InsuranceQuery extends Query {\n insurances$ = this.select(state => state.insurances);\n coverages$ = this.select(state => state.coverages);\n attachments$ = this.select(state => state.attachments);\n verificationList$ = this.select(state => state.verificationList);\n insuranceAvailability$ = this.select(state => state.insuranceAvailability);\n insuranceConfigurations$ = this.select(state => state.insuranceConfigurations);\n targetInsuranceConfiguration$ = this.select(state => state.targetInsuranceConfiguration);\n comments$ = this.select(state => state.comments);\n\n constructor(protected store: InsuranceStore) {\n super(store);\n }\n\n public getAttachments(): AttachmentModel[] {\n return this.getValue().attachments;\n }\n\n public getInsuranceAvailability(): boolean {\n return this.getValue().insuranceAvailability;\n }\n}\n\nexport const insuranceQuery = new InsuranceQuery(insuranceStore);","import WHBlackLogo from \"@img/logos/WHBlackLogo.svg\";\nimport WHLogo from \"@img/logos/WHLogo.svg\";\nimport WHClarityLogo from \"@img/logos/WHClarityLogo.svg\";\nimport WHHealthReportLogo from \"@img/logos/WHClarityLogo.png\";\nimport WHClarityPDFLogo from \"@img/logos/Clarity_pdf_header.png\";\n\nexport class LogoService {\n\n private commonLogo = {\n default: WHBlackLogo,\n primary: WHLogo,\n clarity: WHClarityLogo,\n clarityHeader: WHClarityPDFLogo,\n healthReport: WHHealthReportLogo\n };\n\n public getLogo() {\n\n let logo = this.commonLogo;\n\n return logo;\n }\n}\n\nexport const logoService = new LogoService();","import {Query} from '@datorama/akita';\nimport {\n PatientConversationsState, patientConversationsStore,\n PatientConversationsStore\n} from \"./patientConversations.store\";\nimport { ConversationAuthorModel } from \"../../models/conversation.models\";\n\n/**\n * Provides patient messages queries\n */\nexport class PatientConversationsQuery extends Query {\n\n author$ = this.select(state => state.author);\n\n supportConversations$ = this.select(state => state.supportConversations);\n\n heathCareConversation$ = this.select(state => state.heathCareConversation);\n\n targetConversation$ = this.select(state => state.targetConversation);\n\n targetStaffConversation$ = this.select(state => state.targetStaffConversation);\n\n targetHealthcareConversation$ = this.select(state => state.targetHealthcareConversation);\n\n targetInternalConversation$ = this.select(state => state.targetInternalConversation);\n\n isLoading$ = this.select(state => state.isLoading);\n\n constructor(protected store: PatientConversationsStore) {\n super(store);\n }\n\n public getAuthor(): ConversationAuthorModel {\n return this.getValue().author;\n }\n\n public getSendNewMessageStatus(): boolean {\n return this.getValue().isSendForwardMessage;\n }\n}\n\nexport const patientConversationsQuery = new PatientConversationsQuery(patientConversationsStore);","import Axios from 'axios-observable';\nimport {patientSupplementsStore, PatientSupplementsStore} from \"../stores/patientSupplementsStore/patientSupplements.store\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {snackService} from \"../../common/snack/state\";\nimport {PatientSupplementModel, SupplementSource} from '../models/patientSupplementModel';\nimport { Observable } from 'rxjs';\nimport {FullscriptSupplementModel} from \"../models/fullscriptSupplementModels\";\n\n/**\n * Provides method for working with patient supplements\n */\nexport class SupplementsService {\n constructor(private patientSupplementsStore: PatientSupplementsStore) {\n }\n\n public get(patientId: number): Observable {\n const url = `${process.env.REACT_APP_API_URL}Supplements?patientId=${patientId}`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.patientSupplementsStore.update({patientSupplements: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public create(model: PatientSupplementModel, patientId: number, isFromNotes = false): Observable {\n const url = `${process.env.REACT_APP_API_URL}Supplements?patientId=${patientId}`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.post(url, model, config)\n .pipe()\n .subscribe(\n (response) => {\n !isFromNotes && snackService.success('New Supplement Added!');\n patientSupplementsStore.create(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public edit(model: PatientSupplementModel): Observable {\n const url = `${process.env.REACT_APP_API_URL}Supplements`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.put(url, model, config)\n .pipe()\n .subscribe(\n (response) => {\n snackService.success('Changes Saved!');\n patientSupplementsStore.edit(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public delete(id: number, isFromNotes = false): Observable {\n const url = `${process.env.REACT_APP_API_URL}Supplements/${id}`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.delete(url, config)\n .pipe()\n .subscribe(\n (response) => {\n !isFromNotes && snackService.deleteSuccess('Supplement Was Deleted!');\n patientSupplementsStore.delete(response.data.id)\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public getDefaultLink(): Observable {\n const url = `${process.env.REACT_APP_API_URL}Supplements/Link/Default`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public searchInFullscript(query: string): Observable\n {\n const url = `${process.env.REACT_APP_API_URL}Supplements/Fullscript?query=${query}`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public byTreatmentPlan(treatmentPlanId: string): Observable\n {\n const url = `${process.env.REACT_APP_API_URL}Supplements/Fullscript/TreatmentPlan?treatmentPlan=${treatmentPlanId}`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const supplementsService = new SupplementsService(patientSupplementsStore);\n","import {EmployeeShortModel} from \"../../employee/models/employee.models\";\nimport {HealthReportOwnerModel} from \"../../healthReport/models/healthReport.models\";\nimport {DurationModel} from \"../../appointments/models/times.models\";\nimport {PatientShortModel} from \"../../appointments/models/appointments.models\";\nimport { HealthSummaryDataModel } from \"../../healthSummary/models/healthSummary.models\";\nimport {UserType} from \"../../auth/models/auth.enums\";\nimport {FullscriptSupplementModel} from \"../../patientSupplements/models/fullscriptSupplementModels\";\nimport {SupplementSource} from \"../../patientSupplements/models/patientSupplementModel\";\nimport {RxntMedicationModel} from \"../../patientSupplements/models/patientMedicationModel\";\nimport {RxntAllergyModel} from \"../../patientSupplements/models/patientAllergiesModel\";\n\nexport interface NoteLogModel {\n key: string;\n value: string;\n}\n\nexport enum NotesType {\n Initial = 1,\n Blank = 2,\n FollowUp = 3,\n Internal = 4,\n HistoryAndPhysicalInitial = 5,\n HistoryAndPhysicalFollowUp = 6,\n HistoryAndPhysicalGroupVisit = 8,\n Soap = 7\n}\n\nexport interface NotesGroupModel {\n employee: EmployeeShortModel;\n notes: NoteModel[]\n}\n\nexport interface NoteAppointmentModel {\n id: number;\n date: Date;\n duration: number;\n}\n\nexport interface NoteModel {\n id: number;\n name: string;\n title: string;\n type: NotesType;\n visitDate: Date;\n employee: EmployeeShortModel;\n appointment: NoteAppointmentModel | null;\n patient: PatientShortModel | null;\n patientId: number;\n isCompleted: boolean;\n completedBy: string;\n completedAt: Date | null;\n completedById: number | null;\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n completedByEmployee: EmployeeShortModel;\n assignedTo: EmployeeShortModel;\n deletedBy: EmployeeShortModel;\n deletedAt: Date | null;\n deletionReason: NoteDeletionReason | null;\n assignedAt: Date | null;\n additionalNote: string;\n version: number;\n originalNoteId?: number;\n isOldIcc: boolean;\n isFutureAppointment: boolean;\n amendedNotes: NoteModel[];\n}\n\nexport interface IccContent {\n internalContent: string;\n currentMedicalConditions: HealthSummaryDataModel[];\n appointmentConfiguration?: AppointmentConfigurationModel | null;\n intention: string;\n systolicBloodPressure: number;\n diastolicBloodPressure: number;\n}\n\n\nexport interface DraftNoteModel extends NoteModel {\n owner: HealthReportOwnerModel;\n noteTypeName: string;\n}\n\nexport interface NoteContentModel {\n noteId: number;\n internalContent: string;\n content: string;\n logs: NoteLogModel[];\n}\n\nexport interface SaveNoteModel {\n id?: number;\n name: string;\n title: string;\n type: NotesType;\n visitDate: Date;\n patientId: number;\n internalContent: string;\n content: string;\n files?: AttachmentModel[];\n logs: NoteLogModel[];\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n appointmentId: number | null;\n version: number;\n originalNoteId?: number;\n}\n\nexport interface SaveNoteModelWithoutFile {\n id?: number;\n name: string;\n title: string;\n type: NotesType;\n visitDate: Date;\n patientId: number;\n internalContent: string;\n content: string;\n logs: NoteLogModel[];\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n appointmentId: number | null;\n version: number;\n originalNoteId?: number;\n}\n\nexport enum GoalCategory {\n Diet = 5,\n Exercise = 10,\n Sleep = 15,\n Neuro = 20,\n Longevity = 25,\n Mindfulness = 30,\n Other = 100\n}\n\nexport const goalCategoryNames: { [category: number]: string; } = {\n [GoalCategory.Diet]: 'Diet',\n [GoalCategory.Exercise]: 'Exercise',\n [GoalCategory.Sleep]: 'Sleep',\n [GoalCategory.Neuro]: 'Neuro',\n [GoalCategory.Longevity]: 'Longevity',\n [GoalCategory.Mindfulness]: 'Mindfulness',\n [GoalCategory.Other]: 'Other',\n}\n\nexport enum GoalsFilterState {\n TopGoals = 1,\n AllGoals = 2,\n PastGoals = 3,\n}\n\nexport const goalsFiltersStateTrackNames: { [type: number]: string; } = {\n [GoalsFilterState.TopGoals]: 'top_goals',\n [GoalsFilterState.AllGoals]: 'all_goals',\n [GoalsFilterState.PastGoals]: 'past_goals',\n}\nexport interface GoalModel {\n id: number;\n name: string;\n date: Date | null;\n category: GoalCategory;\n isCompleted: boolean | null;\n isTopGoal: boolean | null;\n completionDate: Date | null;\n interventions: InterventionModel[];\n}\n\nexport interface GoalCommonModel {\n id: number;\n name: string;\n isCompleted: boolean | null;\n completionValue: number | null;\n interventions: InterventionModel[];\n category?: GoalCategory;\n}\n\nexport interface InterventionModel {\n id: number;\n name: string;\n goalId?: number;\n}\n\nexport interface StepModel {\n id: number;\n name: string;\n}\n\nexport interface MedicationsSupplementsItem {\n id: number;\n name: string;\n dosage: string;\n instructions: string;\n source: SupplementSource | null;\n isInCurrent: boolean;\n isStopped: boolean;\n}\n\nexport interface MedicationItem extends MedicationsSupplementsItem {\n startDate?: Date | null;\n}\n\nexport interface SupplementItem extends MedicationsSupplementsItem {\n purchaseLink: string;\n}\n\nexport interface RxntMedicationItemModel extends RxntMedicationModel{\n isInCurrent: boolean;\n isStopped: boolean;\n}\n\nexport interface MedicationsSupplementsModel {\n medications: MedicationItem[];\n supplements: SupplementItem[];\n rxntMedications: RxntMedicationItemModel[];\n fullscriptSupplements: FullscriptSupplementModel[];\n}\n\nexport interface FollowUpContent {\n goalsVersion?: string;\n goals?: GoalModel[];\n plan?: NotePlanModel;\n appointmentConfiguration?: AppointmentConfigurationModel;\n medicationsSupplements: MedicationsSupplementsModel;\n steps: StepModel[];\n todayCoachingContent?: string;\n}\n\nexport interface AttachmentModel {\n tempId: number;\n id?: number;\n noteId: number;\n file: File;\n fileName: string;\n fileSize: number;\n ForDelete?: boolean;\n}\n\nexport interface InternalNoteContent {\n attachmentsEmployee: AttachmentModel[];\n}\n\nexport enum NextTimeSpan {\n Week = 1,\n Month = 2,\n Year = 3,\n}\n\nexport const nextTimeSpanNames: { [id: string]: string; } = {\n [NextTimeSpan.Week]: 'Week',\n [NextTimeSpan.Month]: 'Month',\n [NextTimeSpan.Year]: 'Year',\n}\n\nexport interface NextTimeModel {\n timeSpan: NextTimeSpan;\n quantity: number;\n isManual: boolean;\n}\n\nexport interface PmhModel {\n allergies: string[];\n currentMedicalConditions: string[];\n famHX: string[];\n screeningHealthMaintenance: string[];\n surgicalHX: string[];\n socialLifestyleHX: string[];\n}\n\nexport interface PmhModelNew {\n allergies: any[];\n rxntAllergies: RxntAllergyModel[];\n currentMedicalConditions: any[];\n famHX: any[];\n screeningHealthMaintenance: any[];\n screeningHealthMaintenanceApoe?: any;\n surgicalHX: any[];\n lifestyleHX: any[];\n socialHX: any[];\n}\n\nexport class HealthSummaryNoteKeySectionNames {\n static readonly ALLERGIES: string = \"ALLERGIES\";\n static readonly FAMILY_HISTORY: string = \"FAMILY_HISTORY\";\n static readonly PROBLEMS_LIST: string = \"PROBLEMS_LIST\";\n static readonly SURGICAL_HISTORY: string = \"SURGICAL_HISTORY\";\n static readonly SCREENING_HEALTH_MAINTENANCE: string = \"SCREENING_HEALTH_MAINTENANCE\";\n static readonly LIFESTYLE_HISTORY: string = \"LIFESTYLE_HISTORY\";\n static readonly SOCIAL_HISTORY: string = \"SOCIAL_HISTORY\";\n static readonly HPI: string = \"HPI\";\n\n}\n\nexport interface AppointmentConfigurationModel {\n visitDate: Date;\n duration: number;\n configurationId: number;\n}\n\nexport interface NotePhysicalModel {\n unableToObtain: boolean;\n systolicBP: number;\n diastolicBP: number;\n heartRate: number;\n temperature: number;\n height: number;\n weight: number;\n physicalExam: string;\n}\n\nexport interface RosModel {\n rosEnabled: boolean;\n rosValues: string[];\n}\n\nexport interface NotePlanModel {\n planText?: string;\n labsText?: string;\n coachOtherText?: string;\n\n dietGoals?: GoalModel[];\n exerciseGoals?: GoalModel[];\n sleepGoals?: GoalModel[];\n neuroGoals?: GoalModel[];\n longevityGoals?: GoalModel[];\n mindfulnessGoals?: GoalModel[];\n\n dietEducations?: string;\n exerciseEducations?: string;\n sleepEducations?: string;\n neuroEducations?: string;\n longevityEducations?: string;\n mindfulnessEducations?: string;\n}\n\nexport interface IcdCode {\n id: number;\n code: string;\n description: string;\n additionalInformation?: string;\n}\n\nexport interface HistoryAndPhysicalContent {\n appointmentConfiguration?: AppointmentConfigurationModel;\n duration: DurationModel;\n pmhVersion?: string;\n chiefComplaint: string;\n HPI: string;\n PMH: PmhModel;\n PMHnew?: PmhModelNew;\n medicationsSupplements: MedicationsSupplementsModel;\n ROS: RosModel;\n physicalData: NotePhysicalModel;\n mdmData: MdmDataModel;\n diagnosis: IcdCode[];\n plan: NotePlanModel;\n specialTests: SpecialTestModel[];\n}\n\nexport interface SoapContent {\n appointmentConfiguration?: AppointmentConfigurationModel;\n duration: DurationModel;\n chiefComplaint: string;\n subjective: string;\n medicationsSupplements: MedicationsSupplementsModel;\n ROS: RosModel;\n physicalData: NotePhysicalModel;\n mdmData: MdmDataModel;\n diagnosis: IcdCode[];\n plan: NotePlanModel;\n specialTests: SpecialTestModel[];\n}\n\nexport enum MdmPatientType {\n New = 1,\n Established = 2\n}\n\nexport enum MdmMode {\n Mdm = 1,\n TimeBased = 2\n}\n\nexport interface MdmModel {\n id: number;\n code: number;\n description: string;\n categories: MdmCategoryModel[];\n riskDescription: string;\n patientType: MdmPatientType;\n minTime: number;\n maxTime: number;\n categoriesToComplete: number;\n employeeOnly: boolean;\n title: string;\n}\n\nexport interface MdmCommonModel {\n id: number;\n name: string;\n description: string,\n reasons: MdmReasonModel[];\n}\n\nexport interface MdmReasonModel {\n id: number;\n name: string;\n mdmPlanId?: number;\n}\n\nexport interface MdmCategoryModel {\n id: number;\n name: string;\n itemsToSelectCount: number;\n items: MdmCategoryItemModel[];\n}\n\nexport interface MdmCategoryItemModel {\n id: number;\n description: string;\n allowInput: boolean;\n order: number;\n}\n\nexport interface SelectedMdmCategoryItemModel {\n id: number;\n inputValue: string;\n}\n\nexport interface SignOffNoteModel {\n noteId: number;\n assignToId: number;\n additionalNote: string;\n}\n\nexport interface MdmDataModel {\n mdmText: string;\n selectedMdmPatientType: MdmPatientType;\n selectedCodeId: number;\n showCodeDescription: boolean | null;\n selectedCategoryId: number | null;\n selectedCategoryIds: number[];\n selectedCategoryItems: SelectedMdmCategoryItemModel[];\n selectedMode: MdmMode;\n spentTime: number;\n}\n\nexport interface SpecialTestModel {\n id: number;\n name: string;\n company: string;\n cost: string;\n}\n\n\nexport enum MdmCategory {\n EstablishedPatient99203 = 1,\n EstablishedPatient99204 = 2,\n EstablishedPatient99205 = 3,\n NewPatient99203 = 4,\n NewPatient99204 = 5,\n NewPatient99205 = 6,\n EstablishedPatientG0438 = 7,\n EstablishedPatientG0439 = 8,\n NewPatientG0438 = 9,\n}\n\nexport enum MdmCategoryIds {\n EstablishedPatientOne99203 = 1,\n EstablishedPatientSecond99203 = 2,\n EstablishedPatientOne99204 = 3,\n EstablishedPatientSecond99204 = 4,\n EstablishedPatientThird99204 = 5,\n EstablishedPatientOne99205 = 6,\n EstablishedPatientSecond99205 = 7,\n EstablishedPatientThird99205 = 8,\n NewPatientOne99203 = 9,\n NewPatientSecond99203 = 10,\n NewPatientOne99204 = 11,\n NewPatientSecond99204 = 12,\n NewPatientThird99204 = 13,\n NewPatientOne99205 = 14,\n NewPatientSecond99205 = 15,\n NewPatientThird99205 = 16,\n}\n\nexport enum SectionType{\n Hpi = 1,\n PMH = 2,\n MedicationAndSupplements = 3,\n Ros = 4,\n Physical = 5,\n Mdm = 6,\n Diagnosis = 7,\n Plan = 8,\n NextAppointment = 9\n}\n\nexport enum NoteDeletionReason {\n WrongPatient = 1,\n MissingContent = 2,\n WrongAppointment = 3,\n Other = 999\n}\n\nexport const noteDeleteReasons: Map = new Map()\n .set(NoteDeletionReason.WrongPatient, 'The note was completed on the wrong patient')\n .set(NoteDeletionReason.MissingContent, 'The note contained incorrect content or was missing content')\n .set(NoteDeletionReason.WrongAppointment, 'The note was completed for the wrong appointment');\n\nexport const downloadNoteOptions: Map = new Map()\n .set(UserType.Patient, 'Patient View')\n .set(UserType.Employee, 'Provider View');\n\nexport const mdmCategoryItemsCount: { [id: number]: number; } = {\n [MdmCategoryIds.EstablishedPatientOne99203]: 2,\n [MdmCategoryIds.EstablishedPatientSecond99203]: 1,\n [MdmCategoryIds.EstablishedPatientOne99204]: 3,\n [MdmCategoryIds.EstablishedPatientSecond99204]: 1,\n [MdmCategoryIds.EstablishedPatientThird99204]: 1,\n [MdmCategoryIds.EstablishedPatientOne99205]: 3,\n [MdmCategoryIds.EstablishedPatientSecond99205]: 1,\n [MdmCategoryIds.EstablishedPatientThird99205]: 1,\n [MdmCategoryIds.NewPatientOne99203]: 2,\n [MdmCategoryIds.NewPatientSecond99203]: 1,\n [MdmCategoryIds.NewPatientOne99204]: 3,\n [MdmCategoryIds.NewPatientSecond99204]: 1,\n [MdmCategoryIds.NewPatientThird99204]: 1,\n [MdmCategoryIds.NewPatientOne99205]: 3,\n [MdmCategoryIds.NewPatientSecond99205]: 1,\n [MdmCategoryIds.NewPatientThird99205]: 1,\n\n}\n\nexport enum NoteMarkdownTypes {\n H1 = 'h1',\n H2 = 'h2',\n H3 = 'h3',\n Bold = 'bold',\n Italic = 'italic',\n Blockquote = 'blockquote',\n List = 'list',\n Line = 'line',\n Link = 'link',\n}\n\nexport enum NoteGoalsVersion {\n New = '2'\n}\n\nexport enum NotePmhVersion {\n New = '2'\n}\n","import { patientsSupplementsService } from '../../patientSupplements/services/patientSupplements.service'\nimport { PatientSupplementModel } from '../../patientSupplements/models/patientSupplementModel'\nimport { supplementsService } from '../../patientSupplements/services/supplements.service'\nimport { HealthSummaryDataModel } from '../models/healthSummary.models'\nimport { healthSummaryStore, HealthSummaryStore } from '../stores'\nimport { Observable } from 'rxjs'\n\nexport class HealthSummarySupplementsService {\n public mapKey = 'SUPPLEMENTS'\n\n constructor(private healthSummaryStore: HealthSummaryStore) {\n }\n\n /**\n * Returns patients health summary model\n */\n public get(patientId?: number): void {\n const method = patientId ? supplementsService.get(patientId) : patientsSupplementsService.get()\n\n method.subscribe((supplements) => {\n const supplementsData = supplements.map(x => ({ \n key: `${this.mapKey}-${x.id}`, \n name: x.name, \n value: x.dosage}\n ))\n\n this.healthSummaryStore.sectionLoaded()\n this.healthSummaryStore.clearSection(this.mapKey)\n this.healthSummaryStore.setData(supplementsData) \n })\n }\n\n /**\n * Returns patients health summary model\n */\n public create(patientId: number, model: HealthSummaryDataModel): Observable {\n const payload = {name: model.name, dosage: model.value} as PatientSupplementModel\n\n return supplementsService.create(payload, patientId)\n }\n\n /**\n * Returns patients health summary model\n */\n public update(patientId: number, model: HealthSummaryDataModel): Observable {\n const id = +model.key.replace(`${this.mapKey}-`, '')\n\n const payload = {\n id: id,\n name: model.name, \n dosage: model.value\n } as PatientSupplementModel\n\n return supplementsService.edit(payload)\n }\n\n public delete(key: string): void{\n const id = +key.replace(`${this.mapKey}-`, '')\n \n supplementsService.delete(id).subscribe(() => {\n this.healthSummaryStore.delete(key)\n })\n }\n}\n\nexport const healthSummarySupplementsService = new HealthSummarySupplementsService(healthSummaryStore)","\nimport { patientAllergiesService } from '../../patientSupplements/services/patientAllergiesService'\nimport { PatientAllergyModel } from '../../patientSupplements/models/patientAllergiesModel'\nimport { allergiesService } from '../../patientSupplements/services/allergies.service'\nimport { HealthSummaryDataModel } from '../models/healthSummary.models'\nimport { healthSummaryStore, HealthSummaryStore } from \"../stores\"\nimport { Observable } from 'rxjs'\nimport Axios from \"axios-observable\";\nimport {snackService} from \"../../common/snack/state\";\n\nexport class HealthSummaryAllergiesService {\n public mapKey = 'ALLERGIES'\n\n constructor(private healthSummaryStore: HealthSummaryStore) {\n }\n\n /**\n * Returns patients health summary model\n */\n public get(patientId?: number): void {\n const method = patientId ? allergiesService.get(patientId) : patientAllergiesService.get()\n\n method.subscribe((allergies) => {\n const allergiesData = allergies.map(x => ({ \n key: `${this.mapKey}-${x.id}`, \n name: x.name, \n value: x.reaction}\n ))\n\n this.healthSummaryStore.sectionLoaded()\n this.healthSummaryStore.clearSection(this.mapKey)\n this.healthSummaryStore.setData(allergiesData) \n });\n }\n\n /**\n * Returns patients health summary model\n */\n public create(patientId: number, model: HealthSummaryDataModel): Observable {\n const payload = {name: model.name, reaction: model.value} as PatientAllergyModel\n\n return allergiesService.create(payload, patientId)\n }\n\n /**\n * Returns patients health summary model\n */\n public update(patientId: number, model: HealthSummaryDataModel): Observable {\n const id = +model.key.replace(`${this.mapKey}-`, '')\n\n const payload = {\n id: id,\n name: model.name, \n reaction: model.value\n } as PatientAllergyModel\n\n return allergiesService.edit(payload)\n }\n\n public delete(key: string): void{\n const id = +key.replace(`${this.mapKey}-`, '')\n \n allergiesService.delete(id).subscribe(() => {\n this.healthSummaryStore.delete(key)\n })\n }\n}\n\nexport const healthSummaryAllergiesService = new HealthSummaryAllergiesService(healthSummaryStore)","import {HealthSummaryDataModel, HealthSummaryMapModel} from '../models/healthSummary.models'\nimport {healthSummaryMedicationsService} from './healthSummaryMedications.service'\nimport {healthSummarySupplementsService} from './healthSummarySupplements.service'\nimport {healthSummaryAllergiesService} from './healthSummaryAllergies.service'\nimport {healthSummaryVitalsService} from './healthSummaryVitals.service'\nimport {healthSummaryStore, HealthSummaryStore} from '../stores'\nimport {authHeader} from '../../common/helpers/auth-header'\nimport {snackService} from '../../common/snack/state'\nimport Axios from 'axios-observable'\nimport {Observable} from 'rxjs'\nimport {isFeatureFlag} from \"../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../common/components/featureFlags/featureFlags.models\";\nimport {healthSummaryRxntAllergiesService} from \"./HealthSummaryRxntAllergiesService\";\nimport {healthSummaryRxntMedicationsService} from \"./healthSummaryRxntMedicationsService\";\n\nexport class HealthSummaryService {\n private url = `${process.env.REACT_APP_API_URL}HealthSummary`\n\n constructor(private healthSummaryStore: HealthSummaryStore) {\n }\n\n public getJsonDataService(mapKey: string, flags) {\n switch(mapKey) {\n case healthSummaryAllergiesService.mapKey:\n return isFeatureFlag(flags, FeatureFlag.RxntIntegration)\n ? healthSummaryRxntAllergiesService\n : healthSummaryAllergiesService;\n case healthSummaryMedicationsService.mapKey:\n return isFeatureFlag(flags, FeatureFlag.RxntIntegration)\n ? healthSummaryRxntMedicationsService\n : healthSummaryMedicationsService;\n case healthSummarySupplementsService.mapKey: return healthSummarySupplementsService;\n case healthSummaryVitalsService.mapKey: return healthSummaryVitalsService;\n default: return null;\n }\n }\n\n /**\n * Returns patients health summary model\n */\n public getData(patientId?: number): Observable {\n const url = this.url + (patientId ? `/?patientId=${patientId}` : '')\n\n const config = { headers: authHeader() }\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n response => {\n this.healthSummaryStore.setData(response.data)\n observer.next(response.data)\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error)\n observer.complete()\n }\n )\n })\n }\n\n public getMapData(patientId: number, map: HealthSummaryMapModel, flags) {\n if(map.useJsonData){\n this.getJsonDataService(map.key, flags).get(patientId)\n }\n }\n\n /**\n * Returns patients health summary model\n */\n public create(patientId: number, map: HealthSummaryMapModel, model: HealthSummaryDataModel, flags): Observable {\n if(map.useJsonData){\n return this.getJsonDataService(map.key, flags).create(patientId, model)\n }\n\n model.patientId = patientId\n\n const config = { headers: authHeader() }\n\n return new Observable(observer => {\n Axios.post(`${this.url}`, model, config).pipe()\n .pipe()\n .subscribe(\n response => {\n this.healthSummaryStore.add(response.data, true)\n snackService.success(\"The element is successfully created.\")\n observer.next(response.data)\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error)\n observer.complete()\n }\n )\n })\n }\n\n /**\n * Returns patients health summary model\n */\n public update(patientId: number, map: HealthSummaryMapModel, model: HealthSummaryDataModel, flags): Observable {\n if(map.useJsonData){\n return this.getJsonDataService(map.key, flags).update(patientId, model)\n }\n\n model.patientId = patientId\n\n const config = { headers: authHeader() }\n return new Observable(observer => {\n Axios.put(`${this.url}`, model, config).pipe()\n .pipe()\n .subscribe(\n response => {\n this.healthSummaryStore.edit(response.data, true)\n snackService.success(\"The element is successfully updated.\")\n observer.next(response.data)\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error)\n observer.complete()\n }\n )\n })\n }\n\n /**\n * Returns patients health summary model\n */\n public batchUpdate(values: HealthSummaryDataModel[]): Observable {\n const url = this.url + '/batch'\n\n const config = { headers: authHeader() }\n return new Observable(observer => {\n Axios.post(url, values, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success(\"Changes are saved.\")\n observer.next(response.data)\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error)\n observer.complete()\n }\n )\n })\n }\n\n /**\n * Returns patients health summary model\n */\n public delete(patientId: number, map: HealthSummaryMapModel, itemKey: string, flags) {\n if(map.useJsonData){\n this.getJsonDataService(map.key, flags).delete(itemKey)\n return\n }\n\n const config = { headers: authHeader() }\n return Axios.delete(`${this.url}?patientId=${patientId}&key=${itemKey}`, config).pipe()\n .subscribe(\n response => {\n this.healthSummaryStore.delete(itemKey)\n snackService.success(\"The element is successfully deleted.\")\n },\n error => {\n snackService.commonErrorHandler(error)\n }\n )\n }\n\n /**\n * Returns health summary map\n */\n public getMap() {\n const url = `${this.url}/map`\n \n const config = { headers: authHeader() }\n\n return Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.healthSummaryStore.update({map: response.data})\n },\n error => {\n snackService.commonErrorHandler(error)\n\n }\n )\n }\n}\n\nexport const healthSummaryService = new HealthSummaryService(healthSummaryStore)","import {authQuery} from \"../../auth/stores/auth\";\nimport {defaultDosage} from \"../constants/medicationsAndSupplementsContants\";\n\nexport enum SupplementSource {\n Supplement = 0,\n Intake = 1,\n Notes = 2,\n Fullscript = 3\n}\n\nexport interface PatientSupplementModel {\n id: number;\n name: string;\n dosage: string;\n source: SupplementSource;\n instructions: string;\n purchaseLink: string;\n orderedAt: Date | null;\n createdAt: Date | null;\n}\n\nexport const newPatientSupplementModel = (source: SupplementSource) : PatientSupplementModel => ({\n id: 0,\n name: '',\n dosage: '',\n source: source,\n instructions: authQuery.isEmployeeUser() ? defaultDosage : '',\n purchaseLink: '',\n orderedAt: null,\n createdAt: null\n})\n\nexport const supplementSources = new Map([\n [SupplementSource.Supplement, 'Supplement'],\n [SupplementSource.Intake, 'Intake'],\n [SupplementSource.Notes, 'Notes'],\n [SupplementSource.Fullscript, 'Fullscript']\n]);","import moment from 'moment'\nimport {AppointmentTypeModel} from \"../models/appointments.models\";\nimport {AppointmentWithType} from \"../models/appointments.enums\";\n\nexport const getAvailableWithTypes = (types: AppointmentTypeModel[]) => {\n const withTypes = types.map(x => x.configurations.map(t => t.withType)).flat();\n return withTypes.filter((v, i, a) => a.indexOf(v) === i);\n}\n\nexport const getAppointmentTypesByWithType = (types: AppointmentTypeModel[], withType: AppointmentWithType) => {\n return types.filter(x => x.configurations.some(t => t.withType === withType));\n}\n\nexport const getAvailabilityStartDate = (): Date => {\n const startDate = new Date();\n startDate.setHours(0,0,0,0);\n return startDate;\n}\n\nexport const getAvailabilityEndDate = (): Date => {\n return moment(new Date()).add(6, 'months').add(-3, 'day').toDate()\n}\n\nexport const getAvailableAppointmentType = (appointmentTypes: AppointmentTypeModel[], withType: AppointmentWithType) => {\n const type = appointmentTypes\n ?.find(x => x.configurations.some(t => t.withType === withType) && x.isScheduleAvailable);\n\n if (!type) {\n return null;\n }\n\n return type;\n}\n\nexport const getTargetAppointmentType = (appointmentTypes: AppointmentTypeModel[], withType: AppointmentWithType) => {\n const type = appointmentTypes\n ?.find(x => x.configurations.some(t => t.withType === withType) && x.isScheduleAvailable);\n\n if (!type) {\n return null;\n }\n\n return type;\n}\n\nexport const getAppointmentMinDate = (bufferInDays: number = 1) => {\n const currDate = new Date();\n return new Date(\n currDate.getFullYear(),\n currDate.getMonth(),\n currDate.getDate() + bufferInDays,\n currDate.getHours(),\n currDate.getMinutes(),\n currDate.getSeconds());\n}","import { Store, StoreConfig } from '@datorama/akita';\nimport moment from \"moment\";\nimport { TimeZoneModel } from \"../../models/timezone.model\";\nimport \"moment-timezone\";\n\nexport interface TimezonesState {\n browserTimezone: TimeZoneModel;\n timezones: TimeZoneModel[];\n myTimezone: TimeZoneModel;\n}\n\n/**\n * Creates initial timezones state\n */\nexport function createInitialState(): TimezonesState {\n return {\n browserTimezone: {\n id: moment.tz.guess().toString(),\n olsonId: moment.tz.guess().toString(),\n displayName: moment.tz.guess().toString(),\n standardName: moment.tz.guess().toString(),\n daylightName: moment.tz.guess().toString(),\n baseUtcOffset: {\n totalHours: moment().utcOffset() / 60,\n totalMinutes: moment().utcOffset(),\n }\n },\n timezones: [],\n myTimezone: null\n };\n}\n\n/**\n * Provides timezones state management\n */\n@StoreConfig({ name: 'timezones', resettable: true })\nexport class TimezonesStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setTimezones(timezones: TimeZoneModel[]): void {\n this.update({timezones: timezones});\n }\n}\n\nexport const timezonesStore = new TimezonesStore();","import { Query } from '@datorama/akita';\nimport {\n TimezonesState, TimezonesStore,\n timezonesStore\n} from './timezones.store';\nimport {TimeZoneModel} from \"../../models/timezone.model\";\n\n/**\n * Provides method for working with timezones store\n */\nexport class TimezonesQuery extends Query {\n timezones$ = this.select(state => state.timezones);\n myTimezone$ = this.select(state => state.myTimezone);\n\n constructor(protected store: TimezonesStore) {\n super(store);\n }\n\n /**\n * Returns timezones\n */\n public getTimezones(): TimeZoneModel[] {\n return this.getValue().timezones;\n }\n\n public getMyTimezone(): TimeZoneModel {\n const browserTimezone = this.getValue().browserTimezone;\n const myTimezone = this.getValue().myTimezone;\n return myTimezone ?? browserTimezone;\n }\n}\n\nexport const timezonesQuery = new TimezonesQuery(timezonesStore);","import React from 'react';\nimport { Practice } from '../../auth/models/auth.enums';\nimport { authQuery } from '../../auth/stores/auth';\n\nexport interface OptionalComponentProps {\n children: JSX.Element;\n defaultContent?: JSX.Element;\n practiceId?: Practice;\n}\n\nexport const OptionalComponent: React.FC = (props: OptionalComponentProps) => {\n const {\n children,\n defaultContent = <>,\n practiceId = 0,\n } = props;\n\n const canShow = practiceId === 0 ? authQuery.isDefaultPractice() : authQuery.getCurrentPracticeId() === Number(practiceId);\n\n return (canShow ? children : defaultContent);\n};\n","import Axios from 'axios-observable';\nimport { snackService } from \"../../common/snack/state\";\nimport { API_URL } from \"../../../config\";\nimport { subscriptionStore, SubscriptionStore } from \"../stores/subscriptionStore\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport {\n ActivateSubscriptionModel,\n BuyNewSubscriptionModel,\n CancelSubscriptionModel,\n SubscriptionModel,\n PauseSubscriptionModel,\n ManualPaymentModel,\n CreateManualPaymentModel\n} from '../models/subscription.models';\nimport { Observable } from 'rxjs';\n\n/**\n * Provides method for working with subscriptions\n */\nexport class SubscriptionService {\n private url = `${API_URL}Subscription`;\n private manualPaymentUrl = `${API_URL}ManualPayments`;\n\n constructor(private subscriptionStore: SubscriptionStore) {\n }\n\n /**\n * Returns active subscription\n */\n public getCurrent(): void {\n const config = {\n headers: authHeader()\n };\n Axios.get(`${this.url}/Current/My`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.subscriptionStore.update({ activeSubscription: response.data });\n }\n );\n }\n\n /**\n * Returns patient current subscription\n */\n public getPatientCurrent(patientId: number): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios\n .get(`${this.url}/Current?patientId=${patientId}`, config)\n .pipe()\n .subscribe(\n response => {\n this.subscriptionStore.update({ activeSubscription: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error()\n observer.complete()\n }\n );\n });\n }\n\n /**\n * Returns all my subscriptions\n */\n public getMy() {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => Axios\n .get(`${this.url}/My`, config)\n .pipe()\n .subscribe(\n response => {\n this.subscriptionStore.update({ mySubscriptions: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Returns all patient subscriptions\n */\n public get(patientId: number): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios\n .get(`${this.url}?patientId=${patientId}`, config)\n .pipe()\n .subscribe(\n response => {\n this.subscriptionStore.update({ patientSubscriptions: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error()\n observer.complete()\n }\n );\n });\n }\n\n /**\n * Replace current with a paid payment plan\n */\n public Replace(model: BuyNewSubscriptionModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.url}/Replace`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Cancel current plan\n */\n public Cancel(model: CancelSubscriptionModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.url}/Cancel`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Activate subscription\n */\n public Activate(model: ActivateSubscriptionModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.url}/Activate`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n subscriptionStore.addPatientSubscription(response.data);\n snackService.success('Membership was successfully activated.')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public pausePlan(model: PauseSubscriptionModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.url}/Pause`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n subscriptionStore.updatePatientSubscription(response.data);\n snackService.success('The plan was suspended!')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public reactivePlan(subscriptionId: number): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.url}/${subscriptionId}/Resume`, {}, config)\n .pipe()\n .subscribe(\n (response) => {\n subscriptionStore.updatePatientSubscription(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getManualPayment(manualPaymentId: number): Observable {\n let url = `${this.manualPaymentUrl}/${manualPaymentId}`;\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n subscriptionStore.update({ manualPayment: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public addPremiumBilling(payload: CreateManualPaymentModel): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.manualPaymentUrl}`, payload, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const subscriptionService = new SubscriptionService(subscriptionStore);","import Axios from 'axios-observable';\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {LocationsStore, locationsStore} from '../stores';\nimport {CreateLocationModel, LocationModel, UpdateLocationModel} from \"../models/locations.models\";\nimport {Observable, Subject} from \"rxjs\";\nimport {CallbackModel} from \"../../common/models/callback.model\";\n\nexport class LocationsService {\n private url = `${process.env.REACT_APP_API_URL}Locations`;\n\n constructor(private locationsStore: LocationsStore) {\n }\n\n public locationOnCreate = new Subject>();\n public locationOnUpdate = new Subject>();\n\n public createLocation(): Observable {\n return new Observable(observer => {\n this.locationOnCreate.next({\n data: null,\n callback: (result: CreateLocationModel) => {\n if (result) {\n observer.next(result);\n }\n observer.complete();\n }\n });\n });\n }\n\n public updateLocation(location: LocationModel): Observable {\n return new Observable(observer => {\n this.locationOnUpdate.next({\n data: location,\n callback: (result: UpdateLocationModel) => {\n if (result) {\n observer.next(result);\n }\n observer.complete();\n }\n });\n });\n }\n\n public getAvailable(practiceId: number): Observable {\n const config = {headers: authHeader()};\n\n return new Observable(observer => {\n Axios.get(`${this.url}?practiceId=${practiceId}`, config).pipe()\n .subscribe(\n response => {\n this.locationsStore.update({availableLocations: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public create(model: CreateLocationModel): Observable {\n const config = {headers: authHeader()};\n\n return new Observable(observer => {\n Axios.post(this.url, model, config).pipe()\n .subscribe(\n response => {\n this.locationsStore.add(response.data);\n snackService.success('Pod was successfully created!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public update(model: UpdateLocationModel): Observable {\n const config = {headers: authHeader()};\n\n return new Observable(observer => {\n Axios.put(this.url, model, config).pipe()\n .subscribe(\n response => {\n this.locationsStore.edit(response.data);\n snackService.success('Pod was successfully updated!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const locationsService = new LocationsService(locationsStore);\n","const getId = () => Math.floor(Math.random() * 10000)\n\nexport const getKey = (key: string): string => key.split('-')[0]\n\nexport const buildKey = (sectionKey: string, subSection: string = null): string => \n subSection\n ? `${sectionKey}-${subSection}-${getId()}`\n : `${sectionKey}-${getId()}`\n\n\nexport const onlyUnique = (val, i, self) => self.indexOf(val) === i","import { Store, StoreConfig } from '@datorama/akita';\nimport { ConversationAuthorModel, ConversationModelBaseView, ConversationType, PatientConversationModel } from \"../../models/conversation.models\";\n\n/**\n * Represents Patient Conversations state\n */\nexport interface PatientConversationsState {\n supportConversations: PatientConversationModel[];\n targetInternalConversation: ConversationModelBaseView[];\n heathCareConversation: PatientConversationModel;\n author: ConversationAuthorModel;\n targetConversation: PatientConversationModel;\n targetHealthcareConversation: ConversationModelBaseView[];\n targetStaffConversation: ConversationModelBaseView[];\n orphanedProxies: any[];\n isLoading: boolean;\n isSendForwardMessage: boolean;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): PatientConversationsState {\n return {\n supportConversations: [],\n heathCareConversation: null,\n targetInternalConversation: null,\n author: null,\n targetConversation: null,\n targetHealthcareConversation: null,\n targetStaffConversation: null,\n orphanedProxies: [],\n isLoading: true,\n isSendForwardMessage: true\n };\n}\n\n/**\n * Provides Patient Conversations states management\n */\n@StoreConfig({ name: 'patientConversations', resettable: true })\nexport class PatientConversationsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public addSupportConversation(conversation: PatientConversationModel) {\n this.update({\n supportConversations: [...this.getValue().supportConversations, conversation]\n });\n }\n\n public setTargetConversation(conversation: PatientConversationModel) {\n this.update({ targetConversation: conversation });\n }\n\n public updateSupportConversation(conversation: PatientConversationModel): void {\n const state = this.getValue();\n const conversations = state.supportConversations.map(i => i.id === conversation.id ? conversation : i);\n const targetConversation = conversation.id === state.targetConversation?.id ? conversation : state.targetConversation;\n this.update({ supportConversations: conversations, targetConversation: targetConversation });\n }\n\n public resetConversations(): void {\n this.update({\n supportConversations: [],\n heathCareConversation: null,\n targetConversation: null,\n });\n }\n\n public addOrphanedProxy(proxy: any): void {\n const orphanedProxies = this.getValue().orphanedProxies;\n\n this.update({ orphanedProxies: [proxy, ...orphanedProxies] });\n\n const supportConversations = this.getValue().supportConversations;\n const healthCareConversation = this.getValue().heathCareConversation;\n const matchedSupportConversation = supportConversations.find(c => c && c.vendorExternalId === proxy.sid);\n\n if (matchedSupportConversation) {\n matchedSupportConversation.proxy = proxy;\n\n this.updateSupportConversation(matchedSupportConversation);\n }\n if (healthCareConversation && healthCareConversation.vendorExternalId === proxy.sid) {\n healthCareConversation.proxy = proxy;\n this.update({ heathCareConversation: healthCareConversation });\n }\n }\n\n public setHealthCareConversation(conversation: PatientConversationModel): void {\n this.update({heathCareConversation: conversation});\n }\n\n public setSupportConversations(conversations: PatientConversationModel[]): void {\n this.update({supportConversations: conversations});\n }\n\n public setConversationsJoined(conversationsJoined: PatientConversationModel[]): void {\n const state = this.getValue();\n\n const healthCareConversation = conversationsJoined.filter(i => i.type === ConversationType.HealthCare)[0] ?? state.heathCareConversation;\n const supportConversations = state.supportConversations.map(i => conversationsJoined.find(a => a.id === i.id) ?? i);\n\n this.update({heathCareConversation: healthCareConversation, supportConversations: supportConversations})\n }\n\n public setIsLoading(isLoading: boolean): void {\n this.update({isLoading: isLoading});\n }\n\n public updateConversation(conversation: PatientConversationModel): void {\n if(conversation.type === ConversationType.HealthCare) {\n this.setHealthCareConversation(conversation);\n } else {\n this.updateSupportConversation(conversation);\n }\n }\n\n public updateSendMessageStatus() {\n this.update({ isSendForwardMessage: !this.getValue().isSendForwardMessage });\n }\n}\n\nexport const patientConversationsStore = new PatientConversationsStore();","import { Store, StoreConfig } from '@datorama/akita';\nimport { LocationModel } from '../models/locations.models';\n\nexport interface LocationsState {\n availableLocations: LocationModel[];\n}\n\n/**\n * Creates initial location state\n */\nexport function createInitialState(): LocationsState {\n return {\n availableLocations: []\n };\n}\n\n/**\n * Provides location state management\n */\n@StoreConfig({name: 'locations', resettable: true })\nexport class LocationsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public add(location: LocationModel): void {\n this.update({availableLocations: [...this.getValue().availableLocations, location]});\n }\n\n public edit(location: LocationModel): void {\n if (!this.getValue().availableLocations.some(x => x.id === location.id)) {\n return this.add(location);\n }\n\n this.update({\n availableLocations: this.getValue().availableLocations.map(x => x.id === location.id ? location : x)\n });\n }\n}\n\nexport const locationsStore = new LocationsStore();\n","import { LocationModel } from '../models/locations.models';\nimport { LocationsState, LocationsStore, locationsStore } from './locations.store';\nimport { Query } from '@datorama/akita';\n\n/**\n * Provides method for working with locations store\n */\nexport class LocationsQuery extends Query {\n availableLocations$ = this.select(state => state.availableLocations);\n\n constructor(protected store: LocationsStore) {\n super(store);\n }\n\n /**\n * Returns locations\n */\n public getToken(): Array {\n return this.getValue().availableLocations;\n }\n}\n\nexport const locationsQuery = new LocationsQuery(locationsStore);","interface ObjectWithName {\n firstName?: string;\n lastName?: string;\n title?: string;\n}\n\nexport function fullName(obj: ObjectWithName) {\n if (!obj) return \"\";\n const { firstName, lastName } = obj;\n if (!firstName && !lastName) return \"\";\n return [firstName || \"\", lastName || \"\"].join(\" \").trim();\n}","import Axios from 'axios-observable';\nimport {\n patientSupplementsStore,\n PatientSupplementsStore\n} from \"../stores/patientSupplementsStore/patientSupplements.store\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {snackService} from \"../../common/snack/state\";\nimport {PatientSupplementModel, SupplementSource} from '../models/patientSupplementModel';\nimport {Observable} from 'rxjs';\n\n/**\n * Provides method for working with patient supplements\n */\nexport class PatientsSupplementsService {\n constructor(private patientSupplementsStore: PatientSupplementsStore) {\n }\n\n public get(): Observable {\n const url = `${process.env.REACT_APP_API_URL}PatientSupplements`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.patientSupplementsStore.update({patientSupplements: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public create(model: PatientSupplementModel): Observable {\n const url = `${process.env.REACT_APP_API_URL}PatientSupplements`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.post(url, model, config)\n .pipe()\n .subscribe(\n (response) => {\n snackService.success('New Supplement Added!');\n patientSupplementsStore.create(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public edit(model: PatientSupplementModel): Observable {\n const url = `${process.env.REACT_APP_API_URL}PatientSupplements`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.put(url, model, config)\n .pipe()\n .subscribe(\n (response) => {\n snackService.success('Changes Saved!');\n patientSupplementsStore.edit(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n public delete(id: number): Observable {\n const url = `${process.env.REACT_APP_API_URL}PatientSupplements/${id}`;\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.delete(url, config)\n .pipe()\n .subscribe(\n (response) => {\n snackService.deleteSuccess('Supplement Was Deleted!');\n patientSupplementsStore.delete(response.data.id)\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const patientsSupplementsService = new PatientsSupplementsService(patientSupplementsStore);\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { AlertsHistoryModel, AlertsModel } from '../../models/alerts.models';\nimport { NotificationModel } from '../../models/notifications.models';\n\nexport interface NotificationsState {\n notifications: NotificationModel[];\n alerts: AlertsModel[];\n alertsHistory: AlertsHistoryModel[];\n alertsHistoryTotalCount: number;\n}\n\n/**\n * Creates initial notifications state\n */\nexport function createInitialState(): NotificationsState {\n return {\n notifications: [],\n alerts: [],\n alertsHistory: [],\n alertsHistoryTotalCount: 0,\n };\n}\n\n/**\n * Provides notifications state management\n */\n@StoreConfig({name: 'notifications', resettable: true })\nexport class NotificationsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public append(newNotifications: NotificationModel[]): void {\n const existingNotifications = this.getValue().notifications;\n const allNotifications = [\n ...existingNotifications,\n ...newNotifications.filter(x => !existingNotifications.find(t => t.id === x.id))\n ];\n\n this.update({\n notifications: allNotifications\n });\n }\n\n public deleteNotification(id: number) {\n const notifications = this.getValue().notifications.filter(x => x.id !== id);\n this.update({notifications: notifications});\n }\n\n public deleteAlert(id: number) {\n const alerts = this.getValue().alerts.filter(x => x.id !== id);\n this.update({alerts: alerts});\n }\n\n public deleteNotifications(notifications: NotificationModel[]) {\n const notificationIds = notifications.map(x => x.id);\n\n this.update({\n notifications: this.getValue().notifications.filter(x => !notificationIds.includes(x.id))\n });\n }\n}\n\nexport const notificationsStore = new NotificationsStore();\n","import {NotificationModel, NotificationType} from '../../models/notifications.models';\nimport { NotificationsState, NotificationsStore, notificationsStore } from './notifications.store';\nimport { Query } from '@datorama/akita';\nimport {handleCompare} from \"../../../common/sorting/helpers/handle-compare\";\nimport {SortingDirection} from \"../../../common/sorting/models/sorting-destination\";\n\n/**\n * Provides method for working with notifications store\n */\nexport class NotificationsQuery extends Query {\n notifications$ = this.select(state => state.notifications);\n alerts$ = this.select(state => state.alerts);\n alertsHistory$ = this.select(state => state.alertsHistory);\n alertsHistoryTotalCount$ = this.select(state => state.alertsHistoryTotalCount);\n\n constructor(protected store: NotificationsStore) {\n super(store);\n }\n\n public getNotificationsByType(type: NotificationType): NotificationModel[] {\n return this.getValue().notifications.filter(x => x.type === type);\n }\n\n public getNotificationsByTypes(types: NotificationType[]): NotificationModel[] {\n return this.getValue().notifications.filter(x => types.includes(x.type));\n }\n\n public getLastNotification(): NotificationModel {\n const notifications = this.getValue().notifications.sort((a, b) => handleCompare(a, b, SortingDirection.Desc, 'id'));\n return notifications[0] ?? null;\n }\n}\n\nexport const notificationsQuery = new NotificationsQuery(notificationsStore);\n","import { ApplicationInsights } from '@microsoft/applicationinsights-web';\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js';\nimport { createBrowserHistory } from 'history';\nimport { APPINSIGHTS_INSTRUMENTATIONKEY } from \"./app/config\";\n\nconst browserHistory = createBrowserHistory({ basename: '' });\nconst reactPlugin = new ReactPlugin();\nconst appInsights = new ApplicationInsights({\n config: {\n instrumentationKey: APPINSIGHTS_INSTRUMENTATIONKEY,\n extensions: [reactPlugin],\n extensionConfig: {\n [reactPlugin.identifier]: { history: browserHistory }\n }\n }\n});\n\nappInsights.loadAppInsights();\n\nexport { reactPlugin, appInsights };","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important'\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: 0,\n paddingRight: 0,\n paddingBottom: 0,\n },\n },\n dialogActions: {\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40\n },\n actionSection: {\n borderTop: \"1px solid\",\n borderTopColor: \"#3C3C435C\",\n },\n acceptBtn: {\n textAlign: \"center\",\n borderLeft: \"1px solid\",\n borderLeftColor: \"#3C3C435C\",\n }\n })\n);\n","import { Box, Dialog, DialogActions, DialogContent, DialogContentText, useMediaQuery, useTheme, Button } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { DialogTitle } from '../../../common/components/dialogTitle/DialogTitle';\nimport { WildHealthButton } from '../../components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../styles/common.styles';\nimport { useFacade } from \"./confirmDialog.hooks\";\nimport { useStyles } from \"./ConfirmDialog.styles\";\nimport { isIOS } from \"react-device-detect\";\n\nexport const CommonConfirmDialog: React.FC = () => {\n const [state, handleAnswer] = useFacade();\n\n const handleKeyPress = (event) => {\n if (event.key === 'Enter') {\n handleAnswer(true);\n }\n }\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n handleKeyPress(e)}>\n handleAnswer(false)}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n {!fullScreen && (\n handleAnswer(false)}\n classes={{ root: classes.dialogTitle }}\n >\n {state.title}\n \n )}\n\n \n {\n fullScreen ? (\n <>\n \n \n \n {state.title}\n \n \n \n \n {state.message}\n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n {state.message}\n \n )\n }\n \n {!fullScreen && (\n \n handleAnswer(false)}>\n {state.cancelTitle}\n \n handleAnswer(true)}>\n {state.acceptTitle}\n \n \n )}\n \n \n );\n}\n","import {useState} from 'react';\nimport {confirmService} from \"../../../../services/confirm.service\";\n\nexport interface ConfirmDialogState {\n isOpen: boolean;\n title: string;\n message: string;\n acceptTitle: string,\n cancelTitle: string,\n variant: 'default' | 'danger',\n handleAnswer: Function;\n}\n\nexport function useFacade(): [ConfirmDialogState, Function]{\n\n const [state, setState] = useState({\n isOpen: false,\n title: null,\n message: null,\n acceptTitle: 'Yes',\n cancelTitle: 'Cancel',\n variant: 'default'\n } as ConfirmDialogState);\n\n const handleAnswer = (result: boolean) => {\n setState({...state, isOpen: false, title: null, message: null, acceptTitle: 'Yes', cancelTitle: 'Cancel', variant: 'default'});\n state.handleAnswer(result);\n setState({...state, isOpen: false, title: null, message: null, acceptTitle: 'Yes', cancelTitle: 'Cancel', variant: 'default'});\n }\n\n confirmService.onQuestion.subscribe((question) => {\n setState({...state, \n isOpen: true, \n title: question?.data?.title,\n message: question.data.message,\n acceptTitle: question?.data?.acceptTitle ?? state.acceptTitle,\n cancelTitle: question?.data?.cancelTitle ?? state.cancelTitle,\n variant: question?.data?.variant ?? state.variant,\n handleAnswer: question.callback});\n })\n\n return [state, handleAnswer];\n}","import {GeneralValidator} from \"../../validation/general-validator\";\nimport { maxLengthValidationRule, requiredValidationRule, notWhitespaceValidationRule } from \"../../validation/general-validation-rules\";\n\nexport const confirmWithReasonDialogValidator = new GeneralValidator({\n 'reason': [notWhitespaceValidationRule(), requiredValidationRule(), maxLengthValidationRule(500)],\n});","import { ChangeEvent, useState } from 'react';\nimport { confirmService } from '../../../../services/confirm.service';\nimport { IErrorState } from '../../validation/error-state';\nimport { confirmWithReasonDialogValidator } from './confirmWithReasonDialog.validator';\n\nexport interface ConfirmWithReasonDialogState extends IErrorState {\n isOpen: boolean;\n title: string;\n message: string;\n placeholder: string;\n acceptTitle: string;\n reason: string;\n handleAnswer: Function;\n}\n\nconst defaultState = {\n isOpen: false,\n title: '',\n message: '',\n placeholder: '',\n acceptTitle: 'Submit',\n reason: '',\n errors: {},\n} as ConfirmWithReasonDialogState\n\nexport function useFacade(): [\n ConfirmWithReasonDialogState,\n (event: ChangeEvent) => void,\n () => void,\n () => void,\n]{\n const [state, setState] = useState(Object.assign({}, defaultState));\n\n const handleReasonChange = (event: ChangeEvent) => {\n const value = event.currentTarget.value;\n confirmWithReasonDialogValidator.validateAndSetState(state, setState, 'reason', value);\n setState(state => ({...state, reason: value}));\n }\n\n const handleCancel = () => {\n handleAnswer(false);\n }\n\n const handleConfirm = () => {\n confirmWithReasonDialogValidator.validateAndSetState(state, setState, 'reason', state.reason);\n\n if (confirmWithReasonDialogValidator.stateIsValid(state)) {\n handleAnswer(true);\n }\n }\n\n const handleAnswer = (result: boolean) => {\n setState(state => ({...defaultState, reason: '', errors: {}}));\n state.handleAnswer(result, state.reason);\n }\n\n confirmService.onQuestionWithReason.subscribe((question) => {\n setState(state => ({...state, isOpen: true, title: question.data.title, message: question.data.message, acceptTitle: question.data.acceptTitle ?? state.acceptTitle, reason: question.data.reason, handleAnswer: question.callback}));\n })\n\n return [state, handleReasonChange, handleCancel, handleConfirm];\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important'\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: 10,\n paddingRight: 10,\n paddingBottom: 10,\n },\n },\n dialogActions: {\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40\n },\n })\n);\n","import { Box, Dialog, DialogActions, DialogContent, DialogContentText, TextField } from '@material-ui/core';\nimport React from 'react';\nimport { DialogTitle } from '../../components/dialogTitle/DialogTitle';\nimport { WildHealthButton } from '../../components/wildHealthButton/WildHealthButton';\nimport { useFacade } from \"./confirmWithReasonDialog.hooks\";\nimport { useStyles } from \"./confirmWithReasonDialog.styles\";\n\nexport const CommonConfirmWithReasonDialog : React.FC = () => {\n const [\n {\n isOpen,\n title,\n message,\n placeholder,\n acceptTitle,\n reason,\n errors,\n },\n handleReasonChange,\n handleCancel,\n handleConfirm,\n ] = useFacade();\n const classes = useStyles();\n\n const handleKeyPress = (event) => {\n if (event.key === 'Enter') {\n handleConfirm();\n }\n }\n\n return (\n handleKeyPress(e)}>\n handleCancel()}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n handleCancel()} classes={{ root: classes.dialogTitle }}>{title}\n\n \n \n {message}\n \n \n \n \n \n\n \n \n handleCancel()}>\n Cancel\n \n \n \n handleConfirm()}>\n {acceptTitle}\n \n \n \n \n \n );\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '10px 10px 0 0',\n margin: 0,\n marginTop: 'auto'\n },\n },\n },\n dialogCloseButton: {\n [theme.breakpoints.down(\"sm\")]: {\n position: 'absolute',\n top: 0,\n right: 0,\n },\n },\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important',\n paddingBottom: '0 !important',\n },\n dialogActions: {\n display: 'flex',\n justifyContent: 'center',\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(2.5),\n [theme.breakpoints.down(\"xs\")]: {\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: 'center',\n justifyContent: 'center',\n padding: '0 50px 20px',\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginLeft: 0,\n },\n },\n title: {\n fontSize: 24,\n fontWeight: 500,\n }\n })\n);\n","import { Box, Dialog, DialogActions, DialogContent, IconButton, Typography, useMediaQuery, useTheme } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from '../../components/wildHealthButton/WildHealthButton';\nimport { useFacade } from \"./infoDialog.hooks\";\nimport { useStyles } from \"./InfoDialog.styles\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport Cancel from \"@img/icons/cancel.svg\";\n\nexport const CommonInfoDialog: React.FC = () => {\n const [state, handleClose] = useFacade();\n\n const handleKeyPress = (event) => {\n if (event.key === 'Enter') {\n handleClose(true);\n }\n }\n\n const classes = useStyles();\n\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n handleKeyPress(e)}>\n handleClose(false)}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n className={classes.dialog}\n >\n {!fullScreen && (\n \n \n {\n handleClose(false)\n }}>\n Cancel\n \n \n\n \n )}\n\n \n {fullScreen && {\n handleClose(false)\n }}\n className={classes.dialogCloseButton}\n >\n Cancel\n }\n {state.image && }\n {state.title}\n \n {state.message}\n \n \n\n \n {state.acceptTitle && handleClose(true)} fullWidth={fullScreen}>\n {state.acceptTitle}\n }\n \n \n \n );\n}\n","import {useState} from 'react';\nimport {confirmService} from \"../../../../services/confirm.service\";\n\nexport interface ConfirmDialogState {\n isOpen: boolean;\n title: string;\n message: string;\n image: string;\n acceptTitle: string,\n variant: 'default' | 'danger',\n handleAnswer: Function;\n}\n\nexport function useFacade(): [ConfirmDialogState, Function]{\n\n const [state, setState] = useState({\n isOpen: false,\n title: null,\n message: null,\n image: '',\n acceptTitle: '',\n variant: 'default'\n } as ConfirmDialogState);\n\n const handleClose = (result: boolean) => {\n setState({...state, isOpen: false, title: null, message: null, image: '', acceptTitle: '', variant: 'default'});\n state.handleAnswer(result);\n setState({...state, isOpen: false, title: null, message: null, image: '', acceptTitle: '', variant: 'default'});\n }\n\n confirmService.onQuestionInfo.subscribe((question) => {\n setState({...state, \n isOpen: true, \n title: question?.data?.title,\n message: question.data.message,\n image: question?.data?.image,\n acceptTitle: question?.data?.acceptTitle ?? state.acceptTitle,\n variant: question?.data?.variant ?? state.variant,\n handleAnswer: question.callback});\n })\n\n return [state, handleClose];\n}","import React from 'react';\r\nimport {Snackbar, useTheme, useMediaQuery} from '@material-ui/core';\r\nimport MuiAlert from '@material-ui/lab/Alert';\r\nimport {useFacade, SnackType} from './state';\r\nimport clsx from 'clsx';\r\n\r\nexport const CommonSnack: React.FC = () => {\r\n const [{isOpen, type, messages, duration, vertical, horizontal}] = useFacade();\r\n\r\n const theme = useTheme();\r\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\r\n\r\n return (\r\n \r\n \r\n
    \r\n {\r\n messages.map((message, idx) => {\r\n return
  • {message}
  • \r\n })\r\n }\r\n
\r\n
\r\n
\r\n )\r\n}\r\n","import React, { useEffect } from \"react\"\nimport { useLocation } from \"react-router-dom\"\nimport { Page } from \"./tracker\"\n\nfunction HistoryTracking(props) {\n const location = useLocation()\n\n useEffect(() => {\n Page()\n },[location])\n\n return (\n <>\n );\n}\n\nexport default HistoryTracking","var _circle;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSelectedChild = function SvgSelectedChild(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 6,\n height: 6,\n viewBox: \"0 0 6 6\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 3,\n cy: 3,\n r: 3\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSelectedChild, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/SelectedChild.73bff4ae.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport {useFacade} from \"./failedDnaBadgeComponent.hooks\";\nimport PriorityHighIcon from \"@material-ui/icons/PriorityHigh\";\n\nexport const FailedDnaBadgeComponent: React.FC = () => {\n const [isFailed] = useFacade();\n\n return (\n <>\n {\n isFailed\n ? \n : <>\n }\n \n );\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {notificationsQuery} from \"../../../notifications/stores/notifications\";\nimport {NotificationModel, NotificationType} from \"../../../notifications/models/notifications.models\";\n\nexport function useFacade(): [boolean] {\n const [isFailed, setIsFailed] = useState(false);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(notificationsQuery.notifications$, notifications => {\n if (notifications && notifications.length) {\n const anyFailedDnaKits = notifications.filter(x => x.type === NotificationType.DnaKitFailed).length > 0;\n setIsFailed(() => (anyFailedDnaKits));\n }\n }),\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [isFailed];\n}","import React from 'react';\nimport { ReactComponent as MedicalHistory } from '@img/icons/MedicalHistory.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst MedicalHistoryIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default MedicalHistoryIcon;","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAppointments = function SvgAppointments(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.88,\n d: \"M7.28673 11.0336C7.28673 10.783 7.08351 10.5801 6.83277 10.5801H5.24863C4.99818 10.5801 4.79492 10.783 4.79492 11.0336V12.6175C4.79492 12.8684 4.99818 13.0714 5.24863 13.0714H6.83277C7.08351 13.0714 7.28673 12.8684 7.28673 12.6175V11.0336Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.88,\n d: \"M11.246 11.0336C11.246 10.783 11.0427 10.5801 10.7925 10.5801H9.20811C8.95765 10.5801 8.75439 10.783 8.75439 11.0336V12.6175C8.75439 12.8684 8.95765 13.0714 9.20811 13.0714H10.7925C11.0427 13.0714 11.246 12.8684 11.246 12.6175V11.0336Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.88,\n d: \"M15.2052 11.0336C15.2052 10.783 15.0019 10.5801 14.7515 10.5801H13.1673C12.9166 10.5801 12.7134 10.783 12.7134 11.0336V12.6175C12.7134 12.8684 12.9166 13.0714 13.1673 13.0714H14.7515C15.0019 13.0714 15.2052 12.8684 15.2052 12.6175V11.0336Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.88,\n d: \"M7.28673 14.9928C7.28673 14.7419 7.08351 14.5391 6.83277 14.5391H5.24863C4.99818 14.5391 4.79492 14.7419 4.79492 14.9928V16.5765C4.79492 16.8272 4.99818 17.0302 5.24863 17.0302H6.83277C7.08351 17.0302 7.28673 16.8271 7.28673 16.5765V14.9928Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.88,\n d: \"M11.246 14.9928C11.246 14.7419 11.0427 14.5391 10.7925 14.5391H9.20811C8.95765 14.5391 8.75439 14.7419 8.75439 14.9928V16.5765C8.75439 16.8272 8.95765 17.0302 9.20811 17.0302H10.7925C11.0427 17.0302 11.246 16.8271 11.246 16.5765V14.9928Z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.0376 2.22744V4.64676C18.0376 5.74028 17.1505 6.62148 16.0571 6.62148H14.8078C13.7144 6.62148 12.8155 5.74028 12.8155 4.64676V2.21875H7.18447V4.64676C7.18447 5.74028 6.28565 6.62148 5.19239 6.62148H3.94282C2.84951 6.62148 1.96245 5.74028 1.96245 4.64676V2.22744C1.00689 2.25624 0.22168 3.04693 0.22168 4.0188V18.1972C0.22168 19.1874 1.02422 20.0005 2.01436 20.0005H17.9856C18.9743 20.0005 19.7783 19.1857 19.7783 18.1972V4.0188C19.7783 3.04693 18.9931 2.25624 18.0376 2.22744ZM17.4573 17.3143C17.4573 17.7422 17.1104 18.0893 16.6823 18.0893H3.28355C2.85549 18.0893 2.50855 17.7422 2.50855 17.3143V9.99063C2.50855 9.56257 2.85545 9.21542 3.28355 9.21542H16.6822C17.1103 9.21542 17.4573 9.56257 17.4573 9.99063L17.4573 17.3143Z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.93849 5.32396H5.17425C5.54934 5.32396 5.85347 5.02028 5.85347 4.64519V0.67901C5.85347 0.303881 5.54934 0 5.17425 0H3.93849C3.56336 0 3.25928 0.303881 3.25928 0.67901V4.64519C3.25928 5.02028 3.56336 5.32396 3.93849 5.32396Z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.792 5.32396H16.0277C16.4026 5.32396 16.7067 5.02028 16.7067 4.64519V0.67901C16.7067 0.303881 16.4026 0 16.0277 0H14.792C14.4169 0 14.1128 0.303881 14.1128 0.67901V4.64519C14.1128 5.02028 14.4169 5.32396 14.792 5.32396Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAppointments, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Appointments.3ff6630a.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as SelectedChild } from '@img/icons/SelectedChild.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst SelectedChildIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default SelectedChildIcon;","import React from 'react';\nimport { ReactComponent as Conversations } from '@img/icons/Conversations.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst ConversationsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default ConversationsIcon;","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAllPatients = function SvgAllPatients(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 17.753,\n viewBox: \"0 0 20 17.753\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.737 5.882a1.01 1.01 0 0 0-.746-.33H1.009A1.009 1.009 0 0 0 0 6.655l.964 10.306a1.009 1.009 0 0 0 1.005.916h16.062a1.009 1.009 0 0 0 1-.916L20 6.655a1.01 1.01 0 0 0-.263-.773zm-6.37 9.881H6.635a1.009 1.009 0 0 1-1.009-1.009 2.489 2.489 0 0 1 2.486-2.486h.724a2.415 2.415 0 1 1 2.327 0h.724a2.489 2.489 0 0 1 2.484 2.4v.083a1.01 1.01 0 0 1-1.004 1.012zm4.691-12.09a.757.757 0 0 1-.757.757H2.7a.757.757 0 1 1 0-1.514h14.6a.757.757 0 0 1 .758.757zm-2-2.793a.757.757 0 0 1-.757.757H4.7a.757.757 0 1 1 0-1.513h10.6a.757.757 0 0 1 .76.757z\",\n transform: \"translate(-429 -330) translate(429 329.876)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAllPatients, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/AllPatients.23875fbf.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Appointments } from '@img/icons/Appointments.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst AppointmentsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default AppointmentsIcon;","import React from 'react';\nimport { ReactComponent as HealthReport } from '@img/icons/HealthReport.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst HealthReportIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default HealthReportIcon;","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMyPatients = function SvgMyPatients(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19.6,\n height: 14,\n viewBox: \"0 0 19.6 14\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_1442\",\n transform: \"translate(-.2)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Ellipse_314\",\n cx: 3.5,\n cy: 3.5,\n r: 3.5,\n transform: \"translate(10)\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n id: \"Ellipse_315\",\n cx: 3.5,\n cy: 3.5,\n r: 3.5,\n transform: \"translate(1.6)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2670\",\n d: \"M7.2 13.491A5.091 5.091 0 0 1 12.291 8.4h2.418a5.091 5.091 0 0 1 5.091 5.091.509.509 0 0 1-.509.509H7.709a.509.509 0 0 1-.509-.509z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2671\",\n d: \"M7.394 8.992c.284-.231.086-.592-.28-.592H5.291A5.091 5.091 0 0 0 .2 13.491.509.509 0 0 0 .709 14h3.824a.543.543 0 0 0 .526-.565A5.742 5.742 0 0 1 5.8 10.5a5.414 5.414 0 0 1 1.594-1.508z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMyPatients, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/MyPatients.250e1b35.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as AllPatients } from '@img/icons/AllPatients.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst AllPatientsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default AllPatientsIcon;","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgHealthScore = function SvgHealthScore(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.6221 6.45662L19.1298 6.97741C19.9504 7.05632 20.2976 8.08213 19.6979 8.63449L15.5473 12.2801C15.279 12.5168 15.1686 12.864 15.2475 13.2112L16.4784 18.3243C16.668 19.1451 15.8 19.792 15.074 19.3661L10.4814 16.6672C10.1815 16.4936 9.81856 16.4936 9.5187 16.6672L4.92623 19.3661C4.20027 19.792 3.33228 19.1293 3.52166 18.3243L4.76841 13.2112C4.84732 12.864 4.73685 12.5168 4.46856 12.2801L0.317969 8.63449C-0.297517 8.08213 0.0338987 7.05632 0.854547 6.97741L6.36236 6.45662C6.70956 6.42505 7.02519 6.20411 7.15145 5.87269L9.10838 1.09084C9.42401 0.301752 10.5447 0.301752 10.8603 1.09084L12.833 5.87269C12.9749 6.20411 13.2749 6.42505 13.6221 6.45662ZM6.66762 8.13042C6.88778 8.11213 7.05142 7.91883 7.03312 7.69868C7.01483 7.47852 6.82153 7.31488 6.60137 7.33317L2.31901 7.68901C2.09886 7.7073 1.93522 7.9006 1.95351 8.12076C1.9718 8.34091 2.16511 8.50455 2.38526 8.48626L6.66762 8.13042Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHealthScore, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/HealthScore.64afc695.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as MyPatients } from '@img/icons/MyPatients.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst MyPatientsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default MyPatientsIcon;","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgPendingNotes = function SvgPendingNotes(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.00889133 14.333C-0.0180618 14.486 0.016821 14.6435 0.105962 14.7708C0.195063 14.8981 0.331157 14.9848 0.484204 15.0117L3.08487 15.4703L1.44663 6.1792L0.00889133 14.333Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.13295 0.00943568C2.97955 -0.0184159 2.82127 0.0159591 2.69326 0.105022C2.56529 0.194123 2.47807 0.330569 2.451 0.484162L1.82959 4.00838L13.6528 1.92362L3.13295 0.00943568Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.991 16.8702L17.549 3.02135C17.4928 2.70267 17.189 2.49002 16.8702 2.54607L3.02141 4.98799C2.70274 5.04416 2.48993 5.34807 2.5461 5.66674L4.98801 19.5156C5.015 19.6687 5.10168 19.8047 5.22899 19.8938C5.32817 19.9633 5.44563 19.9998 5.56508 19.9998C5.59895 19.9998 5.63301 19.9969 5.6668 19.9909L19.5156 17.549C19.6687 17.522 19.8047 17.4353 19.8939 17.3081C19.983 17.1808 20.0179 17.0233 19.991 16.8702ZM5.66821 9.87607C5.61203 9.5574 5.82485 9.2535 6.14352 9.19732L15.3761 7.56936C15.6951 7.51318 15.9987 7.72596 16.0549 8.04463C16.1111 8.3633 15.8983 8.66721 15.5796 8.72338L6.34699 10.3514C6.31258 10.3574 6.27832 10.3604 6.24457 10.3604C5.96555 10.3604 5.71832 10.1604 5.66821 9.87607ZM13.316 13.8824L7.16098 14.9677C7.12656 14.9737 7.09231 14.9767 7.05856 14.9767C6.77953 14.9767 6.53231 14.7767 6.48219 14.4924C6.42602 14.1737 6.63883 13.8698 6.9575 13.8136L13.1125 12.7283C13.4314 12.6721 13.7351 12.8849 13.7913 13.2036C13.8475 13.5222 13.6347 13.8262 13.316 13.8824ZM15.9865 11.0315L6.75395 12.6595C6.71953 12.6656 6.68528 12.6685 6.65153 12.6685C6.3725 12.6685 6.12528 12.4685 6.07516 12.1842C6.01899 11.8655 6.2318 11.5616 6.55047 11.5054L15.7831 9.87748C16.102 9.82131 16.4057 10.0341 16.4619 10.3528C16.518 10.6715 16.3052 10.9754 15.9865 11.0315Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPendingNotes, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/PendingNotes.d147231c.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as HealthScore } from '@img/icons/HealthScore.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst HealthScoreIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default HealthScoreIcon;","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFellowship = function SvgFellowship(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.55273 11.6783L4.75198 12.1407C4.04468 11.5469 3.01245 11.4251 2.16765 11.913C1.08601 12.5374 0.716203 13.9182 1.34062 14.9996C1.96237 16.0766 3.34062 16.4541 4.42718 15.8266C5.27433 15.3375 5.68468 14.3846 5.52288 13.4748L6.32507 13.0119C5.99948 12.6155 5.7371 12.1661 5.55273 11.6783Z\",\n fill: \"#AFBACA\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.4486 8.32114L15.2493 7.85868C15.9566 8.45247 16.9888 8.57426 17.8336 8.08641C18.9153 7.46196 19.2851 6.08122 18.6607 4.99985C18.0363 3.91821 16.6555 3.54832 15.5741 4.17278C14.727 4.66184 14.3166 5.61485 14.4784 6.52461L13.6763 6.9875C14.0018 7.38395 14.2642 7.83329 14.4486 8.32114Z\",\n fill: \"#AFBACA\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0002 6.27209C6.78517 6.27209 5.08287 10.1041 7.22896 12.4898C8.67529 14.0933 11.139 14.1392 12.6441 12.6254C12.647 12.6224 12.6499 12.6192 12.6529 12.6162C14.9536 10.2848 13.3218 6.27209 10.0002 6.27209Z\",\n fill: \"#AFBACA\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.23145 4.38375V5.30797C9.74102 5.22445 10.2623 5.22441 10.772 5.30797V4.38375C11.6398 4.06809 12.2612 3.23512 12.2612 2.25953C12.2612 1.01363 11.2477 0 10.0017 0C8.75578 0 7.74219 1.01363 7.74219 2.25953C7.74219 3.23512 8.36367 4.06809 9.23145 4.38375Z\",\n fill: \"#AFBACA\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.772 15.616V14.6918C10.2624 14.7753 9.74113 14.7753 9.23145 14.6918V15.616C8.36363 15.9316 7.74219 16.7646 7.74219 17.7402C7.74219 18.9861 8.75574 19.9997 10.0017 19.9997C11.2477 19.9997 12.2612 18.9861 12.2612 17.7402C12.2612 16.7646 11.6398 15.9316 10.772 15.616Z\",\n fill: \"#AFBACA\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.16765 8.0868C3.0128 8.57481 4.04491 8.45258 4.75198 7.85899L5.55272 8.32145C5.73706 7.8336 5.99948 7.38426 6.32507 6.98786L5.52288 6.52493C5.68476 5.61508 5.27425 4.66211 4.42718 4.17309C3.34558 3.54864 1.96499 3.91876 1.34065 5.0002C0.716083 6.0818 1.0862 7.46247 2.16765 8.0868Z\",\n fill: \"#AFBACA\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8347 11.9132C16.9898 11.4254 15.9576 11.5471 15.2503 12.1409L14.4496 11.6785C14.2653 12.1663 14.0028 12.6157 13.6772 13.0121L14.4794 13.475C14.3176 14.3848 14.7281 15.3378 15.5751 15.8268C16.6599 16.4531 18.0388 16.0787 18.6617 14.9998C19.2863 13.9182 18.9162 12.5375 17.8347 11.9132Z\",\n fill: \"#AFBACA\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFellowship, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/fellowship.1e611ec6.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as PendingNotes } from '@img/icons/PendingNotes.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst PendingNotesIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default PendingNotesIcon;","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFellowshipActive = function SvgFellowshipActive(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.55273 11.6779L4.75198 12.1404C4.04468 11.5465 3.01245 11.4248 2.16765 11.9126C1.08601 12.5371 0.716203 13.9178 1.34062 14.9992C1.96237 16.0763 3.34062 16.4537 4.42718 15.8263C5.27433 15.3371 5.68468 14.3842 5.52288 13.4744L6.32507 13.0115C5.99948 12.6151 5.7371 12.1658 5.55273 11.6779Z\",\n fill: \"#1F72A2\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.4481 8.32101L15.2488 7.85855C15.9561 8.45234 16.9883 8.57414 17.8332 8.08629C18.9148 7.46184 19.2846 6.08109 18.6602 4.99973C18.0358 3.91809 16.655 3.5482 15.5736 4.17266C14.7265 4.66172 14.3161 5.61473 14.4779 6.52449L13.6758 6.98738C14.0013 7.38383 14.2637 7.83316 14.4481 8.32101Z\",\n fill: \"#1F72A2\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0007 6.27246C6.78566 6.27246 5.08336 10.1045 7.22945 12.4902C8.67578 14.0936 11.1395 14.1395 12.6446 12.6258C12.6475 12.6227 12.6504 12.6196 12.6534 12.6166C14.9541 10.2851 13.3223 6.27246 10.0007 6.27246Z\",\n fill: \"#1F72A2\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.23145 4.38375V5.30797C9.74102 5.22445 10.2623 5.22441 10.772 5.30797V4.38375C11.6398 4.06809 12.2612 3.23512 12.2612 2.25953C12.2612 1.01363 11.2477 0 10.0017 0C8.75578 0 7.74219 1.01363 7.74219 2.25953C7.74219 3.23512 8.36367 4.06809 9.23145 4.38375Z\",\n fill: \"#1F72A2\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.772 15.6156V14.6914C10.2624 14.7749 9.74113 14.775 9.23145 14.6914V15.6156C8.36363 15.9313 7.74219 16.7642 7.74219 17.7398C7.74219 18.9857 8.75574 19.9993 10.0017 19.9993C11.2477 19.9993 12.2612 18.9857 12.2612 17.7398C12.2612 16.7642 11.6398 15.9313 10.772 15.6156Z\",\n fill: \"#1F72A2\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.16765 8.08729C3.0128 8.5753 4.04491 8.45307 4.75198 7.85948L5.55272 8.32194C5.73706 7.83409 5.99948 7.38475 6.32507 6.98835L5.52288 6.52542C5.68476 5.61557 5.27425 4.6626 4.42718 4.17358C3.34558 3.54913 1.96499 3.91924 1.34065 5.00069C0.716083 6.08229 1.0862 7.46295 2.16765 8.08729Z\",\n fill: \"#1F72A2\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8352 11.9136C16.9903 11.4258 15.9581 11.5475 15.2508 12.1413L14.4501 11.6788C14.2657 12.1667 14.0033 12.616 13.6777 13.0124L14.4799 13.4754C14.3181 14.3852 14.7286 15.3381 15.5756 15.8272C16.6604 16.4535 18.0393 16.0791 18.6622 15.0002C19.2868 13.9186 18.9166 12.5379 17.8352 11.9136Z\",\n fill: \"#1F72A2\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFellowshipActive, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/fellowshipActive.63a31813.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgShortcuts = function SvgShortcuts(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17.864,\n height: 21.604,\n viewBox: \"0 0 17.864 21.604\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.221 12.357L59.206 10.8l2.014-1.556a2.462 2.462 0 0 0 0-3.9L55.132.643a3.086 3.086 0 0 0-3.773 0l-6.088 4.7a2.462 2.462 0 0 0 0 3.9l2.015 1.557-2.014 1.556a2.462 2.462 0 0 0 0 3.9l6.088 4.7a3.086 3.086 0 0 0 3.773 0l6.088-4.7a2.462 2.462 0 0 0 0-3.9zm-1.032 2.563l-6.088 4.7a1.4 1.4 0 0 1-1.709 0l-6.092-4.7a.774.774 0 0 1 0-1.227l2.362-1.825 2.694 2.081a3.086 3.086 0 0 0 3.773 0l.862-.666-1.38-1.066-.514.4a1.4 1.4 0 0 1-1.709 0L46.3 7.91a.774.774 0 0 1 0-1.227l6.088-4.7a1.4 1.4 0 0 1 1.709 0l6.088 4.7a.774.774 0 0 1 0 1.227l-2.359 1.825-2.694-2.082a3.086 3.086 0 0 0-3.773 0l-.885.684L51.855 9.4l.537-.415a1.4 1.4 0 0 1 1.709 0l6.088 4.7a.774.774 0 0 1 0 1.227z\",\n transform: \"translate(-429.694 -194.019) translate(385.38 194.019)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgShortcuts, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Shortcuts.93af607f.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Fellowship } from '@img/icons/fellowship.svg';\nimport { ReactComponent as FellowshipActive } from '@img/icons/fellowshipActive.svg';\nimport { IconProps } from './IconProps';\n\nconst FellowshipIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n const icons = new Map([\n [true, ],\n [false, ]\n ]);\n\n return (\n icons.get(isSelected)\n )\n}\n\nexport default FellowshipIcon;","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLicensing = function SvgLicensing(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17 11V3H7v4H3v14h8v-4h2v4h8V11h-4zM7 19H5v-2h2v2zm0-4H5v-2h2v2zm0-4H5V9h2v2zm4 4H9v-2h2v2zm0-4H9V9h2v2zm0-4H9V5h2v2zm4 8h-2v-2h2v2zm0-4h-2V9h2v2zm0-4h-2V5h2v2zm4 12h-2v-2h2v2zm0-4h-2v-2h2v2z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLicensing, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Licensing.a423abb3.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Shortcuts } from '@img/icons/Shortcuts.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst ShortcutsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default ShortcutsIcon;","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAnalytics = function SvgAnalytics(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 16.526,\n viewBox: \"0 0 20 16.526\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_1923\",\n transform: \"translate(-432 -424.191)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2940\",\n d: \"M47.9 459.737h-3.824a.708.708 0 0 0-.708.708v15.1a.709.709 0 0 0 .708.709H47.9a.709.709 0 0 0 .708-.709v-15.1a.708.708 0 0 0-.708-.708z\",\n transform: \"translate(396 -35.546)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2941\",\n d: \"M55.292 468.544h-3.826a.709.709 0 0 0-.708.709v6.3a.708.708 0 0 0 .708.708h3.825a.708.708 0 0 0 .708-.708v-6.3a.708.708 0 0 0-.707-.709z\",\n transform: \"translate(396 -35.546)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2942\",\n d: \"M40.534 465.38h-3.826a.708.708 0 0 0-.708.709v9.456a.708.708 0 0 0 .708.709h3.825a.708.708 0 0 0 .708-.709v-9.456a.708.708 0 0 0-.707-.709z\",\n transform: \"translate(396 -35.546)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAnalytics, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Analytics.6def4486.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Licensing } from '@img/icons/Licensing.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst LicensingIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default LicensingIcon;","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDashboard = function SvgDashboard(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.70828 0H1.45828C0.654144 0 0 0.654144 0 1.45828V5.20828C0 6.01257 0.654144 6.66672 1.45828 6.66672H7.70828C8.51257 6.66672 9.16672 6.01257 9.16672 5.20828V1.45828C9.16672 0.654144 8.51257 0 7.70828 0Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.70828 8.33398H1.45828C0.654144 8.33398 0 8.98813 0 9.79242V18.5424C0 19.3466 0.654144 20.0007 1.45828 20.0007H7.70828C8.51257 20.0007 9.16672 19.3466 9.16672 18.5424V9.79242C9.16672 8.98813 8.51257 8.33398 7.70828 8.33398Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5414 13.334H12.2914C11.4872 13.334 10.833 13.9881 10.833 14.7924V18.5424C10.833 19.3466 11.4872 20.0007 12.2914 20.0007H18.5414C19.3456 20.0007 19.9997 19.3466 19.9997 18.5424V14.7924C19.9997 13.9881 19.3456 13.334 18.5414 13.334Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.5414 0H12.2914C11.4872 0 10.833 0.654144 10.833 1.45828V10.2083C10.833 11.0126 11.4872 11.6667 12.2914 11.6667H18.5414C19.3456 11.6667 19.9997 11.0126 19.9997 10.2083V1.45828C19.9997 0.654144 19.3456 0 18.5414 0V0Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDashboard, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Dashboard.ddce408a.svg\";\nexport { ForwardRef as ReactComponent };","\nimport React from 'react';\nimport { ReactComponent as Analytics } from '@img/icons/Analytics.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst AnalyticsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default AnalyticsIcon;","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgIntake = function SvgIntake(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.6484 10.3906C13.2489 10.3906 11.2969 12.3427 11.2969 14.7421C11.2969 17.1416 13.2489 19.0938 15.6484 19.0938C18.0478 19.0938 19.9999 17.1417 19.9999 14.7421C19.9999 12.3427 18.0477 10.3906 15.6484 10.3906ZM16.9036 15.3281H16.2343V15.9973C16.2343 16.321 15.972 16.5833 15.6484 16.5833C15.3247 16.5833 15.0624 16.321 15.0624 15.9973V15.3281H14.3932C14.0695 15.3281 13.8073 15.0658 13.8073 14.7421C13.8073 14.4186 14.0695 14.1562 14.3932 14.1562H15.0624V13.4869C15.0624 13.1635 15.3247 12.901 15.6484 12.901C15.972 12.901 16.2343 13.1635 16.2343 13.4869V14.1562H16.9036C17.2272 14.1562 17.4895 14.4186 17.4895 14.7421C17.4895 15.0658 17.2272 15.3281 16.9036 15.3281Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.23447 9.67972C8.63391 9.67972 10.586 7.72751 10.586 5.32806C10.586 2.92862 8.63376 0.976562 6.23447 0.976562C3.83502 0.976562 1.88281 2.92862 1.88281 5.32806C1.88281 7.72766 3.83502 9.67972 6.23447 9.67972Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.3849 11.235C10.9447 10.5906 10.387 10.0322 9.74258 9.5918C8.78799 10.3788 7.56546 10.8522 6.23444 10.8522C4.90341 10.8522 3.68088 10.3788 2.72614 9.5918C1.0817 10.7155 0 12.6051 0 14.7427V16.9394C0 18.1277 0.966644 19.0944 2.15485 19.0944H10.3137C10.838 19.0944 11.319 18.9061 11.693 18.5937C10.7234 17.5979 10.125 16.239 10.125 14.7427C10.125 13.412 10.5981 12.1896 11.3849 11.235Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgIntake, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Intake.3a4b05d9.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Dashboard } from '@img/icons/Dashboard.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst DashboardIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default DashboardIcon;","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgUsers = function SvgUsers(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21.599,\n height: 20.445,\n viewBox: \"0 0 21.599 20.445\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_1443\",\n transform: \"translate(.799 -.07)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2672\",\n d: \"M13.331 20.445H8.268a.617.617 0 0 1-.633-.6v-1.574q-.309-.109-.611-.24l-1.176 1.114a.658.658 0 0 1-.895 0l-3.58-3.388a.577.577 0 0 1 0-.847l1.178-1.11q-.138-.285-.253-.578H.633a.617.617 0 0 1-.633-.6V7.827a.617.617 0 0 1 .633-.6H2.3q.115-.293.253-.578l-1.18-1.114a.577.577 0 0 1 0-.847L4.953 1.3a.658.658 0 0 1 .895 0l1.177 1.114q.3-.13.611-.24V.6a.617.617 0 0 1 .632-.6h5.062a.617.617 0 0 1 .633.6v1.575q.309.109.61.24L15.751 1.3a.658.658 0 0 1 .895 0l3.58 3.388a.577.577 0 0 1 0 .847L19.048 6.65q.138.285.253.578h1.665a.617.617 0 0 1 .633.6v4.792a.617.617 0 0 1-.633.6H19.3q-.115.293-.253.578l1.177 1.114a.577.577 0 0 1 0 .847l-3.579 3.388a.658.658 0 0 1-.895 0l-1.177-1.114q-.3.13-.611.24v1.576a.616.616 0 0 1-.631.596zM10.8 5.431a4.938 4.938 0 0 0-5.062 4.792 4.938 4.938 0 0 0 5.062 4.791 4.938 4.938 0 0 0 5.062-4.792A4.938 4.938 0 0 0 10.8 5.431z\",\n transform: \"translate(-.799 .07)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2673\",\n d: \"M10 10.586a1.758 1.758 0 1 1 1.758-1.758A1.76 1.76 0 0 1 10 10.586z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2674\",\n d: \"M12.306 11.519a3.332 3.332 0 0 0-.491-.393 2.921 2.921 0 0 1-3.629 0 3.343 3.343 0 0 0-.985 1 3.512 3.512 0 0 0 5.6 0 3.339 3.339 0 0 0-.495-.607z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUsers, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Users.e1bbc4ec.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Intake } from '@img/icons/Intake.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst IntakeIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default IntakeIcon;","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgNotes = function SvgNotes(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.00889133 14.333C-0.0180618 14.486 0.016821 14.6435 0.105962 14.7708C0.195063 14.8981 0.331157 14.9848 0.484204 15.0117L3.08487 15.4703L1.44663 6.1792L0.00889133 14.333Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.13344 0.00943568C2.98004 -0.0184159 2.82176 0.0159591 2.69375 0.105022C2.56578 0.194123 2.47855 0.330569 2.45148 0.484162L1.83008 4.00838L13.6532 1.92362L3.13344 0.00943568Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.991 16.8702L17.549 3.02135C17.4928 2.70267 17.189 2.49002 16.8702 2.54607L3.02141 4.98799C2.70274 5.04416 2.48993 5.34807 2.5461 5.66674L4.98801 19.5156C5.015 19.6687 5.10168 19.8047 5.22899 19.8938C5.32817 19.9633 5.44563 19.9998 5.56508 19.9998C5.59895 19.9998 5.63301 19.9969 5.6668 19.9909L19.5156 17.549C19.6687 17.522 19.8047 17.4353 19.8939 17.3081C19.983 17.1808 20.0179 17.0233 19.991 16.8702ZM5.66821 9.87607C5.61203 9.5574 5.82485 9.2535 6.14352 9.19732L15.3761 7.56936C15.6951 7.51318 15.9987 7.72596 16.0549 8.04463C16.1111 8.3633 15.8983 8.66721 15.5796 8.72338L6.34699 10.3514C6.31258 10.3574 6.27832 10.3604 6.24457 10.3604C5.96555 10.3604 5.71832 10.1604 5.66821 9.87607ZM13.316 13.8824L7.16098 14.9677C7.12656 14.9737 7.09231 14.9767 7.05856 14.9767C6.77953 14.9767 6.53231 14.7767 6.48219 14.4924C6.42602 14.1737 6.63883 13.8698 6.9575 13.8136L13.1125 12.7283C13.4314 12.6721 13.7351 12.8849 13.7913 13.2036C13.8475 13.5222 13.6347 13.8262 13.316 13.8824ZM15.9865 11.0315L6.75395 12.6595C6.71953 12.6656 6.68528 12.6685 6.65153 12.6685C6.3725 12.6685 6.12528 12.4685 6.07516 12.1842C6.01899 11.8655 6.2318 11.5616 6.55047 11.5054L15.7831 9.87748C16.102 9.82131 16.4057 10.0341 16.4619 10.3528C16.518 10.6715 16.3052 10.9754 15.9865 11.0315Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNotes, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Notes.d7e5b299.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Users } from '@img/icons/Users.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst UsersIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default UsersIcon;","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAcademy = function SvgAcademy(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.7448 13.2759V7.05518L17.5729 7.4458V13.2759C16.8442 13.5212 16.3177 14.2105 16.3177 15.0208V18.1588C16.3177 18.4824 16.5801 18.7448 16.9037 18.7448H19.4141C19.7377 18.7448 20 18.4824 20 18.1588V15.0208C20 14.2105 19.4735 13.5212 18.7448 13.2759Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.44434 9.78498L3.76562 7.89209V11.8829C3.76562 12.0384 3.82738 12.1874 3.93727 12.2973C5.55687 13.9167 7.71012 14.8086 10.0003 14.8086C12.2905 14.8086 14.4435 13.9167 16.0628 12.2972C16.1727 12.1873 16.2344 12.0383 16.2344 11.8829V7.89209L10.5559 9.78494C10.1677 9.9142 9.77695 9.8958 9.44434 9.78498Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10 8.70321C10.0626 8.70321 10.1252 8.69317 10.1853 8.67314L19.5993 5.53513C19.8386 5.45536 20 5.23146 20 4.97927C20 4.72708 19.8386 4.50317 19.5993 4.42341L10.1853 1.2854C10.065 1.24536 9.93496 1.24536 9.81473 1.2854L0.400664 4.42341C0.161367 4.50314 0 4.72704 0 4.97927C0 5.23149 0.161367 5.45536 0.400664 5.53513L9.81473 8.67314C9.87484 8.69317 9.93742 8.70321 10 8.70321Z\",\n fillRule: \"evenodd\",\n clipRule: \"evenodd\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAcademy, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Academy.937e5fa2.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Notes } from '@img/icons/Notes.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst NotesIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default NotesIcon;","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDna = function SvgDna(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23.267,\n height: 23.362,\n viewBox: \"0 0 23.267 23.362\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Group_1441\",\n transform: \"rotate(45 7.095 17.013)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2663\",\n d: \"M.924 4.744A11.145 11.145 0 0 1 .248 1.13 1.1 1.1 0 0 1 1.356 0 1.172 1.172 0 0 1 2.51 1.13a8.761 8.761 0 0 0 .521 2.8 7.741 7.741 0 0 0 1.846 2.7 1.2 1.2 0 0 1 .1 1.624 1.076 1.076 0 0 1-1.57.1 10.1 10.1 0 0 1-2.483-3.61z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2664\",\n d: \"M9.07 9.024a12.368 12.368 0 0 0 3.879-7.9A1.063 1.063 0 0 0 11.864 0a1.221 1.221 0 0 0-1.183 1.129 10.177 10.177 0 0 1-3.23 6.318l-1.8 1.684-.014.014c-.115.115-.242.239-.379.373C3.593 11.146.493 14.181.053 18.871A1.053 1.053 0 0 0 1.13 20a1.239 1.239 0 0 0 1.194-1.128c.428-3.706 2.9-6.142 4.544-7.769l.35-.347L9.046 9.05z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2665\",\n d: \"M12.41 15.256a11.147 11.147 0 0 1 .676 3.614A1.1 1.1 0 0 1 11.977 20a1.172 1.172 0 0 1-1.154-1.13 8.76 8.76 0 0 0-.521-2.8 7.741 7.741 0 0 0-1.846-2.7 1.2 1.2 0 0 1-.1-1.624 1.076 1.076 0 0 1 1.57-.1 10.1 10.1 0 0 1 2.484 3.61z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2666\",\n d: \"M9.492 1.695a.791.791 0 0 1-.791.791H4.52A.791.791 0 0 1 4.52.9H8.7a.791.791 0 0 1 .792.795z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2667\",\n d: \"M9.492 18.192A.791.791 0 0 0 8.7 17.4H4.52a.791.791 0 1 0 0 1.582H8.7a.791.791 0 0 0 .792-.79z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2668\",\n d: \"M8.588 4.52a.791.791 0 0 1-.791.791H5.311a.791.791 0 0 1 0-1.582H7.8a.791.791 0 0 1 .788.791z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2669\",\n d: \"M8.588 15.367a.791.791 0 0 0-.791-.791H5.311a.791.791 0 0 0 0 1.582H7.8a.791.791 0 0 0 .788-.791z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDna, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/DNA.09f916c3.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Academy } from '@img/icons/Academy.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst AcademyIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default AcademyIcon;","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgPerson = function SvgPerson(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 18,\n viewBox: \"0 0 16 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8 0.75C5.92893 0.75 4.25 2.42893 4.25 4.5C4.25 6.57107 5.92893 8.25 8 8.25C10.0711 8.25 11.75 6.57107 11.75 4.5C11.75 2.42893 10.0711 0.75 8 0.75Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 10.25C1.92893 10.25 0.25 11.9289 0.25 14V15.1883C0.25 15.9415 0.795884 16.5837 1.53927 16.7051C5.8181 17.4037 10.1819 17.4037 14.4607 16.7051C15.2041 16.5837 15.75 15.9415 15.75 15.1883V14C15.75 11.9289 14.0711 10.25 12 10.25H11.6591C11.4746 10.25 11.2913 10.2792 11.1159 10.3364L10.2504 10.6191C8.78813 11.0965 7.21187 11.0965 5.74959 10.6191L4.88407 10.3364C4.70869 10.2792 4.52536 10.25 4.34087 10.25H4Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPerson, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Person.d910762f.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as DNA } from '@img/icons/DNA.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst DNAIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default DNAIcon;","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgHealthPlan = function SvgHealthPlan(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"\",\n height: \"\",\n viewBox: \"0 0 28 28\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.0556 24.5L17 21.1667L18.2889 19.8778L20.0556 21.6444L24.0444 17.6556L25.3333 19.2222M15.3889 24.5H6.72222C5.48889 24.5 4.5 23.5111 4.5 22.2778V6.72222C4.5 5.48889 5.48889 4.5 6.72222 4.5H22.2778C23.5111 4.5 24.5 5.48889 24.5 6.72222V15.3889C23.8222 15 23.0778 14.7222 22.2778 14.5889V6.72222H6.72222V22.2778H14.5889C14.7222 23.0778 15 23.8222 15.3889 24.5ZM14.5 20.0556H8.94444V17.8333H14.5M17.4778 15.6111H8.94444V13.3889H20.0556V14.5889C19.1111 14.7444 18.2444 15.1 17.4778 15.6111ZM20.0556 11.1667H8.94444V8.94444H20.0556\",\n fill: \"\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHealthPlan, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/HealthPlan.23737b80.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { ReactComponent as Person } from '@img/icons/Person.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst PersonIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default PersonIcon;","import React from 'react';\nimport { ReactComponent as HealthPlan } from '@img/icons/HealthPlan.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst HealthPlanIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default HealthPlanIcon;","import React from 'react';\nimport { ReactComponent as Labs } from \"@img/icons/LabsIcon.svg\";\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst LabsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default LabsIcon;","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { notificationsQuery } from \"../../../notifications/stores/notifications\";\nimport { NotificationModel, NotificationType } from \"../../../notifications/models/notifications.models\";\nimport { ConversationType, EmployeeConversationModel, PatientConversationModel } from \"../../models/conversation.models\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport { ContactsOutlined } from \"@material-ui/icons\";\nimport { Console } from \"console\";\n\nconst interestedTypes = [\n NotificationType.NewMessage,\n NotificationType.UnreadMessagesManual\n];\n\ninterface UnreadMessagesBadgeComponentState {\n conversations: EmployeeConversationModel[] | PatientConversationModel[];\n conversationHealthCare: PatientConversationModel[],\n conversationSupport: PatientConversationModel[],\n}\n\nlet context: UnreadMessagesBadgeComponentState = null;\n\nexport function useFacade(): [boolean, ConversationType[]] {\n const [newMessages, setNewMessages] = useState(false);\n const [conversationTypes, setConversationTypes] = useState([] as ConversationType[]);\n const [state, setState] = useState({\n conversations: [],\n conversationHealthCare: [],\n conversationSupport: [],\n } as UnreadMessagesBadgeComponentState);\n\n context = state\n\n const hasNewMessages = (conversations: EmployeeConversationModel[] | PatientConversationModel[]): boolean => {\n return conversations.filter(c => c.unreadMessages > 0).length > 0\n }\n\n const getConversationTypes = (conversations: EmployeeConversationModel[] | PatientConversationModel[]): ConversationType[] => {\n const conversationTypes = conversations.filter(c => c.unreadMessages > 0).map(c => c.type);\n\n // Map support and healthcare to the same type. They both render a red badge. If health care and support are both present, \n // then two red badges will be rendered when we only want one\n const filteredConversationTypes = conversationTypes.map(c => c === ConversationType.Support ? ConversationType.HealthCare : c);\n\n return [...new Set(filteredConversationTypes)];\n }\n\n const setUnreadMessages = (conversations: EmployeeConversationModel[] | PatientConversationModel[]) => {\n\n if (conversations && conversations.length) {\n setNewMessages(() => (hasNewMessages(conversations)));\n setConversationTypes(() => getConversationTypes(conversations));\n } else {\n setNewMessages(() => false);\n }\n }\n\n useEffect(() => {\n if (state.conversationHealthCare.length || state.conversationSupport.length) {\n setUnreadMessages([...state.conversationHealthCare, ...state.conversationSupport])\n }\n }, [state.conversationHealthCare, state.conversationSupport]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.conversations$, conversations => {\n if (authQuery.getType() === UserType.Employee) {\n setState(state => ({\n ...state,\n conversations: [\n ...conversations,\n ]\n }));\n setUnreadMessages(conversations);\n }\n }),\n onEmit(patientConversationsQuery.heathCareConversation$, conversation => {\n if (conversation && authQuery.getType() === UserType.Patient) {\n setState(state => ({\n ...state,\n conversationHealthCare: [conversation]\n }));\n }\n }),\n onEmit(patientConversationsQuery.supportConversations$, conversations => {\n if (authQuery.getType() === UserType.Patient) {\n setState(state => ({\n ...state,\n conversationSupport: conversations\n }));\n }\n }),\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [newMessages, conversationTypes];\n}","import {createStyles, makeStyles} from \"@material-ui/core/styles\";\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n margin: 3,\n position: 'relative'\n },\n internal: {\n backgroundColor: colors.internalMessageNotification\n },\n healthCare: {\n backgroundColor: colors.healthcareMessageNotification\n },\n support: {\n backgroundColor: colors.healthcareMessageNotification\n },\n })\n);","import React from \"react\";\nimport {useFacade} from \"./unreadMessagesBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\nimport {useStyles} from \"./unreadMessagesBadgeComponent.styles\";\nimport {ConversationType} from \"../../models/conversation.models\";\n\n\nlet colorsMap = new Map()\n .set(ConversationType.HealthCare, \"healthCare\")\n .set(ConversationType.Support, \"support\")\n .set(ConversationType.Internal, \"internal\")\n\nexport const UnreadMessagesBadgeComponent: React.FC = () => {\n const [newMessages, conversationTypes] = useFacade();\n\n const classes = useStyles();\n\n return (\n <>\n {\n newMessages\n ? conversationTypes.map((type) => {\n return \n })\n : <>\n }\n \n );\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {notificationsQuery} from \"../../../notifications/stores/notifications\";\nimport {NotificationModel, NotificationType} from \"../../../notifications/models/notifications.models\";\n\nconst interestedTypes = [\n NotificationType.NewSupportTicket\n];\n\nexport function useFacade(): [boolean] {\n const [newTickets, setNewTickets] = useState(false);\n\n const hasNewTickets = (notifications: NotificationModel[]): boolean => {\n notifications = notifications.filter(x => interestedTypes.includes(x.type));\n\n return notifications.length > 0;\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(notificationsQuery.notifications$, notifications => {\n if (notifications && notifications.length) {\n setNewTickets(() => (hasNewTickets(notifications)));\n } else {\n setNewTickets(() => false);\n }\n }),\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [newTickets];\n}","import React from \"react\";\nimport {useFacade} from \"./newSupportTicketsBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\n\nexport const NewSupportTicketsBadgeComponent: React.FC = () => {\n const [newTickets] = useFacade();\n\n return (\n <>\n {\n newTickets\n ? \n : <>\n }\n \n );\n}","import {NotificationModel, NotificationType} from \"../../../notifications/models/notifications.models\";\nimport {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {notificationsQuery} from \"../../../notifications/stores/notifications\";\nimport { EmployeeConversationModel } from \"../../models/conversation.models\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\n\nconst interestedTypes = [\n NotificationType.NewSupportTicket,\n];\n\ninterface ConversationsBadgeComponentState {\n notifications: NotificationModel[];\n conversations: EmployeeConversationModel[];\n}\n\nlet context: ConversationsBadgeComponentState = null;\n\nexport function useFacade(): [boolean] {\n const [newMessagesAndTickets, setNewMessagesAndTickets] = useState(false);\n const [state, setState] = useState({\n notifications: [],\n conversations: []\n } as ConversationsBadgeComponentState);\n\n context = state;\n\n const hasNewMessagesAndTickets = (notifications: NotificationModel[], conversations: EmployeeConversationModel[]): boolean => {\n return hasNewMessages(conversations) || hasNewTickets(notifications);\n }\n\n const hasNewTickets = (notifications: NotificationModel[]): boolean => {\n notifications = notifications.filter(x => interestedTypes.includes(x.type));\n\n return notifications.length > 0;\n }\n\n const hasNewMessages = (conversations: EmployeeConversationModel[]): boolean => {\n conversations = conversations.filter(x => x.unreadMessages > 0);\n\n return conversations.length > 0;\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(notificationsQuery.notifications$, notifications => {\n setState(state => ({\n ...state,\n notifications: notifications\n }));\n\n setNewMessagesAndTickets(() => (hasNewMessagesAndTickets(notifications, context.conversations)));\n }),\n onEmit(employeeConversationsQuery.conversations$, conversations => {\n setState(state => ({\n ...state,\n conversations: conversations\n }));\n\n setNewMessagesAndTickets(() => (hasNewMessagesAndTickets(context.notifications, conversations)));\n })\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [newMessagesAndTickets];\n}","import React from \"react\";\nimport {Badge} from \"@material-ui/core\";\nimport {useFacade} from \"./conversationsBadgeComponent.hooks\";\n\nexport const ConversationsBadgeComponent: React.FC = () => {\n const [newMessagesAndTickets] = useFacade();\n\n return (\n <>\n {\n newMessagesAndTickets\n ? \n : <>\n }\n \n );\n}","import { Store, StoreConfig } from '@datorama/akita';\nimport { BannerModel, HealthFormModel, QuestionnaireResultModel, QuestionnaireShortModel } from \"../../models/questionnaire.models\";\n\n/**\n * Represents Questionnaire state\n */\nexport interface QuestionnaireState {\n healthForms: HealthFormModel[];\n availableQuestionnaires: QuestionnaireShortModel[];\n questionnaireResults: QuestionnaireResultModel[];\n questionnaireResultsByEmployee: QuestionnaireResultModel[];\n targetResult: QuestionnaireResultModel;\n questionnaireBanner: BannerModel;\n notificationMedicalHistory: boolean;\n questionnaireResultsByAppointments: QuestionnaireResultModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): QuestionnaireState {\n return {\n healthForms: [],\n availableQuestionnaires: [],\n questionnaireResults: [],\n questionnaireResultsByEmployee: [],\n targetResult: null,\n questionnaireBanner: null,\n notificationMedicalHistory: false,\n questionnaireResultsByAppointments: []\n };\n}\n\n/**\n * Provides Health Questionnaire state management\n */\n@StoreConfig({name: 'questionnaire', resettable: true })\nexport class QuestionnaireStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public updateQuestionnaireResult(result: QuestionnaireResultModel) {\n const results = this.getValue().questionnaireResults;\n const targetResult = this.getValue().targetResult;\n\n this.update({\n questionnaireResults: results.map(x => x.id === result.id ? result : x),\n targetResult: targetResult && targetResult.id === result.id ? result : targetResult\n });\n }\n}\n\nexport const questionnaireStore = new QuestionnaireStore();\n","import {Query} from \"@datorama/akita\";\nimport {\n QuestionnaireState, questionnaireStore,\n QuestionnaireStore\n} from \"./questionnaire.store\";\n\n/**\n * Provides Questionnaire queries\n */\nexport class QuestionnaireQuery extends Query {\n healthForms$ = this.select(state => state.healthForms);\n questionnaireResults$ = this.select(state => state.questionnaireResults);\n questionnaireResultsByEmployee$ = this.select(state => state.questionnaireResultsByEmployee);\n availableQuestionnaires$ = this.select(state => state.availableQuestionnaires);\n targetResult$ = this.select(state => state.targetResult);\n questionnaireBanner$ = this.select(state => state.questionnaireBanner);\n notificationMedicalHistory$ = this.select(state => state.notificationMedicalHistory);\n questionnaireResultsByAppointments$ = this.select(state => state.questionnaireResultsByAppointments);\n\n constructor(protected store: QuestionnaireStore) {\n super(store);\n }\n}\n\nexport const questionnaireQuery = new QuestionnaireQuery(questionnaireStore);","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { questionnaireQuery } from \"../../stores/questionnaireStore\";\n\n\nexport function useFacade(): [boolean] {\n const [notCompleted, setNotCompleted] = useState(false);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(questionnaireQuery.notificationMedicalHistory$, notification => {\n setNotCompleted(() => notification);\n }),\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [notCompleted];\n}","import React from \"react\";\nimport {useFacade} from \"./uncompletedMedicalHistoryBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\n\nexport const UncompletedMedicalHistoryBadgeComponent: React.FC = () => {\n const [notCompleted] = useFacade();\n\n return (\n <>\n {\n notCompleted\n ? \n : <>\n }\n \n );\n}","import { Store, StoreConfig } from '@datorama/akita';\nimport { HealthReportModel, HealthReportOwnerModel, HealthReportRecommendationDefaultModel, HealthReportShortModel, RecommendationtSimpleModel, ReportsUnderReviewModel, PatientReportModel, PatientAddOnReportModel } from \"../../models/healthReport.models\";\nimport { RecommendationModel, MetricModel, RecommendationTriggerModel } from '../../../recommendations/models/recommendations.model';\n\n/**\n * Represents health reports state\n */\nexport interface HealthReportsState {\n report: HealthReportModel;\n reportForRecommendation: HealthReportModel;\n reports: HealthReportShortModel[];\n reportsUnderReview: ReportsUnderReviewModel[];\n reportsTotalCount: number;\n notificationAwaitingApproval: boolean;\n recommendationsDefault: HealthReportRecommendationDefaultModel[];\n recommendationToSend: RecommendationtSimpleModel[];\n recommendations: RecommendationModel[];\n metrics: MetricModel[];\n patientReport: PatientReportModel;\n addOnReports: PatientAddOnReportModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): HealthReportsState {\n return {\n report: null,\n reportForRecommendation: null,\n reports: [],\n reportsUnderReview: [],\n reportsTotalCount: 0,\n notificationAwaitingApproval: false,\n recommendationsDefault: [],\n recommendationToSend: [],\n recommendations: [],\n metrics: [],\n patientReport: null,\n addOnReports: []\n };\n}\n\n/**\n * Provides health reports states management\n */\n@StoreConfig({name: 'healthReports', resettable: true })\nexport class HealthReportsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public resetReportForRecommendation(): void {\n this.update({ reportForRecommendation: null });\n }\n\n public getCurrentReport(): HealthReportModel {\n return this.getValue().report;\n }\n\n public getCurrentReportOwner(): HealthReportOwnerModel {\n return this.getValue().report.owner;\n }\n\n public getRecommendationToSend(): RecommendationtSimpleModel[] {\n return this.getValue().recommendationToSend;\n }\n\n public putRecommendationToSend(recommendation: RecommendationtSimpleModel[]): void {\n this.update({ recommendationToSend: recommendation });\n }\n\n\n public addRecommendation(recommendation: RecommendationModel) {\n this.update({ recommendations: [...this.getValue().recommendations, recommendation] });\n }\n\n public updateRecommendation(recommendation: RecommendationModel) {\n const recommendations = this.getValue().recommendations;\n this.update({ recommendations: recommendations.map(x => x.id === recommendation.id ? recommendation : x) });\n }\n\n public removeRecommendation(id: number) {\n this.update({ recommendations: this.getValue().recommendations.filter(i => i.id !== id) });\n }\n\n public addRecommendationTrigger(trigger: RecommendationTriggerModel) {\n const recommendation = this.getValue().recommendations.find(x => x.id === trigger.recommendationId);\n if (recommendation) {\n const triggers = [...recommendation.recommendationTriggers, trigger];\n this.update({ recommendations: this.getValue().recommendations.map(x => x.id === recommendation.id ? {...recommendation, recommendationTriggers: triggers} : x) });\n }\n }\n\n public updateRecommendationTrigger(trigger: RecommendationTriggerModel) {\n const recommendation = this.getValue().recommendations.find(x => x.id === trigger.recommendationId);\n if (recommendation) {\n const triggers = recommendation.recommendationTriggers.map(x => x.id === trigger.id ? trigger : x);\n\n this.update({ recommendations: this.getValue().recommendations.map(x => x.id === recommendation.id ? {...recommendation, recommendationTriggers: triggers} : x) });\n }\n }\n\n public removeRecommendationTrigger(recommendationId: number, triggerId: number) {\n const recommendation = this.getValue().recommendations.find(x => x.id === recommendationId);\n if (recommendation) {\n const triggers = recommendation.recommendationTriggers.filter(x => x.id !== triggerId);\n\n this.update({ recommendations: this.getValue().recommendations.map(x => x.id === recommendation.id ? {...recommendation, recommendationTriggers: triggers} : x) });\n }\n }\n}\n\nexport const healthReportsStore = new HealthReportsStore();\n","import {Query} from '@datorama/akita';\nimport {HealthReportsState, healthReportsStore, HealthReportsStore} from \"./healthReports.store\";\n\n/**\n * Provides Health Reports queries\n */\nexport class HealthReportsQuery extends Query {\n report$ = this.select(state => state.report);\n reportForRecommendation$ = this.select(state => state.reportForRecommendation);\n reports$ = this.select(state => state.reports);\n reportsUnderReview$ = this.select(state => state.reportsUnderReview);\n reportsTotalCount$ = this.select(state => state.reportsTotalCount);\n notificationAwaitingApproval$ = this.select(state => state.notificationAwaitingApproval);\n recommendationsDefault$ = this.select(state => state.recommendationsDefault);\n \n recommendations$ = this.select(state => state.recommendations);\n metrics$ = this.select(state => state.metrics);\n patientReport$ = this.select(state => state.patientReport);\n addOnReports$ = this.select(state => state.addOnReports);\n\n constructor(protected store: HealthReportsStore) {\n super(store);\n }\n}\n\nexport const healthReportsQuery = new HealthReportsQuery(healthReportsStore);\n","import React from \"react\";\nimport {useFacade} from \"./healthReportBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\n\ninterface HealthReportBadgeComponentProps {\n type: \"reports\" | \"notes\" | null;\n}\n\nexport const HealthReportBadgeComponent: React.FC = (props: HealthReportBadgeComponentProps) => {\n const [notCompleted] = useFacade(props.type);\n\n return (\n <>\n {\n notCompleted\n ? \n : <>\n }\n \n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore\";\nimport {notesQuery} from \"../../../notes/stores/notes\";\n\ninterface HealthReportBadgeComponentState {\n reportsNotifications: boolean;\n notesNotifications: boolean;\n}\n\nexport function useFacade(type: \"notes\" | \"reports\" | null): [boolean] {\n const [state, setState] = useState({\n reportsNotifications: false,\n notesNotifications: false\n } as HealthReportBadgeComponentState);\n\n const any = () => {\n switch (type) {\n case \"notes\": return state.notesNotifications;\n case \"reports\": return state.reportsNotifications;\n default: return state.notesNotifications || state.reportsNotifications;\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(healthReportsQuery.notificationAwaitingApproval$, notification => {\n setState((state) => ({\n ...state,\n reportsNotifications: notification\n }));\n }),\n onEmit(notesQuery.notificationAwaitingApproval$, notification => {\n setState((state) => ({\n ...state,\n notesNotifications: notification\n }));\n }),\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [any()];\n}","import React from \"react\";\nimport {useFacade} from \"./uncompletedMedicalHistoryBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\n\nexport const UncompletedHealthFormsBadgeComponent: React.FC = () => {\n const [notCompleted] = useFacade();\n\n return (\n <>\n {\n notCompleted\n ? \n : <>\n }\n \n );\n}","import {RosterModel} from \"../../models/roster.model\";\nimport {Store, StoreConfig} from \"@datorama/akita\";\n\nexport interface RostersState {\n rosters: RosterModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): RostersState {\n return {\n rosters: []\n };\n}\n\n/**\n * Provides roster state management\n */\n@StoreConfig({ name: 'rosters', resettable: true })\nexport class RostersStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public addRoster(roster: RosterModel) {\n const rosters = this.getValue().rosters.slice();\n rosters.push(roster);\n this.update({rosters: rosters});\n }\n\n public updateRoster(roster: RosterModel) {\n const rosters = this.getValue().rosters.slice();\n\n if (rosters.find(x => x.id === roster.id)) {\n this.update({rosters: rosters.map(x => x.id === roster.id ? roster : x)});\n } else {\n this.addRoster(roster);\n }\n }\n}\n\nexport const rostersStore = new RostersStore();","export interface RosterModel {\n id: number;\n name: string;\n isActive: boolean\n}\n\nexport enum NoPmRoster {\n January22 = 3,\n July21 = 2,\n January21 = 1,\n}\n\nexport const navigationNumber = 100","import {Query} from \"@datorama/akita\";\nimport {RostersState, rostersStore, RostersStore} from \"./rosters.store\";\n\n/**\n * Provides method for working with rosters store\n */\nexport class RostersQuery extends Query {\n rosters$ = this.select(state => state.rosters);\n\n constructor(protected store: RostersStore) {\n super(store);\n }\n\n getRosters() {\n return this.getValue().rosters;\n }\n\n isActive(rosterId: number) {\n return this.getValue().rosters.find(roster => roster.id === rosterId)?.isActive\n }\n}\n\nexport const rostersQuery = new RostersQuery(rostersStore);","import {Observable} from \"rxjs\";\nimport Axios from \"axios-observable\";\nimport {snackService} from \"../../common/snack/state\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {rostersStore, RostersStore} from \"../stores/rosters\";\nimport {RosterModel} from \"../models/roster.model\";\nimport {CreateRosterModel} from \"../models/createRoster.model\";\n\nexport class RostersService {\n private url = `${process.env.REACT_APP_API_URL}Rosters`;\n\n constructor(\n private store: RostersStore) {\n }\n\n public getAll(): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.get(`${this.url}`, config).pipe()\n .subscribe(\n response => {\n this.store.update({rosters: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public getActive(): Observable{\n return new Observable(observer => {\n Axios.get(`${this.url}/Active`).pipe()\n .subscribe(\n response => {\n this.store.update({rosters: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public create(model: CreateRosterModel): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.post(`${this.url}`, model, config).pipe()\n .subscribe(\n response => {\n this.store.addRoster(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public activate(id: number): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.put(`${this.url}/${id}/Activate`, {}, config).pipe()\n .subscribe(\n response => {\n this.store.updateRoster(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public deactivate(id: number): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.put(`${this.url}/${id}/Deactivate`, {}, config).pipe()\n .subscribe(\n response => {\n this.store.updateRoster(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const rostersService = new RostersService(rostersStore);","import React from 'react';\nimport {useFacade} from \"./unmatchedLabsBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\n\nexport const UnmatchedLabsBadgeComponent: React.FC = () => {\n const [unassignedLab] = useFacade();\n\n return (\n <>\n {\n unassignedLab\n ? \n : <>\n }\n \n );\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport { labOrdersService } from \"../../../orders/services/labOrders.service\";\nimport { labOrdersQuery } from \"../../../orders/stores/labOrdersStore\";\n\nexport function useFacade(): [boolean] {\n const [unassignedLab, setUnassignedLab] = useState(false);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(labOrdersQuery.isUnmatchedFile$, isUnmatchedFile => {\n setUnassignedLab(() => isUnmatchedFile);\n }),\n ];\n\n labOrdersService.getAnyUnmatchedFiles().subscribe()\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [unassignedLab];\n}","import { FailedDnaBadgeComponent } from \"../modules/dnaFiles/components/failedDnaBadgeComponent/FailedDnaBadgeComponent\";\nimport { FeatureFlag } from \"../modules/common/components/featureFlags/featureFlags.models\";\nimport { isFeatureFlag } from \"../modules/common/components/featureFlags/featureFlags\";\nimport MedicalHistoryIcon from \"./../components/iconComponent/MedicalHistoryIcon\";\nimport SelectedChildIcon from \"./../components/iconComponent/SelectedChildIcon\";\nimport ConversationsIcon from \"./../components/iconComponent/ConversationIcon\";\nimport AppointmentsIcon from \"./../components/iconComponent/AppointmentsIcon\";\nimport HealthReportIcon from \"./../components/iconComponent/HealthReportIcon\";\nimport { PermissionType, UserType } from \"../modules/auth/models/auth.enums\";\nimport AllPatientsIcon from \"./../components/iconComponent/AllPatientsIcon\";\nimport MyPatientsIcon from \"./../components/iconComponent/MyPatientsIcon\";\nimport HealthScoreIcon from \"../components/iconComponent/HealthScoreIcon\";\nimport PendingNotesIcon from \"../components/iconComponent/PendingNotesIcon\";\nimport FellowshipIcon from \"./../components/iconComponent/FellowshipIcon\";\nimport ShortcutsIcon from \"./../components/iconComponent/ShortcutsIcon\";\nimport LicensingIcon from \"./../components/iconComponent/LicensingIcon\";\nimport AnalyticsIcon from \"./../components/iconComponent/AnalyticsIcon\";\nimport DashboardIcon from \"./../components/iconComponent/DashboardIcon\";\nimport IntakeIcon from \"./../components/iconComponent/IntakeIcon\";\nimport UsersIcon from \"./../components/iconComponent/UsersIcon\";\nimport NotesIcon from \"./../components/iconComponent/NotesIcon\";\nimport AcademyIcon from \"./../components/iconComponent/AcademyIcon\";\nimport DNAIcon from \"./../components/iconComponent/DNAIcon\";\nimport PersonIcon from \"./../components/iconComponent/PersonIcon\";\nimport HealthPlanIcon from \"../components/iconComponent/HealthPlan\";\nimport LabsIcon from \"./../components/iconComponent/LabsIcon\";\nimport { MenuItem, MenuItemTypes } from \"../models/menu.models\";\nimport { roles, isStaffRole } from \"../modules/common/constants/roles\";\nimport { navigationService } from \"./navigation.service\";\nimport { accountService } from \"./account.service\";\nimport React from \"react\";\nimport { UnreadMessagesBadgeComponent } from \"../modules/conversations/components/unreadMessagesBadgeComponent/UnreadMessagesBadgeComponent\";\nimport { authQuery } from \"../modules/auth/stores/auth\";\nimport { EmployeeType } from \"../modules/employee/models/employee.enums\";\nimport { NewSupportTicketsBadgeComponent } from \"../modules/conversations/components/newSupportTicketsBadgeComponent/NewSupportTicketsBadgeComponent\";\nimport { ConversationsBadgeComponent } from \"../modules/conversations/components/conversationBudgeComponent/ConversationsBadgeComponent\";\nimport { UncompletedMedicalHistoryBadgeComponent } from \"../modules/questionnaire/components/uncompletedMedicalHistoryBadgeComponent/UncompletedMedicalHistoryBadgeComponent\";\nimport { HealthReportBadgeComponent } from \"../modules/healthReport/components/healthReportBadgeComponent/HealthReportBadgeComponent\";\nimport { insuranceQuery } from \"../modules/insurance/stores/insurance.query\";\nimport { UncompletedHealthFormsBadgeComponent } from \"../modules/questionnaire/components/uncompletedMedicalHistoryBadgeComponent/UncompletedHealthFormsBadgeComponent\";\nimport { confirmService } from \"./confirm.service\";\nimport { rostersService } from \"../modules/rosters/services/rosters.service\";\nimport { navigationNumber, RosterModel } from \"../modules/rosters/models/roster.model\";\nimport { UnmatchedLabsBadgeComponent } from \"../modules/unmatchedLabs/components/unmatchedLabsBadgeComponent/UnmatchedLabsBadgeComponent\";\nimport { handleCompare } from \"../modules/common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../modules/common/sorting/models/sorting-destination\";\n\nconst getPages = (featureFlags: any, rosters = []) => ({\n conversations: {\n title: 'Messaging',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Messaging,\n action: (history) => {\n navigationService.toConversations(history)\n }\n },\n staffConversation: {\n title: 'Messaging',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Messaging,\n children: [\n {\n title: 'All Messages',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Messaging,\n action: (history) => {\n navigationService.toConversations(history)\n }\n },\n {\n title: 'Patient Submissions',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.PatientsSubmissions,\n action: (history) => {\n navigationService.toPatientsSubmissions(history)\n }\n }\n ]\n },\n myPatients: {\n title: 'My Patients',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.MyPatients,\n action: (history) => {\n navigationService.toMyPatients(history)\n }\n },\n allPatients: {\n title: 'All Patients',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManagePatients,\n action: (history) => {\n navigationService.toManagePatients(history)\n }\n },\n intake: {\n title: 'Intake',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.IntakePatients,\n action: (history) => {\n navigationService.toIntakePatients(history)\n }\n },\n shortcuts: {\n title: 'Shortcuts',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Shortcuts,\n action: (history) => {\n navigationService.toShortcuts(history)\n }\n },\n dnaFiles: {\n title: 'DNA files',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.DNAFiles,\n action: (history) => {\n navigationService.toDNAFiles(history)\n }\n },\n dnaOrderDropship: {\n title: 'DNA Order Dropship',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.DNAOrderDropship,\n action: (history) => {\n navigationService.toDNAOrderDropship(history)\n }\n },\n appointments: {\n title: 'Appointments',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Appointments,\n action: (history) => {\n navigationService.toCoachAppointments(history)\n }\n },\n usersAndPods: {\n title: 'Users & Pods',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Employees,\n action: (history) => {\n navigationService.toManageEmployees(history)\n }\n },\n analytics: {\n title: 'Analytics',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Analytics,\n action: (history) => {\n navigationService.toLeadSources(history)\n }\n },\n fellowship: {\n title: 'PM Education',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Fellowship,\n children: [\n rosters.map((roster) =>\n ({\n title: roster.name,\n icon: (isSelected: boolean) => ,\n type: 100 + roster.id,\n action: (history) => {\n navigationService.toFellowship(history, roster.id)\n }\n } as MenuItem)),\n {\n title: 'Add New Roster',\n icon: (isSelected: boolean) => ,\n type: navigationNumber + MenuItemTypes.Fellowship,\n action: () => {\n confirmService.confirmWithReason('Add New Roster', 'Roster title', 'Enter roster title', 'Create', '').subscribe(\n (title) => {\n rostersService.create({name: title}).subscribe()\n }\n );\n }\n },\n ]\n },\n licensing: {\n title: 'Licensing',\n icon: (isSelected: boolean) => ,\n action: () => {\n accountService.loginToLicenceApp();\n }\n },\n pendingNotes: {\n title: 'Notes',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.PendingNotes,\n children: [\n {\n title: 'Draft Notes',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.DraftNotes,\n action: (history) => {\n navigationService.toDraftNotes(history)\n },\n disabled: false,\n },\n {\n title: 'Awaiting Approval',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.AwaitingApproval,\n action: (history) => {\n navigationService.toAwaitingApproval(history)\n },\n },\n ].filter(x => x)\n },\n employerAdmin: {\n title: 'Employer Admin',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.EmployerAdmin,\n action: (history) => {\n navigationService.toEmployerAdmin(history)\n }\n },\n engineeringAdmin: {\n title: 'Engineering Admin Tool',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.EngineeringAdminTool,\n action: (history) => {\n navigationService.toEngineeringAdminTool(history)\n }\n },\n insuranceCarriers: {\n title: 'Insurance Carriers',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.EligibleInsurances,\n action: (history) => {\n navigationService.toEligibleInsurances(history)\n }\n },\n insuranceConfigurations: {\n title: 'Insurance Configurations',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.InsuranceConfigurations,\n action: (history) => {\n navigationService.toInsuranceConfigurations(history)\n }\n },\n opsAdminTools: {\n title: 'OPS Admin Tools',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.OpsAdminTools,\n action: (history) => {\n navigationService.toOpsAdminTools(history)\n }\n },\n managePromoCodes: {\n title: 'Promo Codes',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.PromoCodes,\n action: (history) => {\n navigationService.toManagePromoCodes(history)\n }\n },\n managePatientResponsibility: {\n title: 'Patient Responsibility',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManagePatientResponsibility,\n action: (history) => {\n navigationService.toPatientResponsibility(history)\n }\n },\n manageBanners: {\n title: 'Banners',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Banners,\n action: (history) => {\n navigationService.toManageBanners(history)\n }\n },\n manageHealthReportTemplates: {\n title: 'Health Report Templates',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.HealthReportTemplates,\n action: (history) => {\n navigationService.toHealthReportTemplates(history)\n }\n },\n manageCommonGoals: {\n title: 'Common Goals',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManageCommonGoals,\n action: (history) => {\n navigationService.toCommonGoals(history)\n }\n },\n manageCommonMdms: {\n title: 'Common MDM Plans',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManageCommonGoals,\n action: (history) => {\n navigationService.toCommonMdms(history)\n }\n },\n manageCommonSupplements: {\n title: 'Common Supplements',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManageCommonSupplements,\n action: (history) => {\n navigationService.toCommonSupplements(history)\n }\n },\n manageCommonOrders: {\n title: 'Common Orders',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManageCommonOrders,\n action: (history) => {\n navigationService.toCommonOrders(history)\n }\n },\n manageRecommendations: {\n title: 'Recommendations',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Recommendations,\n action: (history) => {\n navigationService.toRecommendations(history)\n }\n },\n kbDocuments: {\n title: 'Knowledge Base Documents',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.KBDocuments,\n action: (history) => {\n navigationService.toKBDocuments(history)\n }\n },\n manageConversationTemplates: {\n title: 'Conversation Templates',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManageConversationTemplates,\n action: (history) => {\n navigationService.toManageConversationTemplates(history)\n }\n },\n manageEmployersProfiles: {\n title: 'Employers Profiles',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ManageEmployersProfiles,\n action: (history) => {\n navigationService.toManageEmployersProfiles(history)\n }\n },\n profile: {\n title: 'Profile',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Profile,\n action: (history) => {\n navigationService.toMyProfile(history);\n },\n },\n});\n\nexport class MainMenuService {\n\n private dashboardMenuItem: MenuItem = {\n title: 'Dashboard',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Dashboard,\n action: (history) => {\n navigationService.toDashboard(history)\n }\n };\n\n\n\n private getEmployeeMenuItems = (pages: any, roleId: number): Map => {\n const result = new Map([]);\n\n result.set(this.getConversation(pages, roleId), [\n PermissionType.Conversations\n ]);\n\n result.set(pages.myPatients, [\n PermissionType.Coaching,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.dnaFiles, [\n PermissionType.DNAFileManager,\n ]);\n\n result.set(pages.dnaOrderDropship, [\n PermissionType.Coaching,\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.intake, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.shortcuts, [\n PermissionType.Shortcuts,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.appointments, [\n PermissionType.Appointments,\n PermissionType.ViewOnly\n ]);\n\n if (authQuery.getEmployeeType() === EmployeeType.Provider || authQuery.getEmployeeType() === EmployeeType.HealthCoach) {\n result.set(pages.pendingNotes, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n }\n\n result.set(pages.usersAndPods, [\n PermissionType.ManageEmployees,\n PermissionType.ManageLocations,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.allPatients, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.analytics, [\n PermissionType.PatientAnalytics,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.fellowship, [\n PermissionType.ManageFellowship,\n PermissionType.ViewOnly\n ]);\n\n result.set(pages.licensing, [\n PermissionType.ManageLicensees\n ]);\n\n if (authQuery.getRoleId() === roles.portalAdmin) {\n result.set(pages.employerAdmin, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]);\n result.set(pages.engineeringAdmin, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]);\n result.set(pages.insuranceCarriers, [\n PermissionType.ManageInsurance,\n PermissionType.ViewOnly\n ]);\n result.set(pages.managePromoCodes, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]);\n result.set(pages.managePatientResponsibility, [\n PermissionType.ManageInsurance,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageBanners, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageCommonGoals, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageCommonMdms, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageCommonSupplements, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageCommonOrders, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageRecommendations, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]);\n result.set(pages.manageEmployersProfiles, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]);\n }\n\n result.set(pages.kbDocuments, [\n PermissionType.ManageKbDocuments\n ]);\n\n if (isStaffRole(authQuery.getRoleId())) {\n result.set(pages.opsAdminTools, [\n PermissionType.OpsAdminTools\n ]);\n }\n\n result.set(pages.manageHealthReportTemplates, [\n PermissionType.ManageEmployees,\n ]);\n\n if (isStaffRole(authQuery.getRoleId()) || authQuery.getRoleId() === roles.portalAdmin) {\n result.set(pages.manageConversationTemplates, []);\n }\n\n result.set(pages.profile, []);\n\n return result;\n }\n\n private getEmployeeNavigationMenuItems = (userPermissions: PermissionType[], featureFlags: any, roleId: number, rosters?: RosterModel[]): MenuItem[] => [\n this.checkPermission(userPermissions, [\n PermissionType.Conversations\n ]) && this.getConversationMenu(roleId),\n this.checkPermission(userPermissions, [\n PermissionType.Appointments,\n PermissionType.ViewOnly\n ]) && {\n title: 'Appointments',\n type: MenuItemTypes.Appointments,\n action: (history) => {\n navigationService.toCoachAppointments(history)\n }\n },\n (authQuery.getEmployeeType() === EmployeeType.Provider || authQuery.getEmployeeType() === EmployeeType.HealthCoach) && this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'Notes',\n action: null,\n type: MenuItemTypes.PendingNotes,\n badge: ,\n children: [\n {\n title: 'Draft Notes',\n type: MenuItemTypes.DraftNotes,\n icon: (isSelected: boolean) => ,\n action: (history) => {\n navigationService.toDraftNotes(history)\n },\n disabled: false,\n },\n isFeatureFlag(featureFlags, FeatureFlag.SignOffNotes) && {\n title: 'Sign off Notes',\n type: MenuItemTypes.SignOffNotes,\n icon: (isSelected: boolean) => ,\n badge: ,\n action: (history) => {\n navigationService.toSignOffNotes(history)\n },\n disabled: false,\n },\n {\n title: 'Awaiting Approval',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.AwaitingApproval,\n action: (history) => {\n navigationService.toAwaitingApproval(history)\n },\n },\n ].filter(x => x)\n },\n {\n title: 'Patients',\n action: null,\n type: MenuItemTypes.Patients,\n children: [\n this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'All Patients',\n type: MenuItemTypes.ManagePatients,\n icon: (isSelected: boolean) => ,\n action: (history) => {\n navigationService.toManagePatients(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.Coaching,\n PermissionType.ViewOnly\n ]) && {\n title: 'My Patients',\n type: MenuItemTypes.MyPatients,\n icon: (isSelected: boolean) => ,\n action: (history) => {\n navigationService.toMyPatients(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'Intake',\n type: MenuItemTypes.IntakePatients,\n icon: (isSelected: boolean) => ,\n action: (history) => {\n navigationService.toIntakePatients(history)\n }\n },\n ].filter(x => x)\n },\n {\n title: 'Settings',\n action: null,\n type: MenuItemTypes.Settings,\n badge: this.checkPermission(userPermissions, [\n PermissionType.AssignUnmatchedResults,\n ]) ? : <>,\n children: [\n this.checkPermission(userPermissions, [\n PermissionType.Shortcuts,\n PermissionType.ViewOnly\n ]) && {\n title: 'Shortcuts',\n type: MenuItemTypes.Shortcuts,\n action: (history) => {\n navigationService.toShortcuts(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.PatientAnalytics,\n PermissionType.ViewOnly\n ]) && {\n title: 'Analytics',\n type: MenuItemTypes.Analytics,\n action: (history) => {\n navigationService.toLeadSources(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.ManageLicensees\n ]) && {\n title: 'Licensing',\n action: () => {\n accountService.loginToLicenceApp();\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.DNAFileManager\n ]) && {\n title: 'DNA',\n badge: ,\n type: MenuItemTypes.DNAFiles,\n action: (history) => {\n navigationService.toDNAFiles(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.Coaching,\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'DNA Order Dropship',\n badge: ,\n type: MenuItemTypes.DNAOrderDropship,\n action: (history) => {\n navigationService.toDNAOrderDropship(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ManageLocations,\n PermissionType.ViewOnly\n ]) && {\n title: 'Users & Pods',\n type: MenuItemTypes.Employees,\n action: (history) => {\n navigationService.toManageEmployees(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]) && {\n title: 'Employer Admin',\n type: MenuItemTypes.EmployerAdmin,\n action: (history) => {\n navigationService.toEmployerAdmin(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]) && {\n title: 'Engineering Admin Tool',\n type: MenuItemTypes.EngineeringAdminTool,\n action: (history) => {\n navigationService.toEngineeringAdminTool(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageMessages,\n PermissionType.ViewOnly\n ]) && {\n title: 'Messages',\n type: MenuItemTypes.MessagingAdminPanel,\n action: (history) => {\n navigationService.toManageMessaging(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.ManageForwarding,\n PermissionType.ViewOnly\n ]) && {\n title: 'Forwarding',\n type: MenuItemTypes.MessageForwarding,\n action: (history) => {\n navigationService.toMessageForwarding(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageInsurance,\n PermissionType.ViewOnly\n ]) && {\n title: 'Insurance Carriers',\n type: MenuItemTypes.EligibleInsurances,\n action: (history) => {\n navigationService.toEligibleInsurances(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageInsurance,\n PermissionType.ViewOnly\n ]) && {\n title: 'Insurance Configurations',\n type: MenuItemTypes.InsuranceConfigurations,\n action: (history) => {\n navigationService.toInsuranceConfigurations(history)\n }\n },\n isStaffRole(authQuery.getRoleId()) && this.checkPermission(userPermissions, [\n PermissionType.OpsAdminTools,\n ]) && {\n title: 'OPS Admin Tools',\n type: MenuItemTypes.OpsAdminTools,\n action: (history) => {\n navigationService.toOpsAdminTools(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]) && {\n title: 'Promo Codes',\n type: MenuItemTypes.PromoCodes,\n action: (history) => {\n navigationService.toManagePromoCodes(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageInsurance,\n PermissionType.ViewOnly\n ]) && {\n title: 'Patient Responsibility',\n type: MenuItemTypes.ManagePatientResponsibility,\n action: (history) => {\n navigationService.toPatientResponsibility(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.AssignUnmatchedResults\n ]) && {\n title: 'Unmatched Labs',\n badge: ,\n type: MenuItemTypes.UnmatchedLabs,\n action: (history) => {\n navigationService.toUnmatchedLabs(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]) && {\n title: 'Banners',\n type: MenuItemTypes.Banners,\n action: (history) => {\n navigationService.toManageBanners(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees\n ]) && {\n title: 'Health Report Templates',\n type: MenuItemTypes.HealthReportTemplates,\n action: (history) => {\n navigationService.toHealthReportTemplates(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'Common Goals',\n type: MenuItemTypes.ManageCommonGoals,\n action: (history) => {\n navigationService.toCommonGoals(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'Common MDM Plans',\n type: MenuItemTypes.ManageCommonMdms,\n action: (history) => {\n navigationService.toCommonMdms(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'Common Supplements',\n type: MenuItemTypes.ManageCommonSupplements,\n action: (history) => {\n navigationService.toCommonSupplements(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManagePatients,\n PermissionType.ViewOnly\n ]) && {\n title: 'Common Orders',\n type: MenuItemTypes.ManageCommonOrders,\n action: (history) => {\n navigationService.toCommonOrders(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]) && {\n title: 'Recommendations',\n type: MenuItemTypes.Recommendations,\n action: (history) => {\n navigationService.toRecommendations(history)\n }\n },\n this.checkPermission(userPermissions, [\n PermissionType.ManageKbDocuments\n ]) && {\n title: 'Knowledge Base Documents',\n type: MenuItemTypes.KBDocuments,\n action: (history) => {\n navigationService.toKBDocuments(history)\n }\n },\n (isStaffRole(authQuery.getRoleId()) ||(authQuery.getRoleId() === roles.portalAdmin)) && {\n title: 'Conversation Templates',\n type: MenuItemTypes.ManageConversationTemplates,\n action: (history) => {\n navigationService.toManageConversationTemplates(history)\n }\n },\n (authQuery.getRoleId() === roles.portalAdmin) && this.checkPermission(userPermissions, [\n PermissionType.ManageEmployees,\n PermissionType.ViewOnly\n ]) && {\n title: 'Employers Profiles',\n type: MenuItemTypes.ManageEmployersProfiles,\n action: (history) => {\n navigationService.toManageEmployersProfiles(history)\n }\n },\n ].filter(x => x).sort((a, b) => \n handleCompare(b, a, SortingDirection.Asc, \"title\")\n )\n },\n this.checkPermission(userPermissions, [\n PermissionType.ManageFellowship,\n PermissionType.ViewOnly\n ]) && {\n title: 'PM Education',\n action: null,\n type: MenuItemTypes.Fellowship,\n children: [\n ...rosters.map(roster => {\n return {\n title: roster.name,\n type: navigationNumber + roster.id,\n action: (history) => {\n navigationService.toFellowship(history, roster.id)\n }\n }\n }),\n {\n title: 'Add New Roster',\n type: navigationNumber + MenuItemTypes.Fellowship,\n action: () => {\n confirmService.confirmWithReason('Add New Roster', 'Roster title', 'Enter roster title', 'Create', '').subscribe(\n (title) => {\n rostersService.create({name: title}).subscribe()\n }\n );\n }\n },\n ]\n },\n isFeatureFlag(featureFlags, FeatureFlag.LlmPlayground) &&{\n title: 'Generic Playground',\n type: MenuItemTypes.GenericPlayground,\n action: (history) => {\n navigationService.toGenericPlayground(history)\n }\n },\n {\n title: 'Profile',\n type: MenuItemTypes.Profile,\n action: (history) => {\n navigationService.toMyProfile(history)\n }\n },\n ].filter(menuItem => menuItem);\n\n private getPatientMenuItems = (featureFlags: any): MenuItem[] => [\n {\n title: 'Dashboard',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Dashboard,\n action: (history) => {\n navigationService.toDashboard(history)\n }\n },\n {\n title: 'Messaging',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Messaging,\n action: (history) => {\n navigationService.toConversations(history)\n },\n },\n isFeatureFlag(featureFlags, FeatureFlag.MenuHealthScoreNew) && {\n title: 'Health Score',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.HealthScore,\n action: (history) => {\n navigationService.toHealthScore(history)\n },\n },\n {\n title: 'Health Report',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.HealthReport,\n children: [\n {\n title: 'My Health Report',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.MyHealthReport,\n action: (history) => {\n navigationService.toMyHealthReport(history)\n },\n },\n isFeatureFlag(featureFlags, FeatureFlag.AddOnReportPage) && {\n title: 'Add-On Reports',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.AddOnReports,\n action: (history) => {\n navigationService.toAddOnReports(history)\n },\n },\n ].filter(x => x),\n },\n isFeatureFlag(featureFlags, FeatureFlag.HealthPlanDashboard) && {\n title: 'Health Plan',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.HealthPlan,\n action: (history) => {\n navigationService.toMyHealthPlan(history)\n },\n },\n {\n title: 'Labs',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Results,\n children: [\n {\n title: 'Lab Results',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.LabsInputs,\n action: (history) => {\n navigationService.toLabs(history)\n },\n },\n {\n title: 'Lab Orders',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Orders,\n action: (history) => {\n navigationService.toOrders(history)\n }\n },\n ],\n },\n {\n title: 'Visit Notes',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Notes,\n action: (history) => {\n navigationService.toPatientNotes(history)\n }\n },\n authQuery.isSubscriptionStatusActive() &&\n {\n title: 'Appointments',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Appointments,\n children: [\n {\n title: 'Upcoming Appts',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.UpcommingAppointments,\n action: (history) => {\n navigationService.toPatientUpcommingAppointments(history)\n },\n },\n {\n title: 'Past Appts',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.PastAppointments,\n action: (history) => {\n navigationService.toPatientPastAppointments(history)\n },\n },\n ],\n },\n {\n title: 'Medical History',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Questionnaire,\n children: [\n {\n title: 'Health Forms',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.HealthForms,\n action: (history) => {\n navigationService.toMyHealthForms(history)\n },\n },\n {\n title: 'Documents',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Documents,\n action: (history) => {\n navigationService.toDocuments(history)\n },\n },\n {\n title: 'Supplements & Medications',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Supplements,\n action: (history) => {\n navigationService.toPatientsSupplements(history)\n }\n },\n {\n title: 'Microbiome',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.MicrobiomeInputs,\n action: (history) => {\n navigationService.toMicrobiome(history)\n },\n },\n ].filter(x => x),\n },\n isFeatureFlag(featureFlags, FeatureFlag.AcademyPatientChart) && {\n title: 'Academy',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.CourseHistory,\n action: (history) => {\n navigationService.toPatientCourseHistory(history)\n }\n },\n {\n title: 'Account',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Account,\n children: [\n {\n title: 'Orders',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Orders,\n action: (history) => {\n navigationService.toOrders(history)\n }\n },\n {\n title: 'Data Files',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.DataFilesInputs,\n action: (history) => {\n navigationService.toDataFiles(history)\n },\n },\n {\n title: 'Refer a Friend',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.ReferralLanding,\n action: (history) => {\n navigationService.toReferralLanding(history)\n }\n },\n {\n title: 'Profile',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Profile,\n action: (history) => {\n navigationService.toMyProfile(history);\n },\n },\n {\n title: 'Membership',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Membership,\n action: (history) => {\n navigationService.toMyMembership(history);\n },\n },\n isFeatureFlag(featureFlags, FeatureFlag.InsuranceProfile) && insuranceQuery.getInsuranceAvailability() && {\n title: 'Insurance',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Insurance,\n action: (history) => {\n navigationService.toInsurance(history);\n },\n },\n {\n title: 'Log Out',\n icon: (isSelected: boolean) => ,\n type: MenuItemTypes.Account,\n action: () => {\n accountService.logout();\n },\n },\n ].filter(x => x)\n },\n ].filter(menuItem => menuItem);\n\n private getConversation(pages: any, roleId?: number) {\n switch (roleId) {\n case roles.staff:\n case roles.careCoordinator:\n case roles.admin:\n return pages.staffConversation;\n\n case roles.portalAdmin:\n case roles.licensingProvider:\n case roles.provider:\n case roles.coach:\n case roles.fellow:\n default:\n return pages.conversations;\n }\n }\n\n private getConversationMenu(roleId?: number) {\n switch (roleId) {\n case roles.staff:\n case roles.careCoordinator:\n case roles.admin:\n return {\n title: 'Messaging',\n badge: ,\n type: MenuItemTypes.Messaging,\n children: [\n {\n title: 'All Messages',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Messaging,\n action: (history) => {\n navigationService.toConversations(history)\n }\n },\n {\n title: 'Patient Submissions',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.PatientsSubmissions,\n action: (history) => {\n navigationService.toPatientsSubmissions(history)\n }\n }\n ]\n };\n\n case roles.portalAdmin:\n case roles.licensingProvider:\n case roles.provider:\n case roles.coach:\n case roles.fellow:\n default:\n return {\n title: 'Messaging',\n icon: (isSelected: boolean) => ,\n badge: ,\n type: MenuItemTypes.Messaging,\n action: (history) => {\n navigationService.toConversations(history)\n }\n };\n }\n }\n\n private checkPermission(userPermissions: PermissionType[], permissions: PermissionType[]) {\n if (permissions.some(p => userPermissions.includes(p)))\n return true;\n return false;\n }\n\n private menuItems = new Map MenuItem[]>([\n [UserType.Patient, (featureFlags) => this.getPatientMenuItems(featureFlags)],\n [UserType.Employee, (featureFlags, userPermissions, roleId, rosters) => this.getMenuItemsByPermissions(featureFlags, userPermissions, roleId, rosters)]\n ]);\n\n public getMenuItems(featureFlags: object, userType: UserType, userPermissions?: PermissionType[], roleId?: number, rosters?: RosterModel[]) {\n const action = this.menuItems.get(userType);\n\n if (action) {\n return action(featureFlags, userPermissions, roleId, rosters);\n }\n\n return [];\n }\n\n public getMenuItemsByPermissions(featureFlags: any, userPermissions?: PermissionType[], roleId?: number, rosters?: RosterModel[]) {\n const dashboard: MenuItem[] = [this.dashboardMenuItem];\n\n if (!userPermissions || !userPermissions.length) {\n return dashboard;\n }\n\n const employeePages = getPages(featureFlags, rosters);\n const employeeMenuItems = this.getEmployeeMenuItems(employeePages, roleId);\n const menuItems = Array.from(employeeMenuItems)\n .filter(([item]) => item)\n .map(([item, permissions]) => ({ item, permissions }));\n\n const availableItems = menuItems\n .filter(({ permissions }) => permissions.some(p => userPermissions.includes(p)))\n .map(c => c.item);\n\n const employeeMenu = isFeatureFlag(featureFlags, FeatureFlag.Navigation) ? this.getEmployeeNavigationMenuItems(userPermissions, featureFlags, roleId, rosters) : availableItems;\n\n const filteredItems = employeeMenu.filter(x => x.children?.length > 0 || x.action !== null);\n\n return dashboard.concat(filteredItems);\n }\n}\n\nexport const mainMenuService = new MainMenuService();","import { makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n widget: {\n border: `1px solid ${colors.stroke}`,\n boxShadow: '0px 4px 10px rgba(168, 173, 198, 0.12)',\n borderRadius: '2px',\n marginBottom: 24,\n backgroundColor: colors.white,\n },\n switcherReverse: {\n transform: 'rotate(180deg)',\n },\n subtitle: {\n fontWeight: 500,\n },\n active: {\n color: colors.main,\n fontWeight: 500,\n },\n title: {\n textAlign: 'center',\n paddingBottom: 30,\n [theme.breakpoints.down('xs')]: {\n paddingTop: 4,\n paddingBottom: 20,\n textAlign: 'left'\n },\n }\n}));\n","import React from \"react\";\nimport MaskedInput from 'react-text-mask';\n\nexport const phoneNumberInput = (props) => {\n const {inputRef, ...other} = props;\n\n return (\n {\n inputRef(ref ? ref.inputElement : null);\n }}\n guide={false}\n keepCharPositions={true}\n mask={['(', /[1-9]/, /\\d/, /\\d/, ')', ' ', /\\d/, /\\d/, /\\d/, '-', /\\d/, /\\d/, /\\d/, /\\d/]}\n placeholderChar=\"_\"\n showMask\n />\n );\n};","/**\n * Returns last nested object by keys\n * @param keys\n * @param source\n */\nexport function getLastObject(keys: string[], source: object) {\n return keys.reduce((acc, cur) => acc[cur], source);\n}","import { addressValidationRules, notWhitespaceValidationRule, phoneNumberValidationRule, stringLengthValidationRule } from \"../../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../../common/validation/general-validator\";\n\nexport const patientPharmacyInfomationValidator = new GeneralValidator({\n 'name': [notWhitespaceValidationRule(), stringLengthValidationRule(1, 50)],\n 'phone': [phoneNumberValidationRule],\n 'streetAddress': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()]\n});\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { profileService } from \"../../../../account/services/profile.service\";\nimport { profileQuery } from \"../../../../account/stores/profileStore\";\nimport { getLastObject } from \"../../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../common/validation/error-state\";\nimport { PatientPharmacyInfoModel, getInitPharmacyInfo } from \"../../../../patients/models/patient.model\";\nimport { patientPharmacyInfomationValidator } from \"../../../../employee/components/patientInformationRedesignComponent/patientInformationComponentValidator/patientPharmacyInformation.validator\";\n\ninterface PharmacyInfoWidgetState extends IErrorState {\n isLoading: boolean;\n isSaveChanges: boolean;\n edit: boolean;\n pharmacyInfo: PatientPharmacyInfoModel;\n pharmacyInfoDraft: PatientPharmacyInfoModel;\n}\n\nconst pageFields = [\n 'streetAddress ',\n 'name',\n 'phone',\n 'country',\n 'city',\n 'state',\n 'zipCode'\n];\n\nexport function useFacade(): [\n PharmacyInfoWidgetState,\n Function,\n () => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n isSaveChanges: false,\n edit: false,\n pharmacyInfo: {},\n pharmacyInfoDraft: {},\n errors: {},\n } as PharmacyInfoWidgetState);\n\n const handleEditToggle = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n pharmacyInfoDraft: {\n ...state.pharmacyInfo\n }\n }));\n }\n\n const handleReset = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n pharmacyInfoDraft: {\n ...state.pharmacyInfo,\n }\n }));\n\n }\n\n const handleSave = () => {\n validateForm();\n if (!patientPharmacyInfomationValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({ ...state, isSaveChanges: true }));\n\n const model: PatientPharmacyInfoModel = {\n phone: state.pharmacyInfoDraft.phone,\n name: state.pharmacyInfoDraft.name,\n streetAddress: state.pharmacyInfoDraft.streetAddress,\n city: state.pharmacyInfoDraft.city,\n state: state.pharmacyInfoDraft.state,\n zipCode: state.pharmacyInfoDraft.zipCode,\n country: state.pharmacyInfoDraft.country\n };\n\n profileService.updateMyPharmacyInfo(model).subscribe(\n () => {\n setState(state => ({ ...state, isSaveChanges: false, edit: !state.edit, }));\n },\n () => {\n setState(state => ({ ...state, isSaveChanges: false }));\n }\n );\n }\n\n /**\n * Validates patient profile form\n */\n const validateForm = () => {\n pageFields.forEach(field => {\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.pharmacyInfoDraft);\n const value = lastObject[key];\n patientPharmacyInfomationValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n patientPharmacyInfomationValidator.validateAndSetState(state, setState, field, value);\n\n const pharmacyInfoDraft = state.pharmacyInfoDraft;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, pharmacyInfoDraft);\n lastObject[key] = value;\n\n setState({ ...state, pharmacyInfoDraft: { ...pharmacyInfoDraft } });\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(profileQuery.pharmacyInfo$, pharmacyInfo =>\n setState(state => ({ ...state, pharmacyInfo: pharmacyInfo ?? getInitPharmacyInfo() }))\n ),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n profileService.getMyPharmacyInfo().subscribe(cb, cb)\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n headerSection: {\n display: 'flex',\n justifyContent: 'space-between',\n marginBottom: 16,\n },\n title: {\n fontSize: 16,\n lineHeight: '22px',\n fontWeight: 500,\n color: colors.black,\n },\n button: {\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n },\n textGray: {\n color: colors.gray1,\n fontSize: 14,\n minWidth: 80,\n },\n breakWord: {\n flex: 1,\n paddingRight: 24,\n [theme.breakpoints.down('xs')]: {\n paddingRight: 0\n },\n },\n })\n);\n\n\n","import { Box, Button, TextField, Grid } from \"@material-ui/core\";\nimport React from \"react\";\nimport { phoneNumberInput } from \"../../../../common/components/PhoneNumberInput\";\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { useFacade } from \"./pharmacyInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./pharmacyInfoWidgetComponent.styles\";\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\n\n\nexport const PharmacyInfoWidgetComponent: React.FC = () => {\n\n const [\n {\n edit,\n isLoading,\n isSaveChanges,\n pharmacyInfo,\n pharmacyInfoDraft,\n errors,\n },\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n ] = useFacade();\n\n const classes = useStyles();\n\n if (isLoading) {\n return ;\n }\n\n const renderEditContent = () => {\n return <>\n \n
\n \n \n \n Address:\n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n Name:\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n \n Phone: \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n City:\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n Zip Code:\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n \n State:\n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n Country:\n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n
\n \n \n handleSave()}\n >\n Save changes\n \n \n \n\n handleReset()}\n >\n Reset\n \n \n \n
\n \n }\n\n const renderContent = () => {\n return (\n \n \n \n Address:\n {pharmacyInfo.streetAddress ? pharmacyInfo.streetAddress : '-'}\n \n \n \n \n Name:\n {pharmacyInfo.name ? pharmacyInfo.name : '-'}\n \n \n \n \n Phone: \n {pharmacyInfo.phone ? pharmacyInfo.phone : '-'} \n \n \n \n \n City:\n {pharmacyInfo.city ? pharmacyInfo.city : '-'}\n \n \n Zip Code:\n {pharmacyInfo.zipCode ? pharmacyInfo.zipCode : '-'}\n \n \n \n \n State: \n {pharmacyInfo.state ? pharmacyInfo.state : '-'} \n \n \n Country: \n {pharmacyInfo.country ? pharmacyInfo.country : '-'} \n \n \n \n );\n\n };\n\n return (\n \n \n \n \n Pharmacy Info\n \n \n {!edit && { handleEditToggle() }}\n >\n \n Edit\n }\n \n \n \n \n {edit ? renderEditContent() : renderContent()}\n \n \n )\n};\n\n","import { Tabs } from \"@material-ui/core\";\nimport { createStyles, makeStyles, withStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const WildHealthTabs = withStyles((theme: Theme) => ({\n root: {\n flex: 1,\n borderBottom: `1px solid ${colors.stroke}`,\n [theme.breakpoints.down('xs')]: {\n borderBottom: 'none',\n backgroundColor: '#F5F6F6',\n padding: 4\n },\n },\n indicator: {\n backgroundColor: colors.main,\n [theme.breakpoints.down('xs')]: {\n backgroundColor: 'transparent'\n },\n },\n}))(Tabs);\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n tabHeaderSection: {\n paddingTop: 8,\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n },\n },\n tabContentSection: {\n position: 'relative',\n padding: 30,\n paddingTop: 25,\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n paddingTop: 0,\n },\n },\n tab: {\n width: '50%',\n minWidth: 72,\n fontSize: 14,\n fontWeight: 400,\n padding: 12,\n fontFamily: [\"Be Vietnam Pro\"].join(\",\"),\n textTransform: \"capitalize\",\n color: colors.gray1,\n \"&:hover\": {\n color: colors.main,\n opacity: 0.8,\n },\n \"&:selected\": {\n color: colors.main,\n },\n \"&:focus\": {\n color: colors.main,\n },\n [theme.breakpoints.down('xs')]: {\n fontWeight: 500,\n },\n },\n selectedTab: {\n backgroundColor: \"#FFF !important\",\n color: `${colors.main} !important`,\n },\n editBtnSection: {\n position: 'absolute',\n top: 16, \n right: 30,\n [theme.breakpoints.down('xs')]: {\n position: 'relative',\n display: 'flex',\n justifyContent: 'flex-end',\n top: 0, \n right: 0,\n marginBottom: 16\n },\n },\n button: {\n color: colors.mediumGray,\n fontSize: 14,\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize',\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n },\n },\n textGray: {\n color: colors.gray1,\n fontSize: 14,\n minWidth: 84,\n },\n breakWord: {\n wordBreak: 'break-word',\n fontSize: 14,\n color: colors.linkBlack,\n paddingRight: 8,\n paddingLeft: 8\n },\n breakGrayWord: {\n wordBreak: 'break-word',\n fontSize: 14,\n color: colors.gray1,\n paddingRight: 8,\n paddingLeft: 8\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n customWidth: {\n width: '307px',\n maxWidth: '307px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n borderRadius: 2\n },\n arrow: {\n color: colors.lightBlack,\n },\n })\n);\n\n","import React from \"react\";\nimport { ClickAwayListener, Tooltip } from '@material-ui/core';\n\ninterface WildHealthClickableTooltipProps {\n handleClose: () => void;\n tooltipContent: any;\n isOpened: boolean;\n children: any;\n customClasses?: any;\n disableTouchListenerStatus?: boolean;\n}\n\nexport const WildHealthClickableTooltip: React.FC = (props: WildHealthClickableTooltipProps) => {\n const {\n handleClose,\n tooltipContent,\n isOpened,\n children,\n customClasses,\n disableTouchListenerStatus = false\n } = props;\n\n return (\n \n \n {children}\n \n \n );\n}\n","import { Box, Button, Grid, Tab } from \"@material-ui/core\";\nimport React, { Fragment } from \"react\";\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { useFacade } from \"./addressInfoWidgetComponent.hooks\";\nimport { useStyles, WildHealthTabs } from \"./addressInfoWidgetComponent.style\";\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\nimport clsx from \"clsx\";\nimport { AddressModel } from \"../../../../common/models/address.models\";\nimport { WildHealthClickableTooltip } from \"../../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\n\nexport const AddressInfoWidgetComponent: React.FC = () => {\n const [\n {\n isLoading,\n tabIndex,\n patient,\n open\n },\n handleChangeTab,\n handleTooltipOpen,\n handleTooltipClose\n ] = useFacade();\n\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const tooltipContent = (\n <>\n

\n Reach out to your care coordinator via messaging to edit the info\n

\n \n )\n \n if (isLoading) {\n return \n \n \n }\n\n const renderAddresscontent = (address: AddressModel) => (\n \n \n \n Address 1:\n {address.streetAddress1}\n \n \n Address 2: \n {address.streetAddress2} \n \n \n \n \n City:\n {address.city}\n \n \n State: \n {address.state} \n \n \n \n \n Zip Code: \n {address.zipCode}\n \n \n Country: \n {address.country} \n \n \n \n )\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n {tabIndex == \"0\" && renderAddresscontent(patient.billingAddress)}\n {tabIndex === \"1\" && renderAddresscontent(patient.shippingAddress)}\n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { PatientModel } from \"../../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../../patients/stores/patientsStore\";\nimport { authQuery } from \"../../../../auth/stores/auth\";\n\ninterface AddressInfoWidgetComponentState {\n isLoading: boolean;\n tabIndex: string;\n patient: PatientModel;\n open: boolean;\n}\n\nexport function useFacade(): [\n AddressInfoWidgetComponentState,\n (event,tabIndex) => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n tabIndex: \"0\",\n patient: {},\n open: false\n} as AddressInfoWidgetComponentState);\n\n const handleChangeTab = (event, newTabIndex) => {\n setState((state) => ({ \n ...state, \n tabIndex: newTabIndex })\n );\n }\n\n const handleTooltipOpen = () => {\n setState(state => ({ ...state, open: true }));\n };\n\n const handleTooltipClose = () => {\n setState(state => ({ ...state, open: false }));\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(authQuery.getPatientId())) {\n setState(state => ({\n ...state,\n patient: targetPatient,\n patientDraft: targetPatient,\n isLoading: false,\n }));\n }\n }),\n ];\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, []);\n\n return [\n state,\n handleChangeTab,\n handleTooltipOpen,\n handleTooltipClose\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n button: {\n color: colors.mediumGray,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize',\n [theme.breakpoints.down('xs')]: {\n display: 'none'\n },\n },\n textGray: {\n color: colors.gray1,\n fontSize: 14,\n minWidth: 118,\n },\n breakWord: {\n wordBreak: 'break-word',\n fontSize: 14,\n color: colors.linkBlack,\n paddingRight: 8,\n paddingLeft: 8\n },\n breakGrayWord: {\n wordBreak: 'break-word',\n fontSize: 14,\n color: colors.gray1,\n paddingRight: 8,\n paddingLeft: 8\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n customWidth: {\n width: '307px',\n maxWidth: '307px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n borderRadius: 2\n },\n arrow: {\n color: colors.lightBlack,\n },\n dividerSection: {\n marginTop: 22,\n marginBottom: 25,\n [theme.breakpoints.down('xs')]: {\n marginTop: 16\n },\n },\n renderDivider: {\n backgroundColor: colors.stroke,\n },\n })\n);\n\n\n","import { Avatar, Box, Button, Divider, Grid } from \"@material-ui/core\";\nimport React from \"react\";\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { displayAge, displayDate } from \"../../../../common/helpers/display-date\";\nimport { Gender } from \"../../../../common/models/user.models\";\nimport { useFacade } from \"./generalInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./generalInfoWidgetComponent.styles\";\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { fullName } from \"../../../../common/helpers/display-name\";\nimport { EmployeeShortModel } from \"../../../../employee/models/employee.models\";\nimport { EmployeeType } from \"../../../../employee/models/employee.enums\";\nimport { WildHealthClickableTooltip } from \"../../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\n\nexport const GeneralInfoWidgetComponent: React.FC = () => {\n const [\n {\n isLoading,\n patient,\n open\n },\n handleTooltipOpen,\n handleTooltipClose\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const tooltipContent = (\n <>\n

\n Reach out to your care coordinator via messaging to edit the info\n

\n \n )\n\n if (isLoading) {\n return ;\n }\n\n const displayAssignedEmployees = (employees: EmployeeShortModel[]) => {\n if (employees.length) {\n return {employees.map((e) => fullName(e)).join(\", \")}\n }\n return Not assigned\n }\n\n return (\n \n \n \n \n \n \n {`${patient.firstName} ${patient.lastName}`}\n \n {`${displayAge(patient.birthday)} `}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Phone:\n {patient.phoneNumber}\n \n \n Date of birth: \n {displayDate(patient.birthday)} \n \n \n Provider: \n {displayAssignedEmployees(patient.assignedEmployees.filter(el => el.type === EmployeeType.Provider))}\n \n \n \n \n Email: \n {patient.email}\n \n \n Gender: \n {Gender[patient.gender]}\n \n \n Health Coach: \n {displayAssignedEmployees(patient.assignedEmployees.filter(el => el.type === EmployeeType.HealthCoach))}\n \n \n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../common/validation/error-state\";\nimport { PatientModel } from \"../../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../../patients/stores/patientsStore/patients.query\";\nimport { authQuery } from \"../../../../auth/stores/auth\";\n\ninterface GeneralInfoWidgetComponentState extends IErrorState {\n isLoading: boolean;\n patient: PatientModel;\n open: boolean;\n}\n\nexport function useFacade(): [\n GeneralInfoWidgetComponentState,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n patient: {},\n open: false\n } as GeneralInfoWidgetComponentState);\n\n const handleTooltipOpen = () => {\n setState(state => ({ ...state, open: true }));\n };\n\n const handleTooltipClose = () => {\n setState(state => ({ ...state, open: false }));\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(authQuery.getPatientId())) {\n setState(state => ({\n ...state,\n patient: targetPatient,\n isLoading: false,\n }));\n }\n }),\n ];\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, []);\n\n return [\n state,\n handleTooltipOpen,\n handleTooltipClose\n ];\n}\n","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCheckedIcon = function SvgCheckedIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 4C0.5 1.79086 2.29086 0 4.5 0H20.5C22.7091 0 24.5 1.79086 24.5 4V20C24.5 22.2091 22.7091 24 20.5 24H4.5C2.29086 24 0.5 22.2091 0.5 20V4Z\",\n fill: \"\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.2715 7.23259C19.5762 7.54271 19.5762 8.04552 19.2715 8.35564L11.9915 15.7674C11.6869 16.0775 11.1931 16.0775 10.8885 15.7674L6.72846 11.5321C6.42385 11.222 6.42385 10.7192 6.72846 10.4091C7.03307 10.0989 7.52693 10.0989 7.83154 10.4091L11.44 14.0828L18.1685 7.23259C18.4731 6.92247 18.9669 6.92247 19.2715 7.23259Z\",\n fill: \"#03293B\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCheckedIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CheckedIcon.c4eb2640.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCheckedIconDefault = function SvgCheckedIconDefault(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.5 4C0.5 1.79086 2.29086 0 4.5 0H20.5C22.7091 0 24.5 1.79086 24.5 4V20C24.5 22.2091 22.7091 24 20.5 24H4.5C2.29086 24 0.5 22.2091 0.5 20V4Z\",\n fill: \"\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M19.2715 7.23259C19.5762 7.54271 19.5762 8.04552 19.2715 8.35564L11.9915 15.7674C11.6869 16.0775 11.1931 16.0775 10.8885 15.7674L6.72846 11.5321C6.42385 11.222 6.42385 10.7192 6.72846 10.4091C7.03307 10.0989 7.52693 10.0989 7.83154 10.4091L11.44 14.0828L18.1685 7.23259C18.4731 6.92247 18.9669 6.92247 19.2715 7.23259Z\",\n fill: \"#FFFFFF\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCheckedIconDefault, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CheckedIconDefault.4c6322e1.svg\";\nexport { ForwardRef as ReactComponent };","import {\n Checkbox,\n FormControlLabel,\n makeStyles,\n} from '@material-ui/core';\nimport React from 'react';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport { ReactComponent as CheckedIcon } from '@img/icons/CheckedIcon.svg';\nimport { ReactComponent as CheckedIconDefault } from '@img/icons/CheckedIconDefault.svg';\nimport { colors } from '../constants/colors';\n\nconst useStyles = makeStyles({\n root: {\n marginRight: 4,\n },\n});\n\ninterface CheckboxProps {\n id: string,\n label: JSX.Element | string,\n checkStatus: boolean;\n handleCheck: (event: React.ChangeEvent) => void,\n color?: \"primary\" | \"secondary\" | \"default\",\n fill?: string;\n disabled?: boolean;\n defaultIcon?: boolean;\n}\n\nexport const WildHealthCheckbox: React.FC = (props: CheckboxProps) => {\n const { id, label, checkStatus, handleCheck, color = \"primary\", disabled = false, defaultIcon = false, fill = colors.lightNavy,} = props;\n const classes = useStyles();\n\n const controlIcon = ;\n const controlCheckedIcon = defaultIcon \n ? \n : ;\n const control = (\n \n );\n\n return (\n \n );\n};","import React from \"react\";\nimport { Box, Button } from \"@material-ui/core\";\nimport BorderColorIcon from '@material-ui/icons/BorderColor';\nimport { useFacade } from \"./sessionRecordingSettingWidgetComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { colors } from \"../../../../common/constants/colors\";\nimport { WildHealthCheckbox } from '../../../../common/components/WildHealthCheckbox';\n\n\nexport const SessionRecordingSettingWidgetComponent: React.FC = () => {\n\n const [\n {\n isLoading,\n edit,\n isSaveChanges,\n meetingRecordingConsent,\n meetingRecordingConsentDraft,\n },\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n ] = useFacade();\n\n if (isLoading) {\n return ;\n }\n\n const renderEditContent = () => {\n return <>\n \n \n Enable Session Recording}\n checkStatus={meetingRecordingConsentDraft}\n handleCheck={() => handleChanges()}\n />\n \n \n \n handleSave()}\n >\n Save changes\n \n \n \n handleReset()}\n >\n Reset\n \n \n \n \n \n }\n\n const renderContent = () => {\n return (\n \n Session Recording:\n {meetingRecordingConsent ? 'Enabled' : 'Disabled'}\n \n );\n\n };\n\n return (\n \n \n \n Settings\n \n \n {!edit && { handleEditToggle() }}\n >\n \n Edit\n }\n \n \n \n {edit ? renderEditContent() : renderContent()}\n \n \n )\n};\n\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../common/validation/error-state\";\nimport { PatientModel } from \"../../../../patients/models/patient.model\";\nimport { usersService } from \"../../../../../services/users.service\";\nimport { patientsQuery } from \"../../../stores/patientsStore\";\n\ninterface SessionRecordingSettingWidgetState extends IErrorState {\n isLoading: boolean;\n isSaveChanges: boolean;\n edit: boolean;\n patient: PatientModel;\n meetingRecordingConsent: boolean;\n meetingRecordingConsentDraft: boolean;\n}\n\nexport function useFacade(): [\n SessionRecordingSettingWidgetState,\n () => void,\n () => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n isSaveChanges: false,\n edit: false,\n patient: null,\n meetingRecordingConsent: false,\n meetingRecordingConsentDraft: false,\n errors: {},\n } as SessionRecordingSettingWidgetState);\n\n const handleEditToggle = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n meetingRecordingConsentDraft: state.meetingRecordingConsent\n }));\n }\n\n const handleReset = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n meetingRecordingConsentDraft: state.meetingRecordingConsent\n }));\n\n }\n\n const handleSave = () => {\n\n setState(state => ({ ...state, isSaveChanges: true }));\n const model = {\n email: state.patient.email,\n firstName: state.patient.firstName,\n lastName: state.patient.lastName,\n gender: state.patient.gender.toString(),\n birthDate: state.patient.birthday,\n phoneNumber: state.patient.phoneNumber,\n smsMarketing: false,\n billingAddress: state.patient.billingAddress,\n shippingAddress: state.patient.shippingAddress,\n meetingRecordingConsent: state.meetingRecordingConsentDraft\n };\n\n usersService.update(model).subscribe(\n () => {\n setState(state => ({ ...state, isSaveChanges: false, edit: !state.edit, meetingRecordingConsent: state.meetingRecordingConsentDraft }));\n },\n () => {\n setState(state => ({ ...state, isSaveChanges: false }));\n }\n )\n }\n\n const handleChanges = () => {\n setState({ ...state, meetingRecordingConsentDraft: !state.meetingRecordingConsentDraft });\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n setState(state => ({\n ...state,\n patient: targetPatient,\n }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n usersService.getMe().subscribe((response) => setState(state => ({ ...state, isLoading: false, meetingRecordingConsent: response.meetingRecordingConsent })), cb)\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n ];\n}\n","import React from \"react\";\nimport { Box, Grid, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { useFacade } from \"./patientProfilePage.hooks\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { useStyles } from './patientProfilePage.styles';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { PharmacyInfoWidgetComponent } from \"../../../patients/components/PatientInformationWidget/PharmacyInfoWidgetComponent/PharmacyInfoWidgetComponent\";\nimport clsx from \"clsx\";\nimport { AddressInfoWidgetComponent } from \"../../../patients/components/PatientInformationWidget/AddressInfoWidgetComponent/AddressInfoWidgetComponent\";\nimport { GeneralInfoWidgetComponent } from \"../../../patients/components/PatientInformationWidget/GeneralInfoWidgetComponent/GeneralInfoWidgetComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { SessionRecordingSettingWidgetComponent } from \"../../../patients/components/PatientInformationWidget/SessionRecordingSettingWidgetComponent/SessionRecordingSettingWidgetComponent\";\n\n\nexport const PatientProfilePage: React.FC = () => {\n const [\n {\n isLoading,\n },\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const theme = useTheme();\n const smallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderGeneralInfo = () => {\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n return (\n <>\n \n \n \n \n \n \n \n )\n }\n\n return (\n \n \n Personal info \n \n \n {renderGeneralInfo()}\n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}","import { useEffect, useState } from \"react\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\n\ninterface PatientProfilePageState {\n isLoading: boolean;\n}\n\nexport function useFacade(): [PatientProfilePageState] {\n const [state, setState] = useState({\n isLoading: true,\n } as PatientProfilePageState);\n\n const useEffectCB = () => {\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n \n patientsService.getMyInfo(DataSpecificationsEnum.UpdatePatientSpecification).subscribe(cb, cb);\n }\n\n useEffect(useEffectCB, []);\n\n return [state];\n}","import { Box } from \"@material-ui/core\";\nimport React from \"react\";\n\nexport interface WildHealthTabPanelProps {\n keepMounted?: boolean;\n children?: JSX.Element;\n selected: string;\n index: string;\n other?: any;\n minHeight?: number;\n}\n\nexport const WildHealthTabPanel: React.FC = (props: WildHealthTabPanelProps) => {\n const {\n keepMounted,\n children,\n selected,\n index,\n other,\n minHeight = 300\n } = props;\n\n const toRender = !keepMounted ? selected === index : true;\n\n return (\n
\n \n ) : (\n \n \n {smallScreenSecondAvatar}\n
\n \n ) : (\n \n {secondAvatar}\n {firstAvatar}\n \n )}\n \n );\n};\n","import { Badge } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n activeChat: {\n background: colors.lightGray2,\n },\n chatNames: {\n color: colors.black,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 14,\n maxWidth: 175\n },\n chatSubTitle: {\n color: colors.black,\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n },\n chatLastMessage: {\n color: colors.gray1,\n fontWeight: 400,\n fontSize: 12,\n },\n chatDate: {\n color: colors.gray1,\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n },\n chats: {\n flex: 1,\n minHeight: 300,\n height: 'calc(100vh - 304px)',\n maxHeight: 'calc(100vh - 304px)',\n overflow: 'auto',\n },\n unreadMessages: {\n width: 24,\n height: 24,\n borderRadius: '100px',\n backgroundColor: `${colors.main}24`,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: colors.mainDark,\n fontSize: 12,\n fontWeight: 700\n },\n listItem: {\n '&:hover .favorite-item': {\n visibility: 'visible'\n },\n '&:hover .date-section': {\n visibility: 'hidden'\n }\n },\n favoriteAction: {\n position: 'absolute',\n right: 32,\n visibility: 'hidden',\n '&:hover': {\n visibility: 'visible'\n }\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.lightBlack,\n padding: 8,\n },\n arrow: {\n color: colors.lightBlack,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n\nexport const UnreadMessages = withStyles((theme: Theme) => ({\n root: {\n '& .MuiBadge-badge': {\n background: colors.main,\n color: colors.white\n }\n },\n}))(Badge);\n","import React from \"react\";\nimport { Box, ListItem, ListItemIcon, Tooltip, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport StarIcon from '@material-ui/icons/Star';\nimport StarBorderIcon from '@material-ui/icons/StarBorder';\nimport clsx from \"clsx\";\nimport { displayShortName } from \"../../helpers/messages.converter\";\nimport { EmployeeConversationModel, EmployeeConversationParticipantModel } from \"../../models/conversation.models\";\nimport { MessageAvatarsComponent } from \"../messageAvatarsComponent/MessageAvatarsComponent\";\nimport { useStyles, UnreadMessages } from \"./chatItemComponent.styles\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\nimport { ConversationState } from \"../../models/conversationState.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\nexport interface ChatItemComponentProps {\n item: EmployeeConversationModel;\n index: number;\n displayDate: string;\n isFavorite: boolean;\n targetConversationId?: number;\n handleConversationSelect: (item: EmployeeConversationModel) => void;\n handleUpdateFavoriteConversation: (item: EmployeeConversationModel, isFavorite: boolean) => void;\n}\n\nexport const ChatWithPatientItemComponent: React.FC = (props: ChatItemComponentProps) => {\n const {\n item,\n index,\n displayDate,\n isFavorite,\n targetConversationId,\n handleConversationSelect,\n handleUpdateFavoriteConversation,\n } = props;\n\n const classes = useStyles();\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const participants = [...item.patients, ...item.employees.filter(el => el.isActive && !el.isDeleted)];\n const initials = participants.map((i: EmployeeConversationParticipantModel) => ({image: profileQuery.getPhoto(i?.employeeId ?? 0), initials: displayShortName(i.firstName, i.lastName)}));\n const patient = item.patients[0];\n\n return (\n \n handleConversationSelect(item)}>\n \n {isSmallScreen ? (\n \n \n \n ) : (\n \n \n \n )}\n \n\n \n \n {`${patient.firstName} ${patient.lastName}`}\n Plan: {patient.hasActiveSubscription ? patient.subscriptionPlanName : `Inactive (${patient.subscriptionPlanName})`}\n \n \n \n {displayDate}\n {isSmallScreen && item.unreadMessages > 0 && \n {item.unreadMessages}\n }\n \n \n \n \n {isFavorite ? 'Unfavorite a Thread' : 'Mark Thread as Favorite'}

} classes={customTooltipClasses}>\n {isFavorite ? handleUpdateFavoriteConversation(item, isFavorite)} /> : handleUpdateFavoriteConversation(item, isFavorite)} />}\n
\n
\n \n )\n}\n\nexport const InternalChatItemComponent: React.FC = (props: ChatItemComponentProps) => {\n const {\n item,\n index,\n displayDate,\n isFavorite,\n targetConversationId,\n handleConversationSelect,\n handleUpdateFavoriteConversation,\n } = props;\n\n const classes = useStyles();\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const employees = [...item.employees.filter(el => el.isActive && !el.isDeleted)];\n const initials = employees.map(i => ({image: profileQuery.getPhoto(i.employeeId), initials: displayShortName(i.firstName, i.lastName)}));\n const patient = item.patients[0];\n\n const renderEmployee = () => {\n if (employees.length > 1) {\n const otherEmployees = employees.filter(x => x.employeeId !== authQuery.getEmployeeId())\n return `${otherEmployees[0].firstName} ${otherEmployees[0].lastName}`;\n }\n return `${employees[0].firstName} ${employees[0].lastName}`;\n }\n\n return (\n \n handleConversationSelect(item)}>\n \n {isSmallScreen ? (\n \n \n \n ) : (\n \n \n \n )}\n \n \n \n {renderEmployee()}\n {`Patient: ${patient.firstName} ${patient.lastName}`}\n \n \n \n {displayDate}\n {isSmallScreen && item.unreadMessages > 0 && \n {item.unreadMessages}\n }\n \n \n \n \n {isFavorite ? 'Unfavorite a Thread' : 'Mark Thread as Favorite'}

} classes={customTooltipClasses}>\n {isFavorite ? handleUpdateFavoriteConversation(item, isFavorite)} /> : handleUpdateFavoriteConversation(item, isFavorite)} />}\n
\n
\n \n )\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n chat: {\n width: '100%',\n height: '100%',\n display: 'grid',\n boxShadow: '0px 7px 60px rgba(168, 173, 198, 0.12)',\n background: colors.white,\n borderRadius: 2,\n\n gridTemplateAreas: '\"messages side\"',\n gridTemplateColumns: 'calc(100% - 325px) 325px',\n [theme.breakpoints.down('md')]: {\n gridTemplateColumns: '100%',\n gridTemplateAreas: '\"messages\"',\n },\n },\n header: {\n height: 70,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n [theme.breakpoints.down('sm')]: {\n height: 'auto',\n display: 'block',\n },\n },\n side: {\n gridArea: 'side',\n height: '100%',\n display: 'flex',\n },\n sideMaxHeight: {\n maxHeight: 'calc(100vh - 174px)',\n },\n sideContainer: {\n height: '100%',\n width: '100%',\n overflow: 'auto',\n },\n messages: {\n gridArea: 'messages',\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100vh - 174px) !important',\n minHeight: 565,\n [theme.breakpoints.down('sm')]: {\n minHeight: \"calc(100vh - 114px) !important\",\n },\n },\n title: {\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n '&:hover': {\n color: colors.main,\n },\n },\n subject: {\n fontSize: 12,\n color: colors.gray2,\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n sideMobile: {\n width: 325,\n },\n icon: {\n stroke: colors.main,\n height: 26,\n width: 26,\n },\n settingsIcon: {\n fill: colors.main,\n height: 26,\n width: 26,\n },\n iconInfo: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n goBack: {\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.white,\n borderBottom: \"1px solid\",\n borderBottomColor: colors.stroke,\n },\n },\n titleAndAvatars: {\n display: \"flex\",\n [theme.breakpoints.down(\"xs\")]: {\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 0,\n },\n },\n })\n);\n","import React from 'react';\nimport { Box, IconButton, useTheme, useMediaQuery } from '@material-ui/core';\nimport SettingsIcon from '@material-ui/icons/Settings';\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useStylesFullWidthTabs } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.styles';\nimport { ChatsListComponent } from '../chatsListComponent/ChatsListComponent';\nimport { useFacade } from \"./employeeConversationsTabsComponent.hooks\";\nimport { ChatFilterTypes, ConversationType } from '../../models/conversation.models';\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { patientsService } from '../../../patients/services/patients.service';\nimport { conversationsService } from '../../services/conversations.service';\nimport { EmployeeType } from '../../../employee/models/employee.enums';\nimport { CreateInternalConversationDialogComponent } from '../createInternalConversationDialogComponent/CreateInternalConversationDialogComponent';\nimport { SelectUserDialogComponent } from '../selectUserDialogComponent/SelectUserDialogComponent';\nimport { ChatWithPatientItemComponent, InternalChatItemComponent } from '../chatItemComponent/ChatItemComponent';\nimport { useStyles } from '../employeeChatComponent/employeeChatComponent.styles';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { ConversationState } from '../../models/conversationState.models';\n\nexport const EmployeeMessagesTabsComponent: React.FC = () => {\n const tabsStyles = useStylesFullWidthTabs();\n const classes = useStyles();\n const [\n {\n isLoading,\n selectedTab,\n employeeType,\n conversations,\n targetConversation,\n },\n handleChangeTab,\n handleGetFilters,\n handleNavigateToSettings,\n ] = useFacade();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n // adding a null check to avoid render conversations wo patients\n const patientConversations = conversations.filter(i => (i.proxy &&\n (i.type === ConversationType.Support || i.type === ConversationType.HealthCare) && i.patients.length > 0) ||\n (i.state === ConversationState.Closed && (i.type === ConversationType.Support || i.type === ConversationType.HealthCare) && i.patients.length > 0)\n );\n\n const internalConversations = conversations.filter(i => (i.proxy && i.type === ConversationType.Internal) || (i.state === ConversationState.Closed && i.type === ConversationType.Internal));\n\n const tabs: TabItem[] = [\n {\n title: `Patients (${patientConversations.filter((pConversation) => pConversation.unreadMessages > 0).length})`,\n content: (\n {\n if (b.unreadMessages > 0) {\n return 1\n }})}\n targetConversation={targetConversation}\n filters={handleGetFilters()}\n chatTemplate={ChatWithPatientItemComponent}\n newMessageComponent={SelectUserDialogComponent}\n newMessageProps={{\n title: 'New Message',\n message: isSmallScreen ? '' : 'To:',\n placeholder: 'Select Patient Name',\n actionName: isSmallScreen ? 'Create' : 'Create New Message',\n handleGetUsers: (search) => patientsService.getAll([], [], [], [], [], [], search, 0, 1000),\n handleSubmit: (patientId) =>\n conversationsService.createConversation({ targetId: patientId, type: employeeType === EmployeeType.Staff ? ConversationType.Support : ConversationType.HealthCare })\n .subscribe()\n }}\n />\n ),\n keepMounted: true,\n },\n {\n title: `Internal (${internalConversations.filter((iConversation) => iConversation.unreadMessages > 0).length})`,\n content: (\n {\n if (b.unreadMessages > 0) {\n return 1\n }})}\n targetConversation={targetConversation}\n chatTemplate={InternalChatItemComponent}\n filters={[ChatFilterTypes.Active, ChatFilterTypes.SignedOff]}\n newMessageComponent={CreateInternalConversationDialogComponent}\n newMessageProps={{\n handleGetUsers: (search) => employeeService.getActive(search),\n handleSubmit: (patientId, employeeIds) =>\n conversationsService.createInternalConversation({ patientId: patientId, employeeIds: employeeIds })\n .subscribe()\n }}\n />\n ),\n keepMounted: true,\n },\n ];\n\n const renderSetting = () => {\n return (authQuery.getEmployeeType() !== EmployeeType.Staff &&\n \n handleNavigateToSettings()}>\n \n \n \n );\n }\n\n return (\n \n )\n};\n","import { useEffect, useState } from 'react';\nimport { Subscription } from 'rxjs';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { EmployeeType } from '../../../employee/models/employee.enums';\nimport {ChatFilterTypes, EmployeeConversationModel, llmConversationTypes} from \"../../models/conversation.models\";\nimport { employeeConversationsQuery } from '../../stores/employeeConversationsStore/employeeConversations.query';\nimport { employeeConversationsStore } from '../../stores/employeeConversationsStore/employeeConversations.store';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useHistory } from \"react-router\";\n\ninterface EmployeeConversationsTabsComponentState {\n isLoading: boolean;\n selectedTab: number;\n targetConversation: EmployeeConversationModel;\n conversations: EmployeeConversationModel[];\n conversationProxies: any[];\n employeeType: EmployeeType;\n}\n\nlet stateContext: EmployeeConversationsTabsComponentState = null;\n\n\nexport function useFacade(): [\n EmployeeConversationsTabsComponentState,\n (tab: number) => void,\n () => ChatFilterTypes[],\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n selectedTab: 0,\n targetConversation: null,\n conversations: [],\n conversationProxies: [],\n employeeType: authQuery.getEmployeeType(),\n } as EmployeeConversationsTabsComponentState);\n\n const history = useHistory();\n\n stateContext = state;\n\n const handleChangeTab = (tab: number) => {\n employeeConversationsStore.setTab(tab);\n }\n\n const handleGetFilters = () => {\n const result = [ChatFilterTypes.Active];\n\n switch (state.employeeType) {\n case EmployeeType.Provider:\n return [...result, ChatFilterTypes.Assigned];\n case EmployeeType.Staff:\n return [...result, ChatFilterTypes.Closed];\n case EmployeeType.HealthCoach:\n default:\n return result;\n }\n }\n\n const handleNavigateToSettings = () => {\n navigationService.toMessageSettings(history);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.tab$, tab =>\n setState(state => ({ ...state, selectedTab: tab }))\n ),\n onEmit(employeeConversationsQuery.conversations$, conversations => {\n setState(state => ({ ...state, isLoading: !employeeConversationsQuery.isReady(), conversations: conversations }));\n }),\n onEmit(employeeConversationsQuery.targetConversation$, conversation => {\n\n // prevent default conversation components from loading llm conversations\n if (conversation && llmConversationTypes.includes(conversation.type)) {\n return;\n }\n\n setState(state => ({ ...state, targetConversation: conversation }))\n }),\n ];\n\n setState(state => ({ ...state, isLoading: !employeeConversationsQuery.isReady(), conversations: employeeConversationsQuery.getConversations() }));\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, []);\n\n return [\n state,\n handleChangeTab,\n handleGetFilters,\n handleNavigateToSettings,\n ];\n}","import { Store, StoreConfig } from '@datorama/akita';\nimport { ScheduledMessageModel, UploadedAttachmentModel } from '../../models/message.models';\n\n/**\n * Represents Scheduled Messages state\n */\nexport interface ScheduledMessagesState {\n editingTarget: ScheduledMessageModel;\n scheduledMessages: ScheduledMessageModel[];\n uploadedAttachments: UploadedAttachmentModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): ScheduledMessagesState {\n return {\n editingTarget: null,\n scheduledMessages: [],\n uploadedAttachments: [],\n };\n}\n\n/**\n * Provides Scheduled Messages states management\n */\n@StoreConfig({ name: 'scheduledMessages', resettable: true })\nexport class ScheduledMessagesStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n startEditing(message: ScheduledMessageModel) {\n this.update({ editingTarget: message, uploadedAttachments: message.uploadedAttachments });\n }\n\n endEditing() {\n this.update({ editingTarget: null, uploadedAttachments: [] });\n }\n\n setScheduledMessages(message: ScheduledMessageModel[]) {\n this.update({ scheduledMessages: message });\n }\n\n addScheduledMessage(message: ScheduledMessageModel) {\n const scheduledMessages = this.getValue().scheduledMessages;\n this.update({ scheduledMessages: [...scheduledMessages, message] });\n }\n\n updateScheduledMessage(message: ScheduledMessageModel, newAttachments: UploadedAttachmentModel[]) {\n const messageToSchedule = message;\n if (newAttachments && newAttachments.length) {\n messageToSchedule.uploadedAttachments = [...messageToSchedule.uploadedAttachments, ...newAttachments]\n }\n const scheduledMessages = this.getValue().scheduledMessages.map(i => i.id === message.id ? messageToSchedule : i); \n this.update({ scheduledMessages: scheduledMessages });\n }\n\n deleteScheduledMessage(id: number) {\n const scheduledMessages = this.getValue().scheduledMessages.filter(i => i.id !== id);\n this.update({ scheduledMessages: scheduledMessages });\n }\n\n setUploadedAttachments(attachments: UploadedAttachmentModel[]) {\n this.update({ uploadedAttachments: attachments });\n }\n}\n\nexport const scheduledMessagesStore = new ScheduledMessagesStore();","import { Query } from '@datorama/akita';\nimport { ScheduledMessagesState, scheduledMessagesStore, ScheduledMessagesStore } from \"./scheduledMessages.store\";\n\n/**\n * Provides coaches queries\n */\nexport class ScheduledMessagesQuery extends Query {\n editingTarget$ = this.select(state => state.editingTarget);\n scheduledMessages$ = this.select(state => state.scheduledMessages);\n uploadedAttachments$ = this.select(state => state.uploadedAttachments);\n\n constructor(protected store: ScheduledMessagesStore) {\n super(store);\n }\n}\n\nexport const scheduledMessagesQuery = new ScheduledMessagesQuery(scheduledMessagesStore);","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgOpenSide = function SvgOpenSide(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 20,\n viewBox: \"0 0 26 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4167 15.8337L7.58335 10.0003L13.4167 4.16699\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.4167 15.8337L12.5834 10.0003L18.4167 4.16699\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOpenSide, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/OpenSide.ae0ffa83.svg\";\nexport { ForwardRef as ReactComponent };","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { RescheduleMessageModel, ScheduledMessageModel, ScheduleMessageModel, UploadedAttachmentModel } from \"../models/message.models\";\nimport { scheduledMessagesStore, ScheduledMessagesStore } from \"../stores/scheduledMessagesStore/scheduledMessages.store\";\n\n/**\n * Provides method for working with scheduled messages\n */\nexport class ScheduleMessageService {\n private conversationsUrl = `${process.env.REACT_APP_API_URL}Conversations`;\n\n private getConfig = () => ({ headers: authHeader() });\n\n constructor(private scheduledMessagesStore: ScheduledMessagesStore) { }\n\n public get(conversationId: number): Observable {\n const url = `${this.conversationsUrl}/Employee/ScheduledMessages/${conversationId}`;\n\n return new Observable(observer => {\n Axios.get(url, this.getConfig()).pipe()\n .subscribe(\n response => {\n this.scheduledMessagesStore.setScheduledMessages(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getAttachments(scheduledMessageId: number): Observable {\n const url = `${this.conversationsUrl}/Employee/ScheduledMessage/${scheduledMessageId}/Attachments`;\n\n return new Observable(observer => {\n Axios.get(url, this.getConfig()).pipe()\n .subscribe(\n response => {\n this.scheduledMessagesStore.setUploadedAttachments(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public schedule(model: ScheduleMessageModel): Observable {\n const url = `${this.conversationsUrl}/Employee/ScheduleMessage`;\n\n\n const formData = new FormData();\n formData.append('message', model.message);\n formData.append('conversationId', model.conversationId.toString());\n formData.append('participantId', model.participantId.toString());\n formData.append('timeToSendStr', model.timeToSendStr);\n formData.append('timeZoneName', model.timeZoneName);\n if (model.attachments.length) {\n model.attachments.forEach(item => {\n formData.append('attachments', item.file);\n });\n }\n\n return new Observable(observer => {\n Axios.post(url, formData, this.getConfig()).pipe()\n .subscribe(\n response => {\n this.scheduledMessagesStore.addScheduledMessage(response.data);\n snackService.success('Message successfully scheduled!')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.error('Failed to schedule message!');\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public reschedule(model: RescheduleMessageModel): Observable { \n const url = `${this.conversationsUrl}/Employee/EditScheduledMessage`; \n \n const formData = new FormData();\n formData.append('message', model.message);\n formData.append('conversationId', model.conversationId.toString());\n formData.append('participantId', model.participantId.toString());\n formData.append('timeToSendStr', model.timeToSendStr);\n formData.append('timeZoneName', model.timeZoneName);\n if (model.attachments.length) {\n model.attachments.forEach(item => {\n formData.append('attachments', item.file);\n });\n }\n\n formData.append('id', model.id.toString());\n if (model.removeAttachments.length) {\n model.removeAttachments.forEach(item => {\n formData.append('removeAttachments[]', item.toString());\n });\n }\n\n return new Observable(observer => {\n Axios.put(url, formData, this.getConfig()).pipe()\n .subscribe(\n response => {\n this.scheduledMessagesStore.updateScheduledMessage(model, response.data.uploadedAttachments);\n snackService.success('Message successfully edited!')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.error('Failed to edit message!');\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public delete(id: number): Observable {\n const url = `${this.conversationsUrl}/Employee/DeleteScheduledMessage/${id}`;\n\n return new Observable(observer => {\n Axios.delete(url, this.getConfig()).pipe()\n .subscribe(\n response => {\n this.scheduledMessagesStore.deleteScheduledMessage(id);\n snackService.success('Message successfully deleted!')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.error('Failed to delete message!');\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const scheduleMessageService = new ScheduleMessageService(scheduledMessagesStore);\n","\nexport const messageAttributes = {\n client: 'clarity'\n}","import { ConversationModelBase, conversationTypeNames } from \"../models/conversation.models\";\nimport { messageAttributes } from \"../../common/constants/conversation\";\n\nexport const getConversationAttributes = (conversation: ConversationModelBase) => {\n const attributes = {\n client: messageAttributes.client,\n conversationType: conversationTypeNames.get(conversation.type)\n }\n return attributes;\n}","import { useCallback, useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport {\n ConnectionStatuses,\n ConversationAuthorModel,\n ConversationModelBase,\n LastReadMessageUpdateModel,\n ParticipantModel,\n ConversationModelBaseView,\n AcceptInteractionModel,\n TargetInteractionModel\n} from \"../../models/conversation.models\";\nimport { ConversationState } from \"../../models/conversationState.models\";\nimport { DropEvent, FileRejection } from \"react-dropzone\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\nimport { scheduleMessageService } from \"../../services/scheduleMessage.service\";\nimport { Subscription, timer } from \"rxjs\";\nimport { scheduledMessagesStore } from \"../../stores/scheduledMessagesStore/scheduledMessages.store\";\nimport { AttachFileModel, ScheduledMessageModel, UploadedAttachmentModel, MessageSettingsModel } from \"../../models/message.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { scheduledMessagesQuery } from \"../../stores/scheduledMessagesStore/scheduledMessages.query\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport moment from \"moment\";\nimport { timezonesQuery } from \"../../../timezones/stores/timezones\";\nimport { timezonesService } from \"../../../timezones/services/timezones.service\";\nimport { TimeZoneModel } from \"../../../timezones/models/timezone.model\";\nimport { patientConversationsStore } from \"../../stores/patientConversationsStore/patientConversations.store\";\nimport { Client as ConversationsClient } from \"@twilio/conversations\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { conversationsViewService } from \"../../services/conversationsView.service\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { getConversationAttributes } from \"../../helpers/getAttributes\";\n\ninterface Paginator {\n hasNextPage: boolean;\n hasPrevPage: boolean;\n items: any[];\n nextPage: Function;\n prevPage: Function;\n}\n\ninterface UnreadMessage {\n index: number;\n isVisible: boolean;\n observer: IntersectionObserver;\n}\n\nexport interface BaseConversationComponentState {\n isLoadingMessages: boolean;\n paginator: Paginator;\n messages: any[];\n messagesStaff: ConversationModelBaseView[];\n currentPage: number;\n perPage: number;\n scrollToIndex: number;\n lastReadMessageIndex: number;\n typing: ParticipantModel[];\n unreadMessages: UnreadMessage[];\n unreadMessageClicked: boolean;\n}\n\ninterface ConversationComponentState {\n isScheduleDialogOpen: boolean;\n scheduledMessageForEditing: ScheduledMessageModel;\n scheduledAttachmentsForEditing: UploadedAttachmentModel[];\n removeAttachments: number[];\n toSendAttachments: AttachFileModel[];\n messageToSchedule: string;\n timeZones: TimeZoneModel[];\n emptyMessage: boolean;\n aiMessageForEditing: TargetInteractionModel;\n detailForAiMessage: string;\n awayMessageEnabled: boolean;\n}\n\ninterface ConversationInternalComponentState {\n removeAttachments: number[];\n toSendAttachments: AttachFileModel[];\n awayMessageEnabled: boolean;\n}\n\nlet conversationsClient: ConversationsClient = null;\nlet stateContext: BaseConversationComponentState;\n\nexport function useBaseFacade(conversation: ConversationModelBase, tempAuthor: ConversationAuthorModel): [ //, author: ConversationAuthorModel): [\n BaseConversationComponentState,\n (message: any) => void,\n () => void,\n (conversationProxy: any) => void] {\n\n const [state, setState] = useState({\n isLoadingMessages: true,\n paginator: null,\n messages: [],\n messagesStaff: null,\n currentPage: 1,\n perPage: 20,\n scrollToIndex: -1,\n lastReadMessageIndex: -1,\n typing: [],\n unreadMessages: [],\n unreadMessageClicked: false\n } as BaseConversationComponentState);\n\n const [author, setAuthor] = useState(tempAuthor)\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.author$, author => {\n if (author && authQuery.getType() === UserType.Employee) {\n setAuthor(author)\n }\n }),\n onEmit(patientConversationsQuery.author$, author => {\n if (author && authQuery.getType() === UserType.Patient) {\n setAuthor(author)\n }\n }),\n onEmit(patientConversationsQuery.targetStaffConversation$, messages =>\n setState(state => ({ ...state, messagesStaff: messages }))\n )\n ]\n\n if (conversation) {\n subscriptions.push(\n timer(3000).subscribe(() => getMessageByVendorExternalId(conversation))\n ) \n }\n \n return () => {\n subscriptions.map(item => item.unsubscribe())\n }\n }, [conversation])\n\n const getMessageByVendorExternalId = (conversation: ConversationModelBase) => {\n if (conversation && conversation.proxy) {\n return;\n }\n \n if (conversation.vendorExternalId) {\n if (authQuery.getType() === UserType.Employee) {\n conversationsViewService.getPatientAllMessagesStaff(conversation.vendorExternalId).subscribe(() => {\n setState(state => ({ ...state, isLoadingMessages: false }))\n }, () => setState(state => ({ ...state, isLoadingMessages: false })));\n }\n else {\n conversationsViewService.getAllMessagesSupport(conversation.vendorExternalId).subscribe(() => {\n setState(state => ({ ...state, isLoadingMessages: false }))\n }, () => setState(state => ({ ...state, isLoadingMessages: false })));\n }\n } else {\n setState(state => ({ ...state, isLoadingMessages: false }))\n }\n }\n\n stateContext = state;\n\n const handleSendMessage = (message: any) => {\n if (!employeeConversationsQuery.getConnectionStatus()) return;\n if (conversation.proxy?.status === ConnectionStatuses.joined) {\n\n const employeeParticipant = conversation.employees.find(i => i.email === authQuery.getEmail() && !i.isDeleted);\n if (employeeParticipant && !employeeParticipant.isActive) {\n conversationsService.addEmployeeToConversationModel({ conversationId: conversation.id, employeeId: employeeParticipant.employeeId }).subscribe();\n }\n }\n };\n\n const handleMessageAdded = useCallback((message: any) => {\n\n //todo: if scroll not in the end check who is author of message. If author Not me mark this message as unread.\n\n if (state.messages.find(x => x.state.sid === message.state.sid)) {\n return;\n }\n updateLastReadMessageIndex(conversation, message, message.author)\n }, [conversation?.proxy]);\n\n const handleMessageUpdated = useCallback((message: any) => {\n setState(state => ({\n ...state,\n messages: state.messages.map(x => x.sid === message.message.sid ? message.message : x)\n }))\n }, [conversation?.proxy]);\n\n const updateLastReadMessageIndex = (conversation: ConversationModelBase, message: any, participantExternalVendorId: string) => {\n\n if (stateContext.messages.includes(message)) {\n setState(state => ({\n ...state,\n scrollToIndex: message.state.index,\n lastReadMessageIndex: message.state.index,\n }));\n }\n else {\n setState(state => ({\n ...state,\n messages: [...state.messages, message],\n scrollToIndex: message.state.index,\n lastReadMessageIndex: message.state.index,\n }));\n }\n\n if (message && conversation.proxy?.status === ConnectionStatuses.joined) {\n // Tell our API about the read message index - this is for the purpose of keeping this known locally for unread message notifications\n const lastReadMessageUpdateModel: LastReadMessageUpdateModel = {\n conversationExternalVendorId: conversation.proxy.sid,\n participantExternalVendorId: participantExternalVendorId,\n lastMessageReadIndex: message.state.index\n }\n // Tell Twilio about the read message index\n conversation.proxy.updateLastReadMessageIndex(message.state.index);\n\n if (participantExternalVendorId !== message.state.author) {\n\n conversationsService.lastReadMessageUpdate(lastReadMessageUpdateModel).subscribe();\n }\n }\n\n if (conversation.unreadMessages > 0) {\n conversation.unreadMessages = 0;\n patientConversationsStore.updateSupportConversation(conversation);\n }\n }\n\n const handleTyping = () => {\n if (conversation?.proxy?.status === ConnectionStatuses.joined) {\n conversation.proxy.typing();\n }\n }\n\n const startTyping = useCallback((member) => {\n const pushTypingIfNotExist = (participant: ParticipantModel) => {\n if (stateContext.typing.includes(participant)) {\n return;\n }\n\n setState(state => ({ ...state, typing: [...stateContext.typing, participant] }));\n }\n\n if (authQuery.getType() === UserType.Patient) {\n return;\n }\n\n const patient = conversation.patients.find(i => i.vendorExternalIds?.includes(member.state.sid));\n\n if (patient) {\n pushTypingIfNotExist(patient);\n } else {\n const employee = conversation.employees.find(i => i.vendorExternalIds?.includes(member.state.sid));\n if (employee) {\n pushTypingIfNotExist(employee);\n }\n }\n }, [conversation?.employees, conversation?.patients]);\n\n const endTyping = useCallback((member) => {\n setState(state => ({ ...state, typing: stateContext.typing.filter(i => !i.vendorExternalIds?.includes(member.state.sid)) }));\n }, []);\n\n const createObserverForUnreadMessages = useCallback((lastReadMessageIndex: number, lasMessageIndex: number) => {\n\n if (lastReadMessageIndex ?? -1 >= lasMessageIndex) {\n return\n }\n\n const unreadMessageCB = (entries) => {\n if (entries[0]['isIntersecting'] === true) {\n if (entries[0]['intersectionRatio'] === 1) {\n const message = stateContext.unreadMessages.find(i => `message-${i.index}` === entries[0].target.id);\n if (message) {\n message.isVisible = true;\n }\n }\n }\n }\n\n const unreadMessages = [];\n\n for (let i = (lastReadMessageIndex ?? -1) + 1; i <= lasMessageIndex; i++) {\n unreadMessages.push({\n index: i,\n isVisible: false,\n observer: new IntersectionObserver((entries) => unreadMessageCB(entries), { threshold: [1] })\n });\n }\n\n setState(state => ({ ...state, unreadMessages: unreadMessages }));\n }, []);\n\n const createObserverForLoadMoreMessages = useCallback(() => {\n const threadStart = document.querySelector(`#thread-start-${conversation.id}`);\n\n const threadStartObserver = new IntersectionObserver((entries) => {\n if (entries[0]['isIntersecting'] === true) {\n if (entries[0]['intersectionRatio'] === 1) {\n if (canLoadMore()) {\n handleLoadMore();\n }\n }\n }\n }, { threshold: [0.25, 0.5, 1] });\n\n if (threadStart) {\n threadStartObserver.observe(threadStart);\n }\n }, []);\n\n const createObserverForMessagesLoaded = useCallback((scrollToIndex: number) => {\n const threadStart = document.querySelector(`#thread-${conversation.id}`);\n const scrollToMessage = threadStart.querySelector(`#message-${scrollToIndex}`)\n\n const messagesLoadedObserver = new IntersectionObserver((entries) => {\n if (entries[0]['isIntersecting'] === true) {\n if (entries[0]['intersectionRatio'] === 1) {\n messagesLoadedObserver.unobserve(scrollToMessage)\n createObserverForLoadMoreMessages()\n }\n }\n }, { threshold: [0.25, 0.5, 1] });\n\n if (scrollToMessage) {\n messagesLoadedObserver.observe(scrollToMessage);\n }\n }, []);\n\n const canLoadMore = useCallback(() => {\n return (\n conversation.state !== ConversationState.Closed &&\n !stateContext.isLoadingMessages &&\n stateContext.paginator?.hasPrevPage\n )\n }, [conversation?.state]);\n\n const loadMessagesCB = useCallback((conversationProxy: any, paginator: any) => {\n\n const lastMessageIndex = conversationProxy.channelState.lastMessage.index;\n const lastReadIndex = conversationProxy.channelState.lastReadMessageIndex;\n const scrollToIndex = lastReadIndex && lastReadIndex <= lastMessageIndex ?\n lastReadIndex :\n lastMessageIndex;\n\n\n setState(state => ({\n ...state,\n messages: paginator.items,\n paginator: paginator,\n lastReadMessageIndex: scrollToIndex,\n scrollToIndex: scrollToIndex,\n isLoadingMessages: false,\n }));\n\n createObserverForMessagesLoaded(scrollToIndex);\n\n const pos = paginator?.items.length - 1;\n const index = paginator?.items.slice()[pos ?? 0]?.state?.index;\n createObserverForUnreadMessages(conversationProxy.channelState.lastReadMessageIndex, index ?? 0);\n }, [conversation, createObserverForUnreadMessages, canLoadMore]);\n\n const loadMessages = useCallback((conversationProxy: any) => {\n if (conversationProxy && conversationProxy?.status === ConnectionStatuses.joined) {\n conversationProxy.getMessages(state.perPage)\n .then(paginator => loadMessagesCB(conversationProxy, paginator))\n .catch(() => setState(state => ({ ...state, isLoadingMessages: false })));\n }\n }, [loadMessagesCB, state.perPage]);\n\n const handleLoadMore = () => {\n\n setState(state => ({ ...state, isLoadingMessages: true, scrollToIndex: -1 }));\n\n stateContext.paginator.prevPage().then((paginator) => {\n stateContext.currentPage++;\n setState(state => ({\n ...state,\n messages: [...paginator.items, ...stateContext.messages],\n scrollToIndex: paginator.items[paginator.items.length - 1].state.index,\n paginator: paginator,\n isLoadingMessages: false,\n }));\n }).catch(() => setState(state => ({ ...state, isLoadingMessages: false })));\n };\n\n const connectionStateChanged = useCallback((status: string) => {\n setState(state => ({ ...state, status: status }));\n }, []);\n\n const conversationJoined = useCallback((proxy: any) => {\n\n // Means this just got added from client before we could add to our state, store the proxy for later matching\n if (conversation && conversation.vendorExternalId === proxy.sid) {\n employeeConversationsStore.addOrphanedProxy(proxy);\n patientConversationsStore.addOrphanedProxy(proxy);\n\n conversation.proxy = proxy;\n\n employeeConversationsStore.updateConversation(conversation);\n }\n\n }, [conversation]);\n\n const checkReadMessages = (author: ConversationAuthorModel, conversation: ConversationModelBase) => {\n if(conversation === null || conversation === undefined){\n return;\n }\n //TODO: this method should be simpler, refactoring when possible\n // adding an state when setUnreadMessasge to this conversation to avoid removing the badge and the\n // line of unread message.\n\n if (!stateContext.unreadMessageClicked) {\n\n let lastVisibleIndex = stateContext.lastReadMessageIndex;\n\n stateContext.unreadMessages.forEach(message => {\n if (message.isVisible) {\n lastVisibleIndex = message.index;\n }\n });\n\n const lastMessage = stateContext.messages[stateContext.messages.length - 1];\n\n if (lastMessage) {\n\n const unreadMessages = lastMessage?.state?.index - lastVisibleIndex;\n if (author && conversation.unreadMessages > 0) {\n updateLastReadMessageIndex(conversation, lastMessage, author.conversationIdentity);\n }\n\n if (author && unreadMessages > 0) {\n\n if (conversation.employees.find(i => i.email === authQuery.getEmail() && !i.isDeleted)?.isActive) {\n conversation.unreadMessages = unreadMessages >= 0 ? unreadMessages : 0;\n }\n\n employeeConversationsStore.updateConversation(conversation);\n }\n\n if (conversation.unreadMessages > 0) {\n conversation.unreadMessages = 0;\n patientConversationsStore.updateSupportConversation(conversation);\n }\n }\n }\n }\n\n const unsubscribeJoined = () => {\n if (conversationsClient) {\n conversationsClient.off('connectionStateChanged', connectionStateChanged);\n conversationsClient.off('conversationJoined', conversationJoined);\n }\n }\n\n const subscribe = useCallback(async () => {\n if (conversation && conversation.proxy) {\n conversation.proxy.on('messageAdded', handleMessageAdded);\n conversation.proxy.on('messageUpdated', handleMessageUpdated);\n conversation.proxy.on('typingStarted', startTyping);\n conversation.proxy.on('typingEnded', endTyping);\n\n loadMessages(conversation.proxy);\n\n } else if (author) {\n conversationsClient = new ConversationsClient(author.conversationAuthToken);\n conversationsClient.on(\"connectionStateChanged\", connectionStateChanged);\n conversationsClient.on(\"conversationJoined\", conversationJoined);\n }\n }, [handleMessageAdded, startTyping, endTyping, conversation, loadMessages, author]);\n\n const unsubscribe = useCallback(() => {\n\n setState(state => ({ ...state, typing: [] }));\n if (conversation && conversation.proxy) {\n conversation.proxy.off('messageAdded', handleMessageAdded);\n conversation.proxy.off('messageUpdated', handleMessageUpdated);\n conversation.proxy.off('typingStarted', startTyping);\n conversation.proxy.off('typingEnded', endTyping);\n }\n }, [handleMessageAdded, startTyping, endTyping, conversation]);\n\n const useEffectCB = () => {\n setState(state => ({ ...state, isLoadingMessages: true, messages: [] }));\n subscribe();\n return () => { unsubscribe(); };\n }\n\n useEffect(useEffectCB, [conversation?.id, conversation?.proxy?.sid]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [];\n\n if (author) {\n // increased the time to check read message since the scrolling is still rolling.\n // just to see the effect of the unread message is gone after read it.\n setState((state) => ({ ...state, unreadMessageClicked: false }));\n subscriptions.push(\n timer(1000, 1000).subscribe(() => checkReadMessages(author, authQuery.getType() === UserType.Patient ? conversation : conversation ?? employeeConversationsQuery.getTargetConversation())))\n }\n\n return () => {\n unsubscribeJoined();\n subscriptions.map(it => it.unsubscribe());\n };\n }, [author, conversation?.proxy?.sid]);\n\n return [state,\n handleSendMessage,\n handleTyping,\n loadMessages\n ];\n}\n\nexport function useFacade(conversation: ConversationModelBase, author: ConversationAuthorModel): [\n ConversationComponentState & BaseConversationComponentState,\n (message: any) => void,\n (acceptedFiles: T[], fileRejections: FileRejection[], event: DropEvent) => void,\n (index: number) => void,\n () => void,\n (message: string, removeAttachmentIds: number[], attachments: UploadedAttachmentModel[]) => void,\n () => void,\n (date: Date, time: Date) => void,\n () => void,\n (messageSelected: LastReadMessageUpdateModel) => void,\n (message: string) => void,\n () => void,\n (message: string) => void\n] {\n\n const [state, setState] = useState({\n isScheduleDialogOpen: false,\n scheduledMessageForEditing: null,\n scheduledAttachmentsForEditing: [],\n removeAttachments: [],\n toSendAttachments: [],\n messageToSchedule: '',\n timeZones: [],\n emptyMessage: false,\n unreadMessageClicked: false,\n aiMessageForEditing: null,\n detailForAiMessage: '',\n awayMessageEnabled: false\n } as ConversationComponentState);\n\n const [\n baseState,\n sendMessage,\n handleTyping,\n loadMessages\n ] = useBaseFacade(conversation, author);\n\n const handleToggleScheduleDialog = () => {\n setState(state => ({ ...state, isScheduleDialogOpen: !state.isScheduleDialogOpen }));\n }\n\n const handleOpenScheduleDialog = (message: string, removeAttachmentIds: number[], attachments: UploadedAttachmentModel[]) => {\n setState(state => ({\n ...state,\n isScheduleDialogOpen: true,\n messageToSchedule: message,\n removeAttachments: removeAttachmentIds,\n scheduledAttachmentsForEditing: attachments\n }));\n }\n\n const handleScheduleMessage = (date: Date, time: Date) => {\n const cb = () => {\n setState(state => ({\n ...state,\n emptyMessage: !state.emptyMessage,\n messageToSchedule: '',\n toSendAttachments: []\n }));\n handleEndEditScheduledMessage();\n }\n const defaultTimeZoneName = 'UTC';\n\n const model = {\n message: state.messageToSchedule,\n conversationId: conversation.id,\n participantId: conversation.employees.find(i => i.email === authQuery.getEmail() && !i.isDeleted).id,\n timeToSend: moment.utc(new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes())).toDate(),\n timeToSendStr: moment.utc(new Date(date.getFullYear(), date.getMonth(), date.getDate(), time.getHours(), time.getMinutes())).format(\"YYYY-MM-DD HH:mm:ss\"),\n timeZoneName: defaultTimeZoneName,\n attachments: state.toSendAttachments,\n }\n\n if (Boolean(state.scheduledMessageForEditing)) {\n scheduleMessageService\n .reschedule({\n ...model,\n id: state.scheduledMessageForEditing.id,\n removeAttachments: state.removeAttachments,\n uploadedAttachments: state.scheduledAttachmentsForEditing\n })\n .subscribe(cb, cb);\n } else {\n scheduleMessageService.schedule(model).subscribe(cb, cb);\n }\n\n handleToggleScheduleDialog();\n }\n\n const handleSetMessageUnread = (messageSelected: LastReadMessageUpdateModel) => {\n stateContext.unreadMessageClicked = true;\n\n // Tell Twilio about the read message index\n\n if (messageSelected.lastMessageReadIndex === 0) {\n conversation.proxy.setAllMessagesUnread().then(() => {\n conversation.unreadMessages = conversation.proxy.messagesEntity.messagesByIndex.size;\n employeeConversationsStore.updateConversation(conversation);\n conversationsService.selectConversation(null)\n });\n } else {\n conversation.proxy.updateLastReadMessageIndex(messageSelected.lastMessageReadIndex - 1).then(unreadMessageCount => {\n conversation.unreadMessages = unreadMessageCount;\n employeeConversationsStore.updateConversation(conversation);\n conversationsService.selectConversation(null)\n });\n }\n\n // Tell our API about the read message index - this is for the purpose of keeping this known locally for unread message notifications\n conversationsService.setMessagesUnread(messageSelected).subscribe();\n\n }\n\n const handleEndEditScheduledMessage = () => {\n scheduledMessagesStore.endEditing();\n setState(state => ({ ...state, toSendAttachments: [] }))\n }\n\n const handleSendMessage = (message: any) => {\n if (!employeeConversationsQuery.getConnectionStatus()) return;\n if (conversation.proxy?.status !== ConnectionStatuses.joined) return;\n const attributes = getConversationAttributes(conversation);\n if (state.toSendAttachments.length > 0) {\n state.toSendAttachments.forEach((item, index) => {\n const formData = new FormData();\n formData.append('file', item.file);\n if (state.toSendAttachments.length - 1 === index) {\n if (message.length) {\n conversation.proxy.prepareMessage()\n .setBody(message)\n .addMedia(formData)\n .setAttributes(attributes)\n .build()\n .send();\n } else {\n conversation.proxy.sendMessage(formData, attributes);\n }\n } else {\n conversation.proxy.sendMessage(formData, attributes);\n }\n URL.revokeObjectURL(item.url);\n });\n\n setState(state => ({ ...state, toSendAttachments: [] }));\n } else {\n if (message.length) conversation.proxy.sendMessage(message, attributes);\n }\n \n sendMessage(message);\n };\n\n const handleDropAttachment = (acceptedFiles: T[], fileRejections: FileRejection[], event: DropEvent) => {\n const attachments = acceptedFiles.map(item => ({ file: item, url: URL.createObjectURL(item) }));\n\n setState(state => ({ ...state, toSendAttachments: [...state.toSendAttachments, ...attachments] }));\n }\n\n const handleRemoveAttachment = (index: number) => {\n const file = state.toSendAttachments.find((i, itemIndex) => index === itemIndex);\n if (file) {\n URL.revokeObjectURL(file.url);\n setState(state => ({\n ...state,\n toSendAttachments: state.toSendAttachments.filter((i, itemIndex) => index !== itemIndex)\n }));\n }\n }\n\n const handleUpdateInteraction = (message: string) => {\n loadMessages(conversation.proxy);\n if (message.trim().length > 0) {\n const attributes = getConversationAttributes(conversation);\n conversation.proxy.sendMessage(message, attributes);\n }\n }\n\n const handleEndEditAiMessage = () => {\n employeeConversationsStore.endAiEditing();\n }\n\n const handleEditInteraction = (message: string) => {\n const participantExternalVendorId = employeeConversationsQuery.getAuthor().conversationIdentity;\n const acceptInteraction: AcceptInteractionModel = {\n conversationId: state.aiMessageForEditing.conversationId,\n messageId: state.aiMessageForEditing.messageSid,\n referenceId: state.aiMessageForEditing.interaction.ReferenceId,\n participantId: participantExternalVendorId,\n detail: message\n }\n const cb = () => {\n setState(state => ({\n ...state,\n detailForAiMessage: '',\n }));\n handleEndEditAiMessage();\n }\n \n employeeConversationsStore.aiMessageAccept();\n conversationsService.editAiMessage(acceptInteraction).subscribe(() => {\n cb();\n handleUpdateInteraction(message);\n }, cb)\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(scheduledMessagesQuery.editingTarget$, message =>\n setState(state => ({ ...state, scheduledMessageForEditing: message }))\n ),\n onEmit(scheduledMessagesQuery.uploadedAttachments$, attachments =>\n setState(state => ({ ...state, scheduledAttachmentsForEditing: attachments }))\n ),\n onEmit(timezonesQuery.timezones$, timezones => {\n setState(state => ({ ...state, timeZones: timezones }));\n }),\n onEmit(employeeConversationsQuery.editingTargetAiMessage$, targetAiMessage => {\n if (Boolean(targetAiMessage)) {\n setState(state => ({ ...state, detailForAiMessage: targetAiMessage.interaction.Detail }))\n }\n setState(state => ({ ...state, aiMessageForEditing: targetAiMessage }))\n }),\n ];\n\n if (conversation && conversation.employees) {\n const employeeParticipant = conversation.employees.find(i => i.email === authQuery.getEmail() && !i.isDeleted);\n if (employeeParticipant) {\n scheduleMessageService.get(employeeParticipant.id).subscribe();\n }\n }\n timezonesService.getTimezones().subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(() => {\n if (state.scheduledMessageForEditing) {\n setState(state => ({ ...state, toSendAttachments: [] }))\n }\n }, [state.scheduledMessageForEditing]);\n\n useEffect(useEffectCB, [conversation]);\n\n return [{ ...state, ...baseState },\n handleSendMessage,\n handleDropAttachment,\n handleRemoveAttachment,\n handleTyping,\n handleOpenScheduleDialog,\n handleToggleScheduleDialog,\n handleScheduleMessage,\n handleEndEditScheduledMessage,\n handleSetMessageUnread,\n handleUpdateInteraction,\n handleEndEditAiMessage,\n handleEditInteraction\n ];\n}\n\nexport function useFacadeInternal(conversation: ConversationModelBase, author: ConversationAuthorModel): [\n ConversationInternalComponentState & BaseConversationComponentState,\n (message: any) => void,\n () => void,\n (acceptedFiles: T[], fileRejections: FileRejection[], event: DropEvent) => void,\n (index: number) => void,\n () => void\n] {\n\n const [state, setState] = useState({\n removeAttachments: [],\n toSendAttachments: [],\n awayMessageEnabled: false\n } as ConversationComponentState);\n\n const history = useHistory();\n\n const [\n baseState,\n sendMessage,\n handleTyping,\n ] = useBaseFacade(conversation, author);\n\n const handleSendMessage = (message: any) => {\n if (!employeeConversationsQuery.getConnectionStatus()) return;\n if (conversation.proxy?.status !== ConnectionStatuses.joined) return;\n const attributes = getConversationAttributes(conversation);\n\n if (state.toSendAttachments.length > 0) {\n state.toSendAttachments.forEach((item, index) => {\n const formData = new FormData();\n formData.append('file', item.file);\n if (state.toSendAttachments.length - 1 === index) {\n if (message.length) {\n conversation.proxy.prepareMessage()\n .setBody(message)\n .addMedia(formData)\n .setAttributes(attributes)\n .build()\n .send();\n } else {\n conversation.proxy.sendMessage(formData, attributes);\n }\n } else {\n conversation.proxy.sendMessage(formData, attributes);\n }\n URL.revokeObjectURL(item.url);\n });\n\n setState(state => ({ ...state, toSendAttachments: [] }));\n } else {\n if (message.length) conversation.proxy.sendMessage(message, attributes);\n }\n sendMessage(message);\n };\n\n const handleDropAttachment = (acceptedFiles: T[], fileRejections: FileRejection[], event: DropEvent) => {\n const attachments = acceptedFiles.map(item => ({ file: item, url: URL.createObjectURL(item) }));\n\n setState(state => ({ ...state, toSendAttachments: [...state.toSendAttachments, ...attachments] }));\n }\n\n const handleRemoveAttachment = (index: number) => {\n const file = state.toSendAttachments.find((i, itemIndex) => index === itemIndex);\n if (file) {\n URL.revokeObjectURL(file.url);\n setState(state => ({\n ...state,\n toSendAttachments: state.toSendAttachments.filter((i, itemIndex) => index !== itemIndex)\n }));\n }\n }\n\n const handleNavigateToSettings = () => {\n navigationService.toMessageSettings(history);\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(scheduledMessagesQuery.uploadedAttachments$, attachments =>\n setState(state => ({ ...state, scheduledAttachmentsForEditing: attachments }))\n ),\n onEmit(employeeConversationsQuery.messageSettings$, setting => {\n setState(state => ({ ...state, awayMessageEnabled: setting.awayMessageEnabled }));\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n\n useEffect(useEffectCB, [conversation]);\n\n return [{ ...state, ...baseState },\n handleSendMessage,\n handleTyping,\n handleDropAttachment,\n handleRemoveAttachment,\n handleNavigateToSettings\n ];\n}","import {IconButton, TextField} from \"@material-ui/core\";\nimport {createStyles, makeStyles, Theme, withStyles} from \"@material-ui/core/styles\";\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n position: \"relative\",\n justifyContent: \"space-between\",\n },\n message: {\n flex: 1,\n },\n icon: {\n fill: \"currentColor\",\n },\n sendIcon: {\n fill: colors.main,\n width: 24,\n height: 24\n },\n imageAttachment: {\n backgroundRepeat: \"no-repeat\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: 2,\n backgroundSize: 44,\n height: 44,\n width: 44,\n \"&:hover\": {\n \"& $removeAttachment\": {\n visibility: \"visible\",\n },\n },\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.gray8,\n display: \"flex\",\n alignItems: \"center\",\n maxWidth: 140,\n height: 44,\n\n \"&:hover\": {\n \"& $removeAttachment\": {\n visibility: \"visible\",\n },\n },\n },\n attachmentIcon: {\n color: colors.gray2,\n },\n attachmentTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n },\n removeAttachment: {\n visibility: \"hidden\",\n },\n disabledMessage: {\n position: \"absolute\",\n zIndex: 1,\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n opacity: 0,\n },\n compactMessageInput: {\n borderRadius: '17px !important',\n padding: '7px',\n paddingRight: '14px',\n background: colors.separators,\n border: 'none !important',\n },\n compactMessageInputAdornment: {\n width: '15px !important',\n padding: '0px !important',\n margin: '0px !important'\n }\n })\n);\n\nexport const InputField = withStyles(() => ({\n root: {\n \"&:focus\": {\n outline: \"none !important\",\n },\n \"& label.Mui-focused\": {\n outline: \"none !important\",\n },\n \"& .MuiInput-underline:after\": {\n borderBottomColor: \"transparent\",\n },\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: \"transparent\",\n },\n \"&:hover fieldset\": {\n borderColor: \"transparent\",\n },\n \"&.Mui-focused fieldset\": {\n outline: \"none !important\",\n borderColor: \"transparent\",\n },\n },\n },\n}))(TextField);\n\nexport const ActionButton = withStyles((theme: Theme) => ({\n root: {\n fill: \"currentColor\",\n color: colors.main,\n \"&:hover\": {\n color: `#${colors.main}CC`,\n },\n \"&:disabled\": {\n color: colors.gray2,\n },\n },\n}))(IconButton);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgActivityAndSports = function SvgActivityAndSports(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.6568 2.34315C12.1459 0.832155 10.1369 0 7.99998 0C5.86308 0 3.85415 0.832155 2.34315 2.34315C0.832155 3.85415 0 5.86311 0 7.99998C0 10.1369 0.832155 12.1458 2.34315 13.6568C3.85415 15.1679 5.86311 16 7.99998 16C10.1369 16 12.1458 15.1678 13.6568 13.6568C15.1679 12.1459 16 10.1369 16 7.99998C16 5.86308 15.1678 3.85415 13.6568 2.34315ZM14.8371 6.22008C13.5921 5.76686 12.1567 5.43918 10.6527 5.2594C10.6247 4.40843 11.0161 3.67362 11.7778 3.23965C12.1895 2.99934 12.6088 2.88878 12.8256 2.84374C13.798 3.74559 14.5144 4.95571 14.8371 6.22008ZM8.46873 5.10574V0.953186C9.71933 1.03459 10.9069 1.44084 11.9331 2.13171C11.7441 2.20365 11.5406 2.29528 11.3364 2.41196C10.2977 3.00553 9.73707 3.94349 9.7152 5.12449C9.71495 5.13883 9.71523 5.15308 9.71514 5.1674C9.30204 5.13552 8.88583 5.11474 8.46873 5.10574ZM6.28486 5.1699C6.28477 5.15474 6.28508 5.13968 6.2848 5.12449C6.26293 3.94349 5.70233 3.00553 4.66358 2.41196C4.45937 2.29528 4.25587 2.20362 4.06693 2.13171C5.09308 1.44084 6.28067 1.03459 7.53124 0.953186V5.10549C7.10986 5.11446 6.69436 5.13599 6.28486 5.1699ZM3.17437 2.84374C3.39121 2.88878 3.81046 2.99931 4.22218 3.23965C4.97712 3.67365 5.37796 4.39455 5.3469 5.27052C3.84618 5.46958 2.4335 5.84308 1.12165 6.38824C1.42659 5.05768 2.1579 3.78677 3.17437 2.84374ZM0.956029 7.48467C2.25531 6.88249 3.66977 6.46677 5.1844 6.24036C4.95305 7.00367 4.50537 7.73389 4.03205 8.42476C3.50465 9.19076 2.83768 9.9442 2.43993 10.8561C2.30356 11.1691 2.19309 11.5176 2.10862 11.8986C1.34675 10.7524 0.937498 9.40767 0.937498 7.99998C0.937498 7.82717 0.943811 7.65533 0.956029 7.48467ZM2.89774 12.883C2.96681 12.2398 3.10131 11.6851 3.29934 11.2306C3.64496 10.4339 4.28787 9.71007 4.80543 8.95461C5.37515 8.12302 5.95205 7.16458 6.18164 6.11999C6.62383 6.07905 7.07377 6.05333 7.53124 6.04314V15.0468C5.78511 14.9348 4.1243 14.1695 2.89774 12.883ZM8.46873 15.0468V6.0433C8.92083 6.05343 9.37142 6.07796 9.81742 6.11583C10.0464 7.16205 10.6241 8.12192 11.1945 8.95461C11.6844 9.67236 12.353 10.4304 12.7006 11.2306C12.8987 11.6851 13.0332 12.2398 13.1022 12.883C11.8874 14.1598 10.219 14.9362 8.46873 15.0468ZM13.8915 11.8984C13.807 11.5175 13.6965 11.1691 13.5601 10.8561C13.1614 9.94298 12.5259 9.23298 11.968 8.42473C11.4912 7.72877 11.0402 6.99292 10.8104 6.22349C12.3564 6.42799 13.8117 6.79608 15.0285 7.30017C15.0511 7.53127 15.0625 7.76477 15.0625 7.99998C15.0625 9.40761 14.6533 10.7523 13.8915 11.8984Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgActivityAndSports, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ActivityAndSports.0832d73d.svg\";\nexport { ForwardRef as ReactComponent };","import {Observable, Subject} from \"rxjs\";\n\nexport class SelectShortcutService {\n public onSelect = new Subject();\n\n public select(): Observable {\n return new Observable(observer => {\n this.onSelect.next((content: string) => {\n observer.next(content);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const selectShortcutService = new SelectShortcutService();","export const insertString = (str, subSrt, position) => {\n if(typeof(position) === undefined) {\n position = 0;\n }\n\n if(typeof(subSrt) === undefined) {\n subSrt = '';\n }\n\n if (!str || !str.length) {\n return subSrt;\n }\n\n return str.slice(0, position -1) + subSrt + str.slice(position - 1);\n}","import { useEffect, useState } from \"react\";\nimport { selectShortcutService } from \"../../../healthReport/services/selectShortcut.service\";\nimport { insertString } from \"../../../common/helpers/insert-string\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\n\ninterface SendMessageComponentState {\n message: string;\n messageSelectionPosition: number;\n emojiAnchorElement: HTMLElement;\n}\n\nconst defaultState = {\n message: '',\n messageSelectionPosition: 0,\n emojiAnchorElement: null,\n} as SendMessageComponentState\n\nlet ignoreChangesEvent = false;\n\nexport function useFacade(handleTyping: () => void, handleSubmit: (message: any) => void, schedule?: (message: string) => void, emptyMessage?: boolean): [\n SendMessageComponentState,\n (event: any, message: string) => void,\n (value: string) => void,\n (anchor?: HTMLElement) => void,\n (reaction: string) => void,\n () => void,\n () => void] {\n\n const [state, setState] = useState({ ...Object.assign({}, defaultState) });\n\n const handleKeyDown = (event: any, message: string) => {\n ignoreChangesEvent = false;\n\n if (event.keyCode === 13 && !event.shiftKey) {\n ignoreChangesEvent = true;\n handleSendMessage()\n }\n \n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n\n setTimeout(() => {\n handleOnTextMessageChanged((document.getElementById('type-message') as any).value, (document.getElementById('type-message') as any).selectionStart);\n }, 1)\n }\n }\n }\n\n const handleChangeMessage = (value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n setState(state => ({ ...state, message: value }));\n handleTyping();\n }\n\n const handleToggleReaction = (anchor?: HTMLElement) => {\n setState(state => ({ ...state, emojiAnchorElement: anchor }));\n }\n\n const handleInsertReaction = (reaction: string) => {\n const position = (document.getElementById('type-message') as any).selectionStart;\n const textBefore = state.message.substring(0, position);\n const textAfter = state.message.substring(position, state.message.length);\n\n setState(state => ({\n ...state,\n message: `${textBefore}${reaction}${textAfter}`,\n messageSelectionPosition: position + reaction.length\n }))\n }\n\n const handleSchedule = () => {\n schedule(state.message.trim());\n }\n\n const handleSendMessage = () => {\n if (!employeeConversationsQuery.getConnectionStatus()) return;\n const result = state.message.trim();\n\n handleSubmit(result);\n setState(() => ({ ...Object.assign({}, defaultState) }));\n }\n\n const handleTextMessageChanged = (value: string) => {\n setState(state => ({\n ...state,\n message: value\n }));\n }\n\n const handleOnTextMessageChanged = (value: string, cursorPos: number) => {\n const cb = (data) => {\n value = state.message;\n if (data) {\n handleTextMessageChanged(insertString(value, data, cursorPos + 1));\n }\n }\n\n selectShortcutService.select().subscribe(cb);\n }\n\n useEffect(() => {\n document.getElementById('type-message')['selectionStart'] = state.messageSelectionPosition;\n }, [state.messageSelectionPosition]);\n\n const useEffectCB = () => {\n setState(() => ({ ...Object.assign({}, defaultState) }));\n };\n\n useEffect(useEffectCB, [emptyMessage]);\n\n return [\n state,\n handleKeyDown,\n handleChangeMessage,\n handleToggleReaction,\n handleInsertReaction,\n handleSchedule,\n handleSendMessage\n ];\n}\n","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAnimalsNature = function SvgAnimalsNature(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.33283 15.9204C5.59605 15.9204 4.85938 15.6467 4.29747 15.0987C4.03167 14.8395 3.82068 14.5377 3.67034 14.2016C3.28144 13.332 2.58833 12.6388 1.71872 12.2499C1.38263 12.0996 1.0808 11.8886 0.821594 11.6228C-0.276802 10.4963 -0.273425 8.66663 0.829129 7.54403C1.27769 7.0873 1.84854 6.79639 2.47993 6.70268C2.83913 6.64937 3.15853 6.48919 3.40357 6.23949L3.42258 6.22029C4.10593 5.53694 5.0806 5.2378 6.16699 5.37804C7.2082 5.51245 8.23458 6.03947 9.05714 6.86202C9.87969 7.68458 10.4067 8.71096 10.5411 9.75217C10.6814 10.8386 10.3823 11.8132 9.69887 12.4966L9.68161 12.5137C9.43119 12.7599 9.27088 13.0797 9.21782 13.4386C9.12443 14.0705 8.83358 14.6417 8.37679 15.0906C7.81407 15.6436 7.07337 15.9204 6.33283 15.9204ZM5.65971 6.27976C5.0503 6.27976 4.4933 6.47615 4.08586 6.8836L4.07326 6.89632C3.68379 7.2932 3.18051 7.54703 2.6176 7.63058C2.18973 7.69408 1.8027 7.89144 1.49832 8.20133C0.750429 8.96279 0.748115 10.2039 1.49316 10.9679C1.66938 11.1487 1.87412 11.2919 2.10165 11.3937C3.18216 11.8769 4.04336 12.7381 4.5266 13.8186C4.62838 14.0462 4.77162 14.2509 4.95231 14.4271C5.71658 15.1724 6.95787 15.1699 7.71933 14.4216C8.02931 14.117 8.22661 13.7297 8.2899 13.3015C8.37307 12.7389 8.62684 12.2353 9.02381 11.8451L9.03559 11.8334C9.5087 11.3603 9.71297 10.6638 9.61079 9.87233C9.50276 9.03561 9.07058 8.20212 8.39383 7.52536C7.57928 6.71075 6.56218 6.27976 5.65971 6.27976Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.45579 4.83149C8.9148 4.83149 8.43031 4.64064 8.07058 4.2809C7.65072 3.86107 7.46093 3.27121 7.53613 2.61997C7.60663 2.00929 7.9063 1.41214 8.37994 0.938502C8.85355 0.464893 9.45069 0.165226 10.0614 0.0946862C10.7126 0.0195817 11.3024 0.209344 11.7223 0.629142C12.1422 1.049 12.332 1.63886 12.2568 2.2901C12.1863 2.90079 11.8866 3.49793 11.413 3.97154C10.9394 4.44518 10.3422 4.74485 9.7315 4.81536C9.63823 4.82615 9.54621 4.83149 9.45579 4.83149ZM10.3329 1.01689C10.2794 1.01689 10.2247 1.02008 10.169 1.02652C9.76762 1.07286 9.3678 1.27716 9.04321 1.60175C8.7186 1.92637 8.51429 2.32618 8.46796 2.72753C8.42628 3.08836 8.52074 3.40444 8.73385 3.6176C8.947 3.83075 9.26318 3.92514 9.62391 3.88353C10.0253 3.83719 10.4251 3.63288 10.7497 3.30827C11.0743 2.98365 11.2786 2.58386 11.3249 2.18251C11.3666 1.82168 11.2721 1.5056 11.059 1.29245C10.8788 1.11226 10.625 1.01689 10.3329 1.01689Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.16041 5.07074C2.61939 5.07074 2.13493 4.87988 1.7752 4.52018C1.35534 4.10032 1.16552 3.51049 1.24071 2.85925C1.31122 2.24857 1.61089 1.65142 2.08453 1.17778C2.55814 0.704171 3.15532 0.404503 3.76597 0.333964C4.4173 0.258797 5.00707 0.448622 5.4269 0.868419C5.84676 1.28828 6.03658 1.87814 5.96139 2.52938C5.89088 3.14006 5.59121 3.73721 5.11757 4.21082C4.64396 4.68446 4.04678 4.98413 3.4361 5.05464C3.34289 5.06542 3.25084 5.07074 3.16041 5.07074ZM4.0375 1.25617C3.98406 1.25617 3.92937 1.25936 3.87359 1.2658C3.47224 1.31214 3.07243 1.51644 2.74784 1.84103C2.42319 2.16568 2.21892 2.56549 2.17255 2.96684C2.1309 3.32767 2.22533 3.64375 2.43848 3.8569C2.6516 4.07002 2.96762 4.16454 3.32854 4.1228C3.72989 4.07646 4.1297 3.87216 4.45432 3.54754C4.77894 3.22292 4.98324 2.82311 5.02955 2.42179C5.07123 2.06096 4.97677 1.74488 4.76365 1.53173C4.58346 1.35153 4.32966 1.25617 4.0375 1.25617Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1829 8.55854C12.6419 8.55854 12.1574 8.36768 11.7977 8.00798C11.3778 7.58812 11.188 6.99829 11.2632 6.34706C11.3337 5.73637 11.6334 5.13923 12.107 4.66559C12.5806 4.19198 13.1778 3.89232 13.7885 3.82181C14.4396 3.74648 15.0295 3.93643 15.4494 4.35626C15.8693 4.77609 16.0591 5.36595 15.9839 6.01719C15.9134 6.62787 15.6137 7.22501 15.1401 7.69865C14.6665 8.17226 14.0693 8.47193 13.4586 8.54247C13.3654 8.55319 13.2733 8.55854 13.1829 8.55854ZM14.06 4.74398C14.0065 4.74398 13.9518 4.74717 13.8961 4.75361C13.4947 4.79995 13.0949 5.00425 12.7703 5.32887C12.4456 5.65348 12.2413 6.05327 12.195 6.45462C12.1534 6.81544 12.2478 7.13152 12.4609 7.34467C12.6741 7.55782 12.9902 7.65235 13.351 7.61057C13.7523 7.56423 14.1522 7.35993 14.4768 7.03535C14.8014 6.71073 15.0057 6.31091 15.052 5.90956C15.0937 5.54874 14.9992 5.23266 14.7861 5.01951C14.6059 4.83931 14.3522 4.74398 14.06 4.74398Z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.8684 14.7792C12.3274 14.7792 11.8429 14.5884 11.4832 14.2287C11.0633 13.8088 10.8735 13.219 10.9487 12.5678C11.0192 11.9571 11.3189 11.3599 11.7925 10.8863C12.2661 10.4127 12.8633 10.113 13.474 10.0425C14.1252 9.96721 14.7151 10.1571 15.135 10.577C15.5548 10.9968 15.7446 11.5866 15.6694 12.2379C15.5989 12.8486 15.2993 13.4457 14.8257 13.9194C14.352 14.393 13.7548 14.6926 13.1442 14.7632C13.0509 14.7739 12.9589 14.7792 12.8684 14.7792ZM13.7455 10.9647C13.6921 10.9647 13.6374 10.9679 13.5816 10.9743C13.1803 11.0207 12.7804 11.225 12.4558 11.5496C12.1312 11.8742 11.9269 12.274 11.8806 12.6753C11.8389 13.0362 11.9333 13.3523 12.1465 13.5654C12.3596 13.7786 12.6758 13.873 13.0366 13.8313C13.4379 13.785 13.8377 13.5807 14.1623 13.2561C14.487 12.9315 14.6913 12.5316 14.7376 12.1303C14.7793 11.7695 14.6848 11.4534 14.4717 11.2402C14.2915 11.06 14.0377 10.9647 13.7455 10.9647Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAnimalsNature, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/AnimalsNature.a12da683.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFoodDrink = function SvgFoodDrink(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.79974 15.2491H2.4249L1 4.7998H9.07445L8.84266 6.49892\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.32471 11.4493L5.74961 1L8.59941 1.47497\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.64941 13.3491H14.299V14.2991C14.299 14.8237 13.8737 15.249 13.349 15.249H8.59935C8.07471 15.249 7.64941 14.8237 7.64941 14.2991V13.3491Z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.54928 8.59961H12.3991C13.4484 8.59961 14.299 9.45021 14.299 10.4995V11.4494H7.64941V10.4995C7.64941 9.45021 8.50001 8.59961 9.54928 8.59961V8.59961Z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.69971 12.3992C6.69971 11.8745 7.12501 11.4492 7.64964 11.4492H14.2992C14.8238 11.4492 15.2491 11.8745 15.2491 12.3992V12.3992C15.2491 12.9238 14.8238 13.3491 14.2992 13.3491H7.64964C7.12501 13.3491 6.69971 12.9238 6.69971 12.3992V12.3992Z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFoodDrink, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/FoodDrink.eadd7d96.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgReaction = function SvgReaction(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.0711 2.92891C15.1823 1.0402 12.6711 0 10 0C7.32891 0 4.8177 1.0402 2.92891 2.92891C1.0402 4.8177 0 7.32891 0 10C0 12.6711 1.0402 15.1823 2.92891 17.0711C4.8177 18.9598 7.32891 20 10 20C12.6711 20 15.1823 18.9598 17.0711 17.0711C18.9598 15.1823 20 12.6711 20 10C20 7.32891 18.9598 4.8177 17.0711 2.92891ZM16.2424 16.2424C14.575 17.9098 12.3581 18.8281 10 18.8281C7.64191 18.8281 5.425 17.9098 3.75758 16.2424C2.09016 14.575 1.17188 12.3581 1.17188 10C1.17188 7.64191 2.09016 5.425 3.75758 3.75758C5.425 2.09016 7.64191 1.17188 10 1.17188C12.3581 1.17188 14.575 2.09016 16.2424 3.75758C17.9098 5.425 18.8281 7.64191 18.8281 10C18.8281 12.3581 17.9098 14.575 16.2424 16.2424Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.99996 15.298C8.08989 15.298 6.34451 14.2725 5.40636 12.6421C5.24497 12.3616 4.9023 12.2242 4.60577 12.3538C4.30924 12.4833 4.17164 12.8305 4.32739 13.1141C5.45644 15.1703 7.62388 16.4699 9.99996 16.4699C12.376 16.4699 14.5434 15.1703 15.6725 13.1142C15.8283 12.8305 15.6907 12.4834 15.3941 12.3538C15.0976 12.2242 14.755 12.3617 14.5936 12.6421C13.6554 14.2725 11.91 15.298 9.99996 15.298Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.46932 7.05566C6.91618 7.05566 7.30577 7.30549 7.50577 7.67281C7.66051 7.95702 7.91088 8.23488 8.23448 8.23488C8.55808 8.23488 8.82789 7.96848 8.74803 7.65488C8.4891 6.63804 7.56564 5.88379 6.46932 5.88379C5.37301 5.88379 4.44956 6.63803 4.19062 7.65486C4.11075 7.96847 4.38057 8.23488 4.70418 8.23488C5.02778 8.23488 5.27815 7.95704 5.43288 7.67283C5.63288 7.3055 6.02246 7.05566 6.46932 7.05566Z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.5299 7.05566C13.9767 7.05566 14.3663 7.30549 14.5663 7.67281C14.7211 7.95702 14.9714 8.23488 15.295 8.23488C15.6186 8.23488 15.8885 7.96848 15.8086 7.65488C15.5497 6.63804 14.6262 5.88379 13.5299 5.88379C12.4336 5.88379 11.5101 6.63803 11.2512 7.65486C11.1713 7.96847 11.4411 8.23488 11.7647 8.23488C12.0884 8.23488 12.3387 7.95704 12.4935 7.67283C12.6934 7.3055 13.083 7.05566 13.5299 7.05566Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgReaction, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Reaction.bd8543b6.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSymbols = function SvgSymbols(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 15.5C12.1421 15.5 15.5 12.1421 15.5 8C15.5 3.85786 12.1421 0.5 8 0.5C3.85786 0.5 0.5 3.85786 0.5 8C0.5 12.1421 3.85786 15.5 8 15.5Z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M4.88741 10.5609L5.41007 5.85219C5.43164 5.66133 5.56049 5.49964 5.74172 5.43601C5.92294 5.37238 6.1246 5.41804 6.26074 5.55352L7.29274 6.58619L9.76807 4.11086C9.86174 4.01706 9.98885 3.96436 10.1214 3.96436C10.254 3.96436 10.3811 4.01706 10.4747 4.11086L11.8894 5.52552C11.9832 5.61919 12.0359 5.7463 12.0359 5.87886C12.0359 6.01141 11.9832 6.13853 11.8894 6.23219L9.41407 8.70752L10.4467 9.73952C10.5822 9.87567 10.6279 10.0773 10.5643 10.2585C10.5006 10.4398 10.3389 10.5686 10.1481 10.5902L5.43941 11.1129C5.28844 11.1298 5.13796 11.0772 5.03053 10.9697C4.92311 10.8623 4.87043 10.7118 4.88741 10.5609Z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSymbols, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Symbols.8d06f7a5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgTravelPlaces = function SvgTravelPlaces(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.9879 13.331L13.4134 12.9055C13.648 12.6709 13.7403 12.3294 13.656 12.0086L12.1426 6.25782L14.1437 4.25672C14.8217 3.60894 14.9374 2.56803 14.418 1.78723C14.1 1.33853 13.6004 1.05291 13.0524 1.00663C12.5044 0.960345 11.964 1.15811 11.5753 1.54713L9.50388 3.61913L3.75439 2.10634C3.43334 2.02175 3.09152 2.11413 2.85679 2.34893L2.43132 2.77441C2.22813 2.97758 2.12989 3.26304 2.16501 3.54823C2.20012 3.83341 2.36468 4.08651 2.61109 4.23433L6.5349 6.58874L3.54912 9.97262L2.61606 9.98631C2.32719 9.93686 2.03187 10.026 1.81861 10.227L0.886798 11.0805C0.777231 11.1898 0.729129 11.3464 0.758431 11.4984C0.787733 11.6504 0.890613 11.778 1.03298 11.8387L2.83377 12.8545L4.01565 14.7175C4.07682 14.8597 4.20442 14.9623 4.35638 14.9916C4.50834 15.0208 4.66493 14.9729 4.77453 14.8637L5.58878 14.0874C5.81873 13.8707 5.92337 13.5523 5.86683 13.2414L5.88176 12.3053L9.17358 9.22742L11.528 13.1512C11.6758 13.3976 11.9289 13.5622 12.2141 13.5973C12.4993 13.6324 12.7847 13.5342 12.9879 13.331Z\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTravelPlaces, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/TravelPlaces.b6e696ac.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, Button } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n navigation: {\n background: colors.gray8,\n },\n title: {\n color: colors.gray1,\n fontWeight: 500,\n fontSize: 14,\n },\n group: {\n maxWidth: 586,\n maxHeight: 300,\n overflow: 'auto',\n },\n emojiGroup: {\n color: colors.gray1,\n },\n emojiGroupSelected: {\n color: colors.main,\n },\n filledIcon: {\n fill: 'currentColor',\n color: 'currentColor',\n },\n strokedIcon: {\n stroke: 'currentColor',\n },\n })\n);\n\nexport const EmojiButton = withStyles((theme: Theme) => ({\n root: {\n fontSize: 23,\n width: 64,\n height: 50,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: theme.palette.action.hover,\n },\n },\n}))(Box);\n\nexport const EmojiNavButton = withStyles((theme: Theme) => ({\n root: {\n borderRadius: 0,\n fontSize: 20,\n height: 50,\n },\n}))(Button);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSend = function SvgSend(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 26,\n viewBox: \"0 0 26 26\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.0764 0.944885C24.4361 0.287756 23.4885 0.0429435 22.605 0.300641L2.00145 6.29211C1.06923 6.5511 0.408481 7.29456 0.230489 8.23902C0.0486557 9.20023 0.683793 10.4204 1.51357 10.9307L7.95585 14.8902C8.6166 15.2961 9.46943 15.1943 10.0162 14.6428L17.3933 7.21982C17.7646 6.83328 18.3793 6.83328 18.7506 7.21982C19.122 7.59349 19.122 8.19907 18.7506 8.58562L11.3608 16.0099C10.8127 16.5601 10.7102 17.4169 11.1136 18.0818L15.0499 24.5886C15.5109 25.3617 16.3048 25.7998 17.1756 25.7998C17.278 25.7998 17.3933 25.7998 17.4957 25.7869C18.4945 25.6581 19.2884 24.9752 19.583 24.0088L25.691 3.43167C25.9599 2.5555 25.7166 1.60201 25.0764 0.944885Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSend, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Send.6963a87e.svg\";\nexport { ForwardRef as ReactComponent };","import { ReactComponent as ActivityAndSportsIcon } from '@img/icons/ActivityAndSports.svg';\nimport { ReactComponent as AnimalsNatureIcon } from '@img/icons/AnimalsNature.svg';\nimport { ReactComponent as FoodDrinkIcon } from '@img/icons/FoodDrink.svg';\nimport { ReactComponent as SmileysEmotionIcon } from '@img/icons/Reaction.svg';\nimport { ReactComponent as SymbolsIcon } from '@img/icons/Symbols.svg';\nimport { ReactComponent as TravelPlacesIcon } from '@img/icons/TravelPlaces.svg';\nimport { Box, Grid, Popover } from '@material-ui/core';\nimport BeachAccessOutlinedIcon from '@material-ui/icons/BeachAccessOutlined';\nimport EmojiObjectsOutlinedIcon from '@material-ui/icons/EmojiObjectsOutlined';\nimport ThumbsUpDownOutlinedIcon from '@material-ui/icons/ThumbsUpDownOutlined';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { Group, useFacade } from \"./emojiComponent.hooks\";\nimport { EmojiButton, EmojiNavButton, useStyles } from \"./emojiComponent.styles\";\n\ninterface EmojiComponentProps {\n anchorEl: HTMLElement;\n handleClose: () => void;\n handleSelectEmoji: (emoji: string) => void;\n}\n\nexport const EmojiComponent: React.FC = (props: EmojiComponentProps) => {\n const { anchorEl, handleClose, handleSelectEmoji } = props;\n\n const classes = useStyles();\n\n const [\n {\n selectedGroupIndex,\n },\n handleSelectGroup,\n ] = useFacade();\n\n const isEmojiSupported = (emoji: string): boolean => {\n const ctx = document.createElement(\"canvas\").getContext(\"2d\");\n ctx.canvas.width = ctx.canvas.height = 1;\n ctx.fillText(emoji, -4, 4);\n return ctx.getImageData(0, 0, 1, 1).data[3] > 0;\n }\n\n const emojiGroups = [\n {\n title: 'Smileys&Emotion',\n icon: ,\n items: '😀😃😄😁😆😅😂🤣😊😇🙂🙃😉😌😍🥰😘😗😙😚😋😛😝😜🤪🤨🧐🤓😎🤩🥳😏😒😞😔😟😕🙁☹️😣😖😫😩🥺😢😭😤😠😡🤬🤯😳🥵🥶😱😨😰😥😓🤗🤔🤭🤫🤥😶😐😑😬🙄😯😦😧😮😲🥱😴🤤😪😵🤐🥴🤢🤮🤧😷🤒🤕🤑🤠😈👿👹👺🤡💩👻💀👽👾🤖🎃😺😸😹😻😼😽🙀😿😾',\n },\n {\n title: 'Gesturesa & Body Parts',\n icon: ,\n items: '👋🤚🖐✋🖖👌🤏✌️🤞🤟🤘🤙👈👉👆🖕👇☝️👍👎✊👊🤛🤜👏🙌👐🤲🤝🙏✍️💅🤳💪🦾🦵🦿🦶👣👂🦻👃🧠🦷🦴👀👅👄💋🩸',\n },\n {\n title: 'Animals & Nature',\n icon: ,\n items: '🐶🐱🐭🐹🐰🦊🐻🐼🐻‍❄️🐨🐯🦁🐮🐷🐽🐸🐵🙈🙉🙊🐒🐔🐧🐦🐤🐣🐥🦆🦅🦉🦇🐺🐗🐴🦄🐝🐛🦋🐌🐞🐜🦟🦗🕷🕸🦂🐢🐍🦎🦖🦕🐙🦑🦐🦞🦀🐡🐠🐟🐬🐳🐋🦈🐊🐅🐆🦓🦍🦧🐘🦛🦏🐪🐫🦒🦘🐃🐂🐄🐎🐖🐏🐑🦙🐐🦌🐕🐩🦮🐕‍🦺🐈🐈‍⬛🐓🦃🦚🦜🦢🦩🐇🦝🦨🦡🦦🦥🐁🐀🦔🐾🐉🐲🌵🎄🌲🌳🌴🌱🌿🍀🎍🎋🍃🍂🍁🍄🐚🌾💐🌷🌹🥀🌺🌸🌼🌻🌞🌝🌛🌜🌚🌕🌖🌗🌘🌑🌒🌓🌔🌙🌎🌍🌏🪐💫⭐️🌟✨⚡️☄️💥🔥🌈⛅️☁️⛄️💨💧💦☔️🌊',\n },\n {\n title: 'Food & Drink',\n icon: ,\n items: '🍏🍎🍐🍊🍋🍌🍉🍇🍓🍈🍒🍑🥭🍍🥥🥝🍅🍆🥑🥦🥬🥒🥣🥡🥢🧂',\n },\n {\n title: 'Travel & Places',\n icon: ,\n items: '🚗🚕🚙🚌🚎🚓🚑🚒🚐🚚🚛🚜🦯🦽🦼🛴🚲🛵🛺🚨🚔🚍🚘🚖🚡🚠🚟🚃🚋🚞🚝🚄🚅🚈🚂🚆🚇🚊🚉✈️🛫🛬💺🚀🛸🚁🛶⛵️🚤🚢⚓️🪝⛽️🚧🚦🚥🚏🗿🗽🗼🏰🏯🎡🎢🎠⛲️🌋🗻⛺️🏠🏡🏭🏢🏬🏣🏤🏥🏦🏨🏪🏫🏩💒⛪️🕌🕍🛕🕋🗾🎑🌅🌄🌠🎇🎆🌇🌆🌃🌌🌉🌁',\n },\n {\n title: 'Activity & Sports',\n icon: ,\n items: '⚽️🏀🏈⚾️🥎🎾🏐🏉🥏🎱🪀🏓🏸🏒🏑🥍🥅⛳️🪁🏹🎣🤿🥊🥋🎽🛹🛷🥌🎿🏂🪂🏋️‍♀️🏋️🏋️🤼‍♀️🤼🤼🤸‍♀️🤸🤸⛹️‍♀️⛹️⛹️🤺🤾‍♀️🤾🤾🏌️‍♀️🏌️🏌️🏇🧘‍♀️🧘🧘🏄‍♀️🏄🏄🏊‍♀️🏊🏊🤽‍♀️🤽🤽🚣‍♀️🚣🚣🧗‍♀️🧗🧗🚵‍♀️🚵🚵🚴‍♀️🚴🚴🏆🥇🥈🥉🏅🎫🎪🤹🤹🤹🎭🩰🎨🎬🎤🎧🎼🎹🥁🪘🎷🎺🪗🎸🪕🎻🎲🎯🎳🎮🎰🧩',\n },\n {\n title: 'Objects',\n icon: ,\n items: '⌚️📱📲💻⌨️💽💾💿📀📼📷📸📹🎥📞☎️📟📠📺📻🧭⏱⏲⏰⌛️⏳📡🔋🔌💡🔦🪔🧯💸💵💴💶💷💰💳💎⚖️🧰🔧🔨🧲🔫💣🧨🪓🔪🚬🏺🔮📿🧿💈🔭🔬🩹🩺💊💉🩸🧬🦠🧫🧪🧹🧺🧻🚽🚰🚿🛁🛀🧼🪒🧽🧴🔑🛌🧸🛒🎁🎈🎏🎀🎊🎉🎎🏮🎐🧧✉️📩📨📧💌📥📤📦📜📑🧾📊📈📉📆📅📇📋📁📂📰📓📔📒📕📗📘📙📚📖🔖🧷🔗📎📐📏🧮📌📍📝🔍🔎🔏🔐🔒🔓',\n },\n {\n title: 'Symbols',\n icon: ,\n items: '🧡💛💚💙💜🖤🤍🤎💔❣️💕💞💓💗💖💘💝💟🕎☦️🛐⛎♈️♉️♊️♋️♌️♍️♎️♏️♐️♑️♒️♓️🆔🉑📴📳🈶🈚️🈸🈺🈷️🆚💮🉐㊙️㊗️🈴🈵🈹🈲🅰️🅱️🆎🆑🅾️🆘❌⭕️🛑⛔️📛🚫💯💢🚷🚯🚳🚱🔞📵🚭❗️❕❓❔‼️⁉️🔅🔆〽️🚸🔱🔰♻️✅🈯️💹❎🌐💠Ⓜ️🌀💤🏧🚾♿️🅿️🈳🈂️🛂🛃🛄🛅🚹🚺🚼🚻🚮🎦📶🈁🔣ℹ️🔤🔡🔠🆖🆗🆙🆒🆕🆓⏸⏯⏹⏺⏭⏮⏩⏪⏫⏬🔼🔽🔀🔁🔂🔄🔃🎵🎶➕➖➗✖️♾💲💱〰️➰➿🔚🔙🔛🔝🔜✔️☑️🔘🔴🟠🟡🟢🔵🟣⚫️⚪️🟤🔺🔻🔸🔹🔶🔷🔳🔲◾️◽️◼️◻️🟥🟧🟨🟩🟦🟪⬛️⬜️🟫🔈🔇🔉🔊🔔🔕📣📢👁💬💭🃏🎴🀄️🕐🕑🕒🕓🕔🕕🕖🕗🕘🕙🕚🕛🕜🕝🕞🕟🕠🕡🕢🕣🕤🕥🕦🕧',\n },\n {\n title: 'Clothing & Accessories',\n icon: ,\n items: '🧳🌂🧵🧶👓🥽🥼🦺👔👕👖🧣🧤🧥🧦👗👘🥻🩱🩲🩳👙👚👛👜👝🎒👞👟🥾🥿👠👡🩰👢👑👒🎩🎓🧢',\n },\n ]\n\n const renderNavigation = (groups: Group[]) => {\n return (\n \n {\n groups.map((iem, index) =>\n handleSelectGroup(index)}\n >\n {iem.icon}\n \n )\n }\n \n )\n }\n\n const renderGroup = (group: Group) => {\n return (\n \n \n {group.title}\n \n \n {\n Array.from(group.items).filter(x => isEmojiSupported(x)).map((item, index) =>\n handleSelectEmoji(item)}>\n {item}\n \n )\n }\n \n \n )\n }\n\n return (\n \n \n {renderGroup(emojiGroups[selectedGroupIndex])}\n {renderNavigation(emojiGroups)}\n \n \n )\n}","import { useState } from \"react\";\n\nexport interface Group {\n title: string;\n icon: JSX.Element;\n items: string;\n}\n\ninterface EmojiComponentState {\n selectedGroupIndex: number;\n}\n\nexport function useFacade(): [EmojiComponentState, (index: number) => void] {\n\n const [state, setState] = useState({\n selectedGroupIndex: 0,\n } as EmojiComponentState);\n\n const handleSelectGroup = (index: number) => {\n setState(state => ({...state, selectedGroupIndex: index}));\n }\n\n return [state, handleSelectGroup];\n}\n\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAttach = function SvgAttach(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 19,\n viewBox: \"0 0 17 19\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.8879 9.20302L8.15515 15.9357C6.82515 17.2657 4.66788 17.4757 3.21697 16.2794C1.55606 14.9112 1.46697 12.4421 2.95606 10.953L10.8215 3.08756C11.6551 2.25393 13.0106 2.09484 13.9206 2.83938C14.9706 3.69847 15.0279 5.24484 14.0924 6.18029L7.4106 12.8621C7.0606 13.2121 6.48788 13.2121 6.13788 12.8621C5.78788 12.5121 5.78788 11.9394 6.13788 11.5894L11.7061 6.0212C11.967 5.76029 11.967 5.32756 11.7061 5.06666C11.4451 4.80575 11.0124 4.80575 10.7515 5.06666L5.27242 10.5457C4.43878 11.3794 4.27969 12.7348 5.02424 13.6448C5.88333 14.6948 7.42969 14.7521 8.36515 13.8167L14.9388 7.24302C16.2688 5.91302 16.4788 3.75575 15.2824 2.30484C13.9079 0.637564 11.4451 0.554837 9.95606 2.04393L2.14787 9.85211C0.321511 11.6785 0.0224202 14.6503 1.6706 16.6421C3.57333 18.9267 6.95242 19.0476 9.00151 16.9985L15.8424 10.1576C16.1033 9.89666 16.1033 9.46393 15.8424 9.20302C15.5815 8.94211 15.1488 8.94211 14.8879 9.20302Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAttach, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Attach.d2f1a85f.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSchedule = function SvgSchedule(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.7083 20.0003H2.29172C1.02753 20.0003 0 18.9727 0 17.7086V3.95856C0 2.69437 1.02753 1.66699 2.29172 1.66699H17.7083C18.9725 1.66699 20 2.69437 20 3.95856V17.7086C20 18.9727 18.9725 20.0003 17.7083 20.0003ZM2.29172 2.91699C1.71753 2.91699 1.25 3.38437 1.25 3.95856V17.7086C1.25 18.2827 1.71753 18.7503 2.29172 18.7503H17.7083C18.2825 18.7503 18.75 18.2827 18.75 17.7086V3.95856C18.75 3.38437 18.2825 2.91699 17.7083 2.91699H2.29172Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.375 7.91699H0.625C0.279999 7.91699 0 7.63699 0 7.29199C0 6.94699 0.279999 6.66699 0.625 6.66699H19.375C19.72 6.66699 20 6.94699 20 7.29199C20 7.63699 19.72 7.91699 19.375 7.91699Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.79172 5C4.44672 5 4.16672 4.72 4.16672 4.375V0.625C4.16672 0.279999 4.44672 0 4.79172 0C5.13672 0 5.41672 0.279999 5.41672 0.625V4.375C5.41672 4.72 5.13672 5 4.79172 5Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15.2083 5C14.8633 5 14.5833 4.72 14.5833 4.375V0.625C14.5833 0.279999 14.8633 0 15.2083 0C15.5533 0 15.8333 0.279999 15.8333 0.625V4.375C15.8333 4.72 15.5533 5 15.2083 5Z\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSchedule, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Schedule.3cfeb825.svg\";\nexport { ForwardRef as ReactComponent };","import {\n Box,\n Grid,\n IconButton,\n Tooltip,\n useMediaQuery,\n useTheme,\n} from \"@material-ui/core\";\nimport React, { MouseEventHandler } from \"react\";\nimport { useStyles, InputField, ActionButton } from \"./sendMessageComponent.styles\";\nimport { useFacade } from \"./sendMessageComponent.hooks\";\nimport { EmojiComponent } from \"../emojiComponent/EmojiComponent\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { ReactComponent as SendIcon } from \"@img/icons/Send.svg\";\nimport { ReactComponent as AttachIcon } from \"@img/icons/Attach.svg\";\nimport { ReactComponent as ReactionIcon } from \"@img/icons/Reaction.svg\";\nimport { ReactComponent as ScheduleIcon } from \"@img/icons/Schedule.svg\";\nimport DescriptionIcon from \"@material-ui/icons/Description\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { AttachFileModel } from \"../../models/message.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\ninterface SendMessageComponentProps {\n canAttach?: boolean;\n canSchedule?: boolean;\n inputProps?: any;\n placeholder?: string;\n handleAttach?: MouseEventHandler;\n attachments?: AttachFileModel[];\n emptyMessage?: boolean;\n handleRemoveAttachment?: (index: number) => void;\n handleSubmit: (message: any) => void;\n handleTyping: () => void;\n handleSchedule?: (message: string) => void;\n}\n\nexport const SendMessageComponent: React.FC = (props: SendMessageComponentProps) => {\n const {\n handleSubmit,\n handleSchedule: schedule,\n handleTyping,\n handleRemoveAttachment,\n canAttach,\n canSchedule,\n inputProps,\n handleAttach,\n placeholder = 'Type message here...',\n attachments = [],\n emptyMessage,\n } = props;\n\n const classes = useStyles();\n\n const [\n {\n message,\n emojiAnchorElement\n },\n handleKeyDown,\n handleChangeMessage,\n handleToggleReaction,\n handleInsertReaction,\n handleSchedule,\n handleSendMessage\n ] = useFacade(handleTyping, handleSubmit, schedule, emptyMessage);\n\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.between(\"sm\", \"md\"));\n\n return (\n
\n {!authQuery.isSubscriptionStatusActive() && (\n \n \n \n )}\n\n \n {inputProps && }\n\n handleKeyDown(e, message)}\n onChange={(e: React.ChangeEvent) =>\n handleChangeMessage(e.target.value)\n }\n />\n\n \n {canAttach && (\n \n \n \n \n \n )}\n \n \n handleToggleReaction(e.currentTarget)}\n >\n \n \n \n \n {canSchedule && (\n \n handleSchedule()}\n disabled={message.trim().length < 1}\n >\n \n \n \n )}\n {attachments && attachments.length ? (\n attachments.map((item, index) =>\n item.file.type.includes(\"image\") ? (\n \n handleRemoveAttachment(index)}\n >\n \n \n \n ) : (\n \n \n \n {item.file.name}\n \n handleRemoveAttachment(index)}\n >\n \n \n \n )\n )\n ) : (\n <>\n )}\n \n {Boolean(emojiAnchorElement) && (\n handleToggleReaction()}\n handleSelectEmoji={handleInsertReaction}\n />\n )}\n \n \n \n\n \n handleSendMessage()}\n disabled={message.trim().length < 1 && !(attachments && attachments.length)}\n >\n \n \n \n
\n );\n};\n","import { IconButton, OutlinedInput } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n padding: \"10px 0\",\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 2,\n },\n\n messageContainer: {\n display: \"flex\",\n position: \"relative\",\n justifyContent: \"space-between\",\n alignItems: \"flex-start\",\n },\n\n message: {\n flex: 1,\n },\n\n icon: {\n fill: \"currentColor\",\n width: 20,\n height: 20,\n },\n\n attachmentsList: {\n display: \"flex\",\n overflow: \"auto\",\n maxWidth: 267,\n gap: 13,\n background: colors.separators,\n borderRadius: \"22px 22px 0px 0px\",\n paddingTop: 19,\n paddingBottom: 10,\n paddingLeft: 10,\n },\n attachmentContainer: {\n position: \"relative\",\n flexShrink: 0,\n height: 83,\n width: 77,\n \"&:hover\": {\n \"& $removeAttachment\": {\n visibility: \"visible\",\n },\n },\n },\n imageAttachment: {\n backgroundRepeat: \"no-repeat\",\n borderRadius: 2,\n backgroundSize: \"68px 74px\",\n height: 74,\n width: 68,\n position: \"absolute\",\n top: 9,\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.lightGray,\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: \"center\",\n justifyContent: \"center\",\n gap: 6,\n maxWidth: 68,\n height: 74,\n position: \"absolute\",\n top: 9,\n padding: \"10px 8px\",\n },\n attachmentIcon: {\n color: colors.gray2,\n opacity: 0.6,\n },\n attachmentTitle: {\n width: \"100%\",\n fontSize: 10,\n fontWeight: 400,\n color: colors.gray1,\n overflow: \"hidden\",\n textOverflow: \"ellipsis\",\n lineHeight: \"12px\",\n },\n removeAttachment: {\n visibility: \"hidden\",\n position: \"absolute\",\n background: colors.gray1,\n borderRadius: \"50%\",\n color: colors.separators,\n right: 0,\n zIndex: 1,\n },\n disabledMessage: {\n position: \"absolute\",\n zIndex: 1,\n display: \"flex\",\n width: \"100%\",\n height: \"100%\",\n opacity: 0,\n },\n\n rootInput: {\n \"&:focus\": {\n outline: \"none !important\",\n },\n \"& label.Mui-focused\": {\n outline: \"none !important\",\n },\n \"& .MuiInput-underline:after\": {\n borderBottomColor: \"transparent\",\n },\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: \"transparent\",\n },\n \"&:hover fieldset\": {\n borderColor: \"transparent\",\n },\n \"&.Mui-focused fieldset\": {\n outline: \"none !important\",\n borderColor: \"transparent\",\n },\n },\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.separators,\n width: 267,\n borderRadius: \"22px\",\n paddingRight: 0,\n },\n },\n })\n);\n\nexport const InputField = withStyles((theme: Theme) => ({\n root: {\n \"&:focus\": {\n outline: \"none !important\",\n },\n \"& label.Mui-focused\": {\n outline: \"none !important\",\n },\n \"& .MuiInput-underline:after\": {\n borderBottomColor: \"transparent\",\n },\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: \"transparent\",\n },\n \"&:hover fieldset\": {\n borderColor: \"transparent\",\n },\n \"&.Mui-focused fieldset\": {\n outline: \"none !important\",\n borderColor: \"transparent\",\n },\n },\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.separators,\n width: 267,\n borderRadius: \"22px\",\n paddingRight: 0,\n },\n },\n}))(OutlinedInput);\n\nexport const ActionButton = withStyles((theme: Theme) => ({\n root: {\n fill: \"currentColor\",\n color: colors.main,\n \"&:hover\": {\n color: `#${colors.main}CC`,\n },\n \"&:disabled\": {\n color: colors.gray2,\n },\n },\n}))(IconButton);\n","import {\n Box,\n Grid,\n IconButton,\n Tooltip,\n InputAdornment,\n FormControl,\n} from \"@material-ui/core\";\nimport React, { MouseEventHandler } from \"react\";\nimport { useStyles, InputField, ActionButton } from \"./sendMessageComponentMobile.styles\";\nimport { useFacade } from \"../sendMessageComponent/sendMessageComponent.hooks\";\nimport { EmojiComponent } from \"../emojiComponent/EmojiComponent\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { ReactComponent as SendIcon } from \"@img/icons/Send.svg\";\nimport { ReactComponent as AttachIcon } from \"@img/icons/Attach.svg\";\nimport { ReactComponent as ReactionIcon } from \"@img/icons/Reaction.svg\";\nimport { ReactComponent as ScheduleIcon } from \"@img/icons/Schedule.svg\";\nimport DescriptionIcon from \"@material-ui/icons/Description\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { AttachFileModel } from \"../../models/message.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\ninterface SendMessageComponentProps {\n canAttach?: boolean;\n canSchedule?: boolean;\n inputProps?: any;\n placeholder?: string;\n handleAttach?: MouseEventHandler;\n attachments?: AttachFileModel[];\n emptyMessage?: boolean;\n handleRemoveAttachment?: (index: number) => void;\n handleSubmit: (message: any) => void;\n handleTyping: () => void;\n handleSchedule?: (message: string) => void;\n}\n\nexport const SendMessageComponentMobile: React.FC = (\n props: SendMessageComponentProps\n) => {\n const {\n handleSubmit,\n handleSchedule: schedule,\n handleTyping,\n handleRemoveAttachment,\n canAttach,\n canSchedule,\n inputProps,\n handleAttach,\n placeholder = \"Type message here...\",\n attachments = [],\n emptyMessage,\n } = props;\n\n const classes = useStyles();\n\n const [\n { message, emojiAnchorElement },\n handleKeyDown,\n handleChangeMessage,\n handleToggleReaction,\n handleInsertReaction,\n handleSchedule,\n handleSendMessage,\n ] = useFacade(handleTyping, handleSubmit, schedule, emptyMessage);\n\n return (\n
\n {attachments && attachments.length ? (\n \n {attachments.map((item, index) =>\n item.file.type.includes(\"image\") ? (\n \n handleRemoveAttachment(index)}\n size=\"small\"\n >\n \n \n \n \n ) : (\n \n handleRemoveAttachment(index)}\n >\n \n \n \n \n {item.file.name}\n \n \n )\n )}\n \n ) : (\n <>\n )}\n\n \n {!authQuery.isSubscriptionStatusActive() && (\n \n \n \n )}\n\n {canAttach && (\n \n \n \n \n \n )}\n {canSchedule && (\n \n handleSchedule()}\n disabled={message.trim().length < 1}\n >\n \n \n \n )}\n\n \n {inputProps && }\n \n handleKeyDown(e, message)}\n onChange={(e: React.ChangeEvent) =>\n handleChangeMessage(e.target.value)\n }\n endAdornment={\n \n \n \n handleToggleReaction(e.currentTarget)}\n >\n \n \n \n \n \n }\n />\n \n \n \n {Boolean(emojiAnchorElement) && (\n handleToggleReaction()}\n handleSelectEmoji={handleInsertReaction}\n />\n )}\n \n \n \n\n \n handleSendMessage()}\n disabled={message.trim().length < 1 && !(attachments && attachments.length)}\n >\n \n \n \n \n
\n );\n};\n","import { IconButton, TextField } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: 'flex',\n },\n message: {\n flex: 1,\n },\n icon: {\n fill: 'currentColor',\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.gray8,\n display: 'flex',\n alignItems: 'center',\n maxWidth: 140,\n height: 44,\n\n \"&:hover\": {\n \"& $removeAttachment\": {\n visibility: \"visible\",\n },\n },\n },\n attachmentIcon: {\n color: colors.gray2,\n },\n attachmentTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n removeAttachment: {\n visibility: 'hidden',\n },\n containerAttachments: {\n maxHeight: '20vh',\n overflow: 'auto',\n }\n })\n);\n\nexport const InputField = withStyles({\n root: {\n '&:focus': {\n outline: 'none !important',\n },\n '& label.Mui-focused': {\n outline: 'none !important',\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'transparent',\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: 'transparent',\n },\n '&:hover fieldset': {\n borderColor: 'transparent',\n },\n '&.Mui-focused fieldset': {\n borderColor: 'transparent',\n outline: 'none !important',\n },\n },\n },\n})(TextField);\n\nexport const DiscardButton = withStyles((theme: Theme) => ({\n root: {\n fill: 'currentColor',\n color: colors.gray1,\n background: colors.gray4,\n '&:hover': {\n color: `${colors.gray1}CC`,\n background: `${colors.gray4}CC`,\n },\n '&:disabled': {\n color: `${colors.gray1}99`,\n background: `${colors.gray4}99`,\n },\n },\n}))(IconButton);\n\nexport const ConfirmButton = withStyles((theme: Theme) => ({\n root: {\n fill: 'currentColor',\n color: colors.white,\n background: colors.main,\n '&:hover': {\n color: `${colors.white}CC`,\n background: `${colors.main}CC`,\n },\n '&:disabled': {\n color: `${colors.white}99`,\n background: `${colors.main}99`,\n },\n },\n}))(IconButton);","import { Box, IconButton, Grid } from '@material-ui/core';\nimport CheckIcon from '@material-ui/icons/Check';\nimport CloseIcon from '@material-ui/icons/Close';\nimport React from 'react';\nimport { AttachFileModel, UploadedAttachmentModel } from '../../models/message.models';\nimport { useFacade } from './editScheduledMessage.hooks';\nimport { ConfirmButton, DiscardButton, InputField, useStyles } from './editScheduledMessage.styles';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport clsx from 'clsx';\n\ninterface EditScheduledMessageProps {\n message: string;\n attachments: UploadedAttachmentModel[];\n attachmentsNew: AttachFileModel[];\n handleConfirm: (message: string, removeAttachmentIds: number[], attachments: UploadedAttachmentModel[]) => void;\n handleDiscard: () => void;\n handleRemoveAttachmentNew: (index: number) => void,\n}\n\nexport const EditScheduledMessage: React.FC = (props: EditScheduledMessageProps) => {\n const {\n message: initMessage,\n attachments: initAttachments,\n attachmentsNew,\n handleConfirm,\n handleDiscard,\n handleRemoveAttachmentNew,\n } = props;\n\n const classes = useStyles();\n\n const [\n {\n message,\n attachments,\n removeAttachments,\n },\n handleKeyDown,\n handleChangeMessage,\n handleRemoveAttachment,\n ] = useFacade(initMessage, initAttachments, handleConfirm);\n\n return (\n
\n \n handleKeyDown(e, message)}\n onChange={(e: React.ChangeEvent) => handleChangeMessage(e.target.value)}\n />\n \n {\n attachmentsNew && attachmentsNew.length ?\n attachmentsNew.map((item, index) =>\n \n \n {item.file.name}\n handleRemoveAttachmentNew(index)}>\n \n \n \n ) : <>\n }\n {\n attachments && attachments.length ?\n attachments.map((item, index) =>\n \n \n {item.name}\n handleRemoveAttachment(item.id, item.name)}>\n \n \n \n ) : <>\n }\n \n \n\n \n \n handleDiscard()}>\n \n \n \n \n handleConfirm(message.trim(), removeAttachments, attachments)}\n disabled={message.trim().length < 1}\n >\n \n \n \n \n
\n )\n};\n","import { useEffect, useState } from \"react\";\nimport { UploadedAttachmentModel } from \"../../models/message.models\";\n\ninterface EditScheduledMessageState {\n message: string;\n attachments: UploadedAttachmentModel[];\n removeAttachments: number[];\n}\n\nexport function useFacade(\n initMessage: string,\n initAttachments: UploadedAttachmentModel[],\n handleConfirm: (message: string, removeAttachmentIds: number[], attachments: UploadedAttachmentModel[]) => void\n): [\n EditScheduledMessageState,\n (event: any, message: string) => void,\n (value: string) => void,\n (id: number, name: string) => void,\n ] {\n\n const [state, setState] = useState({\n message: initMessage,\n attachments: initAttachments,\n removeAttachments: []\n } as EditScheduledMessageState);\n\n const handleChangeMessage = (value: string) => {\n setState(state => ({ ...state, message: value }));\n }\n\n const handleRemoveAttachment = (attachmentId: number) => {\n const removeAttachments = [...state.removeAttachments, attachmentId]\n setState(state => ({ ...state, removeAttachments: removeAttachments, attachments: state.attachments.filter((i) => i.id !== attachmentId) }));\n }\n\n const handleKeyDown = (event: any, message: string) => {\n if (event.keyCode === 13 && !event.shiftKey) {\n handleConfirm(message.trim(), state.removeAttachments, state.attachments)\n }\n }\n\n useEffect(() => {\n setState(state => ({ ...state, message: initMessage, attachments: initAttachments, removeAttachments: [] }));\n }, [initMessage, initAttachments]);\n\n return [\n state,\n handleKeyDown,\n handleChangeMessage,\n handleRemoveAttachment,\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important',\n paddingBottom: '30px !important',\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogTitle: {\n padding: 24,\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n paddingBottom: 30,\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n dialogActions: {\n paddingTop: 20,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n boxShadow: '0px 2px 13px 0px rgba(168, 173, 198, 0.25)'\n },\n })\n);","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAiIcon = function SvgAiIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 20,\n viewBox: \"0 0 18 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.51562 11.6783L3.71487 12.1407C3.00757 11.5469 1.97534 11.4251 1.13054 11.913C0.0488982 12.5374 -0.320907 13.9182 0.303508 14.9995C0.925265 16.0766 2.30351 16.454 3.39007 15.8266C4.23722 15.3375 4.64757 14.3846 4.48577 13.4748L5.28796 13.0119C4.96237 12.6154 4.69999 12.1661 4.51562 11.6783Z\",\n fill: \"#F9F9FB\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4114 8.32119L14.2121 7.85873C14.9194 8.45251 15.9516 8.57431 16.7965 8.08646C17.8781 7.46201 18.2479 6.08126 17.6235 4.9999C16.9991 3.91826 15.6183 3.54837 14.5369 4.17283C13.6898 4.66189 13.2794 5.6149 13.4412 6.52466L12.6391 6.98755C12.9646 7.384 13.2271 7.83334 13.4114 8.32119Z\",\n fill: \"#F9F9FB\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.96293 6.27215C5.7479 6.27215 4.04559 10.1042 6.19169 12.4898C7.63801 14.0933 10.1018 14.1392 11.6068 12.6255C11.6098 12.6224 11.6126 12.6193 11.6156 12.6163C13.9163 10.2848 12.2845 6.27215 8.96293 6.27215Z\",\n fill: \"#F9F9FB\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.19427 4.38375V5.30797C8.70385 5.22445 9.22509 5.22441 9.73482 5.30797V4.38375C10.6026 4.06809 11.2241 3.23512 11.2241 2.25953C11.2241 1.01363 10.2105 0 8.96455 0C7.71861 0 6.70502 1.01363 6.70502 2.25953C6.70502 3.23512 7.3265 4.06809 8.19427 4.38375Z\",\n fill: \"#F9F9FB\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.73482 15.616V14.6918C9.22525 14.7753 8.70396 14.7754 8.19427 14.6918V15.616C7.32646 15.9317 6.70502 16.7647 6.70502 17.7402C6.70502 18.9861 7.71857 19.9998 8.96455 19.9998C10.2105 19.9998 11.2241 18.9861 11.2241 17.7402C11.2241 16.7647 10.6026 15.9317 9.73482 15.616Z\",\n fill: \"#F9F9FB\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.1306 8.08682C1.97575 8.57483 3.00786 8.4526 3.71493 7.85901L4.51567 8.32147C4.70001 7.83362 4.96243 7.38428 5.28802 6.98788L4.48583 6.52495C4.64771 5.6151 4.2372 4.66213 3.39013 4.17311C2.30853 3.54866 0.927939 3.91877 0.303603 5.00022C-0.320967 6.08182 0.0491502 7.46249 1.1306 8.08682Z\",\n fill: \"#F9F9FB\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.7974 11.9132C15.9525 11.4254 14.9203 11.5471 14.213 12.1409L13.4123 11.6784C13.228 12.1663 12.9655 12.6156 12.64 13.012L13.4421 13.475C13.2803 14.3848 13.6908 15.3377 14.5378 15.8268C15.6226 16.4531 17.0016 16.0787 17.6244 14.9998C18.249 13.9182 17.8789 12.5375 16.7974 11.9132Z\",\n fill: \"#F9F9FB\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAiIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/AiIcon.961ca29b.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { Box, Dialog, DialogContent, Button, useTheme, useMediaQuery } from '@material-ui/core';\nimport { SelectDateTimeComponent } from '../../../appointments/components/selectDateTime/SelectDateTimeComponent';\nimport { DialogTitle } from '../../../common/components/dialogTitle/DialogTitle';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { useFacade } from './scheduleMessageDialogComponent.hooks';\nimport { useStyles } from \"./scheduleMessageDialogComponent.styles\";\n\ninterface ScheduleMessageDialogComponentProps {\n isOpen: boolean;\n handleToggle: () => void;\n handleSubmit: (date: Date, time: Date) => void;\n}\n\nexport const ScheduleMessageDialogComponent: React.FC = (props: ScheduleMessageDialogComponentProps) => {\n const {isOpen, handleToggle, handleSubmit} = props;\n\n const [\n {\n canSubmit,\n selectedTime,\n selectedDate,\n minDate\n },\n getAvailability,\n handleChangeTime,\n handleChangeDate,\n handleConfirm,\n handleCancel,\n ] = useFacade(handleSubmit, handleToggle);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n handleCancel()}\n >\n {\n !isSmallScreen &&\n handleCancel()}>\n \n Schedule Message Delivery\n \n \n }\n\n \n \n {\n isSmallScreen &&\n \n \n \n \n \n \n Schedule Message Delivery\n \n \n \n \n }\n \n handleChangeTime(time)}\n handleChangeDate={(date: Date) => handleChangeDate(date)}\n availability={getAvailability()}\n disabledTile={false}\n patientTimezone='Time'\n />\n \n \n \n \n handleConfirm()}\n size='large'\n fullWidth={isSmallScreen}\n >\n Schedule Delivery\n \n \n \n \n \n \n )\n}","import moment from \"moment\";\nimport { useState } from \"react\";\nimport { AvailabilityModel } from \"../../../appointments/models/availability.models\";\n\ninterface ConversationComponentState {\n canSubmit: boolean;\n selectedTime: Date;\n selectedDate: Date;\n minDate: Date;\n}\n\nexport function useFacade(handleSubmit: (date: Date, time: Date) => void, handleToggle: () => void): [ConversationComponentState, () => AvailabilityModel[], (time: Date) => void, (date: Date) => void, () => void, () => void] {\n\n const [state, setState] = useState({\n canSubmit: false,\n selectedTime: null,\n selectedDate: new Date(),\n minDate: new Date(),\n } as ConversationComponentState);\n\n const handleChangeTime = (time: Date) => {\n setState(state => ({...state, selectedTime: time, canSubmit: true}));\n }\n\n const handleChangeDate = (date: Date) => {\n setState(state => ({...state, selectedDate: date, selectedTime: null, canSubmit: false}));\n }\n const handleCancel = () => {\n handleToggle();\n setState(state => ({...state, selectedDate: new Date(), selectedTime: null, canSubmit: false}));\n }\n\n const handleConfirm = () => {\n handleSubmit(state.selectedDate, state.selectedTime);\n setState(state => ({...state, selectedDate: new Date(), selectedTime: null, canSubmit: false}));\n }\n\n const getAvailability = () => {\n const isToday = moment(state.selectedDate).isSame(moment(new Date()).startOf('day'), 'd');\n let iterations = 10;\n const date = state.selectedDate;\n\n date.setMinutes(0);\n date.setHours(8);\n\n if (isToday) {\n const endHour = 18;\n\n const hours = new Date().getHours();\n date.setHours(hours);\n iterations = endHour - (hours > endHour ? endHour : hours);\n }\n\n let previousTime = moment(date);\n const result = [];\n\n for (let i = 0; i < iterations; i++) {\n const time = previousTime.add(1, 'hours');\n\n result.push({\n start: time.toDate(),\n end: time.toDate(),\n timeZone: ''\n });\n\n previousTime = time;\n }\n\n return result;\n }\n\n return [state,\n getAvailability,\n handleChangeTime,\n handleChangeDate,\n handleConfirm,\n handleCancel\n ];\n}\n","import React from \"react\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport emptyMessages from \"@img/placeholders/EmptyMessages.png\";\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport { CommonPlaceHolderProps } from \"./CommonPlaceHolder\";\n\ninterface MessagesPlaceHolderProps extends CommonPlaceHolderProps {\n}\n\nexport const MessagesPlaceHolder: React.FC = (props: MessagesPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n \n \n \n );\n}\n","import { ListItemText, IconButton } from '@material-ui/core';\nimport { createStyles, makeStyles, withStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n myMessages: {\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n },\n messages: {\n alignItems: \"flex-end\",\n },\n messagesBlock: {\n maxWidth: '65%',\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: '305px',\n },\n },\n compactMessagesBlock: {\n maxWidth: '75%',\n display: 'inline-block',\n wordBreak: 'break-word',\n },\n messageFileButton: {\n \"& $fileIcon\": {\n color: colors.main,\n },\n \"& $downloadIcon\": {\n color: colors.main,\n },\n },\n myMessageFileButton: {\n \"& $fileIcon\": {\n color: colors.white,\n },\n \"& $downloadIcon\": {\n color: colors.white,\n },\n },\n fileButton: {\n \"&:hover\": {\n \"& $fileIcon\": {\n display: \"none\",\n },\n \"& $downloadIcon\": {\n display: \"inline-block\",\n },\n },\n },\n fileIcon: {\n display: 'inline-block',\n },\n downloadIcon: {\n display: 'none',\n },\n messageLinkUrl: {\n display: 'inline-block',\n wordBreak: 'break-word',\n color: colors.main,\n textDecoration: 'underline',\n \"&:hover\": {\n color: colors.main,\n },\n },\n myMessageLinkUrl: {\n display: 'inline-block',\n wordBreak: 'break-word',\n color: colors.mint700,\n textDecoration: 'underline',\n \"&:hover\": {\n color: colors.mint900,\n },\n },\n breakText: {\n display: 'inline-block',\n wordBreak: 'break-word',\n },\n messageAuthor:{\n color: colors.gray1,\n fontWeight: 500,\n fontSize: 12,\n margin: '0 15px',\n },\n messageView: {\n whiteSpace: 'pre-line', \n display: 'inline-block',\n wordBreak: 'break-word',\n },\n dialogTitle: {\n padding: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: 20,\n top: 20,\n color: theme.palette.grey[500],\n },\n dialogContent : {\n paddingTop: 0,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n dialogActions: {\n paddingTop: 0,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '280px',\n maxWidth: '280px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n }\n));\n\nexport const MyMessage = withStyles({\n root: {\n margin: '0 15px',\n display: 'grid',\n justifyContent: 'flex-end',\n \"& .MuiListItemText-primary\": {\n padding: 10,\n color: colors.black,\n background: colors.mint100,\n borderRadius: \"6px 6px 0px 6px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-end',\n },\n }\n})(ListItemText);\n\nexport const MyCompactMessage = withStyles({\n root: {\n margin: '0 5px',\n display: 'grid',\n justifyContent: 'flex-end',\n \"& .MuiListItemText-primary\": {\n padding: 5,\n color: colors.black,\n background: colors.mint100,\n borderRadius: \"6px 6px 0px 6px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-end',\n },\n }\n})(ListItemText);\n\nexport const MyDeletedMessage = withStyles({\n root: {\n margin: '0 15px',\n display: 'grid',\n justifyContent: 'flex-end',\n \"& .MuiListItemText-primary\": {\n padding: 10,\n color: colors.black,\n background: colors.stroke,\n borderRadius: \"6px 6px 0px 6px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-end',\n },\n }\n})(ListItemText);\n\nexport const MyDeletedCompactMessage = withStyles({\n root: {\n margin: '0 5px',\n display: 'grid',\n justifyContent: 'flex-end',\n \"& .MuiListItemText-primary\": {\n padding: 5,\n color: colors.black,\n background: colors.stroke,\n borderRadius: \"6px 6px 0px 6px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-end',\n },\n }\n})(ListItemText);\n\nexport const Message = withStyles({\n root: {\n margin: '0 15px',\n display: 'grid',\n justifyContent: 'flex-start',\n \"& .MuiListItemText-primary\": {\n padding: 10,\n border: `1px solid ${colors.stroke}`,\n color: colors.black,\n background: colors.gray100,\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15)\",\n borderRadius: \"6px 6px 6px 0px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-start',\n },\n }\n})(ListItemText);\n\nexport const CompactMessage = withStyles({\n root: {\n margin: '0 5px',\n display: 'grid',\n justifyContent: 'flex-start',\n \"& .MuiListItemText-primary\": {\n padding: 5,\n border: `1px solid ${colors.stroke}`,\n color: colors.black,\n background: colors.gray100,\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15)\",\n borderRadius: \"6px 6px 6px 0px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-start',\n },\n }\n})(ListItemText);\n\nexport const DeletedMessage = withStyles({\n root: {\n margin: '0 15px',\n display: 'grid',\n justifyContent: 'flex-start',\n \"& .MuiListItemText-primary\": {\n padding: 10,\n border: `1px solid ${colors.stroke}`,\n background: colors.stroke,\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15)\",\n borderRadius: \"6px 6px 6px 0px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-start',\n },\n }\n})(ListItemText);\n\nexport const DeletedCompactMessage = withStyles({\n root: {\n margin: '0 5px',\n display: 'grid',\n justifyContent: 'flex-start',\n \"& .MuiListItemText-primary\": {\n padding: 5,\n border: `1px solid ${colors.stroke}`,\n background: colors.stroke,\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15)\",\n borderRadius: \"6px 6px 6px 0px\"\n },\n \"& .MuiListItemText-secondary\": {\n margin: '5px 0',\n display: 'flex',\n justifyContent: 'flex-start',\n },\n }\n})(ListItemText);\n\nexport const DiscardButton = withStyles((theme: Theme) => ({\n root: {\n fill: 'currentColor',\n color: colors.gray1,\n background: colors.gray4,\n width: 42,\n height: 42,\n '&:hover': {\n color: `${colors.gray1}CC`,\n background: `${colors.gray4}CC`,\n },\n '&:disabled': {\n color: `${colors.gray1}99`,\n background: colors.disabled,\n },\n },\n}))(IconButton);\n\nexport const ConfirmButton = withStyles((theme: Theme) => ({\n root: {\n fill: 'currentColor',\n color: colors.white,\n background: colors.main,\n width: 42,\n height: 42,\n '&:hover': {\n color: `${colors.white}CC`,\n background: `${colors.main}CC`,\n },\n '&:disabled': {\n color: `${colors.gray1}99`,\n background: colors.disabled,\n },\n },\n}))(IconButton);\n\n","import { makeStyles, Theme } from \"@material-ui/core/styles\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: 0,\n },\n },\n avatar: {\n minWidth: 40,\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: 0,\n maxWidth: 24,\n height: 24,\n fontSize: 16,\n },\n },\n})\n);\n","import { Avatar, Box, ListItemAvatar } from \"@material-ui/core\";\nimport React from \"react\";\nimport { displayShortName } from \"../../helpers/messages.converter\";\nimport { useStyles } from \"./messageAvatarComponent.styles\";\nimport { ReactComponent as AiIcon } from '@img/icons/AiIcon.svg';\nimport clsx from \"clsx\";\n\ninterface MessageAvatarComponentProps {\n image: string;\n firstName: string;\n lastName: string;\n isAi?: boolean;\n marginBottom?: number;\n}\n\nexport const MessageAvatarComponent: React.FC = (\n props: MessageAvatarComponentProps\n) => {\n const classes = useStyles();\n const { image, firstName, lastName, isAi = false, marginBottom = 4 } = props;\n\n return (\n \n \n {isAi ? : displayShortName(firstName, lastName)}\n \n \n );\n};\n","import moment from \"moment\";\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\nimport { MessageGroupModel } from \"../../models/message.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport {\n AcceptInteractionModel,\n RejectInteractionModel,\n TargetInteractionModel,\n DeleteMessageModel,\n EmployeeConversationModel,\n ReactOnConversationMessageAlertModel,\n MessageAlertActionType,\n llmConversationTypes\n} from \"../../models/conversation.models\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { patientConversationsStore } from \"../../stores/patientConversationsStore/patientConversations.store\";\n\n\ninterface MessageComponentState {\n menuAnchor: HTMLElement | null,\n editingTarget: any,\n acceptingLoading: boolean,\n isDeleteOpen: boolean,\n isForwardOpen: boolean,\n isDeleting: boolean,\n isForwarding: boolean,\n deleteMessageRequest: DeleteMessageModel,\n reactOnAlertMessageRequest: ReactOnConversationMessageAlertModel,\n targetConversation: EmployeeConversationModel\n}\n\nconst initialRequest: DeleteMessageModel = {\n conversationId: '',\n messageId: '',\n reason: 0\n}\n\nconst initialAlertRequest: ReactOnConversationMessageAlertModel = {\n alertId: '',\n conversationId: '',\n messageId: '',\n actionType: 0,\n details: ''\n}\n\nexport function useFacade(messageGroup: MessageGroupModel, isLastMessage?: boolean, handleUpdateInteraction?: Function): [\n Function, Function,\n MessageComponentState,\n (event: React.MouseEvent) => void,\n (event: any) => void,\n (targetAiMessage: TargetInteractionModel) => void,\n (targetAiMessage: TargetInteractionModel) => void,\n (targetAiMessage: TargetInteractionModel) => void,\n (conversationId: string, messageId: string) => void,\n () => void,\n (value: any) => void,\n () => void,\n () => void,\n (actionType: MessageAlertActionType) => void\n] {\n const [state, setState] = useState({\n menuAnchor: null,\n editingTarget: null,\n acceptingLoading: false,\n isDeleting: false,\n isForwarding: false,\n isDeleteOpen: false,\n isForwardOpen: false,\n deleteMessageRequest: initialRequest,\n reactOnAlertMessageRequest: initialAlertRequest,\n targetConversation: null\n } as MessageComponentState);\n\n const formatDate = (date: Date) => {\n return moment(date).format('HH:mm a');\n }\n\n const downloadMedia = (media: any) => {\n media.getContentTemporaryUrl().then(url => window.open(url));\n }\n\n const handleOpenMenu = (event: React.MouseEvent) => {\n event.stopPropagation();\n setState({ ...state, menuAnchor: event.currentTarget });\n };\n\n const handleCloseMenu = (event: any) => {\n event.stopPropagation();\n setState({ ...state, menuAnchor: null });\n };\n\n const handleOpenDeleteMessageDialog = (conversationId: string, messageId: string) => {\n setState(state => ({ ...state, deleteMessageRequest: {...state.deleteMessageRequest, conversationId, messageId}, isDeleteOpen: true }))\n };\n\n const handleCloseDeleteMessageDialog = () => {\n setState(state => ({ ...state, deleteMessageRequest: Object.assign({}, initialRequest), isDeleteOpen: false }))\n };\n\n const handleChangeDeleteReason = (value: any) => {\n setState(state => ({ ...state, deleteMessageRequest: {...state.deleteMessageRequest, reason: value} }))\n };\n\n const handleDelete = () => {\n setState(state => ({ ...state, isDeleting: true }))\n \n const cb = () => {\n setState((state) => ({\n ...state,\n isDeleting: false,\n isDeleteOpen: false,\n deleteMessageRequest: Object.assign({}, initialRequest),\n }))\n }\n\n conversationsService.removeMessage(state.deleteMessageRequest).subscribe(() => {\n cb();\n handleUpdateInteraction('')\n }, () => setState(state => ({ ...state, isDeleting: false })))\n };\n\n const handleAcceptInteraction = (targetAiMessage: TargetInteractionModel) => {\n const participantExternalVendorId = employeeConversationsQuery.getAuthor().conversationIdentity;\n const acceptInteraction: AcceptInteractionModel = {\n conversationId: targetAiMessage.conversationId,\n messageId: targetAiMessage.messageSid,\n referenceId: targetAiMessage.interaction.ReferenceId,\n participantId: participantExternalVendorId,\n detail: targetAiMessage.interaction.Detail\n }\n employeeConversationsStore.aiMessageAccept();\n conversationsService.acceptAiMessage(acceptInteraction).subscribe(() => {\n employeeConversationsStore.aiMessageAccept();\n handleUpdateInteraction(targetAiMessage.interaction.Detail)\n }, () => { handleUpdateInteraction('') })\n }\n\n const handleRejectInteraction = (targetAiMessage: TargetInteractionModel) => {\n const participantExternalVendorId = employeeConversationsQuery.getAuthor().conversationIdentity;\n const rejectInteraction: RejectInteractionModel = {\n conversationId: targetAiMessage.conversationId,\n messageId: targetAiMessage.messageSid,\n referenceId: targetAiMessage.interaction.ReferenceId,\n participantId: participantExternalVendorId,\n }\n const cb = () => {\n setState(state => ({\n ...state,\n menuAnchor: null\n }));\n handleUpdateInteraction('');\n }\n conversationsService.rejectAiMessage(rejectInteraction).subscribe(cb, cb)\n }\n\n const handleEditInteraction = (targetAiMessage: TargetInteractionModel) => {\n setState(state => ({\n ...state,\n menuAnchor: null\n }));\n employeeConversationsStore.startAiEditing(targetAiMessage);\n }\n\n const handleCloseForward = () => {\n setState(state => ({ ...state, isForwardOpen: false }))\n }\n\n const handleSubmitForward = (actionType: MessageAlertActionType) => {\n setState(state => ({ ...state, isForwarding: true, isForwardOpen: false }))\n patientConversationsStore.updateSendMessageStatus();\n const cb = () => setState(state => ({...state, isForwarding: false}))\n conversationsService.reactOnAlert({...state.reactOnAlertMessageRequest, actionType: MessageAlertActionType.Accepted}).subscribe(() => {\n if (actionType === MessageAlertActionType.Accepted) {\n snackService.success('Your message was forwarded!');\n }\n cb()\n }, cb)\n }\n\n useEffect(() => {\n if (authQuery.isLoggedIn() && employeeConversationsQuery.getAttachmentAdding()) {\n messageGroup.messages.forEach(message => {\n if (message.originalMessage?.state?.type === 'media') {\n employeeConversationsStore.addTargetAttachments([{ file: message.originalMessage.media, url: '', fileName: message.originalMessage.state.media.state?.filename ?? message.originalMessage.state.body }]);\n }\n })\n } else {\n employeeConversationsStore.resetAttachments();\n }\n }, [messageGroup, authQuery]);\n\n useEffect(() => {\n if (authQuery.isLoggedIn() && authQuery.isEmployeeUser() && !patientConversationsQuery.getSendNewMessageStatus() && !state.isForwardOpen && isLastMessage) {\n messageGroup.messages.forEach(message => {\n let formattedMessage: any = message.originalMessage;\n if (!!formattedMessage?.state?.attributes?.alerts) {\n const alerts = formattedMessage?.state?.attributes?.alerts;\n if (alerts.length > 0) {\n patientConversationsStore.updateSendMessageStatus();\n setState(state => ({\n ...state,\n isForwardOpen: true,\n reactOnAlertMessageRequest: {\n ...state.reactOnAlertMessageRequest,\n alertId: alerts[alerts.length - 1]?.id,\n conversationId: formattedMessage?.conversation?.sid,\n messageId: formattedMessage?.state?.sid,\n }\n }))\n }\n }\n })\n }\n }, [messageGroup, authQuery, isLastMessage]);\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.editingTargetAiMessage$, target => \n setState(state => ({ ...state, editingTarget: target }))\n ),\n onEmit(employeeConversationsQuery.aiMessageAcceptLoading$, loading => \n setState(state => ({ ...state, acceptingLoading: loading }))\n ),\n onEmit(employeeConversationsQuery.targetConversation$, targetConversation =>\n {\n // prevent default conversation components from loading llm conversations\n if (targetConversation && llmConversationTypes.includes(targetConversation.type)) {\n return;\n }\n\n setState(state => ({ ...state, targetConversation: targetConversation }))\n }\n ),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n formatDate,\n downloadMedia,\n state,\n handleOpenMenu,\n handleCloseMenu,\n handleAcceptInteraction,\n handleRejectInteraction,\n handleEditInteraction,\n handleOpenDeleteMessageDialog,\n handleCloseDeleteMessageDialog,\n handleChangeDeleteReason,\n handleDelete,\n handleCloseForward,\n handleSubmitForward\n ];\n}","import { createStyles, makeStyles, withStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n moreVert: {\n display: 'flex',\n alignItems: 'flex-end',\n justifyContent: 'flex-end',\n },\n markUnreadMenu: {\n textAlign: \"center\",\n width: '7.5rem',\n height: '1.5rem',\n fontSize: '15px'\n },\n deleteMessageMenu: {\n width: '7.5rem',\n height: '3rem',\n fontSize: '15px'\n },\n popover: {\n pointerEvents: \"none\",\n },\n popoverContent: {\n pointerEvents: \"auto\",\n }\n })\n);","import React, {FC, useState} from \"react\";\nimport {MenuItem, Box} from \"@material-ui/core\";\nimport MoreVertIcon from \"@material-ui/icons/MoreVert\";\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport {useStyles} from \"../HoverMenuMessageComponent.styles\";\n\ntype MenuMessageProps = {\n isMyMessage: boolean,\n handleSetUnread: () => void,\n handleDelete: () => void,\n}\n\nexport const MenuMessage: FC = (props: MenuMessageProps) => {\n\n const classes = useStyles();\n\n const {isMyMessage, handleSetUnread, handleDelete} = props;\n\n const [showMore, setShowMore] = useState(false);\n\n const toggleMenu = () => {\n setShowMore(!showMore)\n }\n\n\n\n return (
\n {!showMore ? (\n \n ) : isMyMessage ? (\n \n \n Delete\n \n ) : (\n Mark unread\n )}\n
\n )\n}","import React, {FC, useState} from 'react'\nimport {Box, Popover, Typography} from \"@material-ui/core\";\nimport {MenuMessage} from \"./menuMessage/MenuMessage\";\nimport {LastReadMessageUpdateModel} from \"../../models/conversation.models\";\nimport {useStyles} from \"./HoverMenuMessageComponent.styles\";\nimport {authQuery} from \"../../../auth/stores/auth\";\n\ntype HoverMenuMessageProps = {\n isMyMessage: boolean;\n messageIndex: number;\n conversationSize:number;\n conversationId: string;\n participantId: string;\n handleSetUnread: Function;\n handleOpenDeleteReason: () => void;\n children?: JSX.Element;\n}\n\nexport const HoverMenuMessageComponent:FC = (props) => {\n\n const [anchorEl, setAnchorEl] = useState(null);\n const [anchorElForDelete, setAnchorElForDelete] = useState(null);\n\n const {\n isMyMessage,\n messageIndex,\n conversationSize,\n conversationId,\n participantId,\n handleSetUnread,\n handleOpenDeleteReason,\n children\n } = props;\n\n\n const classes = useStyles();\n\n\n const handlePopoverClose = () => {\n setAnchorEl(null);\n };\n\n const handlePopoverOpen = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClickAway = () => {\n handlePopoverClose()\n }\n\n const handleDeletePopoverClose = () => {\n setAnchorElForDelete(null);\n };\n\n const handleDeletePopoverOpen = (event) => {\n setAnchorElForDelete(event.currentTarget);\n };\n\n const handleDeleteClickAway = () => {\n handleDeletePopoverClose()\n }\n\n const handleDelete = () => {\n handleOpenDeleteReason()\n handleDeletePopoverClose()\n }\n\n const handleClick = () => {\n\n let newIndex = messageIndex < 0 ? 0 : messageIndex;\n\n handleSetUnread({\n conversationExternalVendorId: conversationId,\n participantExternalVendorId: participantId,\n lastMessageReadIndex: newIndex\n } as LastReadMessageUpdateModel)\n handlePopoverClose()\n }\n const open = Boolean(anchorEl);\n const id = open ? 'simple-popover' : undefined;\n\n if (authQuery.getEmployeeType()) {\n if (isMyMessage) {\n return (\n
\n \n \n \n \n \n \n {children}\n
\n )\n }\n\n return (\n
\n \n \n \n \n \n \n {children}\n
\n )\n } else {\n return children\n }\n}","import React from \"react\";\nimport {Box, Dialog, DialogActions, DialogContent, DialogTitle, Checkbox, IconButton} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport RadioButtonCheckedIcon from '@material-ui/icons/RadioButtonChecked';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport { useStyles } from \"./messageComponent.styles\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { DeleteMessageReasonTypes, deleteMessageReasonTypesNames } from '../../models/conversation.models';\nimport { getNumericKeys } from '../../../common/helpers/enum-mapper';\n\ninterface DeleteMessageDialogProps {\n open: boolean;\n isDeleting: boolean;\n reason: DeleteMessageReasonTypes;\n handleDelete: () => void;\n handleClose: () => void;\n handleChanges: (value: any) => void\n}\n\nexport const DeleteMessageDialog: React.FC = (props: DeleteMessageDialogProps) => {\n const {\n open,\n isDeleting,\n reason,\n handleDelete,\n handleClose,\n handleChanges\n } = props;\n\n const classes = useStyles();\n\n const controlIcon = ;\n const controlCheckedIcon = \n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n \n Delete Message\n handleClose()}>\n \n \n \n \n \n \n Are you sure you want to delete this message? This action cannot be undone.\n \n \n \n Please select a reason for deletion\n \n {\n getNumericKeys(deleteMessageReasonTypesNames).map((value, i) => {\n return (\n \n handleChanges(value)}\n />\n {deleteMessageReasonTypesNames[value]}\n \n )\n })\n }\n \n \n \n\n \n \n handleClose()}\n >\n Cancel\n \n \n \n handleDelete()}\n >\n Delete\n \n \n \n \n );\n}\n","import React, { useEffect } from \"react\";\nimport {Box, Dialog, DialogActions, DialogContent, DialogTitle, IconButton} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { useStyles } from \"./messageComponent.styles\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport clsx from \"clsx\";\nimport { MessageAlertActionType } from \"../../models/conversation.models\";\n\ninterface ForwardMessageDialogProps {\n open: boolean;\n isForwarding: boolean;\n handleClose: () => void;\n handleSubmit: (action: MessageAlertActionType) => void;\n}\n\nexport const ForwardMessageDialog: React.FC = (props: ForwardMessageDialogProps) => {\n const {\n open,\n isForwarding,\n handleClose,\n handleSubmit\n } = props;\n\n const classes = useStyles();\n\n useEffect(() => {\n let timer = null;\n if (open) {\n timer = setTimeout(() => {\n handleClose()\n }, 1000 * 60 * 30);\n }\n\n return () => {\n if (timer) {\n clearTimeout(timer)\n }\n };\n }, [open]);\n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n \n handleClose()}>\n \n \n \n \n \n \n Your Message was Forwarded!\n \n \n That message is best directed to our Support Team, so we've gone ahead and sent it their way. You can expect a response within 1 business day.\n \n \n \n\n \n \n handleSubmit(MessageAlertActionType.Rejected)}\n >\n Ignore\n \n \n \n handleSubmit(MessageAlertActionType.Accepted)}\n >\n Forward to Support\n \n \n \n \n );\n}\n","import React, {useEffect, createRef} from 'react';\nimport { Box, IconButton, ListItem, Popover, Tooltip } from '@material-ui/core';\nimport { Message, MyMessage, DeletedMessage, MyDeletedMessage, useStyles, DiscardButton, ConfirmButton } from './messageComponent.styles';\nimport clsx from 'clsx';\nimport { MessageAvatarComponent } from \"../messageAvatarComponent/MessageAvatarComponent\";\nimport { MessageGroupModel } from \"../../models/message.models\";\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport {useFacade} from \"./messageComponent.hooks\";\nimport {HoverMenuMessageComponent} from '../hoverMenuMessageComponent/HoverMenuMessageComponent'\nimport { TextLinkMarkdownComponent } from '../../../notes/components/textMarkdownComponent/TextMarkdownComponent';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { PermissionType, UserType } from '../../../auth/models/auth.enums';\nimport CheckIcon from '@material-ui/icons/Check';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport EditIcon from '@material-ui/icons/Edit';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport InfoIcon from '@material-ui/icons/Info';\nimport { InteractionType, TargetInteractionModel, deleteMessageReasonTypesNames } from '../../models/conversation.models';\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport { DeleteMessageDialog } from './DeleteMessageDialog';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { fullName } from '../../../common/helpers/display-name';\nimport { profileQuery } from '../../../account/stores/profileStore';\nimport { ForwardMessageDialog } from './ForwardMessageDialog';\n\ninterface MessageComponentProps {\n messageGroup: MessageGroupModel;\n isLastMessage?: boolean;\n isMyMessage?: boolean;\n isLoading? :boolean;\n messageToScrollIndex?:number;\n handleSetMessageUnread?:Function;\n handleUpdateInteraction?: Function;\n}\n\nexport const MessageComponent: React.FC = (props: MessageComponentProps) => {\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const scrollToMessageRef = createRef()\n\n const {\n messageGroup,\n isMyMessage,\n isLoading,\n messageToScrollIndex,\n handleSetMessageUnread,\n handleUpdateInteraction,\n isLastMessage = false\n } = props;\n\n const [\n formatDate,\n downloadMedia,\n state,\n handleOpenMenu,\n handleCloseMenu,\n handleAcceptInteraction,\n handleRejectInteraction,\n handleEditInteraction,\n handleOpenDeleteMessageDialog,\n handleCloseDeleteMessageDialog,\n handleChangeDeleteReason,\n handleDelete,\n handleCloseForward,\n handleSubmitForward\n ] = useFacade(messageGroup, isLastMessage, handleUpdateInteraction);\n\n const getMessageAuthor = (messageGroup:MessageGroupModel) => {\n let result = \"\";\n\n if(!!messageGroup.authorFirstName && messageGroup.authorFirstName !== \"Unknown\"){\n result = result + messageGroup.authorFirstName + \" \";\n }\n if(!!messageGroup.authorLastName && messageGroup.authorLastName !== \"Unknown\"){\n result = result + messageGroup.authorLastName + \" \";\n }\n if(!!messageGroup.employeeType){\n result = result + \"- \"+ messageGroup.employeeType;\n }\n\n return result;\n }\n\n const renderAiMessage = (messageGroup: MessageGroupModel) => {\n return (\n <>\n {\n messageGroup.messages.map((message, index) => {\n var isAiMessage = false;\n \n let formattedMessage: any = message.originalMessage;\n var targetAiMessage: TargetInteractionModel = {\n conversationId: formattedMessage?.conversation?.sid,\n messageSid: formattedMessage?.state?.sid,\n interaction: null\n };\n if (!!formattedMessage?.state?.attributes?.Interactions) {\n const interactions = formattedMessage?.state?.attributes?.Interactions;\n if (interactions.length > 0) {\n targetAiMessage.interaction = interactions[interactions.length - 1]\n const converted = targetAiMessage.interaction.Detail;\n const messageIndex = formattedMessage?.state?.index;\n formattedMessage = {converted};\n const thisMessageMustBeScrolledTo = messageIndex == messageToScrollIndex;\n \n formattedMessage = (\n
\n \n
\n )\n if (targetAiMessage.interaction.Type === InteractionType.Recommendation && isLastMessage) {\n isAiMessage = true;\n }\n }\n }\n\n if (!isAiMessage) return <>\n\n return (\n \n {}\n \n {\n React.createElement(Message, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(targetAiMessage.interaction.CreatedAt) : ''\n })\n }\n \n \n handleOpenMenu(e)}>\n \n \n handleAcceptInteraction(targetAiMessage)}>\n \n \n \n \n handleCloseMenu(e)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n handleEditInteraction(targetAiMessage)}\n >\n \n \n Edit\n \n \n handleRejectInteraction(targetAiMessage)}\n >\n \n \n Dismiss\n \n \n \n \n )\n })\n }\n \n )\n }\n\n useEffect(() => {\n if (!isLoading) {\n scrollToMessage()\n }\n }, [])\n\n const scrollToMessage = () => {\n scrollToMessageRef?.current?.scrollIntoView({ block: \"start\",behavior:'smooth'});\n }\n\n const renderUserName = (userId: number) => {\n const employee = state.targetConversation?.employees?.find(e => e.userId === userId)\n if (employee) {\n return fullName(employee)\n }\n return '';\n }\n\n if (!messageGroup.messages.filter(x => !x.originalMessage.state?.attributes?.IsDeleted).length && authQuery.isPatientUser()) {\n return <>\n }\n\n return (\n <>\n \n {!isMyMessage && }\n \n {\n messageGroup.messages.map((message, index) => {\n let formattedMessage: any = message.originalMessage;\n let isDeleted = false;\n if (formattedMessage?.state?.attributes?.IsDeleted) {\n isDeleted = true;\n const deletionDetails = formattedMessage?.state?.attributes?.DeletionDetails;\n formattedMessage = (\n \n This message was deleted\n {deleteMessageReasonTypesNames[deletionDetails.Reason]} {renderUserName(deletionDetails.DeletedBy)}

}\n classes={customTooltipClasses}>\n \n
\n
\n );\n }\n if (formattedMessage?.state?.type === 'media') {\n const media = formattedMessage.state.media;\n const converted = formattedMessage.body as string;\n if (converted) {\n const {participants,messagesEntity} = formattedMessage.conversation;\n const conversationSize = messagesEntity.messagesByIndex.size;\n const participantExternalVendorId = participants.get(formattedMessage?.state?.participantSid)?.identity;\n const conversationId = formattedMessage?.conversation?.sid;\n const messageId = formattedMessage?.state?.sid;\n const messageIndex = formattedMessage?.state?.index\n formattedMessage = converted.length ? {converted} : converted;\n const thisMessageMustBeScrolledTo = messageIndex <= messageToScrollIndex;\n \n formattedMessage = (\n
\n \n downloadMedia(media)} size='small'>\n \n \n \n \n {media.state?.filename}\n \n handleOpenDeleteMessageDialog(conversationId, messageId)}\n >\n \n \n
\n )\n } else {\n formattedMessage = (\n \n downloadMedia(media)} size='small'>\n \n \n \n \n {media.state?.filename ?? formattedMessage.state.body}\n \n );\n }\n } else if (formattedMessage?.state?.type === 'text') {\n const converted = formattedMessage.body as string;\n const {participants,messagesEntity} = formattedMessage.conversation;\n const conversationSize = messagesEntity.messagesByIndex.size;\n const participantExternalVendorId = participants.get(formattedMessage?.state?.participantSid)?.identity;\n const conversationId = formattedMessage?.conversation?.sid;\n const messageId = formattedMessage?.state?.sid;\n const messageIndex = formattedMessage?.state?.index\n formattedMessage = converted.length ? {converted} : converted;\n const thisMessageMustBeScrolledTo = messageIndex <= messageToScrollIndex;\n\n formattedMessage = (\n
\n handleOpenDeleteMessageDialog(conversationId, messageId)}\n >\n \n \n
\n )\n }\n\n return (\n <>\n {\n !isMyMessage && \n \n { getMessageAuthor(messageGroup) } \n \n }\n {\n isDeleted \n ? React.createElement(isMyMessage ? MyDeletedMessage : DeletedMessage, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(message.date) : ''\n })\n : React.createElement(isMyMessage ? MyMessage : Message, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(message.date) : ''\n })\n }\n \n )\n })\n }\n
\n {isMyMessage && }\n
\n \n }\n permissions={[]}\n />\n }\n permissions={[]}\n userType={UserType.Patient}\n />\n \n )\n};\n","import { ListItemText, Theme } from \"@material-ui/core\";\nimport { createStyles, makeStyles, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n minHeight: '100%'\n },\n header: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n lineHeight: \"14px\",\n background: colors.gray4,\n color: colors.gray1,\n padding: \"5px 10px\",\n borderRadius: 17,\n fontWeight: \"normal\",\n [theme.breakpoints.down(\"xs\")]: {\n background: \"transparent\",\n },\n },\n divider: {\n background: colors.main,\n margin: \"0 32px\",\n },\n noMessage: {\n height: \"100%\",\n [theme.breakpoints.down(\"xs\")]: {\n height: \"calc(100vh - 302px)\",\n },\n }\n })\n);\n\nexport const useStylesThread = makeStyles(() =>\n createStyles({\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n },\n header: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n lineHeight: \"14px\",\n background: colors.gray4,\n color: colors.gray1,\n padding: \"5px 10px\",\n borderRadius: 17,\n fontWeight: \"normal\",\n },\n })\n);\n\nexport const UnreadMessages = withStyles({\n root: {\n display: \"flex\",\n margin: \"0 16px\",\n\n \"& .MuiListItemText-primary\": {\n color: colors.main,\n },\n },\n})(ListItemText);\n","export const groupBy = (list, keyGetter) => {\n const map = new Map();\n\n list.forEach((item) => {\n const key = keyGetter(item);\n const collection = map.get(key);\n if (!collection) {\n map.set(key, [item]);\n } else {\n collection.push(item);\n }\n });\n\n return map;\n}","import React, {useEffect, createRef} from 'react';\nimport { Box, IconButton, ListItem, Popover, Tooltip } from '@material-ui/core';\nimport { CompactMessage, MyCompactMessage, MyDeletedCompactMessage, DeletedCompactMessage, useStyles, DiscardButton, ConfirmButton } from './messageComponent.styles';\nimport clsx from 'clsx';\nimport { MessageAvatarComponent } from \"../messageAvatarComponent/MessageAvatarComponent\";\nimport { MessageGroupModel } from \"../../models/message.models\";\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport {useFacade} from \"./messageComponent.hooks\";\nimport {HoverMenuMessageComponent} from \"../hoverMenuMessageComponent/HoverMenuMessageComponent\";\nimport { TextLinkMarkdownComponent } from '../../../notes/components/textMarkdownComponent/TextMarkdownComponent';\nimport { TargetInteractionModel, InteractionType, deleteMessageReasonTypesNames } from '../../models/conversation.models';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport CheckIcon from '@material-ui/icons/Check';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport InfoIcon from '@material-ui/icons/Info';\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport { DeleteMessageDialog } from './DeleteMessageDialog';\nimport { fullName } from '../../../common/helpers/display-name';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { profileQuery } from '../../../account/stores/profileStore';\n\ninterface MessageComponentProps {\n messageGroup: MessageGroupModel;\n isLastMessage?: boolean;\n isMyMessage?: boolean;\n isLoading? :boolean;\n messageToScrollIndex?:number;\n handleSetMessageUnread:Function;\n}\n\nexport const MessageCompactComponent: React.FC = (props: MessageComponentProps) => {\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const scrollToMessageRef = createRef()\n const {\n messageGroup,\n isMyMessage,\n isLoading,\n messageToScrollIndex,\n handleSetMessageUnread,\n isLastMessage = false\n } = props;\n\n const [\n formatDate,\n downloadMedia,\n state,\n handleOpenMenu,\n handleCloseMenu,\n handleAcceptInteraction,\n handleRejectInteraction,\n handleEditInteraction,\n handleOpenDeleteMessageDialog,\n handleCloseDeleteMessageDialog,\n handleChangeDeleteReason,\n handleDelete\n ] = useFacade(messageGroup);\n\n const getMessageAuthor = (messageGroup:MessageGroupModel) => {\n let result = \"\";\n\n if(!!messageGroup.authorFirstName && messageGroup.authorFirstName !== \"Unknown\"){\n result = result + messageGroup.authorFirstName + \" \";\n }\n if(!!messageGroup.authorLastName && messageGroup.authorLastName !== \"Unknown\"){\n result = result + messageGroup.authorLastName + \" \";\n }\n if(!!messageGroup.employeeType){\n result = result + \"- \"+ messageGroup.employeeType;\n }\n\n return result;\n }\n\n const renderAiMessage = (messageGroup: MessageGroupModel) => {\n return (\n <>\n {\n messageGroup.messages.map((message, index) => {\n var isAiMessage = false;\n \n let formattedMessage: any = message.originalMessage;\n var targetAiMessage: TargetInteractionModel = {\n conversationId: formattedMessage?.conversation?.sid,\n messageSid: formattedMessage?.state?.sid,\n interaction: null\n };\n if (!!formattedMessage?.state?.attributes?.Interactions) {\n const interactions = formattedMessage?.state?.attributes?.Interactions;\n if (interactions.length > 0) {\n targetAiMessage.interaction = interactions[interactions.length - 1]\n const converted = targetAiMessage.interaction.Detail;\n const messageIndex = formattedMessage?.state?.index;\n formattedMessage = {converted};\n const thisMessageMustBeScrolledTo = messageIndex == messageToScrollIndex;\n \n formattedMessage = (\n
\n \n
\n )\n if (targetAiMessage.interaction.Type === InteractionType.Recommendation && isLastMessage) {\n isAiMessage = true;\n }\n }\n }\n\n if (!isAiMessage) return <>\n\n return (\n \n {}\n \n {\n React.createElement(CompactMessage, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(targetAiMessage.interaction.CreatedAt) : ''\n })\n }\n \n \n handleOpenMenu(e)}>\n \n \n handleAcceptInteraction(targetAiMessage)}>\n \n \n \n \n handleCloseMenu(e)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n >\n handleEditInteraction(targetAiMessage)}\n >\n Edit\n \n handleRejectInteraction(targetAiMessage)}\n >\n Dismiss\n \n \n \n )\n })\n }\n \n )\n }\n\n useEffect(() => {\n if (!isLoading) {\n scrollToMessage()\n }\n }, [])\n\n const scrollToMessage = () => {\n scrollToMessageRef?.current?.scrollIntoView({ block: \"start\", behavior:'smooth'});\n }\n\n const renderUserName = (userId: number) => {\n const employee = state.targetConversation?.employees?.find(e => e.userId === userId)\n if (employee) {\n return fullName(employee)\n }\n return '';\n }\n\n if (!messageGroup.messages.filter(x => !x.originalMessage.state?.attributes?.IsDeleted).length && authQuery.isPatientUser()) {\n return <>\n }\n\n return (\n <>\n \n {!isMyMessage && }\n \n {\n messageGroup.messages.map((message, index) => {\n let formattedMessage: any = message.originalMessage;\n let isDeleted = false;\n if (formattedMessage?.state?.attributes?.IsDeleted) {\n isDeleted = true;\n const deletionDetails = formattedMessage?.state?.attributes?.DeletionDetails;\n formattedMessage = (\n \n This message was deleted\n {deleteMessageReasonTypesNames[deletionDetails.Reason]} {renderUserName(deletionDetails.DeletedBy)}

}\n classes={customTooltipClasses}>\n \n
\n
\n );\n }\n\n if (formattedMessage?.state?.type === 'media') {\n const media = formattedMessage.state.media;\n const converted = formattedMessage.body as string;\n if (converted) {\n const {participants,messagesEntity} = formattedMessage.conversation;\n //const lastIndex = messagesEntity.messagesByIndex.size - 1;\n \n const participantExternalVendorId = participants.get(formattedMessage?.state?.participantSid)?.identity;\n const conversationId = formattedMessage?.conversation?.sid;\n const messageId = formattedMessage?.state?.sid;\n const messageIndex = formattedMessage?.state?.index\n \n formattedMessage = converted.length ? {converted} : converted;\n const thisMessageMustBeScrolledTo = messageIndex <= messageToScrollIndex;\n \n formattedMessage = (\n
\n \n downloadMedia(media)} size='small'>\n \n \n \n \n {media.state?.filename}\n \n handleOpenDeleteMessageDialog(conversationId, messageId)}\n >\n \n \n
\n )\n } else {\n formattedMessage = (\n \n downloadMedia(media)} size='small'>\n \n \n \n \n {media.state?.filename ?? formattedMessage.state.body}\n \n );\n }\n } else if (formattedMessage?.state?.type === 'text') {\n const converted = formattedMessage.body as string;\n const {participants,messagesEntity} = formattedMessage.conversation;\n //const lastIndex = messagesEntity.messagesByIndex.size - 1;\n\n const participantExternalVendorId = participants.get(formattedMessage?.state?.participantSid)?.identity;\n const conversationId = formattedMessage?.conversation?.sid;\n const messageId = formattedMessage?.state?.sid;\n const messageIndex = formattedMessage?.state?.index\n\n formattedMessage = converted.length ? {converted} : converted;\n const thisMessageMustBeScrolledTo = messageIndex <= messageToScrollIndex;\n\n formattedMessage = (\n
\n handleOpenDeleteMessageDialog(conversationId, messageId)}\n >\n \n \n
\n )\n }\n\n return (\n <>\n {\n !isMyMessage && \n \n { getMessageAuthor(messageGroup) } \n \n }\n {\n isDeleted \n ? React.createElement(isMyMessage ? MyDeletedCompactMessage : DeletedCompactMessage, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(message.date) : ''\n })\n : React.createElement(isMyMessage ? MyCompactMessage : CompactMessage, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(message.date) : ''\n })\n }\n \n )\n })\n }\n
\n
\n \n \n }\n permissions={[]}\n />\n \n )\n};\n","import { Box, IconButton, ListItem } from '@material-ui/core';\nimport moment from 'moment';\nimport React, { useEffect } from 'react';\nimport { Message, CompactMessage, MyMessage, MyCompactMessage, useStyles } from './messageComponent.styles';\nimport clsx from 'clsx';\nimport { MessageAvatarComponent } from \"../messageAvatarComponent/MessageAvatarComponent\";\nimport { MessageGroupModel } from \"../../models/message.models\";\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport { employeeConversationsStore } from '../../stores/employeeConversationsStore/employeeConversations.store';\nimport { conversationsService } from '../../services/conversations.service';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { TextLinkMarkdownComponent } from '../../../notes/components/textMarkdownComponent/TextMarkdownComponent';\nimport { employeeConversationsQuery } from '../../stores/employeeConversationsStore/employeeConversations.query';\nimport { profileQuery } from '../../../account/stores/profileStore';\n\ninterface MessageComponentView {\n messageGroup: MessageGroupModel;\n isMyMessage?: boolean;\n isCompact?: boolean;\n}\n\nexport const MessageComponentView: React.FC = (props: MessageComponentView) => {\n const classes = useStyles();\n const {\n messageGroup,\n isMyMessage,\n isCompact = false,\n } = props;\n\n const formatDate = (date: Date) => {\n return moment(date).format('HH:mm a');\n }\n\n const handleDownloadAttachment = (sid: string) => {\n const model = { mediaSid: sid }\n conversationsService.createMediaUrl(model).subscribe((data: string) => {\n window.open(data)\n })\n }\n\n const getMessageAuthor = (messageGroup:MessageGroupModel) => {\n let result = \"\";\n\n if(!!messageGroup.authorFirstName && messageGroup.authorFirstName !== \"Unknown\"){\n result = result + messageGroup.authorFirstName + \" \";\n }\n if(!!messageGroup.authorLastName && messageGroup.authorLastName !== \"Unknown\"){\n result = result + messageGroup.authorLastName + \" \";\n }\n if(!!messageGroup.employeeType){\n result = result + \"- \"+ messageGroup.employeeType;\n }\n\n return result;\n }\n\n useEffect(() => {\n if (authQuery.isLoggedIn() && employeeConversationsQuery.getAttachmentAdding()) {\n messageGroup.messages.forEach(message => {\n if (!message.originalMessage?.body && message.originalMessage?.media) {\n employeeConversationsStore.addTargetAttachmentsView([{ file: message.originalMessage.media, url: '', fileName: message.originalMessage.media?.filename ?? message.originalMessage.body }]);\n }\n })\n } else {\n employeeConversationsStore.resetAttachmentsView();\n }\n }, [messageGroup, authQuery]);\n\n return (\n \n {!isMyMessage && }\n \n {\n messageGroup.messages.map((message, index) => {\n let formattedMessage: any = message.originalMessage;\n\n if (formattedMessage?.body) {\n\n const converted = formattedMessage.body as string;\n if (formattedMessage.media) {\n const media = formattedMessage.media;\n \n formattedMessage = (\n <>\n \n handleDownloadAttachment(media[0].sid)}\n size='small'\n >\n \n \n \n \n {media[0].filename}\n \n \n \n );\n } else {\n formattedMessage = (\n \n )\n }\n } else {\n const media = formattedMessage.media;\n\n formattedMessage = (\n \n handleDownloadAttachment(media[0].sid)}\n size='small'\n >\n \n \n \n\n {media[0].filename ?? formattedMessage.body}\n \n );\n\n }\n\n const messageComponent = isMyMessage\n ? isCompact\n ? MyCompactMessage\n : MyMessage\n : isCompact\n ? CompactMessage\n : Message;\n\n\n return (\n <>\n {\n !isMyMessage && \n \n { getMessageAuthor(messageGroup) } \n \n }\n {\n React.createElement(messageComponent, {\n key: index,\n primary: formattedMessage,\n secondary: index === messageGroup.messages.length - 1 ? formatDate(message.date) : ''\n })\n }\n \n )\n })\n }\n \n {isMyMessage && }\n \n )\n};\n","import { Box, Divider, List, ListItem, ListSubheader, useMediaQuery, useTheme } from '@material-ui/core';\nimport moment from 'moment';\nimport React, {useEffect, useRef} from 'react';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { MessageGroupModel } from '../../models/message.models';\nimport { MessageComponent } from \"../messageComponent/MessageComponent\";\nimport { useStyles, UnreadMessages } from \"./threadComponent.styles\";\nimport { groupBy } from \"../../../common/helpers/group.by\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { MessageCompactComponent } from \"../messageComponent/MessageCompactComponent\";\nimport { MessageComponentView } from '../messageComponent/MessageComponentView';\n\ninterface ThreadComponentProps {\n isLoadingMessages?: boolean;\n messageGroups: MessageGroupModel[];\n lastReadMessageIndex?: number;\n scrollToIndex?: number;\n threadStartId?: string;\n background?: string;\n isCompact?: boolean;\n handleSetMessageUnread?:Function;\n isProxy?: boolean;\n handleUpdateInteraction?: Function;\n}\n\nexport const ThreadComponent: React.FC = (props: ThreadComponentProps) => {\n const {\n isLoadingMessages = false,\n messageGroups,\n lastReadMessageIndex = -1,\n scrollToIndex = -1,\n threadStartId = 'thread-start',\n background = \"#FFF\",\n isCompact = false,\n handleSetMessageUnread,\n isProxy = true,\n handleUpdateInteraction,\n } = props;\n\n const classes = useStyles();\n const messagesUnreadRef = useRef(null)\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n useEffect(() => {\n\n if (!isLoadingMessages) {\n messagesUnreadRef.current?.scrollIntoView({ behavior: \"smooth\" })\n }\n }, [isLoadingMessages,messageGroups]);\n\n if (!messageGroups.length && !isLoadingMessages) {\n return (\n \n \n \n )\n }\n\n const groupedByDate = groupBy(messageGroups, x => moment(toCurrentTimeZone(x.date)).format('MMM DD, yyyy'));\n\n const renderUnreadMessages = (messageIndex: number, lastReadMessageIndex: number, messagesUnreadRef) => {\n\n return messageIndex === lastReadMessageIndex + 1 ? (\n \n \n \n \n \n \n ) : []\n }\n\n const displayMessagesDate = (groups, date, index) => {\n const dateFormated = moment(toCurrentTimeZone(date)).format('MMM DD, yyyy');\n\n if (index === 0) {\n return dateFormated\n }\n\n if (index + 1 === groups.length) {\n return moment(toCurrentTimeZone(groups[index - 1].messages[0].date)).format('MMM DD, yyyy') === dateFormated ? '' : dateFormated\n }\n\n\n if (moment(toCurrentTimeZone(groups[index - 1].messages[0].date)).format('MMM DD, yyyy') === dateFormated) {\n return ''\n }\n return dateFormated\n\n }\n\n const renderMessage = (group, isLastMessage) => {\n return !isProxy\n ? \n : isCompact\n ? \n : \n }\n\n\n return (\n <>\n \n \n {isLoadingMessages && }\n \n {\n Array.from(groupedByDate).map(([dateKey, groups], index) => {\n const isLastGroup = index === Array.from(groupedByDate).length - 1;\n return (\n \n {\n groups.map((group, i) => {\n\n const messageIndex = group.messages[0].originalMessage.state ? group.messages[0].originalMessage.state.index : group.messages[0].originalMessage.index;\n const isLastMessage = isLastGroup && groups.length - 1 === i;\n\n return (\n \n
\n {displayMessagesDate(groups, group.messages[0].date, i) &&\n \n \n
\n {displayMessagesDate(groups, group.messages[0].date, i)}\n
\n \n
}\n {isProxy ? (\n <>\n {renderUnreadMessages(messageIndex, lastReadMessageIndex, messagesUnreadRef)}\n \n {\n renderMessage(group, isLastMessage)\n }\n \n \n ) : (\n \n {\n renderMessage(group, isLastMessage)\n }\n \n )}\n \n \n )\n })\n }\n \n )\n })\n }\n \n\n \n )\n};\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n divider: {\n backgroundColor: colors.stroke,\n },\n thread: {\n flex: 1,\n minHeight: 200,\n overflow: \"auto\",\n outline: \"none !important\",\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: 0,\n maxHeight: \"calc(100vh - 250px)\",\n },\n },\n sendMessage: {\n flexShrink: 0,\n outline: \"none !important\",\n },\n closedTicket: {\n flexShrink: 0,\n width: \"100%\",\n display: \"flex\",\n justifyContent: \"center\",\n backgroundColor: colors.gray8,\n color: colors.black,\n fontSize: 14,\n padding: 8,\n },\n typingAvatar: {\n width: 18,\n height: 18,\n fontSize: 10,\n },\n dropContainer: {\n height: \"100%\",\n border: `1px solid ${colors.main}`,\n background: `${colors.lightGray2}99`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n dropIcon: {\n color: colors.main,\n fontSize: 40,\n },\n dropTitle: {\n color: colors.main,\n },\n noneOutline: {\n outline: \"none !important\",\n },\n })\n);\n\nexport const useDropStyles = makeStyles(() =>\n createStyles({\n dropContainer: {\n height: \"100%\",\n border: `1px solid ${colors.main}`,\n background: `${colors.lightGray2}99`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n flexDirection: \"column\",\n },\n dropIcon: {\n color: colors.main,\n fontSize: 40,\n },\n dropTitle: {\n color: colors.main,\n },\n })\n);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { selectShortcutService } from \"../../../healthReport/services/selectShortcut.service\";\nimport { insertString } from \"../../../common/helpers/insert-string\";\n\ninterface EditAiMessageState {\n message: string;\n acceptingLoading: boolean;\n ignoreChangesEvent: boolean;\n}\n\nexport function useFacade(\n initMessage: string,\n handleConfirm: (message: string) => void\n): [\n EditAiMessageState,\n (event: any, message: string) => void,\n (value: string) => void,\n ] {\n\n const [state, setState] = useState({\n message: initMessage,\n acceptingLoading: false,\n ignoreChangesEvent: false\n } as EditAiMessageState);\n\n const handleChangeMessage = (value: string) => {\n if (state.ignoreChangesEvent) {\n return;\n }\n\n setState(state => ({ ...state, message: value }));\n }\n\n const handleKeyDown = (event: any, message: string) => {\n setState(state => ({ ...state, ignoreChangesEvent: false }));\n\n if (event.keyCode === 13 && !event.shiftKey) {\n handleConfirm(message.trim())\n }\n \n if (event.keyCode === 51 && event.altKey) {\n setState(state => ({ ...state, ignoreChangesEvent: true }));\n\n const value = (document.getElementById('editing-ai-message') as any).value;\n const cursorPos = (document.getElementById('editing-ai-message') as any).selectionStart;\n setTimeout(() => {\n handleOnTextMessageChanged(value, cursorPos);\n }, 1)\n }\n }\n\n const handleTextMessageChanged = (value: string) => {\n setState(state => ({\n ...state,\n message: value\n }));\n }\n\n const handleOnTextMessageChanged = (value: string, cursorPos: number) => {\n const cb = (data) => {\n value = state.message;\n if (data) {\n handleTextMessageChanged(insertString(value, data, cursorPos + 1));\n }\n }\n\n selectShortcutService.select().subscribe(cb);\n }\n\n useEffect(() => {\n setState(state => ({ ...state, message: initMessage }));\n }, [initMessage]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.aiMessageAcceptLoading$, loading => \n setState(state => ({ ...state, acceptingLoading: loading }))\n ),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleKeyDown,\n handleChangeMessage,\n ];\n}\n","import { IconButton, TextField } from '@material-ui/core';\nimport { Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const InputField = withStyles({\n root: {\n '&:focus': {\n outline: 'none !important',\n },\n '& label.Mui-focused': {\n outline: 'none !important',\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'transparent',\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: 'transparent',\n },\n '&:hover fieldset': {\n borderColor: 'transparent',\n },\n '&.Mui-focused fieldset': {\n borderColor: 'transparent',\n outline: 'none !important',\n },\n },\n },\n})(TextField);\n\nexport const DiscardButton = withStyles((theme: Theme) => ({\n root: {\n fill: 'currentColor',\n color: colors.gray1,\n background: colors.gray4,\n width: 42,\n height: 42,\n '&:hover': {\n color: `${colors.gray1}CC`,\n background: `${colors.gray4}CC`,\n },\n '&:disabled': {\n color: `${colors.gray1}99`,\n background: colors.disabled,\n },\n },\n}))(IconButton);\n\nexport const ConfirmButton = withStyles((theme: Theme) => ({\n root: {\n fill: 'currentColor',\n color: colors.white,\n background: colors.main,\n width: 42,\n height: 42,\n '&:hover': {\n color: `${colors.white}CC`,\n background: `${colors.main}CC`,\n },\n '&:disabled': {\n color: `${colors.gray1}99`,\n background: colors.disabled,\n },\n },\n}))(IconButton);","export interface ShortcutModel {\n id: number;\n groupId: number;\n name: string;\n displayName: string;\n content: string;\n createdAt: Date;\n modifiedAt: Date;\n createdBy: string;\n modifiedBy: string;\n}\n\nexport class CreateShortcutModel {\n name: string;\n displayName: string;\n content: string;\n groupId: number;\n}\n\nexport class UpdateShortcutModel {\n id: number;\n groupId: number;\n name: string;\n displayName: string;\n content: string\n}\n\nexport interface ShortcutGroupModel {\n id: number;\n name: string;\n isPersonal: boolean;\n shortcuts: ShortcutModel[]\n}\n\nexport class CreateShortcutGroupModel {\n name: string;\n displayName: string;\n isPersonal: boolean;\n}\n\nexport class UpdateShortcutGroupModel {\n id: number;\n name: string;\n displayName: string;\n isPersonal: boolean;\n}\n\nexport enum ShortcutGroupType {\n All = 1,\n Global = 2,\n Personal = 3,\n}\n\nexport const ShortcutGroupTypeNames = {\n [ShortcutGroupType.All]: \"View All Types\",\n [ShortcutGroupType.Global]: \"Global Shortcuts\",\n [ShortcutGroupType.Personal]: \"Personal Shortcuts\"\n};","import { Box } from '@material-ui/core';\nimport CheckIcon from '@material-ui/icons/Check';\nimport CloseIcon from '@material-ui/icons/Close';\nimport React from 'react';\nimport { useFacade } from './editAiMessage.hooks';\nimport { ConfirmButton, DiscardButton, InputField } from './editAiMessage.styles';\n\ninterface EditAiMessageProps {\n message: string;\n handleConfirm: (message: string) => void;\n handleDiscard: () => void;\n}\n\nexport const EditAiMessage: React.FC = (props: EditAiMessageProps) => {\n const {\n message: initMessage,\n handleConfirm,\n handleDiscard,\n } = props;\n\n const [\n {\n message,\n acceptingLoading\n },\n handleKeyDown,\n handleChangeMessage\n ] = useFacade(initMessage, handleConfirm);\n\n return (\n
\n \n handleKeyDown(e, message)}\n onChange={(e: React.ChangeEvent) => handleChangeMessage(e.target.value)}\n />\n \n\n \n \n handleDiscard()}>\n \n \n \n \n handleConfirm(message)}\n disabled={message.trim().length < 1 || acceptingLoading}\n >\n \n \n \n \n
\n )\n};\n","import { TextField } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n width: '100%',\n overflow: 'auto',\n height: '200px',\n maxHeight: '200px',\n // border: `1px solid #c6c6c6`,\n // borderRadius: '5px',\n backgroundColor: theme.palette.background.paper,\n },\n search: {\n backgroundColor: colors.gray100,\n borderRadius: 50,\n },\n searchBase: {\n padding: 16,\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n },\n icon: {\n color: colors.black,\n },\n }),\n);\n\nexport const SearchTextField = withStyles({\n root: {\n '& label.Mui-focused': {\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'transparent',\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': { \n borderColor: 'transparent',\n },\n '&:hover fieldset': {\n borderColor: 'transparent',\n },\n '&.Mui-focused fieldset': {\n borderColor: 'transparent',\n },\n },\n },\n})(TextField);","import {Store, StoreConfig} from '@datorama/akita';\nimport {ShortcutGroupModel, ShortcutModel} from \"../../models/shortcut.models\";\n\nexport enum ShortcutGroupTabs {\n Global = 0,\n Personal = 1,\n}\n\n/**\n * Represents shortcuts state\n */\nexport interface ShortcutsState {\n groups: ShortcutGroupModel[];\n tab: ShortcutGroupTabs;\n targetShortcut: ShortcutModel;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): ShortcutsState {\n return {\n groups: [],\n tab: 0,\n targetShortcut: null\n };\n}\n\n/**\n * Provides shortcuts states management\n */\n@StoreConfig({name: 'coaches', resettable: true })\nexport class ShortcutsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public init(group: ShortcutGroupModel[]): void {\n this.update({groups: this._sort(group)});\n }\n\n public insertGroup(group: ShortcutGroupModel): void {\n this.update({groups: [...this.getValue().groups, group]});\n }\n\n public updateGroup(group: ShortcutGroupModel) {\n const groups = this.getValue().groups;\n this.update({ groups: groups.map(x => x.id === group.id ? group : x) });\n }\n\n public deleteGroup(id: number): void {\n this.update({groups: this.getValue().groups.filter(i => i.id !== id)});\n }\n\n public insertShortcut(shortcut: ShortcutModel): void {\n this.update({groups: this._insertShortcut(this.getValue().groups, shortcut)});\n }\n\n public updateShortcut(shortcut: ShortcutModel): void {\n let groups = this.getValue().groups;\n groups = this._deleteShortcut(groups, shortcut);\n groups = this._insertShortcut(groups, shortcut);\n this.update({groups: groups});\n }\n\n public deleteShortcut(shortcut: ShortcutModel): void {\n this.update({groups: this._deleteShortcut(this.getValue().groups, shortcut)});\n }\n\n public setTargetShortcut(shortcut: ShortcutModel): void {\n this.update({ targetShortcut: shortcut });\n }\n\n public resetTargetShortcut(): void {\n this.update({\n targetShortcut: null\n });\n }\n\n public setTab(tab: ShortcutGroupTabs): void {\n this.update({ tab: tab });\n }\n\n //#region private\n\n private _sort(groups: ShortcutGroupModel[]): ShortcutGroupModel[] {\n groups = groups.map(x => {\n x.shortcuts = x.shortcuts.sort(createCompareFunction('displayName'));\n return x;\n });\n\n return groups.sort(createCompareFunction('name'))\n }\n\n private _deleteShortcut(groups: ShortcutGroupModel[], shortcut: ShortcutModel): ShortcutGroupModel[] {\n return groups.map(x => {\n return x.shortcuts.findIndex(k => k.id === shortcut.id) < 0\n ? x\n : {\n id: x.id,\n name: x.name,\n isPersonal: x.isPersonal,\n shortcuts: x.shortcuts.filter(t => {\n return t.id !== shortcut.id;\n })\n }\n })\n }\n\n private _insertShortcut(groups: ShortcutGroupModel[], shortcut: ShortcutModel): ShortcutGroupModel[] {\n return this._sort(groups.map(x => {\n return x.id !== shortcut.groupId\n ? x\n : {\n id: x.id,\n name: x.name,\n isPersonal: x.isPersonal,\n shortcuts: [...x.shortcuts, shortcut]\n }\n }));\n }\n\n //#endregion\n}\n\nfunction createCompareFunction(sortBy: string) {\n return (a, b): number => {\n if (a[sortBy] > b[sortBy]) {\n return 1;\n }\n if (b[sortBy] > a[sortBy]) {\n return -1;\n }\n\n return createCompareFunction('id')(a, b);\n }\n}\n\nexport const shortcutsStore = new ShortcutsStore();\n","import {Query} from '@datorama/akita';\nimport {ShortcutsState, shortcutsStore, ShortcutsStore, ShortcutGroupTabs} from \"./shortcuts.store\";\nimport {ShortcutGroupModel} from \"../../models/shortcut.models\";\n\n/**\n * Provides shortcuts queries\n */\nexport class ShortcutsQuery extends Query {\n\n groups$ = this.select(state => state.groups);\n tab$ = this.select(state => state.tab);\n targetShortcut$ = this.select(state => state.targetShortcut);\n\n constructor(protected store: ShortcutsStore) {\n super(store);\n }\n\n public getGroups(isPersonal: boolean): ShortcutGroupModel[] {\n return this.getValue().groups.filter(x => x.isPersonal === isPersonal);\n }\n\n public getTab(): ShortcutGroupTabs {\n return this.getValue().tab;\n }\n}\n\nexport const shortcutsQuery = new ShortcutsQuery(shortcutsStore);\n","import {shortcutsStore, ShortcutsStore} from \"../stores/shortcutsStore/shortcuts.store\";\nimport Axios from \"axios-observable\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {snackService} from \"../../common/snack/state\";\nimport {\n CreateShortcutGroupModel,\n CreateShortcutModel,\n ShortcutGroupModel,\n ShortcutModel,\n UpdateShortcutModel,\n UpdateShortcutGroupModel\n} from \"../models/shortcut.models\";\nimport {Observable} from \"rxjs\";\n\n/**\n * Provides method for working with shortcuts\n */\nexport class ShortcutsService {\n private shortcutsUrl = `${process.env.REACT_APP_API_URL}Shortcuts`;\n private shortcutGroupsUrl = `${process.env.REACT_APP_API_URL}ShortcutGroups`;\n\n constructor(private shortcutsStore: ShortcutsStore) {\n }\n\n public get(): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.shortcutGroupsUrl}/My`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.init(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public createGroup(model: CreateShortcutGroupModel): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.post(`${this.shortcutGroupsUrl}`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.insertGroup(response.data);\n snackService.success('Shortcut group successfully created!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public updateShortcutGroup(model: UpdateShortcutGroupModel): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.put(`${this.shortcutGroupsUrl}`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.updateGroup(response.data);\n snackService.success('Shortcut group successfully updated!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public deleteShortcutGroup(id: number): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.delete(`${this.shortcutGroupsUrl}/${id}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.deleteGroup(id);\n snackService.success('Shortcut group successfully deleted!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getShortcut(id: number): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.shortcutsUrl}/${id}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.updateShortcut(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public createShortcut(model: CreateShortcutModel): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.post(`${this.shortcutsUrl}`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.insertShortcut(response.data);\n snackService.success('Shortcut successfully created!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public updateShortcut(model: UpdateShortcutModel): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.put(`${this.shortcutsUrl}`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.updateShortcut(response.data);\n snackService.success('Shortcut successfully updated!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public deleteShortcut(id: number): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.delete(`${this.shortcutsUrl}/${id}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.shortcutsStore.deleteShortcut(response.data);\n snackService.success('Shortcut successfully deleted!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const shortcutsService = new ShortcutsService(shortcutsStore);","import React from 'react';\nimport {\n Dialog,\n DialogTitle,\n DialogActions,\n DialogContent,\n DialogContentText,\n Box,\n List,\n ListItem,\n ListItemText,\n ListItemSecondaryAction,\n Grid,\n FormControl,\n Select,\n MenuItem\n} from '@material-ui/core';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { useStyles, SearchTextField } from \"./selectShortcutComponent.styles\";\nimport { useFacade } from \"./selectShortcutComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { getNumericKeys } from '../../../common/helpers/enum-mapper';\nimport { ShortcutGroupTypeNames } from '../../../employee/models/shortcut.models';\n\nexport const SelectShortcutComponent: React.FC = () => {\n const classes = useStyles();\n const [\n {\n isLoading,\n isOpen,\n selectedId,\n groups,\n filteredGroups,\n shortcuts,\n filteredShortcuts,\n typeId,\n groupId\n },\n handleSelect,\n handleFilter,\n handleClose,\n handleApply,\n handleType,\n handleGroup\n ] = useFacade();\n\n return (\n \n handleClose()}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n Apply Shortcut\n \n \n \n ) =>\n handleFilter(e.target.value)\n }\n placeholder=\"Search\"\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: ,\n }}\n />\n \n {\n isLoading\n ? \n : <>\n \n \n \n \n \n {\n if (typeId === null) {\n return Shortcut Type;\n }\n \n return ShortcutGroupTypeNames[typeId];\n }}\n displayEmpty\n onChange={(v) => handleType((v.target.value) as string)}>\n {\n getNumericKeys(ShortcutGroupTypeNames).map((value, i) => {\n return \n \n {value === typeId ? : }\n {ShortcutGroupTypeNames[value]}\n \n \n })\n }\n \n \n \n \n \n \n \n {\n if (groupId === null) {\n return Group;\n }\n \n return groups.find(g => g.id === groupId)?.name ?? 'View All Groups';\n }}\n displayEmpty\n onChange={(v) => handleGroup((v.target.value) as string)}>\n \n \n {groupId < 0 ? : }\n View All Groups\n \n \n {filteredGroups.map(g => (\n \n \n {g.id === groupId ? : }\n {g.name}\n \n \n ))}\n \n \n \n \n \n \n \n {shortcuts\n ? filteredShortcuts.map((shortcut) => {\n return handleSelect(shortcut.id)}\n >\n \n \n {selectedId === shortcut.id ? : }\n \n \n })\n : \n \n \n }\n \n \n }\n \n \n \n handleClose()}\n >\n Cancel\n \n handleApply()}\n >\n Apply\n \n \n \n \n );\n}\n","var _rect, _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAdd = function SvgAdd(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 20,\n height: 20,\n rx: 2,\n fill: \"#EFF1F4\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.0001 5.09961C10.4972 5.09961 10.9001 5.50255 10.9001 5.99961L10.9001 13.9996C10.9001 14.4967 10.4972 14.8996 10.0001 14.8996C9.50304 14.8996 9.1001 14.4967 9.1001 13.9996L9.1001 5.99961C9.1001 5.50255 9.50304 5.09961 10.0001 5.09961Z\",\n fill: \"#1F72A2\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.8999 9.99961C14.8999 10.4967 14.497 10.8996 13.9999 10.8996L5.9999 10.8996C5.50285 10.8996 5.0999 10.4967 5.0999 9.99961C5.0999 9.50255 5.50285 9.09961 5.9999 9.09961L13.9999 9.09961C14.497 9.09961 14.8999 9.50255 14.8999 9.99961Z\",\n fill: \"#1F72A2\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAdd, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Add.64b6f6ab.svg\";\nexport { ForwardRef as ReactComponent };","import {useCallback, useEffect, useState} from 'react';\nimport {selectShortcutService} from \"../../services/selectShortcut.service\";\nimport {ShortcutGroupModel, ShortcutModel, ShortcutGroupType} from \"../../../employee/models/shortcut.models\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {shortcutsQuery} from \"../../../employee/stores/shortcutsStore\";\nimport {shortcutsService} from \"../../../employee/services/shortcuts.service\";\n\nexport interface SelectShortcutComponentState {\n isLoading: boolean;\n isOpen: boolean;\n search: string;\n handleSelect: Function;\n groups:ShortcutGroupModel[];\n filteredGroups: ShortcutGroupModel[];\n shortcuts: ShortcutModel[];\n filteredShortcuts: ShortcutModel[];\n selectedId: number;\n typeId: ShortcutGroupType;\n groupId: number;\n}\n\nexport function useFacade(): [SelectShortcutComponentState, Function, Function, Function, Function, Function, Function]{\n const [state, setState] = useState({\n isLoading: true,\n isOpen: false,\n selectedId: 0,\n search: '',\n typeId: null,\n groupId: null\n } as SelectShortcutComponentState);\n\n const setInitialState = () => {\n setState({\n ...state,\n isOpen: false,\n selectedId: 0,\n search: '',\n typeId: null,\n groupId: null,\n handleSelect: null,\n filteredGroups: state.groups,\n filteredShortcuts: state.shortcuts\n });\n }\n\n const handleSelect = (id: number) => {\n setState(state => ({...state, selectedId: id}));\n }\n \n const handleType = (id: ShortcutGroupType) => {\n switch (id) {\n case ShortcutGroupType.All:\n setState({\n ...state,\n typeId: id,\n filteredGroups: state.groups,\n filteredShortcuts: state.shortcuts,\n });\n return;\n case ShortcutGroupType.Global:\n const globalGroups = state.groups.filter(g => !g.isPersonal);\n const globalShortcuts = [].concat.apply([], globalGroups.map(x => x.shortcuts));\n setState({\n ...state,\n typeId: id,\n groupId: globalGroups.find(g => g.id === state.groupId)?.id ?? -1,\n filteredGroups: globalGroups,\n filteredShortcuts: globalShortcuts,\n });\n return;\n case ShortcutGroupType.Personal:\n const personalGroups = state.groups.filter(g => g.isPersonal);\n const personalShortcuts = [].concat.apply([], personalGroups.map(x => x.shortcuts));\n setState({\n ...state,\n typeId: id,\n groupId: personalGroups.find(g => g.id === state.groupId)?.id ?? -1,\n filteredGroups: personalGroups,\n filteredShortcuts: personalShortcuts,\n });\n return;\n }\n }\n \n const handleGroup = (id: number) => {\n if (id < 0) {\n const allShortcuts = [].concat.apply([], state.filteredGroups.map(x => x.shortcuts));\n setState({\n ...state,\n groupId: id,\n filteredShortcuts: allShortcuts,\n });\n } else {\n const shortcuts = [].concat.apply([], state.filteredGroups.filter(g => g.id === id).map(x => x.shortcuts));\n setState({\n ...state,\n groupId: id,\n filteredShortcuts: shortcuts,\n });\n }\n }\n \n const handleApply = () => {\n const shortcut = state.shortcuts.find(x => x.id === state.selectedId);\n if (shortcut) {\n state.handleSelect(shortcut.content);\n }\n setInitialState();\n }\n\n const handleClose = () => {\n setState({...state, isOpen: false});\n setInitialState();\n }\n\n const handleFilter = useCallback((search: string) => {\n const trimedSearch = decodeURIComponent(search).trim().toLowerCase();\n const arrayTrimSearchKey = trimedSearch.split(' ');\n\n let filtered = state.filteredShortcuts?.filter(s => arrayTrimSearchKey.find(item => s.name?.toLowerCase().includes(item) || s.displayName?.toLowerCase().includes(item)) !== undefined);\n\n setState(state => ({ ...state, search: search, filteredShortcuts: filtered }));\n }, [state.shortcuts]);\n\n useEffect(() => {\n handleFilter(state.search);\n\n return () => { };\n }, [handleFilter]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(shortcutsQuery.groups$, groups => {\n const shortcuts = [].concat.apply([], groups.map(x => x.shortcuts));\n setState(state => ({\n ...state,\n groups,\n shortcuts,\n filteredGroups: groups,\n filteredShortcuts: shortcuts\n }));\n }),\n selectShortcutService.onSelect.subscribe((handleSelect: Function) => {\n setState(state => ({\n ...state, isOpen: true, handleSelect\n }));\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n shortcutsService.get().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleSelect, handleFilter, handleClose, handleApply, handleType, handleGroup];\n}","import React from \"react\";\nimport {\n ConversationAuthorModel,\n ConversationModelBase,\n} from \"../../models/conversation.models\";\nimport { useFacade } from \"./conversationComponent.hooks\";\nimport { Avatar, Box, Divider, Grid, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { SendMessageComponent } from \"../sendMessageComponent/SendMessageComponent\";\nimport { SendMessageComponentMobile } from \"../sendMessageComponentMobile/SendMessageComponentMobile\";\nimport { EditScheduledMessage } from \"../editScheduledMessage/EditScheduledMessage\";\nimport { ScheduleMessageDialogComponent } from \"../scheduleMessageDialogComponent/ScheduleMessageDialogComponent\";\nimport clsx from \"clsx\";\nimport { ThreadComponent } from \"../threadComponent/ThreadComponent\";\nimport { useStyles, useDropStyles } from \"./conversationComponent.styles\";\nimport { convertMessagesToGroups, displayShortName, convertMessagesToGroupsForView } from \"../../helpers/messages.converter\";\nimport { ConversationState } from \"../../models/conversationState.models\";\nimport Dropzone from \"react-dropzone\";\nimport { CloudUploadOutlined } from \"@material-ui/icons\";\nimport moment from \"moment\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { ActionButton } from \"../sendMessageComponent/sendMessageComponent.styles\";\nimport { ReactComponent as AttachIcon } from '@img/icons/Attach.svg';\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { EditAiMessage } from \"../editAiMessage/EditAiMessage\";\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { SelectShortcutComponent } from \"../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent\";\n\ninterface ConversationComponentProps {\n conversation: ConversationModelBase;\n author: ConversationAuthorModel;\n threadHeight?: string;\n canSchedule?: boolean;\n}\n\nexport const ConversationComponent: React.FC = (\n props: ConversationComponentProps\n) => {\n const { conversation, author, threadHeight, canSchedule } = props;\n\n const classes = useStyles();\n const dropClasses = useDropStyles();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const [\n {\n isLoadingMessages,\n isScheduleDialogOpen,\n scheduledMessageForEditing,\n scheduledAttachmentsForEditing,\n toSendAttachments,\n scrollToIndex,\n lastReadMessageIndex,\n messages,\n messagesStaff,\n typing,\n emptyMessage,\n aiMessageForEditing,\n detailForAiMessage\n },\n handleSendMessage,\n handleDropAttachment,\n handleRemoveAttachment,\n handleTyping,\n handleOpenScheduleDialog,\n handleToggleScheduleDialog,\n handleScheduleMessage,\n handleEndEditScheduledMessage,\n handleSetMessageUnread,\n handleUpdateInteraction,\n handleEndEditAiMessage,\n handleEditInteraction\n ] = useFacade(conversation, author);\n\n const DynamicSendMessageComponent = isSmallScreen\n ? SendMessageComponentMobile\n : SendMessageComponent;\n\n const messageGroups = conversation && !isLoadingMessages\n ? !conversation.proxy\n ? convertMessagesToGroupsForView(\n messagesStaff,\n authQuery.isEmployeeUser() ? conversation.employees.find(e => e.employeeId === authQuery.getEmployeeId())?.vendorExternalIdentity : conversation.patients[0].vendorExternalIdentity,\n conversation.patients,\n conversation.employees\n )\n : convertMessagesToGroups(\n messages,\n author,\n conversation.patients,\n conversation.employees\n )\n : [];\n\n const isScheduledMessageEditing = Boolean(scheduledMessageForEditing);\n const isAiMessageForEditing = Boolean(aiMessageForEditing);\n\n const fileTypes = [\"application/pdf\", \"image/jpeg\", \"image/png\"];\n\n const displayNameAndDate = (name: string, date: Date): string => {\n return name ? `by ${name} on ${moment(toCurrentTimeZone(date)).format(\"MMM D, YYYY\")}` : '';\n }\n\n return (\n \n {({ getRootProps, getInputProps, isDragActive }) => {\n const rootProps = getRootProps();\n const handleAttach = rootProps[\"onClick\"];\n delete rootProps[\"onClick\"];\n\n const sendMessageSection =\n conversation?.state !== ConversationState.Closed ? (\n <>\n \n\n \n \n handleOpenScheduleDialog(message, removeAttachmentIds, attachments)}\n handleDiscard={() => handleEndEditScheduledMessage()}\n handleRemoveAttachmentNew={handleRemoveAttachment}\n />\n \n \n \n \n \n \n \n handleSendMessage(message)}\n handleRemoveAttachment={handleRemoveAttachment}\n handleSchedule={(message) => handleOpenScheduleDialog(message, [], [])}\n inputProps={getInputProps()}\n handleAttach={handleAttach}\n attachments={toSendAttachments}\n emptyMessage={emptyMessage}\n handleTyping={handleTyping}\n canSchedule={canSchedule}\n canAttach\n />\n \n \n handleEditInteraction(message)}\n handleDiscard={() => handleEndEditAiMessage()}\n />\n }\n permissions={[]}\n userType={UserType.Employee}\n />\n {canSchedule && (\n handleToggleScheduleDialog()}\n handleSubmit={(date, time) => handleScheduleMessage(date, time)}\n />\n )}\n \n }\n permissions={[]}\n userType={UserType.Employee}\n />\n \n ) : (\n \n {`This ticket was closed ${displayNameAndDate(conversation.stateChangeEmployeeName, conversation.stateChangeDate)}.`}\n \n );\n\n return isDragActive ? (\n
\n \n Release to Upload\n
\n ) : (\n <>\n \n \n \n \n {typing.map((item, index) => (\n \n \n {displayShortName(item.firstName, item.lastName)}\n \n {`${item.firstName} ${item.lastName}`}\n \n ))}\n {typing.length ? is typing . . . : <>}\n \n {sendMessageSection}\n \n );\n }}\n
\n );\n};\n","import { ListItemText } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n maxHeight: 300,\n overflow: \"auto\",\n \"& .MuiListItem-divider\": {\n borderBottomColor: colors.stroke,\n },\n background: colors.white,\n },\n title: {\n color: colors.gray1,\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 12,\n textTransform: \"uppercase\",\n padding: \"16px 16px 0 16px\",\n [theme.breakpoints.down(\"xs\")]: {\n paddingBottom: 10,\n },\n },\n titleIcon: {\n fill: colors.gray1,\n },\n icon: {\n fill: colors.bad,\n },\n item: {\n \"&:hover\": {\n \"& $removeUser\": {\n visibility: \"visible\",\n },\n },\n background: \"transparent\",\n },\n removeUser: {\n visibility: \"hidden\",\n },\n addUser: {\n color: colors.main,\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 14,\n },\n avatar: {\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth: 34,\n height: 34,\n },\n },\n })\n);\n\nexport const Member = withStyles((theme) => ({\n root: {\n [theme.breakpoints.down(\"xs\")]: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n },\n \"& .MuiListItemText-primary\": {\n color: colors.black,\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 16,\n },\n \"& .MuiListItemText-secondary\": {\n color: colors.gray1,\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 12,\n },\n },\n}))(ListItemText);\n","var _ellipse, _circle, _rect, _rect2, _circle2, _rect3, _rect4, _path, _g, _path2, _g2, _path3, _g3, _path4, _g4, _path5, _g5, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyAttachments = function SvgEmptyAttachments(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 241,\n height: 138,\n viewBox: \"0 0 241 138\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 121.039,\n cy: 150.127,\n rx: 120.414,\n ry: 82.5696,\n fill: \"url(#paint0_linear)\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 210.5,\n cy: 92.5001,\n r: 7.50008,\n fill: \"url(#paint1_linear)\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 209.429,\n y: 98.5713,\n width: 2.14288,\n height: 6.42864,\n fill: \"#DAE1E9\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 218,\n y: 102.857,\n width: 2.14288,\n height: 8.57152,\n transform: \"rotate(90 218 102.857)\",\n fill: \"url(#paint2_linear)\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 37,\n cy: 89,\n r: 5.00005,\n fill: \"url(#paint3_linear)\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 36.2861,\n y: 93.0479,\n width: 1.42858,\n height: 4.28575,\n fill: \"#DAE1E9\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 42,\n y: 95.9048,\n width: 1.42858,\n height: 5.71434,\n transform: \"rotate(90 42 95.9048)\",\n fill: \"url(#paint4_linear)\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 57,\n y: 13,\n width: 122,\n height: 82\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M155.397 44.0368C151.891 26.4993 136.495 13.3335 117.999 13.3335C103.315 13.3335 90.5609 21.6702 84.2094 33.8702C68.9149 35.4968 57.0249 48.4593 57.0249 64.1668C57.0249 80.9927 70.6934 94.6668 87.5122 94.6668H153.568C167.592 94.6668 178.974 83.2802 178.974 69.2502C178.974 55.8302 168.558 44.9518 155.397 44.0368Z\",\n fill: \"black\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 57,\n y: -7,\n width: 122,\n height: 122,\n rx: 20.3692,\n fill: \"#E2E9F1\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask1\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 154,\n y: 52,\n width: 39,\n height: 40\n }, _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M191.929 64.2138L185.79 87.9455C185.308 89.8102 183.388 90.9412 181.523 90.4589L157.791 84.3204C155.927 83.8381 154.796 81.9178 155.278 80.0532L161.417 56.3214C161.899 54.4568 163.819 53.3258 165.684 53.8081L189.415 59.9466C191.28 60.4289 192.411 62.3491 191.929 64.2138ZM169.931 79.3401L167.481 74.1306C167.234 73.6148 166.586 73.4651 166.15 73.8225L160.526 78.1552C159.94 78.6006 160.12 79.5151 160.832 79.6992L181.156 84.9564C181.851 85.1362 182.464 84.4447 182.185 83.7757L178.287 74.3035C178.066 73.7581 177.388 73.5827 176.935 73.9358L169.931 79.3401Z\",\n fill: \"black\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask1)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 158.523,\n y: 46.5303,\n width: 42.022,\n height: 42.022,\n rx: 10.6352,\n transform: \"rotate(14.5024 158.523 46.5303)\",\n fill: \"url(#paint5_linear)\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask2\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 63,\n y: 77,\n width: 35,\n height: 42\n }, _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.3951 94.0257L81.5963 109.266C79.8582 112.276 76.1074 113.683 72.945 112.241C69.3254 110.593 67.9853 106.228 69.9313 102.857L80.2104 85.0535C81.2999 83.1665 83.6436 82.2341 85.6243 83.128C87.9097 84.1594 88.7516 86.8926 87.5291 89.01L78.7969 104.135C78.3395 104.927 77.317 105.201 76.5248 104.744C75.7325 104.286 75.4586 103.264 75.916 102.471L83.1928 89.8675C83.5338 89.277 83.3268 88.5044 82.7362 88.1635C82.1457 87.8225 81.3731 88.0295 81.0322 88.6201L73.8717 101.022C72.7823 102.909 73.1466 105.405 74.9111 106.674C76.947 108.137 79.735 107.5 80.9575 105.382L89.5484 90.5024C91.2865 87.4918 90.6295 83.5402 87.7997 81.5223C84.5483 79.2034 80.1122 80.2337 78.1662 83.6044L67.9619 101.279C65.5751 105.413 66.4627 110.861 70.3579 113.629C74.8475 116.797 80.9377 115.396 83.6156 110.758L92.5558 95.2732C92.8967 94.6826 92.6897 93.9101 92.0991 93.5691C91.5086 93.2282 90.7361 93.4352 90.3951 94.0257Z\",\n fill: \"black\"\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask2)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 53,\n y: 105.571,\n width: 39.9189,\n height: 39.9189,\n rx: 10.6352,\n transform: \"rotate(-60 53 105.571)\",\n fill: \"url(#paint6_linear)\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask3\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 135,\n y: 109,\n width: 20,\n height: 14\n }, _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M148.204 120.214L140.105 117.777C138.505 117.295 137.434 115.695 137.76 114.057C138.132 112.182 140.027 111.074 141.818 111.613L151.28 114.461C152.283 114.763 152.977 115.757 152.777 116.782C152.547 117.965 151.361 118.66 150.235 118.321L142.197 115.902C141.776 115.775 141.535 115.327 141.662 114.906C141.789 114.485 142.237 114.244 142.658 114.371L149.356 116.387C149.67 116.481 150.009 116.299 150.103 115.985C150.198 115.671 150.016 115.333 149.702 115.238L143.111 113.255C142.108 112.953 140.98 113.398 140.581 114.363C140.121 115.477 140.726 116.711 141.851 117.05L149.759 119.43C151.359 119.912 153.136 119.169 153.768 117.623C154.495 115.846 153.524 113.884 151.733 113.345L142.34 110.518C140.143 109.857 137.691 110.872 136.826 112.999C135.838 115.449 137.164 118.144 139.629 118.886L147.859 121.363C148.173 121.457 148.511 121.275 148.606 120.961C148.7 120.647 148.518 120.309 148.204 120.214Z\",\n fill: \"black\"\n }))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask3)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 138.684,\n y: 103.991,\n width: 19.187,\n height: 19.187,\n rx: 9.59351,\n transform: \"rotate(16.7504 138.684 103.991)\",\n fill: \"url(#paint7_linear)\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask4\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 61,\n y: 13,\n width: 27,\n height: 27\n }, _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M82.7132 15.7089L87.2513 31.7703C87.6078 33.0323 86.867 34.3565 85.6051 34.7131L69.5437 39.2511C68.2817 39.6077 66.9574 38.8669 66.6009 37.6049L62.0628 21.5435C61.7063 20.2815 62.4471 18.9573 63.709 18.6007L79.7705 14.0627C81.0324 13.7061 82.3567 14.4469 82.7132 15.7089ZM74.9716 32.155L71.7423 29.9332C71.4203 29.7145 70.9876 29.8491 70.8539 30.209L69.0346 34.6873C68.8433 35.1501 69.2627 35.6263 69.7445 35.4901L83.5 31.6036C83.9704 31.4707 84.0934 30.8537 83.6996 30.5562L78.1558 26.3248C77.8388 26.0799 77.3799 26.2095 77.2347 26.5727L74.9716 32.155Z\",\n fill: \"black\"\n }))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask4)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 57,\n y: 16.7793,\n width: 28.6118,\n height: 28.6118,\n transform: \"rotate(-15.7773 57 16.7793)\",\n fill: \"url(#paint8_linear)\"\n })))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear\",\n x1: 121.039,\n y1: 67.5571,\n x2: 121.352,\n y2: 180.152,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F1F6FB\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.601737,\n stopColor: \"#FAFCFF\",\n stopOpacity: 0.170619\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FAFCFF\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear\",\n x1: 210.5,\n y1: 85,\n x2: 210.5,\n y2: 100,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#E2E9F1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D9E1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear\",\n x1: 219.071,\n y1: 103.928,\n x2: 219.071,\n y2: 109.643,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#DAE1E9\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#DAE1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear\",\n x1: 37,\n y1: 84,\n x2: 37,\n y2: 94.0001,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#E2E9F1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D9E1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear\",\n x1: 42.7143,\n y1: 96.6191,\n x2: 42.7143,\n y2: 100.429,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#DAE1E9\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#DAE1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear\",\n x1: 191.644,\n y1: 48.5748,\n x2: 164.248,\n y2: 86.6027,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3E98CC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#1F72A2\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear\",\n x1: 84.4634,\n y1: 107.513,\n x2: 58.4381,\n y2: 143.638,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3E98CC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#1F72A2\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear\",\n x1: 153.807,\n y1: 104.925,\n x2: 141.297,\n y2: 122.288,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3E98CC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#1F72A2\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint8_linear\",\n x1: 79.9385,\n y1: 24.519,\n x2: 79.729,\n y2: 43.7004,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3E98CC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#1F72A2\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 241,\n height: 138,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyAttachments, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyAttachments.c21a7444.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\"\nimport { Avatar, Box, IconButton, List, ListItem, ListItemAvatar, ListItemSecondaryAction, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { Member, useStyles } from \"./chatMembersComponent.styles\";\nimport { MemberViewModel } from \"./ChatMembersComponent\";\nimport PeopleIcon from '@material-ui/icons/People';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { ReactComponent as AddIcon } from '@img/icons/Add.svg';\nimport clsx from \"clsx\";\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport { displayShortName } from \"../../helpers/messages.converter\";\n\nexport interface ManageableMemberViewModel extends MemberViewModel {\n disableRemove?: boolean;\n}\n\ninterface ManageChatMembersComponentProps {\n isDialogActiveUsers: boolean;\n members: ManageableMemberViewModel[];\n disableAddMember?: boolean;\n disableRemoveMember?: boolean;\n handleAddMember: () => void;\n handleRemoveMember: (id: number) => void;\n}\n\nexport const ManageChatMembersComponent: React.FC = (props: ManageChatMembersComponentProps) => {\n const { isDialogActiveUsers, members, disableAddMember, disableRemoveMember, handleAddMember, handleRemoveMember } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n \n {isDialogActiveUsers\n ? <>\n : \n \n Active Users On Thread\n }\n \n {\n members.map((item, index) =>\n \n \n \n {displayShortName(item.firstName, item.lastName)}\n \n\n \n\n {\n (!isSmallScreen && !disableRemoveMember && !item.disableRemove) &&\n (isDialogActiveUsers\n ? \n handleRemoveMember(item.id ?? 0)}>\n \n \n \n : \n handleRemoveMember(item.id ?? 0)}>\n \n \n )\n }\n \n \n )\n }\n \n \n \n \n Add User\n \n \n \n \n \n )\n}\n","import React from \"react\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport { ReactComponent as emptyAttachments } from '@img/placeholders/EmptyAttachments.svg';\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport { CommonPlaceHolderProps } from \"./CommonPlaceHolder\";\n\ninterface AttachmentsPlaceHolderProps extends CommonPlaceHolderProps {\n}\n\nexport const AttachmentsPlaceHolder: React.FC = (props: AttachmentsPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n \n {React.createElement(emptyAttachments, { className: classes.image })}\n \n );\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { employeeConversationsQuery } from '../../stores/employeeConversationsStore/employeeConversations.query';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { AttachedFileModel } from \"../../models/message.models\";\n\nexport interface Group {\n title: string;\n items: AttachedFileModel[];\n isOpen: boolean;\n}\n\ninterface AttachmentsComponentState {\n isLoading: boolean;\n groups: Group[];\n pdfGroup: AttachedFileModel[];\n imageGroup: AttachedFileModel[];\n}\n\nexport function useFacade(): [AttachmentsComponentState, (index: number) => void] {\n\n const [state, setState] = useState({\n isLoading: true,\n groups: [{\n title: 'PDFs',\n items: [],\n isOpen: false\n }, {\n title: 'Images',\n items: [],\n isOpen: false\n }],\n pdfGroup: [],\n imageGroup: [],\n } as AttachmentsComponentState);\n\n const handleToggleSection = (index: number) => {\n if (state.groups.length > index) {\n state.groups[index].isOpen = !state.groups[index].isOpen;\n setState(state => ({ ...state }));\n }\n }\n\n const handleGroup = (attachments: AttachedFileModel[]) => {\n const pdfs = state.groups[0];\n const images = state.groups[1];\n\n pdfs.items = [];\n images.items = [];\n\n attachments.forEach(media => {\n if (media.file.state.contentType === 'application/pdf') {\n pdfs.items.push(media);\n } else {\n images.items.push(media);\n }\n });\n\n const result = [];\n\n if (pdfs.items.length) {\n pdfs.title = `PDFs (${pdfs.items.length})`;\n result.push(pdfs);\n }\n\n if (images.items.length) {\n images.title = `Images (${images.items.length})`;\n result.push(images);\n }\n\n setState(state => ({ ...state, groups: result, pdfGroup: pdfs.items, imageGroup: images.items, isLoading: false }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.targetAttachments$, attachments => {\n handleGroup(attachments);\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [state, handleToggleSection];\n}\n\n","import { ListItemText, Dialog } from \"@material-ui/core\";\nimport { createStyles, makeStyles, withStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important',\n },\n dialogContent: {\n paddingLeft: 20,\n paddingRight: 20,\n paddingBottom: 30,\n },\n content: {\n background: colors.white,\n },\n contentContainer: {\n maxHeight: '400px',\n overflowY: 'auto',\n overflowX: 'hidden',\n \"& > .MuiGrid-spacing-xs-1\": {\n margin: 0,\n }\n },\n titleContainer: {\n display: \"flex\",\n alignItems: \"center\",\n padding: \"16px 16px 0 16px\",\n [theme.breakpoints.down(\"xs\")]: {\n paddingBottom: 10,\n },\n },\n containerImg: {\n \"& > img\": {\n maxWidth: '90vw',\n maxHeight: '80vh',\n }\n },\n slider: {\n \"& .awssld__wrapper\": {\n maxHeight: '90vh',\n }\n },\n title: {\n color: colors.gray1,\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 12,\n textTransform: \"uppercase\",\n marginLeft: 8,\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: 0,\n },\n },\n titleIcon: {\n fill: colors.gray1,\n transform: \"rotate(45deg)\",\n },\n fileButton: {\n \"&:hover\": {\n \"& $fileIcon\": {\n display: \"none\",\n },\n \"& $downloadIcon\": {\n display: \"inline-block\",\n },\n },\n },\n fileIcon: {\n color: colors.gray2,\n display: \"inline-block\",\n },\n downloadIcon: {\n color: colors.gray2,\n display: \"none\",\n },\n document: {\n padding: \"0 8px\",\n borderRadius: 2,\n display: \"flex\",\n alignItems: \"center\",\n background: colors.gray8,\n width: \"100%\",\n height: 44,\n },\n imageFile: {\n backgroundRepeat: \"no-repeat\",\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n borderRadius: 2,\n backgroundSize: 88,\n height: 88,\n minWidth: 88,\n\n \"&:hover\": {\n \"& $downloadIcon\": {\n display: \"inline-block\",\n },\n },\n },\n tabs: {\n color: colors.gray1,\n \"& .MuiTabs-indicator\": {\n backgroundColor: colors.main,\n },\n \"& .MuiTab-root\": {\n fontSize: 14,\n fontWeight: 400,\n textTransform: \"none\",\n \"&.Mui-selected\": {\n color: colors.main,\n },\n },\n },\n container: {\n width: \"100%\",\n height: \"100%\",\n },\n })\n);\n\nexport const Title = withStyles({\n root: {\n \"& .MuiListItemText-primary\": {\n color: colors.black,\n fontWeight: 500,\n fontSize: 16,\n },\n },\n})(ListItemText);\n\nexport const FileName = withStyles({\n root: {\n \"& .MuiListItemText-primary\": {\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n maxWidth: 225,\n },\n },\n})(ListItemText);\n\nexport const DialogSlider = withStyles({\n root: {\n \"& .MuiDialog-paperFullWidth\": {\n width: '100vw',\n margin: 0,\n height: '100vh',\n minHeight: '100vh',\n minWidth: '100vw',\n backgroundColor: 'inherit',\n },\n },\n})(Dialog);\n","import {\n Box,\n Collapse,\n Grid,\n IconButton,\n List,\n ListItem,\n useMediaQuery,\n useTheme,\n} from \"@material-ui/core\";\nimport AttachFileIcon from \"@material-ui/icons/AttachFile\";\nimport DescriptionIcon from \"@material-ui/icons/Description\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nimport React from \"react\";\nimport { AttachmentsPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/AttachmentsPlaceHolder\";\nimport { AttachedFileModel } from \"../../models/message.models\";\nimport { Group, useFacade } from \"./attachmentsComponent.hooks\";\nimport { FileName, Title, useStyles } from \"./attachmentsComponent.styles\";\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useStylesFullWidthTabs } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\n\nexport const AttachmentsComponent: React.FC = () => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n groups,\n pdfGroup,\n imageGroup,\n isLoading\n },\n handleToggleSection\n ] = useFacade();\n const sideBarTabsStyle = useStylesFullWidthTabs();\n\n const downloadMedia = (media: AttachedFileModel) => {\n media.url\n ? window.open(media.url)\n : media.file.getContentTemporaryUrl().then(url => window.open(url));\n }\n\n const setUrl = (media: AttachedFileModel) => {\n media.file.getContentTemporaryUrl().then(url => {\n media.url = url;\n });\n }\n\n const renderImage = (media: AttachedFileModel, index: number) => {\n return (\n \n downloadMedia(media)}\n size=\"small\"\n >\n \n \n \n );\n };\n\n const renderPdf = (media: AttachedFileModel, index: number) => {\n return (\n \n \n downloadMedia(media)}\n size=\"small\"\n >\n \n \n \n \n \n \n \n \n );\n };\n\n const renderGroup = (group: Group, index: number) => {\n const isImageGroup = group.title.includes(\"Image\");\n const items = group.items.map(isImageGroup ? renderImage : renderPdf);\n\n if (isSmallScreen) {\n return (\n \n {isImageGroup ? {items} : {items}}\n \n );\n } else {\n return (\n \n handleToggleSection(index)}\n >\n \n {group.isOpen ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n <Collapse key={`${index}-group`} in={group.isOpen} timeout=\"auto\" unmountOnExit>\n {isImageGroup ? <Grid container>{items}</Grid> : <List>{items}</List>}\n </Collapse>\n </React.Fragment>\n );\n }\n };\n\n const renderContent = () => {\n if (isSmallScreen) {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n let pdfs, images;\n if (groups && groups.length) {\n pdfs = groups.find((group) => group.title.includes(\"PDFs\"));\n images = groups.find((group) => group.title.includes(\"Image\"));\n }\n const tabs: TabItem[] = [\n {\n title: \"PDFs\",\n content: pdfGroup.length ? (\n renderGroup(pdfs, 0)\n ) : (\n <AttachmentsPlaceHolder message=\"No Pdfs yet.\" />\n ),\n },\n {\n title: \"Images\",\n content: imageGroup.length ? (\n renderGroup(images, 1)\n ) : (\n <AttachmentsPlaceHolder message=\"No Images yet.\" />\n ),\n },\n ];\n return (\n <Box width=\"100%\" className={classes.content}>\n <WildHealthTabControl items={tabs} className={sideBarTabsStyle} />\n </Box>\n );\n } else {\n return (\n <List className={classes.content}>\n {groups && groups.length ? (\n groups.map((group, index) => renderGroup(group, index))\n ) : (\n <AttachmentsPlaceHolder message=\"No attachments.\" />\n )}\n </List>\n );\n }\n };\n\n return (\n <Box>\n <Box className={classes.titleContainer}>\n {!isSmallScreen && <AttachFileIcon className={classes.titleIcon} />}\n <Box className={classes.title}>Attachments</Box>\n </Box>\n {renderContent()}\n </Box>\n );\n};\n","export class ImageConstants {\n public static loginBackgroundPath = '/images/bg.jpg';\n public static clarityPdfHeaderPath = '/images/logos/WH/Clarity_pdf_header.jpg';\n public static licensingWHHeaderLogoPath = '/images/logos/Licensing/wh_header_logo.jpeg';\n public static commonPlaceHolderPath = '/images/placeholders/Common.png';\n public static emptyReportPath = '/images/placeholders/EmptyReport.png';\n public static emptyReportCFPath = '/images/placeholders/EmptyReportCF.png';\n public static healthReportPg2ImagePath = '/images/HealthReport_Pg2_Image.jpg';\n public static healthReportPg8ImagePath = '/images/HealthReport_Pg8_Image.jpg';\n public static healthReportPg12ImagePath = '/images/HealthReport_Pg12_Image.jpg';\n public static healthReportPg13GraphPath = '/images/HealthReport_Pg13_graph.jpg';\n public static healthReportPg13ImagePath = '/images/HealthReport_Pg13_Image1.png';\n public static healthReportPg14ImagePath = '/images/HealthReport_Pg14_Image.jpg';\n public static healthReportPg16ImagePath = '/images/HealthReport_Pg16_Image.jpg';\n public static healthReportPg18ImagePath = '/images/HealthReport_Pg18_Image.jpg';\n public static healthReportPg23ImagePath = '/images/HealthReport_Pg23_Image.jpg';\n public static healthReportRoadMapPath = '/images/HealthReport_Road_Map.jpg';\n public static videoPreviewImagePath = '/images/video_preview.jpg';\n public static whCoverImagePath = '/images/WH_Cover_Image.jpg';\n}\n","import React from \"react\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { ImageConstants } from '../../../../constants/image.constants';\n\nexport interface CommonPlaceHolderProps {\n message: string;\n}\n\nexport const CommonPlaceHolder: React.FC<CommonPlaceHolderProps> = (props: CommonPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n <WildHealthPlaceHolderBase message={props.message}>\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.commonPlaceHolderPath}\n alt=\"img\" className={classes.image} />\n </WildHealthPlaceHolderBase>\n );\n}\n","import { ListItemText } from '@material-ui/core';\nimport { makeStyles, withStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n padding: 0\n },\n dialogTitle: {\n paddingLeft: 32,\n },\n title: {\n color: colors.gray1,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 12,\n textTransform: 'uppercase',\n padding: \"16px 16px 0 16px\",\n [theme.breakpoints.down(\"xs\")]: {\n paddingBottom: 10,\n },\n },\n titleIcon: {\n fill: colors.gray1,\n },\n document: {\n padding: \"0 8px\",\n borderRadius: 2,\n display: \"flex\",\n alignItems: \"center\",\n width: \"100%\",\n height: 44,\n },\n fileIcon: {\n color: colors.gray2,\n display: \"inline-block\",\n },\n}));\n\nexport const ScheduledMessage = withStyles((theme: Theme) => ({\n root: {\n \"& .MuiListItemText-primary\": {\n borderRadius: '6px 6px 0px 6px',\n background: colors.gray3,\n wordBreak: 'break-all',\n color: colors.black,\n overflow: 'auto',\n fontWeight: 500,\n maxHeight: 198,\n maxWidth: 254,\n fontSize: 16,\n padding: 8,\n [theme.breakpoints.down(\"xs\")]: {\n maxWidth: 'none',\n },\n },\n }\n}))(ListItemText);\n\nexport const ScheduledMessageDialog = withStyles({\n root: {\n \"& .MuiListItemText-primary\": {\n borderRadius: '6px 6px 0px 6px',\n background: colors.gray3,\n wordBreak: 'break-all',\n color: colors.black,\n fontWeight: 500,\n fontSize: 16,\n padding: 8,\n },\n }\n})(ListItemText);\n\nexport const FileName = withStyles({\n root: {\n \"& .MuiListItemText-primary\": {\n textOverflow: \"ellipsis\",\n whiteSpace: \"nowrap\",\n overflow: \"hidden\",\n maxWidth: 174,\n },\n },\n})(ListItemText);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { ScheduledMessageModel } from \"../../models/message.models\";\nimport { scheduleMessageService } from \"../../services/scheduleMessage.service\";\nimport { scheduledMessagesQuery } from '../../stores/scheduledMessagesStore/scheduledMessages.query';\nimport { scheduledMessagesStore } from '../../stores/scheduledMessagesStore/scheduledMessages.store';\n\ninterface ScheduledMessagesComponentState {\n editingTarget: ScheduledMessageModel;\n messages: ScheduledMessageModel[];\n targetMessageId: number;\n menuAnchorEl: HTMLElement;\n}\n\nexport function useFacade(handleClose?: () => void,): [ScheduledMessagesComponentState, (menuAnchorEl?: HTMLElement, messageId?: number) => void, () => void, () => void] {\n\n const [state, setState] = useState({\n editingTarget: null,\n messages: [],\n targetMessageId: 0,\n menuAnchorEl: null,\n } as ScheduledMessagesComponentState);\n\n const handleToggleActions = (menuAnchorEl?: HTMLElement, messageId?: number) => {\n setState(state => ({ ...state, menuAnchorEl, targetMessageId: messageId }));\n }\n\n const handleEdit = () => {\n const target = state.messages.find(i => i.id === state.targetMessageId);\n if (target) {\n scheduledMessagesStore.startEditing(target);\n handleClose && handleClose();\n handleToggleActions();\n }\n }\n\n const handleDelete = () => {\n scheduleMessageService.delete(state.targetMessageId).subscribe();\n handleToggleActions();\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<ScheduledMessageModel>(scheduledMessagesQuery.editingTarget$, message =>\n setState(state => ({ ...state, editingTarget: message }))\n ),\n onEmit<ScheduledMessageModel[]>(scheduledMessagesQuery.scheduledMessages$, scheduledMessages =>\n setState(state => ({ ...state, messages: scheduledMessages }))\n ),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [state, handleToggleActions, handleEdit, handleDelete];\n}\n\n","import React from 'react';\nimport { Box, IconButton, List, ListItem, Popover, useTheme, useMediaQuery } from '@material-ui/core';\nimport DateRangeIcon from '@material-ui/icons/DateRange';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport moment from 'moment';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { ScheduledMessage, FileName, useStyles } from \"./scheduledMessagesComponent.styles\";\nimport { useFacade } from \"./scheduledMessagesComponent.hooks\";\nimport { WildHealthMenuItem } from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport { ScheduledMessageModel, UploadedAttachmentModel } from \"../../models/message.models\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\n\nexport const ScheduledMessagesComponent: React.FC = () => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n editingTarget,\n messages,\n menuAnchorEl,\n },\n handleToggleActions,\n handleEdit,\n handleDelete,\n ] = useFacade();\n\n const isEditing = Boolean(editingTarget);\n\n const renderAttachment = (attachment: UploadedAttachmentModel, index: number) => {\n return (\n <ListItem key={index} disableGutters classes={{ root: classes.root }}>\n <Box className={classes.document}>\n <DescriptionIcon className={classes.fileIcon} />\n <Box ml={1}>\n <FileName primary={attachment.name} />\n </Box>\n </Box>\n </ListItem>\n )\n }\n\n const renderMessage = (item: ScheduledMessageModel, index: number) => {\n const uploadedAttachs = item.uploadedAttachments ? item.uploadedAttachments.map(renderAttachment) : '';\n return (\n <ListItem key={index}>\n {!isSmallScreen &&\n <IconButton\n id=\"scheduled-messages-more-actions\"\n onClick={(e) => handleToggleActions(e.currentTarget, item.id)}\n disabled={isEditing}\n size='small'\n >\n <MoreHorizIcon />\n </IconButton>\n }\n\n <Box ml={1} width='100%'>\n <ScheduledMessage\n primary={<>\n <Box>{item.message}</Box>\n <List classes={{ root: classes.root }}>{uploadedAttachs}</List>\n </>}\n secondary={`${moment(toCurrentTimeZone(item.timeToSend)).format('MMM DD, yyyy')} ${moment(toCurrentTimeZone(item.timeToSend)).format('HH:mm a')}`}\n primaryTypographyProps={{ className: 'flat-scroll MuiListItemText-primary' }}\n />\n </Box>\n {isSmallScreen &&\n <IconButton\n id=\"scheduled-messages-more-actions\"\n onClick={(e) => handleToggleActions(e.currentTarget, item.id)}\n disabled={isEditing}\n size='small'\n >\n <MoreHorizIcon />\n </IconButton>\n }\n </ListItem>\n )\n }\n\n return (\n <Box>\n <Box display='flex' mx={2} mt={2} alignItems='center'>\n <DateRangeIcon className={classes.titleIcon} />\n <Box ml={1} className={classes.title}>{`Scheduled Messages (${messages?.length ?? 0})`}</Box>\n </Box>\n <List className=\"wh-tw-bg-white\">\n {\n messages && messages.length ? messages.map((group, index) => renderMessage(group, index)) :\n <CommonPlaceHolder message='No scheduled messages.' />\n }\n </List>\n\n <Popover\n keepMounted\n anchorEl={menuAnchorEl}\n open={Boolean(menuAnchorEl)}\n onClose={() => handleToggleActions()}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <WildHealthMenuItem id=\"scheduled-messages-edit\" onClick={() => handleEdit()}>Edit</WildHealthMenuItem>\n <WildHealthMenuItem id=\"scheduled-messages-delete\" onClick={() => handleDelete()}>Delete</WildHealthMenuItem>\n </Popover>\n </Box>\n )\n}","import {authQuery} from \"../../auth/stores/auth\";\nimport {ConversationModelBase} from \"../models/conversation.models\";\nimport { profileQuery } from \"../../account/stores/profileStore\";\n\nconst mapParticipant = (i) => ({\n id: i.userId,\n firstName: i.firstName,\n lastName: i.lastName,\n disableRemove: i.disableRemove,\n position: ''\n});\n\nexport const getConversationMembers = (conversation: ConversationModelBase, isEmployeeAssigned: boolean) => {\n let members: any[]\n\n if (isEmployeeAssigned) {\n const employees = conversation.employees.filter(i => i.isActive && i.userId !== authQuery.getId() && !i.isDeleted)\n const employeeAssigned = conversation.employees.filter(i => i.isActive && i.userId === authQuery.getId() && !i.isDeleted)\n\n members = [...conversation.patients.map(mapParticipant),\n ...employeeAssigned.map(i => ({ ...mapParticipant(i), image: profileQuery.getPhoto(i.employeeId) })),\n ...employees.map(i => ({ ...mapParticipant(i), image: profileQuery.getPhoto(i.employeeId) }))]\n } else {\n const employees = conversation.employees.filter(i => i.isActive && !i.isDeleted)\n\n members = [...conversation.patients.map(mapParticipant),\n ...employees.map(i => ({ ...mapParticipant(i), image: profileQuery.getPhoto(i.employeeId) }))]\n }\n\n return members;\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { employeeConversationsQuery } from '../../stores/employeeConversationsStore/employeeConversations.query';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { AttachedFileModel } from \"../../models/message.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\n\nexport interface Group {\n title: string;\n items: AttachedFileModel[];\n isOpen: boolean;\n}\n\ninterface AttachmentsComponentState {\n isLoading: boolean;\n groups: Group[];\n pdfGroup: AttachedFileModel[];\n imageGroup: AttachedFileModel[];\n}\n\nexport function useFacade(): [AttachmentsComponentState, (index: number) => void, (sid: string) => void] {\n\n const [state, setState] = useState({\n isLoading: true,\n groups: [{\n title: 'PDFs',\n items: [],\n isOpen: false\n },{\n title: 'Images',\n items: [],\n isOpen: false\n }],\n } as AttachmentsComponentState);\n\n const handleToggleSection = (index: number) => {\n if (state.groups.length > index) {\n state.groups[index].isOpen = !state.groups[index].isOpen;\n setState(state => ({...state}));\n }\n }\n\n const handleGroup = (attachments: AttachedFileModel[]) => {\n const pdfs = state.groups[0];\n const images = state.groups[1];\n\n pdfs.items = [];\n images.items = [];\n\n attachments.forEach(media => {\n if (media.file[0].contentType === 'application/pdf') {\n \n pdfs.items.push(media);\n } else {\n images.items.push(media);\n }\n });\n\n const result = [];\n\n if (pdfs.items.length) {\n pdfs.title = `PDFs (${pdfs.items.length})`;\n result.push(pdfs);\n }\n\n if (images.items.length) {\n images.title = `Images (${images.items.length})`;\n result.push(images);\n }\n\n setState(state => ({ ...state, groups: result, pdfGroup: pdfs.items, imageGroup: images.items, isLoading: false }));\n }\n\n const handleDownloadAttachment = (sid) => {\n const model = { mediaSid: sid }\n conversationsService.createMediaUrl(model).subscribe((data: string) => {\n window.open(data)\n })\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<AttachedFileModel[]>(employeeConversationsQuery.targetAttachmentsView$, attachments => {\n handleGroup(attachments)\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [state, handleToggleSection, handleDownloadAttachment];\n}\n\n","import { Box, Collapse, Grid, IconButton, List, ListItem, useMediaQuery, useTheme } from '@material-ui/core';\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport React from 'react';\nimport { AttachmentsPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/AttachmentsPlaceHolder';\nimport { AttachedFileModel } from '../../models/message.models';\nimport { Group, useFacade } from \"./attachmentsViewComponent.hooks\";\nimport { FileName, Title, useStyles } from \"../attachmentsComponent/attachmentsComponent.styles\";\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport InsertPhoto from '@material-ui/icons/InsertPhoto';\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useStylesFullWidthTabs } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\n\nexport const AttachmentsViewComponent: React.FC = () => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sideBarTabsStyle = useStylesFullWidthTabs();\n\n const [\n {\n groups,\n pdfGroup,\n imageGroup,\n isLoading\n },\n handleToggleSection,\n handleDownloadAttachment,\n ] = useFacade();\n\n const renderImage = (media: AttachedFileModel, index: number) => {\n return (\n\n <ListItem key={index}>\n <Box className={classes.document}>\n <IconButton id=\"attachments-download-file\" className={classes.fileButton} onClick={() => handleDownloadAttachment(media.file[0].sid)} size='small'>\n <InsertPhoto className={classes.fileIcon} />\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n <Box ml={1}>\n <FileName primary={media.file[0].filename} />\n </Box>\n </Box>\n </ListItem>\n )\n }\n\n const renderPdf = (media: AttachedFileModel, index: number) => {\n return (\n <ListItem key={index}>\n <Box className={classes.document}>\n <IconButton id=\"attachments-download-file\" className={classes.fileButton} onClick={() => handleDownloadAttachment(media.file[0].sid)} size='small'>\n <DescriptionIcon className={classes.fileIcon} />\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n <Box ml={1}>\n <FileName primary={media.file[0].filename} />\n </Box>\n </Box>\n </ListItem>\n )\n }\n\n const renderGroup = (group: Group, index: number) => {\n const isImageGroup = group.title.includes(\"Image\");\n const items = group.items.map(isImageGroup ? renderImage : renderPdf);\n \n if (isSmallScreen) {\n return (\n <React.Fragment key={`${index}-tab-item`}>\n {isImageGroup ? <Grid container>{items} </Grid> : <List>{items}</List>}\n </React.Fragment>\n );\n } else {\n return (\n <React.Fragment key={`${index}-fragment`}>\n <ListItem\n id=\"attachments-toggle-section\"\n key={index}\n button\n onClick={() => handleToggleSection(index)}\n >\n <Title primary={group.title} />\n {group.isOpen ? <ExpandLess /> : <ExpandMore />}\n </ListItem>\n <Collapse key={`${index}-group`} in={group.isOpen} timeout=\"auto\" unmountOnExit>\n {isImageGroup ? <Grid container>{items}</Grid> : <List>{items}</List>}\n </Collapse>\n </React.Fragment>\n );\n }\n };\n\n const renderContent = () => {\n if (isSmallScreen) {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n let pdfs, images;\n if (groups && groups.length) {\n pdfs = groups.find((group) => group.title.includes(\"PDFs\"));\n images = groups.find((group) => group.title.includes(\"Image\"));\n }\n const tabs: TabItem[] = [\n {\n title: \"PDFs\",\n content: pdfGroup.length ? (\n renderGroup(pdfs, 0)\n ) : (\n <AttachmentsPlaceHolder message=\"No Pdfs yet.\" />\n ),\n },\n {\n title: \"Images\",\n content: imageGroup.length ? (\n renderGroup(images, 1)\n ) : (\n <AttachmentsPlaceHolder message=\"No Images yet.\" />\n ),\n },\n ];\n return (\n <Box width=\"100%\" className={classes.content}>\n <WildHealthTabControl items={tabs} className={sideBarTabsStyle} />\n </Box>\n );\n } else {\n return (\n <List className={classes.content}>\n {groups && groups.length ? (\n groups.map((group, index) => renderGroup(group, index))\n ) : (\n <AttachmentsPlaceHolder message=\"No attachments.\" />\n )}\n </List>\n );\n }\n };\n\n return (\n <Box>\n <Box className={classes.titleContainer}>\n {!isSmallScreen && <AttachFileIcon className={classes.titleIcon} />}\n <Box className={classes.title}>Attachments</Box>\n </Box>\n {renderContent()}\n </Box>\n )\n}","import React from 'react';\nimport clsx from 'clsx';\nimport { Box, CircularProgress, Divider, Drawer, IconButton, useMediaQuery, useTheme } from '@material-ui/core';\nimport InfoIcon from '@material-ui/icons/Info';\nimport WarningRoundedIcon from '@material-ui/icons/WarningRounded';\nimport MoreHorizIcon from \"@material-ui/icons/MoreHoriz\";\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { useStyles } from './employeeChatComponent.styles';\nimport { useFacade } from './employeeChatComponent.hooks';\nimport { SecondaryButton } from '../../../common/components/wildHealthButton/SecondaryButton';\nimport { ReactComponent as OpenSideIcon } from '@img/icons/OpenSide.svg';\nimport { ConversationComponent } from \"../conversationComponent/ConversationComponent\";\nimport { MessageAvatarsComponent } from '../messageAvatarsComponent/MessageAvatarsComponent';\nimport { ManageChatMembersComponent } from '../chatMembersComponent/ManageChatMembersComponent';\nimport { AttachmentsComponent } from '../attachmentsComponent/AttachmentsComponent';\nimport { ScheduledMessagesComponent } from '../scheduledMessagesComponent/ScheduledMessagesComponent';\nimport { SelectUserDialogComponent } from '../selectUserDialogComponent/SelectUserDialogComponent';\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { EmployeeType, employeeTypesNames } from '../../../employee/models/employee.enums';\nimport { ConversationState } from '../../models/conversationState.models';\nimport { ConversationType, EmployeeConversationModel, EmployeeConversationParticipantModel } from '../../models/conversation.models';\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { displayShortName } from '../../helpers/messages.converter';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {getConversationMembers} from \"../../helpers/getMembers\";\nimport { AttachmentsViewComponent } from '../attachmentsViewComponent/AttachmentsViewComponent';\nimport { profileQuery } from '../../../account/stores/profileStore';\nimport { PatientInfoTooltipComponent } from '../../../employee/components/patientInfoTooltipComponent/PatientInfoTooltipComponent';\n\ninterface EmployeeChatComponentProps {\n targetConversation?: EmployeeConversationModel;\n resetTargetConversation: () => void;\n handleGoBack: () => void;\n}\n\nexport const EmployeeChatComponent: React.FC<EmployeeChatComponentProps> = (props: EmployeeChatComponentProps) => {\n const { targetConversation, handleGoBack } = props;\n const classes = useStyles();\n\n const [\n {\n isClosing,\n isLoading,\n author,\n isSideAreaOpen,\n isEmployeeAssigned,\n isAddUserOpen,\n employeeType,\n connectionStatus\n },\n handleToggleSideArea,\n handleToggleAddUser,\n handleAddUser,\n handleRemoveUserFromThread,\n handleCloseTicket,\n goToPatientProfile\n ] = useFacade(handleGoBack, targetConversation);\n\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down('md'));\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n if (!targetConversation) {\n return <></>\n }\n\n const renderMobileSideArea = (className: string) => {\n const members = targetConversation\n ? targetConversation.employees\n .filter((i) => i.isActive && !i.isDeleted)\n .map((i) => ({\n image: profileQuery.getPhoto(i.employeeId),\n firstName: i.firstName,\n lastName: i.lastName,\n position: employeeTypesNames.get(i.type),\n initials: displayShortName(i.firstName, i.lastName),\n }))\n : [\n { firstName: \"Health\", lastName: \"Coach\", initials: \"HC\", position: \"Health Coach\" },\n { firstName: \"Provider\", lastName: \"\", initials: \"Pr\", position: \"Provider\" },\n ];\n const patient = targetConversation\n ? targetConversation.patients\n .map((i) => ({\n image: '',\n firstName: i.firstName,\n lastName: i.lastName,\n initials: displayShortName(i.firstName, i.lastName),\n }))\n : [\n { initials: \"P\", image: \"\", firstName: \"Patient\", lastName: \"\" },\n ];\n\n return (\n <Box className={className}>\n <Box className={classes.goBack}>\n <IconButton id=\"close-side-bar\" onClick={() => handleToggleSideArea(!isSideAreaOpen)}>\n <Box display=\"flex\" alignItems=\"center\">\n <ArrowBackIcon className=\"wh-tw-text-gray1\" />\n <Box ml={1} className=\"wh-tw-text-gray1 wh-tw-text-base\">Back</Box>\n </Box>\n </IconButton>\n </Box>\n <Box className={classes.header}>\n <Box mt={2} className={classes.titleAndAvatars}>\n <Box>\n <MessageAvatarsComponent\n participants={patient}\n size={isSmallScreen && 34}\n />\n </Box>\n <Box pl={1} className=\"wh-tw-font-medium wh-tw-text-lg wh-tw-pt-2.5\">\n {`${patient[0].firstName} ${patient[0].lastName}`}\n </Box>\n </Box>\n </Box>\n <Box px={2} width={1}>\n {isLoading\n ? <WildHealthLinearProgress />\n : <ManageChatMembersComponent\n isDialogActiveUsers={false}\n members={members}\n disableAddMember={targetConversation.state === ConversationState.Closed}\n disableRemoveMember={targetConversation.state === ConversationState.Closed}\n handleAddMember={() => handleToggleAddUser()}\n handleRemoveMember={(id) => handleRemoveUserFromThread(id)}\n />}\n\n <Divider className={classes.divider} orientation='horizontal' />\n\n <ScheduledMessagesComponent />\n\n <Divider className={classes.divider} orientation=\"horizontal\" />\n\n {targetConversation && !targetConversation.proxy && targetConversation.state === ConversationState.Closed ? <AttachmentsViewComponent /> : <AttachmentsComponent />}\n </Box>\n </Box>\n )\n }\n\n const renderHeaderArea = () => {\n const participants = [...targetConversation.patients, ...targetConversation.employees.filter(i => i.isActive && !i.isDeleted)];\n const initials = participants.map((i: EmployeeConversationParticipantModel) => ({ image: profileQuery.getPhoto(i?.employeeId ?? 0), initials: displayShortName(i.firstName, i.lastName) }));\n const patient = [...targetConversation.patients][0];\n\n if (isSmallScreen) {\n return (\n <Box p={2} className={classes.header}>\n <Box display='flex'>\n <Box>\n <IconButton\n id=\"chat-list-go-back\"\n onClick={() => handleGoBack()}\n >\n <ChevronLeftIcon />\n </IconButton>\n </Box>\n <Box>\n <MessageAvatarsComponent participants={initials} size={32} />\n </Box>\n <Box ml={2} display='flex' flexDirection='column' justifyContent='center' flex={1}>\n <WildHealthLinkButton\n id=\"employee-chat-link-patient-profile\"\n onClick={() => goToPatientProfile(patient.patientId)}\n content={<Box className={classes.title}>{patient.firstName} {patient.lastName}</Box>}\n />\n {\n targetConversation.subject &&\n <Box className={classes.subject}>\n {targetConversation.type === ConversationType.Support ? targetConversation.subject : 'Healthcare'}\n </Box>\n }\n </Box>\n <Box>\n <IconButton\n id=\"attachment-views-open\"\n onClick={() => handleToggleSideArea(!isSideAreaOpen)}\n disabled={isLoading}\n >\n <MoreHorizIcon />\n </IconButton>\n </Box>\n </Box>\n <Box mt={2} width={1}>\n {\n (employeeType === EmployeeType.Staff && targetConversation.type === ConversationType.Support && targetConversation.state !== ConversationState.Closed) &&\n <SecondaryButton id=\"employee-chat-close-ticket\" fullWidth disabled={isClosing} onClick={() => handleCloseTicket()}>\n {\n isClosing\n ? <CircularProgress size={24} className=\"wh-tw-text-primaryV\" />\n : <span>Close Ticket</span>\n }\n </SecondaryButton>\n }\n <Drawer\n id=\"employee-chat-side-area-drawer\"\n anchor='right'\n open={isSideAreaOpen}\n onClose={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <Box className=\"wh-tw-bg-gray8 wh-tw-w-screen\">\n {renderMobileSideArea(clsx('flat-scroll', classes.sideContainer))}\n </Box>\n </Drawer>\n </Box>\n </Box>\n )\n }\n \n return (\n <Box p={2} className={classes.header}>\n <Box display='flex'>\n <Box>\n <MessageAvatarsComponent participants={initials} />\n </Box>\n <Box ml={2} display='flex' flexDirection='column' justifyContent='center'>\n <WildHealthLinkButton\n id=\"employee-chat-link-patient-profile\"\n onClick={() => goToPatientProfile(patient.patientId)}\n content={<Box className={classes.title}>{patient.firstName} {patient.lastName}</Box>}\n />\n {\n targetConversation.subject &&\n <Box className={classes.subject}>\n {targetConversation.type === ConversationType.Support ? targetConversation.subject : 'Healthcare'}\n </Box>\n }\n </Box>\n <Box position='relative' pt={0.5} pl={1.5}>\n <InfoIcon className={clsx(classes.iconInfo, \"wh-tw-text-gray2\")} fontSize='small' />\n <PatientInfoTooltipComponent patientId={patient.patientId} />\n </Box>\n </Box>\n\n <Box display='flex'>\n {\n (employeeType === EmployeeType.Staff && targetConversation.type === ConversationType.Support && targetConversation.state !== ConversationState.Closed) &&\n <Box width={120}>\n <SecondaryButton id=\"employee-chat-close-ticket\" fullWidth disabled={isClosing} onClick={() => handleCloseTicket()}>\n {\n isClosing\n ? <CircularProgress size={24} className=\"wh-tw-text-primaryV\" />\n : <span>Close Ticket</span>\n }\n </SecondaryButton>\n </Box>\n }\n {\n isMiddleScreen &&\n <Box ml={2}>\n <IconButton id=\"employee-chat-side-area-icon\" onClick={() => handleToggleSideArea(!isSideAreaOpen)}>\n <OpenSideIcon className={classes.icon} />\n </IconButton>\n <Drawer\n id=\"employee-chat-side-area-drawer\"\n anchor='right'\n open={isSideAreaOpen}\n onClose={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <Box className={classes.sideMobile}>\n {renderSideArea(clsx('flat-scroll', classes.sideContainer))}\n </Box>\n </Drawer>\n </Box>\n }\n </Box>\n </Box>\n )\n }\n\n const renderSideArea = (className: string) => {\n const members = getConversationMembers(targetConversation, isEmployeeAssigned);\n\n return (\n <Box className={className}>\n {isLoading\n ? <WildHealthLinearProgress />\n : <ManageChatMembersComponent\n isDialogActiveUsers={false}\n members={members}\n disableAddMember={targetConversation.state === ConversationState.Closed}\n disableRemoveMember={targetConversation.state === ConversationState.Closed}\n handleAddMember={() => handleToggleAddUser()}\n handleRemoveMember={(id) => handleRemoveUserFromThread(id)}\n />}\n\n <Divider className={classes.divider} orientation='horizontal' />\n\n {targetConversation && !targetConversation.proxy && targetConversation.state === ConversationState.Closed ? <AttachmentsViewComponent /> : <AttachmentsComponent />}\n\n <Divider className={classes.divider} orientation='horizontal' />\n\n <ScheduledMessagesComponent />\n </Box>\n )\n }\n\n return (\n <div className={classes.chat}>\n <div className={clsx('g', classes.messages)}>\n {renderHeaderArea()}\n\n <Divider className={classes.divider} orientation='horizontal' />\n {!connectionStatus &&\n <Box position=\"relative\" width={1}>\n <Box position=\"absolute\" top={0} width={1} display=\"flex\" alignItems=\"center\" justifyContent=\"center\" className=\"wh-tw-bg-average1 wh-tw-px-5 wh-tw-py-2.5 wh-tw-mb-3.5 wh-tw-rounded-sm wh-tw-z-50\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" className=\"wh-tw-bg-white wh-tw-rounded-full wh-tw-p-0.5\" width=\"26px\" height=\"26px\">\n <WarningRoundedIcon className=\"wh-tw-text-average1 -wh-tw-mt-1\" />\n </Box>\n <Box className=\"wh-tw-text-white wh-tw-font-medium wh-tw-ml-3.5\">Trying to reconnect. Please wait.</Box>\n </Box>\n </Box>\n }\n <ConversationComponent\n conversation={targetConversation}\n author={author}\n canSchedule\n />\n </div>\n {\n !isMiddleScreen &&\n <div className={clsx('g', classes.side)}>\n <Divider className={classes.divider} orientation='vertical' />\n\n {renderSideArea(clsx('flat-scroll', classes.sideContainer, classes.sideMaxHeight))}\n </div>\n }\n <SelectUserDialogComponent\n isOpen={isAddUserOpen}\n title='Add User'\n message='Select User:'\n actionName='Add User'\n handleGetUsers={(search) => employeeService.getActive(search)}\n handleCancel={() => handleToggleAddUser()}\n handleSubmit={(id) => handleAddUser(id)}\n />\n </div>\n )\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { EmployeeType } from \"../../../employee/models/employee.enums\";\nimport { ConversationAuthorModel, EmployeeConversationModel } from \"../../models/conversation.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { ConversationState } from \"../../models/conversationState.models\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { ScheduledMessageModel } from \"../../models/message.models\";\nimport { scheduledMessagesQuery } from \"../../stores/scheduledMessagesStore/scheduledMessages.query\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\n\ninterface EmployeeChatComponentState {\n isClosing: boolean;\n isLoading: boolean;\n author: ConversationAuthorModel;\n isEmployeeAssigned: boolean;\n isSideAreaOpen: boolean;\n isAddUserOpen: boolean;\n employeeType: EmployeeType;\n connectionStatus: boolean;\n}\n\nexport function useFacade(resetTargetConversation: () => void, targetConversation?: EmployeeConversationModel): [EmployeeChatComponentState,\n (open: boolean) => void,\n () => void,\n (id: number) => void,\n (id: number) => void,\n () => void,\n (id: number) => void\n] {\n\n const [state, setState] = useState({\n isClosing: false,\n isLoading: true,\n author: null,\n isEmployeeAssigned: false,\n targetConversation: null,\n isSideAreaOpen: false,\n isAddUserOpen: false,\n employeeType: authQuery.getEmployeeType(),\n connectionStatus: false,\n } as EmployeeChatComponentState);\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isSideAreaOpen: open });\n }\n\n const handleToggleAddUser = () => {\n setState(state => ({ ...state, isAddUserOpen: !state.isAddUserOpen }))\n }\n\n const handleAddUser = (id: number) => {\n setState(state => ({ ...state, isLoading: true }));\n const cb = () => setState(state => ({ ...state, isAddUserOpen: false, isLoading: false }));\n conversationsService.addEmployeeToConversationModel({ conversationId: targetConversation.id, employeeId: id }).subscribe(cb, cb);\n }\n\n const handleRemoveUserFromThread = (id: number) => {\n confirmService.confirm('Remove User', 'Are You Sure You Want to Remove this User?', 'Remove User', 'Cancel').subscribe(() => {\n setState(state => ({ ...state, isLoading: true }));\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n conversationsService.removeEmployeeToConversationModel({ conversationId: targetConversation.id, userId: id }).subscribe(() => {\n if (id === authQuery.getId()) {\n resetTargetConversation();\n }\n cb();\n }, cb);\n })\n }\n\n const goToPatientProfile = (id: number) => {\n navigationService.toNewTabManagePatientProfile(id);\n }\n\n const handleCloseTicket = () => {\n confirmService.confirm('Close Ticket', 'Are You Sure You Want to Close this Ticket?', 'Close Ticket').subscribe(() => {\n\n setState(state => ({\n ...state,\n isClosing: true\n }));\n\n conversationsService.updateSupportConversationState({ id: targetConversation.id, state: ConversationState.Closed }).subscribe(\n () => {\n setState(state => ({\n ...state,\n isClosing: false\n }));\n\n snackService.success('The ticket has been closed!')\n },\n () => {\n setState(state => ({\n ...state,\n isClosing: false\n }));\n\n snackService.error('Close ticket failed!')\n }\n );\n })\n }\n\n useEffect(() => {\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n patientsService.getAll([], [], [], [], [], [], `${targetConversation?.patients[0]?.patientId}`, 0, 1).subscribe(\n (patient) => {\n patientsService.get(targetConversation?.patients[0]?.patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n setState(state => ({\n ...state,\n isEmployeeAssigned: !!patient?.[0]?.employees?.find(el => el.userId === authQuery.getId()),\n isLoading: false,\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n })\n\n }, [targetConversation]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<ConversationAuthorModel>(employeeConversationsQuery.author$, author =>\n setState(state => ({ ...state, author: author }))\n ),\n onEmit<boolean>(employeeConversationsQuery.connectionStatus$, status =>\n setState(state => ({ ...state, connectionStatus: status }))\n ),\n onEmit<ScheduledMessageModel>(scheduledMessagesQuery.editingTarget$, message => {\n if (Boolean(message)) {\n setState(state => ({ ...state, isSideAreaOpen: false }))\n }\n }),\n ];\n\n setState(state => ({ ...state, author: employeeConversationsQuery.getAuthor() }))\n \n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state,\n handleToggleSideArea,\n handleToggleAddUser,\n handleAddUser,\n handleRemoveUserFromThread,\n handleCloseTicket,\n goToPatientProfile\n ];\n}\n","import { ListItemText } from '@material-ui/core';\nimport { createStyles, makeStyles, withStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'flex-end',\n },\n header: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n lineHeight: '14px',\n background: colors.gray4,\n color: colors.gray1,\n padding: '5px 10px',\n borderRadius: 17,\n fontWeight: 'normal',\n },\n divider: {\n background: colors.main,\n margin: '0 32px',\n },\n author: {\n display: 'flex',\n alignItems: 'flex-end',\n color: colors.black,\n fontWeight: 500,\n fontSize: 16,\n },\n position: {\n color: colors.gray1,\n fontWeight: 400,\n fontSize: 16,\n },\n message: {\n color: colors.black,\n fontWeight: 400,\n fontSize: 14,\n whiteSpace: 'pre-line',\n wordBreak: 'break-word',\n [theme.breakpoints.down('xs')]: {\n marginTop: 14\n },\n },\n messageDivider: {\n background: colors.stroke,\n },\n messageDate: {\n alignItems: 'flex-end',\n display: 'flex',\n color: colors.gray1,\n fontWeight: 400,\n fontSize: 14,\n },\n fileButton: {\n \"&:hover\": {\n \"& $fileIcon\": {\n display: \"none\",\n },\n \"& $downloadIcon\": {\n display: \"inline-block\",\n },\n },\n },\n fileIcon: {\n display: 'inline-block',\n },\n downloadIcon: {\n display: 'none',\n },\n breakText: {\n wordBreak: 'break-all',\n },\n })\n);\n\nexport const UnreadMessages = withStyles({\n root: {\n display: 'flex',\n margin: '0 16px',\n\n \"& .MuiListItemText-primary\": {\n color: colors.main,\n },\n }\n})(ListItemText);\n ","import React, { useState } from 'react';\nimport { Box, Divider, IconButton, List, ListItem, useTheme, useMediaQuery } from '@material-ui/core';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport moment from 'moment';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { useStyles, UnreadMessages } from \"./internalThreadComponent.styles\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { ConversationAuthorModel } from '../../models/conversation.models';\nimport { employeeTypesNames } from '../../../employee/models/employee.enums';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\ninterface InternalThreadComponentProps {\n isLoadingMessages?: boolean;\n messages: any[];\n lastReadMessageIndex?: number;\n scrollToIndex?: number;\n threadStartId?: string;\n participants: any[];\n author: ConversationAuthorModel;\n}\n\nexport const InternalThreadComponent: React.FC<InternalThreadComponentProps> = (props: InternalThreadComponentProps) => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n const {\n isLoadingMessages = false,\n messages,\n lastReadMessageIndex = -1,\n scrollToIndex = -1,\n threadStartId = 'thread-start',\n participants,\n } = props;\n\n const [scrollTo, setScrollTo] = useState(null);\n\n\n const downloadMedia = (media: any) => {\n media.getContentTemporaryUrl().then(url => window.open(url));\n }\n\n if (!messages.length && !isLoadingMessages) {\n return (\n <Box height='100%' width=\"50vh\" margin=\"0 auto\">\n <MessagesPlaceHolder message=\"No messages yet.\" />\n </Box>\n )\n }\n\n if (scrollTo && scrollToIndex >= 1) {\n scrollTo.scrollIntoView();\n }\n\n const renderUnreadMessages = (messageIndex: number, lastReadMessageIndex: number) => {\n return messageIndex === lastReadMessageIndex + 1 ? (\n <Box key={`unread-messages-${messageIndex}`}>\n <ListItem id='unread-messages' key='unread-messages'>\n <UnreadMessages primary='Unread Messages' />\n </ListItem>\n <Divider className={classes.divider} />\n </Box>\n ) : <></>\n }\n\n const ref = (element) => setScrollTo(element);\n\n const renderMessages = (messages: any[]) => {\n const items = messages.map(message => {\n const author = participants.find(x => x.vendorExternalIdentity === message.author);\n const messageIndex = message.state.index;\n\n return (\n [\n <>\n <div ref={messageIndex === scrollToIndex ? ref : null} />\n\n {renderUnreadMessages(messageIndex, lastReadMessageIndex)}\n\n <ListItem key={messageIndex} id={`message-${messageIndex}`}>\n <Box id={`message-${messageIndex}`} px={!isSmallScreen && 4} width='100%' justifyContent='space-between' className={isSmallScreen ? \"wh-tw-flex\" : \"wh-tw-block\"}>\n <Box mt={2}>\n <Box className={classes.author}>\n <Box>\n {author ? `${author.firstName} ${author.lastName}` : 'The author is not specified.'}\n </Box>\n {isSmallScreen ?\n <Box display='flex' ml={2}>\n <Box className={classes.messageDate}>\n {`${moment(toCurrentTimeZone(message.dateCreated)).format('MMM D, yyyy')} ${moment(message.dateCreated).format('hh:mm a')}`}\n </Box>\n </Box>\n :\n <Box ml={1} className={classes.position}>\n {author && `- ${employeeTypesNames.get(author.type)}`}\n </Box>\n }\n </Box>\n <Box className={classes.message}>\n {\n message?.state?.type === 'media'\n ? <Box display='flex' alignItems='center' className={classes.breakText}>\n <IconButton id=\"message-download-media\" className={classes.fileButton}\n onClick={() => downloadMedia(message?.state?.media)} size='small'>\n <DescriptionIcon className={classes.fileIcon} />\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n\n <Box ml={1}>{message.state?.media?.state?.filename ?? message.state.body}</Box>\n </Box>\n : `${message.body}`\n }\n </Box>\n </Box>\n {!isSmallScreen &&\n <Box display='flex' >\n <Box className={classes.messageDate}>\n {`${moment(toCurrentTimeZone(message.dateCreated)).format('MMM D, yyyy')} ${moment(message.dateCreated).format('hh:mm a')}`}\n </Box>\n </Box>\n }\n </Box>\n </ListItem>\n </>,\n <Box mx={4}>\n <Divider className={classes.messageDivider} />\n </Box>\n ]\n )\n }).flat();\n\n items.pop();\n\n return items;\n }\n\n return (\n <List id='thread-list' className={classes.root}>\n <Box id={threadStartId} p={3} px={4} height='4px'>\n {isLoadingMessages && <WildHealthLinearProgress />}\n </Box>\n {renderMessages(messages)}\n </List>\n )\n};\n","import React from 'react';\nimport clsx from \"clsx\";\nimport { Avatar, Box, Divider, Grid, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport { ConversationAuthorModel, ConversationModelBase, EmployeeConversationParticipantModel } from \"../../models/conversation.models\";\nimport { SendMessageComponent } from \"../sendMessageComponent/SendMessageComponent\";\nimport { InternalThreadComponent } from \"../internalThreadComponent/InternalThreadComponent\";\nimport { useFacadeInternal as useFacade } from \"./../conversationComponent/conversationComponent.hooks\";\nimport { useStyles, useDropStyles } from \"../conversationComponent/conversationComponent.styles\";\nimport moment from \"moment\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { displayShortName } from \"../../helpers/messages.converter\";\nimport { CloudUploadOutlined } from \"@material-ui/icons\";\nimport Dropzone from \"react-dropzone\";\nimport { SendMessageComponentMobile } from '../sendMessageComponentMobile/SendMessageComponentMobile';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { SelectShortcutComponent } from '../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent';\nimport { UserType } from '../../../auth/models/auth.enums';\n\ninterface InternalConversationComponentProps {\n conversation: ConversationModelBase;\n author: ConversationAuthorModel;\n threadHeight?: string;\n signedBy: EmployeeConversationParticipantModel;\n}\n\nexport const InternalConversationComponent: React.FC<InternalConversationComponentProps> = (props: InternalConversationComponentProps) => {\n const {\n conversation,\n author,\n threadHeight,\n signedBy,\n } = props;\n\n const classes = useStyles();\n const dropClasses = useDropStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const [\n {\n isLoadingMessages,\n scrollToIndex,\n lastReadMessageIndex,\n messages,\n typing,\n toSendAttachments,\n awayMessageEnabled\n },\n handleSendMessage,\n handleTyping,\n handleDropAttachment,\n handleRemoveAttachment,\n handleNavigateToSettings\n ] = useFacade(conversation, author);\n\n const DynamicSendMessageComponent = isSmallScreen\n ? SendMessageComponentMobile\n : SendMessageComponent;\n\n const fileTypes = [\"application/pdf\", \"image/jpeg\", \"image/png\"];\n\n const displayName = (employee: EmployeeConversationParticipantModel): string => {\n return `${employee.firstName} ${employee.lastName}`;\n }\n\n const displayDate = (date: Date): string => {\n return date ? `on ${moment(toCurrentTimeZone(date)).format(\"MMM D, YYYY\")}` : '';\n }\n\n return (\n <>\n <Dropzone onDrop={handleDropAttachment} accept={fileTypes}>\n {({ getRootProps, getInputProps, isDragActive }) => {\n const rootProps = getRootProps();\n const handleAttach = rootProps[\"onClick\"];\n delete rootProps[\"onClick\"];\n\n const sendMessageSection = (\n !signedBy ?\n <>\n <Divider className={classes.divider} orientation='horizontal' />\n \n <Box className={classes.sendMessage}>\n <DynamicSendMessageComponent\n handleSubmit={(message) => handleSendMessage(message)}\n handleTyping={handleTyping}\n placeholder='Reply'\n canAttach\n attachments={toSendAttachments}\n handleAttach={handleAttach}\n handleRemoveAttachment={handleRemoveAttachment}\n inputProps={getInputProps()}\n />\n </Box>\n </> :\n <Box className={classes.closedTicket}>\n {` This conversation has been signed off by ${displayName(signedBy)} ${displayDate(signedBy.signDate)}.`}\n </Box>\n )\n\n return isDragActive ? (\n <div {...rootProps} className={dropClasses.dropContainer}>\n <CloudUploadOutlined className={dropClasses.dropIcon} />\n <span className={dropClasses.dropTitle}>Release to Upload</span>\n </div>\n ) : <>\n <Box\n id='thread'\n className={clsx(classes.thread, 'flat-scroll')}\n height={threadHeight}\n maxHeight={threadHeight}\n >\n <InternalThreadComponent\n isLoadingMessages={isLoadingMessages}\n messages={conversation ? messages : []}\n lastReadMessageIndex={lastReadMessageIndex}\n scrollToIndex={scrollToIndex}\n threadStartId={`thread-start-${conversation?.id}`}\n participants={[...conversation.employees.filter(i => !i.isDeleted), ...conversation.patients]}\n author={author}\n />\n </Box>\n\n <Grid container alignItems='center'>\n {\n typing.map((item, index) =>\n <Box key={index} display='flex' alignItems='center' ml={1} mb={1} px={1}>\n <Avatar\n className={classes.typingAvatar}\n variant=\"rounded\"\n src={item.image}\n >\n {displayShortName(item.firstName, item.lastName)}\n </Avatar>\n <Box ml={1}>\n {`${item.firstName} ${item.lastName}`}\n </Box>\n </Box>\n )\n }\n {\n typing.length ?\n <Box mb={1}>\n is typing . . .\n </Box> :\n <></>\n }\n </Grid>\n {awayMessageEnabled && (\n <Box width={1} className=\"wh-tw-px-5 wh-tw-py-2.5\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" className=\"wh-tw-p-2.5 wh-tw-bg-gray8\">\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-medium\">Your account has an away message turned on. If you want to turn it off, this can be adjusted in your message settings.</Box>\n <Box display=\"flex\" alignItems=\"center\" className=\"wh-tw-cursor-pointer\">\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium wh-tw-px-2\" onClick={handleNavigateToSettings}>Open Settings</Box>\n <ChevronRightIcon className=\"wh-tw-text-primaryV\" />\n </Box>\n </Box>\n </Box>\n )}\n {sendMessageSection}\n \n <ProtectedElement\n element={<SelectShortcutComponent />}\n permissions={[]}\n userType={UserType.Employee}\n />\n </>\n\n }}\n </Dropzone>\n </>\n )\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n chat: {\n width: '100%',\n height: '100%',\n display: 'grid',\n boxShadow: '0px 7px 60px rgba(168, 173, 198, 0.12)',\n background: colors.white,\n borderRadius: 2,\n\n gridTemplateColumns: '100%',\n gridTemplateAreas: '\"messages\"',\n },\n header: {\n display: 'flex',\n flexDirection: 'column',\n height: 110,\n [theme.breakpoints.down('sm')]: {\n height: 'auto',\n display: 'block',\n },\n },\n messages: {\n gridArea: 'messages',\n display: 'flex',\n flexDirection: 'column',\n maxHeight: 'calc(100vh - 174px) !important',\n minHeight: 565,\n [theme.breakpoints.down('sm')]: {\n minHeight: \"calc(100vh - 114px) !important\",\n },\n },\n title: {\n overflow: 'hidden',\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n height: 30,\n },\n subject: {\n fontSize: 12,\n color: colors.gray2,\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n icon: {\n stroke: colors.main,\n height: 26,\n width: 26,\n },\n addUser: {\n textTransform: 'none',\n color: colors.main,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 14,\n },\n patientInfo: {\n marginTop: 16,\n color: colors.black,\n fontWeight: 400,\n fontSize: 16,\n [theme.breakpoints.down('xs')]: {\n marginTop: 4,\n fontSize: 14,\n },\n },\n patientName: {\n color: colors.main,\n cursor: 'pointer',\n\n '&:hover': {\n color: `${colors.main}CC`,\n \n }\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.lightBlack,\n padding: 10,\n display: 'flex',\n justifyContent: 'center'\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n sideContainer: {\n height: '100%',\n width: '100%',\n overflow: 'auto',\n },\n goBack: {\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.white,\n borderBottom: \"1px solid\",\n borderBottomColor: colors.stroke,\n },\n },\n titleAndAvatars: {\n display: \"flex\",\n [theme.breakpoints.down(\"xs\")]: {\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 0,\n },\n },\n })\n);\n","import React, { useState } from 'react';\nimport { Box, Divider, IconButton, List, ListItem, useTheme, useMediaQuery } from '@material-ui/core';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport moment from 'moment';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { useStyles } from \"../internalThreadComponent/internalThreadComponent.styles\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { ConversationAuthorModel, ConversationModelBaseView } from '../../models/conversation.models';\nimport { employeeTypesNames } from '../../../employee/models/employee.enums';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { conversationsService } from '../../services/conversations.service';\n\ninterface InternalThreadViewComponentProps {\n isLoadingMessages: boolean;\n messages: ConversationModelBaseView[];\n scrollToIndex?: number;\n participants: any[];\n author: ConversationAuthorModel;\n}\n\nexport const InternalThreadViewComponent: React.FC<InternalThreadViewComponentProps> = (props: InternalThreadViewComponentProps) => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n const {\n isLoadingMessages,\n messages,\n scrollToIndex = -1,\n participants,\n } = props;\n\n const [scrollTo, setScrollTo] = useState(null);\n\n\n const handleDownloadAttachment = (sid: string) => {\n const model = { mediaSid: sid }\n conversationsService.createMediaUrl(model).subscribe((data: string) => {\n window.open(data)\n })\n }\n\n if (scrollTo && scrollToIndex >= 1) {\n scrollTo.scrollIntoView();\n }\n\n const ref = (element) => setScrollTo(element);\n\n const renderMessages = (messages: any) => {\n if (messages && messages.length) {\n const items = messages.map(message => {\n const author = participants.find(x => x.vendorExternalIdentity === message.author);\n const messageIndex = message.index;\n \n return (\n [\n <>\n <div ref={messageIndex === scrollToIndex ? ref : null} />\n <ListItem key={messageIndex} id={`message-${messageIndex}`}>\n <Box id={`message-${messageIndex}`} px={!isSmallScreen && 4} width='100%' justifyContent='space-between' className={isSmallScreen ? \"wh-tw-flex\" : \"wh-tw-block\"}>\n <Box mt={2}>\n <Box className={classes.author}>\n <Box>\n {author ? `${author.firstName} ${author.lastName}` : 'The author is not specified.'}\n </Box>\n {isSmallScreen ?\n <Box display='flex' ml={2}>\n <Box className={classes.messageDate}>\n {`${moment(toCurrentTimeZone(message.dateCreated)).format('MMM D, yyyy')} ${moment(message.dateCreated).format('hh:mm a')}`}\n </Box>\n </Box>\n :\n <Box ml={1} className={classes.position}>\n {author && `- ${employeeTypesNames.get(author.type)}`}\n </Box>\n }\n </Box>\n <Box className={classes.message}>\n {\n message?.type === 'media'\n ? <Box display='flex' alignItems='center' className={classes.breakText}>\n <IconButton id=\"message-download-media\" className={classes.fileButton}\n onClick={() => handleDownloadAttachment(message.media[0].sid)} size='small'>\n <DescriptionIcon className={classes.fileIcon} />\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n \n <Box ml={1}>{message.media ? message.media[0].filename : message.body}</Box>\n </Box>\n : `${message.body}`\n }\n </Box>\n </Box>\n {!isSmallScreen &&\n <Box display='flex' >\n <Box className={classes.messageDate}>\n {`${moment(toCurrentTimeZone(message.dateCreated)).format('MMM D, yyyy')} ${moment(message.dateCreated).format('hh:mm a')}`}\n </Box>\n </Box>\n }\n </Box>\n </ListItem>\n </>,\n <Box mx={4}>\n <Divider className={classes.messageDivider} />\n </Box>\n ]\n )\n }).flat();\n \n items.pop();\n \n return items;\n } else {\n return (\n <Box height='100%' width=\"50vh\" margin=\"0 auto\">\n <MessagesPlaceHolder message=\"No messages yet.\" />\n </Box>\n )\n }\n }\n\n return (\n <List id='thread-list' className={classes.root}>\n <Box p={3} px={4} height='4px'>\n {isLoadingMessages && <WildHealthLinearProgress />}\n </Box>\n {!isLoadingMessages && renderMessages(messages)}\n </List>\n )\n};\n","import React from 'react';\nimport { Box, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport moment from \"moment\";\nimport clsx from \"clsx\";\nimport { ConversationAuthorModel, ConversationModelBase, EmployeeConversationParticipantModel } from \"../../models/conversation.models\";\nimport { useFacade } from \"./InternalConversationViewComponent.hooks\";\nimport { useStyles } from \"../conversationComponent/conversationComponent.styles\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { InternalThreadViewComponent } from \"../internalThreadViewComponent/InternalThreadViewComponent\";\n\n\ninterface InternalConversationComponentProps {\n conversation: ConversationModelBase;\n author: ConversationAuthorModel;\n threadHeight?: string;\n signedBy: EmployeeConversationParticipantModel;\n}\n\nexport const InternalConversationViewComponent: React.FC<InternalConversationComponentProps> = (props: InternalConversationComponentProps) => {\n const {\n conversation,\n author,\n threadHeight,\n signedBy,\n } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const [\n {\n isLoadingMessages,\n scrollToIndex,\n messages,\n },\n\n ] = useFacade(conversation);\n\n const displayName = (employee: EmployeeConversationParticipantModel): string => {\n return `${employee.firstName} ${employee.lastName}`;\n }\n\n const displayDate = (date: Date): string => {\n return date ? `on ${moment(toCurrentTimeZone(date)).format(\"MMM D, YYYY\")}` : '';\n }\n\n const displayDateTime = (date: Date): string => {\n return date ? `${moment(toCurrentTimeZone(date)).format(\"MMM D, YYYY h:mm a\")}` : '';\n }\n\n return (\n <>\n <Box\n id='thread'\n className={clsx(classes.thread, 'flat-scroll')}\n height={threadHeight}\n maxHeight={threadHeight}\n >\n <InternalThreadViewComponent\n isLoadingMessages={isLoadingMessages}\n messages={ messages }\n scrollToIndex={scrollToIndex}\n participants={[...conversation.employees.filter(i => !i.isDeleted), ...conversation.patients]}\n author={author}\n />\n </Box>\n {isSmallScreen ?\n <Box py={1} className=\"wh-tw-text-center wh-tw-bg-gray3\">\n <Box className=\"wh-tw-text-sm\">{`Signed off by ${displayName(signedBy)}.`}</Box>\n <Box className=\"wh-tw-text-xs\">{displayDateTime(signedBy.signDate)}</Box>\n </Box>\n :\n <Box className={classes.closedTicket}>\n {` This conversation has been signed off by ${displayName(signedBy)} ${displayDate(signedBy.signDate)}.`}\n </Box>\n }\n </>\n\n )\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { ConversationModelBaseView, EmployeeConversationModel } from \"../../models/conversation.models\";\nimport { conversationsViewService } from \"../../services/conversationsView.service\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\n\ninterface InternalChatComponentState {\n messages: ConversationModelBaseView[];\n isLoadingMessages: boolean;\n scrollToIndex: number;\n}\n\nexport function useFacade(targetConversation?: EmployeeConversationModel): [InternalChatComponentState] {\n const [state, setState] = useState({\n scrollToIndex: -1,\n messages: [],\n isLoadingMessages: true,\n } as InternalChatComponentState);\n\n\n useEffect(() => {\n setState(state => ({ ...state, isLoadingMessages: true }))\n const subscriptions: Subscription[] = [\n\n onEmit<any>(patientConversationsQuery.targetInternalConversation$, messages => {\n setState(state => ({ ...state, messages: messages }))\n }),\n ];\n\n if (targetConversation && targetConversation.vendorExternalId) {\n conversationsViewService.getAllMessagesInternal(targetConversation.vendorExternalId).subscribe(\n () => setState(state => ({ ...state, isLoadingMessages: false })),\n () => setState(state => ({ ...state, isLoadingMessages: false }))\n );\n } else {\n setState(state => ({ ...state, isLoadingMessages: false }))\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [targetConversation]);\n\n\n return [state];\n}\n","import React from \"react\";\nimport {\n Avatar,\n Box,\n List,\n ListItem,\n ListItemAvatar,\n useTheme,\n useMediaQuery,\n} from \"@material-ui/core\";\nimport { Member, useStyles } from \"./chatMembersComponent.styles\";\nimport clsx from \"clsx\";\n\nexport interface MemberViewModel {\n id?: number;\n image?: string;\n firstName: string;\n lastName: string;\n initials?: string;\n position?: string;\n}\n\ninterface ChatMembersComponentProps {\n members: MemberViewModel[];\n title?: string;\n}\n\nexport const ChatMembersComponent: React.FC<ChatMembersComponentProps> = (\n props: ChatMembersComponentProps\n) => {\n const { members, title } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n <Box>\n <Box className={classes.title}>{title ?? 'Chat Members'}</Box>\n <List className={clsx(\"flat-scroll\", classes.list)}>\n {members.map((item, index) => (\n <>\n <ListItem key={index} divider={isSmallScreen && index < members.length - 1}>\n <ListItemAvatar>\n <Avatar\n className={classes.avatar}\n variant=\"rounded\"\n src={item.image}\n >{`${item.initials}`}</Avatar>\n </ListItemAvatar>\n <Member\n primary={`${item.firstName} ${item.lastName}`}\n secondary={item.position}\n />\n </ListItem>\n </>\n ))}\n </List>\n </Box>\n );\n};\n","import React from 'react';\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { Box, Button, Divider, Tooltip, IconButton, Drawer, useTheme, useMediaQuery } from '@material-ui/core';\nimport MoreHorizIcon from \"@material-ui/icons/MoreHoriz\";\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { ReactComponent as AddIcon } from '@img/icons/Add.svg';\nimport { ReactComponent as ForwardIcon } from '@img/icons/ForwardIcon.svg';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { EmployeeConversationModel } from '../../models/conversation.models';\nimport { ConversationState } from '../../models/conversationState.models';\nimport { InternalConversationComponent } from \"../internalConversationComponent/InternalConversationComponent\";\nimport { MessageAvatarsComponent } from '../messageAvatarsComponent/MessageAvatarsComponent';\nimport { SelectUserDialogComponent } from '../selectUserDialogComponent/SelectUserDialogComponent';\nimport { useFacade } from './internalChatComponent.hooks';\nimport { useStyles } from './internalChatComponent.styles';\nimport { Gender } from '../../../common/models/user.models';\nimport { displayShortName } from '../../helpers/messages.converter';\nimport { InternalConversationViewComponent } from '../internalConversationViewComponent/InternalConversationViewComponent';\nimport { fullName } from '../../../common/helpers/display-name';\nimport { profileQuery } from '../../../account/stores/profileStore';\nimport { employeeTypesNames } from '../../../employee/models/employee.enums';\nimport { ChatMembersComponent } from '../chatMembersComponent/ChatMembersComponent';\n\ninterface InternalChatComponentProps {\n targetConversation?: EmployeeConversationModel;\n resetTargetConversation?: () => void;\n handleGoBack: () => void;\n}\n\nexport const InternalChatComponent: React.FC<InternalChatComponentProps> = (props: InternalChatComponentProps) => {\n const { targetConversation, handleGoBack } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const [\n {\n author,\n patient,\n isAddUserOpen,\n isSideAreaOpen,\n employees\n },\n signedBy,\n me,\n handleNavigateToPatient,\n handleToggleAddUser,\n handleAddUser,\n handleSignOff,\n handleToggleSideArea\n ] = useFacade(targetConversation);\n\n if (!targetConversation) {\n return <></>\n }\n const participants = targetConversation ? targetConversation.employees.filter(el => el.isActive && !el.isDeleted) : [];\n const forwardEnabledEmployees = participants.filter((i) => i.settings?.forwardEmployeeEnabled)\n\n const renderMobileSideArea = (className: string) => {\n const members = targetConversation\n ? participants\n .map((i) => ({\n image: profileQuery.getPhoto(i.employeeId),\n firstName: i.firstName,\n lastName: i.lastName,\n position: employeeTypesNames.get(i.type),\n initials: displayShortName(i.firstName, i.lastName),\n }))\n : [\n { firstName: \"Health\", lastName: \"Coach\", initials: \"HC\", position: \"Health Coach\" },\n { firstName: \"Provider\", lastName: \"\", initials: \"Pr\", position: \"Provider\" },\n ];\n const patient = targetConversation\n ? targetConversation.patients\n .map((i) => ({\n image: '',\n firstName: i.firstName,\n lastName: i.lastName,\n initials: displayShortName(i.firstName, i.lastName),\n }))\n : [\n { initials: \"P\", image: \"\", firstName: \"Patient\", lastName: \"\" },\n ];\n\n return (\n <Box className={className}>\n <Box className={classes.goBack}>\n <IconButton id=\"close-side-bar\" onClick={() => handleToggleSideArea(!isSideAreaOpen)}>\n <Box display=\"flex\" alignItems=\"center\">\n <ArrowBackIcon className=\"wh-tw-text-gray1\" />\n <Box ml={1} className=\"wh-tw-text-gray1 wh-tw-text-base\">Back</Box>\n </Box>\n </IconButton>\n </Box>\n <Box className={classes.header}>\n <Box mt={2} className={classes.titleAndAvatars}>\n <Box>\n <MessageAvatarsComponent\n participants={patient}\n size={isSmallScreen && 34}\n />\n </Box>\n <Box pl={1} className=\"wh-tw-font-medium wh-tw-text-lg wh-tw-pt-2.5\">\n {`${patient[0].firstName} ${patient[0].lastName}`}\n </Box>\n </Box>\n </Box>\n <Box px={2} width={1}>\n <ChatMembersComponent members={members} title=\"Active Users On Thread\" />\n\n {!signedBy && \n <>\n <Divider className=\"wh-tw-bg-stroke\" />\n <Box p={1} className=\"wh-tw-bg-white\">\n <Button id=\"internal-chat-add-user\" onClick={handleToggleAddUser}>\n <Box display='flex' alignItems='center'>\n <AddIcon />\n <Box ml={1} className={classes.addUser}>\n Add User\n </Box>\n </Box>\n </Button>\n </Box>\n </>\n }\n </Box>\n </Box>\n )\n }\n\n const renderHeaderArea = () => {\n const initials = participants.map(i => ({ image: profileQuery.getPhoto(i.employeeId), initials: displayShortName(i.firstName, i.lastName) }));\n const names = participants.map(i => `${i.firstName} ${i.lastName}`).join(', ');\n\n if (isSmallScreen) {\n return (\n <Box p={2} className={classes.header}>\n <Box\n display='flex'\n alignItems='flex-start'\n justifyContent='space-between'\n >\n <Box display='flex' ml={1}>\n <Box>\n <IconButton\n id=\"chat-list-go-back\"\n onClick={() => handleGoBack()}\n >\n <ChevronLeftIcon />\n </IconButton>\n </Box>\n <Box>\n <MessageAvatarsComponent participants={initials} size={32} />\n </Box>\n <Box ml={2}>\n <Box className={clsx('flat-scroll', classes.title)} title={names} mr={2}>\n {names}\n </Box>\n {patient &&\n <Box display='flex' className={classes.patientInfo}>\n <Box mr={1}>\n Patient:\n </Box>\n <Box id=\"internal-chat-to-patient\" className={classes.patientName} onClick={() => handleNavigateToPatient(patient.id)}>\n {`${patient.firstName} ${patient.lastName}`}\n </Box>\n </Box>\n }\n </Box>\n <Box>\n <IconButton\n id=\"attachment-views-open\"\n onClick={() => handleToggleSideArea(!isSideAreaOpen)}\n disabled={!targetConversation}\n >\n <MoreHorizIcon />\n </IconButton>\n </Box>\n </Box>\n </Box>\n\n <Box mt={2} width={1}>\n {\n targetConversation.state !== ConversationState.Closed && !me?.isSigned &&\n <WildHealthButton id=\"internal-chat-sign-off\" fullWidth color={signedBy && !me?.isSigned ? 'secondary' : 'primary'} onClick={() => handleSignOff()}>\n {signedBy && !me?.isSigned ? 'Acknowledge' : 'Sign Off'}\n </WildHealthButton>\n }\n </Box>\n \n <Drawer\n id=\"internal-chat-side-area-drawer\"\n anchor='right'\n open={isSideAreaOpen}\n onClose={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <Box className=\"wh-tw-bg-gray8 wh-tw-w-screen wh-tw-h-full\">\n {renderMobileSideArea(clsx('flat-scroll', classes.sideContainer))}\n </Box>\n </Drawer>\n </Box>\n )\n }\n\n return (\n <Box p={2} className={classes.header}>\n <Box\n display='flex'\n alignItems='flex-start'\n justifyContent='space-between'\n >\n <Box display='flex' ml={1}>\n <Box>\n <MessageAvatarsComponent participants={initials} />\n </Box>\n <Box ml={2} display='flex' justifyContent='center'>\n <Box className={clsx('flat-scroll', classes.title)} title={names} mr={2}>\n {names}\n </Box>\n {forwardEnabledEmployees.length > 0 &&\n <Tooltip\n placement=\"top\"\n arrow\n title={\n <Box>\n {forwardEnabledEmployees.map(function callback(item, index) {\n const forwardEmployee = employees.find(e => e.id === item.settings.forwardEmployeeId)\n if (item.settings.forwardEmployeeEnabled && forwardEmployee) {\n return (\n <p className={classes.notificationToolTipText} key={index}>All messages to {fullName(item)} are being forwarded to {fullName(forwardEmployee)}</p>\n );\n }\n })}\n </Box>\n }\n classes={customTooltipClasses}\n >\n <ForwardIcon />\n </Tooltip>\n }\n </Box>\n </Box>\n\n <Box display='flex' justifyContent='flex-end' minWidth={212}>\n {!signedBy && <Button id=\"internal-chat-add-user\" onClick={handleToggleAddUser}>\n <Box display='flex' alignItems='center'>\n <AddIcon />\n <Box ml={1} className={classes.addUser}>\n Add User\n </Box>\n </Box>\n </Button>}\n\n {\n targetConversation.state !== ConversationState.Closed && !me?.isSigned &&\n <Box ml={1}>\n <WildHealthButton id=\"internal-chat-sign-off\" onClick={() => handleSignOff()}>\n {signedBy && !me?.isSigned ? 'Acknowledge' : 'Sign Off'}\n </WildHealthButton>\n </Box>\n }\n </Box>\n </Box>\n\n {\n patient &&\n <Box display='flex' className={classes.patientInfo}>\n <Box mr={1}>\n Patient:\n </Box>\n <Box id=\"internal-chat-to-patient\" className={classes.patientName} onClick={() => handleNavigateToPatient(patient.id)}>\n {`${patient.firstName} ${patient.lastName}`}\n </Box>\n <Box mx={1}>\n {`(${Gender[patient.gender].slice(0, 1)})`}\n </Box>\n <Box mr={1}>\n {`D.O.B.: ${moment(patient.birthday).format('MM/DD/yyyy')}`}\n </Box>\n <Box>\n {`Phone: ${patient.phoneNumber}`}\n </Box>\n </Box>\n }\n </Box>\n )\n }\n\n const renderForwardingBanner = () => {\n if (!forwardEnabledEmployees.length) return <></>\n\n return (\n <Box position=\"relative\" width={1}>\n <Box position=\"absolute\" top={0} width={1} className=\"wh-tw-bg-average2Bg wh-tw-px-5 wh-tw-py-2.5 wh-tw-rounded-sm wh-tw-z-50\">\n {forwardEnabledEmployees.map(function callback(item, index) {\n const forwardEmployee = employees.find(e => e.id === item.settings.forwardEmployeeId)\n if (item.settings.forwardEmployeeEnabled && forwardEmployee) {\n return (\n <Box className=\"wh-tw-text-average1 wh-tw-text-sm wh-tw-ml-3.5\" key={index}>All messages to {fullName(item)} are being forwarded to {fullName(forwardEmployee)}</Box>\n );\n }\n })}\n </Box>\n </Box>\n )\n }\n\n return (\n <div className={classes.chat}>\n <div className={clsx('g', classes.messages)}>\n {renderHeaderArea()}\n\n <Divider className={classes.divider} orientation='horizontal' />\n {renderForwardingBanner()}\n {targetConversation.state !== ConversationState.Closed\n ? <InternalConversationComponent\n conversation={targetConversation}\n signedBy={signedBy}\n author={author}\n />\n : <InternalConversationViewComponent\n conversation={targetConversation}\n signedBy={signedBy}\n author={author}\n />}\n\n </div>\n\n <SelectUserDialogComponent\n isOpen={isAddUserOpen}\n title='Add User'\n message='Select User:'\n actionName='Add User'\n handleGetUsers={(search) => employeeService.getActive(search)}\n handleCancel={() => handleToggleAddUser()}\n handleSubmit={(id) => handleAddUser(id)}\n />\n </div>\n )\n};\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { ConversationAuthorModel, EmployeeConversationModel, EmployeeConversationParticipantModel } from \"../../models/conversation.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { EmployeeShortModel } from \"../../../employee/models/employee.models\";\nimport { employeesQuery } from \"../../../employee/stores/employeesStore\";\n\ninterface InternalChatComponentState {\n author: ConversationAuthorModel;\n patient: PatientModel;\n isAddUserOpen: boolean;\n isSideAreaOpen: boolean;\n employees: EmployeeShortModel[];\n}\n\nexport function useFacade(targetConversation?: EmployeeConversationModel): [InternalChatComponentState, EmployeeConversationParticipantModel, EmployeeConversationParticipantModel, (id: number) => void, () => void, (id: number) => void, () => void, (open: boolean) => void] {\n const [state, setState] = useState({\n author: null,\n patient: null,\n targetConversation: null,\n isAddUserOpen: false,\n isSideAreaOpen: false,\n employees: []\n } as InternalChatComponentState);\n\n const signedBy = targetConversation ? targetConversation.employees.find(i => i.isSigned && !i.isDeleted) : null;\n const me = targetConversation ? targetConversation.employees.find(i => i.email === authQuery.getEmail() && !i.isDeleted) : null;\n\n const history = useHistory();\n\n const handleNavigateToPatient = (id: number) => {\n navigationService.toNewTabManagePatientProfile(id);\n }\n\n const handleToggleAddUser = () => {\n setState(state => ({...state, isAddUserOpen: !state.isAddUserOpen}))\n }\n\n const handleAddUser = (id: number) => {\n const cb = () => setState(state => ({...state, isAddUserOpen: false}));\n conversationsService.addEmployeeToConversationModel({conversationId: targetConversation.id, employeeId: id}).subscribe(cb, cb);\n }\n\n const handleSignOff = () => {\n const sign = () => conversationsService.signOffConversation(targetConversation.id).subscribe(\n () => snackService.success(`The conversation has been ${signedBy && !me?.isSigned ? 'acknowledged' : 'signed off'}!`),\n () => snackService.error('Sign Off failed!')\n );\n\n const actionName = signedBy && !me?.isSigned ? 'Acknowledge' : 'Sign Off';\n confirmService.confirm(actionName, `Are You Sure You Want to ${actionName} this Conversation?`, actionName).subscribe(sign)\n }\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isSideAreaOpen: open });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient) {\n setState(state => ({...state, patient: targetPatient}))\n }\n }),\n onEmit<ConversationAuthorModel>(employeeConversationsQuery.author$, author =>\n setState(state => ({...state, author: author}))\n ),\n onEmit<EmployeeShortModel[]>(employeesQuery.employees$, employees =>\n setState(state => ({...state, employees}))\n ),\n ];\n\n if (targetConversation && targetConversation.patients?.length) {\n patientsService.get(targetConversation.patients[0].patientId, DataSpecificationsEnum.PatientUserSpecification);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [targetConversation]);\n\n return [state, signedBy, me, handleNavigateToPatient, handleToggleAddUser, handleAddUser, handleSignOff, handleToggleSideArea];\n}\n","import { Box, useMediaQuery, useTheme } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from './employeeConversationsComponent.styles';\nimport { useFacade } from './employeeConversationsComponent.hooks';\nimport { EmployeeMessagesTabsComponent } from '../employeeConversationsTabsComponent/EmployeeConversationsTabsComponent';\nimport { EmployeeChatComponent } from '../employeeChatComponent/EmployeeChatComponent';\nimport { InternalChatComponent } from '../internalChatComponent/InternalChatComponent';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { ConversationType } from '../../models/conversation.models';\nimport WarningRoundedIcon from '@material-ui/icons/WarningRounded';\n\ninterface EmployeeConversationsComponentProps {\n targetConversationId?: number;\n}\n\nexport const EmployeeConversationsComponent: React.FC<EmployeeConversationsComponentProps> = (props: EmployeeConversationsComponentProps) => {\n const classes = useStyles();\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n const [\n {\n targetConversation,\n forwardTurnOn,\n },\n handleGoBack,\n resetTargetConversation\n ] = useFacade();\n\n const renderChatsList = () => {\n return (\n <Box className={classes.chatList} hidden={isMiddleScreen && targetConversation !== null}>\n <EmployeeMessagesTabsComponent />\n </Box>\n )\n }\n\n const renderChat = () => {\n return (\n <Box className={classes.chatRoot}>\n {!isMiddleScreen && forwardTurnOn && \n <Box display=\"flex\" alignItems=\"center\" className=\"wh-tw-bg-average1 wh-tw-px-5 wh-tw-py-2.5 wh-tw-mb-3.5 wh-tw-w-fit wh-tw-rounded-sm\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" className=\"wh-tw-bg-white wh-tw-rounded-full wh-tw-p-0.5\" width=\"26px\" height=\"26px\"><WarningRoundedIcon className=\"wh-tw-text-average1 -wh-tw-mt-1\" /></Box>\n <Box className=\"wh-tw-text-white wh-tw-font-medium wh-tw-ml-3.5\">Your account has “message forwarding” turned on. Please go to message settings if you want to turn it off. </Box>\n </Box>\n }\n <Box className={classes.chat}>\n {\n targetConversation\n ? React.createElement(targetConversation.type === ConversationType.Internal ? InternalChatComponent : EmployeeChatComponent, { targetConversation: targetConversation, resetTargetConversation: resetTargetConversation, handleGoBack: handleGoBack })\n : <MessagesPlaceHolder message=\"Please select thread or start messaging.\" />\n }\n </Box>\n </Box>\n )\n }\n\n return (\n <Box display='flex' className={classes.root}>\n {renderChatsList()}\n {isMiddleScreen ? targetConversation && renderChat() : renderChat()}\n </Box>\n )\n};\n","import React from 'react';\nimport { useMediaQuery, useTheme } from '@material-ui/core';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { EmployeeConversationsComponent } from \"../../components/employeeConversationsComponent/EmployeeConversationsComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { isFeatureFlag } from \"../../../common/components/featureFlags/featureFlags\";\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nexport const EmployeeConversationsPage: React.FC = (props: any) => {\n const conversationId = Number(props?.location?.state?.conversationId);\n const featureFlags = useFlags();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n contentMargin={isSmallScreen ? '0px' : isFeatureFlag(featureFlags, FeatureFlag.Navigation) ? '30px 0 0 30px' : '30px 0 0 0'}\n displayChildren='flex'\n title={TitlesService.messagingTitle}\n pageName={PagesNamesService.messaging}\n selectedMenuItem={MenuItemTypes.Messaging}\n >\n <EmployeeConversationsComponent targetConversationId={conversationId} />\n </AuthenticatedLayoutComponent>\n )\n};\n","import { Button, Theme, withStyles } from \"@material-ui/core\";\n\nexport const BackButton = withStyles((theme: Theme) => ({\n root: {\n color: '#7C8A9D',\n textTransform: 'none',\n borderRadius: 2,\n '&:hover': {\n },\n '&:disabled': {\n color: '#7C8A9D99',\n },\n },\n}))(Button);\n\nexport const BackButtonDialog = withStyles((theme: Theme) => ({\n root: {\n textTransform: 'none',\n borderRadius: 2,\n '&:hover': {\n },\n '&:disabled': {\n color: '#7C8A9D99',\n },\n },\n}))(Button);\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16\n },\n },\n inputRoot: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n backButton: {\n backgroundColor: colors.bg\n },\n title: {\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n },\n content: {\n display: 'flex',\n justifyContent: 'center',\n backgroundColor: colors.white,\n height: '100%',\n padding: 16\n },\n contentItems: {\n maxWidth: 500,\n width: '100%',\n },\n sectionTitle: {\n color: colors.black,\n fontWeight: 500,\n fontSize: 16,\n marginRight:\"10px\"\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '300px',\n maxWidth: '300px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n","import Axios from 'axios-observable';\nimport {Observable} from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { API_URL } from \"../../../config\";\nimport { snackService } from '../../common/snack/state';\nimport { ConversationAwayMessageTemplateModel, CreateConversationAwayMessageTemplateModel, UpdateConversationAwayMessageTemplateModel } from '../../conversations/models/conversation.models';\nimport { EmployeeConversationsStore, employeeConversationsStore } from '../../conversations/stores/employeeConversationsStore/employeeConversations.store';\n\n\nexport class AwayMessageTemplatesService {\n private url = `${API_URL}ConversationAwayMessageTemplates`;\n\n constructor(private employeeConversationsStore: EmployeeConversationsStore) {\n }\n\n public getAllTemplates(): Observable<ConversationAwayMessageTemplateModel[]> {\n const config = {\n headers: authHeader()\n };\n return new Observable<ConversationAwayMessageTemplateModel[]>(observer => {\n Axios.get<ConversationAwayMessageTemplateModel[]>(`${this.url}/all`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.employeeConversationsStore.update({ awayMessageTemplates: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public createTemplate(model: CreateConversationAwayMessageTemplateModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success('Template successfully created');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updateTemplate(model: UpdateConversationAwayMessageTemplateModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success('Template successfully updated');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteBanner(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n snackService.success('Template successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const awayMessageTemplatesService = new AwayMessageTemplatesService(employeeConversationsStore);\n","import React, { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IPersonModel } from \"../../../common/models/user.models\";\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { MessageSettingsModel } from \"../../models/message.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\nimport { awayMessageTemplatesService } from \"../../../employee/services/awayMessageTemplates.service\";\nimport { ConversationAwayMessageTemplateModel } from \"../../models/conversation.models\";\nimport moment from \"moment\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\n\ninterface MessageSettingsComponentState {\n isLoading: boolean;\n templatesLoading: boolean;\n isChanged: boolean;\n isSubmitting: boolean;\n isUsersLoading: boolean;\n canSubmit: boolean;\n users: IPersonModel[];\n settings: MessageSettingsModel;\n templates: ConversationAwayMessageTemplateModel[];\n}\n\nconst defaultState: MessageSettingsComponentState = {\n isLoading: true,\n templatesLoading: true,\n isChanged: false,\n isSubmitting: false,\n isUsersLoading: false,\n canSubmit: false,\n users: [],\n settings: {\n awayMessageEnabled: false,\n forwardEmployeeEnabled: false,\n forwardEmployeeId: 0,\n awayMessageEnabledFrom: null,\n awayMessageEnabledTo: null,\n awayMessageTemplateId: 0,\n message: '',\n },\n templates: [],\n}\n\nexport function useFacade(): [\n MessageSettingsComponentState,\n (field: string, value: any) => void,\n (id: number) => void,\n (searchQuery: string) => void,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n () => void,\n () => void\n] {\n\n const [state, setState] = useState(defaultState);\n\n const handleChanges = (settings: MessageSettingsModel) => {\n const initSettings = employeeConversationsStore.getValue().messageSettings;\n\n for (const [key, value] of Object.entries(settings)) {\n if (value !== initSettings[key]) {\n return true;\n }\n }\n\n return false;\n }\n\n const handleChangeSectionState = (event: React.ChangeEvent<HTMLInputElement>) => {\n const settings = { ...state.settings, [event.target.name]: event.target.checked };\n\n setState(state => ({\n ...state,\n canSubmit: canSubmit(settings),\n settings,\n isChanged: handleChanges(settings)\n }));\n };\n\n const canSubmit = (settings: MessageSettingsModel) => {\n return (settings.awayMessageEnabled && !!settings.awayMessageTemplateId && !!settings.awayMessageEnabledFrom && !!settings.awayMessageEnabledTo)\n || (settings.forwardEmployeeEnabled && settings.forwardEmployeeId > 0)\n || !settings.forwardEmployeeEnabled\n }\n\n const handleUserSelect = (id: number) => {\n const settings = { ...state.settings, forwardEmployeeId: id };\n\n setState(state => ({\n ...state,\n canSubmit: canSubmit(settings),\n settings,\n isChanged: handleChanges(settings)\n }));\n }\n\n const handleUserSearch = (searchQuery: string) => {\n const settings = { ...state.settings, forwardEmployeeId: 0};\n setState(state => ({ ...state, canSubmit: canSubmit(settings), settings: settings, isUsersLoading: true}));\n \n const successCB = (employees) => setState(state => ({ ...state, isUsersLoading: false, users: employees }));\n const errorCB = () => setState(state => ({ ...state, isUsersLoading: false }));\n\n employeeService.getActive(searchQuery).subscribe(successCB, errorCB);\n }\n\n const handleCancel = () => {\n const settings = employeeConversationsStore.getValue().messageSettings;\n setState(state => ({ ...state, isChanged: false, settings }));\n }\n\n const handleParamChanges = (field: string, value: any) => {\n const settings = { ...state.settings, [field]: value };\n\n setState(state => ({\n ...state,\n canSubmit: canSubmit(settings),\n settings,\n isChanged: handleChanges(settings)\n }));\n }\n\n const handleSaveChanges = () => {\n setState(state => ({ ...state, isSubmitting: true }));\n const cb = () => setState(state => ({ ...state, isSubmitting: false, isChanged: false }));\n const errorCB = () => setState(state => ({ ...state, isSubmitting: false }));\n\n const updateSettingsModel = {\n awayMessageEnabled: state.settings.awayMessageEnabled,\n awayMessageEnabledFrom: moment(toCurrentTimeZone(state.settings.awayMessageEnabledFrom)).toDate(),\n awayMessageEnabledTo: moment(toCurrentTimeZone(state.settings.awayMessageEnabledTo)).toDate(),\n awayMessageTemplateId: state.settings.awayMessageTemplateId,\n forwardEmployeeEnabled: state.settings.forwardEmployeeEnabled,\n forwardEmployeeId: state.settings.forwardEmployeeId,\n }\n\n conversationsService.updateConversationsSettings(updateSettingsModel).subscribe(cb, errorCB);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<MessageSettingsModel>(employeeConversationsQuery.messageSettings$, settings =>\n setState(state => ({ ...state, settings }))\n ),\n onEmit<ConversationAwayMessageTemplateModel[]>(employeeConversationsQuery.awayMessageTemplates$, templates =>\n setState(state => ({ ...state, templates }))\n )\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n const templatesCb = () => setState(state => ({ ...state, templatesLoading: false }));\n\n employeeService.getActive().subscribe((employees) => {\n setState(state => ({ ...state, users: employees }));\n conversationsService.getConversationsSettings().subscribe(cb, cb);\n awayMessageTemplatesService.getAllTemplates().subscribe(templatesCb, templatesCb);\n }, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state,\n handleParamChanges,\n handleUserSelect,\n handleUserSearch,\n handleChangeSectionState,\n handleCancel,\n handleSaveChanges\n ];\n}\n","import {Switch, withStyles} from \"@material-ui/core\";\nimport { colors } from '../../../modules/common/constants/colors';\n\n\nexport const WildHealthSwitcher = withStyles({\n switchBase: {\n color: '#bbd4e3',\n '&$checked': {\n color: colors.main,\n },\n '&$checked + $track': {\n backgroundColor: colors.main,\n },\n },\n checked: {},\n track: {},\n})(Switch);","import { Box, FormControlLabel, Tooltip, FormControl, Select, MenuItem } from '@material-ui/core';\nimport React from 'react';\nimport { BackButton } from '../../../common/components/wildHealthButton/BackButton';\nimport { ArrowBack } from '@material-ui/icons';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useStyles } from './messageSettingsComponent.styles';\nimport { useFacade } from './messageSettingsComponent.hooks';\nimport { useHistory } from 'react-router';\nimport { SelectUserComponent } from '../../../common/components/selectUserComponent/SelectUserComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { WildHealthSwitcher } from '../../../common/components/WIldHealthSwitcher';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport information from \"@img/icons/information.svg\";\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\nimport moment from \"moment\";\nimport DateFnsUtils from '@date-io/moment';\nimport DateRangeIcon from '@material-ui/icons/DateRange';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\nexport const MessageSettingsComponent: React.FC = () => {\n const classes = useStyles();\n const history = useHistory();\n\n const [\n {\n isLoading,\n templatesLoading,\n isChanged,\n isSubmitting,\n isUsersLoading,\n users,\n canSubmit,\n settings: {\n awayMessageEnabled,\n forwardEmployeeEnabled,\n forwardEmployeeId,\n awayMessageEnabledFrom,\n awayMessageEnabledTo,\n awayMessageTemplateId,\n message,\n },\n templates,\n },\n handleParamChanges,\n handleUserSelect,\n handleUserSearch,\n handleChangeSectionState,\n handleCancel,\n handleSaveChanges,\n ] = useFacade();\n\n const loading = isLoading || templatesLoading;\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const getDate = (date) => {\n return date\n ? moment(toCurrentTimeZone(date)).format('YYYY-MM-DD')\n : null\n }\n\n const renderGoBack = () => {\n return (\n <Box\n className={classes.backButton}\n pb={2}\n >\n <BackButton\n id=\"message-settings-back\"\n onClick={() => navigationService.toConversations(history)}\n >\n <Box\n display=\"flex\"\n alignItems=\"center\"\n >\n <ArrowBack fontSize=\"small\" />\n <Box ml={1}>\n <span>Back to Chat</span>\n </Box>\n </Box>\n </BackButton>\n </Box>\n )\n }\n\n const renderContent = () => {\n return (\n <Box className={classes.content}>\n <Box className={classes.contentItems}>\n <Box>\n <Box>\n <Box display='flex' justifyContent='space-between'>\n <Box display='flex' alignItems='center'>\n <Box className={classes.sectionTitle}>\n Away Notification\n </Box>\n <Tooltip placement=\"top\" arrow title={'This will place a banner with your message for all of your patients to see.'}>\n <img src={information} alt=\"img\" />\n </Tooltip>\n </Box>\n <FormControlLabel\n control={<WildHealthSwitcher\n disabled={isSubmitting}\n checked={awayMessageEnabled}\n onChange={handleChangeSectionState}\n name='awayMessageEnabled'\n />}\n label=''\n />\n </Box>\n <Box>\n {\n awayMessageEnabled &&\n <Box mt={4}>\n <Box mt={1.5}>\n <FormControl\n variant=\"outlined\"\n color='primary'\n required\n size=\"small\"\n disabled={isSubmitting || templatesLoading}\n classes={{ root: classes.inputRoot }}\n fullWidth>\n <Box className=\"wh-tw-text-sm wh-tw-text-gray1\" mb={1}>Select Message Template</Box>\n <Select\n style={{ background: '#FFF' }}\n classes={{ root: classes.inputRoot }}\n value={awayMessageTemplateId}\n inputProps={{\n name: 'Away Message Template',\n id: 'template-title',\n classes,\n }}\n renderValue={() => {\n if (awayMessageTemplateId === null || !awayMessageTemplateId) {\n return <Box className=\"wh-tw-text-sm wh-tw-text-gray1\">Select Template</Box>;\n }\n \n return templates.find(x => x.id === awayMessageTemplateId)?.title\n }}\n displayEmpty\n onChange={(v) => handleParamChanges(\"awayMessageTemplateId\", v.target.value)}\n >\n {templates.map(template => (\n <MenuItem value={template.id} key={template.id}>{template.title}</MenuItem>\n ))}\n </Select>\n </FormControl>\n </Box>\n <Box mt={2} display=\"flex\" alignItems=\"center\" gridGap={16}>\n <Box flex={1}>\n <FormControl\n variant=\"outlined\"\n color='primary'\n required\n size=\"small\"\n disabled={isLoading}\n classes={{ root: classes.root }}\n fullWidth>\n <Box className=\"wh-tw-text-sm wh-tw-text-gray1\" mb={1}>Start Date</Box>\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <KeyboardDatePicker\n id={`awayMessageEnabledFrom`}\n fullWidth\n size=\"small\"\n required\n placeholder=\"Select date\"\n format=\"MMMM DD\"\n openTo=\"month\"\n value={getDate(awayMessageEnabledFrom)}\n helperText={null}\n inputVariant=\"outlined\"\n disabled={isLoading}\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleParamChanges(`awayMessageEnabledFrom`, momentDate === null ? \"\" : momentDate.startOf('day'))}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\",\n \"edge\": \"end\",\n }}\n keyboardIcon={<DateRangeIcon className=\"wh-tw-text-mediumGray\" />}\n minDate={new Date()}\n />\n </MuiPickersUtilsProvider>\n </FormControl>\n </Box>\n <Box flex={1}>\n <FormControl\n variant=\"outlined\"\n color='primary'\n required\n size=\"small\"\n disabled={isLoading}\n classes={{ root: classes.root }}\n fullWidth>\n <Box mb={1} display=\"flex\" alignItems=\"center\">\n <Box className=\"wh-tw-text-sm wh-tw-text-gray1\">Return Date</Box>\n <Tooltip placement=\"top\" arrow title={<p className={classes.notificationToolTipText}>Away message will no longer be active on this date</p>} classes={customTooltipClasses}>\n <img src={information} alt=\"img\" />\n </Tooltip>\n </Box>\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <KeyboardDatePicker\n id={`awayMessageEnabledTo`}\n fullWidth\n size=\"small\"\n required\n placeholder=\"Select date\"\n format=\"MMMM DD\"\n openTo=\"month\"\n value={getDate(awayMessageEnabledTo)}\n helperText={null}\n inputVariant=\"outlined\"\n disabled={isLoading}\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleParamChanges(`awayMessageEnabledTo`, momentDate === null ? \"\" : momentDate.endOf('day'))}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\",\n \"edge\": \"end\",\n }}\n keyboardIcon={<DateRangeIcon className=\"wh-tw-text-mediumGray\" />}\n minDate={new Date(awayMessageEnabledFrom)}\n />\n </MuiPickersUtilsProvider>\n </FormControl>\n </Box>\n </Box>\n {(message || awayMessageTemplateId) && (\n <Box mt={4}>\n <Box className=\"wh-tw-text-sm wh-tw-text-gray1\" mb={1}>Message Preview</Box>\n <Box className=\"wh-tw-bg-gray8\" py={1.5} px={2}>\n <Box className=\"wh-tw-text-black wh-tw-font-medium\">{templates.find(x => x.id === awayMessageTemplateId)?.title}</Box>\n <Box className=\"wh-tw-text-sm wh-tw-text-gray1 wh-tw-mt-1.5\">{awayMessageTemplateId ? templates.find(x => x.id === awayMessageTemplateId)?.body : message} Return Date - {awayMessageEnabledTo ? moment(awayMessageEnabledTo).format('M/D/YY') : 'M/D/YY'}. Away message will no longer be active on this date.</Box>\n </Box>\n </Box>\n )}\n </Box>\n }\n </Box>\n </Box>\n <Box mt={4}>\n <Box display='flex' justifyContent='space-between'>\n <Box display='flex' alignItems='center'>\n <Box className={classes.sectionTitle}>\n Message Forwarding\n </Box>\n <Tooltip placement=\"top\" arrow title={'This will forward all new message notifications to the selected user.'}>\n <img src={information} alt=\"img\" />\n </Tooltip>\n </Box>\n <FormControlLabel\n control={<WildHealthSwitcher\n disabled={isSubmitting}\n checked={forwardEmployeeEnabled}\n onChange={handleChangeSectionState}\n name='forwardEmployeeEnabled'\n />}\n label=''\n />\n </Box>\n <Box>\n {\n forwardEmployeeEnabled &&\n <SelectUserComponent\n placeholder='Select User'\n selectedUser={users.find(i => i.id === forwardEmployeeId)}\n users={users}\n disabled={!forwardEmployeeEnabled || isSubmitting}\n handleChange={(user) => handleUserSelect(user)}\n handleInputChange={handleUserSearch}\n isLoading={isUsersLoading}\n />\n }\n </Box>\n </Box>\n\n {\n isChanged &&\n <Box display='flex' justifyContent=\"flex-end\" mt={4}>\n <Box mr={1}>\n <WildHealthButton\n id=\"message-settings-cancel\"\n onClick={() => handleCancel()}\n disabled={isSubmitting}\n color=\"tertiary\"\n size=\"medium\"\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"message-settings-save\"\n onClick={() => handleSaveChanges()}\n loading={isSubmitting}\n disabled={isSubmitting || !canSubmit}\n size=\"medium\"\n >\n Save Changes\n </WildHealthButton>\n </Box>\n </Box>\n }\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box className={classes.root}>\n {renderGoBack()}\n {loading ? <Box p={3}><WildHealthLinearProgress /></Box> : renderContent()}\n </Box>\n )\n};\n","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { MessageSettingsComponent } from \"../../components/messageSettingsComponent/MessageSettingsComponent\";\n\nexport const MessageSettingsPage: React.FC = () => {\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n displayChildren='flex'\n title={TitlesService.messageSettingsTitle}\n pageName={PagesNamesService.messageSettings}\n selectedMenuItem={MenuItemTypes.Messaging}\n >\n <MessageSettingsComponent />\n </AuthenticatedLayoutComponent>\n )\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { ConversationAuthorModel, PatientConversationModel } from \"../../models/conversation.models\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { profileService } from \"../../../account/services/profile.service\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\n\ninterface FullHealthCareChatComponentState {\n isLoading: boolean;\n isSideAreaOpen: boolean;\n conversationProxies: any[];\n conversation: PatientConversationModel;\n author: ConversationAuthorModel;\n}\n\nlet stateContext: FullHealthCareChatComponentState = null;\n\nexport function useFacade(): [FullHealthCareChatComponentState, (open: boolean) => void] {\n const [state, setState] = useState({\n isLoading: true,\n isSideAreaOpen: false,\n conversationProxies: [],\n conversation: null,\n author: null,\n } as FullHealthCareChatComponentState);\n\n stateContext = state;\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isSideAreaOpen: open });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientConversationModel>(patientConversationsQuery.heathCareConversation$, conversation => {\n if (conversation) {\n if (!conversation.proxy) {\n conversation.proxy = stateContext.conversationProxies.find(proxy => proxy.sid === conversation.vendorExternalId);\n }\n setState(state => ({...state, conversation: conversation}));\n const employeeIds = conversation.employees.map(e => e.employeeId).join(',')\n profileService.getEmployeeProfilePhotos(employeeIds).subscribe()\n }\n }),\n onEmit<ConversationAuthorModel>(patientConversationsQuery.author$, author =>\n setState(state => ({...state,author: author}))\n ),\n onEmit<boolean>(patientConversationsQuery.isLoading$, isLoading => \n setState(state => ({ ...state, isLoading: isLoading })) \n ),\n ];\n employeeConversationsStore.resetAttachments();\n employeeConversationsStore.resetAttachmentsView();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleToggleSideArea];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n chat: {\n width: \"100%\",\n height: \"100%\",\n display: \"grid\",\n boxShadow: \"0px 7px 60px rgba(168, 173, 198, 0.12)\",\n background: colors.white,\n borderRadius: 2,\n\n gridTemplateAreas: '\"messages side\"',\n gridTemplateColumns: \"calc(100% - 325px) 325px\",\n [theme.breakpoints.between(\"sm\", \"md\")]: {\n gridTemplateColumns: \"100%\",\n gridTemplateAreas: '\"messages\"',\n },\n [theme.breakpoints.down(\"xs\")]: {\n gridTemplateAreas: `\"messages\"\n \"side\"`,\n gridTemplateColumns: \"100%\",\n background: \"transparent\",\n padding: \"0 16px\",\n },\n },\n header: {\n height: 70,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.down(\"xs\")]: {\n height: \"100%\",\n justifyContent: \"center\",\n },\n },\n titleAndAvatars: {\n display: \"flex\",\n gap: 16,\n [theme.breakpoints.down(\"xs\")]: {\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 0,\n },\n },\n side: {\n gridArea: \"side\",\n height: \"100%\",\n display: \"flex\",\n },\n sideMaxHeight: {\n maxHeight: \"calc(100vh - 226px)\",\n },\n sideContainer: {\n height: \"100%\",\n width: \"100%\",\n overflow: \"auto\",\n },\n messages: {\n gridArea: \"messages\",\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 226px) !important\",\n minHeight: 565,\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: 0,\n },\n },\n messagesContent: {\n [theme.breakpoints.down(\"xs\")]: {\n display: \"none\",\n },\n },\n thread: {\n flex: 1,\n minHeight: 200,\n height: \"calc(100vh - 398px)\",\n maxHeight: \"calc(100vh - 398px)\",\n overflow: \"auto\",\n },\n title: {\n display: \"flex\",\n alignItems: \"center\",\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 18,\n paddingTop: 25,\n },\n },\n titlePaddingTop: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: 10,\n },\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n sendMessage: {\n flexShrink: 0,\n },\n sideMobile: {\n width: 325,\n },\n icon: {\n stroke: colors.main,\n height: 26,\n width: 26,\n },\n goBack: {\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.white,\n borderBottom: \"1px solid\",\n borderBottomColor: colors.stroke,\n },\n },\n })\n);\n","export enum ConversationSubject {\n Billing = 1,\n TechSupport = 2,\n Scheduling = 3,\n PlanQuestions = 4,\n Feedback = 5,\n TestKits = 6,\n Other = 7,\n Labs = 100,\n ExercisePlan = 101,\n Nutrition = 102,\n LifestyleRoutines = 103,\n Mindfulness = 104,\n Sleep = 105,\n SupplementsMedications = 106\n}\n\nexport const supportConversationSubjects = new Map<ConversationSubject, string>([\n [ConversationSubject.Billing, 'Billing'],\n [ConversationSubject.TechSupport, 'Tech Support'],\n [ConversationSubject.Scheduling, 'Scheduling'],\n [ConversationSubject.PlanQuestions, 'Plan Questions'],\n [ConversationSubject.Feedback, 'Feedback'],\n [ConversationSubject.TestKits, 'DNA/Epigenetic Age Kits'],\n [ConversationSubject.Other, 'Other']\n]);\n\nexport const healthCareConversationSubjects = new Map<ConversationSubject, string>([\n [ConversationSubject.Labs, 'Labs'],\n [ConversationSubject.ExercisePlan, 'Exercise Plan'],\n [ConversationSubject.Nutrition, 'Nutrition'],\n [ConversationSubject.LifestyleRoutines, 'Lifestyle Routines'],\n [ConversationSubject.Mindfulness, 'Mindfulness'],\n [ConversationSubject.Sleep, 'Sleep'],\n [ConversationSubject.SupplementsMedications, 'Supplements/Medications'],\n]);","import { ReactComponent as OpenSideIcon } from \"@img/icons/OpenSide.svg\";\nimport {\n Box,\n Divider,\n Drawer,\n IconButton,\n useMediaQuery,\n useTheme,\n} from \"@material-ui/core\";\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport { useHistory } from \"react-router\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { MessagesPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder\";\nimport { employeeTypesNames } from \"../../../employee/models/employee.enums\";\nimport { displayShortName } from \"../../helpers/messages.converter\";\nimport { conversationTitles, ConversationType } from \"../../models/conversation.models\";\nimport { AttachmentsComponent } from \"../attachmentsComponent/AttachmentsComponent\";\nimport { ChatMembersComponent } from \"../chatMembersComponent/ChatMembersComponent\";\nimport { ConversationComponent } from \"../conversationComponent/ConversationComponent\";\nimport { MessageAvatarsComponent } from \"../messageAvatarsComponent/MessageAvatarsComponent\";\nimport { useFacade } from \"./fullHealthCareChatComponent.hooks\";\nimport { useStyles } from \"./fullHealthCareChatComponent.styles\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\n\nexport const FullHealthCareChatComponent: React.FC = () => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const history = useHistory();\n\n const [{ isLoading, isSideAreaOpen, conversation, author }, handleToggleSideArea] =\n useFacade();\n\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.between(\"sm\", \"md\"));\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderGoBack = () => {\n return (\n <Box className={classes.goBack}>\n <IconButton id=\"full-health-care-go-back\" onClick={() => navigationService.toConversations(history)}>\n <Box display=\"flex\" alignItems=\"center\">\n <ArrowBackIcon className={commonClasses.colorGray1} />\n <Box ml={1} className={clsx(commonClasses.size16, commonClasses.textRegular, commonClasses.colorGray1)}>Back</Box>\n </Box>\n </IconButton>\n </Box>\n );\n };\n\n const renderHeaderArea = () => {\n const defaultParticipants = [\n { image: \"\", initials: \"HC\" },\n { image: \"\", initials: \"Pr\" },\n ];\n\n const participantsInitials = conversation\n ? conversation.employees\n .filter((i) => i.isActive && !i.isDeleted)\n .map((i) => ({ image: profileQuery.getPhoto(i.employeeId), initials: displayShortName(i.firstName, i.lastName) }))\n : defaultParticipants;\n\n return (\n <Box className={classes.header}>\n <Box ml={!isSmallScreen && 3} mt={2} className={classes.titleAndAvatars}>\n <Box>\n <MessageAvatarsComponent\n participants={participantsInitials}\n size={isSmallScreen && 34}\n />\n </Box>\n <Box pl={1} className={clsx(classes.title, {\n [classes.titlePaddingTop]: participantsInitials.length == 1 && isSmallScreen,\n })}>\n {conversationTitles.get(ConversationType.HealthCare)}\n </Box>\n </Box>\n {isMiddleScreen && (\n <Box ml={2}>\n <IconButton\n id=\"full-health-care-side-area\"\n onClick={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <OpenSideIcon className={classes.icon} />\n </IconButton>\n <Drawer\n anchor=\"right\"\n open={isSideAreaOpen}\n onClose={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <Box className={classes.sideMobile}>{renderSideArea}</Box>\n </Drawer>\n </Box>\n )}\n </Box>\n );\n };\n\n const renderSideArea = (className: any) => {\n const members = conversation\n ? conversation.employees\n .filter((i) => i.isActive && !i.isDeleted)\n .map((i) => ({\n image: profileQuery.getPhoto(i.employeeId),\n firstName: i.firstName,\n lastName: i.lastName,\n position: employeeTypesNames.get(i.type),\n initials: displayShortName(i.firstName, i.lastName),\n }))\n : [\n {\n firstName: \"Health\",\n lastName: \"Coach\",\n initials: \"HC\",\n position: \"Health Coach\",\n },\n { firstName: \"Provider\", lastName: \"\", initials: \"Pr\", position: \"Provider\" },\n ];\n\n return (\n <Box className={className}>\n <ChatMembersComponent members={members} />\n\n <Divider className={classes.divider} orientation=\"horizontal\" />\n\n <AttachmentsComponent />\n </Box>\n );\n };\n\n const renderContent = () => {\n return conversation.employees?.length ? (\n <ConversationComponent\n conversation={conversation}\n author={author}\n threadHeight=\"calc(100vh - 247px)\"\n />\n ) : (\n <MessagesPlaceHolder message=\"Health Care conversation will become available when your health team has been assigned.\" />\n );\n };\n\n return (\n <Box className={classes.root}>\n {renderGoBack()}\n\n <div className={classes.chat}>\n {isSmallScreen && renderHeaderArea()}\n <div className={clsx(\"g\", classes.messages, classes.messagesContent)}>\n {renderHeaderArea()}\n <Divider className={classes.divider} orientation='horizontal' />\n {!isLoading && !conversation ? (\n <MessagesPlaceHolder message=\"Health Care conversation will become available when your health team has been assigned.\" />\n ) : isLoading ? (\n <Box p={3}>\n <WildHealthLinearProgress />\n </Box>\n ) : (\n renderContent()\n )}\n </div>\n {!isMiddleScreen && (\n <div className={clsx(\"g\", classes.side)}>\n {!isSmallScreen && (\n <Divider className={classes.divider} orientation=\"vertical\" />\n )}\n {renderSideArea(\n clsx(\"flat-scroll\", classes.sideContainer, classes.sideMaxHeight)\n )}\n </div>\n )}\n </div>\n </Box>\n );\n};\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n },\n chat: {\n width: \"100%\",\n height: \"100%\",\n display: \"grid\",\n boxShadow: \"0px 7px 60px rgba(168, 173, 198, 0.12)\",\n background: colors.white,\n borderRadius: 2,\n\n gridTemplateAreas: '\"messages side\"',\n gridTemplateColumns: \"calc(100% - 325px) 325px\",\n [theme.breakpoints.between(\"sm\", \"md\")]: {\n gridTemplateColumns: \"100%\",\n gridTemplateAreas: '\"messages\"',\n },\n },\n header: {\n height: 70,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n [theme.breakpoints.down(\"xs\")]: {\n height: \"100%\",\n justifyContent: \"center\",\n },\n },\n titleAndAvatars: {\n display: \"flex\",\n gap: 16,\n [theme.breakpoints.down(\"xs\")]: {\n flexDirection: \"column\",\n alignItems: \"center\",\n gap: 10,\n },\n },\n side: {\n gridArea: \"side\",\n height: \"100%\",\n display: \"flex\",\n [theme.breakpoints.down(\"xs\")]: {\n flexDirection: \"column\",\n },\n },\n sideContainer: {\n height: \"100%\",\n width: \"100%\",\n overflow: \"auto\",\n },\n messages: {\n gridArea: \"messages\",\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 226px) !important\",\n minHeight: 565,\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: 0,\n },\n },\n messageContent: {\n [theme.breakpoints.down(\"xs\")]: {\n display: \"none\",\n },\n },\n thread: {\n flex: 1,\n minHeight: 200,\n height: \"calc(100vh - 398px)\",\n maxHeight: \"calc(100vh - 398px)\",\n overflow: \"auto\",\n },\n title: {\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 18,\n },\n },\n subject: {\n fontSize: 12,\n color: colors.gray2,\n },\n newMessage: {\n maxHeight: \"calc(100vh - 260px)\",\n minHeight: 490,\n overflow: \"auto\",\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n sendMessage: {\n flexShrink: 0,\n },\n sideMobile: {\n width: 325,\n },\n icon: {\n stroke: colors.main,\n height: 26,\n width: 26,\n },\n\n historyTitle: {\n color: colors.gray1,\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 12,\n textTransform: \"uppercase\",\n },\n historyItem: {\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"space-between\",\n background: colors.white,\n borderRadius: 2,\n boxShadow: \"0px 7px 60px rgba(168, 173, 198, 0.12)\",\n padding: \"10px 18px\",\n },\n historyItemContent: {\n display: \"flex\",\n alignItems: \"center\",\n },\n historyContext: {\n paddingLeft: 12,\n color: colors.black,\n fontSize: 16,\n fontWeight: 400,\n },\n historyGoBackTitle: {\n color: colors.black,\n fontWeight: 500,\n fontSize: 16,\n },\n goBack: {\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.white,\n borderBottom: \"1px solid\",\n borderBottomColor: colors.stroke,\n position: \"relative\",\n },\n },\n placeholderImage: {\n width: \"100%\",\n maxWidth: 300,\n },\n subjectSection: {\n zIndex: 1000,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n width: \"100%\",\n boxShadow: '0px 3px 6px rgba(0, 0, 0, 0.25)',\n backgroundColor: colors.white,\n fontSize: 14,\n fontWeight: 400,\n color: colors.black,\n padding: 12,\n bottom: -45,\n },\n subjectTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n marginLeft: 4,\n }\n })\n);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {\n ConversationAuthorModel,\n PatientConversationModel,\n StartPatientSupportConversation,\n} from \"../../models/conversation.models\";\nimport {\n ConversationSubject,\n supportConversationSubjects,\n} from \"../../models/conversationSubject.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { patientConversationsStore } from \"../../stores/patientConversationsStore/patientConversations.store\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\n\nexport enum FullStaffChatComponentView {\n NewTicket,\n SelectedConversation,\n}\n\ninterface FullStaffChatComponentState {\n isSideAreaOpen: boolean;\n isLoading: boolean;\n creatingTicket: boolean;\n isUpdateMessageHistory: boolean;\n view: FullStaffChatComponentView;\n author: ConversationAuthorModel;\n conversationProxies: any[];\n conversations: PatientConversationModel[];\n targetConversation: PatientConversationModel;\n showHistoryComponent: boolean;\n}\n\nlet stateContext: FullStaffChatComponentState = null;\n\nexport function useFacade(): [\n FullStaffChatComponentState,\n (open: boolean) => void,\n () => void,\n (subject: ConversationSubject) => void,\n (conversation: PatientConversationModel) => void,\n (status: boolean) => void\n] {\n const [state, setState] = useState({\n isSideAreaOpen: false,\n isLoading: true,\n creatingTicket: false,\n isUpdateMessageHistory: false,\n view: FullStaffChatComponentView.NewTicket,\n author: null,\n targetConversation: null,\n conversationProxies: [],\n conversations: [],\n showHistoryComponent: false,\n } as FullStaffChatComponentState);\n\n stateContext = state;\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isSideAreaOpen: open });\n };\n\n const handleShowHistoryComponent = (status: boolean) => {\n setState({\n ...state,\n showHistoryComponent: status,\n view: FullStaffChatComponentView.NewTicket,\n });\n };\n\n const handleStartConversation = (subject: ConversationSubject) => {\n const model: StartPatientSupportConversation = {\n subject: supportConversationSubjects.get(subject),\n };\n\n setState((state) => ({ ...state, creatingTicket: true }));\n employeeConversationsStore.resetAttachments();\n employeeConversationsStore.resetAttachmentsView();\n conversationsService\n .startPatientSupportConversations(model)\n .subscribe((conversation) => {\n patientConversationsStore.setTargetConversation(conversation);\n\n setState((state) => ({\n ...state,\n view: FullStaffChatComponentView.SelectedConversation,\n creatingTicket: false,\n isUpdateMessageHistory: !state.isUpdateMessageHistory,\n }));\n });\n };\n\n const handleCreateNewTicket = () => {\n patientConversationsStore.setTargetConversation(null);\n };\n\n const handleSelectConversation = (conversation: PatientConversationModel) => {\n patientConversationsStore.setTargetConversation(conversation);\n setTimeout(() => {\n employeeConversationsStore.resetAttachments();\n employeeConversationsStore.resetAttachmentsView();\n }, 1);\n\n setState(state => ({\n ...state,\n view: FullStaffChatComponentView.SelectedConversation,\n }));\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientConversationModel>(patientConversationsQuery.targetConversation$, conversation => {\n if (conversation) {\n if (!conversation.proxy) {\n conversation.proxy = stateContext.conversationProxies.find(proxy => proxy.sid === conversation.vendorExternalId);\n }\n setState(state => ({ ...state, targetConversation: conversation, view: FullStaffChatComponentView.SelectedConversation }));\n } else {\n setState(state => ({ ...state, view: FullStaffChatComponentView.NewTicket }));\n }\n }),\n onEmit<ConversationAuthorModel>(patientConversationsQuery.author$, author =>\n setState(state => ({ ...state, author: author }))\n ),\n onEmit<PatientConversationModel[]>(patientConversationsQuery.supportConversations$, conversations =>\n setState(state => ({ ...state, conversations }))\n ),\n onEmit<boolean>(patientConversationsQuery.isLoading$, isLoading => {\n setState(state => ({... state, isLoading: isLoading}))\n })\n ];\n employeeConversationsStore.resetAttachments();\n employeeConversationsStore.resetAttachmentsView();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [state.isUpdateMessageHistory]);\n\n return [state, handleToggleSideArea, handleCreateNewTicket, handleStartConversation, handleSelectConversation, handleShowHistoryComponent];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n container: {\n [theme.breakpoints.down(\"xs\")]: {\n boxShadow: \"0px -5px 9px rgba(168, 173, 198, 0.1)\",\n borderRadius: \"6px 6px 0px 0px\",\n },\n },\n subjectItem: {\n background: colors.gray3,\n [theme.breakpoints.down(\"xs\")]: {\n backgroundColor: colors.white,\n fontSize: 14,\n \".MuiListItem-divider\": {\n borderBottomColor: colors.separators,\n },\n \"& span\": {\n textAlign: \"center\",\n width: \"100%\",\n },\n },\n },\n })\n);\n","var _circle;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgStepActive = function SvgStepActive(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 7,\n cy: 7,\n r: 5.5,\n fill: \"white\",\n stroke: \"#1F72A2\",\n strokeWidth: 3\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStepActive, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/stepActive.d1bb8022.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { Box, List, ListItem } from \"@material-ui/core\";\nimport { ConversationSubject } from \"../../models/conversationSubject.models\";\nimport { useStyles } from \"./selectConversationSubjectComponent.styles\";\n\ninterface SelectConversationSubjectComponentProps {\n subjects: Map<ConversationSubject, string>;\n disabled?: boolean;\n handleSelect: (ConversationSubject) => void;\n}\n\nexport const SelectConversationSubjectComponent: React.FC<\n SelectConversationSubjectComponentProps\n> = (props: SelectConversationSubjectComponentProps) => {\n const classes = useStyles();\n const { subjects, disabled, handleSelect } = props;\n\n return (\n <Box>\n <List className={classes.container}>\n {Array.from(subjects).map(([subject, title], index) => {\n return (\n <ListItem\n id={`select-conversation-${title}`}\n key={index}\n button\n disabled={disabled}\n className={classes.subjectItem}\n onClick={() => handleSelect(subject)}\n divider={index < Array.from(subjects).length - 1}\n >\n <span>{title}</span>\n </ListItem>\n );\n })}\n </List>\n </Box>\n );\n};\n","import { Badge } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flex: 1,\n minHeight: 387,\n overflow: \"auto\",\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: \"auto\",\n \"& .MuiStepper-root\": {\n padding: \"16px 0 0 0\",\n },\n },\n },\n step: {\n padding: 5,\n },\n stepBorder: {\n marginBottom: 16,\n borderBottom: `1px solid ${colors.separators}`,\n },\n stepSelected: {\n background: colors.lightGray,\n },\n subjectItem: {\n background: colors.gray3,\n marginBottom: \"0.25rem\",\n },\n statusDate: {\n fontWeight: \"normal\",\n fontSize: 14,\n paddingTop: 5,\n paddingRight: 5,\n color: colors.gray1,\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n icon: {\n fill: colors.main,\n },\n closedIcon: {\n fill: colors.main,\n marginTop: 8,\n marginRight: 8\n },\n historyTitle: {\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 18,\n color: colors.black,\n paddingLeft: 24,\n [theme.breakpoints.down(\"xs\")]: { fontSize: 16, paddingLeft: 0 },\n },\n activeIcon: {\n stroke: colors.main,\n height: 18,\n width: 18,\n marginTop: 8,\n marginRight: 8\n },\n stepLabelRoot: {\n alignItems: \"initial\"\n },\n historyButton: {\n width: \"fit-content\",\n cursor: \"pointer\",\n gridGap: 10,\n marginTop: 4\n }\n })\n);\n\nexport const UnreadMessages = withStyles((theme: Theme) => ({\n root: {\n \"& .MuiBadge-badge\": {\n background: colors.main,\n color: colors.white,\n },\n },\n}))(Badge);\n","import {\n Box,\n ListItem,\n Step,\n StepIconProps,\n StepLabel,\n Stepper,\n Collapse\n} from \"@material-ui/core\";\nimport React, { useMemo } from \"react\";\nimport { PatientConversationModel } from \"../../../models/conversation.models\";\nimport { useStyles } from \"../staffConversationsHistoryComponent.styles\";\nimport moment from \"moment\";\nimport { ConversationState } from \"../../../models/conversationState.models\";\nimport { WildHealthStatusLabel } from \"../../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { handleCompare } from \"../../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../../common/sorting/models/sorting-destination\";\nimport clsx from \"clsx\";\nimport CheckIcon from \"@material-ui/icons/Check\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\nimport { ReactComponent as Active } from \"@img/stepperIcons/stepActive.svg\";\nimport { toCurrentTimeZone } from \"../../../../timezones/helpers/timezone\";\n\ninterface CollapseHistoryComponentProps {\n conversations: PatientConversationModel[];\n targetConversation?: PatientConversationModel;\n isOpenCollapse?: boolean;\n isClosed?: boolean;\n handleSelect: (PatientConversationModel) => void;\n}\n\nexport const CollapseHistoryComponent: React.FC<\n CollapseHistoryComponentProps\n> = (props: CollapseHistoryComponentProps) => {\n const classes = useStyles();\n const { conversations, targetConversation, handleSelect, isOpenCollapse, isClosed } = props;\n\n const filteredConversations = useMemo(() => {\n if (!conversations?.length) {\n return [];\n } else {\n const conversationsSorting = !isClosed \n ? conversations.filter(x => x.state !== ConversationState.Closed).sort((a, b) => \n handleCompare(a, b, SortingDirection.Asc, \"startDate\")\n )\n : conversations.filter(x => x.state === ConversationState.Closed).sort((a, b) => \n handleCompare(a, b, SortingDirection.Asc, \"startDate\")\n );\n return conversationsSorting;\n }\n }, [conversations]);\n\n const renderStepIcon = (isActive: boolean) => {\n return (props: StepIconProps) =>\n isActive ? <Active className={classes.activeIcon} /> : <CheckCircleIcon className={classes.closedIcon} />;\n };\n\n return (\n <Collapse in={isOpenCollapse} timeout=\"auto\" unmountOnExit>\n <Stepper connector={<></>} orientation=\"vertical\">\n {filteredConversations.map((conversation, index) => {\n const isActive = conversation.state !== ConversationState.Closed;\n const selected = conversation.id === targetConversation?.id;\n const isLast = index !== filteredConversations.length - 1;\n\n return (\n <Step key={index} active={isActive}>\n <StepLabel StepIconComponent={renderStepIcon(isActive)} className={classes.stepLabelRoot}>\n <ListItem\n id={`staff-conversations-history-select-${conversation.id}`}\n className={clsx(classes.step, {\n [classes.stepSelected]: selected,\n [classes.stepBorder]: isLast,\n })}\n button\n onClick={() => handleSelect(conversation)}\n >\n <Box display=\"flex\" justifyContent=\"space-between\" flexWrap=\"wrap\" width={1}>\n <Box>\n <WildHealthStatusLabel color={isActive ? \"success\" : \"neutral\"}>\n {`Subject: ${conversation.subject}`}\n </WildHealthStatusLabel>\n <Box\n pt={1}\n pb={1.5}\n display=\"flex\"\n flexDirection=\"column\"\n justifyContent=\"space-between\"\n >\n <span className={classes.statusDate}>\n {`Started: (${moment(\n toCurrentTimeZone(conversation.startDate)\n ).format(\"MMMM DD, yyyy\")})`}\n </span>\n {!isActive && (\n <span className={classes.statusDate}>\n {`Closed: (${moment(\n toCurrentTimeZone(conversation.stateChangeDate)\n ).format(\"MMMM DD, yyyy\")})`}\n </span>\n )}\n </Box>\n </Box>\n <Box>\n <Box display=\"flex\" alignItems=\"center\" gridGap={4}>\n {conversation?.unreadMessages > 0 && (\n <WildHealthStatusLabel color=\"bad\" borderRadius={50}>\n {`${conversation.unreadMessages} New Messages`}\n </WildHealthStatusLabel>\n )}\n {selected ? (\n <CheckIcon\n fontSize=\"small\"\n className={classes.icon}\n data-testid=\"selected\"\n />\n ) : (\n <ChevronRightIcon fontSize=\"small\" data-testid=\"unselected\" />\n )}\n </Box>\n </Box>\n </Box>\n </ListItem>\n </StepLabel>\n </Step>\n );\n })}\n </Stepper>\n </Collapse>\n );\n};\n","import { Badge } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n flex: 1,\n overflow: \"auto\",\n \"& .MuiStepper-root\": {\n padding: \"16px 0 0 0\",\n },\n },\n stepper: {\n \"& .MuiStepConnector-lineVertical\": {\n display: \"none\",\n },\n },\n step: {\n \"&.MuiStepContent-root\": {\n paddingLeft: 0,\n paddingBottom: 4,\n marginLeft: 8,\n border: 0\n },\n },\n stepBorder: {\n borderBottom: `1px solid ${colors.separators}`,\n },\n stepSelected: {\n background: colors.lightGray,\n },\n item: {\n display: \"flex\",\n justifyContent: \"space-between\",\n },\n subjectItem: {\n background: colors.gray3,\n marginBottom: \"0.25rem\",\n },\n stepLabel: {\n \"&.MuiStepLabel-root\": {\n alignItems: \"flex-start\",\n },\n },\n statusDateContainer: {\n display: \"flex\",\n flexDirection: 'column',\n justifyContent: \"space-between\",\n },\n statusDate: {\n fontWeight: \"normal\",\n fontSize: 12,\n paddingRight: 5,\n color: colors.gray1,\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n checkIcon: {\n fill: colors.main,\n height: 18,\n width: 18,\n },\n activeIcon: {\n stroke: colors.main,\n height: 18,\n width: 18,\n },\n historyTitle: {\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 16,\n color: colors.black,\n paddingLeft: 0,\n },\n historyButton: {\n width: \"fit-content\",\n cursor: \"pointer\",\n gridGap: 10\n }\n })\n);\n\nexport const UnreadMessages = withStyles((theme: Theme) => ({\n root: {\n \"& .MuiBadge-badge\": {\n background: colors.bad,\n color: colors.white,\n },\n },\n}))(Badge);\n","import {\n Box,\n ListItem,\n Step,\n StepIconProps,\n StepLabel,\n Stepper,\n StepContent,\n Collapse\n} from \"@material-ui/core\";\nimport React, { useMemo } from \"react\";\nimport { PatientConversationModel } from \"../../../models/conversation.models\";\nimport { useStyles, UnreadMessages } from \"./mobileCollapseHistoryComponent.styles\";\nimport moment from \"moment\";\nimport { ConversationState } from \"../../../models/conversationState.models\";\nimport { WildHealthStatusLabel } from \"../../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { handleCompare } from \"../../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../../common/sorting/models/sorting-destination\";\nimport clsx from \"clsx\";\nimport CheckIcon from \"@material-ui/icons/Check\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport { ReactComponent as Active } from \"@img/stepperIcons/stepActive.svg\";\nimport { toCurrentTimeZone } from \"../../../../timezones/helpers/timezone\";\n\ninterface CollapseHistoryComponentProps {\n conversations: PatientConversationModel[];\n targetConversation?: PatientConversationModel;\n height?: string;\n handleSelect: (PatientConversationModel) => void;\n isOpenCollapse?: boolean;\n isClosed?: boolean;\n}\n\nexport const MobileCollapseComponent: React.FC<\n CollapseHistoryComponentProps\n> = (props: CollapseHistoryComponentProps) => {\n const classes = useStyles();\n const { conversations, targetConversation, handleSelect, isOpenCollapse, isClosed } = props;\n\n const filteredConversations = useMemo(() => {\n if (!conversations?.length) {\n return [];\n } else {\n const conversationsSorting = !isClosed \n ? conversations.filter(x => x.state !== ConversationState.Closed).sort((a, b) => \n handleCompare(a, b, SortingDirection.Asc, \"startDate\")\n )\n : conversations.filter(x => x.state === ConversationState.Closed).sort((a, b) => \n handleCompare(a, b, SortingDirection.Asc, \"startDate\")\n );\n return conversationsSorting;\n }\n }, [conversations]);\n\n const renderStepIcon = (isActive: boolean) => {\n return (props: StepIconProps) =>\n isActive ? <Active className={classes.activeIcon} /> : <CheckCircleIcon className={classes.checkIcon} />;\n };\n\n return (\n <Collapse in={isOpenCollapse} timeout=\"auto\" unmountOnExit>\n <Stepper orientation=\"vertical\" className={classes.stepper}>\n {filteredConversations.map((conversation, index) => {\n const isActive = conversation.state !== ConversationState.Closed;\n const selected = conversation.id === targetConversation?.id;\n const isLast = index !== filteredConversations.length - 1;\n\n return (\n <Step key={index} active={true} onClick={() => handleSelect(conversation)}>\n <StepLabel StepIconComponent={renderStepIcon(isActive)}>\n <Box display=\"flex\" justifyContent=\"space-between\" width={1}>\n <Box>\n <UnreadMessages badgeContent={conversation.unreadMessages}>\n <WildHealthStatusLabel\n color={selected ? \"selected\" : isActive ? \"good\" : \"neutral\"}\n >\n {`Subject: ${conversation.subject}`}\n </WildHealthStatusLabel>\n </UnreadMessages>\n </Box>\n </Box>\n </StepLabel>\n <StepContent className={classes.step}>\n <ListItem\n id={`staff-conversations-history-select-${conversation.id}`}\n className={clsx(classes.item, {\n [classes.stepSelected]: selected,\n [classes.stepBorder]: isLast,\n })}\n button\n >\n <Box className={classes.statusDateContainer}>\n <span className={classes.statusDate}>\n {`Started: (${moment(\n toCurrentTimeZone(conversation.startDate)\n ).format(\"MMMM DD, yyyy\")})`}\n </span>\n {!isActive && (\n <span className={classes.statusDate}>\n {`Closed: (${moment(\n toCurrentTimeZone(conversation.stateChangeDate)\n ).format(\"MMMM DD, yyyy\")})`}\n </span>\n )}\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n {selected && (\n <CheckIcon\n fontSize=\"small\"\n className={classes.checkIcon}\n data-testid=\"selected\"\n />\n )}\n </Box>\n </ListItem>\n </StepContent>\n </Step>\n );\n })}\n </Stepper>\n </Collapse>\n );\n};\n","import React, { useState } from \"react\";\nimport { Box, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { PatientConversationModel } from \"../../models/conversation.models\";\nimport { useStyles } from \"./staffConversationsHistoryComponent.styles\";\nimport clsx from \"clsx\";\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport { CollapseHistoryComponent } from \"./components/CollapseHistoryComponent\";\nimport { MobileCollapseComponent } from \"./components/MobileCollapseHistoryComponent\";\n\ninterface StaffConversationsHistoryComponentProps {\n conversations: PatientConversationModel[];\n targetConversation?: PatientConversationModel;\n height?: string;\n handleSelect: (PatientConversationModel) => void;\n}\n\ninterface StaffChatComponentState {\n activeTicketsIsOpen: boolean;\n closedTicketsIsOpen: boolean;\n}\n\nexport const StaffConversationsHistoryComponent: React.FC<\n StaffConversationsHistoryComponentProps\n> = (props: StaffConversationsHistoryComponentProps) => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const { conversations, targetConversation, height, handleSelect } = props;\n\n const [state, setState] = useState({\n activeTicketsIsOpen: true,\n closedTicketsIsOpen: true,\n } as StaffChatComponentState);\n \n const handleToggleActiveTickets = () => {\n setState(state => ({ ...state, activeTicketsIsOpen: !state.activeTicketsIsOpen }))\n }\n \n const handleToggleClosedTickets = () => {\n setState(state => ({ ...state, closedTicketsIsOpen: !state.closedTicketsIsOpen }))\n }\n\n return (\n <Box className={clsx(classes.root, \"flat-scroll\")} height={height} maxHeight={height} pb={isSmallScreen && 2}>\n <Box display=\"flex\" alignItems=\"center\" className={classes.historyButton} onClick={() => handleToggleActiveTickets()}>\n <Box className={classes.historyTitle}>Open Tickets</Box>\n {state.activeTicketsIsOpen ? <ExpandLess /> : <ExpandMore />}\n </Box>\n <Box mb={2}>\n {isSmallScreen ? (\n <MobileCollapseComponent\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={handleSelect}\n isOpenCollapse={state.activeTicketsIsOpen}\n isClosed={false}\n />\n ) : (\n <CollapseHistoryComponent\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={handleSelect}\n isOpenCollapse={state.activeTicketsIsOpen}\n isClosed={false}\n />\n )}\n </Box>\n <Box display=\"flex\" alignItems=\"center\" className={classes.historyButton} onClick={() => handleToggleClosedTickets()}>\n <Box className={classes.historyTitle}>Message History</Box>\n {state.closedTicketsIsOpen ? <ExpandLess /> : <ExpandMore />}\n </Box>\n <Box>\n {isSmallScreen ? (\n <MobileCollapseComponent\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={handleSelect}\n isOpenCollapse={state.closedTicketsIsOpen}\n isClosed={true}\n />\n ) : (\n <CollapseHistoryComponent\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={handleSelect}\n isOpenCollapse={state.closedTicketsIsOpen}\n isClosed={true}\n />\n )}\n </Box>\n </Box>\n );\n};\n","import {\n Box,\n Divider,\n Drawer,\n useMediaQuery,\n useTheme,\n IconButton,\n} from \"@material-ui/core\";\nimport React from \"react\";\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { useStyles } from \"./fullStaffChatComponent.styles\";\nimport { FullStaffChatComponentView, useFacade } from \"./fullStaffChatComponent.hooks\";\nimport { useHistory } from \"react-router\";\nimport { ReactComponent as OpenSideIcon } from \"@img/icons/OpenSide.svg\";\nimport clsx from \"clsx\";\nimport { conversationTitles, ConversationType } from \"../../models/conversation.models\";\nimport { MessageAvatarsComponent } from \"../messageAvatarsComponent/MessageAvatarsComponent\";\nimport { SecondaryButton } from \"../../../common/components/wildHealthButton/SecondaryButton\";\nimport { MessageComponent } from \"../messageComponent/MessageComponent\";\nimport { SelectConversationSubjectComponent } from \"../selectConversationSubjectComponent/SelectConversationSubjectComponent\";\nimport { supportConversationSubjects } from \"../../models/conversationSubject.models\";\nimport { ConversationComponent } from \"../conversationComponent/ConversationComponent\";\nimport { StaffConversationsHistoryComponent } from \"../staffConversationsHistoryComponent/StaffConversationsHistoryComponent\";\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useStylesSideBarTabs } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport { AttachmentsComponent } from \"../attachmentsComponent/AttachmentsComponent\";\nimport { AttachmentsViewComponent } from \"../attachmentsViewComponent/AttachmentsViewComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { ChatsPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/ChatsPlaceHolder\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\nimport { ReactComponent as TimeCircle } from \"@img/icons/timeCircle.svg\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport emptyChats from \"@img/placeholders/EmptyReport.png\";\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport { ConversationState } from \"../../models/conversationState.models\";\n\nexport const FullStaffChatComponent: React.FC = () => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const history = useHistory();\n const sideBarTabsStyle = useStylesSideBarTabs();\n\n const [\n {\n isLoading,\n targetConversation,\n isSideAreaOpen,\n creatingTicket,\n conversations,\n author,\n view,\n showHistoryComponent,\n },\n handleToggleSideArea,\n handleCreateNewTicket,\n handleStartConversation,\n handleSelectConversation,\n handleShowHistoryComponent,\n ] = useFacade();\n\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.between(\"sm\", \"md\"));\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderGoBack = () => {\n return (\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" className={classes.goBack}>\n <Box flex={1}>\n <IconButton id=\"full-staff-chat-go-back\" onClick={() =>\n showHistoryComponent\n ? handleShowHistoryComponent(!showHistoryComponent)\n : navigationService.toConversations(history)}>\n <Box display=\"flex\" alignItems=\"center\">\n <ArrowBackIcon className={commonClasses.colorGray1} />\n <Box ml={1} className={clsx(commonClasses.size16, commonClasses.textRegular, commonClasses.colorGray1)}>Back</Box>\n </Box>\n </IconButton>\n </Box>\n {showHistoryComponent && (\n <>\n <Box className={classes.historyGoBackTitle} flex={1}>Message History</Box>\n <Box flex={1} />\n </>\n )}\n {view === FullStaffChatComponentView.SelectedConversation && isSmallScreen && (\n <Box className={classes.subjectSection}>\n Subject: <span className={classes.subjectTitle}>{targetConversation.subject}</span>\n </Box>\n )}\n </Box>\n );\n };\n\n const renderHeaderArea = () => {\n return (\n <Box p={2} className={classes.header}>\n <Box className={classes.titleAndAvatars}>\n <Box pr={1.5}>\n <MessageAvatarsComponent\n participants={[{ image: '', initials: \"S\" }]}\n size={isSmallScreen && 35}\n />\n </Box>\n <Box display=\"flex\" flexDirection=\"column\">\n <Box className={classes.title}>\n {conversationTitles.get(ConversationType.Support)}\n </Box>\n {!isSmallScreen && (\n <Box className={classes.subject}>\n {view === FullStaffChatComponentView.SelectedConversation\n ? targetConversation?.subject\n : \"New Message\"}\n </Box>\n )}\n </Box>\n </Box>\n <Box display=\"flex\">\n {!isSmallScreen && (\n <SecondaryButton\n id=\"full-staff-chat-new-message\"\n onClick={() => handleCreateNewTicket()}\n disabled={view === FullStaffChatComponentView.NewTicket}\n >\n New Message\n </SecondaryButton>\n )}\n {isMiddleScreen && (\n <Box ml={2}>\n <IconButton\n id=\"full-staff-chat-side-area\"\n onClick={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <OpenSideIcon className={classes.icon} />\n </IconButton>\n <Drawer\n anchor=\"right\"\n open={isSideAreaOpen}\n onClose={() => handleToggleSideArea(!isSideAreaOpen)}\n >\n <Box className={classes.sideMobile}>{renderSideArea(\"100%\")}</Box>\n </Drawer>\n </Box>\n )}\n </Box>\n </Box>\n );\n };\n\n const renderSideArea = (height: string) => {\n if (isSmallScreen) {\n if (showHistoryComponent) {\n return isLoading ? (\n <Box p={3}>\n <WildHealthLinearProgress />\n </Box>\n ) : !conversations.length ? (\n <WildHealthPlaceHolderBase message=\"No messages history.\">\n <img className={classes.placeholderImage}\n src={emptyChats}\n alt=\"img\" />\n </WildHealthPlaceHolderBase>\n ) : view === FullStaffChatComponentView.SelectedConversation ? (\n <ConversationComponent\n conversation={targetConversation}\n author={author}\n threadHeight={height}\n />\n ) : (\n <Box p={2} className={commonClasses.bgWhiteMain}>\n <StaffConversationsHistoryComponent\n height={height}\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={(conversation) => handleSelectConversation(conversation)}\n />\n </Box>\n )\n }\n return (\n <>\n <Box>\n <Box ml={2} className={classes.historyTitle}>\n Message history\n </Box>\n <Box className={classes.historyItem} mt={1}>\n <Box className={classes.historyItemContent}>\n <TimeCircle />\n <Box className={classes.historyContext}>Show message history</Box>\n </Box>\n <IconButton id=\"full-staff-chat-side-area-history-button\"\n onClick={() => handleShowHistoryComponent(!showHistoryComponent)}>\n <ChevronRightIcon\n fontSize=\"small\"\n />\n </IconButton>\n </Box>\n </Box>\n {targetConversation && !targetConversation.proxy && targetConversation.state === ConversationState.Closed ? <AttachmentsViewComponent /> : <AttachmentsComponent />}\n </>\n );\n } else {\n const tabs: TabItem[] = [\n {\n title: \"Message History\",\n content: isLoading ? (\n <Box p={3}>\n <WildHealthLinearProgress />\n </Box>\n ) : !conversations.length ? (\n <ChatsPlaceHolder message=\"No messages yet.\" />\n ) : (\n <StaffConversationsHistoryComponent\n height={height}\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={(conversation) => handleSelectConversation(conversation)}\n />\n ),\n keepMounted: true,\n },\n {\n title: \"Attachments\",\n content: isLoading ? (\n <Box p={3}>\n <WildHealthLinearProgress />\n </Box>\n ) : (\n <Box\n className={clsx(\"flat-scroll\", classes.sideContainer)}\n height={height}\n maxHeight={height}\n >\n {targetConversation && !targetConversation.proxy && targetConversation.state === ConversationState.Closed ? <AttachmentsViewComponent /> : <AttachmentsComponent />}\n </Box>\n ),\n keepMounted: true,\n },\n ];\n\n return (\n <Box width=\"100%\">\n <WildHealthTabControl items={tabs} className={sideBarTabsStyle} />\n </Box>\n );\n }\n };\n\n const renderSelectedConversation = () => {\n return (\n <ConversationComponent\n conversation={targetConversation}\n author={author}\n threadHeight=\"calc(100vh - 247px)\"\n />\n );\n };\n\n const renderCreateNewTicket = () => {\n const messages = [\n {\n originalMessage: \"Hi there! Welcome to Wild Health.\",\n date: new Date(),\n },\n {\n originalMessage: \"What brought you in today?\",\n date: new Date(),\n },\n {\n originalMessage: (\n <SelectConversationSubjectComponent\n subjects={supportConversationSubjects}\n disabled={creatingTicket}\n handleSelect={(subject) => handleStartConversation(subject)}\n />\n ),\n date: new Date(),\n },\n ];\n\n if (creatingTicket) {\n messages.push({\n originalMessage: \"Creating ticket . . .\",\n date: new Date(),\n });\n }\n\n const messageGroup = {\n authorFirstName: \"Staff\",\n authorLastName: \" \",\n isMyMessage: false,\n messages: messages,\n };\n\n return (\n <Box className={clsx(classes.newMessage, \"flat-scroll\")}>\n <MessageComponent messageGroup={messageGroup} />\n </Box>\n );\n };\n\n const views = new Map<FullStaffChatComponentView, () => void>([\n [FullStaffChatComponentView.NewTicket, renderCreateNewTicket],\n [FullStaffChatComponentView.SelectedConversation, renderSelectedConversation],\n ]);\n\n const renderSmallComponent = () => {\n return (\n <Box flex={1} px={showHistoryComponent ? 0 : 2}>\n <div className={clsx(\"g\", classes.messages)}>\n {!showHistoryComponent && renderHeaderArea()}\n </div>\n <div className={clsx(\"g\", classes.side)}>\n {renderSideArea(\"calc(100vh - 225px)\")}\n </div>\n </Box>\n )\n }\n\n return (\n <Box className={classes.root}>\n {renderGoBack()}\n {isSmallScreen ? renderSmallComponent() : (\n <Box className={classes.chat} px={2}>\n <div className={clsx(\"g\", classes.messages)}>\n {!showHistoryComponent && renderHeaderArea()}\n <Divider className={classes.divider} orientation=\"horizontal\" />\n {views.get(view)()}\n </div>\n {!isMiddleScreen && (\n <div className={clsx(\"g\", classes.side)}>\n <Divider className={classes.divider} orientation=\"vertical\" />\n {renderSideArea(\"calc(100vh - 200px)\")}\n </div>\n )}\n </Box>\n )}\n </Box>\n );\n};\n","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { FullHealthCareChatComponent } from \"../../components/fullHealthCareChatComponent/FullHealthCareChatComponent\";\nimport { FullStaffChatComponent } from \"../../components/fullStaffChatComponent/FullStaffChatComponent\";\nimport {ConversationType} from \"../../models/conversation.models\";\n\nexport const PatientChatPage: React.FC = (props: any) => {\n const conversationType = Number(props.match.params.threadId);\n\n const chats = new Map<ConversationType, React.FC>([\n [ConversationType.HealthCare, FullHealthCareChatComponent],\n [ConversationType.Support, FullStaffChatComponent]\n ]);\n\n const chat = chats.get(conversationType) ?? FullHealthCareChatComponent;\n\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n displayChildren='flex'\n title={TitlesService.chatTitle}\n pageName={PagesNamesService.messaging}\n selectedMenuItem={MenuItemTypes.Messaging}\n >\n {React.createElement(chat)}\n </AuthenticatedLayoutComponent>\n )\n};\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n flexGrow: 1,\n display: \"flex\",\n },\n container: {\n width: \"100%\",\n height: \"100%\",\n },\n })\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderRadius: 2,\n backgroundColor: colors.white,\n boxShadow: \"0px 7px 60px rgba(168, 173, 198, 0.12)\",\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 156px) !important\",\n minHeight: 625,\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: \"calc(100vh - 156px) !important\",\n },\n },\n header: {\n padding: \"16px 24px\",\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n paddingRight: 0,\n borderBottom: `1px solid ${colors.separators}`,\n },\n },\n title: {\n display: \"flex\",\n alignItems: \"center\",\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n [theme.breakpoints.down(\"xs\")]: { fontSize: 18 },\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n thread: {\n flex: 1,\n minHeight: 200,\n height: \"calc(100vh - 398px)\",\n maxHeight: \"calc(100vh - 398px)\",\n overflow: \"auto\",\n },\n sendMessage: {\n flexShrink: 0,\n },\n employeeType: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 12,\n color: colors.gray1,\n },\n employeeNames: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 16,\n fontWeight: 500,\n color: colors.black,\n },\n awayNotification: {\n padding: 5,\n display: \"flex\",\n alignItems: \"center\",\n borderTop: \"1px solid\",\n borderBottom: \"1px solid\",\n color: colors.average1,\n borderColor: colors.average1,\n background: `${colors.average2}0D`,\n },\n notification: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n borderRadius: 8,\n background: colors.navy100,\n color: colors.secondary,\n },\n\n notificationIcon: {\n fontSize: 24,\n cursor: 'pointer',\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 16,\n color: colors.gray2,\n opacity: 0.4,\n \"&:hover\": {\n color: colors.gray1,\n },\n },\n },\n notificationToolTip: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n margin: \"5px\",\n },\n notificationList: {\n listStyle: \"inside\",\n },\n notificationToolTipText: {\n margin: \"5px\",\n },\n popper: {\n left: \"-5px !important\",\n },\n tooltip: {\n width: '225px',\n maxWidth: '225px',\n padding: 8,\n background: colors.lightBlack,\n },\n arrow: {\n color: colors.lightBlack,\n },\n tooltipPlacement: {\n margin: '12px 0',\n }\n })\n);\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {\n ConversationAuthorModel,\n ConversationType,\n PatientConversationModel,\n StartPatientSupportConversation\n} from \"../../models/conversation.models\";\nimport { ConversationSubject, supportConversationSubjects } from \"../../models/conversationSubject.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { patientConversationsStore } from \"../../stores/patientConversationsStore/patientConversations.store\";\n\nexport enum StaffChatState {\n History,\n New,\n Selected\n}\n\ninterface StaffChatComponentState {\n view: StaffChatState;\n creatingTicket: boolean;\n author: ConversationAuthorModel;\n targetConversation: PatientConversationModel;\n}\n\n\nexport function useFacade(targetConversationId?: number): [\n StaffChatComponentState,\n () => void,\n (conversation: any) => void,\n () => void,\n (subject: ConversationSubject) => void,\n () => void,\n] {\n const history = useHistory();\n const [state, setState] = useState({\n view: StaffChatState.History,\n creatingTicket: false,\n author: null,\n targetConversation: null,\n } as StaffChatComponentState);\n\n const handleNavigateToChat = () => {\n navigationService.toChat(history, ConversationType.Support)\n }\n\n const handleOpenConversation = (conversation) => {\n patientConversationsStore.setTargetConversation(conversation);\n setTimeout(() => {\n employeeConversationsStore.resetAttachments();\n employeeConversationsStore.resetAttachmentsView();\n }, 1);\n\n setState(state => ({\n ...state,\n view: StaffChatState.Selected,\n targetConversation: conversation\n }));\n }\n\n const handleNewConversationClick = () => {\n setState(state => ({\n ...state,\n view: StaffChatState.New\n }));\n }\n\n const handleStartConversation = (subject: ConversationSubject) => {\n const model: StartPatientSupportConversation = {\n subject: supportConversationSubjects.get(subject)\n }\n\n setState(state => ({ ...state, creatingTicket: true }));\n employeeConversationsStore.resetAttachments()\n employeeConversationsStore.resetAttachmentsView();\n conversationsService.startPatientSupportConversations(model).subscribe(\n (conversation) => {\n patientConversationsStore.setTargetConversation(conversation);\n setState(state => ({ ...state, creatingTicket: false }));\n }\n )\n }\n\n const handleNavigateToMessageHistory = () => {\n patientConversationsStore.setTargetConversation(null);\n setState(state => ({ ...state, view: StaffChatState.History }));\n }\n\n const getTargetConversation = (conversations: PatientConversationModel[], targetConversationId?: number) => {\n if (conversations && conversations.length) {\n const conversation = conversations.find(i => i.id === targetConversationId);\n if (conversation) {\n employeeConversationsStore.resetAttachments()\n employeeConversationsStore.resetAttachmentsView();\n patientConversationsStore.setTargetConversation(conversation);\n }\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientConversationModel>(patientConversationsQuery.targetConversation$, conversation => {\n if (conversation) {\n setState(state => ({ ...state, targetConversation: conversation, view: StaffChatState.Selected }));\n } else {\n setState(state => ({ ...state, view: StaffChatState.History }));\n }\n }),\n onEmit<PatientConversationModel[]>(patientConversationsQuery.supportConversations$, conversations =>\n getTargetConversation(conversations, targetConversationId)\n ),\n onEmit<ConversationAuthorModel>(patientConversationsQuery.author$, author =>\n setState(state => ({ ...state, author: author }))\n ),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [targetConversationId]);\n\n return [\n state,\n handleNavigateToChat,\n handleOpenConversation,\n handleNewConversationClick,\n handleStartConversation,\n handleNavigateToMessageHistory\n ];\n}\n","import React from \"react\";\nimport { Button, Box, Tooltip, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined';\nimport MoreHorizIcon from \"@material-ui/icons/MoreHoriz\";\nimport moment from \"moment\";\nimport { useFacade } from \"./healthCareChatComponent.hooks\";\nimport { useStyles } from \"./healthCareChatComponent.styles\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { MessagesPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder\";\nimport { employeeTypesNames } from \"../../../employee/models/employee.enums\";\nimport {\n conversationTitles,\n ConversationType,\n PatientConversationModel,\n} from \"../../models/conversation.models\";\nimport { healthCareConversationSubjects } from \"../../models/conversationSubject.models\";\nimport { ConversationComponent } from \"../conversationComponent/ConversationComponent\";\nimport { MessageAvatarsComponent } from \"../messageAvatarsComponent/MessageAvatarsComponent\";\nimport { displayShortName } from \"../../helpers/messages.converter\";\nimport { WildHealthClickableTooltip } from \"../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\ninterface HealthCareChatComponentProps {\n isLoading: boolean;\n conversation: PatientConversationModel;\n}\n\nexport const HealthCareChatComponent: React.FC<HealthCareChatComponentProps> = (\n props: HealthCareChatComponentProps\n) => {\n const { isLoading, conversation } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.tooltip,\n arrow: classes.arrow,\n tooltipPlacementTop: classes.tooltipPlacement,\n tooltipPlacementBottom: classes.tooltipPlacement,\n };\n\n const [{ author }, handleNavigateToChat] = useFacade();\n\n const [open, setOpen] = React.useState(false);\n\n const handleTooltipClose = () => {\n setOpen(false);\n };\n\n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const maxParticipantsCount = 2;\n\n const tooltipContent = (\n <p className={classes.notificationToolTip}>\n <span className={classes.notificationToolTipText}>Topics for this thread:</span>\n <ul className={classes.notificationList}>\n {Array.from(healthCareConversationSubjects).map(([subject, title], index) => {\n return (\n <li key={index} className={classes.notificationToolTipText}>\n {title}\n </li>\n );\n })}\n </ul>\n </p>\n );\n\n const renderHeaderArea = () => {\n const defaultParticipantsInitials = [\n { image: \"\", initials: \"HC\" },\n { image: \"\", initials: \"Pr\" },\n ];\n const defaultParticipants = [\n { image: \"\", firstName: \"Health\", lastName: \"Coach\", position: \"\" },\n { image: \"\", firstName: \"Provider\", lastName: \"\", position: \"\" },\n ];\n\n const participantsInitials = conversation\n ? conversation.employees\n .filter((i) => i.isActive && !i.isDeleted)\n .map((i) => ({ image: profileQuery.getPhoto(i.employeeId), initials: displayShortName(i.firstName, i.lastName) }))\n : defaultParticipantsInitials;\n\n const participants = conversation\n ? conversation.employees\n .filter((i) => i.isActive && !i.isDeleted)\n .slice(0, maxParticipantsCount)\n .map((i) => ({\n image: profileQuery.getPhoto(i.employeeId),\n firstName: i.firstName,\n lastName: i.lastName,\n position: employeeTypesNames.get(i.type),\n }))\n : defaultParticipants;\n\n return (\n <Box className={classes.header}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box mr={1.5} className={classes.title}>\n {conversationTitles.get(ConversationType.HealthCare)}\n </Box>\n <Box>\n <MessageAvatarsComponent\n participants={participantsInitials}\n size={isSmallScreen && 21}\n />\n </Box>\n </Box>\n {isSmallScreen ? (\n <Box display=\"flex\" alignItems=\"center\">\n <WildHealthClickableTooltip\n tooltipContent={tooltipContent}\n isOpened={open}\n handleClose={handleTooltipClose}\n customClasses={customTooltipClasses}\n >\n <InfoIcon className={classes.notificationIcon} onClick={handleTooltipOpen} />\n </WildHealthClickableTooltip>\n <Box>\n <Button\n id=\"health-care-chat-open\"\n onClick={() => handleNavigateToChat()}\n disabled={isLoading}\n >\n <MoreHorizIcon />\n </Button>\n </Box>\n </Box>\n ) : (\n <Box display=\"flex\">\n <WildHealthButton\n id=\"health-care-chat-open\"\n color=\"secondary\"\n size=\"medium\"\n onClick={() => handleNavigateToChat()}\n disabled={isLoading}\n >\n Expand\n </WildHealthButton>\n </Box>\n )}\n </Box>\n </Box>\n );\n };\n\n const renderNotificationArea = () => {\n const participants = conversation\n ? conversation.employees?.filter(\n (i) =>\n i.isActive && i.settings?.awayMessageEnabled && i.settings?.message?.length > 0 && !i.isDeleted\n )\n : [];\n\n return (\n <Box>\n {participants.length > 0 && (\n <Box my={1} className={classes.awayNotification}>\n <Box mx={2}>\n {participants.map(function callback(item, index) {\n if (item.settings.awayMessageEnabled) {\n return (\n <Box\n key={index}\n >{`${item.firstName} ${item.lastName} - ${item.settings.message} Return Date - ${moment(toCurrentTimeZone(new Date(item.settings.awayMessageEnabledTo))).format(\"M/D/YY\")}.`}</Box>\n );\n }\n })}\n </Box>\n </Box>\n )}\n {!isSmallScreen && (\n <Box mx={2} p={1.5} className={classes.notification}>\n <Tooltip title={tooltipContent} placement=\"top\" arrow>\n <InfoOutlinedIcon className=\"wh-tw-text-secondary wh-tw-cursor-pointer wh-tw-mr-2.5\" />\n </Tooltip>\n <span>Use this thread if you have questions regarding your health. Call 911 for emergencies.</span>\n </Box>\n )}\n </Box>\n );\n };\n\n const renderContent = () => {\n return conversation.employees?.length ? (\n <ConversationComponent conversation={conversation} author={author} />\n ) : (\n <MessagesPlaceHolder message=\"Health Care conversation will become available when your health team has been assigned.\" />\n );\n };\n\n return (\n <Box className={classes.root}>\n {renderHeaderArea()}\n {renderNotificationArea()}\n {!isLoading && !conversation ? (\n <MessagesPlaceHolder message=\"Health Care conversation will become available when your health team has been assigned.\" />\n ) : isLoading ? (\n <Box p={3}>\n <WildHealthLinearProgress />\n </Box>\n ) : (\n renderContent()\n )}\n </Box>\n );\n};\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {\n ConversationAuthorModel,\n ConversationType\n} from \"../../models/conversation.models\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\n\ninterface StaffChatComponentState {\n author: ConversationAuthorModel;\n}\n\n\nexport function useFacade(targetConversationId?: number): [\n StaffChatComponentState,\n () => void,\n] {\n const history = useHistory();\n const [state, setState] = useState({\n author: null,\n } as StaffChatComponentState);\n\n const handleNavigateToChat = () => {\n navigationService.toChat(history, ConversationType.HealthCare)\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<ConversationAuthorModel>(patientConversationsQuery.author$, author =>\n setState(state => ({...state, author: author}))\n ),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [targetConversationId]);\n\n return [\n state,\n handleNavigateToChat,\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderRadius: 2,\n backgroundColor: colors.white,\n boxShadow: \"0px 7px 60px rgba(168, 173, 198, 0.12)\",\n width: \"100%\",\n height: \"100%\",\n display: \"flex\",\n flexDirection: \"column\",\n maxHeight: \"calc(100vh - 156px) !important\",\n minHeight: 625,\n [theme.breakpoints.down(\"xs\")]: {\n minHeight: \"calc(100vh - 156px) !important\",\n },\n },\n header: {\n padding: \"16px 24px\",\n [theme.breakpoints.down(\"xs\")]: {\n padding: \"16px 0 16px 16px\",\n borderBottom: `1px solid ${colors.separators}`,\n position: \"relative\",\n },\n },\n title: {\n color: colors.black,\n fontWeight: 500,\n fontSize: 20,\n [theme.breakpoints.down(\"xs\")]: { fontSize: 18 },\n },\n subject: {\n fontSize: 12,\n color: colors.gray2,\n },\n historyTitle: {\n fontFamily: \"Be Vietnam Pro\",\n fontWeight: 500,\n fontSize: 18,\n color: colors.black,\n paddingLeft: 24,\n [theme.breakpoints.down(\"xs\")]: { fontSize: 16, paddingLeft: 0 },\n },\n newMessage: {\n maxHeight: \"calc(100vh - 370px)\",\n minHeight: 420,\n overflow: \"auto\",\n [theme.breakpoints.down(\"xs\")]: {\n maxHeight: \"calc(100vh - 180px)\",\n },\n },\n divider: {\n backgroundColor: colors.stroke,\n },\n thread: {\n flex: 1,\n minHeight: 200,\n height: \"calc(100vh - 398px)\",\n maxHeight: \"calc(100vh - 398px)\",\n overflow: \"auto\",\n },\n sendMessage: {\n flexShrink: 0,\n },\n employeeType: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 12,\n color: colors.gray1,\n },\n employeeNames: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 16,\n fontWeight: 500,\n color: colors.black,\n },\n notification: {\n display: \"flex\",\n justifyContent: \"space-between\",\n alignItems: \"center\",\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n borderRadius: 8,\n background: colors.navy100,\n color: colors.secondary,\n },\n notificationIcon: {\n fontSize: 24,\n cursor: 'pointer',\n [theme.breakpoints.down(\"xs\")]: {\n color: colors.gray2,\n opacity: 0.4,\n fontSize: 16,\n \"&:hover\": {\n color: colors.gray1,\n },\n },\n },\n notificationToolTip: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 14,\n margin: \"5px\",\n },\n notificationList: {\n listStyle: \"inside\",\n },\n notificationToolTipText: {\n margin: \"5px\",\n },\n popper: {\n left: \"-5px !important\",\n },\n tooltip: {\n width: '225px',\n maxWidth: '225px',\n padding: 8,\n background: colors.lightBlack,\n },\n arrow: {\n color: colors.lightBlack,\n },\n tooltipPlacement: {\n margin: '12px 0',\n },\n subjectSection: {\n zIndex: 1000,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n position: \"absolute\",\n width: \"100%\",\n boxShadow: '0px 3px 6px rgba(0, 0, 0, 0.25)',\n backgroundColor: colors.white,\n fontSize: 14,\n fontWeight: 400,\n color: colors.black,\n padding: 12,\n marginLeft: -16,\n marginTop: 16,\n },\n subjectTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n marginLeft: 4,\n }\n })\n);\n","import React from \"react\";\nimport {\n Box,\n IconButton,\n Tooltip,\n useTheme,\n useMediaQuery,\n Button,\n Divider,\n} from \"@material-ui/core\";\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined';\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport MoreHorizIcon from \"@material-ui/icons/MoreHoriz\";\nimport ChevronLeftIcon from \"@material-ui/icons/ChevronLeft\";\nimport ArrowBackIcon from \"@material-ui/icons/ArrowBack\";\nimport clsx from \"clsx\";\nimport { StaffChatState, useFacade } from \"./staffChatComponent.hooks\";\nimport { useStyles } from \"./staffChatComponent.styles\";\nimport { MessagesPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { MessageComponent } from \"../messageComponent/MessageComponent\";\nimport { SelectConversationSubjectComponent } from \"../selectConversationSubjectComponent/SelectConversationSubjectComponent\";\nimport { supportConversationSubjects } from \"../../models/conversationSubject.models\";\nimport { ConversationComponent } from \"../conversationComponent/ConversationComponent\";\nimport { StaffConversationsHistoryComponent } from \"../staffConversationsHistoryComponent/StaffConversationsHistoryComponent\";\nimport {\n conversationTitles,\n ConversationType,\n PatientConversationModel,\n} from \"../../models/conversation.models\";\nimport { MessageAvatarsComponent } from \"../messageAvatarsComponent/MessageAvatarsComponent\";\nimport { WildHealthClickableTooltip } from \"../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\ninterface StaffChatComponentProps {\n isLoading: boolean;\n targetConversationId?: number;\n conversations: PatientConversationModel[];\n}\n\nexport const StaffChatComponent: React.FC<StaffChatComponentProps> = (\n props: StaffChatComponentProps\n) => {\n const { isLoading, targetConversationId, conversations } = props;\n\n const [\n { author, creatingTicket, targetConversation, view },\n handleNavigateToChat,\n handleOpenConversation,\n handleNewConversationClick,\n handleStartConversation,\n handleNavigateToMessageHistory,\n ] = useFacade(targetConversationId);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.tooltip,\n arrow: classes.arrow,\n tooltipPlacementTop: classes.tooltipPlacement,\n tooltipPlacementBottom: classes.tooltipPlacement,\n };\n\n const [open, setOpen] = React.useState(false);\n\n const handleTooltipClose = () => {\n setOpen(false);\n };\n\n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const tooltipContent = (\n <p className={classes.notificationToolTip}>\n <span className={classes.notificationToolTipText}>Topics for this thread:</span>\n <ul className={classes.notificationList}>\n {Array.from(supportConversationSubjects).map(([subject, title], index) => {\n return (\n <li key={index} className={classes.notificationToolTipText}>\n {title}\n </li>\n );\n })}\n </ul>\n </p>\n );\n\n const renderHeaderArea = () => {\n return (\n <Box className={classes.header}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n {view !== StaffChatState.History && (\n <IconButton\n id=\"staff-chat-go-back\"\n onClick={() => handleNavigateToMessageHistory()}\n >\n {isSmallScreen ? <ChevronLeftIcon /> : <ArrowBackIcon />}\n </IconButton>\n )}\n </Box>\n <Box mr={1.5} display=\"flex\" flexDirection=\"column\">\n <Box className={classes.title}>\n {conversationTitles.get(ConversationType.Support)}\n </Box>\n </Box>\n <Box>\n <MessageAvatarsComponent\n participants={[{ image: '', initials: \"S\" }]}\n size={isSmallScreen && 35}\n />\n </Box>\n </Box>\n {isSmallScreen ? (\n <Box display=\"flex\" alignItems=\"center\">\n <WildHealthClickableTooltip\n tooltipContent={tooltipContent}\n isOpened={open}\n handleClose={handleTooltipClose}\n customClasses={customTooltipClasses}\n >\n <InfoIcon className={classes.notificationIcon} onClick={handleTooltipOpen} />\n </WildHealthClickableTooltip>\n\n <Box>\n <Button\n id=\"health-care-chat-open\"\n onClick={() => handleNavigateToChat()}\n disabled={isLoading}\n >\n <MoreHorizIcon />\n </Button>\n </Box>\n </Box>\n ) : (\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n id=\"staff-chat-open\"\n color=\"secondary\"\n size=\"medium\"\n onClick={() => handleNavigateToChat()}\n >\n Expand\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n id=\"staff-chat-new-message\"\n size=\"medium\"\n onClick={() => handleNewConversationClick()}\n disabled={view === StaffChatState.New}\n >\n New Message\n </WildHealthButton>\n </Box>\n </Box>\n )}\n </Box>\n {view === StaffChatState.Selected && isSmallScreen && (\n <Box className={classes.subjectSection}>\n Subject: <span className={classes.subjectTitle}>{targetConversation.subject}</span>\n </Box>\n )}\n </Box>\n );\n };\n\n const renderNotificationArea = () => {\n return (\n <Box mx={2} p={1.5} className={classes.notification}>\n <Tooltip title={tooltipContent} placement=\"top\" arrow>\n <InfoOutlinedIcon className=\"wh-tw-text-secondary wh-tw-cursor-pointer wh-tw-mr-2.5\" />\n </Tooltip>\n <span>\n Use this thread if you have questions about topics that do not concern your\n health\n </span>\n </Box>\n );\n };\n\n const renderConversationsHistory = () => {\n if (!conversations.length) {\n return <>\n <MessagesPlaceHolder message=\"No messages yet.\" />\n {isSmallScreen && (\n <Box position={'sticky'} bottom={20} width={1}>\n <Box p={2}>\n <WildHealthButton\n id=\"staff-chat-new-message\"\n size=\"medium\"\n onClick={() => handleNewConversationClick()}\n disabled={view === StaffChatState.New}\n fullWidth\n >\n New Message\n </WildHealthButton>\n </Box>\n </Box>\n )}\n </>;\n }\n\n return (\n <Box p={2}>\n {isSmallScreen ? (\n <>\n <StaffConversationsHistoryComponent\n height=\"calc(100vh - 325px)\"\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={(conversation) => handleOpenConversation(conversation)}\n />\n <Divider className={classes.divider} orientation=\"horizontal\" />\n <Box mt={1}>\n <WildHealthButton\n id=\"staff-chat-new-message\"\n size=\"medium\"\n onClick={() => handleNewConversationClick()}\n disabled={view === StaffChatState.New}\n fullWidth\n >\n New Message\n </WildHealthButton>\n </Box>\n </>\n ) : (\n <StaffConversationsHistoryComponent\n height=\"calc(100vh - 410px)\"\n conversations={conversations}\n targetConversation={targetConversation}\n handleSelect={(conversation) => handleOpenConversation(conversation)}\n />\n )}\n </Box>\n );\n };\n\n const renderCreateNewConversation = () => {\n const messages = [\n {\n originalMessage: \"Hi there! Welcome to Wild Health.\",\n date: new Date(),\n },\n {\n originalMessage: \"What brought you in today?\",\n date: new Date(),\n },\n {\n originalMessage: (\n <SelectConversationSubjectComponent\n subjects={supportConversationSubjects}\n disabled={creatingTicket}\n handleSelect={(subject) => handleStartConversation(subject)}\n />\n ),\n date: new Date(),\n },\n ];\n\n if (isSmallScreen) messages.pop();\n\n if (creatingTicket) {\n messages.push({\n originalMessage: \"Creating ticket . . .\",\n date: new Date(),\n });\n }\n\n return (\n <Box pt={5} className={clsx(classes.newMessage, \"flat-scroll\")}>\n <MessageComponent\n messageGroup={{\n authorFirstName: \"Staff\",\n authorLastName: \" \",\n isMyMessage: false,\n messages: messages,\n }}\n />\n {isSmallScreen && (\n <SelectConversationSubjectComponent\n subjects={supportConversationSubjects}\n disabled={creatingTicket}\n handleSelect={(subject) => handleStartConversation(subject)}\n />\n )}\n </Box>\n );\n };\n\n const renderSelectedConversation = () => {\n return <ConversationComponent conversation={targetConversation} author={author} />;\n };\n\n const renderContent = () => {\n switch (view) {\n case StaffChatState.History:\n return renderConversationsHistory();\n case StaffChatState.New:\n return renderCreateNewConversation();\n case StaffChatState.Selected:\n return renderSelectedConversation();\n }\n };\n\n return (\n <Box className={classes.root}>\n {renderHeaderArea()}\n {!isSmallScreen && renderNotificationArea()}\n {isLoading ? (\n <Box p={3}>\n <WildHealthLinearProgress />\n </Box>\n ) : (\n renderContent()\n )}\n </Box>\n );\n};\n","import { Box, Grid, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useStyles } from \"./patientConversationsComponent.styles\";\nimport { useFacade } from \"./patientConversationsComponent.hooks\";\nimport { HealthCareChatComponent } from \"../healthCareChatComponent/HealthCareChatComponent\";\nimport { StaffChatComponent } from \"../staffChatComponent/StaffChatComponent\";\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useStylesFullWidthTabs } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\n\ninterface PatientConversationsComponentProps {\n targetConversationId?: number;\n}\n\nexport const PatientConversationsComponent: React.FC<\n PatientConversationsComponentProps\n> = (props: PatientConversationsComponentProps) => {\n const { targetConversationId } = props;\n const classes = useStyles();\n\n const [\n {\n isSupportLoading,\n isHealthCareLoading,\n isSupportPhotosLoading,\n isHCPhotosLoading,\n supportConversations,\n healthCareConversation,\n },\n ] = useFacade();\n\n //Mobile\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const sideBarTabsStyle = useStylesFullWidthTabs();\n\n const renderContent = () => {\n if (isSmallScreen) {\n const tabs: TabItem[] = [\n {\n title: \"Care Team\",\n content: (\n <HealthCareChatComponent\n isLoading={isHealthCareLoading || isHCPhotosLoading}\n conversation={healthCareConversation}\n />\n ),\n },\n {\n title: \"Support\",\n content: (\n <StaffChatComponent\n isLoading={isSupportLoading || isSupportPhotosLoading}\n targetConversationId={targetConversationId}\n conversations={supportConversations}\n />\n ),\n },\n ];\n return (\n <Box width=\"100%\">\n <WildHealthTabControl items={tabs} className={sideBarTabsStyle} />\n </Box>\n );\n } else {\n return (\n <Grid container className={classes.root}>\n <Grid item md={6} xs={12}>\n <Box p={1} className={classes.container}>\n <HealthCareChatComponent\n isLoading={isHealthCareLoading || isHCPhotosLoading}\n conversation={healthCareConversation}\n />\n </Box>\n </Grid>\n\n <Grid item md={6} xs={12}>\n <Box p={1} className={classes.container}>\n <StaffChatComponent\n isLoading={isSupportLoading || isSupportPhotosLoading}\n targetConversationId={targetConversationId}\n conversations={supportConversations}\n />\n </Box>\n </Grid>\n </Grid>\n );\n }\n };\n\n return <>{renderContent()}</>;\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PatientConversationModel } from \"../../models/conversation.models\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { notificationsQuery, notificationsStore } from \"../../../notifications/stores/notifications\";\nimport { NotificationModel, NotificationType } from \"../../../notifications/models/notifications.models\";\nimport { notificationsService } from \"../../../notifications/services/notifications.service\";\nimport { profileService } from \"../../../account/services/profile.service\";\n\n\ninterface PatientConversationsComponentState {\n isSupportLoading: boolean;\n isHealthCareLoading: boolean;\n isSupportPhotosLoading: boolean;\n isHCPhotosLoading: boolean;\n conversationProxies: any[];\n supportConversations: PatientConversationModel[];\n healthCareConversation: PatientConversationModel;\n notifications: NotificationModel[];\n targetConversation: PatientConversationModel;\n}\n\nlet stateContext: PatientConversationsComponentState = null;\n\nexport function useFacade(): [PatientConversationsComponentState] {\n\n const [state, setState] = useState({\n isSupportLoading: true,\n isHealthCareLoading: true,\n isSupportPhotosLoading: true,\n isHCPhotosLoading: true,\n conversationProxies: [],\n supportConversations: [],\n healthCareConversation: null,\n } as PatientConversationsComponentState);\n\n stateContext = state;\n\n const handleRemoveTargetNotifications = () => {\n if(!!state.targetConversation && !! state.notifications){\n if (state.notifications.length){\n const targetConversationNotifications = state.notifications.filter(x => x.linkData.includes(state.targetConversation.id.toString()) || x.type == NotificationType.UnreadMessagesCount);\n\n if(targetConversationNotifications.length){\n notificationsStore.deleteNotifications(targetConversationNotifications);\n notificationsService.deleteBulk(targetConversationNotifications);\n }\n }\n }\n }\n\n useEffect(() => {\n const supportPhotosCB = () => setState(state => ({...state, isSupportPhotosLoading: false}))\n const hcPhotosCB = () => setState(state => ({...state, isHCPhotosLoading: false}))\n const subscriptions: Subscription[] = [\n onEmit<PatientConversationModel[]>(patientConversationsQuery.supportConversations$, conversations => {\n setState(state => ({ ...state, supportConversations: conversations }))\n if (conversations && conversations.length) {\n setState(state => ({...state, isSupportPhotosLoading: true}))\n const employeeIds = conversations.map(r => r.employees).reduce((e1: number[], e2) => {\n for (const item of e2)\n {\n if(!e1.includes(item.employeeId)) {\n e1.push(item.employeeId)\n }\n }\n\n return e1;\n }, [])\n if (employeeIds.length) {\n profileService.getEmployeeProfilePhotos(employeeIds.join(',')).subscribe(supportPhotosCB, supportPhotosCB)\n } else {\n supportPhotosCB()\n }\n } else {\n supportPhotosCB()\n }\n }),\n onEmit<PatientConversationModel>(patientConversationsQuery.heathCareConversation$, conversation => {\n setState(state => ({ ...state, healthCareConversation: conversation }))\n if (conversation && conversation.employees.length) {\n setState(state => ({...state, isHCPhotosLoading: true}))\n const employeeIds = conversation.employees.map(e => e.employeeId).join(',')\n profileService.getEmployeeProfilePhotos(employeeIds).subscribe(hcPhotosCB, hcPhotosCB)\n } else {\n hcPhotosCB()\n }\n }),\n onEmit<boolean>(patientConversationsQuery.isLoading$, isLoading => {\n setState(state => ({ ...state, isHealthCareLoading: isLoading, isSupportLoading: isLoading}))\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n useEffect(() => {\n const subscriptions = [\n onEmit<NotificationModel[]>(notificationsQuery.notifications$, () => {\n const conversationNotifications = notificationsQuery.getNotificationsByTypes([\n NotificationType.UnreadMessagesCount,\n NotificationType.NewMessage\n ]);\n\n setState(state => ({ ...state, notifications: conversationNotifications }))\n }),\n onEmit<PatientConversationModel>(patientConversationsQuery.targetConversation$, conversation => {\n if (conversation) {\n setState(state => ({ ...state, targetConversation: conversation }));\n }\n }),\n ]\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, [])\n\n handleRemoveTargetNotifications();\n\n return [state];\n}\n","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PatientConversationsComponent } from \"../../components/patientConversationsComponent/PatientConversationsComponent\";\n\nexport const PatientConversationsPage: React.FC = (props: any) => {\n const conversationId = Number(props?.location?.state?.conversationId);\n\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n displayChildren='flex'\n title={TitlesService.messagingTitle}\n pageName={PagesNamesService.messaging}\n selectedMenuItem={MenuItemTypes.Messaging}\n >\n <PatientConversationsComponent targetConversationId={conversationId} />\n </AuthenticatedLayoutComponent>\n )\n};\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { LocationModel } from \"../../../locations/models/locations.models\";\nimport { locationsQuery } from \"../../../locations/stores\";\nimport { EmployeeConversationModel } from \"../../models/conversation.models\";\nimport { conversationsService } from \"../../services/conversations.service\";\nimport { employeeConversationsQuery } from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\nimport { NotificationModel, NotificationType } from \"../../../notifications/models/notifications.models\";\nimport { notificationsQuery } from \"../../../notifications/stores/notifications\";\nimport { notificationsService } from \"../../../notifications/services/notifications.service\";\n\ninterface PatientsSubmissionsComponentState {\n isLoading: boolean;\n isNavigating: boolean;\n locations: LocationModel[];\n targetLocationId: number;\n targetChatId: number;\n conversations: EmployeeConversationModel[];\n}\n\nexport const patientsSubmissionsComponentColumns = [\n 'Patient',\n 'Pod',\n 'Subject',\n 'Action',\n]\n\nexport function useFacade(): [\n PatientsSubmissionsComponentState, \n (locationId?: number) => void, \n (conversation: EmployeeConversationModel) => void,\n (conversationId: number) => void,] {\n\n const [state, setState] = useState({\n isLoading: true,\n isNavigating: false,\n locations: [],\n targetLocationId: 0,\n targetChatId: 0,\n conversations: [],\n } as PatientsSubmissionsComponentState);\n\n const history = useHistory();\n\n const handleNavigateToChat = (conversation: EmployeeConversationModel) => {\n setState(state => ({ ...state, isNavigating: true, targetChatId: conversation.id }));\n\n const cb = () => setState(state => ({ ...state, isNavigating: false, targetChatId: 0 }));\n const model = {\n conversationId: conversation.id,\n employeeId: authQuery.getEmployeeId(),\n };\n\n conversationsService.addEmployeeToConversationModel(model).subscribe((conversation) => {\n employeeConversationsStore.addConversation(conversation)\n employeeConversationsStore.resetAttachments();\n conversationsService.selectConversation(conversation);\n navigationService.toConversations(history);\n cb();\n }, cb);\n }\n\n const handleFiltering = (locationId?: number) => {\n const conversations = locationId > 0 ? state.conversations.filter(i => i.locationId === locationId) : employeeConversationsStore.getValue().supportSubmissions;\n setState(state => ({ ...state, conversations, targetLocationId: locationId }))\n }\n\n const handleToggleMessage = (conversationId : number) => {\n const expandedConversation = state.conversations.find(el => el.id === conversationId);\n expandedConversation.isOpen = !expandedConversation.isOpen\n setState(state => ({ ...state}))\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<EmployeeConversationModel[]>(employeeConversationsQuery.supportSubmissions$, conversations =>\n setState(state => ({ ...state, conversations: conversations.map(el => {\n return {\n ...el,\n isOpen: true\n }\n }) }))\n ),\n onEmit<LocationModel[]>(locationsQuery.availableLocations$, locations =>\n setState(state => ({ ...state, locations: locations }))\n ),\n onEmit<NotificationModel[]>(notificationsQuery.notifications$, () => {\n const conversationNotifications = notificationsQuery.getNotificationsByTypes([\n NotificationType.NewSupportTicket\n ]);\n\n if (conversationNotifications?.length) {\n notificationsService.deleteBulk(conversationNotifications);\n }\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n conversationsService.getSupportSubmissions().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleFiltering, handleNavigateToChat, handleToggleMessage];\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n color: colors.gray1,\n fontSize: 14,\n },\n filter: {\n display: \"flex\",\n width: '250px',\n background: colors.white,\n [theme.breakpoints.down(\"xs\")]: {\n width: '100%'\n },\n },\n messagePreview: {\n backgroundColor: colors.bg,\n },\n descriptionTitle: {\n color: colors.gray2,\n },\n cursorPointer: {\n cursor: 'pointer'\n }\n })\n);\n","import { Box, FormControl, MenuItem, Select, Table, TableBody, TableContainer, TableHead, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport React from \"react\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthContainer } from \"../../../common/components/wildHealthContainer/WildHealthContainer\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { CommonPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { patientsSubmissionsComponentColumns, useFacade } from \"./patientsSubmissionsComponent.hooks\";\nimport { useStyles } from \"./patientsSubmissionsComponent.styles\";\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\n\nexport const PatientsSubmissionsComponent: React.FC = () => {\n\n const classes = useStyles();\n\n const [\n {\n isLoading,\n isNavigating,\n locations,\n targetLocationId,\n targetChatId,\n conversations,\n },\n handleFiltering,\n handleNavigateToChat,\n handleToggleMessage,\n ] = useFacade();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderTable = () => {\n if (isLoading) {\n return (\n <Box p={5}>\n <WildHealthLinearProgress />\n </Box>\n )\n }\n\n if (!conversations || !conversations.length) {\n return <CommonPlaceHolder message=\"No submissions found.\" />\n }\n\n if (isSmallScreen) {\n return (\n <Box width={1}>\n {\n conversations.map((item, index) => {\n const location = locations.find(i => i.id === item.locationId);\n\n return (\n <Box key={index} p={2} mb={2} className=\"wh-tw-bg-white\">\n <Box display='flex' alignItems='center' justifyContent='space-between' mb={2.5}>\n <Box>\n <Box pb={0.5} className=\"wh-tw-cursor-pointer\" onClick={() => handleToggleMessage(item.id)}><span className=\"wh-tw-font-medium wh-tw-text-sm\">{`${item.patients[0].firstName} ${item.patients[0].lastName}`}</span></Box>\n <Box><span className=\"wh-tw-text-xs\">{location?.name ?? ''}</span></Box>\n </Box>\n <Box className=\"wh-tw-text-sm\">{item.subject}</Box>\n </Box>\n <WildHealthButton\n id=\"patients-submissions-navigate-chat\"\n onClick={() => handleNavigateToChat(item)}\n disabled={isNavigating || !location}\n fullWidth\n >\n {\n targetChatId === item.id ?\n 'Navigating to Chat' :\n 'Accept Ticket And Open'\n }\n </WildHealthButton>\n </Box>\n )\n })\n }\n </Box>\n )\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '16px' }} align=\"left\">\n </WildHealthTableCell>\n {\n patientsSubmissionsComponentColumns.map((item, index) =>\n <WildHealthTableCell key={index} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n conversations.map((item, index) => {\n const location = locations.find(i => i.id === item.locationId);\n\n return (\n <>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell className={classes.cursorPointer} style={{ width: '16px' }} onClick={() => handleToggleMessage(item.id)} >\n <Box mt={0.5}> {item?.isOpen ? <ExpandLessIcon /> : <ExpandMoreIcon />}</Box>\n </WildHealthTableCell>\n <WildHealthTableCell className={classes.cursorPointer} onClick={() => handleToggleMessage(item.id)} align=\"left\">\n <span>{`${item.patients[0].firstName} ${item.patients[0].lastName}`}</span>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {location?.name ?? ''}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.subject}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n <WildHealthButton\n id=\"patients-submissions-navigate-chat\"\n onClick={() => handleNavigateToChat(item)}\n disabled={isNavigating || !location}\n >\n {\n targetChatId === item.id ?\n 'Navigating to Chat' :\n 'Accept Ticket and Open'\n }\n </WildHealthButton>\n </WildHealthTableCell>\n </WildHealthTableRow>\n {item?.isOpen && <WildHealthTableRow key={index} className={classes.messagePreview}>\n <WildHealthTableCell style={{ width: '16px' }} >\n </WildHealthTableCell>\n <WildHealthTableCell colSpan={4} align=\"left\">\n <Box className={classes.descriptionTitle}>Message Preview</Box>\n <Box mb={2.5}>{item.description}</Box>\n </WildHealthTableCell>\n </WildHealthTableRow>}\n </>\n )\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n return (\n <Box py={2} px={isSmallScreen ? 2 : 5} width={1}>\n <Box my={2} display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n <Box>\n <FeatureComponent featureFlag={FeatureFlag.Navigation}>\n <Box className=\"wh-tw-font-semibold wh-tw-text-2xl wh-tw-black\">{PagesNamesService.patientsSubmissions}</Box>\n </FeatureComponent>\n </Box>\n </Box>\n <Box my={2} justifyContent=\"space-between\" className={!isSmallScreen && \"wh-tw-flex\"}>\n <Box display='flex' alignItems='flex-end' mb={isSmallScreen && 2.5}>\n {\n !isLoading &&\n <Box className={classes.title}>\n {`${conversations.length} submissions`}\n </Box>\n }\n </Box>\n\n <Box className={classes.filter}>\n <FormControl\n fullWidth\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <Select\n value={targetLocationId}\n onChange={(e) => handleFiltering(Number(e.target.value))}\n >\n <MenuItem key={0} value={0}>\n All pods\n </MenuItem>\n {\n locations\n .map((location, index) =>\n <MenuItem key={index} value={location.id}>\n {location.name}\n </MenuItem>\n )\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n\n <WildHealthContainer margin={0} minHeight='calc(100vh - 246px)' minWidth='100%' hideBackground={isSmallScreen}>\n {renderTable()}\n </WildHealthContainer>\n </Box>\n )\n};","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PatientsSubmissionsComponent } from \"../../components/patientsSubmissionsComponent/PatientsSubmissionsComponent\";\n\nexport const PatientsSubmissionsPage: React.FC = () => {\n\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n displayChildren='flex'\n title={TitlesService.patientsSubmissionsTitle}\n pageName={PagesNamesService.patientsSubmissions}\n selectedMenuItem={MenuItemTypes.PatientsSubmissions}\n >\n <PatientsSubmissionsComponent />\n </AuthenticatedLayoutComponent>\n )\n};\n","import { createStyles, fade, makeStyles, Theme } from '@material-ui/core';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n search: {\n position: 'relative',\n border: '1px solid rgba(0, 0, 0, 0.23)',\n borderRadius: theme.shape.borderRadius,\n backgroundColor: fade(theme.palette.common.white, 0.15),\n '&:hover': {\n backgroundColor: fade(theme.palette.common.white, 0.25),\n },\n marginLeft: 0,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n width: 'auto',\n },\n },\n searchIcon: {\n padding: theme.spacing(0, 2),\n justifyContent: 'center',\n pointerEvents: 'none',\n position: 'absolute',\n alignItems: 'center',\n display: 'flex',\n height: '100%',\n },\n inputRoot: {\n color: 'inherit',\n background: '#fff',\n },\n inputField: {\n transition: theme.transitions.create('width'),\n padding: theme.spacing(1, 1, 1, 0),\n paddingLeft: `10px`,\n borderRadius: theme.shape.borderRadius,\n background: '#fff',\n height: 24,\n },\n }),\n);\n","import { Button, InputBase } from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\nimport React from 'react';\nimport { useStyles } from './searchComponent.styles';\nimport clsx from 'clsx';\n\ninterface SearchComponentProps {\n defaultValue?: string;\n placeholder: string;\n handleSearch: (value: string) => void,\n handleChanges?: (value: string) => void,\n}\n\nexport const SearchComponent: React.FC<SearchComponentProps> = (props: SearchComponentProps) => {\n const {\n defaultValue,\n placeholder,\n handleSearch,\n handleChanges\n } = props;\n\n const [searchValue, setValue] = React.useState<string>(defaultValue);\n const classes = useStyles();\n\n const onChange = (event: React.ChangeEvent<HTMLInputElement>) => {\n setValue(event.target.value);\n if (handleChanges) {\n handleChanges(event.target.value);\n }\n };\n\n const handleKeyPress = (event) => {\n if (event.key === 'Enter') {\n handleSearch(encodeURIComponent(searchValue));\n }\n }\n\n return (\n <InputBase\n placeholder={placeholder}\n className={clsx('input', classes.search)}\n onKeyPress={handleKeyPress}\n onChange={onChange}\n value={searchValue}\n classes={{\n root: classes.inputRoot,\n input: classes.inputField,\n }}\n endAdornment={\n <Button id=\"search\" onClick={() => handleSearch(encodeURIComponent(searchValue))} disabled={!searchValue}>\n <SearchIcon />\n </Button>\n }\n />\n );\n}","export class DnaFilesFilters {\n public static all = \"ALL\";\n public static synchronized = \"SYNCHRONIZED\";\n public static notSynchronized = \"NOT_SYNCHRONIZED\";\n public static failed = \"FAILED\";\n}\n\nexport const DnaFilesSynchronizationFilters = new Map<string, string>([\n [\"All\", DnaFilesFilters.all],\n ['Synchronized files', DnaFilesFilters.synchronized],\n ['Not Synchronized files', DnaFilesFilters.notSynchronized],\n ['Failed', DnaFilesFilters.failed]\n]);\n\nexport const DnaFileSynchronizationStatuses = new Map<string, any>([\n ['Yes', true],\n ['No', false]\n]);","import { Store, StoreConfig } from '@datorama/akita';\nimport { DnaFileModel } from '../../models/dnaFlies.models';\n\nexport interface DNAFilesState {\n dnaFiles: DnaFileModel[]\n}\n\nexport function createInitialState(): DNAFilesState {\n return {\n dnaFiles: []\n };\n}\n\n@StoreConfig({name: 'dnaFiles', resettable: true })\nexport class DNAFilesStore extends Store<DNAFilesState> {\n constructor() {\n super(createInitialState());\n }\n\n public updateDnaFiles(dnaFiles: DnaFileModel[]): void {\n this.update({dnaFiles: dnaFiles});\n }\n\n public updateDnaFile(dnaFile: DnaFileModel) {\n const dnaFiles = this.getValue().dnaFiles.map(x => x.name === dnaFile.name ? dnaFile : x);\n this.update({dnaFiles: dnaFiles});\n }\n}\n\nexport const dnaFilesStore = new DNAFilesStore();","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {DnaFileModel} from \"../../models/dnaFlies.models\";\nimport {dnaFilesQuery} from \"../../stores/dnaFiles\";\nimport {dnaFilesService} from \"../../services/dnaFiles.service\";\nimport {ISortingState} from \"../../../common/sorting/models/sorting-state\";\nimport {SortingDirection} from \"../../../common/sorting/models/sorting-destination\";\nimport {handleCompare} from \"../../../common/sorting/helpers/handle-compare\";\nimport {notificationsQuery} from \"../../../notifications/stores/notifications\";\nimport {NotificationType} from \"../../../notifications/models/notifications.models\";\nimport {notificationsService} from \"../../../notifications/services/notifications.service\";\nimport {DnaFilesFilters} from \"../../constants/dnaFiles.constants\";\nimport { pageSizes } from '../../../common/pagination/models/page-sizes';\nimport { IPaginationState } from '../../../common/pagination/models/pagination-state';\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\n\nexport enum SortingSource {\n none,\n displayName = 'displayName',\n date = 'date',\n isFileSynced = 'isFileSynced'\n}\n\ninterface DNAFilesState extends ISortingState, IPaginationState {\n isLoading: boolean;\n dnaFilesView: DnaFileModel[];\n dnaFilesAll: DnaFileModel[];\n selectedFilter: string;\n searchQuery: string;\n triggerView: boolean;\n}\n\nexport function useFacade(): [\n DNAFilesState,\n (source: string, direction: SortingDirection) => void,\n (value: string) => void,\n (fileName: string) => void,\n (value) => void,\n (fileName: string, isSynchronized: boolean) => void,\n (fileName: string) => void,\n (page: number) => void,\n (value) => void,\n () => number[]\n] {\n const [state, setState] = useState({\n isLoading: true,\n dnaFilesView: [],\n dnaFilesAll: [],\n sortingColumns: [\n {title: 'Barcode', source: SortingSource.displayName, direction: SortingDirection.Asc},\n {title: 'Date', source: SortingSource.date, direction: SortingDirection.Asc},\n {title: 'Sync to Patient Chart', source: SortingSource.isFileSynced, direction: SortingDirection.Asc},\n ],\n sortingSource: SortingSource.none,\n selectedFilter: DnaFilesFilters.all,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[0],\n searchQuery: '',\n triggerView: false\n } as DNAFilesState);\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n const sortingColumns = [...state.sortingColumns];\n\n if (state.sortingSource === source) {\n const newDirection = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n const itemIndex = sortingColumns.findIndex(item => item.source === source);\n sortingColumns[itemIndex].direction = newDirection;\n } \n\n setState(state => ({\n ...state,\n sortingSource: source,\n columns: sortingColumns,\n triggerView: true\n }));\n }\n\n const handleChangePage = (page: number) => {\n setState(state => ({\n ...state,\n selectedPage: page,\n triggerView: true\n }))\n }\n\n const handlePageSizeChange = (value) => {\n if (value === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1,\n triggerView: true\n }))\n }\n\n const getAllAvailablePages = (): number[] => {\n return getAvailablePages(state);\n }\n\n const handleSearch = (value: string) => {\n setState({\n ...state,\n selectedPage: 1,\n searchQuery: value,\n triggerView: true\n });\n }\n\n const handleSelect = (filter: string) => {\n if (filter === DnaFilesFilters.failed) {\n const failedDnaNotifications = notificationsQuery.getNotificationsByType(NotificationType.DnaKitFailed);\n failedDnaNotifications.forEach(notification => {\n notificationsService.delete(notification.id);\n });\n }\n\n setState({\n ...state,\n selectedPage: 1,\n selectedFilter: filter,\n triggerView: true\n });\n }\n\n const filterDnaFiles = (files: DnaFileModel[], filter: string): DnaFileModel[] => {\n switch (filter) {\n case DnaFilesFilters.failed: return files.filter(c => c.isFileFailed === true)\n case DnaFilesFilters.synchronized: return files.filter(c => c.isFileSynced === true)\n case DnaFilesFilters.notSynchronized: return files.filter(c => c.isFileSynced === false)\n case DnaFilesFilters.all: return files;\n\n default: return files;\n }\n }\n\n const getDnaFilesView = (dnaFiles: DnaFileModel[]): [number, DnaFileModel[]] => {\n const filteredFiles = filterDnaFiles(dnaFiles, state.selectedFilter)\n \n const searchedFiles = state.searchQuery \n ? filteredFiles.filter(x => x.displayName?.includes(state.searchQuery))\n : filteredFiles;\n\n const totalLenght = searchedFiles.length;\n\n const from = (state.selectedPage - 1) * state.pageSize;\n const to = state.selectedPage * state.pageSize;\n\n const direction = state.sortingColumns.find(x => x.source === state.sortingSource)?.direction;\n\n const dnaFilesView = searchedFiles\n .sort((a1, a2) => handleCompare(a1, a2, direction, state.sortingSource))\n .slice(from, to);\n\n return [totalLenght, dnaFilesView];\n }\n\n const handleSyncStatusChange = (fileName: string, isSynchronized: boolean) => {\n const file = state.dnaFilesAll.find(c => c.name === fileName);\n if (file) {\n dnaFilesService.syncStatusChange({\n fileName: file.name,\n isSynchronized: isSynchronized\n });\n }\n }\n\n const handleRetry = (fileName: string) => {\n const originFile = state.dnaFilesAll.find(c => c.name === fileName);\n if (originFile) {\n const files = state.dnaFilesView;\n files.find(c => c.name === fileName).retrying = true;\n\n setState({\n ...state,\n dnaFilesView: files\n });\n\n dnaFilesService.retryFile(fileName)\n .subscribe(() => {\n files.find(c => c.name === fileName).retrying = false;\n setState(state => ({\n ...state,\n dnaFilesView: files\n }));\n });\n }\n }\n\n const handleDownloadClick = (fileName: string) => {\n const files = state.dnaFilesView;\n files.find(c => c.name === fileName).downloading = true;\n\n setState({\n ...state,\n dnaFilesView: files\n });\n\n dnaFilesService.getFileSize(fileName);\n\n dnaFilesService.downloadFile(fileName)\n .subscribe(() => {\n files.find(c => c.name === fileName).downloading = false;\n setState(state => ({\n ...state,\n dnaFilesView: files\n }));\n });\n }\n\n useEffect(() => {\n if (!state.triggerView) {\n return\n }\n\n const [totalCount, viewFiles] = getDnaFilesView(state.dnaFilesAll);\n\n setState(state => ({\n ...state,\n totalCount: totalCount,\n dnaFilesView: viewFiles,\n triggerView: false\n }))\n\n }, [state.triggerView])\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<DnaFileModel[]>(dnaFilesQuery.dnaFiles$, dnaFiles => {\n setState(state => (\n {\n ...state,\n dnaFilesAll: dnaFiles,\n triggerView: true,\n isLoading: !dnaFiles.length\n }))\n }),\n ];\n\n dnaFilesService.getAll();\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleSorting,\n handleSearch,\n handleDownloadClick,\n handleSelect,\n handleSyncStatusChange,\n handleRetry,\n handleChangePage,\n handlePageSizeChange,\n getAllAvailablePages\n ];\n}","import { Query } from \"@datorama/akita\";\nimport { DNAFilesState, dnaFilesStore, DNAFilesStore } from \"./dnaFiles.store\";\nimport { DnaFileModel } from \"../../models/dnaFlies.models\";\n\nexport class DNAFilesQuery extends Query<DNAFilesState> {\n\n dnaFiles$ = this.select(state => state.dnaFiles);\n\n constructor(protected store: DNAFilesStore) {\n super(store);\n }\n\n public getFiles(): DnaFileModel[] {\n return this.getValue().dnaFiles;\n }\n}\n\nexport const dnaFilesQuery = new DNAFilesQuery(dnaFilesStore);","import Axios from 'axios-observable';\nimport { Observable } from 'rxjs';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { dnaFilesStore, DNAFilesStore } from \"../stores/dnaFiles\";\nimport {UpdateDnaFileSynchronizationStatusModel} from \"../models/dnaFlies.models\";\nconst FileDownload = require('js-file-download');\n\nexport class DNAFilesService{\n constructor(private dnaFilesStore : DNAFilesStore) { }\n\n private url = `${process.env.REACT_APP_API_URL}DNAFiles`;\n\n public getAll(): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.get(`${this.url}`, config)\n .pipe()\n .subscribe(\n response => this.dnaFilesStore.updateDnaFiles(response.data),\n error => snackService.commonErrorHandler(error)\n );\n }\n \n public downloadFile(fileName: string): Observable<boolean> {\n snackService.info('File downloading has been started.');\n\n return new Observable<boolean>(observer => {\n Axios.get(`${this.url}/download/?fileName=${fileName}`,\n {\n headers: authHeader(),\n responseType: 'blob'\n })\n .pipe()\n .subscribe(\n (response) => {\n FileDownload(response.data, fileName);\n snackService.success('DNA File successfully downloaded!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public retryFile(fileName: string): Observable<boolean> {\n snackService.info('File retry has been started.');\n\n const config = {\n headers: authHeader()\n };\n\n return new Observable<boolean>(observer => {\n Axios.put(`${this.url}/retry?fileName=${fileName}`, null, config)\n .pipe()\n .subscribe(\n () => {\n snackService.success('DNA File successfully retried!');\n observer.next(true);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getFileSize(fileName: string): void {\n Axios.get(`${this.url}/Size/?fileName=${fileName}`,\n {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n snackService.info(`File size is ${response.data}MB. Downloading may take some time. Please do not reload this page`);\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public syncStatusChange(model: UpdateDnaFileSynchronizationStatusModel): void {\n const config = { headers: authHeader() };\n Axios.put(`${this.url}/synchronizationStatus`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n this.dnaFilesStore.updateDnaFile(response.data);\n snackService.success('DNA File synchronization status has been changed!');\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n}\n\nexport const dnaFilesService = new DNAFilesService(dnaFilesStore);","import {PaymentPeriodModel} from \"./paymentPeriod.models\";\nimport {PaymentBenefitModel} from \"./paymentBenefit.models\";\nimport {StateModel} from \"../../account/models/address.model\";\nimport { PaymentStrategy, PaymentPriceType } from \"./paymentPrice.models\";\nimport { ProductType } from \"../../products/enums/productType\";\n\nexport enum PaymentPlanType\n{\n Default = 0,\n Upsell = 1\n}\n\nexport enum PaymentPlanId {\n WildHealthLight = 15000,\n PrecisionCarePackage = 12000,\n HealthCoachingTier = 14000,\n SinglePlan = 10000,\n}\n\n/**\n * Represents payment plan simple model\n */\nexport interface PaymentPlanSimpleModel {\n id: number;\n name: string;\n displayName: string;\n isTrial: boolean;\n isFounder: boolean;\n type: PaymentPlanType;\n}\n\n/**\n * Represents payment plan\n */\nexport interface PaymentPlanModel extends PaymentPlanSimpleModel {\n startPrice: number;\n startStartupFee: number;\n title: string;\n order: number;\n insuranceStates: StateModel[];\n benefits: PaymentBenefitModel[];\n periods: PaymentPeriodModel[];\n isLimited: boolean;\n limitationReason: string;\n mostPopular: boolean;\n startOriginalPrice: number;\n inclusions?: PaymentIncludeModel[];\n}\n\nexport interface OfferPaymentPlanModel {\n paymentPlanId: number;\n paymentPeriodId: number;\n patientId: number;\n}\n\nexport interface PaymentPlanFilterModel {\n id: number;\n periodId: number;\n name: string;\n isSelected: boolean;\n}\n\nexport interface PaymentIncludeModel {\n text: string;\n}\n\nexport interface CreatePriceModel {\n strategy: PaymentStrategy;\n originalPrice: number;\n discount: number;\n price: number;\n isAutoRenewal: boolean;\n startupFee: number;\n discountInsurance: number;\n type: PaymentPriceType;\n}\n\n\nexport enum InclusionOption {\n NoOne = 5,\n FirstFree = 10,\n FirstAnnualFree = 15,\n Limited = 20,\n Unlimited = 25\n}\n\nexport const InclusionOptionNames: { [option: number]: string } = {\n [InclusionOption.NoOne]: 'No One',\n [InclusionOption.FirstFree]: 'First Free',\n [InclusionOption.FirstAnnualFree]: 'First Annual Free',\n [InclusionOption.Limited]: 'Limited',\n [InclusionOption.Unlimited]: 'Unlimited'\n}\n\nexport interface InclusionModel {\n productType: ProductType;\n option: InclusionOption;\n count: number;\n}","import {\n Box,\n FormControl, IconButton,\n MenuItem, Select,\n Table,\n TableBody,\n TableContainer,\n TableFooter,\n TableHead,\n TableSortLabel\n} from '@material-ui/core';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport FaceIcon from '@material-ui/icons/Face';\nimport Chip from '@material-ui/core/Chip'\nimport { colors } from \"../../../common/constants/colors\";\nimport moment from \"moment\";\nimport React from 'react';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { PaginationComponent } from '../../../common/pagination/components/paginationComponent/PaginationComponent';\nimport { pageSizes } from '../../../common/pagination/models/page-sizes';\nimport {\n DnaFilesFilters,\n DnaFilesSynchronizationFilters,\n DnaFileSynchronizationStatuses\n} from '../../constants/dnaFiles.constants';\nimport { useFacade } from './dnaFilesMonitorComponent.hooks';\nimport ReplayIcon from '@material-ui/icons/Replay';\n\nexport const DNAFilesMonitorComponent: React.FC = () => {\n const [\n {\n isLoading,\n dnaFilesView,\n sortingColumns,\n sortingSource,\n selectedFilter,\n pageSize,\n totalCount,\n selectedPage\n },\n handleSorting,\n handleSearch,\n handleDownloadClick,\n handleSelect,\n handleSyncStatusChange,\n handleRetry,\n handlePageChange,\n handlePageSizeChange,\n getAllAvailablePages\n ] = useFacade();\n\n const emptyPlaceholder = () => {\n return <span style={{color: '#999999'}}>(empty)</span>\n }\n\n const renderTable = () => {\n if (isLoading) {\n return <WildHealthLinearProgress/>\n }\n\n if (!isLoading && (!dnaFilesView || !dnaFilesView.length)) {\n return <WildHealthPlaceHolder message=\"No current records found\"/>\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n sortingColumns.map((item, index) =>\n <WildHealthTableCell style={{width: '16%'}} key={index}>\n <TableSortLabel\n id={`dna-files-monitor-sorting-${item.title}`}\n active={sortingSource === item.source}\n direction={sortingSource === item.source ? item.direction : 'asc'}\n onClick={() => handleSorting(item.source, item.direction)}\n >\n {item.title}\n </TableSortLabel>\n </WildHealthTableCell>\n )\n }\n <WildHealthTableCell style={{width: '10%'}}>\n Download\n </WildHealthTableCell>\n {\n selectedFilter === DnaFilesFilters.notSynchronized &&\n <WildHealthTableCell style={{width: '10%'}}>\n Retry\n </WildHealthTableCell>\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n dnaFilesView.map((file, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell> {file.displayName ?? emptyPlaceholder() } { file.isFileTagged && <Chip style={{ backgroundColor: colors.average1}} icon={<FaceIcon />} label=\"DNA not matched\" />} </WildHealthTableCell>\n <WildHealthTableCell> {moment(file.date).format(\"L\") ?? emptyPlaceholder()} </WildHealthTableCell>\n <WildHealthTableCell>\n {\n !file.isFileFailed &&\n <Box width={0.5}>\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select style={{background: '#FFF'}}\n value={file.isFileSynced.toString()}\n onChange={(v) => handleSyncStatusChange(file.name, v.target.value as boolean)}>\n {\n Array.from(DnaFileSynchronizationStatuses).map(status => {\n return <MenuItem key={status[0]}\n value={status[1]}>{status[0]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n }\n </WildHealthTableCell>\n <WildHealthTableCell>\n {\n !file.isFileFailed &&\n <>\n {\n file.downloading\n ? <WildHealthLinearProgress/>\n : <ProtectedElement\n permissions={[PermissionType.AddonOrders]}\n element={\n <span\n id={`dna-files-monitor-download-${file.name}`}\n className='pointer-link'\n onClick={() => handleDownloadClick(file.name)}\n >\n {<GetAppIcon/>}\n </span>\n }\n />\n }\n </>\n }\n </WildHealthTableCell>\n {\n selectedFilter === DnaFilesFilters.notSynchronized &&\n <WildHealthTableCell>\n {\n file.retrying\n ? <WildHealthLinearProgress/>\n : <ProtectedElement\n permissions={[PermissionType.AddonOrders]}\n element={\n <IconButton\n id={`dna-files-monitor-retry-${file.name}`}\n onClick={() => handleRetry(file.name)}>\n <ReplayIcon/>\n </IconButton>\n }\n />\n }\n </WildHealthTableCell>\n }\n </WildHealthTableRow>\n )\n }\n </TableBody>\n <TableFooter>\n <WildHealthTableRow style={{ backgroundColor: \"white\" }}>\n <WildHealthTableCell colSpan={7}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={pageSize}\n selectedPage={selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableFooter>\n </Table>\n </TableContainer>\n )\n }\n\n return (\n <>\n <Box my={2} display=\"flex\" justifyContent=\"space-between\">\n <SearchComponent handleSearch={handleSearch} placeholder=\"Search by barcode\"/>\n\n <Box width={300}>\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{background: '#FFF'}}\n id=\"demo-simple-select-outlined\"\n value={selectedFilter}\n onChange={(v) => handleSelect(v.target.value)}\n >\n {\n Array.from(DnaFilesSynchronizationFilters).map(status =>\n <MenuItem\n key={status[1]}\n value={status[1]}\n >\n {status[0]}\n </MenuItem>\n )\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <WildHealthContainer margin={0} minHeight={'100%'}>\n {renderTable()}\n </WildHealthContainer>\n </>\n );\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from '../../../../models/menu.models';\nimport { DNAFilesMonitorComponent } from \"../../components/dnaFilesMonitorComponent/DNAFilesMonitorComponent\";\n\nexport const DNAFilesMonitorPage: React.FC = () => {\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n title={TitlesService.dnaFilesTitle}\n pageName={PagesNamesService.dnaFiles}\n selectedMenuItem={MenuItemTypes.DNAFiles}\n >\n <DNAFilesMonitorComponent/>\n </AuthenticatedLayoutComponent>\n )\n}","import {Store, StoreConfig} from '@datorama/akita';\nimport {PaymentPeriodModel} from \"../../models/paymentPeriod.models\";\nimport {PaymentPlanId, PaymentPlanModel, PaymentPlanType} from \"../../models/paymentPlan.models\";\nimport {PaymentCouponModel, PaymentPriceModel} from \"../../models/paymentPrice.models\";\nimport {EmployerProductModel} from \"../../models/employerProduct.model\";\nimport { PromoCodeVewModel } from '../../models/paymentCoupon.model';\n\nexport enum PaymentSteps {\n SelectFounder = 0,\n SelectPlan = 1,\n SelectPeriod = 2,\n Checkout = 3\n}\n\n/**\n * Represents payment plans state\n */\nexport interface PaymentPlansState {\n plans: PaymentPlanModel[];\n trialPlan: PaymentPlanModel;\n regularPlans: PaymentPlanModel[];\n activationPlans: PaymentPlanModel[];\n founderPlans: PaymentPlanModel[];\n proposedPlans: PaymentPlanModel[];\n upsellPlans: PaymentPlanModel[];\n activePaymentPlans: PaymentPlanModel[];\n selectedPlan: PaymentPlanModel | null;\n selectedPeriod: PaymentPeriodModel | null;\n selectedPrice: PaymentPriceModel | null;\n isCouponApplied: boolean;\n couponCode: string;\n coupon:PaymentCouponModel;\n employerProduct: EmployerProductModel;\n promoCodes: PromoCodeVewModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): PaymentPlansState {\n return {\n plans: [],\n trialPlan: null,\n regularPlans: [],\n activationPlans: null,\n founderPlans: [],\n proposedPlans: [],\n upsellPlans: [],\n activePaymentPlans: [],\n selectedPlan: null,\n selectedPeriod: null,\n selectedPrice: null,\n isCouponApplied: false,\n couponCode: '',\n coupon:null,\n employerProduct: null,\n promoCodes: []\n };\n}\n\n/**\n * Provides payment plans state management\n */\n@StoreConfig({name: 'paymentPlans', resettable: true })\nexport class PaymentPlansStore extends Store<PaymentPlansState> {\n constructor() {\n super(createInitialState());\n }\n\n public updatePlans(plans: PaymentPlanModel[]): void {\n const trialPlan = plans.find(x => x.isTrial);\n const regularPlans = plans.filter(x => !x.isTrial && !x.isFounder && x.type === PaymentPlanType.Default);\n const activationPlans = plans.filter(el => el.id === PaymentPlanId.HealthCoachingTier || el.id === PaymentPlanId.WildHealthLight)\n const proposedPlans = plans.filter(x=> !x.isTrial && !x.isFounder && !x.isLimited && x.type === PaymentPlanType.Default);\n const founderPlans = plans.filter(x => !x.isTrial && x.isFounder && x.type === PaymentPlanType.Default);\n const upsellPlans = plans.filter(x => x.type === PaymentPlanType.Upsell);\n const activePaymentPlans = plans.filter(x => !x.isTrial && !x.isFounder && !x.isLimited)\n\n this.update({\n plans: plans,\n trialPlan: trialPlan,\n regularPlans: regularPlans,\n activationPlans: activationPlans,\n founderPlans: founderPlans,\n proposedPlans: proposedPlans,\n upsellPlans: upsellPlans,\n activePaymentPlans: activePaymentPlans\n });\n }\n\n public resetCoupon(): void {\n this.update({isCouponApplied: false, couponCode: '',coupon: null});\n }\n\n public resetPeriodPrices() : void {\n const selectedPeriod = this.getValue().selectedPeriod;\n\n if(!selectedPeriod) return;\n\n selectedPeriod.prices = selectedPeriod.prices.filter(c=> !c.isExclusive);\n\n this.update({selectedPeriod});\n }\n\n public setCouponApplied(coupon: PaymentCouponModel) : void{\n if(!coupon){\n return;\n }\n const {code} = coupon;\n this.update({isCouponApplied: true, couponCode: code, coupon});\n }\n\n public addPromoCode(model: PromoCodeVewModel) {\n this.update({ promoCodes: [...this.getValue().promoCodes, model] });\n }\n\n public editPromoCode(model: PromoCodeVewModel) {\n const promoCodes = this.getValue().promoCodes.map(p => p.id === model.id ? model : p);;\n this.update({ promoCodes: promoCodes });\n }\n\n public deletePromoCode(promoCodeId: number) {\n const promoCodes = this.getValue().promoCodes.filter(x => x.id !== promoCodeId);\n this.update({ promoCodes: promoCodes });\n }\n}\n\nexport const paymentPlansStore = new PaymentPlansStore();\n","import { OrderType } from \"../../orders/models/orders.models\";\nimport LabCorp from '@img/companies/labCorp.png';\nimport Quest from '@img/companies/quest.png';\nimport Boston from '@img/companies/bostonHeart.png';\n\nexport enum AddOnProvider {\n ImageMark = 1,\n Elysium = 100,\n LabCorp = 200,\n Quest = 201,\n Boston = 202,\n}\n\nexport const addOnProvidersNames = new Map<AddOnProvider, string>([\n [AddOnProvider.ImageMark, 'ImageMark'],\n [AddOnProvider.Elysium, 'Elysium'],\n [AddOnProvider.LabCorp, 'LabCorp'],\n [AddOnProvider.Quest, 'Quest'],\n [AddOnProvider.Boston, 'Boston Heart'],\n]);\n\nexport const addOnProvidersImages = new Map<AddOnProvider, string>([\n [AddOnProvider.ImageMark, 'ImageMark'],\n [AddOnProvider.Elysium, 'Elysium'],\n [AddOnProvider.LabCorp, LabCorp],\n [AddOnProvider.Quest, Quest],\n [AddOnProvider.Boston, Boston],\n]);\n\nexport interface AddOnModel {\n id: number;\n alternativeOffer: string;\n integrationId: string;\n name: string;\n description: string;\n instructions: string;\n price: number;\n orderType: OrderType;\n provider: AddOnProvider;\n alternativeAddon: AddOnModel;\n children: AddOnModel[];\n needSpecification: boolean;\n}\n\nexport interface AddOnFilterModel {\n name: string;\n isSelected: boolean;\n type: number;\n}\n\nexport interface SelectAddOnModel extends AddOnModel {\n isSelected: boolean;\n}\n\nexport const addOnsList = [\n {\n name: 'Bloodwork',\n isSelected: false,\n type: OrderType.Lab,\n },\n {\n name: 'Epigenetic Age',\n isSelected: false,\n type: OrderType.Epigenetic,\n },\n {\n name: 'DNA',\n isSelected: false,\n type: OrderType.Dna,\n },\n {\n name: 'N/A',\n isSelected: false,\n type: OrderType.Default,\n },\n]\n\nexport interface CreateAddOnModel {\n integrationId: string;\n name: string;\n price: number;\n orderType: OrderType;\n provider: AddOnProvider;\n}\n\nexport interface UpdateAddOnModel {\n id: number;\n alternativeOffer: string | null;\n integrationId: string;\n name: string;\n description: string;\n instructions: string;\n price: number;\n orderType: OrderType;\n provider: AddOnProvider;\n alternativeAddon: AddOnModel | null;\n}\n","import {\n PaymentPlansState,\n paymentPlansStore,\n PaymentPlansStore\n} from './paymentPlans.store';\nimport {Query} from '@datorama/akita';\nimport {PaymentPlanModel} from \"../../models/paymentPlan.models\";\nimport {PaymentPeriodModel} from \"../../models/paymentPeriod.models\";\nimport {PaymentCouponModel, PaymentPriceModel} from \"../../models/paymentPrice.models\";\nimport { EmployerProductModel } from '../../models/employerProduct.model';\n\n/**\n * Provides payment plan queries\n */\nexport class PaymentPlansQuery extends Query<PaymentPlansState> {\n\n plans$ = this.select(state => state.plans);\n trialPlan$ = this.select(state => state.trialPlan);\n regularPlans$ = this.select(state => state.regularPlans);\n activationPlans$ = this.select(state => state.activationPlans);\n founderPlans$ = this.select(state => state.founderPlans);\n proposedPlans$ = this.select(state => state.proposedPlans);\n upsellPlans$ = this.select(state => state.upsellPlans);\n activePaymentPlans$ = this.select(state => state.activePaymentPlans);\n selectedPlan$ = this.select(state => state.selectedPlan);\n selectedPeriod$ = this.select(state => state.selectedPeriod);\n selectedPrice$ = this.select(state => state.selectedPrice);\n isCouponApplied$ = this.select(state=> state.isCouponApplied);\n coupon$ = this.select(state=> state.coupon);\n couponCode$ = this.select(state=> state.couponCode);\n employerProduct$ = this.select(state=> state.employerProduct);\n promoCodes$ = this.select(state => state.promoCodes);\n\n constructor(protected store: PaymentPlansStore) {\n super(store);\n }\n\n /**\n * Returns selected payment plan\n */\n getSelectedPlan(): PaymentPlanModel {\n return this.getValue().selectedPlan;\n }\n\n /**\n * Returns selected payment period\n */\n getSelectedPeriod(): PaymentPeriodModel {\n return this.getValue().selectedPeriod;\n }\n\n /**\n * Returns selected payment price\n */\n getSelectedPrice(): PaymentPriceModel {\n return this.getValue().selectedPrice;\n }\n\n /**\n * Returns coupon code\n */\n public getCouponCode(): string {\n return this.getValue().couponCode;\n }\n\n /**\n * Returns coupon\n */\n public getCoupon(): PaymentCouponModel {\n return this.getValue().coupon;\n }\n\n /**\n * Returns is Payment Coupon Applied\n */\n public isPaymentCouponApplied() : boolean {\n return this.getValue().isCouponApplied;\n }\n\n /**\n * Returns banerCdnUrl for employer\n */\n public getEmployerProduct(): EmployerProductModel {\n return this.getValue().employerProduct;\n }\n}\n\nexport const paymentPlansQuery = new PaymentPlansQuery(paymentPlansStore);","import Axios from 'axios-observable';\nimport {Observable, Subject} from \"rxjs\";\nimport {API_URL} from \"../../../config\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {CallbackModel} from \"../../common/models/callback.model\";\nimport {snackService} from '../../common/snack/state';\nimport {ApplyCouponModel} from \"../models/payment.models\";\nimport {PaymentPeriodModel} from \"../models/paymentPeriod.models\";\nimport {OfferPaymentPlanModel, PaymentPlanModel} from \"../models/paymentPlan.models\";\nimport {PaymentPriceModel} from \"../models/paymentPrice.models\";\nimport {paymentPlansStore, PaymentPlansStore} from \"../stores/paymentPlansStore\";\nimport { EmployerProductModel } from '../models/employerProduct.model';\nimport { PromoCodeVewModel, CreatePromoCodeModel } from '../models/paymentCoupon.model';\n\n/**\n * Provides methods for working with payment plans and promo codes\n */\nexport class PaymentPlansService {\n\n public trialOrderOnShow = new Subject<CallbackModel<PaymentPlanModel>>();\n\n public limitedPlanOnSelect = new Subject<CallbackModel<PaymentPlanModel>>();\n\n constructor(private paymentPlansStore: PaymentPlansStore) {\n }\n\n /**\n * Returns all payment plans\n */\n public getById(id: number, practiceId: number, employerKey = \"\" ): Observable<PaymentPlanModel> {\n let url = `${API_URL}paymentPlans?practiceId=${practiceId}&employerKey=${employerKey ?? ''}`;\n return new Observable<PaymentPlanModel>(observer => {\n Axios.get<PaymentPlanModel[]>(url)\n .pipe()\n .subscribe(\n (response) => {\n this.paymentPlansStore.updatePlans(response.data);\n observer.next(response.data.find(x => x.id === id));\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns all payment plans\n */\n public get(practiceId: number, employerKey = \"\" ): Observable<PaymentPlanModel[]> {\n let url = `${API_URL}paymentPlans?practiceId=${practiceId}&employerKey=${employerKey ?? ''}`;\n return new Observable<PaymentPlanModel[]>(observer => {\n Axios.get(url)\n .pipe()\n .subscribe(\n (response) => {\n this.paymentPlansStore.updatePlans(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns all active payment plans\n */\n public getActive(practiceId: number, employerKey: string | null = null): Observable<PaymentPlanModel[]> {\n let url = `${API_URL}paymentPlans/active?practiceId=${practiceId}&employerKey=${employerKey ?? ''}`;\n return new Observable<PaymentPlanModel[]>(observer => {\n Axios.get<PaymentPlanModel[]>(url)\n .pipe()\n .subscribe(\n (response) => {\n this.paymentPlansStore.updatePlans(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Selects payment plan\n * @param plan\n */\n public selectPlan(plan: PaymentPlanModel | null, asNotLimited?: boolean): void {\n if (plan) {\n if (plan.isLimited && !asNotLimited) {\n return this.limitedPlanOnSelect.next({\n data: plan,\n callback: () => {\n }\n });\n }\n\n if (this.paymentPlansStore.getValue().selectedPlan?.id !== plan.id) {\n this.paymentPlansStore.resetCoupon();\n this.paymentPlansStore.resetPeriodPrices();\n }\n\n this.paymentPlansStore.update({\n selectedPlan: Object.assign({}, plan),\n selectedPeriod: null\n });\n }\n }\n\n /**\n * Selects payment period\n * @param period\n */\n public selectPeriod(period: PaymentPeriodModel): void {\n if (this.paymentPlansStore.getValue().selectedPeriod?.id !== period.id) {\n this.paymentPlansStore.resetCoupon();\n this.paymentPlansStore.update({selectedPeriod: Object.assign({}, period)});\n }\n\n this.paymentPlansStore.update({\n selectedPeriod: Object.assign({}, period)\n });\n }\n\n public updateSelectedPeriod(period: PaymentPeriodModel): void {\n this.paymentPlansStore.update({\n selectedPeriod: Object.assign({}, period)\n });\n }\n\n public showTrialPlan(plan: PaymentPlanModel): Observable<PaymentPlanModel> {\n return new Observable(observer => {\n this.trialOrderOnShow.next({\n data: plan,\n callback: (result: PaymentPlanModel) => {\n if (result) {\n observer.next(plan);\n }\n observer.complete();\n }\n });\n });\n }\n\n public applyCoupon(model: ApplyCouponModel): Observable<PaymentPriceModel[]> {\n const url = `${API_URL}paymentPlans/coupon/apply`;\n return new Observable(observer => {\n Axios.post(url, model)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public newPromoCodeApply(model: ApplyCouponModel): Observable<PaymentPriceModel[]> {\n const url = `${API_URL}PromoCodes/apply`;\n\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(url, model, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public resetCoupon(){\n paymentPlansStore.resetCoupon();\n }\n\n public offerPaymentPlan(model: OfferPaymentPlanModel): void {\n const url = `${API_URL}paymentPlans/offer`;\n Axios.post(url, model, {headers: authHeader()})\n .pipe()\n .subscribe(\n () => {\n snackService.success('The offered plan has been successfully sent!');\n },\n error => {\n snackService.commonErrorHandler(error);\n }\n );\n }\n\n public getEmployerProduct(employerKey: string): Observable<EmployerProductModel> {\n let url = `${API_URL}EmployerProducts/${employerKey}`;\n return new Observable<EmployerProductModel>(observer => {\n Axios.get<EmployerProductModel>(url)\n .pipe()\n .subscribe(\n (response) => {\n this.paymentPlansStore.update({ employerProduct: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getEmployerProductById(id: number): Observable<EmployerProductModel> {\n let url = `${API_URL}EmployerProducts/ById/${id}`;\n return new Observable<EmployerProductModel>(observer => {\n Axios.get<EmployerProductModel>(url)\n .pipe()\n .subscribe(\n (response) => {\n this.paymentPlansStore.update({ employerProduct: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Returns all promo codes\n */\n public getPromoCodes(): Observable<PromoCodeVewModel[]> {\n const config = {\n headers: authHeader()\n };\n return new Observable<PromoCodeVewModel[]>(observer => {\n Axios.get(`${API_URL}PromoCodes`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.paymentPlansStore.update({ promoCodes: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n \n public createPromoCode(model: CreatePromoCodeModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${API_URL}PromoCodes`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.paymentPlansStore.addPromoCode(response.data)\n snackService.success('PromoCode successfully created');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deletePromoCode(id: number): Observable<any> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${API_URL}PromoCodes/${id}`, config)\n .pipe()\n .subscribe(\n response => {\n snackService.deleteSuccess('PromoCode Was Deleted!');\n this.paymentPlansStore.deletePromoCode(id);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n )\n }\n\n public deactivatePromoCode(promoCodeModel: PromoCodeVewModel): Observable<any> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${API_URL}PromoCodes/deactivate/${promoCodeModel.id}`, config)\n .pipe()\n .subscribe(\n response => {\n snackService.cancelledSuccess('PromoCode Was Deactivated!');\n this.paymentPlansStore.editPromoCode(promoCodeModel);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n )\n }\n}\n\nexport const paymentPlansService = new PaymentPlansService(paymentPlansStore);\n","import {PaymentPlanModel} from \"../models/paymentPlan.models\";\nimport {PaymentPeriodModel} from \"../models/paymentPeriod.models\";\n\nexport const getPaymentPlanFullName = (plan: PaymentPlanModel, period: PaymentPeriodModel) => {\n switch (period.periodInMonths) {\n case 0: return plan.displayName;\n case 1: return plan.displayName + ' ' + period.periodInMonths + ' month';\n default: return plan.displayName + ' ' + period.periodInMonths + ' months';\n }\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PatientShortModel, PatientViewModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { EmployeeType } from \"../../models/employee.enums\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { PaymentPlanFilterModel, PaymentPlanModel } from \"../../../payment/models/paymentPlan.models\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport { getPaymentPlanFullName } from \"../../../payment/helpers/getPlanFullName\";\nimport { locationsService } from \"../../../locations/services/locations.service\";\nimport { LocationFilterModel, LocationModel } from \"../../../locations/models/locations.models\";\nimport { locationsQuery } from \"../../../locations/stores\";\nimport { EmployeeShortModel } from \"../../models/employee.models\";\nimport { employeesQuery } from \"../../stores/employeesStore\";\nimport { employeeService } from \"../../services/employees.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { AddOnFilterModel, addOnsList } from \"../../../addons/models/addOns.models\";\nimport { stateList } from \"../../../common/sorting/models/sorting-state\";\nimport {orderTypeNames} from \"../../../orders/models/orders.models\";\n\nexport interface EmployeeViewModel {\n id: number;\n firstName: string;\n lastName: string;\n isSelected: boolean;\n}\n\nexport interface StateViewModel {\n name: string;\n isSelected: boolean;\n}\n\nexport enum SortingSource {\n none,\n patientName = 'lastName',\n plan = 'plan',\n joinedPractice = 'joinedPractice',\n providers = 'providers',\n licensingProvider = 'licensingProvider',\n coaches = 'coaches',\n location = 'location',\n}\n\nexport interface AllPatientsFilterModel {\n paymentPlans: PaymentPlanFilterModel[];\n providers: EmployeeViewModel[];\n coaches: EmployeeViewModel[];\n locations: LocationFilterModel[];\n searchQuery: string;\n addOns: AddOnFilterModel[],\n state: StateViewModel[],\n\n}\n\ninterface AllPatientsFiltersState {\n isOpen: boolean;\n anchorEl: HTMLButtonElement;\n isPodsOpen: boolean;\n isPlansOpen: boolean;\n isProvidersOpen: boolean;\n isCoachesOpen: boolean;\n isAddOnsOpen: boolean;\n isStateOpen: boolean;\n isAllStateSelected: boolean;\n isAllAddOnsSelected: boolean;\n filters: AllPatientsFilterModel;\n}\n\ninterface ManageAllPatientsState extends IPaginationState, ISortingState {\n isLoading: boolean;\n patients: PatientViewModel[];\n filtersState: AllPatientsFiltersState;\n paymentPlansInitial: PaymentPlanFilterModel[];\n stateInitial: StateViewModel[],\n}\n\nexport function useFacade(): [\n ManageAllPatientsState,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (source: string, direction: SortingDirection) => void,\n (value: string) => void,\n (value: string) => void,\n (searchQuery: string) => void,\n (value: any) => void,\n () => number[],\n (page: number) => void,\n (periodId: number, toSelect: boolean) => void,\n (podId: number, toSelect: boolean) => void,\n (id: number, toSelect: boolean) => void,\n (id: number, toSelect: boolean) => void,\n (name: string, toSelect: boolean) => void,\n () => void,\n (name: string, toSelect: boolean) => void,\n (value: string) => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n patients: [],\n sortingColumns: authQuery.isLicensingPractice() ? [\n { title: 'Patient Name', source: SortingSource.patientName, direction: SortingDirection.Asc },\n { title: 'Start Date', source: SortingSource.joinedPractice, direction: SortingDirection.Desc },\n { title: 'Providers', source: SortingSource.licensingProvider, direction: SortingDirection.Asc },\n { title: 'Health Coaches', source: SortingSource.coaches, direction: SortingDirection.Asc },\n { title: 'Add-Ons'},\n { title: 'State'},\n { title: 'Pod', source: SortingSource.location, direction: SortingDirection.Asc },\n ]\n : [\n { title: 'Patient Name', source: SortingSource.patientName, direction: SortingDirection.Asc },\n { title: 'Start Date', source: SortingSource.joinedPractice, direction: SortingDirection.Desc },\n { title: 'Plan', source: SortingSource.plan, direction: SortingDirection.Asc },\n { title: 'Providers', source: SortingSource.providers, direction: SortingDirection.Asc },\n { title: 'Health Coaches', source: SortingSource.coaches, direction: SortingDirection.Asc },\n { title: 'Add-Ons'},\n { title: 'Discount'},\n { title: 'State'},\n { title: 'Pod', source: SortingSource.location, direction: SortingDirection.Asc },\n ],\n sortingSource: SortingSource.joinedPractice,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[0],\n stateInitial: stateList,\n paymentPlansInitial: [],\n filtersState: {\n isOpen: false,\n anchorEl: null,\n isPodsOpen: false,\n isProvidersOpen: false,\n isCoachesOpen: false,\n isPlansOpen: false,\n isAddOnsOpen: false,\n isStateOpen: false,\n isAllStateSelected: false,\n isAllAddOnsSelected: false,\n filters: {\n paymentPlans: [],\n coaches: [],\n providers: [],\n locations: [],\n searchQuery: '',\n addOns: addOnsList,\n state: stateList,\n },\n },\n } as ManageAllPatientsState);\n\n const handleSelectAllState = () => {\n state.stateInitial.forEach(p => p.isSelected = !state.filtersState.isAllStateSelected);\n state.filtersState.isAllStateSelected = !state.stateInitial.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const handleSelectAllAddOns = () => {\n state.filtersState.filters.addOns.forEach(p => p.isSelected = !state.filtersState.isAllAddOnsSelected);\n state.filtersState.isAllAddOnsSelected = !state.filtersState.isAllAddOnsSelected\n setState(state => ({ ...state }));\n }\n\n const handleClearFilters = () => {\n state.filtersState.filters.paymentPlans.forEach(p => p.isSelected = false);\n state.filtersState.filters.coaches.forEach(p => p.isSelected = false);\n state.filtersState.filters.providers.forEach(p => p.isSelected = false);\n state.filtersState.filters.locations.forEach(p => p.isSelected = false);\n state.filtersState.filters.state.forEach(p => p.isSelected = false);\n state.filtersState.filters.addOns.forEach(p => p.isSelected = false);\n state.filtersState.isAllStateSelected = false;\n state.filtersState.isAllAddOnsSelected = false;\n setState(state => ({ ...state }));\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({ ...state, columns: state.sortingColumns }));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n const filters = state.filtersState.filters;\n\n patientsService.getAll(\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.coaches.filter(i => i.isSelected).map(i => i.id),\n filters.providers.filter(i => i.isSelected).map(i => i.id),\n filters.locations.filter(x => x.isSelected).map(x => x.id),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n filters.searchQuery,\n 0,\n state.pageSize,\n source,\n direction\n ).subscribe(() => {\n setState(state => ({\n ...state,\n selectedPage: 1,\n sortingSource: source,\n }));\n });\n }\n\n const handleSearch = (value: string) => {\n state.filtersState.filters.searchQuery = value;\n setState(state => ({ ...state, isLoading: true, selectedPage: 1 }));\n const sortingColumn = state.sortingColumns.find(i => i.source === state.sortingSource);\n\n const filters = state.filtersState.filters;\n\n patientsService.getAll(\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.coaches.filter(i => i.isSelected).map(i => i.id),\n filters.providers.filter(i => i.isSelected).map(i => i.id),\n filters.locations.filter(x => x.isSelected).map(x => x.id),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n value ?? '',\n 0,\n state.pageSize,\n state.sortingSource,\n sortingColumn.direction\n ).subscribe(() => setState(state => ({ ...state, isLoading: false })));\n }\n\n const handleSearchState = (value: string) => {\n state.filtersState.filters.state = state.stateInitial.filter(el => el.name.toLocaleLowerCase().includes(value.toLocaleLowerCase()))\n state.filtersState.isAllStateSelected = !state.stateInitial.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const handleSearchPlan = (value: string) => {\n state.filtersState.filters.paymentPlans = state.paymentPlansInitial.filter(el => el.name.toLocaleLowerCase().includes(value.toLocaleLowerCase()))\n setState(state => ({ ...state }));\n }\n\n const handleSearchQueryChanges = (searchQuery: string) => {\n state.filtersState.filters.searchQuery = searchQuery\n setState(state => ({ ...state }));\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true,\n pageSize: value,\n selectedPage: 1\n }));\n\n const sortingColumn = state.sortingColumns.find(i => i.source === state.sortingSource);\n\n const filters = state.filtersState.filters;\n\n patientsService.getAll(\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.coaches.filter(i => i.isSelected).map(i => i.id),\n filters.providers.filter(i => i.isSelected).map(i => i.id),\n filters.locations.filter(x => x.isSelected).map(x => x.id),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n filters.searchQuery,\n 0,\n value,\n state.sortingSource,\n sortingColumn.direction\n ).subscribe(() => setState(state => ({ ...state, isLoading: false })));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true,\n selectedPage: page\n }));\n\n const sortingColumn = state.sortingColumns.find(i => i.source === state.sortingSource);\n\n const filters = state.filtersState.filters;\n\n patientsService.getAll(\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.coaches.filter(i => i.isSelected).map(i => i.id),\n filters.providers.filter(i => i.isSelected).map(i => i.id),\n filters.locations.filter(x => x.isSelected).map(x => x.id),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n filters.searchQuery,\n (page - 1) * state.pageSize,\n state.pageSize,\n state.sortingSource,\n sortingColumn.direction\n ).subscribe(() => setState(state => ({ ...state, isLoading: false })));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handleToggleFilters = (event?: React.MouseEvent<HTMLButtonElement>) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({ ...state }));\n }\n\n const handleTogglePlans = () => {\n state.filtersState.isPlansOpen = !state.filtersState.isPlansOpen;\n setState(state => ({ ...state }));\n }\n\n const handleToggleAddOns = () => {\n state.filtersState.isAddOnsOpen = !state.filtersState.isAddOnsOpen;\n setState(state => ({ ...state }));\n }\n\n const handleToggleState = () => {\n state.filtersState.isStateOpen = !state.filtersState.isStateOpen;\n setState(state => ({ ...state }));\n }\n\n const handleToggleProviders = () => {\n state.filtersState.isProvidersOpen = !state.filtersState.isProvidersOpen;\n setState(state => ({ ...state }));\n }\n\n const handleToggleCoaches = () => {\n state.filtersState.isCoachesOpen = !state.filtersState.isCoachesOpen;\n setState(state => ({ ...state }));\n }\n\n const handleTogglePods = () => {\n state.filtersState.isPodsOpen = !state.filtersState.isPodsOpen;\n setState(state => ({ ...state }));\n }\n\n const handleApplyFilters = () => {\n setState(state => ({ ...state, isLoading: true, selectedPage: 1 }));\n const sortingColumn = state.sortingColumns.find(i => i.source === state.sortingSource);\n\n const filters = state.filtersState.filters;\n\n patientsService.getAll(\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.coaches.filter(i => i.isSelected).map(i => i.id),\n filters.providers.filter(i => i.isSelected).map(i => i.id),\n filters.locations.filter(x => x.isSelected).map(x => x.id),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n filters.searchQuery,\n 0,\n state.pageSize,\n state.sortingSource,\n sortingColumn.direction\n ).subscribe(() => setState(state => ({ ...state, isLoading: false })));\n }\n\n const handleOnPaymentChanges = (periodId: number, toSelect: boolean) => {\n const item = state.filtersState.filters.paymentPlans.find(p => p.periodId === periodId);\n\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleOnPodChanges = (podId: number, toSelect: boolean) => {\n const item = state.filtersState.filters.locations.find(p => p.id === podId);\n\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleOnAddOnsChanges = (name: string, toSelect: boolean) => {\n const item = state.filtersState.filters.addOns.find(p => p.name === name);\n\n if (item) {\n item.isSelected = toSelect;\n }\n\n state.filtersState.isAllAddOnsSelected = !state.filtersState.filters.addOns.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const handleOnStateChanges = (name: string, toSelect: boolean) => {\n const item = state.filtersState.filters.state.find(p => p.name === name);\n\n if (item) {\n item.isSelected = toSelect;\n }\n state.filtersState.isAllStateSelected = !state.stateInitial.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const handleProviderChanges = (id: number, toSelect: boolean) => {\n const item = state.filtersState.filters.providers.find(p => p.id === id);\n\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleCoachChanges = (id: number, toSelect: boolean) => {\n const item = state.filtersState.filters.coaches.find(p => p.id === id);\n\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const setPlans = (plans: PaymentPlanModel[]) => {\n state.filtersState.filters.paymentPlans = [];\n let paymentPlansInitial = []\n plans.forEach(plan => {\n if (plan.periods) {\n plan.periods.forEach(period => {\n paymentPlansInitial.push({\n id: plan.id,\n periodId: period.id,\n name: getPaymentPlanFullName(plan, period),\n isSelected: false\n });\n state.filtersState.filters.paymentPlans.push({\n id: plan.id,\n periodId: period.id,\n name: getPaymentPlanFullName(plan, period),\n isSelected: false\n });\n\n });\n }\n })\n\n setState(state => ({ ...state, paymentPlansInitial: paymentPlansInitial }));\n }\n\n const setCoachesAndProviders = (employees: EmployeeShortModel[]) => {\n state.filtersState.filters.coaches = employees.filter(c => c.type === EmployeeType.HealthCoach).map(pod => {\n return {\n id: pod.id,\n firstName: pod.firstName,\n lastName: pod.lastName,\n isSelected: false,\n }\n });\n\n state.filtersState.filters.providers = employees.filter(c => c.type === EmployeeType.Provider).map(pod => {\n return {\n id: pod.id,\n firstName: pod.firstName,\n lastName: pod.lastName,\n isSelected: false,\n }\n });\n\n setState(state => ({ ...state }));\n }\n\n const setPods = (pods: LocationModel[]) => {\n state.filtersState.filters.locations = pods.map(pod => {\n return {\n id: pod.id,\n name: pod.name,\n isSelected: false\n }\n });\n\n setState(state => ({ ...state }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n paymentPlansService.get(authQuery.getCurrentPracticeId()).subscribe(plans => setPlans(plans)),\n onEmit<LocationModel[]>(locationsQuery.availableLocations$, locations => setPods(locations)),\n onEmit<EmployeeShortModel[]>(employeesQuery.couchesAndProviders$, employees => setCoachesAndProviders(employees)),\n onEmit<PatientShortModel[]>(patientsQuery.patients$, patients => {\n setState(state => ({\n ...state,\n patients: patients.map(p => {\n return {\n id: p.id,\n lastName: p.lastName,\n name: `${p.firstName} ${p.lastName}`,\n plan: p.subscription?.displayName,\n joinedPractice: new Date(p.createdAt).getTime(),\n providers: p.employees.filter(x => x.type === EmployeeType.Provider).map(x => {\n return {\n firstName: x.firstName,\n lastName: x.lastName\n }\n }),\n coaches: p.employees.filter(x => x.type === EmployeeType.HealthCoach).map(x => {\n return {\n firstName: x.firstName,\n lastName: x.lastName\n }\n }),\n orderTypes: p.orderTypes.map(x => orderTypeNames.get(x)),\n location: p.location,\n shippingAddress: p.shippingAddress,\n paymentPrice: p.subscription?.paymentPrice\n }\n })\n }))\n }),\n onEmit<number>(patientsQuery.patientsTotalCount$, patientsTotalCount => {\n setState(state => ({\n ...state,\n totalCount: patientsTotalCount\n }))\n }),\n ];\n\n employeeService.getActiveCoachesAndProviders().subscribe();\n locationsService.getAvailable(authQuery.getCurrentPracticeId()).subscribe();\n const sortingColumn = state.sortingColumns.find(i => i.source === state.sortingSource);\n\n patientsService.getAll(\n [],\n [],\n [],\n [],\n [],\n [],\n '',\n 0,\n state.pageSize,\n state.sortingSource,\n sortingColumn.direction\n ).subscribe(() => setState(state => ({ ...state, isLoading: false })));\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleToggleFilters,\n handleToggleAddOns,\n handleToggleState,\n handleTogglePlans,\n handleToggleProviders,\n handleToggleCoaches,\n handleTogglePods,\n handleApplyFilters,\n handleSorting,\n handleSearch,\n handleSearchState,\n handleSearchQueryChanges,\n handlePageSizeChange,\n getAllAvailablePages,\n handlePageChange,\n handleOnPaymentChanges,\n handleOnPodChanges,\n handleProviderChanges,\n handleCoachChanges,\n handleOnStateChanges,\n handleClearFilters,\n handleOnAddOnsChanges,\n handleSearchPlan,\n handleSelectAllState,\n handleSelectAllAddOns,\n ];\n}","import { SortingColumn } from \"./sorting-column\";\n\nexport interface ISortingState {\n sortingColumns: SortingColumn[];\n sortingSource: string;\n activeSource?: string;\n}\n\nexport const stateList = [\n {\n name: 'AL',\n isSelected: false,\n },\n {\n name: 'AK',\n isSelected: false,\n },\n {\n name: 'AZ',\n isSelected: false,\n },\n {\n name: 'AR',\n isSelected: false,\n },\n {\n name: 'CA',\n isSelected: false,\n },\n {\n name: 'CO',\n isSelected: false,\n },\n {\n name: 'CT',\n isSelected: false,\n },\n {\n name: 'DE',\n isSelected: false,\n },\n {\n name: 'FL',\n isSelected: false,\n },\n {\n name: 'GA',\n isSelected: false,\n },\n {\n name: 'HI',\n isSelected: false,\n },\n {\n name: 'ID',\n isSelected: false,\n },\n {\n name: 'IL',\n isSelected: false,\n },\n {\n name: 'IN',\n isSelected: false,\n },\n {\n name: 'IA',\n isSelected: false,\n },\n {\n name: 'KS',\n isSelected: false,\n },\n {\n name: 'KY',\n isSelected: false,\n },\n {\n name: 'LA',\n isSelected: false,\n },\n {\n name: 'ME',\n isSelected: false,\n },\n {\n name: 'MD',\n isSelected: false,\n },\n {\n name: 'MA',\n isSelected: false,\n },\n {\n name: 'MI',\n isSelected: false,\n },\n {\n name: 'MN',\n isSelected: false,\n },\n {\n name: 'MS',\n isSelected: false,\n },\n {\n name: 'MO',\n isSelected: false,\n },\n {\n name: 'MT',\n isSelected: false,\n },\n {\n name: 'NE',\n isSelected: false,\n },\n {\n name: 'NV',\n isSelected: false,\n },\n {\n name: 'NH',\n isSelected: false,\n },\n {\n name: 'NJ',\n isSelected: false,\n },\n {\n name: 'NM',\n isSelected: false,\n },\n {\n name: 'NY',\n isSelected: false,\n },\n {\n name: 'NC',\n isSelected: false,\n },\n {\n name: 'ND',\n isSelected: false,\n },\n {\n name: 'OH',\n isSelected: false,\n },\n {\n name: 'OK',\n isSelected: false,\n },\n {\n name: 'OR',\n isSelected: false,\n },\n {\n name: 'PA',\n isSelected: false,\n },\n {\n name: 'RI',\n isSelected: false,\n },\n {\n name: 'SC',\n isSelected: false,\n },\n {\n name: 'SD',\n isSelected: false,\n },\n {\n name: 'TN',\n isSelected: false,\n },\n {\n name: 'TX',\n isSelected: false,\n },\n {\n name: 'UT',\n isSelected: false,\n },\n {\n name: 'VT',\n isSelected: false,\n },\n {\n name: 'VA',\n isSelected: false,\n },\n {\n name: 'WA',\n isSelected: false,\n },\n {\n name: 'WV',\n isSelected: false,\n },\n {\n name: 'WI',\n isSelected: false,\n },\n {\n name: 'WY',\n isSelected: false,\n },\n]","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n filters: {\n maxHeight: 'calc(100vh - 130px)',\n overflowY: 'auto',\n minWidth: 350,\n marginBottom: 16,\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n avatarProvider: {\n width: 32,\n height: 32,\n backgroundColor: colors.accent2,\n color: colors.black,\n fontSize: 12,\n textTransform: 'uppercase',\n },\n avatarCoaches: {\n width: 32,\n height: 32,\n backgroundColor: colors.accent4,\n color: colors.black,\n fontSize: 12,\n textTransform: 'uppercase',\n },\n avatarEmpty: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 32,\n height: 32,\n borderRadius: '50%',\n border: `2px solid ${colors.gray4}`,\n color: colors.gray4,\n },\n activeIcon: {\n color: colors.main,\n },\n closeIcon: {\n color: colors.main,\n marginRight: 8,\n width: 24,\n height: 24,\n\n },\n divider: {\n borderTop: `2px solid ${colors.separators}`,\n }\n}));\n","import { useEffect, useState } from 'react';\nimport { Subscription } from 'recompose';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { LocationModel } from '../../models/locations.models';\nimport { locationsService } from '../../services/locations.service';\nimport { locationsQuery } from '../../stores';\nimport { authQuery } from \"../../../auth/stores/auth\";\n\nexport enum SortingSource {\n none,\n name = 'name',\n city = 'city',\n state = 'state',\n}\n\ninterface ManageLocationsComponentState extends ISortingState {\n isLoading: boolean;\n locations: LocationModel[],\n targetLocation: LocationModel;\n isActionsOpen: boolean;\n actionsAnchorEl: null | HTMLElement;\n isCreating: boolean;\n}\n\nexport function useFacade(): [\n ManageLocationsComponentState,\n (value: boolean, location: LocationModel, target: HTMLButtonElement) => void,\n (source: string, direction: SortingDirection) => void,\n () => void,\n () => void\n] {\n\n const [state, setState] = useState({\n isLoading: true,\n locations: [],\n targetLocation: null,\n isActionsOpen: false,\n actionsAnchorEl: null,\n sortingColumns: [\n { title: 'Pod Name', source: SortingSource.name, direction: SortingDirection.Asc },\n { title: 'City', source: SortingSource.city, direction: SortingDirection.Asc },\n { title: 'State', source: SortingSource.state, direction: SortingDirection.Asc },\n ],\n sortingSource: SortingSource.none,\n isCreating: false\n } as ManageLocationsComponentState);\n\n const handleToggleActions = (value: boolean, location: LocationModel, target: HTMLButtonElement) => {\n setState(state => ({\n ...state,\n isActionsOpen: value,\n targetLocation: location,\n actionsAnchorEl: target\n }))\n }\n\n const handleCreate = () => {\n setState(state => ({ ...state, isCreating: true }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isCreating: false,\n }));\n }\n locationsService.createLocation().subscribe(model => {\n locationsService.create(model).subscribe(cb, cb);\n }, cb)\n }\n\n const handleEdit = () => {\n locationsService.updateLocation(state.targetLocation).subscribe(model => {\n locationsService.update(model).subscribe();\n });\n\n setState(state => ({\n ...state,\n isActionsOpen: false,\n targetLocation: null,\n actionsAnchorEl: null\n }));\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n let itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({ ...state, columns: state.sortingColumns }));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n locations: state.locations.sort((l1, l2) => handleCompare(l1, l2, direction, source))\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<LocationModel[]>(locationsQuery.availableLocations$, locations => {\n setState(state => ({\n ...state,\n locations: locations\n }))\n }),\n ];\n\n locationsService.getAvailable(authQuery.getCurrentPracticeId())\n .subscribe(() => setState(state => ({\n ...state,\n isLoading: false\n })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleToggleActions,\n handleSorting,\n handleCreate,\n handleEdit\n ];\n}","import {\n Avatar,\n Box, Button,\n Collapse, List,\n ListItem,\n ListItemIcon,\n ListItemText, Popover,\n Table,\n TableBody, TableContainer,\n TableFooter,\n TableHead,\n TableSortLabel,\n Tooltip,\n} from '@material-ui/core';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport moment from \"moment\";\nimport React from 'react';\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { useFacade } from './manageAllPatientsComponent.hooks';\nimport { useStyles } from \"./manageAllPatientsComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { displayLocation } from \"../../../locations/helpers/displayLocation\";\nimport { EmployeeType } from '../../models/employee.enums';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport CloseIcon from '@material-ui/icons/Close';\nimport clsx from 'clsx';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useHistory } from 'react-router';\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent';\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { displayShortName } from '../../../conversations/helpers/messages.converter';\n\nconst filtersPopoverProps: any = {\n id: \"notificationsPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n};\n\nexport const ManageAllPatientsComponent: React.FC = () => {\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const history = useHistory();\n\n const [\n {\n isLoading,\n patients,\n filtersState,\n totalCount,\n sortingColumns,\n sortingSource,\n pageSize,\n selectedPage\n },\n handleToggleFilters,\n handleToggleAddOns,\n handleToggleState,\n handleTogglePlans,\n handleToggleProviders,\n handleToggleCoaches,\n handleTogglePods,\n handleApplyFilters,\n handleSorting,\n handleSearch,\n handleSearchState,\n handleSearchQueryChanges,\n handlePageSizeChange,\n getAllAvailablePages,\n handlePageChange,\n handleOnPaymentChanges,\n handleOnPodChanges,\n handleProviderChanges,\n handleCoachChanges,\n handleOnStateChanges,\n handleClearFilters,\n handleOnAddOnsChanges,\n handleSearchPlan,\n handleSelectAllState,\n handleSelectAllAddOns,\n ] = useFacade();\n\n const cutLongText = (text: string): string => {\n return text.length > 20 ? `${text.slice(0, 20)}...` : text\n }\n\n const emptyPlaceholder = () => {\n return <span style={{ color: '#999999' }}>-</span>\n }\n\n const emptyAvaPlaceholder = () => {\n return <Box className={classes.avatarEmpty}>-</Box>\n }\n\n const renderEmployeesName = (employees) => {\n return employees.map(x => `${x.firstName} ${x.lastName}`).join(', ')\n }\n\n const renderAvatar = (employees, type: number) => {\n if (employees.length === 1) {\n return <Tooltip placement=\"top\" arrow title={`${employees[0].firstName} ${employees[0].lastName}`}>\n <Avatar variant='circle' src={''} className={type === EmployeeType.HealthCoach ? classes.avatarCoaches : classes.avatarProvider}>\n {displayShortName(employees[0].firstName, employees[0].lastName)}\n </Avatar>\n </Tooltip>\n }\n\n if (employees.length > 1) {\n return <Tooltip placement=\"top\" arrow title={renderEmployeesName(employees)}>\n <Avatar variant='circle' src={''} className={type === EmployeeType.HealthCoach ? classes.avatarCoaches : classes.avatarProvider}>\n {employees.length}\n </Avatar>\n </Tooltip>\n }\n\n return emptyAvaPlaceholder();\n }\n\n const renderTable = () => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n if (!patients || !patients.length) {\n return <WildHealthPlaceHolder message=\"No current records found\" />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n sortingColumns.map((item, index) =>\n <WildHealthTableCell style={{ width: '16%' }} key={index}>\n {item.source\n ? <TableSortLabel\n id={`manage-all-patients-${item.title}`}\n active={sortingSource === item.source}\n direction={sortingSource === item.source ? item.direction : 'asc'}\n onClick={() => handleSorting(item.source, item.direction)}\n >\n {item.title}\n </TableSortLabel>\n : item.title\n }\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n patients.map((patient, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <WildHealthLinkButton\n id={`manage-all-patients-${patient.id}`}\n onClick={() => navigationService.toManagePatientProfile(history, patient.id)}\n content={patient.name}\n />\n </WildHealthTableCell>\n <WildHealthTableCell> {moment(toCurrentTimeZone(new Date(patient.joinedPractice))).format('MM/DD/YYYY')}</WildHealthTableCell>\n {!authQuery.isLicensingPractice() &&\n <WildHealthTableCell>\n {\n patient.plan ?? emptyPlaceholder()\n }\n </WildHealthTableCell>\n }\n <WildHealthTableCell>\n {renderAvatar(patient.providers, EmployeeType.Provider)}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {renderAvatar(patient.coaches, EmployeeType.HealthCoach)}\n </WildHealthTableCell>\n <Tooltip placement=\"top\" arrow title={patient.orderTypes.join(', ')}>\n <WildHealthTableCell> {patient.orderTypes.length ? cutLongText(patient.orderTypes.join(', ')) : emptyPlaceholder()} </WildHealthTableCell>\n </Tooltip>\n {!authQuery.isLicensingPractice() &&\n <WildHealthTableCell> {patient.paymentPrice && patient.paymentPrice.paymentCoupon ? patient.paymentPrice.paymentCoupon.code : emptyPlaceholder()} </WildHealthTableCell>\n }\n <WildHealthTableCell> {patient.shippingAddress ? patient.shippingAddress.state : emptyPlaceholder()} </WildHealthTableCell>\n <WildHealthTableCell> {patient.location ? displayLocation(patient.location) : emptyPlaceholder()} </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n <TableFooter>\n <WildHealthTableRow style={{ backgroundColor: \"white\" }}>\n <WildHealthTableCell colSpan={authQuery.isLicensingPractice() ? 7 : 9}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={pageSize}\n selectedPage={selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableFooter>\n </Table >\n </TableContainer >\n )\n }\n\n return (\n <>\n <Box my={2} display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n <Box>\n <FeatureComponent featureFlag={FeatureFlag.Navigation}>\n <Box display=\"flex\" alignItems='center'>\n <Box mr={2} className={clsx(commonClasses.size24, commonClasses.textSemiBold, commonClasses.colorBlack)}>\n {PagesNamesService.allPatients}\n </Box>\n </Box>\n </FeatureComponent>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box mr={2}>\n <SearchComponent\n placeholder=\"Search by Name, ID or Email\"\n handleSearch={handleSearch}\n handleChanges={handleSearchQueryChanges}\n />\n </Box>\n <Button\n id=\"manage-all-patients-filter\"\n aria-describedby={filtersPopoverProps.id}\n onClick={(event) => handleToggleFilters(event)}\n startIcon={<FilterListIcon />}\n className={commonClasses.whButton}\n >\n Filter\n </Button>\n </Box>\n </Box>\n\n <Box>\n <WildHealthContainer margin={0} minHeight={'100%'}>\n {renderTable()}\n </WildHealthContainer>\n </Box>\n\n <Popover\n id={filtersPopoverProps.id}\n anchorEl={filtersState.anchorEl}\n onClose={() => handleToggleFilters()}\n open={filtersState.isOpen}\n anchorOrigin={filtersPopoverProps.anchorOrigin}\n transformOrigin={filtersPopoverProps.transformOrigin}\n >\n <Box width=\"365px\">\n <List className={clsx(classes.filters, 'flat-scroll')}>\n\n <ListItem id=\"manage-all-patients-add-ons\" button onClick={handleToggleAddOns}>\n <ListItemText primary={<span className=\"text-medium\">Add-Ons</span>} />\n {filtersState.isAddOnsOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isAddOnsOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n <ListItem\n id={`manage-all-patients-add-ons-select-all`}\n key=\"manage-all-patients-add-ons-select-all\" button className={classes.nested}\n onClick={() => handleSelectAllAddOns()}\n >\n <ListItemIcon>\n {filtersState.isAllAddOnsSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary='Select All' />\n </ListItem>\n {\n filtersState.filters.addOns.map((item, index) =>\n <ListItem\n id={`manage-all-patients-pod-${index}`}\n key={index} button className={classes.nested}\n onClick={() => handleOnAddOnsChanges(item.name, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n\n <ListItem id=\"manage-all-patients-state\" className={classes.divider} button onClick={handleToggleState}>\n <ListItemText primary={<span className=\"text-medium\">State</span>} />\n {filtersState.isStateOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isStateOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n <ListItem>\n <Box >\n <SearchComponent handleSearch={handleSearchState} handleChanges={handleSearchState} placeholder=\"Search by state\" />\n </Box>\n </ListItem>\n <ListItem\n id={`manage-all-patients-state-select-all`}\n key=\"manage-all-patients-state-select-all\" button className={classes.nested}\n onClick={() => handleSelectAllState()}\n >\n <ListItemIcon>\n {filtersState.isAllStateSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary='Select All' />\n </ListItem>\n {\n filtersState.filters.state.map((item, index) =>\n <ListItem\n id={`manage-all-patients-state-${index}`}\n key={index} button className={classes.nested}\n onClick={() => handleOnStateChanges(item.name, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n\n {!authQuery.isLicensingPractice() &&\n <>\n <ListItem id=\"manage-all-patients-plans\" className={classes.divider} button onClick={handleTogglePlans}>\n <ListItemText primary={<span className=\"text-medium\">Plans</span>} />\n {filtersState.isPlansOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isPlansOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n <ListItem>\n <Box >\n <SearchComponent handleSearch={handleSearchPlan} handleChanges={handleSearchPlan} placeholder=\"Search by plan\" />\n </Box>\n </ListItem>\n {\n filtersState.filters.paymentPlans.map((item, index) =>\n <ListItem\n id=\"manage-all-patients-on-payment\"\n key={index} button className={classes.nested}\n onClick={() => handleOnPaymentChanges(item.periodId, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n </>\n }\n <ListItem id=\"manage-all-patients-providers\" className={classes.divider} button onClick={handleToggleProviders}>\n <ListItemText primary={<span className=\"text-medium\">Providers</span>} />\n {filtersState.isProvidersOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isProvidersOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {\n filtersState.filters.providers.map((item, index) =>\n <ListItem\n id={`manage-all-patients-provider-${item.id}`}\n key={index} button className={classes.nested}\n onClick={() => handleProviderChanges(item.id, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={`${item.firstName} ${item.lastName}`} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n\n <ListItem id=\"manage-all-patients-coaches\" className={classes.divider} button onClick={handleToggleCoaches}>\n <ListItemText primary={<span className=\"text-medium\">Coaches</span>} />\n {filtersState.isCoachesOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isCoachesOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {\n filtersState.filters.coaches.map((item, index) =>\n <ListItem\n id={`manage-all-patients-coache-${item.id}`}\n key={index} button className={classes.nested}\n onClick={() => handleCoachChanges(item.id, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={`${item.firstName} ${item.lastName}`} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n\n <ListItem id=\"manage-all-patients-pods\" className={classes.divider} button onClick={handleTogglePods}>\n <ListItemText primary={<span className=\"text-medium\">Pods</span>} />\n {filtersState.isPodsOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isPodsOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {\n filtersState.filters.locations.map((item, index) =>\n <ListItem\n id={`manage-all-patients-pod-${item.id}`}\n key={index} button className={classes.nested}\n onClick={() => handleOnPodChanges(item.id, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n </List>\n <Box p={2} display=\"flex\" justifyContent=\"space-between\" alignItems='center'>\n <WildHealthLinkButton\n onClick={() => handleClearFilters()}\n content={<Box display=\"flex\" alignItems='center'> <CloseIcon className={classes.closeIcon} /> <span className={classes.activeIcon}> Clear All </span></Box>}\n id=\"manage-all-patients-clear-all\"\n />\n\n <WildHealthButton\n id=\"manage-all-patients-apply-filter\"\n onClick={() => handleApplyFilters()}\n >\n Apply filter\n </WildHealthButton>\n </Box>\n </Box>\n </Popover>\n </>\n );\n}","import { IconButton } from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PageTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageAllPatientsComponent } from \"../../components/manageAllPatientsComponent/ManageAllPatientsComponent\";\nimport { useHistory } from 'react-router';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent';\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\n\nexport const ManageAllPatientsPage: React.FC = () => {\n const history = useHistory();\n\n const pageName = (\n <PageTitleComponent\n startAdornment={\n <FeatureComponent featureFlag={FeatureFlag.Navigation}>\n <IconButton id={`page-title-go-back-${PagesNamesService.allPatients}`} onClick={() => navigationService.goBack(history)}>\n <ArrowBackIcon />\n </IconButton>\n </FeatureComponent>\n }\n title={PagesNamesService.allPatients}\n />\n );\n\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n title={TitlesService.allPatientsTitle}\n pageName={pageName}\n selectedMenuItem={MenuItemTypes.ManagePatients}\n >\n <ManageAllPatientsComponent />\n </AuthenticatedLayoutComponent>\n )\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {stringLengthValidationRule} from \"../../../common/validation/general-validation-rules\";\n\nexport const createLocationDialogComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 50)],\n 'description': [stringLengthValidationRule(0, 250)],\n 'country': [stringLengthValidationRule(1, 50)],\n 'state': [stringLengthValidationRule(1, 50)],\n 'city': [stringLengthValidationRule(1, 50)],\n 'zipCode': [stringLengthValidationRule(1, 10)],\n 'streetAddress1': [stringLengthValidationRule(1, 100)],\n 'streetAddress2': [stringLengthValidationRule(0, 100)],\n});","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { CallbackModel } from \"../../../common/models/callback.model\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { CreateLocationModel, LocationModel } from \"../../models/locations.models\";\nimport { locationsService } from \"../../services/locations.service\";\nimport { createLocationDialogComponentValidator } from \"./createLocationDialogComponent.validator\";\n\ninterface CreateLocationDialogComponentState extends IErrorState {\n model: CreateLocationModel;\n isOpen: boolean;\n callback: Function;\n}\n\nconst defaultState: CreateLocationDialogComponentState = {\n model: {\n name: '',\n description: '',\n country: 'US',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: ''\n },\n isOpen: false,\n callback: null,\n errors: {}\n}\n\nexport function useFacade(): [CreateLocationDialogComponentState, Function, Function, Function] {\n const [state, setState] = useState(defaultState);\n\n const handleChanges = (key: string, value: string) => {\n createLocationDialogComponentValidator.validateAndSetState(state, setState, key, value);\n const model = state.model;\n model[key] = value;\n setState({...state, model});\n }\n\n const handleSubmit = () => {\n createLocationDialogComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!createLocationDialogComponentValidator.stateIsValid(state)) {\n return;\n }\n\n state.callback(state.model);\n setState(defaultState);\n }\n\n const handleClose = () => {\n state.callback(null);\n setState(defaultState);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<CallbackModel<LocationModel>>(locationsService.locationOnCreate, model => {\n setState(state => ({\n ...state,\n isOpen: true,\n errors: {},\n model: {\n name: '',\n description: '',\n country: 'US',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: ''\n },\n callback: model.callback\n }));\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleChanges, handleSubmit, handleClose];\n}","import {\n Box,\n TextField\n} from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport React from 'react';\nimport { useFacade } from \"./createLocationDialogComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const CreateLocationDialogComponent: React.FC = () => {\n const [\n {\n model,\n errors,\n isOpen,\n },\n handleChanges,\n handleSubmit,\n handleClose\n ] = useFacade();\n\n return (\n <>\n <Dialog maxWidth=\"lg\" open={isOpen} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogTitle id=\"form-dialog-title\">Create New Pod</DialogTitle>\n <DialogContent>\n <Box width=\"700px\" pb={1}>\n <Box display=\"flex\" justifyContent=\"between\" mt={2}>\n <Box width={1}>\n <Box height=\"75px\">\n <TextField\n fullWidth\n label=\"Pod Name\"\n variant=\"outlined\"\n placeholder=\"Pod Name\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"name\"\n name=\"name\"\n value={model.name}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={1}>\n <Box height=\"75px\">\n <TextField\n fullWidth\n label=\"Pod Address 1\"\n variant=\"outlined\"\n placeholder=\"Pod Address 1\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"streetAddress1\"\n name=\"streetAddress1\"\n value={model.streetAddress1}\n error={!!errors['streetAddress1']}\n helperText={errors['streetAddress1']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={1}>\n <Box height=\"75px\">\n <TextField\n fullWidth\n label=\"Pod Address 2\"\n variant=\"outlined\"\n placeholder=\"Pod Address 2\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"streetAddress2\"\n name=\"streetAddress2\"\n value={model.streetAddress2}\n error={!!errors['streetAddress2']}\n helperText={errors['streetAddress2']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"State\"\n variant=\"outlined\"\n placeholder=\"State\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"state\"\n name=\"state\"\n value={model.state}\n error={!!errors['state']}\n helperText={errors['state']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"City\"\n variant=\"outlined\"\n placeholder=\"City\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"city\"\n name=\"city\"\n value={model.city}\n error={!!errors['city']}\n helperText={errors['city']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"Zip Code\"\n variant=\"outlined\"\n placeholder=\"Zip Code\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"zipCode\"\n name=\"zipCode\"\n value={model.zipCode}\n error={!!errors['zipCode']}\n helperText={errors['zipCode']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"Country\"\n variant=\"outlined\"\n placeholder=\"Country\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"country\"\n name=\"country\"\n value={model.country}\n error={!!errors['country']}\n helperText={errors['country']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box m={2}>\n <WildHealthButton\n id=\"create-location-cancel\"\n color=\"secondary\"\n onClick={() => handleClose()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box m={2}>\n <WildHealthButton\n id=\"create-location-save\"\n onClick={() => handleSubmit()}\n >\n Save\n </WildHealthButton>\n </Box>\n </DialogActions>\n </Dialog>\n </>\n )\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {stringLengthValidationRule} from \"../../../common/validation/general-validation-rules\";\n\nexport const updateLocationDialogComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 50)],\n 'description': [stringLengthValidationRule(0, 250)],\n 'country': [stringLengthValidationRule(1, 50)],\n 'state': [stringLengthValidationRule(1, 50)],\n 'city': [stringLengthValidationRule(1, 50)],\n 'zipCode': [stringLengthValidationRule(1, 10)],\n 'streetAddress1': [stringLengthValidationRule(1, 100)],\n 'streetAddress2': [stringLengthValidationRule(0, 100)],\n});","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { CallbackModel } from \"../../../common/models/callback.model\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { EmployeeShortModel } from \"../../../employee/models/employee.models\";\nimport { employeeService } from \"../../../employee/services/employees.service\";\nimport { employeesQuery } from \"../../../employee/stores/employeesStore\";\nimport { LocationModel, LocationType, UpdateLocationModel } from \"../../models/locations.models\";\nimport { locationsService } from \"../../services/locations.service\";\nimport { updateLocationDialogComponentValidator } from \"./updateLocationDialogComponent.validator\";\n\n\nexport interface EmployeeViewModel {\n id: number;\n firstName: string;\n lastName: string;\n}\n\ninterface UpdateLocationDialogComponentState extends IErrorState {\n model: UpdateLocationModel;\n careCoordinators: EmployeeViewModel[];\n isOpen: boolean;\n callback: Function;\n}\n\nconst defaultState: UpdateLocationDialogComponentState = {\n model: {\n id: 0,\n name: '',\n description: '',\n country: 'US',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: '',\n careCoordinatorId: null,\n type: LocationType.Default\n },\n careCoordinators: [],\n isOpen: false,\n callback: null,\n errors: {}\n}\n\nexport function useFacade(): [UpdateLocationDialogComponentState, (id: number) => void, Function, Function, Function] {\n const [state, setState] = useState(defaultState);\n\n const handleSelectedCareCoordinatorChange = (id: number) => {\n setState(state => ({...state, model: {...state.model, careCoordinatorId: id}}));\n }\n\n const handleChanges = (key: string, value: string) => {\n updateLocationDialogComponentValidator.validateAndSetState(state, setState, key, value);\n const model = state.model;\n model[key] = value;\n setState({...state, model});\n }\n\n const handleSubmit = () => {\n updateLocationDialogComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!updateLocationDialogComponentValidator.stateIsValid(state)) {\n return;\n }\n\n state.callback(state.model);\n setState(state => ({...state, isOpen: false}));\n }\n\n const handleClose = () => {\n state.callback(null);\n setState(defaultState);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<CallbackModel<LocationModel>>(locationsService.locationOnUpdate, model => {\n setState(state => ({\n ...state,\n isOpen: true,\n errors: {},\n model: {\n id: model.data.id,\n name: model.data.name,\n description: model.data.description,\n country: model.data.country,\n city: model.data.city,\n state: model.data.state,\n zipCode: model.data.zipCode,\n streetAddress1: model.data.streetAddress1,\n streetAddress2: model.data.streetAddress2,\n careCoordinatorId: model.data.careCoordinatorId,\n type: model.data.type\n },\n callback: model.callback\n }));\n }),\n onEmit<EmployeeShortModel[]>(employeesQuery.careCoordinators$, employees => {\n const careCoordinators = employees.map(item => {\n return {\n id: item.id,\n firstName: item.firstName,\n lastName: item.lastName\n }\n });\n\n setState(state => ({\n ...state,\n careCoordinators: careCoordinators\n }));\n })\n ];\n\n if (state.model.id) {\n employeeService.getActiveCareCoordinators(state.model.id);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [state.isOpen, state.model.id]);\n\n return [state, handleSelectedCareCoordinatorChange, handleChanges, handleSubmit, handleClose];\n}","import React from 'react';\nimport {\n Box,\n FormControl,\n InputLabel,\n MenuItem,\n Select,\n TextField\n} from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { useFacade } from \"./updateLocationDialogComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const UpdateLocationDialogComponent: React.FC = () => {\n const [\n {\n model,\n careCoordinators,\n errors,\n isOpen,\n },\n handleSelectedCareCoordinatorChange,\n handleChanges,\n handleSubmit,\n handleClose\n ] = useFacade();\n\n return (\n <>\n <Dialog maxWidth=\"lg\" open={isOpen} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogTitle id=\"form-dialog-title\">Edit Pod</DialogTitle>\n <DialogContent>\n <Box width=\"700px\" pb={1}>\n <Box display=\"flex\" justifyContent=\"between\" mt={2}>\n <Box width={1}>\n <Box height=\"75px\">\n <TextField\n fullWidth\n label=\"Pod Name\"\n variant=\"outlined\"\n placeholder=\"Pod Name\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"name\"\n name=\"name\"\n value={model.name}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={1}>\n <Box height=\"75px\">\n <TextField\n fullWidth\n label=\"Pod Address 1\"\n variant=\"outlined\"\n placeholder=\"Pod Address 1\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"streetAddress1\"\n name=\"streetAddress1\"\n value={model.streetAddress1}\n error={!!errors['streetAddress1']}\n helperText={errors['streetAddress1']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={1}>\n <Box height=\"75px\">\n <TextField\n fullWidth\n label=\"Pod Address 2\"\n variant=\"outlined\"\n placeholder=\"Pod Address 2\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"streetAddress2\"\n name=\"streetAddress2\"\n value={model.streetAddress2}\n error={!!errors['streetAddress2']}\n helperText={errors['streetAddress2']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"State\"\n variant=\"outlined\"\n placeholder=\"State\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"state\"\n name=\"state\"\n value={model.state}\n error={!!errors['state']}\n helperText={errors['state']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"City\"\n variant=\"outlined\"\n placeholder=\"City\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"city\"\n name=\"city\"\n value={model.city}\n error={!!errors['city']}\n helperText={errors['city']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"Zip Code\"\n variant=\"outlined\"\n placeholder=\"Zip Code\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"zipCode\"\n name=\"zipCode\"\n value={model.zipCode}\n error={!!errors['zipCode']}\n helperText={errors['zipCode']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n <Box width={0.5}>\n <Box mr={1} height=\"75px\">\n <TextField\n fullWidth\n label=\"Country\"\n variant=\"outlined\"\n placeholder=\"Country\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n id=\"country\"\n name=\"country\"\n value={model.country}\n error={!!errors['country']}\n helperText={errors['country']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)} />\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={1}>\n <Box width={1}>\n <Box height=\"75px\">\n <FormControl variant=\"outlined\" size=\"small\" color='primary' fullWidth>\n <InputLabel htmlFor=\"care-coordinator-label\">Care Coordinator</InputLabel>\n <Select\n value={model.careCoordinatorId ?? 'null'}\n onChange={(event) => handleSelectedCareCoordinatorChange(Number(event.target.value))}\n label=\"Care Coordinator\"\n >\n <MenuItem value={'null'}>{`Not Selected`}</MenuItem>\n {\n careCoordinators.map((item, index) =>\n <MenuItem key={index} value={item.id}>{`${item.firstName} ${item.lastName}`}</MenuItem>\n )\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n </Box>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box m={2}>\n <WildHealthButton\n id=\"update-location-cancel\"\n color=\"secondary\"\n onClick={() => handleClose()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box m={2}>\n <WildHealthButton\n id=\"update-location-save\"\n onClick={() => handleSubmit()}\n >\n Save\n </WildHealthButton>\n </Box>\n </DialogActions>\n </Dialog>\n </>\n )\n}","import {\n Box,\n IconButton,\n Menu,\n MenuItem,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableSortLabel\n} from \"@material-ui/core\";\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport React from 'react';\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { useFacade } from \"./manageLocationsComponent.hooks\";\nimport { Add } from \"@material-ui/icons\";\nimport { CreateLocationDialogComponent } from \"../createLocationDialogComponent/CreateLocationDialogComponent\";\nimport { WildHealthLinkButton } from \"../../../common/components/WildHealthLinkButton\";\nimport { UpdateLocationDialogComponent } from \"../updateLocationDialogComponent/UpdateLocationDialogComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent';\n\ninterface ManageLocationsComponentProps {\n handleGoToManageLocation: Function;\n}\n\nexport const ManageLocationsComponent: React.FC<ManageLocationsComponentProps> = (props: ManageLocationsComponentProps) => {\n const [\n {\n isLoading,\n locations,\n sortingColumns,\n sortingSource,\n isActionsOpen,\n actionsAnchorEl,\n isCreating\n },\n handleToggleActions,\n handleSorting,\n handleCreate,\n handleEdit\n ] = useFacade();\n\n const {\n handleGoToManageLocation\n } = props;\n\n const renderTable = () => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n if (!isLoading && (!locations || !locations.length)) {\n return <WildHealthPlaceHolder message=\"No pods found\" />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n sortingColumns.map((item, index) =>\n <WildHealthTableCell\n key={index}\n >\n <TableSortLabel\n id={`manage-locations-${item.title}`}\n active={sortingSource === item.source}\n direction={sortingSource === item.source ? item.direction : 'asc'}\n onClick={() => handleSorting(item.source, item.direction)}\n >\n {item.title}\n </TableSortLabel>\n </WildHealthTableCell>\n )\n }\n <ProtectedElement\n element={\n <WildHealthTableCell>\n Actions\n </WildHealthTableCell>}\n permissions={[PermissionType.ManageLocations]}\n />\n\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n locations.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <WildHealthLinkButton\n id={`manege-locations-link-${item.name}`}\n content={item.name}\n onClick={() => handleGoToManageLocation(item)}\n />\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.city}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.state}\n </WildHealthTableCell>\n <ProtectedElement\n element={\n <WildHealthTableCell>\n <IconButton id={`manege-locations-actions-${item.name}`} onClick={(event: React.MouseEvent<HTMLButtonElement>) =>\n handleToggleActions(!isActionsOpen, item, event.currentTarget)}>\n <MoreVertIcon />\n </IconButton>\n </WildHealthTableCell>}\n permissions={[PermissionType.ManageLocations]}\n />\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n return (\n <Box p={3}>\n <Box>\n\n <FeatureComponent featureFlag={FeatureFlag.CreatePods}>\n <ProtectedElement\n element={\n <WildHealthButton\n id=\"manage-location-create-pod\"\n size=\"medium\"\n disabled={isCreating}\n onClick={() => handleCreate()}\n >\n <Box display=\"flex\" alignItems=\"center\">\n <Add />\n <span>Create Pod</span>\n </Box>\n </WildHealthButton>}\n permissions={[PermissionType.ManageLocations]}\n />\n </FeatureComponent>\n </Box>\n <Box pt={3}>\n {\n renderTable()\n }\n </Box>\n <ProtectedElement\n element={\n <Menu\n keepMounted\n anchorEl={actionsAnchorEl}\n open={isActionsOpen}\n onClose={() => handleToggleActions(false, null, null)}\n >\n <MenuItem id=\"manage-locations-edit\" onClick={() => handleEdit()}>\n Edit\n </MenuItem>\n <MenuItem id=\"manage-locations-delete\" disabled={true}>\n Delete\n </MenuItem>\n </Menu>}\n permissions={[PermissionType.ManageLocations]}\n />\n <CreateLocationDialogComponent />\n <UpdateLocationDialogComponent />\n </Box>\n )\n}","import Axios from 'axios-observable';\nimport { PermissionType } from '../../auth/models/auth.enums';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { EmployeesStore, employeesStore } from '../stores/employeesStore';\n\n/**\n * Provides method for working with permissions\n */\nexport class PermissionsService {\n private url = `${process.env.REACT_APP_API_URL}Permissions`;\n\n constructor(private employeesStore: EmployeesStore) {\n }\n\n private inactivePermissions = [PermissionType.ClinicAnalytics];\n\n /**\n * Returns all permissions\n */\n public get(): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.get(this.url, config)\n .pipe()\n .subscribe(\n response => {\n //#18067 Temporaly hide permission from UI. TODO: Remove after implement permission logic \n const permissions = response.data.filter(x=> !this.inactivePermissions.includes(x.id))\n this.employeesStore.update({ permissions: permissions })\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n}\n\nexport const permissionsService = new PermissionsService(employeesStore);\n","import Axios from 'axios-observable';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { EmployeesStore, employeesStore } from \"../stores/employeesStore\";\n\n/**\n * Provides method for working with roles\n */\nexport class RolesService {\n private url = `${process.env.REACT_APP_API_URL}Roles`;\n\n constructor(private employeesStore: EmployeesStore) {\n }\n\n /**\n * Returns all roles\n */\n public get(): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.get(this.url, config)\n .pipe()\n .subscribe(\n response => this.employeesStore.update({ roles: response.data }),\n error => snackService.commonErrorHandler(error)\n );\n }\n}\n\nexport const rolesService = new RolesService(employeesStore);\n","import {\n emailValidationRule,\n firstNameValidationRule,\n integerValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n optionalValidation,\n stringLengthValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const createEmployeeButtonComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'credentials': [stringLengthValidationRule(0, 100), notWhitespaceValidationRule()],\n 'locationIds': [stringLengthValidationRule(1, null, 'Please, select a pod')],\n 'npi': [optionalValidation('', [stringLengthValidationRule(10, 10), integerValidationRule])]\n});\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"recompose\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {LocationModel} from \"../../../locations/models/locations.models\";\nimport {locationsQuery} from \"../../../locations/stores\";\nimport {PermissionModel} from \"../../models/permission.models\";\nimport {RoleModel} from \"../../models/role.models\";\nimport {employeeService} from \"../../services/employees.service\";\nimport {permissionsService} from \"../../services/permissions.service\";\nimport {rolesService} from \"../../services/roles.service\";\nimport {employeesQuery} from \"../../stores/employeesStore\";\nimport {createEmployeeButtonComponentValidator} from \"./createEmployeeButtonComponent.validator\";\nimport {CreateEmployeeModel} from \"../../models/employee.models\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {roles} from \"../../../common/constants/roles\";\nimport { Gender } from \"../../../common/models/user.models\";\n\n\ninterface CreateEmployeeButtonComponentState extends IErrorState {\n isLoading: boolean;\n isOpen: boolean;\n rxntExpanded: boolean;\n employee: CreateEmployeeModel;\n permissions: PermissionModel[];\n locations: LocationModel[];\n roles: RoleModel[];\n}\n\nconst initModel: CreateEmployeeModel = {\n firstName: '',\n lastName: '',\n email: '',\n roleId: 0,\n locationIds: [],\n permissions: [],\n credentials: '',\n registerInSchedulerSystem: false,\n npi: '',\n gender: Gender.None,\n rxntUserName: '',\n rxntPassword: ''\n}\n\nconst defaultRolesForCalendar = [\n roles.coach,\n roles.provider,\n roles.careCoordinator\n];\n\n/**\n * Custom Hook to manage a view Model for Notifications component\n */\nexport function useFacade(): [\n CreateEmployeeButtonComponentState,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (field: string, value: any) => void,\n (value: boolean) => void,\n () => void,\n (locationId?: number) => void,\n () => void,\n () => void,\n] {\n\n const [state, setState] = useState({\n isLoading: false,\n isOpen: false,\n rxntExpanded: false,\n employee: Object.assign({}, initModel),\n locations: [],\n permissions: [],\n roles: [],\n errors: {}\n } as CreateEmployeeButtonComponentState);\n\n const handleChanges = (field: string, value: any) => {\n createEmployeeButtonComponentValidator.validateAndSetState(state, setState, field, value);\n const employee = state.employee;\n employee[field] = value;\n setState({\n ...state,\n employee: employee\n });\n }\n\n const handleSelectRole = (event: React.ChangeEvent<HTMLInputElement>) => {\n const id = parseInt((event.target as HTMLInputElement).value);\n const role = state.roles.find(i => i.id === id);\n\n if (role) {\n setState({\n ...state,\n employee: {\n ...state.employee,\n roleId: role.id,\n permissions: role.permissions.map(x => x.id),\n registerInSchedulerSystem: defaultRolesForCalendar.includes(role.id)\n }\n });\n }\n }\n\n const handleSelectLocation = (event) => {\n const locationIds = event.target.value;\n createEmployeeButtonComponentValidator.validateAndSetState(state, setState, 'locationIds', locationIds);\n setState({\n ...state,\n employee: {\n ...state.employee,\n locationIds: locationIds\n }\n });\n }\n\n const handleAddCalendar = (value: boolean) => {\n const employee = state.employee;\n employee.registerInSchedulerSystem = value;\n setState({\n ...state,\n employee: employee\n });\n }\n\n const handleSelectPermission = (event: React.ChangeEvent<HTMLInputElement>) => {\n const id = parseInt((event.target as HTMLInputElement).value);\n const item = state.permissions.find(i => i.id === id);\n\n if (item) {\n state.employee.permissions = ((event.target as HTMLInputElement).checked && item) ?\n [...state.employee.permissions, item.id] :\n state.employee.permissions.filter(i => i !== id);\n setState(state => ({ ...state }));\n }\n }\n\n const handleOpen = (locationId?: number) => {\n setState(state => ({\n ...state,\n isOpen: true,\n errors: {},\n employee: {\n ...state.employee,\n roleId: state.roles[0]?.id ?? 0,\n permissions: state.roles[0]?.permissions?.map(x => x.id) ?? [],\n locationIds: [locationId || authQuery.getTargetLocationId()]\n }\n }));\n }\n\n const handleCreate = () => {\n createEmployeeButtonComponentValidator.validateObjectAndSetState(state, setState, state.employee);\n if (!createEmployeeButtonComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n employeeService.createEmployee(state.employee).subscribe(() => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n rxntExpanded: false,\n isLoading: false,\n employee: Object.assign({}, initModel)\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n })\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n rxntExpanded: false,\n employee: Object.assign({}, initModel)\n }));\n }\n\n const toggleRxNT = () => {\n setState(state => ({\n ...state,\n rxntExpanded: !state.rxntExpanded\n }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<RoleModel[]>(employeesQuery.roles$, roles => {\n const role = roles[0];\n setState(state => ({\n ...state,\n roles: roles,\n employee: {\n ...state.employee,\n roleId: role?.id ?? 0,\n permissions: role?.permissions?.map(x => x.id) ?? [],\n registerInSchedulerSystem: defaultRolesForCalendar.includes(role?.id)\n }\n }))\n }),\n onEmit<PermissionModel[]>(employeesQuery.permissions$, permissions => {\n setState(state => ({\n ...state,\n permissions: permissions\n }))\n }),\n onEmit<LocationModel[]>(locationsQuery.availableLocations$, locations => {\n setState(state => ({\n ...state,\n locations: locations,\n employee: {\n ...state.employee,\n locationIds: [authQuery.getTargetLocationId()]\n }\n }))\n }),\n ];\n\n rolesService.get();\n permissionsService.get();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleSelectLocation,\n handleSelectRole,\n handleSelectPermission,\n handleChanges,\n handleAddCalendar,\n handleCreate,\n handleOpen,\n handleClose,\n toggleRxNT\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n margin: 0,\n padding: theme.spacing(2),\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n action: {\n color: colors.main,\n },\n select: {\n width: 510,\n margin: 5,\n },\n field: {\n width: 250,\n margin: 5,\n },\n fullWidthField: {\n width: 510,\n margin: 5,\n },\n role: {\n width: 140,\n },\n permission: {\n width: 250,\n },\n permissionCheck: {\n color: colors.main,\n '&$checked': {\n color: colors.main,\n },\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n progress: {\n color: colors.main\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n },\n }),\n);\n","import {\n Box,\n Checkbox,\n CircularProgress, Collapse,\n Dialog,\n DialogActions,\n DialogContent, Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Grid,\n IconButton,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n Typography\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { displayLocation } from \"../../../locations/helpers/displayLocation\";\nimport { useFacade } from \"./createEmployeeButtonComponent.hooks\";\nimport { useStyles } from \"./createEmployeeButtonComponent.styles\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { Add } from \"@material-ui/icons\";\nimport { isProviderRole } from \"../../../common/constants/roles\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\n\ninterface CreateEmployeeButtonComponentProps {\n locationId?: number;\n}\n\nexport const CreateEmployeeButtonComponent: React.FC<CreateEmployeeButtonComponentProps> = (props: CreateEmployeeButtonComponentProps) => {\n const classes = useStyles();\n const [\n {\n isLoading,\n isOpen,\n rxntExpanded,\n employee,\n permissions,\n locations,\n roles,\n errors,\n },\n handleSelectLocation,\n handleSelectRole,\n handlePermissionChange,\n handleChanges,\n handleAddCalendar,\n handleCreate,\n handleOpen,\n handleClose,\n toggleRxNT\n ] = useFacade();\n\n const renderSelectedLocations = (selected: number[]) => {\n return selected.map(id => displayLocation(locations.find(x => x.id === id))).join(', ')\n }\n\n return (\n <>\n <WildHealthButton\n id=\"create-employee-create-user\"\n size='medium'\n onClick={() => handleOpen(props.locationId)}\n >\n <Box display=\"flex\" alignItems=\"center\">\n <Add />\n <span>Create User</span>\n </Box>\n </WildHealthButton>\n\n <Dialog\n onClose={() => handleClose()}\n className={classes.root}\n open={isOpen}\n >\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Typography variant=\"h6\">New User</Typography>\n </Grid>\n <IconButton\n id=\"create-employee-close\"\n className={classes.dialogTitleCloseAction}\n onClick={() => handleClose()}\n >\n <CloseIcon />\n </IconButton>\n </MuiDialogTitle>\n\n <DialogContent dividers>\n <Box mb={1}>\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.firstName}\n label=\"First Name\"\n className={clsx(classes.field, 'input')}\n error={!!errors['firstName']}\n helperText={errors['firstName']}\n onChange={(event) => handleChanges('firstName', event.target.value)}\n />\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.lastName}\n label=\"Last Name\"\n className={clsx(classes.field, 'input')}\n error={!!errors['lastName']}\n helperText={errors['lastName']}\n onChange={(event) => handleChanges('lastName', event.target.value)}\n />\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.email}\n label=\"Email\"\n className={clsx(classes.field, 'input')}\n error={!!errors['email']}\n helperText={errors['email']}\n onChange={(event) => handleChanges('email', event.target.value)}\n />\n\n <FormControl\n error={!!errors['locationIds']}\n className={classes.field}\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <InputLabel>\n Pod\n </InputLabel>\n <ProtectedElement\n userType={UserType.Employee}\n element={\n <Select\n multiple\n label=\"Location\"\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n value={employee?.locationIds ?? []}\n onChange={handleSelectLocation}\n error={!!errors['locationIds']}\n renderValue={renderSelectedLocations}>\n {\n locations\n .map((location, index) =>\n <MenuItem key={index} value={location.id}>\n <Checkbox\n className={classes.permissionCheck}\n checked={employee?.locationIds?.includes(location.id)}\n color=\"default\"\n />\n {\n displayLocation(location)\n }\n </MenuItem>\n )\n }\n </Select>\n }\n defaultContent={\n <Select label=\"Pod\" value={employee?.locationIds ?? []} disabled={true}>\n {\n locations\n .map((location, index) =>\n <MenuItem key={index} value={location.id}>\n {\n displayLocation(location)\n }\n </MenuItem>\n )\n }\n </Select>\n }\n permissions={[PermissionType.MigrationBetweenLocations]} />\n <FormHelperText>{errors[`locationIds`]}</FormHelperText>\n </FormControl>\n <FormControl\n className={classes.field}\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <InputLabel>\n Role\n </InputLabel>\n <Select\n label=\"Role\"\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n value={employee?.roleId}\n onChange={handleSelectRole}\n >\n {\n roles &&\n roles\n .map((item, index) =>\n <MenuItem key={index} value={item.id}>\n {item.displayName}\n </MenuItem>\n )\n }\n </Select>\n </FormControl>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.credentials}\n label=\"Credentials\"\n className={clsx(classes.field, 'input')}\n error={!!errors['credentials']}\n helperText={errors['credentials']}\n onChange={(event) => handleChanges('credentials', event.target.value)}\n />\n {isProviderRole(employee.roleId) && (\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.npi}\n label=\"NPI\"\n className={clsx(classes.field, 'input')}\n error={!!errors['npi']}\n helperText={errors['npi']}\n onChange={(event) => handleChanges('npi', event.target.value)}\n />\n )}\n <FormControlLabel\n className={classes.field}\n control={<Checkbox\n className={classes.permissionCheck}\n checked={employee.registerInSchedulerSystem}\n onChange={() => handleAddCalendar(!employee.registerInSchedulerSystem)}\n color=\"default\"\n />}\n value={employee.registerInSchedulerSystem}\n label=\"Add Calendar\"\n />\n </Box>\n <Box mb={1}>\n <FormControl\n className={classes.field}\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <InputLabel>\n Gender\n </InputLabel>\n <Select\n label=\"Gender\"\n value={employee.gender}\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n onChange={(event) => handleChanges('gender', event.target.value)}\n >\n <MenuItem value={Gender.Male}>{Gender[Gender.Male]}</MenuItem>\n <MenuItem value={Gender.Female}>{Gender[Gender.Female]}</MenuItem>\n <MenuItem value={Gender.None}>{Gender[Gender.None]}</MenuItem>\n </Select>\n </FormControl>\n </Box>\n \n <Divider/>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" py={2}>\n <Box id={`rxnt-credentials-section-expand`} onClick={() => toggleRxNT()} className=\"wh-tw-cursor-pointer\">\n {rxntExpanded ? <ExpandMoreIcon /> : <ChevronRightIcon />}\n </Box>\n <Box ml={1}>\n <span className={classes.sectionTitle}>RxNT credentials</span>\n </Box>\n </Box>\n <Collapse in={rxntExpanded} timeout=\"auto\" unmountOnExit>\n <Box mb={1}>\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n autoComplete=\"false\"\n value={employee.rxntUserName}\n label=\"RxNT Login\"\n className={clsx(classes.field, 'input')}\n error={!!errors['rxntUserName']}\n helperText={errors['rxntUserName']}\n onChange={(event) => handleChanges('rxntUserName', event.target.value)}\n />\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n type=\"password\"\n autoComplete=\"false\"\n value={employee.rxntPassword}\n label=\"RxNT Password\"\n className={clsx(classes.field, 'input')}\n error={!!errors['rxntPassword']}\n helperText={errors['rxntPassword']}\n onChange={(event) => handleChanges('rxntPassword', event.target.value)}\n />\n </Box>\n </Collapse>\n <Divider/>\n\n <Box ml={1} mr={1} mb={5} pt={2}>\n <Box>\n <span className={classes.sectionTitle}>Permissions</span>\n </Box>\n {\n permissions &&\n permissions\n .map((item, index) => {\n const control = (\n <Checkbox\n className={classes.permissionCheck}\n checked={employee.permissions.includes(item.id)}\n onChange={handlePermissionChange}\n color=\"default\"\n />\n );\n\n return (\n <FormControlLabel\n className={classes.permission}\n control={control}\n value={item.id}\n label={item.displayName}\n key={index}\n />\n );\n })\n }\n </Box>\n </DialogContent>\n\n <DialogActions>\n <WildHealthButton\n id=\"create-employee-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n disabled={isLoading}\n >\n Cancel\n </WildHealthButton>\n <WildHealthButton\n id=\"create-employee-send-invite\"\n onClick={handleCreate}\n autoFocus\n disabled={isLoading}\n >\n {\n isLoading\n ? <CircularProgress size={24} className={classes.progress} />\n : ' Send Invite'\n }\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n","import { Box, Dialog, DialogActions, DialogContent, TextField } from \"@material-ui/core\";\nimport React from \"react\";\nimport { DialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./resetPatientPasswordDialogComponent.hooks\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const ResetPatientPasswordDialogComponent: React.FC<DialogComponentProps> = (props: DialogComponentProps) => {\n const {\n open,\n handleSubmit,\n handleClose\n } = props;\n\n const [\n state,\n handleChanges,\n handleSubmitForm,\n handleCloseDialog,\n ] = useFacade(handleSubmit, handleClose);\n\n return (\n <Dialog fullWidth open={open} onClose={() => handleCloseDialog()} aria-labelledby=\"form-dialog-title\">\n <form onSubmit={(e) => handleSubmitForm(e)}>\n <DialogContent>\n <DialogTitle id=\"form-dialog-title\">Reset Password</DialogTitle>\n <Box p={3}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <span className=\"text-medium\">New Password:</span>\n </Box>\n <Box ml={3} width=\"310px\">\n <TextField\n fullWidth\n error={!!state.errors[\"newPassword\"]}\n helperText={state.errors[\"newPassword\"]}\n type=\"password\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n variant=\"outlined\"\n value={state.newPassword}\n onChange={(v) => handleChanges(\"newPassword\", v.target.value)}\n />\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" mt={2}>\n <Box>\n <span className=\"text-medium\">Confirm Password:</span>\n </Box>\n <Box ml={3} width=\"310px\">\n <TextField\n fullWidth\n error={!!state.errors[\"confirmPassword\"]}\n helperText={state.errors[\"confirmPassword\"]}\n type=\"password\"\n size=\"small\"\n InputProps={{ className: 'input' }}\n variant=\"outlined\"\n value={state.confirmPassword}\n onChange={(v) => handleChanges(\"confirmPassword\", v.target.value)}\n />\n </Box>\n </Box>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box display=\"flex\" justifyContent=\"space-between\" width=\"100%\" px={3} pb={2}>\n <Box>\n <WildHealthButton\n id=\"reset-password-cancel\"\n color='secondary'\n onClick={() => handleCloseDialog()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"reset-password\"\n onClick={(e) => handleSubmitForm(e)}\n >\n Reset\n </WildHealthButton>\n </Box>\n </Box>\n </DialogActions>\n </form>\n </Dialog>\n );\n}\n","import { useState } from \"react\";\nimport { restorePasswordPageValidator } from \"../../../auth/pages/restorePasswordPage/restorePasswordPage.validator\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\n\ninterface ResetPatientPasswordDialogState extends IErrorState {\n newPassword: string;\n confirmPassword: string;\n}\n\nexport function useFacade(handleSubmit: Function, handleClose: Function): [ResetPatientPasswordDialogState, Function, Function, Function] {\n const [state, setState] = useState({\n newPassword: \"\",\n confirmPassword: \"\",\n errors: {}\n } as ResetPatientPasswordDialogState);\n\n const handleChanges = (key: string, value: string) => {\n state[key] = value;\n \n restorePasswordPageValidator.validateAndSetState(state, setState, key, value);\n }\n\n const handleCloseDialog = () => {\n handleClose();\n setState({\n newPassword: \"\",\n confirmPassword: \"\",\n errors: {}\n });\n }\n\n const handleSubmitForm = (event: Event) => {\n event.preventDefault();\n\n restorePasswordPageValidator.validateObjectAndSetState(state, setState, state);\n\n if(restorePasswordPageValidator.stateIsValid(state)){\n handleSubmit(state.newPassword, state.confirmPassword);\n handleCloseDialog();\n }\n }\n return [state, handleChanges, handleSubmitForm, handleCloseDialog];\n}\n","import { emailValidationRule, firstNameValidationRule, integerValidationRule, lastNameValidationRule, notWhitespaceValidationRule, optionalValidation, stringLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const updateEmployeeComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'credentials': [stringLengthValidationRule(0, 100), notWhitespaceValidationRule()],\n 'locationIds': [stringLengthValidationRule(1, null, 'Please, select a pod')],\n 'npi': [optionalValidation('', [stringLengthValidationRule(10, 10), integerValidationRule])]\n});\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"recompose\";\nimport { authService } from \"../../../auth/services/auth.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {LocationModel} from \"../../../locations/models/locations.models\";\nimport {locationsQuery} from \"../../../locations/stores\";\nimport {EmployeeModel, UpdateEmployeeModel} from \"../../models/employee.models\";\nimport {PermissionModel} from \"../../models/permission.models\";\nimport {RoleModel} from \"../../models/role.models\";\nimport {employeeService} from \"../../services/employees.service\";\nimport {employeesQuery} from \"../../stores/employeesStore\";\nimport {updateEmployeeComponentValidator} from \"./updateEmployeeComponent.validator\";\nimport { Gender } from \"../../../common/models/user.models\";\n\ninterface UpdateEmployeeComponentState extends IErrorState {\n employee: UpdateEmployeeModel;\n roles: RoleModel[];\n locations: LocationModel[];\n permissions: PermissionModel[];\n isSubmitted: boolean;\n showSchedulerId: boolean;\n rxntExpanded: boolean;\n}\n\nconst initModel: UpdateEmployeeModel = {\n id: 0,\n firstName: '',\n lastName: '',\n locationIds: [],\n roleId: 0,\n schedulerAccountId: '',\n permissions: [],\n email: '',\n gender: Gender.None,\n credentials: '',\n npi: '',\n rxntUserName: '',\n rxntPassword: ''\n};\n\n/**\n * Custom Hook to manage a view Model for Notifications component\n */\nexport function useFacade(\n employeeId: number,\n isOpen: boolean,\n selfManagingEmployee: boolean,\n handleToggleDialog: (value: boolean) => void\n): [\n UpdateEmployeeComponentState,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (field: string, value: any) => void,\n () => void,\n (value: string) => void,\n () => void,\n () => void\n] {\n\n const [state, setState] = useState({\n employee: initModel,\n errors: {},\n locations: [],\n roles: [],\n isSubmitted: false,\n showSchedulerId: false\n } as UpdateEmployeeComponentState);\n\n const handleChanges = (field: string, value: any) => {\n updateEmployeeComponentValidator.validateAndSetState(state, setState, field, value);\n const employee = state.employee;\n employee[field] = value;\n setState({...state, employee});\n }\n\n const toggleShowSchedulerId = () => {\n setState({...state, showSchedulerId: !state.showSchedulerId});\n }\n\n const handleSchedulerAccountIdChanges = (value: string) => {\n const employee = state.employee;\n employee.schedulerAccountId = getValidSchedulerAccountId(value);\n setState({...state, employee: employee});\n }\n\n const getValidSchedulerAccountId = (value: string): string => {\n const defaultGuidLength = 36;\n const expectedValue = (v: string): boolean => v.length === defaultGuidLength && v.split('-').length > 2;\n\n if (value.length === 0 || expectedValue(value)) {\n return value;\n }\n\n const isUrl = value.includes('http');\n if (isUrl) {\n const parts = value.split('/');\n const id = parts.find(part => expectedValue(part));\n\n return id ?? '';\n }\n\n return '';\n }\n\n const handleSelectRole = (event: React.ChangeEvent<HTMLInputElement>) => {\n const id = parseInt((event.target as HTMLInputElement).value);\n const role = state.roles.find(i => i.id === id);\n\n if (role) {\n state.employee.roleId = role.id;\n state.employee.permissions = role.permissions.map(i => i.id);\n setState(state => ({...state}));\n }\n }\n\n const handleSelectLocation = (event) => {\n const locationIds = event.target.value;\n updateEmployeeComponentValidator.validateAndSetState(state, setState, 'locationIds', locationIds);\n setState({\n ...state,\n employee: {\n ...state.employee,\n locationIds: locationIds\n }\n });\n }\n\n const handleSelectPermission = (event: React.ChangeEvent<HTMLInputElement>) => {\n const id = parseInt((event.target as HTMLInputElement).value);\n const item = state.permissions.find(i => i.id === id);\n\n if (item) {\n state.employee.permissions = ((event.target as HTMLInputElement).checked && item) ?\n [...state.employee.permissions, item.id] :\n state.employee.permissions.filter(i => i !== id);\n setState(state => ({...state}));\n }\n }\n\n const handleUpdate = () => {\n updateEmployeeComponentValidator.validateObjectAndSetState(state, setState, state.employee);\n if (!updateEmployeeComponentValidator.stateIsValid(state)) {\n return;\n }\n\n if (state.isSubmitted) {\n return;\n }\n\n setState((state) => ({\n ...state,\n isSubmitted: true\n }));\n\n const cb = () => {\n setState((state) => ({\n ...state,\n errors: {},\n employee: Object.assign({}, initModel),\n isSubmitted: false\n }));\n\n handleToggleDialog(false);\n }\n\n const action = selfManagingEmployee ? () => { authService.reLogin(authQuery.getTargetLocationId()).subscribe(); cb(); } : cb;\n\n employeeService.updateEmployee(state.employee).subscribe(() => action(), () => {\n setState((state) => ({\n ...state,\n isSubmitted: false\n }));\n });\n }\n\n const toggleRxNT = () => {\n setState(state => ({\n ...state,\n rxntExpanded: !state.rxntExpanded\n }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<EmployeeModel>(employeesQuery.employee$, employee => {\n if (employee && employee.id === employeeId) {\n setState(state => ({\n ...state,\n employee: {\n id: employee.id,\n firstName: employee.firstName,\n lastName: employee.lastName,\n locationIds: employee.locations.map(x => x.id),\n roleId: employee.role.id,\n schedulerAccountId: employee.schedulerAccountId,\n permissions: employee.permissions,\n email: employee.email,\n gender: employee.gender,\n credentials: employee.credentials,\n npi: employee.npi,\n rxntUserName: employee.rxntUserName,\n rxntPassword: employee.rxntPassword\n },\n rxntExpanded: false,\n roles: state.roles.some(x => x.id === employee.role.id)\n ? state.roles\n : [...state.roles, employee.role]\n }));\n }\n }),\n onEmit<RoleModel[]>(employeesQuery.roles$, roles => {\n setState(state => ({...state, roles: roles}))\n }),\n onEmit<PermissionModel[]>(employeesQuery.permissions$, permissions => {\n setState(state => ({...state, permissions: permissions}))\n }),\n onEmit<LocationModel[]>(locationsQuery.availableLocations$, locations => {\n setState(state => ({...state, locations: locations}))\n }),\n ];\n\n if (isOpen) {\n setState((state) => ({\n ...state,\n errors: {},\n rxntExpanded: false,\n employee: Object.assign({}, initModel)\n }));\n\n employeeService.getActiveBy(employeeId);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n useEffect(useEffectCB, [isOpen]);\n\n return [\n state,\n handleSelectLocation,\n handleSelectRole,\n handleSelectPermission,\n handleChanges,\n handleUpdate,\n handleSchedulerAccountIdChanges,\n toggleShowSchedulerId,\n toggleRxNT\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n margin: 0,\n padding: theme.spacing(2),\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n selectLabel: {\n backgroundColor: colors.white,\n },\n select: {\n width: 510,\n margin: 5,\n },\n field: {\n width: 250,\n margin: 5,\n },\n fullWidthField: {\n width: 510,\n margin: 5,\n },\n role: {\n width: 140,\n },\n permission: {\n width: 250,\n },\n permissionCheck: {\n color: colors.main,\n '&$checked': {\n color: colors.main,\n },\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n progress: {\n color: colors.main\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n },\n }),\n);\n","import { useEffect, useState } from 'react';\nimport { Subscription } from 'recompose';\nimport { confirmService } from '../../../../services/confirm.service';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { ResetPasswordModel } from \"../../../common/models/user.models\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { LocationModel } from '../../../locations/models/locations.models';\nimport { locationsService } from '../../../locations/services/locations.service';\nimport { locationsQuery } from '../../../locations/stores';\nimport { EmployeeShortModel, EmployeeShortViewModel } from \"../../models/employee.models\";\nimport { RoleModel } from '../../models/role.models';\nimport { employeeService } from \"../../services/employees.service\";\nimport { employeesQuery } from \"../../stores/employeesStore\";\n\nexport enum SortingSource {\n none,\n names = 'lastName',\n email = 'email',\n npi = 'npi',\n role = 'role',\n}\n\ninterface ManageEmployeesComponentState extends ISortingState {\n isLoading: boolean;\n currentEmployeeEmail: string;\n employees: EmployeeShortViewModel[];\n isEditOpen: boolean;\n isResetPasswordOpen: boolean;\n selectedEmployeeId: number;\n selfManagingEmployee: boolean;\n isEmployeeActionsOpen: boolean;\n employeeActionsAnchorEl: null | HTMLElement;\n selectedRoleId: number;\n roles: RoleModel[];\n search: string;\n}\n\nconst noneLocation = [{id: 0, country: '', city: 'All', state: '', zipCode: '', streetAddress: ''}];\n\nexport function useFacade(locationId?: number): [\n ManageEmployeesComponentState,\n (value: boolean) => void,\n (value: boolean) => void,\n () => void,\n () => void,\n (value: boolean, employeeId: number, employeeEmail: string, target: HTMLButtonElement) => void,\n (newPassword: string, confirmPassword: string) => void,\n (source: string, direction: SortingDirection) => void,\n (value: string) => void,\n (event: React.ChangeEvent<HTMLInputElement>) => void,\n (value: string) => void] {\n\n const [state, setState] = useState({\n isLoading: true,\n currentEmployeeEmail: authQuery.getEmail(),\n employees: [],\n sortingColumns: [\n {title: 'Names', source: SortingSource.names, direction: SortingDirection.Asc},\n {title: 'Email', source: SortingSource.email, direction: SortingDirection.Asc},\n {title: 'NPI', source: SortingSource.npi, direction: SortingDirection.Asc},\n {title: 'Role', source: SortingSource.role, direction: SortingDirection.Asc},\n ],\n sortingSource: SortingSource.none,\n isEditOpen: false,\n isResetPasswordOpen: false,\n selectedEmployeeId: 0,\n selfManagingEmployee: true,\n isEmployeeActionsOpen: false,\n employeeActionsAnchorEl: null,\n selectedRoleId: 0,\n roles: []\n } as ManageEmployeesComponentState);\n\n const handleToggleEditEmployee = (value: boolean) => {\n setState(state => ({\n ...state,\n isEditOpen: value,\n isEmployeeActionsOpen: false,\n employeeActionsAnchorEl: null\n }))\n }\n\n const handleToggleResetEmployeePassword = (value: boolean) => {\n setState(state => ({\n ...state,\n isResetPasswordOpen: value,\n isEmployeeActionsOpen: false,\n employeeActionsAnchorEl: null\n }))\n }\n\n const handleToggleEmployeeActions = (value: boolean, employeeId: number, employeeEmail: string, target: HTMLButtonElement) => {\n setState(state => ({\n ...state,\n isEmployeeActionsOpen: value,\n selectedEmployeeId: employeeId,\n selfManagingEmployee: state.currentEmployeeEmail === employeeEmail,\n employeeActionsAnchorEl: target\n }))\n }\n\n const handleResendEmployeeInvite = () => {\n const employee = state.employees.find(i => i.id === state.selectedEmployeeId);\n setState(state => ({\n ...state,\n isEmployeeActionsOpen: false,\n employeeActionsAnchorEl: null\n }));\n\n confirmService.confirm(`Are you sure you want to resend invite for ${employee.names}?`)\n .subscribe(() => {\n employeeService.resentEmployeeInvite(state.selectedEmployeeId);\n });\n }\n\n const handleDeleteEmployee = () => {\n const employee = state.employees.find(i => i.id === state.selectedEmployeeId);\n setState(state => ({\n ...state,\n isEmployeeActionsOpen: false,\n employeeActionsAnchorEl: null\n }));\n\n confirmService.confirm(`Are you sure you want to delete ${employee.names} user?`)\n .subscribe(() => {\n employeeService.deleteEmployee(state.selectedEmployeeId);\n });\n }\n\n const handleSubmitResetPassword = (newPassword: string, confirmPassword: string) => {\n const model = {\n newPassword: newPassword,\n confirmPassword: confirmPassword\n } as ResetPasswordModel\n\n employeeService.resetEmployeePassword(state.selectedEmployeeId, model);\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n let itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({...state, columns: state.sortingColumns}));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n employees: state.employees.sort((e1, e2) => handleCompare(e1, e2, direction, source))\n }));\n }\n\n const handleSearch = (value: string) => {\n setState(state => ({...state, isLoading: true}));\n\n const role = state.roles.find(i => i.id === state.selectedRoleId);\n\n searchEmployeesAction(value, locationId, role?.id)\n .subscribe(() => setState(state => ({\n ...state,\n isLoading: false\n })));\n }\n\n const handleSearchInputChange = (value: string) => {\n setState(state => ({ ...state, search: value }));\n }\n\n const handleSelectRole = (event: React.ChangeEvent<HTMLInputElement>) => {\n const id = parseInt((event.target as HTMLInputElement).value);\n const role = state.roles.find(i => i.id === id);\n\n setState(state => ({...state, isLoading: true, selectedRoleId: id}));\n\n searchEmployeesAction(state.search, locationId, role?.id)\n .subscribe(() => setState(state => ({\n ...state,\n isLoading: false\n })));\n }\n\n const searchEmployeesAction = (value: string, locationId?: number, roleId?: number) => {\n return employeeService.getActive(value, locationId, roleId);\n }\n\n const getEmployeesAction = (locationId?: number) => {\n return locationId ? employeeService.getActive('', locationId) : employeeService.getActive()\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<EmployeeShortModel[]>(employeesQuery.employees$, employees => {\n setState(state => ({\n ...state,\n employees: employees.filter(e => locationId ? e.locationIds.includes(locationId) : e).map(e => {\n return {id: e.id, lastName: e.lastName, names: `${e.firstName} ${e.lastName}`, email: e.email, npi: e.npi, role: e.role}\n })\n }))\n }),\n onEmit<LocationModel[]>(locationsQuery.availableLocations$, locations => {\n setState(state => ({...state, locations: Array.prototype.concat(noneLocation, locations)}))\n }),\n onEmit<RoleModel[]>(employeesQuery.roles$, roles => {\n setState(state => ({...state, roles: roles}))\n }),\n ];\n\n getEmployeesAction(locationId)\n .subscribe(() => setState(state => ({\n ...state,\n isLoading: false\n })));\n\n locationsService.getAvailable(authQuery.getCurrentPracticeId()).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleToggleEditEmployee,\n handleToggleResetEmployeePassword,\n handleResendEmployeeInvite,\n handleDeleteEmployee,\n handleToggleEmployeeActions,\n handleSubmitResetPassword,\n handleSorting,\n handleSearch,\n handleSelectRole,\n handleSearchInputChange\n ];\n}","import {\n Box,\n Checkbox,\n CircularProgress, Collapse,\n Dialog,\n DialogActions,\n DialogContent, Divider,\n FormControl,\n FormControlLabel, FormHelperText,\n Grid,\n IconButton,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n Typography\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { displayLocation } from \"../../../locations/helpers/displayLocation\";\nimport { useFacade } from \"./updateEmployeeComponent.hooks\";\nimport { useStyles } from \"./updateEmployeeComponent.styles\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { WildHealthLinkButton } from \"../../../common/components/WildHealthLinkButton\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { isProviderRole } from \"../../../common/constants/roles\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport ExpandMoreIcon from \"@material-ui/icons/ExpandMore\";\nimport ChevronRightIcon from \"@material-ui/icons/ChevronRight\";\n\nexport interface UpdateEmployeeButtonComponentProps {\n employeeId: number;\n isOpen: boolean;\n selfManagingEmployee: boolean;\n handleToggleDialog: (value: boolean) => void;\n}\n\nexport const UpdateEmployeeComponent: React.FC<UpdateEmployeeButtonComponentProps> = (props: UpdateEmployeeButtonComponentProps) => {\n const { employeeId, isOpen, selfManagingEmployee, handleToggleDialog } = props;\n const classes = useStyles();\n const [\n {\n employee,\n roles,\n permissions,\n rxntExpanded,\n locations,\n errors,\n showSchedulerId,\n isSubmitted\n },\n handleSelectLocation,\n handleSelectRole,\n handlePermissionChange,\n handleChanges,\n handleUpdate,\n handleSchedulerAccountIdChanges,\n toggleShowSchedulerId,\n toggleRxNT\n ] = useFacade(employeeId, isOpen, selfManagingEmployee, handleToggleDialog);\n\n const commonClasses = commonUseStyles();\n\n const renderSelectedLocations = (selected: number[]) => {\n return selected.map(id => {\n const location = locations.find(x => x.id === id);\n return location\n ? displayLocation(location)\n : ''\n }).filter(x => x && x.length).join(', ')\n }\n\n const hasSchedulerAccountId = employee.schedulerAccountId?.length;\n\n return (\n <>\n <Dialog\n onClose={() => handleToggleDialog(false)}\n className={classes.root}\n open={isOpen}\n >\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Typography variant=\"h6\">Edit User</Typography>\n </Grid>\n <IconButton\n id=\"update-employee-edit-user\"\n className={classes.dialogTitleCloseAction}\n onClick={() => handleToggleDialog(false)}\n >\n <CloseIcon />\n </IconButton>\n </MuiDialogTitle>\n\n <DialogContent dividers>\n <Box mb={1}>\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.firstName}\n label=\"First Name\"\n className={clsx(classes.field, 'input')}\n error={!!errors['firstName']}\n helperText={errors['firstName']}\n onChange={(event) => handleChanges('firstName', event.target.value)}\n />\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.lastName}\n label=\"Last Name\"\n className={clsx(classes.field, 'input')}\n error={!!errors['lastName']}\n helperText={errors['lastName']}\n onChange={(event) => handleChanges('lastName', event.target.value)}\n />\n <FormControl\n error={!!errors['locationIds']}\n color='primary'\n className={classes.field}\n variant=\"outlined\"\n size=\"small\">\n <InputLabel className={classes.selectLabel}>\n Pod\n </InputLabel>\n <ProtectedElement\n userType={UserType.Employee}\n element={\n <Select\n multiple\n label=\"Location\"\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n value={employee?.locationIds ?? []}\n onChange={handleSelectLocation}\n error={!!errors['locationIds']}\n renderValue={renderSelectedLocations}>\n {\n locations\n .map((location, index) =>\n <MenuItem key={index} value={location.id}>\n <Checkbox\n className={classes.permissionCheck}\n checked={employee?.locationIds?.includes(location.id)}\n color=\"default\"\n />\n {\n displayLocation(location)\n }\n </MenuItem>\n )\n }\n </Select>\n }\n defaultContent={\n <Select multiple value={employee?.locationIds ?? []} disabled={true}>\n {\n locations\n .map((location, index) =>\n <MenuItem key={index} value={location.id}>\n {\n displayLocation(location)\n }\n </MenuItem>\n )\n }\n </Select>\n }\n permissions={[PermissionType.MigrationBetweenLocations]} />\n <FormHelperText>{errors[`locationIds`]}</FormHelperText>\n </FormControl>\n <TextField\n size=\"small\"\n variant=\"outlined\"\n value={employee.credentials}\n label=\"Credentials\"\n className={clsx(classes.field, 'input')}\n error={!!errors['credentials']}\n helperText={errors['credentials']}\n onChange={(event) => handleChanges('credentials', event.target.value)}\n />\n {isProviderRole(employee.roleId) && (\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.npi}\n label=\"NPI\"\n className={clsx(classes.field, 'input')}\n error={!!errors['npi']}\n helperText={errors['npi']}\n onChange={(event) => handleChanges('npi', event.target.value)}\n />\n )}\n </Box>\n <Box mb={1}>\n <FormControl\n className={classes.field}\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <InputLabel\n className={classes.selectLabel}\n >\n Role\n </InputLabel>\n <Select\n value={employee?.roleId}\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n onChange={handleSelectRole}\n >\n {\n roles &&\n roles\n .map((item, index) =>\n <MenuItem key={index} value={item.id}>\n {item.displayName}\n </MenuItem>\n )\n }\n </Select>\n </FormControl>\n <TextField\n size=\"small\"\n variant=\"outlined\"\n value={employee.email}\n label=\"Email\"\n className={clsx(classes.field, 'input')}\n error={!!errors['email']}\n helperText={errors['email']}\n onChange={(event) => handleChanges('email', event.target.value)}\n />\n </Box>\n <Box mb={1}>\n <FormControl\n className={classes.field}\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <InputLabel\n className={classes.selectLabel}\n >\n Gender\n </InputLabel>\n <Select\n value={employee.gender}\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n onChange={(event) => handleChanges('gender', event.target.value)}\n >\n <MenuItem value={Gender.Male}>{Gender[Gender.Male]}</MenuItem>\n <MenuItem value={Gender.Female}>{Gender[Gender.Female]}</MenuItem>\n <MenuItem value={Gender.None}>{Gender[Gender.None]}</MenuItem>\n </Select>\n </FormControl>\n </Box>\n <Box ml={1} pb={2}>\n <WildHealthLinkButton\n id='show-scheduler-id'\n onClick={toggleShowSchedulerId}\n content={\n hasSchedulerAccountId\n ? <Box className={commonClasses.colorGood}>\n The Account is synchronized with scheduler system\n </Box>\n : <Box className={commonClasses.colorGray1}>\n The Account is not synchronized with scheduler system\n </Box>\n }\n />\n </Box>\n {\n showSchedulerId &&\n <Box pb={1}>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.schedulerAccountId}\n label=\"Scheduler System Id\"\n className={clsx(classes.fullWidthField, 'input')}\n placeholder=\"Paste Url or Id from Timekit\"\n error={!!errors['schedulerAccountId']}\n helperText={errors['schedulerAccountId']}\n onChange={(event) => handleSchedulerAccountIdChanges(event.target.value)}\n />\n </Box>\n }\n\n <Divider/>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" py={2}>\n <Box id={`rxnt-credentials-section-expand`} onClick={() => toggleRxNT()} className=\"wh-tw-cursor-pointer\">\n {rxntExpanded ? <ExpandMoreIcon /> : <ChevronRightIcon />}\n </Box>\n <Box ml={1}>\n <span className={classes.sectionTitle}>RxNT credentials</span>\n </Box>\n </Box>\n <Collapse in={rxntExpanded} timeout=\"auto\" unmountOnExit>\n <Box mb={1}>\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n value={employee.rxntUserName}\n label=\"RxNT Login\"\n autoComplete='false'\n className={clsx(classes.field, 'input')}\n error={!!errors['rxntUserName']}\n helperText={errors['rxntUserName']}\n onChange={(event) => handleChanges('rxntUserName', event.target.value)}\n />\n <TextField\n required\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n type=\"password\"\n autoComplete='false'\n value={employee.rxntPassword}\n label=\"RxNT Password\"\n className={clsx(classes.field, 'input')}\n error={!!errors['rxntPassword']}\n helperText={errors['rxntPassword']}\n onChange={(event) => handleChanges('rxntPassword', event.target.value)}\n />\n </Box>\n </Collapse>\n <Divider/>\n\n <Box mt={1} ml={1} mr={1} mb={5}>\n <Box>\n <span className={classes.sectionTitle}>Permissions</span>\n </Box>\n {\n permissions &&\n permissions\n .map((item, index) => {\n const control = (\n <Checkbox\n className={classes.permissionCheck}\n checked={employee?.permissions?.find(i => i === item.id) != null}\n onChange={handlePermissionChange}\n color=\"default\"\n />\n );\n\n return (\n <FormControlLabel\n className={classes.permission}\n control={control}\n value={item.id}\n label={item.displayName}\n key={index}\n />\n );\n })\n }\n </Box>\n </DialogContent>\n\n <DialogActions>\n <WildHealthButton\n id=\"update-employee-cancel\"\n onClick={() => handleToggleDialog(false)}\n color=\"tertiary\"\n disabled={isSubmitted}\n >\n Cancel\n </WildHealthButton>\n <WildHealthButton\n id=\"update-employee-update\"\n onClick={handleUpdate}\n autoFocus\n disabled={isSubmitted}\n >\n {\n isSubmitted\n ? <CircularProgress size={24} className={classes.progress} />\n : ' Update'\n }\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n </>\n );\n}\n","import {\n Box,\n createStyles,\n FormControl,\n IconButton,\n InputLabel,\n makeStyles,\n Menu,\n MenuItem,\n Select,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableSortLabel\n} from \"@material-ui/core\";\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport React from 'react';\nimport {PermissionType} from \"../../../auth/models/auth.enums\";\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport {SearchComponent} from '../../../common/components/searchComponent/SearchComponent';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {WildHealthPlaceHolder} from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport {WildHealthTableCell} from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport {WildHealthTableRow} from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport {CreateEmployeeButtonComponent} from \"../createEmployeeButton/CreateEmployeeButtonComponent\";\nimport {ResetPatientPasswordDialogComponent} from \"../../../account/components/resetPatientPasswordDialogComponent/ResetPatientPasswordDialogComponent\";\nimport {UpdateEmployeeComponent} from \"../updateEmployee/UpdateEmployeeComponent\";\nimport {useFacade} from \"./manageEmployeesComponent.hooks\";\n\ninterface ManageEmployeesComponentProps {\n maxHeight?: number;\n locationId?: number;\n}\n\nexport const ManageEmployeesComponent: React.FC<ManageEmployeesComponentProps> = (props: ManageEmployeesComponentProps) => {\n const { maxHeight, locationId } = props;\n \n const [\n {\n isLoading,\n employees,\n sortingColumns,\n sortingSource,\n isEditOpen,\n isResetPasswordOpen,\n currentEmployeeEmail,\n selectedEmployeeId,\n selfManagingEmployee,\n isEmployeeActionsOpen,\n employeeActionsAnchorEl,\n selectedRoleId,\n roles\n },\n handleToggleEditEmployee,\n handleToggleResetEmployeePassword,\n handleResendEmployeeInvite,\n handleDeleteEmployee,\n handleToggleEmployeeActions,\n handleSubmitResetPassword,\n handleSorting,\n handleSearch,\n handleSelectRole,\n handleSearchInputChange\n ] = useFacade(locationId);\n\n const isDeleteAvailable = (locationId?: number): boolean => !locationId;\n\n const employeeTableClass = maxHeight ? { height: `${maxHeight}px` } : {};\n const classes = makeStyles(() =>\n createStyles({\n employeeTable: employeeTableClass,\n selectLabel: { backgroundColor: \"white\" }\n })\n )();\n\n const renderTable = () => {\n if (isLoading) {\n return <WildHealthLinearProgress/>\n }\n\n if (!isLoading && (!employees || !employees.length)) {\n return <WildHealthPlaceHolder message=\"No current records found\"/>\n }\n\n return (\n <TableContainer className={classes.employeeTable}>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n sortingColumns.map((item, index) =>\n <WildHealthTableCell\n key={index}\n >\n <TableSortLabel\n id={`manage-employees-sorting-${item.title}`}\n active={sortingSource === item.source}\n direction={sortingSource === item.source ? item.direction : 'asc'}\n onClick={() => handleSorting(item.source, item.direction)}\n >\n {item.title}\n </TableSortLabel>\n </WildHealthTableCell>\n )\n }\n <ProtectedElement\n element={\n <WildHealthTableCell>\n Actions\n </WildHealthTableCell>}\n permissions={[PermissionType.ManageEmployees]}\n />\n\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n employees.map((item, index) =>\n <WildHealthTableRow key={index}>\n {\n Object.values(item).slice(2).map((field, fieldIndex) =>\n <WildHealthTableCell key={`${index}${fieldIndex}`}>\n {field}\n </WildHealthTableCell>\n )\n }\n <ProtectedElement\n element={\n <WildHealthTableCell>\n <IconButton id={`manage-employees-actions-${item.id}`} onClick={(event: React.MouseEvent<HTMLButtonElement>) =>\n handleToggleEmployeeActions(!isEmployeeActionsOpen, item.id, item.email, event.currentTarget)}>\n <MoreVertIcon/>\n </IconButton>\n </WildHealthTableCell>}\n permissions={[PermissionType.ManageEmployees]}\n />\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n return (\n <Box p={3}>\n <Box mb={2} display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex \" alignItems=\"center\">\n <ProtectedElement\n element={<CreateEmployeeButtonComponent\n locationId={locationId}\n />}\n permissions={[PermissionType.ManageEmployees]}\n />\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box width={300} marginRight={2}>\n <SearchComponent\n placeholder=\"Search by Name, ID or Email\"\n handleChanges={(value: string) => handleSearchInputChange(value)}\n handleSearch={(value: string) => handleSearch(value)}\n />\n </Box>\n <Box width={300}>\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <InputLabel className={classes.selectLabel}>\n Role\n </InputLabel>\n <Select\n className=\"input\"\n value={selectedRoleId}\n MenuProps={{\n anchorOrigin: {\n vertical: \"bottom\",\n horizontal: \"left\"\n },\n transformOrigin: {\n vertical: \"top\",\n horizontal: \"left\"\n },\n getContentAnchorEl: null\n }}\n onChange={handleSelectRole}\n >\n {\n roles &&\n [(\n <MenuItem key={0} value={0}>\n All\n </MenuItem>\n )]\n .concat(roles\n .map((item) =>\n <MenuItem key={item.id} value={item.id}>\n {item.displayName}\n </MenuItem>\n )\n )\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n </Box>\n {\n renderTable()\n }\n <UpdateEmployeeComponent\n isOpen={isEditOpen}\n employeeId={selectedEmployeeId}\n selfManagingEmployee={selfManagingEmployee}\n handleToggleDialog={(value: boolean) => handleToggleEditEmployee(value)}\n />\n <ResetPatientPasswordDialogComponent\n open={isResetPasswordOpen}\n handleSubmit={handleSubmitResetPassword}\n handleClose={() => handleToggleResetEmployeePassword(false)}\n />\n <ProtectedElement\n element={\n <Menu\n keepMounted\n anchorEl={employeeActionsAnchorEl}\n open={Boolean(employeeActionsAnchorEl)}\n onClose={() => handleToggleEmployeeActions(false, 0, currentEmployeeEmail, null)}\n >\n <MenuItem id=\"manage-employees-edit\" onClick={() => handleToggleEditEmployee(true)}>\n Edit\n </MenuItem>\n <MenuItem id=\"manage-employees-reset-password\" onClick={() => handleToggleResetEmployeePassword(true)}>\n Reset Password\n </MenuItem>\n <MenuItem id=\"manage-employees-resend-invite\" onClick={() => handleResendEmployeeInvite()} disabled={false}>\n Resend Invite\n </MenuItem>\n {isDeleteAvailable(locationId) && \n <MenuItem id=\"manage-employees-delete\" onClick={() => handleDeleteEmployee()} disabled={selfManagingEmployee}>\n Delete\n </MenuItem>}\n </Menu>}\n permissions={[PermissionType.ManageEmployees]}\n />\n </Box>\n )\n}","import React, { useState } from \"react\";\nimport { LocationModel } from \"../../models/locations.models\";\nimport { locationsService } from \"../../services/locations.service\";\nimport { ManageLocationsComponent } from \"../manageLocationsComponent/ManageLocationsComponent\";\nimport { ManageLocationUsersComponent } from \"../manageLocationUsersComponent/ManageLocationUsersComponent\";\n\n\nenum ManageLocationsStates {\n List = 0,\n Manage = 1\n}\n\ninterface ManageLocationsCommonComponentState {\n stateView: ManageLocationsStates;\n selectedLocation: LocationModel;\n}\n\nexport function useFacade(): [JSX.Element] {\n const [state, setState] = useState({\n stateView: ManageLocationsStates.List,\n selectedLocation: null\n } as ManageLocationsCommonComponentState);\n\n const handleGoBack = () => {\n setState(state => ({\n ...state,\n stateView: ManageLocationsStates.List\n }));\n }\n\n const handleEditLocation = () => {\n locationsService.updateLocation(state.selectedLocation).subscribe(model => {\n locationsService.update(model).subscribe();\n setState(state => ({\n ...state,\n selectedLocation: model,\n }));\n });\n }\n\n const handleGoToManageLocation = (location: LocationModel) => {\n setState(state => ({\n ...state,\n selectedLocation: location,\n stateView: ManageLocationsStates.Manage\n }));\n }\n\n const stateViews = new Map<ManageLocationsStates, JSX.Element>([\n [\n ManageLocationsStates.List,\n <ManageLocationsComponent\n handleGoToManageLocation={handleGoToManageLocation}\n />\n ],\n [\n ManageLocationsStates.Manage,\n <ManageLocationUsersComponent\n handleGoBack={handleGoBack}\n handleEdit={handleEditLocation}\n location={state.selectedLocation}\n />\n ]\n ]);\n\n const view = (stateViews.get(state.stateView));\n\n return [view];\n}","import React from \"react\";\nimport { Box, Button, ButtonGroup, IconButton } from \"@material-ui/core\";\nimport ArrowBackIosRoundedIcon from \"@material-ui/icons/ArrowBackIosRounded\";\nimport { ManageEmployeesComponent } from \"../../../employee/components/manageEmployeesComponent/ManageEmployeesComponent\";\nimport { LocationModel } from \"../../models/locations.models\";\nimport EditIcon from '@material-ui/icons/Edit';\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport { UpdateLocationDialogComponent } from \"../updateLocationDialogComponent/UpdateLocationDialogComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\n\n\ninterface ManageLocationUsersComponentProps {\n handleGoBack: Function;\n handleEdit: Function;\n location: LocationModel;\n}\n\nexport const ManageLocationUsersComponent: React.FC<ManageLocationUsersComponentProps> = (props: ManageLocationUsersComponentProps) => {\n const { \n handleGoBack,\n handleEdit,\n location\n } = props;\n const commonClasses = commonUseStyles();\n\n return (\n <Box p={3}>\n <Box display=\"flex \" alignItems=\"center\">\n <ButtonGroup size=\"large\" variant=\"text\" color=\"default\" aria-label=\"large outlined primary button group\">\n <Button\n id=\"manage-location-users-go-back\"\n onClick={() => handleGoBack()}\n startIcon={<ArrowBackIosRoundedIcon/>}\n >\n Back To Pods\n </Button>\n <Button disabled style={{ fontSize: '1.6em' }}>\n {location.name}\n </Button>\n </ButtonGroup>\n </Box>\n\n <Box mt={5}>\n <Box mt={5} ml={4}>\n <Box display=\"flex\" alignItems=\"center\">\n <Box mr={3} className={commonClasses.primaryTitle}>Pod Info</Box>\n <ProtectedElement \n element={\n <Box>\n <IconButton\n id=\"manage-location-users-edit\"\n onClick={() => { handleEdit() }}\n size=\"medium\"\n >\n <EditIcon color=\"primary\"/>\n </IconButton>\n </Box>\n }\n permissions={[PermissionType.ManageLocations]}\n />\n\n </Box>\n \n <Box display=\"flex\" mt={3}>\n <Box mr={2}><b>Pod Name:</b></Box>\n <Box>{location.name}</Box>\n </Box>\n\n <Box mt={4}><b>POD ADDRESS</b></Box>\n\n <Box>\n <Box display=\"flex\" mt={3}>\n <Box display=\"flex\" mr={4}>\n <Box mr={2}><b>Address 1:</b></Box>\n <Box>{location.streetAddress1}</Box>\n </Box>\n <Box display=\"flex\">\n <Box mr={2}><b>State:</b></Box>\n <Box>{location.state}</Box>\n </Box>\n </Box>\n <Box display=\"flex\" mt={3}>\n <Box display=\"flex\" mr={4}>\n <Box mr={2}><b>City:</b></Box>\n <Box>{location.city}</Box>\n </Box>\n <Box display=\"flex\" >\n <Box mr={2}><b>Zip Code:</b></Box>\n <Box>{location.zipCode}</Box>\n </Box>\n </Box>\n </Box>\n </Box>\n\n <Box mt={5}>\n <ManageEmployeesComponent \n maxHeight={400}\n locationId={location.id}\n />\n </Box>\n </Box>\n\n <UpdateLocationDialogComponent />\n </Box>\n )\n}","import React from 'react';\nimport { useFacade } from './ManageLocationsCommonComponent.hooks';\nimport {Box} from \"@material-ui/core\";\n\n\nexport const ManageLocationsCommonComponent: React.FC = () => {\n const [\n view,\n ] = useFacade();\n\n return (\n <Box>\n {\n view\n }\n </Box>\n )\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PatientOnBoardingStatus, PatientShortModel, PatientViewModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { EmployeeType } from \"../../models/employee.enums\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { PaymentPlanFilterModel, PaymentPlanModel } from \"../../../payment/models/paymentPlan.models\";\nimport { StateViewModel } from \"../manageAllPatientsComponent/manageAllPatientsComponent.hooks\";\nimport { stateList } from \"../../../common/sorting/models/sorting-state\";\nimport { AddOnFilterModel, addOnsList } from \"../../../addons/models/addOns.models\";\nimport { getPaymentPlanFullName } from \"../../../payment/helpers/getPlanFullName\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport {orderTypeNames} from \"../../../orders/models/orders.models\";\n\nexport enum SortingSource {\n none,\n patientName = 'lastName',\n plan = 'plan',\n joinedPractice = 'joinedPractice',\n providers = 'providers',\n coaches = 'coaches',\n location = 'location',\n}\n\nexport interface IntakePatientsFilterModel {\n paymentPlans: PaymentPlanFilterModel[];\n searchQuery: string;\n addOns: AddOnFilterModel[],\n state: StateViewModel[],\n}\n\ninterface IntakePatientsFiltersState {\n isOpen: boolean;\n anchorEl: HTMLButtonElement;\n isPodsOpen: boolean;\n isPlansOpen: boolean;\n isProvidersOpen: boolean;\n isCoachesOpen: boolean;\n isAddOnsOpen: boolean;\n isStateOpen: boolean;\n isAllAddOnsSelected: boolean;\n isAllStateSelected: boolean;\n filters: IntakePatientsFilterModel;\n}\n\ninterface ManageIntakePatientsComponentState extends ISortingState {\n isLoading: boolean;\n patients: PatientViewModel[];\n paymentPlansInitial: PaymentPlanFilterModel[];\n stateInitial: StateViewModel[],\n filtersState: IntakePatientsFiltersState;\n}\n\nexport function useFacade(): [\n ManageIntakePatientsComponentState,\n (event?: React.MouseEvent<HTMLButtonElement>) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (query: string) => void,\n (value: string) => void,\n (source: string, direction: SortingDirection) => void,\n (periodId: number, toSelect: boolean) => void,\n () => void,\n (name: string, toSelect: boolean) => void,\n (name: string, toSelect: boolean) => void,\n (value: string) => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n patients: [],\n sortingColumns: authQuery.isLicensingPractice() ? [\n { title: 'Patient Name', source: SortingSource.patientName, direction: SortingDirection.Asc },\n { title: 'Start Date', source: SortingSource.joinedPractice, direction: SortingDirection.Desc },\n { title: 'Providers', source: SortingSource.providers, direction: SortingDirection.Asc },\n { title: 'Health Coaches', source: SortingSource.coaches, direction: SortingDirection.Asc },\n { title: 'Add-Ons' },\n { title: 'State' },\n { title: 'Pod', source: SortingSource.location, direction: SortingDirection.Asc },\n ]\n : [\n { title: 'Patient Name', source: SortingSource.patientName, direction: SortingDirection.Asc },\n { title: 'Start Date', source: SortingSource.joinedPractice, direction: SortingDirection.Desc },\n { title: 'Plan', source: SortingSource.plan, direction: SortingDirection.Asc },\n { title: 'Providers', source: SortingSource.providers, direction: SortingDirection.Asc },\n { title: 'Health Coaches', source: SortingSource.coaches, direction: SortingDirection.Asc },\n { title: 'Add-Ons' },\n { title: 'Discount'},\n { title: 'State'},\n { title: 'Pod', source: SortingSource.location, direction: SortingDirection.Asc },\n ],\n sortingSource: SortingSource.none,\n stateInitial: stateList,\n paymentPlansInitial: [],\n filtersState: {\n isOpen: false,\n anchorEl: null,\n isPodsOpen: false,\n isProvidersOpen: false,\n isCoachesOpen: false,\n isPlansOpen: false,\n isAddOnsOpen: false,\n isStateOpen: false,\n isAllStateSelected: false,\n isAllAddOnsSelected: false,\n filters: {\n paymentPlans: [],\n searchQuery: '',\n addOns: addOnsList,\n state: stateList,\n },\n },\n } as ManageIntakePatientsComponentState);\n\n const handleSelectAllState = () => {\n state.filtersState.filters.state.forEach(p => p.isSelected = !state.filtersState.isAllStateSelected);\n state.filtersState.isAllStateSelected = !state.filtersState.isAllStateSelected\n setState(state => ({ ...state }));\n }\n\n const handleSelectAllAddOns = () => {\n state.filtersState.filters.addOns.forEach(p => p.isSelected = !state.filtersState.isAllAddOnsSelected);\n state.filtersState.isAllAddOnsSelected = !state.filtersState.isAllAddOnsSelected\n setState(state => ({ ...state }));\n }\n\n const handleSearchState = (value: string) => {\n state.filtersState.filters.state = state.stateInitial.filter(el => el.name.toLocaleLowerCase().includes(value.toLocaleLowerCase()))\n state.filtersState.isAllStateSelected = !state.filtersState.filters.state.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const handleSearchPlan = (value: string) => {\n state.filtersState.filters.paymentPlans = state.paymentPlansInitial.filter(el => el.name.toLocaleLowerCase().includes(value.toLocaleLowerCase()))\n setState(state => ({ ...state }));\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n let itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({\n ...state, columns:\n state.sortingColumns\n }));\n }\n\n const handleClearFilters = () => {\n state.filtersState.filters.paymentPlans.forEach(p => p.isSelected = false);\n state.filtersState.filters.state.forEach(p => p.isSelected = false);\n state.filtersState.filters.addOns.forEach(p => p.isSelected = false);\n state.filtersState.isAllStateSelected = false;\n state.filtersState.isAllAddOnsSelected = false;\n setState(state => ({ ...state }));\n }\n\n const handleToggleFilters = (event?: React.MouseEvent<HTMLButtonElement>) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({ ...state }));\n }\n\n const handleTogglePlans = () => {\n state.filtersState.isPlansOpen = !state.filtersState.isPlansOpen;\n setState(state => ({ ...state }));\n }\n\n const handleToggleAddOns = () => {\n state.filtersState.isAddOnsOpen = !state.filtersState.isAddOnsOpen;\n setState(state => ({ ...state }));\n }\n\n const handleToggleState = () => {\n state.filtersState.isStateOpen = !state.filtersState.isStateOpen;\n setState(state => ({ ...state }));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n patients: state.patients.sort((p1, p2) => handleCompare(p1, p2, direction, source))\n }));\n }\n\n const handleSearch = (query: string) => {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const filters = state.filtersState.filters;\n\n patientsService.getNewPatients(\n PatientOnBoardingStatus.New,\n query ?? '',\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n )\n .subscribe(() => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n });\n }\n\n const handleApplyFilters = () => {\n setState(state => ({ ...state, isLoading: true, selectedPage: 1 }));\n\n const filters = state.filtersState.filters;\n\n patientsService.getNewPatients(\n PatientOnBoardingStatus.New,\n filters.searchQuery,\n filters.paymentPlans.filter(x => x.isSelected).map(x => x.periodId),\n filters.addOns.filter(x => x.isSelected).map(x => x.type),\n filters.state.filter(x => x.isSelected).map(x => x.name),\n ).subscribe(() => setState(state => ({ ...state, isLoading: false })));\n }\n\n const handleOnAddOnsChanges = (name: string, toSelect: boolean) => {\n const item = state.filtersState.filters.addOns.find(p => p.name === name);\n\n if (item) {\n item.isSelected = toSelect;\n }\n\n state.filtersState.isAllAddOnsSelected = !state.filtersState.filters.addOns.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const handleOnPaymentChanges = (periodId: number, toSelect: boolean) => {\n const item = state.filtersState.filters.paymentPlans.find(p => p.periodId === periodId);\n\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleOnStateChanges = (name: string, toSelect: boolean) => {\n const item = state.filtersState.filters.state.find(p => p.name === name);\n\n if (item) {\n item.isSelected = toSelect;\n }\n state.filtersState.isAllStateSelected = !state.filtersState.filters.state.some(p => p.isSelected === false);\n setState(state => ({ ...state }));\n }\n\n const setPlans = (plans: PaymentPlanModel[]) => {\n state.filtersState.filters.paymentPlans = [];\n let paymentPlansInitial = []\n plans.forEach(plan => {\n if (plan.periods) {\n plan.periods.forEach(period => {\n paymentPlansInitial.push({\n id: plan.id,\n periodId: period.id,\n name: getPaymentPlanFullName(plan, period),\n isSelected: false\n });\n state.filtersState.filters.paymentPlans.push({\n id: plan.id,\n periodId: period.id,\n name: getPaymentPlanFullName(plan, period),\n isSelected: false\n });\n\n });\n }\n })\n\n setState(state => ({ ...state, paymentPlansInitial: paymentPlansInitial }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n paymentPlansService.get(authQuery.getCurrentPracticeId()).subscribe(plans => setPlans(plans)),\n onEmit<PatientShortModel[]>(patientsQuery.patients$, patients => {\n\n setState(state => ({\n ...state,\n patients: patients.map(p => {\n return {\n id: p.id,\n lastName: p.lastName,\n name: `${p.firstName} ${p.lastName}`,\n plan: p.subscription?.displayName,\n joinedPractice: new Date(p.createdAt).getTime(),\n providers: p.employees.filter(x => x?.type === EmployeeType.Provider).map(x => {\n return {\n firstName: x.firstName,\n lastName: x.lastName\n }\n }),\n coaches: p.employees.filter(x => x?.type === EmployeeType.HealthCoach).map(x => {\n return {\n firstName: x.firstName,\n lastName: x.lastName\n }\n }),\n orderTypes: p.orderTypes.map(x => orderTypeNames.get(x)),\n location: p.location,\n shippingAddress: p.shippingAddress,\n paymentPrice: p.subscription?.paymentPrice\n }\n })\n }))\n }),\n ];\n\n patientsService.getNewPatients(\n PatientOnBoardingStatus.New,\n '',\n [],\n [],\n [],\n )\n .subscribe(() => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n });\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleToggleFilters,\n handleToggleAddOns,\n handleToggleState,\n handleTogglePlans,\n handleApplyFilters,\n handleSearch,\n handleSearchState,\n handleSorting,\n handleOnPaymentChanges,\n handleClearFilters,\n handleOnStateChanges,\n handleOnAddOnsChanges,\n handleSearchPlan,\n handleSelectAllState,\n handleSelectAllAddOns,\n ];\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { isElementEnabled } from '../../../common/components/ProtectedElement';\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { ManageLocationsCommonComponent } from '../../../locations/components/manageLocationsCommonComponent/ManageLocationsCommonComponent';\nimport { ManageEmployeesComponent } from \"../../components/manageEmployeesComponent/ManageEmployeesComponent\";\n\nexport const ManageEmployeesPage: React.FC = () => {\n const tabs: TabItem[] = [];\n\n if (isElementEnabled([PermissionType.ManageEmployees, PermissionType.ViewOnly], UserType.Employee)) {\n tabs.push({\n title: 'Users',\n content: <ManageEmployeesComponent/>,\n });\n }\n\n if (isElementEnabled([PermissionType.ManageLocations, PermissionType.ViewOnly], UserType.Employee)) {\n tabs.push({\n title: 'Pods',\n content: <ManageLocationsCommonComponent/>,\n });\n }\n\n return (\n <AuthenticatedLayoutComponent\n title={TitlesService.employeesTitle}\n pageName={PagesNamesService.employees}\n selectedMenuItem={MenuItemTypes.Employees}\n >\n <WildHealthTabControl items={tabs}/>\n </AuthenticatedLayoutComponent>\n )\n}","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n filters: {\n maxHeight: 'calc(100vh - 130px)',\n overflowY: 'auto',\n minWidth: 350,\n marginBottom: 16,\n },\n nested: {\n paddingLeft: theme.spacing(4),\n },\n avatarProvider: {\n width: 32,\n height: 32,\n backgroundColor: colors.accent2,\n color: colors.black,\n fontSize: 12,\n textTransform: 'uppercase',\n },\n avatarCoaches: {\n width: 32,\n height: 32,\n backgroundColor: colors.accent4,\n color: colors.black,\n fontSize: 12,\n textTransform: 'uppercase',\n },\n avatarEmpty: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 32,\n height: 32,\n borderRadius: '50%',\n border: `2px solid ${colors.gray4}`,\n color: colors.gray4,\n },\n activeIcon: {\n color: colors.main,\n },\n closeIcon: {\n color: colors.main,\n marginRight: 8,\n width: 24,\n height: 24,\n\n },\n divider: {\n borderTop: `2px solid ${colors.separators}`,\n }\n}));\n","import {\n Avatar,\n Box,\n Button,\n Collapse,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n Popover,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableSortLabel,\n Tooltip\n} from '@material-ui/core';\nimport moment from \"moment\";\nimport React from 'react';\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthLink, WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { useFacade } from './manageIntakePatientsComponent.hooks';\nimport { useStyles } from \"./manageIntakePatientsComponent.styles\";\nimport './manageIntakePatientsComponent.scss';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { EmployeeType } from '../../models/employee.enums';\nimport { displayLocation } from '../../../locations/helpers/displayLocation';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { ExpandLess, ExpandMore } from '@material-ui/icons';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CloseIcon from '@material-ui/icons/Close';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { displayShortName } from '../../../conversations/helpers/messages.converter';\n\nconst filtersPopoverProps: any = {\n id: \"notificationsPopoverIntakePatients\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n};\n\nexport const ManageIntakePatientsComponent: React.FC = () => {\n const [\n {\n isLoading,\n patients,\n filtersState,\n sortingColumns,\n sortingSource,\n },\n handleToggleFilters,\n handleToggleAddOns,\n handleToggleState,\n handleTogglePlans,\n handleApplyFilters,\n handleSearch,\n handleSearchState,\n handleSorting,\n handleOnPaymentChanges,\n handleClearFilters,\n handleOnStateChanges,\n handleOnAddOnsChanges,\n handleSearchPlan,\n handleSelectAllState,\n handleSelectAllAddOns,\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const cutLongText = (text: string): string => {\n return text.length > 20 ? `${text.slice(0, 20)}...` : text\n }\n\n const emptyPlaceholder = () => {\n return <span style={{ color: '#999999' }}>-</span>\n }\n\n const emptyAvaPlaceholder = () => {\n return <Box className={classes.avatarEmpty}>-</Box>\n }\n\n const renderEmployeesName = (employees) => {\n return employees.map(x => `${x.firstName} ${x.lastName}`).join(', ')\n }\n\n const renderAvatar = (employees, type: number) => {\n if (employees.length === 1) {\n return <Tooltip placement=\"top\" arrow title={`${employees[0].firstName} ${employees[0].lastName}`}>\n <Avatar variant='circle' src={''} className={type === EmployeeType.HealthCoach ? classes.avatarCoaches : classes.avatarProvider}>\n {displayShortName(employees[0].firstName, employees[0].lastName)}\n </Avatar>\n </Tooltip>\n }\n\n if (employees.length > 1) {\n return <Tooltip placement=\"top\" arrow title={renderEmployeesName(employees)}>\n <Avatar variant='circle' src={''} className={type === EmployeeType.HealthCoach ? classes.avatarCoaches : classes.avatarProvider}>\n {employees.length}\n </Avatar>\n </Tooltip>\n }\n\n return emptyAvaPlaceholder();\n }\n\n const renderTable = () => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n if (!patients || !patients.length) {\n return <WildHealthPlaceHolder message=\"No current records found\" />\n }\n\n return (\n <TableContainer>\n <Table aria-label=\"customized table\">\n <TableHead>\n <WildHealthTableRow>\n {\n sortingColumns.map((item, index) =>\n <WildHealthTableCell key={index} style={{ width: '20%' }} align=\"left\">\n {\n item.source\n ?\n <TableSortLabel\n id={`manage-intake-patients-${item.title}`}\n active={sortingSource === item.source}\n direction={sortingSource === item.source ? item.direction : 'asc'}\n onClick={() => handleSorting(item.source, item.direction)}\n >\n {item.title}\n </TableSortLabel>\n : item.title\n\n }\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n patients.map((patient, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <WildHealthLink\n id={`manage-intake-patients-${patient.id}`}\n href={`${RoutesConstants.submitPatient}/${patient.id}`}\n content={patient.name}\n />\n </WildHealthTableCell>\n <WildHealthTableCell> {moment(toCurrentTimeZone(new Date(patient.joinedPractice))).format('MM/DD/YYYY')}</WildHealthTableCell>\n {!authQuery.isLicensingPractice() &&\n <WildHealthTableCell>\n {\n patient.plan ?? emptyPlaceholder()\n }\n </WildHealthTableCell>\n }\n <WildHealthTableCell>\n {renderAvatar(patient.providers, EmployeeType.Provider)}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {renderAvatar(patient.coaches, EmployeeType.HealthCoach)}\n </WildHealthTableCell>\n <Tooltip placement=\"top\" arrow title={patient.orderTypes.join(', ')}>\n <WildHealthTableCell> {patient.orderTypes.length ? cutLongText(patient.orderTypes.join(', ')) : emptyPlaceholder()} </WildHealthTableCell>\n </Tooltip>\n {!authQuery.isLicensingPractice() &&\n <WildHealthTableCell> {patient.paymentPrice && patient.paymentPrice.paymentCoupon ? patient.paymentPrice.paymentCoupon.code : emptyPlaceholder()} </WildHealthTableCell>\n }\n <WildHealthTableCell> {patient.shippingAddress ? patient.shippingAddress.state : emptyPlaceholder()} </WildHealthTableCell>\n <WildHealthTableCell> {patient.location ? displayLocation(patient.location) : emptyPlaceholder()} </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n return (\n <>\n <Box my={2} display=\"flex\" justifyContent=\"space-between\">\n\n </Box>\n <Box my={2} display=\"flex\" justifyContent=\"space-between\">\n <Box width={420}>\n <SearchComponent handleSearch={handleSearch} placeholder=\"Search by Name, ID or Email\" />\n </Box>\n\n <Button\n id=\"manage-intake-patients-filter\"\n aria-describedby={filtersPopoverProps.id}\n onClick={(event) => handleToggleFilters(event)}\n startIcon={<FilterListIcon />}\n className={commonClasses.whButton}\n >\n Filter\n </Button>\n </Box>\n <WildHealthContainer margin={0} minHeight={'100%'}>\n {renderTable()}\n </WildHealthContainer>\n\n <Popover\n id={filtersPopoverProps.id}\n anchorEl={filtersState.anchorEl}\n onClose={() => handleToggleFilters()}\n open={filtersState.isOpen}\n anchorOrigin={filtersPopoverProps.anchorOrigin}\n transformOrigin={filtersPopoverProps.transformOrigin}\n >\n <Box width=\"365px\">\n <List className={clsx(classes.filters, 'flat-scroll')}>\n\n <ListItem id=\"manage-intake-patients-add-ons\" button onClick={handleToggleAddOns}>\n <ListItemText primary={<span className=\"text-medium\">Add-Ons</span>} />\n {filtersState.isAddOnsOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isAddOnsOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n <ListItem\n id={`manage-intake-patients-add-ons-select-all`}\n key=\"manage-intake-patients-add-ons-select-all\" button className={classes.nested}\n onClick={() => handleSelectAllAddOns()}\n >\n <ListItemIcon>\n {filtersState.isAllAddOnsSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary='Select All' />\n </ListItem>\n {\n filtersState.filters.addOns.map((item, index) =>\n <ListItem\n id={`manage-intake-patients-pod-${index}`}\n key={index} button className={classes.nested}\n onClick={() => handleOnAddOnsChanges(item.name, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n\n <ListItem id=\"manage-intake-patients-state\" className={classes.divider} button onClick={handleToggleState}>\n <ListItemText primary={<span className=\"text-medium\">State</span>} />\n {filtersState.isStateOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isStateOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n <ListItem>\n <Box >\n <SearchComponent handleSearch={handleSearchState} handleChanges={handleSearchState} placeholder=\"Search by state\" />\n </Box>\n </ListItem>\n <ListItem\n id={`manage-intake-patients-state-select-all`}\n key=\"manage-intake-patients-state-select-all\" button className={classes.nested}\n onClick={() => handleSelectAllState()}\n >\n <ListItemIcon>\n {filtersState.isAllStateSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary='Select All' />\n </ListItem>\n {\n filtersState.filters.state.map((item, index) =>\n <ListItem\n id={`manage-intake-patients-pod-${item.name}`}\n key={index} button className={classes.nested}\n onClick={() => handleOnStateChanges(item.name, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n {!authQuery.isLicensingPractice() &&\n <>\n <ListItem id=\"manage-intake-patients-plans\" className={authQuery.isLicensingPractice() ? '' : classes.divider} button onClick={handleTogglePlans}>\n <ListItemText primary={<span className=\"text-medium\">Plans</span>} />\n {filtersState.isPlansOpen ? <ExpandLess className={classes.activeIcon} /> : <ExpandMore />}\n </ListItem>\n <Collapse in={filtersState.isPlansOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n <ListItem>\n <Box >\n <SearchComponent handleSearch={handleSearchPlan} handleChanges={handleSearchPlan} placeholder=\"Search by plan\" />\n </Box>\n </ListItem>\n {\n filtersState.filters.paymentPlans.map((item, index) =>\n <ListItem\n id=\"manage-intake-patients-on-payment\"\n key={index} button className={classes.nested}\n onClick={() => handleOnPaymentChanges(item.periodId, !item.isSelected)}\n >\n <ListItemIcon>\n {item.isSelected ? <CheckBoxIcon className={classes.activeIcon} /> : <CheckBoxOutlineBlankIcon />}\n </ListItemIcon>\n <ListItemText primary={item.name} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n </>\n }\n </List>\n <Box p={2} display=\"flex\" justifyContent=\"space-between\" alignItems='center' width=\"100%\">\n <WildHealthLinkButton\n onClick={() => handleClearFilters()}\n content={<Box display=\"flex\" alignItems='center'> <CloseIcon className={classes.closeIcon} /> <span className={classes.activeIcon}> Clear All </span></Box>}\n id=\"manage-intake-patients-clear-all\"\n />\n\n <WildHealthButton\n id=\"manage-intake-patients-apply-filter\"\n onClick={() => handleApplyFilters()}\n >\n Apply filter\n </WildHealthButton>\n </Box>\n </Box>\n </Popover>\n </>\n )\n}","import React from 'react';\nimport { withRouter } from 'react-router';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageIntakePatientsComponent } from \"../../components/manageIntakePatientsComponent/ManageIntakePatientsComponent\";\n\nclass ManageIntakePatientsPage extends React.Component<any> {\n render() {\n return (\n <AuthenticatedLayoutComponent\n hideBackground\n title={TitlesService.intakePatientsTitle}\n pageName={PagesNamesService.intakePatients}\n selectedMenuItem={MenuItemTypes.IntakePatients}\n >\n <ManageIntakePatientsComponent/>\n </AuthenticatedLayoutComponent>\n )\n }\n}\n\nexport default withRouter(ManageIntakePatientsPage);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n icon: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n }),\n);\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../constants/colors\";\n\nconst drawerWidth = 170;\nconst drawerCloseWidth = 44;\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n drawer: {\n width: drawerWidth,\n flexShrink: 0,\n overflow: 'hidden',\n minHeight: 300,\n marginRight: 30,\n },\n drawerPaper: {\n border: \"none\",\n },\n drawerOpen: {\n width: drawerWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n },\n drawerClose: {\n width: drawerCloseWidth,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n logo: {\n maxHeight: 35,\n },\n menuList: {\n overflowX: 'hidden',\n overflowY: 'auto',\n height: '100%',\n width: '100%',\n },\n menuIconSize: {\n width: 20,\n height: 20,\n },\n menuIcon: {\n minWidth: 0,\n },\n badgeIcon: {\n minWidth: 0,\n paddingLeft: 6,\n '& > span': {\n marginTop: -12,\n }\n },\n menuItemText: {\n fontWeight: 400,\n },\n menuItemTextSelected: {\n fontWeight: 500,\n },\n menuItem: {\n borderRadius: 4,\n margin: '5px 0px',\n padding: '5px 10px',\n color: colors.gray1,\n fontSize: 16,\n lineHeight: 19,\n fontFamily: [\n 'Be Vietnam Pro',\n ].join(','),\n '&:hover': {\n color: colors.main,\n opacity: 0.8,\n },\n '&:selected': {\n color: colors.main,\n },\n '&:focus': {\n color: colors.main,\n },\n },\n menuItemSelected: {\n background: `${colors.separators} !important`,\n color: colors.main,\n },\n content: {\n overflow: 'hidden',\n maxWidth: '100%',\n flexGrow: 1,\n },\n nested: {\n paddingLeft: theme.spacing(2),\n },\n title: {\n color: colors.black,\n fontSize: 24,\n fontWeight: 600,\n }\n })\n);\n","import { Box, Collapse, List, ListItem, ListItemText, ListItemIcon } from \"@material-ui/core\";\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport clsx from 'clsx';\nimport React, { useEffect, useState } from \"react\";\nimport { WildHealthTabPanel } from \"../wildHealthTabPanel/WildHealthTabPanel\";\nimport { useStyles } from \"./wildHealthTabMenuControl.styles\";\nimport { WildHealthTooltip } from '../WildHealthTooltip';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\n\nexport interface Container {\n component: React.FC;\n props: any;\n}\n\nexport interface TabItem {\n title: string | JSX.Element;\n type: MenuItemTypes;\n content?: JSX.Element;\n children?: TabItem[],\n container?: Container;\n keepMounted?: boolean;\n disabled?: boolean;\n badge?: JSX.Element;\n icon?: (isSelected?: boolean) => JSX.Element;\n action?: () => void,\n}\n\ninterface CollapsibleMenuItem extends TabItem {\n isOpened: boolean;\n}\n\ninterface WildHealthTabMenuControlState {\n isOpen: boolean;\n items: CollapsibleMenuItem[];\n selectedTab: string,\n selectedContent: string,\n anchorEl: HTMLButtonElement;\n}\n\nexport function useFacade(items: TabItem[], initTab?: string, onChangeCB?: (tab: string) => void): [\n WildHealthTabMenuControlState,\n JSX.Element[],\n JSX.Element[],\n () => void,\n] {\n\n const [state, setState] = useState({\n isOpen: true,\n items: items.map(i => i as CollapsibleMenuItem),\n selectedTab: initTab,\n selectedContent: `tab-content-${initTab}`,\n anchorEl: null,\n } as WildHealthTabMenuControlState);\n\n const classes = useStyles();\n\n const handleChangeTab = (value: string) => {\n setState(state => ({ ...state, selectedTab: value, selectedContent: `tab-content-${value}` }));\n if (onChangeCB) {\n onChangeCB(value);\n }\n };\n\n const handleMenuItemToggle = (item: CollapsibleMenuItem, items: CollapsibleMenuItem[]) => {\n items.forEach(el => {\n el.title === item.title ? el.isOpened = !item.isOpened : el.isOpened = false\n })\n setState(state => ({ ...state }));\n }\n\n const handleToggle = () => {\n const isOpen = !state.isOpen;\n\n if (!isOpen) {\n state.items.forEach(i => i.isOpened = false);\n }\n\n setState(state => ({ ...state, isOpen: isOpen }));\n }\n\n const tabs: JSX.Element[] = [];\n const tabPanels: JSX.Element[] = [];\n\n const setTabPanels = (tabPanels: JSX.Element[], item: TabItem, index: string, initialKey: string) => {\n const key = `${initialKey}-${index}`;\n\n if (item.content) {\n const Container = item.container?.component ?? Box;\n const content = (\n <WildHealthTabPanel key={key} selected={state.selectedContent} index={key} keepMounted={item.keepMounted}>\n {React.createElement(Container, item.container?.props, item.content)}\n </WildHealthTabPanel>\n )\n\n tabPanels.push(content);\n }\n\n if (item.children?.length) {\n item.children.forEach(child=> setTabPanels(tabPanels, child, `${child.type}`, key));\n }\n }\n\n items.forEach(item => setTabPanels(tabPanels, item, `${item.type}-parent`, 'tab-content'));\n\n const renderChildMenuItems = (item: CollapsibleMenuItem, itemIndex: string) => {\n return (\n <React.Fragment key={itemIndex}>\n <Collapse in={item.isOpened} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {\n item.children.map(child => {\n const isSelected = state.selectedContent.startsWith(`tab-content-${itemIndex}-${child.type}`);\n\n return (\n <ListItem\n id={`tab-menu-${child.title}`}\n button\n key={child.type}\n disabled={child.disabled}\n className={clsx(classes.menuItem, {\n [classes.menuItemSelected]: isSelected && !child.disabled,\n })}\n onClick={() => handleChangeTab(`${itemIndex}-${child.type}`)}\n >\n <ListItemText\n primaryTypographyProps={{\n className: clsx(classes.menuItemText, classes.nested, {\n [classes.menuItemTextSelected]: isSelected && !item.disabled,\n })\n }}\n primary={\n <>\n {child.title}\n <ListItemIcon className={classes.badgeIcon}>\n {child.badge}\n </ListItemIcon>\n </>}\n />\n </ListItem>\n )\n })\n }\n </List>\n </Collapse>\n </React.Fragment>\n )\n }\n\n const renderMenuItems = () => {\n state.items.forEach(item => {\n let indexUnique = `${item.type}-parent`\n let isSelected = state.selectedContent.startsWith(`tab-content-${indexUnique}`);\n const hasChildren = item.children?.length > 0;\n const action = hasChildren ?\n () => {\n handleMenuItemToggle(item, state.items)\n if (!state.isOpen)\n handleToggle();\n } :\n () => handleChangeTab(indexUnique);\n\n if (hasChildren && !isSelected) {\n isSelected = item.children.find(item => state.selectedContent.startsWith(`tab-content-${indexUnique}-${item.type}`)) != null;\n }\n\n const listItem = (\n <ListItem\n id={`tab-menu-list-${item.title}`}\n className={clsx(classes.menuItem, {\n [classes.menuItemSelected]: isSelected && !item.disabled,\n })}\n selected={isSelected}\n disabled={item.disabled}\n onClick={() => action()}\n key={`list-${indexUnique}`}\n button\n >\n {!state.isOpen && (\n <ListItemIcon\n className={clsx(classes.menuIcon, classes.menuIconSize)}\n >\n {item.icon(isSelected)}\n </ListItemIcon>\n )}\n <ListItemText\n primaryTypographyProps={{\n className: clsx(classes.menuItemText, {\n [classes.menuItemTextSelected]: isSelected && !item.disabled,\n })\n }}\n primary={item.title}\n hidden={!state.isOpen}\n />\n {state.isOpen && hasChildren ? item.isOpened && !item.disabled ? <ExpandLessIcon /> : <ExpandMoreIcon /> : <></>}\n </ListItem>\n );\n\n tabs.push(state.isOpen ? listItem : <WildHealthTooltip key={`${item.type}-tooltip`} title={item.title} placement=\"right\">{listItem}</WildHealthTooltip>);\n\n if (hasChildren) {\n tabs.push(renderChildMenuItems(item, indexUnique));\n }\n });\n\n return tabs;\n }\n\n renderMenuItems();\n\n useEffect(() => {\n\n const initTabUnique = initTab.includes('parent') ? `${initTab}` : `${initTab}-parent`\n\n setState(state => ({\n ...state,\n selectedTab: initTabUnique,\n selectedContent: `tab-content-${initTabUnique}`\n }));\n\n return () => { };\n }, [initTab]);\n\n\n return [\n state,\n tabs,\n tabPanels,\n handleToggle,\n ];\n}","export enum ProductSubType {\n BuiltIn = 1,\n Additional = 5,\n}\n\nexport const ProductSubTypeNames: { [type: number]: string } = {\n [ProductSubType.BuiltIn]: 'Built In',\n [ProductSubType.Additional]: 'Additional'\n}\n","import { Box, List, IconButton } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { TabItem, useFacade } from './wildHealthTabMenuControl.hooks';\nimport { useStyles } from './wildHealthTabMenuControl.styles';\nimport MenuIcon from '@img/icons/Menu.svg';\nimport { WildHealthLinkButton } from \"../WildHealthLinkButton\";\nimport { FeatureComponent } from '../featureFlags/FeatureComponent';\nimport { FeatureFlag } from '../featureFlags/featureFlags.models';\nimport { MenuItemTypes } from '../../../../models/menu.models';\n\nexport interface WildHealthTabMenuControlProps {\n items: TabItem[];\n initTab?: string;\n onChangeCB?: (tab: string) => void;\n pageName: JSX.Element\n}\n\nexport const WildHealthTabMenuControl: React.FC<WildHealthTabMenuControlProps> = (props: WildHealthTabMenuControlProps) => {\n const {\n items,\n initTab = `${MenuItemTypes.Profile}`,\n onChangeCB,\n pageName,\n } = props;\n\n const [\n {\n isOpen,\n },\n tabs,\n tabPanels,\n handleToggle,\n ] = useFacade(items, initTab, onChangeCB);\n\n const classes = useStyles();\n\n return (\n <Box display='flex'>\n <Box\n className={clsx(classes.drawer, {\n [classes.drawerOpen]: isOpen,\n [classes.drawerClose]: !isOpen,\n })}\n >\n <Box display='flex' justifyContent='space-between' alignItems='center' my={1}>\n <Box>\n <IconButton id=\"side-bar-menu-toggle\" onClick={() => handleToggle()}>\n <img src={MenuIcon} alt=\"Menu Icon\" />\n </IconButton>\n </Box>\n {\n isOpen && [\n <Box key='link'>\n <WildHealthLinkButton\n id=\"side-bar-link-dashboard\"\n onClick={() => handleToggle()}\n content={()=>{}}\n />\n </Box>,\n <Box key='space' />\n ]\n }\n </Box>\n <List className={clsx(classes.menuList, 'flat-scroll')}>\n {tabs}\n </List>\n </Box>\n\n <div className={classes.content}>\n <FeatureComponent featureFlag={FeatureFlag.Navigation}>\n <Box className={classes.title}>\n {pageName}\n </Box>\n </FeatureComponent>\n\n {tabPanels}\n </div>\n </Box>\n );\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 20,\n },\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n },\n divider: {\n height: 1,\n background: '#EFF3F8',\n },\n })\n);\n","import { Box, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from './wildHealthHeaderComponent.styles';\n\ninterface WildHealthHeaderComponentProps {\n title: JSX.Element | string;\n children: any;\n}\n\nexport const WildHealthHeaderComponent: React.FC<WildHealthHeaderComponentProps> = (props: WildHealthHeaderComponentProps) => {\n const { title, children } = props;\n const classes = useStyles();\n\n return (\n <Box>\n <Box className={classes.content}>\n <div className={classes.title}>{title}</div>\n </Box>\n\n <Divider className={classes.divider} />\n\n <Box>\n {children}\n </Box>\n </Box>\n );\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n minHeight: 'calc(100vh - 225px)',\n },\n },\n status: {\n width: 'fit-content',\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n borderRadius: 2,\n color: colors.gray1,\n background: colors.separators,\n },\n statusDate: {\n fontWeight: 400,\n marginLeft: 5,\n },\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '300px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 0,\n position: 'relative',\n },\n },\n closeIcon: {\n width: 30,\n height: 30,\n },\n invoiceLink: {\n color: colors.black,\n fontWeight: 700,\n }\n })\n);\n","export enum ProductPaymentFlowType {\n Regular = 0,\n Insurance = 5\n}","import { Box, Table, TableBody, TableContainer, TableHead, useMediaQuery, useTheme, } from '@material-ui/core';\nimport moment from 'moment';\nimport React from 'react';\nimport { WildHealthHeaderComponent } from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { useFacade } from './appointmentsOrderComponent.hooks';\nimport { useStyles } from './appointmentsOrderComponent.styles';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { paymentStatusNames } from '../../../payment/models/payment.models';\nimport {PatientProductModel} from \"../../../products/models/patientProducts.model\";\nimport {ProductPaymentFlowType} from \"../../../products/enums/paymentFlowType\";\n\ninterface AppointmentsComponentProps {\n patientId?: number;\n}\n\nexport const AppointmentsOrderComponent: React.FC<AppointmentsComponentProps> = (props: AppointmentsComponentProps) => {\n const { patientId } = props;\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const [\n {\n isLoading,\n orders,\n },\n columns,\n // handleGoToInvoice,\n ] = useFacade(patientId);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const title = 'Appointments';\n\n const emptyPlaceHolder = () => {\n return <span className=\"text-accent-secondary\">(empty)</span>\n }\n\n const displayValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const displayStatus = (status: number, id: number) => {\n // ----- Disabled until we get access to OpenPM invoice links ------ //\n // if (status === PaymentStatus.PendingInsurancePayment || status === PaymentStatus.PendingOutstandingPayment) {\n // return <Box display=\"flex\" alignItems=\"center\">\n // <Box>{paymentStatusNames[status]}-</Box>\n // <Link\n // id={`link-to-invoice-${id}`}\n // className={classes.invoiceLink}\n // onClick={() => handleGoToInvoice(id)}\n // > \n // Invoice\n // </Link>\n // </Box>\n // }\n return paymentStatusNames[status]\n }\n\n const displayPrice = (item: PatientProductModel) => {\n if (item.paymentFlow === ProductPaymentFlowType.Insurance)\n {\n return 'Billed Insurance';\n }\n\n return `${item.price}$`;\n }\n\n const mapOrders = () => {\n const rows = [];\n\n orders.forEach((item, index) => {\n rows.push(\n <WildHealthTableRow key={`appointments-order-row-${index}`}>\n <WildHealthTableCell align=\"left\">\n <Box display='flex' alignItems='center'>\n <Box>\n Additional Provider Visit\n </Box>\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n <Box py={1}>\n {displayValue(item.createdAt)}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayPrice(item)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayStatus(item.paymentStatus, item.id)}\n </WildHealthTableCell>\n </WildHealthTableRow>\n );\n });\n return rows;\n }\n\n const renderSmallContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <Box height=\"calc(100vh - 225px)\" className={commonClasses.bgWhiteMain}>\n <CommonPlaceHolder message={`No appointment orders yet.`} />\n </Box>\n }\n\n return (\n <Box className={classes.content}>\n {\n orders.map((item, index) =>\n <Box mb=\"10px\" p={2} className={commonClasses.bgWhiteMain} key={index}>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Product Type'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n Additional Provider Visit\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Purchase Date'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {displayValue(item.createdAt)}\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Total price'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {`${item.price}$`}\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Payment Status'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {displayStatus(item.paymentStatus, item.id)}\n </Box>\n </Box>\n </Box>\n )\n }\n </Box>\n )\n }\n\n const renderContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message={`You have no appointments listed at the moment.`} />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={`appointments-order-cell-${index}`} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {mapOrders()}\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const header = (\n <Box display='flex' justifyContent='space-between'>\n <span>\n {title}\n </span>\n </Box>\n )\n\n return isSmallScreen ? renderSmallContent() : (\n <WildHealthHeaderComponent title={header}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </WildHealthHeaderComponent>\n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {patientProductsService} from \"../../../products/services/patientProducts.service\";\nimport {PatientProductModel} from \"../../../products/models/patientProducts.model\";\nimport {productsQuery} from \"../../../products/stores/productsStore/products.query\";\nimport {ProductSubType} from \"../../../products/enums/productSubType\";\nimport {ProductType} from \"../../../products/enums/productType\";\n\ninterface AppointmentsComponentState {\n isLoading: boolean;\n orders: PatientProductModel[];\n}\n\nexport function useFacade(patientId: number): [\n AppointmentsComponentState, \n Array<string>,\n (id: number) => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n orders: [],\n } as AppointmentsComponentState);\n\n const columns = [\n 'Product Type',\n 'Purchase Date',\n 'Total price',\n 'Payment Status',\n ];\n\n const handleGoToInvoice = (id: number) => {\n if (patientId) {\n patientProductsService.getPatientInvoiceLink(id, patientId).subscribe((res) => {\n window.open(res, '_blank').focus();\n });\n } else {\n patientProductsService.getMyInvoiceLink(id).subscribe((res) => {\n window.open(res, '_blank').focus();\n });\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientProductModel[]>(productsQuery.patientProducts$, products => {\n if (products) {\n const additionalProducts = products.filter(el => el.productSubType === ProductSubType.Additional && el.productType === ProductType.PhysicianVisit)\n setState(state => ({ ...state, orders: additionalProducts}));\n }\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n patientProductsService.getPatientProducts(patientId).subscribe(cb, cb);\n } else {\n patientProductsService.getMyProducts().subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, columns, handleGoToInvoice];\n}","import { Store, StoreConfig } from '@datorama/akita';\nimport { DnaOrderModel } from '../../models/dnaOrders.models';\n\n/**\n * Represents dna orders state\n */\nexport interface DnaOrdersState {\n orders: DnaOrderModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): DnaOrdersState {\n return {\n orders: []\n };\n}\n\n@StoreConfig({name: 'dnaOrders', resettable: true })\nexport class DnaOrdersStore extends Store<DnaOrdersState> {\n constructor() {\n super(createInitialState());\n }\n\n public addOrder(order: DnaOrderModel): void {\n this.update({orders: [...this.getValue().orders, order]});\n }\n\n public updateOrder(order: DnaOrderModel): void {\n const orders = this.getValue().orders.map((x) => (x.id === order.id) ? order : x);\n this.update({orders: orders});\n }\n\n public replaceOrder(replacedOrder: DnaOrderModel, newOrder: DnaOrderModel): void {\n const orders = this.getValue().orders.map((x) => (x.id === replacedOrder.id) ? replacedOrder : x);\n this.update({orders: [...orders, newOrder]});\n }\n\n public deleteOrder(id: number): void {\n const orders = this.getValue().orders.filter(x => x.id !== id);\n this.update({orders: orders});\n }\n}\n\nexport const dnaOrdersStore = new DnaOrdersStore();\n","var _circle;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgStepInactive = function SvgStepInactive(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 7,\n cy: 7,\n r: 5.5,\n fill: \"white\",\n stroke: \"#EFF1F4\",\n strokeWidth: 3\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStepInactive, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/stepInactive.8a16fe3c.svg\";\nexport { ForwardRef as ReactComponent };","import { Query } from '@datorama/akita';\nimport {\n DnaOrdersState,\n dnaOrdersStore,\n DnaOrdersStore\n} from \"./dnaOrders.store\";\n\nexport class DnaOrdersQuery extends Query<DnaOrdersState> {\n orders$ = this.select(state => state.orders);\n\n constructor(protected store: DnaOrdersStore) {\n super(store);\n }\n}\n\nexport const dnaOrdersQuery = new DnaOrdersQuery(dnaOrdersStore);\n","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { DnaOrderModel, ReplaceOrderModel, UpdateOrderModel } from \"../models/dnaOrders.models\";\nimport { CreateOrderModel, ReplaceOrderResponseModel, OrderStatus } from \"../models/orders.models\";\nimport { dnaOrdersStore, DnaOrdersStore } from \"../stores/dnaOrdersStore\";\n\nexport class DnaOrdersService {\n private url = `${process.env.REACT_APP_API_URL}Orders/Dna`;\n\n constructor(private store: DnaOrdersStore) {\n }\n\n public get(patientId: number): Observable<DnaOrderModel[]> {\n return new Observable<DnaOrderModel[]>(observer => {\n Axios.get<DnaOrderModel[]>(`${this.url}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ orders: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public getMyOrders(): Observable<DnaOrderModel[]> {\n return new Observable<DnaOrderModel[]>(observer => {\n Axios.get<DnaOrderModel[]>(`${this.url}/GetPatientDnaOrders`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ orders: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public create(model: CreateOrderModel): Observable<DnaOrderModel> {\n return new Observable<DnaOrderModel>(observer => {\n Axios.post<DnaOrderModel>(`${this.url}`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.addOrder(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public replace(model: ReplaceOrderModel): Observable<ReplaceOrderResponseModel<DnaOrderModel>> {\n return new Observable<ReplaceOrderResponseModel<DnaOrderModel>>(observer => {\n Axios.post<ReplaceOrderResponseModel<DnaOrderModel>>(`${this.url}/Replace`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.replaceOrder(response.data.replacedOrder, response.data.newOrder);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public updatePatientDnaOrders(model: UpdateOrderModel): Observable<DnaOrderModel> {\n return new Observable<DnaOrderModel>(observer => {\n Axios.put<DnaOrderModel>(`${this.url}/UpdatePatientDnaOrders`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n snackService.success(\"DNA Order successfully updated!\");\n this.store.updateOrder(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public getByOrderStatus(status: OrderStatus): Observable<DnaOrderModel[]> {\n return new Observable<DnaOrderModel[]>(observer => {\n Axios.get<DnaOrderModel[]>(`${this.url}/GetByOrderStatus?status=${status}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ orders: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public updateDnaOrderShipping(model: UpdateOrderModel): Observable<DnaOrderModel> {\n return new Observable<DnaOrderModel>(observer => {\n Axios.post<DnaOrderModel>(`${this.url}/UpdateDnaOrderShipping`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n snackService.success(\"DNA Order successfully updated!\");\n this.store.updateOrder(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public deleteDnaOrderShipping(id: number): Observable<DnaOrderModel> {\n return new Observable<DnaOrderModel>(observer => {\n Axios.delete<DnaOrderModel>(`${this.url}/DeleteDnaOrderShipping/${id}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n snackService.success(\"DNA Order successfully deleted!\");\n this.store.deleteOrder(id);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n}\n\nexport const dnaOrdersService = new DnaOrdersService(dnaOrdersStore);","import { createStyles, makeStyles, StepIconProps } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ReactComponent as Active } from '@img/stepperIcons/stepActive.svg';\nimport { ReactComponent as Inactive } from '@img/stepperIcons/stepInactive.svg';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport { colors } from \"../../constants/colors\";\n\n\nconst useStyles = makeStyles(() =>\n createStyles({\n icon: {\n fill: colors.main,\n }\n })\n)\n\nexport function WildHealthStepIcon(props: StepIconProps) {\n const { active, completed } = props;\n\n const classes = useStyles();\n\n return (\n completed\n ? <CheckCircleIcon className={classes.icon} />\n : active ?\n <Active />\n : <Inactive />\n )\n}","import { StepConnector, withStyles } from \"@material-ui/core\";\n\nexport const WildHealthVerticalStepperConnector = withStyles({\n vertical: {\n marginLeft: 7,\n },\n active: {\n \"& $line\": {\n borderColor: \"#AFBACA\"\n }\n },\n completed: {\n \"& $line\": {\n borderColor: \"#AFBACA\"\n }\n },\n line: {\n borderColor: \"#AFBACA\",\n borderTopWidth: 3,\n borderRadius: 1\n }\n})(StepConnector);\n\nexport const WildHealthHorizontalStepperConnector = withStyles({\n alternativeLabel: {\n top: 6,\n left: 'calc(-50% + 16px)',\n right: 'calc(50% + 16px)',\n },\n active: {\n \"& $line\": {\n borderColor: \"#AFBACA\"\n }\n },\n completed: {\n \"& $line\": {\n borderColor: \"#AFBACA\"\n }\n },\n line: {\n borderColor: \"#AFBACA\",\n borderTopWidth: 1,\n borderRadius: 1\n }\n})(StepConnector);","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n minHeight: 'calc(100vh - 225px)',\n },\n },\n statusDate: {\n fontWeight: 400,\n marginLeft: 5,\n },\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '300px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 0,\n position: 'relative',\n },\n },\n closeIcon: {\n width: 30,\n height: 30,\n }\n })\n);\n","import { useState } from 'react';\nimport { newDnaOrderDialogValidator } from './newDnaOrderDialog.validator';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { CreateOrderModel } from '../../models/orders.models';\nimport { AddOnModel } from '../../../addons/models/addOns.models';\n\nexport enum CreateDnaOrderStep {\n SelectShipOption,\n ShippedKit,\n ManualFlow\n}\n\ninterface RequestParamState {\n barcode: string;\n outboundShippingCode: string;\n returnShippingCode: string;\n}\n\nexport interface NewDnaOrderDialogState extends IErrorState {\n isOpen: boolean;\n handleAnswer: Function;\n step: CreateDnaOrderStep;\n isManual: boolean;\n params: RequestParamState;\n}\n\nconst defaultParams = {\n barcode: '',\n outboundShippingCode: '',\n returnShippingCode: ''\n}\n\nexport function useFacade(patientId: number, addOns: AddOnModel[], handleSubmit: Function, handleClose: Function): [\n NewDnaOrderDialogState,\n (field: string, value: any) => void,\n (status: boolean) => void,\n () => void,\n () => void,\n () => void,\n () => void\n]{\n const params = Object.assign({}, defaultParams)\n\n const [state, setState] = useState({\n isOpen: false,\n step: CreateDnaOrderStep.SelectShipOption,\n isManual: false,\n params: params,\n errors: {}\n } as NewDnaOrderDialogState);\n\n const handleChanges = (field: string, value: any) => {\n\n newDnaOrderDialogValidator.validateAndSetState(state, setState, field, value);\n\n const params = state.params;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, params);\n lastObject[key] = value;\n setState({...state, params: Object.assign({}, params)});\n }\n\n const handleToggleManual = (status: boolean) => {\n setState({ ...state, isManual: status})\n }\n\n const handleGoBack = () => {\n setState({ ...state, step: CreateDnaOrderStep.SelectShipOption })\n }\n\n const handleNextStep = () => {\n setState({ ...state, step: state.isManual ? CreateDnaOrderStep.ManualFlow : CreateDnaOrderStep.ShippedKit })\n }\n\n const handleCancel = () => {\n setState(state => ({...state, step: CreateDnaOrderStep.SelectShipOption, isManual: false, params: Object.assign({}, defaultParams), errors: {}}));\n handleClose();\n }\n\n const handleConfirm = () => {\n const model: CreateOrderModel = {\n patientId: patientId,\n addOnIds: [addOns[0].id],\n isManual: state.isManual,\n barCode: state.params.barcode,\n outboundShippingCode: state.params.outboundShippingCode,\n returnShippingCode: state.params.returnShippingCode\n };\n if (state.isManual) {\n \n newDnaOrderDialogValidator.validateObjectAndSetState(state, setState, state);\n\n if (newDnaOrderDialogValidator.stateIsValid(state)) {\n handleSubmit(model);\n } else {\n return;\n }\n } else {\n handleSubmit(model);\n }\n \n setState(state => ({...state, step: CreateDnaOrderStep.SelectShipOption, isManual: false, params: Object.assign({}, defaultParams), errors: {}}));\n }\n\n return [state, handleChanges, handleToggleManual, handleGoBack, handleNextStep, handleCancel, handleConfirm];\n}","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n notWhitespaceValidationRule,\n requiredValidationRule,\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const newDnaOrderDialogValidator = new GeneralValidator({\n 'barcode': [notWhitespaceValidationRule(), requiredValidationRule()],\n});","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important'\n },\n dialogContent: {\n minWidth: 548,\n padding: \"30px 40px\",\n paddingTop: 16,\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: 0,\n paddingRight: 0,\n paddingBottom: 0,\n },\n },\n })\n);\n","export function displayMoney(amount: number, currency: string, isNegative: boolean = false, noCommas: boolean = false) {\n const amountString = amount % 1 === 0\n ? amount.toString()\n : amount.toFixed(2).toString();\n\n const operator = isNegative && amount !== 0 ? '- ' : ''\n\n if (noCommas) {\n return `${operator}${currency}${amountString}`;\n }\n\n return `${operator}${currency}${amountString.replace(/\\B(?=(\\d{3})+(?!\\d))/g, \",\")}`;\n}","import { Box, Dialog, DialogContent, FormControlLabel, Checkbox, TextField, Button } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { useFacade, CreateDnaOrderStep } from \"./newDnaOrderDialogComponent.hooks\";\nimport { useStyles } from \"./newDnaOrderDialogComponent.styles\";\nimport { AddOnModel } from '../../../addons/models/addOns.models';\nimport { DialogTitle } from '../../../common/components/dialogTitle/DialogTitle';\nimport { colors } from '../../../common/constants/colors';\nimport RadioButtonCheckedIcon from '@material-ui/icons/RadioButtonChecked';\nimport { ChevronLeft } from '@material-ui/icons';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport { displayMoney } from '../../../common/helpers/display-money';\n\nexport interface NewDnaOrderDialogComponentProps {\n open: boolean;\n patientId: number;\n addOns: AddOnModel[];\n handleClose: Function;\n handleSubmit: Function;\n}\n\nexport const NewDnaOrderDialog: React.FC<NewDnaOrderDialogComponentProps> = (props: NewDnaOrderDialogComponentProps) => {\n const {\n open,\n patientId,\n addOns,\n handleClose,\n handleSubmit\n } = props;\n\n const [\n {\n step,\n isManual,\n params,\n errors\n },\n handleChanges,\n handleToggleManual,\n handleGoBack,\n handleNextStep,\n handleCancel,\n handleConfirm\n ] = useFacade(patientId, addOns, handleSubmit, handleClose);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n \n\n const renderTitle = () => {\n switch (step) {\n case CreateDnaOrderStep.SelectShipOption:\n return \"Select shipment option\";\n case CreateDnaOrderStep.ShippedKit:\n return \"Shipped Kit\";\n case CreateDnaOrderStep.ManualFlow:\n return \"Manual Flow\";\n }\n }\n\n const controlIcon = <RadioButtonUncheckedIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <RadioButtonCheckedIcon style={{ fill: colors.main }} />;\n const shippedLabel = <Box ml={0.5} component=\"div\" display=\"flex\" className={clsx(commonClasses.size16, commonClasses.textRegular, commonClasses.colorBlack)}>Shipped</Box>;\n const ManualLabel = <Box ml={0.5} component=\"div\" display=\"flex\" className={clsx(commonClasses.size16, commonClasses.textRegular, commonClasses.colorBlack)}>Manual</Box>;\n const shippedControl = (\n <Checkbox\n icon={controlIcon}\n checkedIcon={controlCheckedIcon}\n name={`Shipped-Radio`}\n checked={!isManual}\n onChange={() => handleToggleManual(false)}\n />\n );\n const ManualControl = (\n <Checkbox\n icon={controlIcon}\n checkedIcon={controlCheckedIcon}\n name={`Manual-Radio`}\n checked={isManual}\n onChange={() => handleToggleManual(true)}\n />\n );\n\n const renderSelectShipOptionStep = () => (\n <>\n <Box>\n <span className={clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack)}>Does this kit need to be shipped from Wild Health or is it being distributed from a manual flow?</span>\n </Box>\n <Box mt={\"30px\"} display=\"flex\" alignItems=\"center\">\n <FormControlLabel control={shippedControl} label={shippedLabel} />\n <Box mx=\"20px\" />\n <FormControlLabel control={ManualControl} label={ManualLabel} />\n </Box>\n </>\n )\n\n const renderShippedKitStep = () => (\n <>\n <Box>\n <span className={clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack)}>\n This will charge the patient's payment source {displayMoney(addOns[0].price, '$')}.\n </span>\n </Box>\n <Box>\n <span className={clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack)}>\n Would you like to proceed?\n </span>\n </Box>\n </>\n )\n\n const renderManualFlowStep = () => (\n <>\n <Box>\n <Box className={commonClasses.inputLabel} mb={1}>Barcode Number <span className={commonClasses.colorBad}>*</span></Box>\n <TextField\n id={`barcode`}\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={params.barcode}\n error={!!errors['barcode']}\n helperText={errors['barcode']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Outbound Shipping</Box>\n <TextField\n id={`outboundShippingCode`}\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={params.outboundShippingCode}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Return Shipping</Box>\n <TextField\n id={`returnShippingCode`}\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={params.returnShippingCode}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n </>\n )\n\n const btnName = () => {\n switch (step) {\n case CreateDnaOrderStep.SelectShipOption:\n return \"Proceed\";\n case CreateDnaOrderStep.ShippedKit:\n return \"Yes\";\n case CreateDnaOrderStep.ManualFlow:\n return \"Place Order\";\n }\n }\n\n const disabledStatus = () => {\n switch (step) {\n case CreateDnaOrderStep.SelectShipOption:\n return false;\n case CreateDnaOrderStep.ShippedKit:\n return false;\n case CreateDnaOrderStep.ManualFlow:\n return !!errors['barcode'] || !params.barcode;\n }\n }\n\n const renderNextStepButton = () => {\n return (\n <WildHealthButton id={`next-step-button`} size='large' color=\"primary\" onClick={() => handleNextStep()}>\n {btnName()}\n </WildHealthButton>\n )\n }\n\n const renderProcessButton = () => {\n return (\n <WildHealthButton id={`process-button`} size='large' style={{ minWidth: 116 }} color=\"primary\" disabled={disabledStatus()} onClick={() => handleConfirm()}>\n {btnName()}\n </WildHealthButton>\n )\n }\n\n const renderNextButton = (step: CreateDnaOrderStep): JSX.Element => {\n switch (step) {\n case CreateDnaOrderStep.SelectShipOption: return renderNextStepButton();\n case CreateDnaOrderStep.ShippedKit: return renderProcessButton();\n case CreateDnaOrderStep.ManualFlow: return renderProcessButton();\n }\n }\n\n return (\n <Dialog\n open={open}\n onClose={() => handleCancel()}\n aria-labelledby=\"new-order-dialog-title\"\n aria-describedby=\"new-order-dialog-description\"\n >\n <DialogTitle id=\"dialog-title\" classes={{ root: classes.dialogTitle }} onClose={() => handleCancel()}>{renderTitle()}</DialogTitle>\n <DialogContent classes={{ root: classes.dialogContent }}>\n <Box mb=\"10px\" className={clsx(commonClasses.uppercase, commonClasses.size12, commonClasses.textMedium, commonClasses.colorGray1)}>\n Step {step === CreateDnaOrderStep.SelectShipOption ? 1 : 2} of 2\n </Box>\n {step === CreateDnaOrderStep.SelectShipOption && renderSelectShipOptionStep()}\n {step === CreateDnaOrderStep.ShippedKit && renderShippedKitStep()}\n {step === CreateDnaOrderStep.ManualFlow && renderManualFlowStep()}\n <Box mt=\"40px\" display=\"flex\" alignItems=\"center\" >\n {step !== CreateDnaOrderStep.SelectShipOption && (\n <Box>\n <Button\n id=\"previous-step-button\"\n onClick={handleGoBack}\n className={commonClasses.backBtn}\n >\n <Box display=\"flex\" alignItems=\"center\">\n <ChevronLeft />\n <Box ml={0.5} className={clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack)}>\n Previous Step\n </Box>\n </Box>\n </Button>\n </Box>\n )}\n <Box flex={1} display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" >\n <Box mx={2}>\n <WildHealthButton id={`confirm-dialog-cancel`} size='large' color='tertiary' onClick={() => handleCancel()}>\n Cancel\n </WildHealthButton>\n </Box>\n {\n renderNextButton(step)\n }\n </Box>\n </Box>\n </DialogContent>\n </Dialog>\n );\n}\n","import { Box, Collapse, IconButton, Step, StepLabel, Stepper, Table, TableBody, TableContainer, TableHead, TableRow, Tooltip, useMediaQuery, useTheme, TextField, Dialog, DialogContent } from '@material-ui/core';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport moment from 'moment';\nimport React from 'react';\nimport { WildHealthHeaderComponent } from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthExternalLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { WildHealthStepIcon } from '../../../common/components/wildHealthStepper/WildHealthStepIcon';\nimport { WildHealthHorizontalStepperConnector, WildHealthVerticalStepperConnector } from '../../../common/components/wildHealthStepper/WildHealthStepperConnector';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { orderStatusIndexes, shortOrderStatusNames, orderStatusNames, OrderStatus } from '../../models/orders.models';\nimport { useFacade } from './dnaOrdersComponent.hooks';\nimport { useStyles } from './dnaOrdersComponent.styles';\nimport Zoom from '@material-ui/core/Zoom';\nimport { WildHealthStatusLabel } from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { authQuery } from '../../../auth/stores/auth';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport Cancel from \"@img/icons/cancel.svg\";\nimport clsx from 'clsx';\nimport { AddOnModel } from '../../../addons/models/addOns.models';\nimport { CreateOrderModel } from '../../models/orders.models';\nimport { NewDnaOrderDialog } from '../newDnaOrderDialogComponent/NewDnaOrderDialogComponent';\n\ninterface DnaOrdersComponentProps {\n isLoadingNewKit?: boolean;\n isNewOrderDialogOpen?: boolean;\n patientId?: number;\n addOns?: AddOnModel[];\n handleNavigateToReplacement?: () => void;\n handleOrderKit?: (model: CreateOrderModel) => void;\n handleToggleNewOrderDialog?: Function;\n}\n\nexport const DnaOrdersComponent: React.FC<DnaOrdersComponentProps> = (props: DnaOrdersComponentProps) => {\n const { patientId, addOns, handleNavigateToReplacement, handleOrderKit, handleToggleNewOrderDialog } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const [\n {\n isLoading,\n orders,\n selectedOrder,\n isOpened,\n },\n columns,\n handleToggleOrderDetails,\n handleToggleEditOrder,\n handleChange,\n handleUpdateOrder\n ] = useFacade(patientId);\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const orderManageSectionWithTypes: Array<PermissionType> = [PermissionType.Coaching, PermissionType.ManagePatients];\n const canEdit = (permissions: PermissionType[], userType: UserType): boolean => {\n switch (userType) {\n case UserType.Patient: return authQuery.getType() === UserType.Patient;\n case UserType.Employee: return permissions.length\n ? authQuery.getPermissions().some(p => permissions.includes(p))\n : authQuery.getType() === UserType.Employee;\n default: return false;\n }\n }\n\n const title = 'DNA Orders';\n\n const emptyPlaceHolder = () => {\n return <span className=\"text-accent-secondary\">(empty)</span>\n }\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const displayValue = (value: string | number) => {\n return value ?? emptyPlaceHolder();\n }\n\n const displayUpsLink = (value: string) => {\n if (value) {\n return (\n <Tooltip\n title=\"Click here to track\"\n TransitionComponent={Zoom}\n placement=\"top\"\n leaveDelay={500}\n arrow\n >\n <span>\n <WildHealthExternalLinkButton id={`dna-orders-tracking`} link={`https://www.ups.com/track?loc=en_US&tracknum=${value}&requester=ST/`} >\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain)}>#{value}</span>\n </WildHealthExternalLinkButton>\n </span>\n </Tooltip>\n )\n } else return emptyPlaceHolder();\n }\n\n const displayUspsLink = (value: string) => {\n if (value) {\n return (\n <Tooltip\n title=\"Click here to track\"\n TransitionComponent={Zoom}\n placement=\"top\"\n leaveDelay={500}\n arrow\n >\n <span>\n <WildHealthExternalLinkButton id={`dna-orders-usps-tracking`} link={`https://tools.usps.com/go/TrackConfirmAction?tRef=fullpage&tLc=2&text28777=&tLabels=${value}%2C&tABt=false`} >\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain)}>#{value}</span>\n </WildHealthExternalLinkButton>\n </span>\n </Tooltip>\n )\n } else return emptyPlaceHolder();\n }\n\n const mapOrders = () => {\n const rows = [];\n\n orders.forEach((item, index) => {\n rows.push(\n <WildHealthTableRow key={`dna-row-${index}`}>\n <WildHealthTableCell align=\"left\">\n <Box display='flex' alignItems='center'>\n <IconButton id={`dna-orders-details-${item.id}`} onClick={() => handleToggleOrderDetails(item.id)}>\n {item.isOpen ? <ExpandLess /> : <ExpandMore />}\n </IconButton>\n <Box ml={1}>\n {displayDataValue(item.orderedAt)}\n </Box>\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n <WildHealthStatusLabel>\n {orderStatusNames.get(item.status)}\n </WildHealthStatusLabel>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayValue(item.number)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.isEdit ? (\n <TextField\n id={`barcode`}\n variant=\"outlined\"\n size=\"small\"\n value={item.barcode ?? ''}\n onChange={(v) => handleChange(item.id, v.target.id, v.target.value)}\n InputProps={{ className: 'input' }}\n />) : displayValue(item.barcode)\n }\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.isEdit ? (\n <TextField\n id={`patientShippingNumber`}\n variant=\"outlined\"\n size=\"small\"\n value={item.patientShippingNumber ?? ''}\n onChange={(v) => handleChange(item.id, v.target.id, v.target.value)}\n InputProps={{ className: 'input' }}\n />) : displayUpsLink(item.patientShippingNumber)\n }\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.isEdit ? (\n <TextField\n id={`laboratoryShippingNumber`}\n variant=\"outlined\"\n size=\"small\"\n value={item.laboratoryShippingNumber ?? ''}\n onChange={(v) => handleChange(item.id, v.target.id, v.target.value)}\n InputProps={{ className: 'input' }}\n />) : displayUspsLink(item.laboratoryShippingNumber)\n }\n </WildHealthTableCell>\n {canEdit(orderManageSectionWithTypes, UserType.Employee) && (\n <WildHealthTableCell align=\"left\">\n {item.isEdit ? (\n <WildHealthButton id={`dna-orders-view-${item.id}`} color={\"secondary\"} loading={item.isUpdating} onClick={() => handleUpdateOrder(item.id)}>\n Update\n </WildHealthButton>\n ) : (\n <WildHealthButton id={`dna-orders-edit-${item.id}`} color={\"secondary\"} onClick={() => handleToggleEditOrder(item.id)}>\n Edit\n </WildHealthButton>\n )}\n </WildHealthTableCell>\n )}\n </WildHealthTableRow>\n );\n\n let names = Array.from(shortOrderStatusNames);\n names.push(item.status === OrderStatus.Failed ? [OrderStatus.Failed, 'Failed'] : [OrderStatus.Completed, 'Completed']);\n\n if (item.isOpen) {\n rows.push(\n <TableRow key={`dna-row-${index}-1`}>\n <WildHealthTableCell colSpan={6}>\n <Collapse in={item.isOpen} timeout=\"auto\" unmountOnExit>\n <Stepper\n alternativeLabel={!isMobile}\n connector={isMobile ? <WildHealthVerticalStepperConnector /> : <WildHealthHorizontalStepperConnector />}\n activeStep={orderStatusIndexes.get(item.status)}\n orientation={isMobile ? \"vertical\" : 'horizontal'}\n >\n {\n names.map((step, index) => {\n const date = item.statusLogs.find(i => i.status === step[0])?.date;\n\n return (\n <Step key={`dna-step-${index}`}>\n <StepLabel StepIconComponent={WildHealthStepIcon}>\n {step[1]}\n {\n date && <span className={classes.statusDate}>{`(${moment(date).format(\"MM/DD/yyyy\")})`}</span>\n }\n </StepLabel>\n </Step>\n )\n })\n }\n </Stepper>\n </Collapse>\n </WildHealthTableCell>\n </TableRow>\n );\n }\n });\n return rows;\n }\n\n const renderSmallContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <Box height=\"calc(100vh - 225px)\" className={commonClasses.bgWhiteMain}>\n <CommonPlaceHolder message={`No DNA orders yet.`} />\n </Box>\n }\n\n let names = Array.from(shortOrderStatusNames);\n names.push(selectedOrder ? selectedOrder.status === OrderStatus.Failed ? [OrderStatus.Failed, 'Failed'] : [OrderStatus.Completed, 'Completed'] : [OrderStatus.Ordered, 'Ordered']);\n\n return (\n <Box className={classes.content}>\n {\n orders.map((item, index) =>\n <Box mb=\"10px\" p={2} className={commonClasses.bgWhiteMain} key={index}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box display=\"flex\" alignItems=\"center\">\n <Box className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorBlack)} mr={0.5}>\n {displayDataValue(item.orderedAt)}\n </Box>\n <IconButton id={`dna-orders-details-${item.id}`} onClick={() => handleToggleOrderDetails(item.id)}>\n <ChevronRightIcon className={commonClasses.colorBlack} />\n </IconButton>\n </Box>\n <Box px={2} py={1} className={commonClasses.renderDivider}>\n <span className={commonClasses.colorGray1}>{orderStatusNames.get(item.status)}</span>\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Provider Order #'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {displayValue(item.number)}\n </Box>\n </Box>\n <Box mt={1.5} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Barcode'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {item.isEdit ? (\n <TextField\n id={`barcode`}\n variant=\"outlined\"\n size=\"small\"\n value={item.barcode ?? ''}\n onChange={(v) => handleChange(item.id, v.target.id, v.target.value)}\n InputProps={{ className: 'input' }}\n />) : displayValue(item.barcode)\n }\n </Box>\n </Box>\n <Box mt={1.5} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Outbound Shipping #'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorMain)}>\n {item.isEdit ? (\n <TextField\n id={`patientShippingNumber`}\n variant=\"outlined\"\n size=\"small\"\n value={item.patientShippingNumber ?? ''}\n onChange={(v) => handleChange(item.id, v.target.id, v.target.value)}\n InputProps={{ className: 'input' }}\n />) : displayUpsLink(item.patientShippingNumber)\n }\n </Box>\n </Box>\n <Box mt={1.5} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Return Shipping #'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorMain)}>\n {item.isEdit ? (\n <TextField\n id={`laboratoryShippingNumber`}\n variant=\"outlined\"\n size=\"small\"\n value={item.laboratoryShippingNumber ?? ''}\n onChange={(v) => handleChange(item.id, v.target.id, v.target.value)}\n InputProps={{ className: 'input' }}\n />) : displayUspsLink(item.laboratoryShippingNumber)\n }\n </Box>\n </Box>\n {canEdit(orderManageSectionWithTypes, UserType.Employee) && (\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box />\n <Box>\n {item.isEdit ? (\n <WildHealthButton id={`dna-orders-view-${item.id}`} color={\"secondary\"} loading={item.isUpdating} onClick={() => handleUpdateOrder(item.id)}>\n Update\n </WildHealthButton>\n ) : (\n <WildHealthButton id={`dna-orders-edit-${item.id}`} color={\"secondary\"} onClick={() => handleToggleEditOrder(item.id)}>\n Edit\n </WildHealthButton>\n )}\n </Box>\n </Box>\n )}\n </Box>\n )\n }\n {selectedOrder && (\n <Dialog\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleToggleOrderDetails(selectedOrder.id)}\n open={isOpened}\n >\n <DialogContent className={classes.dialogContent}>\n <Box position=\"absolute\" right={0} top={0} p={0.5}>\n <IconButton id=\"dna-orders-details-close\" onClick={() => handleToggleOrderDetails(selectedOrder.id)} >\n <img src={Cancel} className={classes.closeIcon} alt='Cancel' />\n </IconButton>\n </Box>\n\n <Box textAlign=\"center\">\n <span className={clsx(commonClasses.size20, commonClasses.textMedium, commonClasses.colorBlack)}>\n {'Status History'}\n </span>\n </Box>\n <Stepper\n alternativeLabel={!isMobile}\n connector={<WildHealthVerticalStepperConnector />}\n activeStep={orderStatusIndexes.get(selectedOrder.status)}\n orientation={\"vertical\"}\n >\n {\n names.map((step, index) => {\n const date = selectedOrder.statusLogs.find(i => i.status === step[0])?.date;\n\n return (\n <Step key={`dna-step-${index}`}>\n <StepLabel StepIconComponent={WildHealthStepIcon}>\n {step[1]}\n {\n date && <span className={classes.statusDate}>{`(${moment(date).format(\"MM/DD/yyyy\")})`}</span>\n }\n </StepLabel>\n </Step>\n )\n })\n }\n </Stepper>\n </DialogContent>\n </Dialog>\n )}\n </Box>\n )\n }\n\n const renderContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message={`No ${title} yet.`} />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={`dna-cell-${index}`} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {mapOrders()}\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const header = (\n <Box display='flex' justifyContent='space-between'>\n <span>\n {title}\n </span>\n <ProtectedElement\n element={\n <>\n <Box display='flex'>\n <Box mr={2}>\n <WildHealthButton id=\"dna-orders-replacement\" color={\"secondary\"} onClick={() => handleNavigateToReplacement()}>\n Order Replacement\n </WildHealthButton>\n </Box>\n\n <WildHealthButton id=\"dna-orders-new-kit\" loading={props.isLoadingNewKit} disabled={!(addOns?.length)} onClick={() => handleToggleNewOrderDialog()}>\n Place New Order\n </WildHealthButton>\n </Box>\n <NewDnaOrderDialog\n open={props.isNewOrderDialogOpen}\n patientId={patientId}\n addOns={addOns}\n handleClose={() => handleToggleNewOrderDialog()}\n handleSubmit={handleOrderKit}\n />\n </>\n }\n permissions={orderManageSectionWithTypes}\n />\n </Box>\n )\n\n return isSmallScreen ? renderSmallContent() : (\n <WildHealthHeaderComponent title={header}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </WildHealthHeaderComponent>\n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { DnaOrderModel } from \"../../models/dnaOrders.models\";\nimport { dnaOrdersService } from \"../../services/dnaOrdersService\";\nimport { dnaOrdersQuery } from \"../../stores/dnaOrdersStore\";\nimport { authQuery } from '../../../auth/stores/auth';\nimport { UserType } from \"../../../auth/models/auth.enums\";\n\ninterface DnaViewModel extends DnaOrderModel {\n isOpen: boolean;\n isEdit: boolean;\n isUpdating: boolean;\n}\n\ninterface DnaOrdersComponentState {\n isLoading: boolean;\n orders: DnaViewModel[];\n selectedOrder: DnaViewModel;\n isOpened: boolean;\n}\n\nexport function useFacade(patientId: number): [\n DnaOrdersComponentState,\n Array<string>,\n (selectedOrderId: number) => void,\n (selectedOrderId: number) => void,\n (selectedOrderId: number, field: string, value: string) => void,\n (selectedOrderId: number) => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n orders: [],\n selectedOrder: null,\n isOpened: false,\n } as DnaOrdersComponentState);\n\n const columns = authQuery.getType() === UserType.Employee ? [\n 'Order Date',\n 'Status',\n 'Provider Order #',\n 'Barcode',\n 'Outbound Shipping #',\n 'Return Shipping #',\n ''\n ] : [\n 'Order Date',\n 'Status',\n 'Provider Order #',\n 'Barcode',\n 'Outbound Shipping #',\n 'Return Shipping #'\n ];\n\n const handleToggleOrderDetails = (selectedOrderId: number) => {\n const item = state.orders.find(i => i.id === selectedOrderId);\n if (item) {\n item.isOpen = !item.isOpen;\n setState(state => ({ ...state, selectedOrder: item, isOpened: item.isOpen }));\n }\n }\n\n const handleToggleEditOrder = (selectedOrderId: number) => {\n const item = state.orders.find(i => i.id === selectedOrderId);\n if (item) {\n item.isEdit = !item.isEdit;\n setState(state => ({ ...state }));\n }\n }\n\n const handleChange = (selectedOrderId: number, field: string, value: string) => {\n const item = state.orders.find(i => i.id === selectedOrderId);\n if (item) {\n item[field] = value;\n setState(state => ({ ...state }));\n }\n }\n\n const handleUpdateOrder = (selectedOrderId: number) => {\n const item = state.orders.find(i => i.id === selectedOrderId);\n if (item) {\n item.isUpdating = !item.isUpdating;\n setState(state => ({ ...state }));\n\n const updateModel = {\n id: item.id,\n number: item.number,\n barcode: item.barcode,\n patientShippingNumber: item.patientShippingNumber,\n laboratoryShippingNumber: item.laboratoryShippingNumber,\n }\n\n const cb = () => {\n item.isEdit = !item.isEdit;\n item.isUpdating = !item.isUpdating;\n setState(state => ({ ...state }));\n }\n\n dnaOrdersService.updatePatientDnaOrders(updateModel).subscribe(cb, cb);\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<DnaOrderModel[]>(dnaOrdersQuery.orders$, orders => {\n setState(state => ({ ...state, orders: orders.map(i => { return i as DnaViewModel }) }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n dnaOrdersService.get(patientId).subscribe(cb, cb);\n } else {\n dnaOrdersService.getMyOrders().subscribe(cb, cb);\n }\n\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, columns, handleToggleOrderDetails, handleToggleEditOrder, handleChange, handleUpdateOrder];\n}","import React from \"react\"\nimport { WildHealthStatusLabel } from \"../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\n\ninterface DnaOrderResultsComponentProps {\n isResulted: boolean;\n isReplaced: boolean;\n}\n\nexport const DnaOrderResultsComponent: React.FC<DnaOrderResultsComponentProps> = (props: DnaOrderResultsComponentProps) => {\n const { isResulted, isReplaced } = props;\n\n if (isReplaced) {\n return (\n <WildHealthStatusLabel color={'average1'} px={21}>\n Replacement Ordered\n </WildHealthStatusLabel>\n )\n }\n\n if (isResulted) {\n return (\n <WildHealthStatusLabel color={'good'}>\n Yes\n </WildHealthStatusLabel>\n )\n } else {\n return (\n <WildHealthStatusLabel color={'bad'}>\n No\n </WildHealthStatusLabel>\n )\n }\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n },\n subTitle: {\n color: '#7C8A9D',\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 16,\n margin: 5,\n },\n tooltip: {\n maxWidth: 240,\n },\n })\n);\n","import { Box, IconButton, Table, TableBody, TableContainer, TableHead, Tooltip } from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport moment from \"moment\";\nimport React from 'react';\nimport { WildHealthHeaderComponent } from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { DnaOrderResultsComponent } from '../dnaOrderResultsComponent/DnaOrderResultsComponent';\nimport { useFacade } from './dnaOrderReplacementComponent.hooks';\nimport { useStyles } from './dnaOrderReplacementComponent.styles';\nimport Zoom from '@material-ui/core/Zoom';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { AddOnModel } from '../../../addons/models/addOns.models';\nimport { CreateOrderModel } from '../../models/orders.models';\nimport { NewDnaOrderDialog } from '../newDnaOrderDialogComponent/NewDnaOrderDialogComponent';\n\ninterface NewDnaOrderComponentProps {\n isLoadingNewKit: boolean;\n isNewOrderDialogOpen: boolean;\n patientId: number;\n addOns: AddOnModel[];\n handleNavigateToOrders: () => void;\n handleOrderKit: (model: CreateOrderModel) => void;\n handleToggleNewOrderDialog: Function;\n}\n\nexport const DnaOrderReplacementComponent: React.FC<NewDnaOrderComponentProps> = (props: NewDnaOrderComponentProps) => {\n const { patientId, addOns, handleNavigateToOrders, handleOrderKit, handleToggleNewOrderDialog } = props;\n const classes = useStyles();\n\n const [\n {\n isLoading,\n orders,\n },\n columns,\n handleToggleReplacement,\n ] = useFacade(patientId);\n\n const renderContent = () => {\n\n if (isLoading) {\n return (\n <WildHealthLinearProgress/>\n )\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message='No Order Replacement Kit yet.'/>\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={index} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n orders.map((item, index) => {\n const replaceButton = (\n <WildHealthButton\n id=\"dna-order-replacement\"\n onClick={() => handleToggleReplacement(item.id)}\n disabled={!item.canReplace}\n >\n Order Replacement\n </WildHealthButton>\n )\n\n return (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell align=\"left\">\n {moment(toCurrentTimeZone(item.orderedAt)).format(\"MM/DD/yyyy\")}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n <DnaOrderResultsComponent isResulted={item.isResulted} isReplaced={item.isReplaced} />\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {\n item.canReplace ? replaceButton :\n <Tooltip\n title={<Box textAlign='center'>A replacement can only be ordered for kits that have not resulted.</Box>}\n TransitionComponent={Zoom}\n classes={{ tooltip: classes.tooltip }}\n placement=\"top\"\n leaveDelay={500}\n arrow\n >\n <span>\n {replaceButton}\n </span>\n </Tooltip>\n }\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const title = (\n <Box display='flex' justifyContent='space-between'>\n <Box display='flex' alignItems='center'>\n <Box mr={2}>\n <IconButton id=\"dna-order-replacement-kit\" onClick={() => handleNavigateToOrders()} size='small'>\n <ArrowBackIcon />\n </IconButton>\n </Box>\n\n <Box>\n Order Replacement Kit\n </Box>\n </Box>\n <Box>\n <WildHealthButton id=\"dna-order-kit\" loading={props.isLoadingNewKit} disabled={!addOns.length} onClick={() => handleToggleNewOrderDialog()}>\n Order Kit\n </WildHealthButton>\n </Box>\n </Box>\n )\n\n return (\n <WildHealthHeaderComponent title={title}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n <NewDnaOrderDialog\n open={props.isNewOrderDialogOpen}\n patientId={patientId}\n addOns={addOns}\n handleClose={() => handleToggleNewOrderDialog()}\n handleSubmit={handleOrderKit}\n />\n </WildHealthHeaderComponent>\n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { DnaOrderBaseModel, DnaOrderModel } from \"../../models/dnaOrders.models\";\nimport { dnaOrdersService } from \"../../services/dnaOrdersService\";\nimport { dnaOrdersQuery } from \"../../stores/dnaOrdersStore\";\n\ninterface NewDnaOrderComponentState {\n isLoading: boolean;\n orders: DnaOrderBaseModel[];\n}\n\nexport function useFacade(patientId: number): [NewDnaOrderComponentState, Array<string>, (orderId?: number) => void] {\n const [state, setState] = useState({\n isLoading: true,\n orders: [],\n } as NewDnaOrderComponentState);\n\n const columns = [\n 'Date',\n 'Results Uploaded',\n 'Action'\n ];\n\n const handleToggleReplacement = (orderId?: number) => {\n confirmService.confirmWithReason('Reason For Kit Replacement:', 'Provide Reasons', 'Reason', 'Place Order').subscribe((reason) => handleOrderReplacement(orderId, reason));\n }\n\n const handleOrderReplacement = (orderId: number, reason: string) => {\n dnaOrdersService.replace({id: orderId, reason: reason}).subscribe(() => {});\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<DnaOrderModel[]>(dnaOrdersQuery.orders$, dna => {\n setState(state => ({\n ...state,\n orders: dna,\n isLoading: false,\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, columns, handleToggleReplacement];\n}","import { Store, StoreConfig } from '@datorama/akita';\nimport { AddOnModel } from '../models/addOns.models';\n\nexport interface AddOnsState {\n addOns: AddOnModel[];\n}\n\n/**\n * Creates initial addOn state\n */\nexport function createInitialState(): AddOnsState {\n return {\n addOns: []\n };\n}\n\n/**\n * Provides addOn state management\n */\n@StoreConfig({name: 'addOns', resettable: true })\nexport class AddOnsStore extends Store<AddOnsState> {\n constructor() {\n super(createInitialState());\n }\n}\n\nexport const addOnsStore = new AddOnsStore();\n","import React, { useEffect, useState } from 'react';\nimport { Subscription } from \"rxjs\";\nimport { dnaOrdersService } from '../../services/dnaOrdersService';\nimport { DnaOrdersComponent } from \"../dnaOrdersComponent/DnaOrdersComponent\";\nimport { DnaOrderReplacementComponent } from \"../dnaOrderReplacementComponent/DnaOrderReplacementComponent\";\nimport { addOnsQuery } from '../../../addons/stores';\nimport { OrderType, CreateOrderModel } from '../../models/orders.models';\nimport { AddOnModel } from '../../../addons/models/addOns.models';\nimport {onEmit} from \"../../../common/helpers/on-emit\";\n\nenum DnaStates {\n Orders,\n Replacement,\n}\n\ninterface DnaComponentState {\n viewState: DnaStates;\n isLoadingNewKit: boolean;\n addOns: AddOnModel[];\n isNewOrderDialogOpen: boolean;\n}\n\nconst defaultState: DnaComponentState = {\n viewState: DnaStates.Orders,\n isLoadingNewKit: false,\n addOns: [],\n isNewOrderDialogOpen: false,\n}\n\nexport function useFacade(patientId: number, addOnsLoading: boolean): [JSX.Element] {\n const [state, setState] = useState(defaultState);\n\n const handleNavigateToOrders = () => {\n setState(state => ({ ...state, viewState: DnaStates.Orders }))\n }\n\n const handleNavigateToReplacement = () => {\n setState(state => ({ ...state, viewState: DnaStates.Replacement }))\n }\n\n const handleOrderKit = (model: CreateOrderModel) => {\n setState(state => ({ ...state, isLoadingNewKit: true, isNewOrderDialogOpen: false }))\n dnaOrdersService.create(model).subscribe(\n () => { setState(state => ({ ...state, isLoadingNewKit: false })) },\n () => { setState(state => ({ ...state, isLoadingNewKit: false })) }\n )\n }\n\n const handleToggleNewOrderDialog = () => {\n setState(state => ({ ...state, isNewOrderDialogOpen: !state.isNewOrderDialogOpen }));\n }\n\n const stateViews = new Map<DnaStates, JSX.Element>([\n [\n DnaStates.Orders,\n <DnaOrdersComponent\n isLoadingNewKit={state.isLoadingNewKit || addOnsLoading}\n isNewOrderDialogOpen={state.isNewOrderDialogOpen}\n patientId={patientId}\n addOns={state.addOns}\n handleNavigateToReplacement={handleNavigateToReplacement}\n handleOrderKit={handleOrderKit}\n handleToggleNewOrderDialog={handleToggleNewOrderDialog}\n />\n ],\n [\n DnaStates.Replacement,\n <DnaOrderReplacementComponent\n isLoadingNewKit={state.isLoadingNewKit || addOnsLoading}\n isNewOrderDialogOpen={state.isNewOrderDialogOpen}\n patientId={patientId}\n addOns={state.addOns}\n handleNavigateToOrders={handleNavigateToOrders}\n handleOrderKit={handleOrderKit}\n handleToggleNewOrderDialog={handleToggleNewOrderDialog}\n />\n ],\n ]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<AddOnModel[]>(addOnsQuery.addOns$, addOns => {\n if (!addOnsLoading && addOns.length) {\n setState(state => ({...state, addOns: addOnsQuery.getByType(OrderType.Dna)}))\n }\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [addOnsLoading]);\n\n return [stateViews.get(state.viewState)];\n}\n","import { AddOnModel } from '../models/addOns.models';\nimport { AddOnsState, AddOnsStore, addOnsStore } from './addOns.store';\nimport { Query } from '@datorama/akita';\nimport { OrderType } from '../../orders/models/orders.models';\n\n/**\n * Provides method for working with AddOns store\n */\nexport class AddOnsQuery extends Query<AddOnsState> {\n addOns$ = this.select(state => state.addOns);\n\n constructor(protected store: AddOnsStore) {\n super(store);\n }\n\n public getToken(): Array<AddOnModel> {\n return this.getValue().addOns;\n }\n\n public getByType(type: OrderType): Array<AddOnModel> {\n return this.getValue().addOns.filter(i => i.orderType === type);\n }\n}\n\nexport const addOnsQuery = new AddOnsQuery(addOnsStore);\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from './dnaComponent.hooks';\n\ninterface DnaComponentProps {\n patientId: number;\n addOnsLoading: boolean;\n}\n\nexport const DnaComponent: React.FC<DnaComponentProps> = (props: DnaComponentProps) => {\n const { patientId, addOnsLoading } = props;\n\n const [\n content,\n ] = useFacade(patientId, addOnsLoading);\n\n return (\n <Box>\n {content}\n </Box>\n );\n}\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { EpigeneticOrderModel } from '../../models/epigeneticOrders.models';\n\n/**\n * Represents lab orders state\n */\nexport interface EpigeneticOrdersState {\n orders: EpigeneticOrderModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): EpigeneticOrdersState {\n return {\n orders: [],\n };\n}\n\n@StoreConfig({name: 'epigeneticOrders', resettable: true })\nexport class EpigeneticOrdersStore extends Store<EpigeneticOrdersState> {\n constructor() {\n super(createInitialState());\n }\n\n public addOrder(order: EpigeneticOrderModel): void {\n this.update({orders: [...this.getValue().orders, order]});\n }\n\n public updateOrder(order: EpigeneticOrderModel): void {\n const orders = this.getValue().orders.map((x) => (x.id === order.id) ? order : x);\n this.update({orders: orders});\n }\n}\n\nexport const epigeneticOrdersStore = new EpigeneticOrdersStore();\n","import { Query } from '@datorama/akita';\nimport {\n EpigeneticOrdersState,\n epigeneticOrdersStore,\n EpigeneticOrdersStore\n} from \"./epigeneticOrders.store\";\n\nexport class EpigeneticOrdersQuery extends Query<EpigeneticOrdersState> {\n orders$ = this.select(state => state.orders);\n\n constructor(protected store: EpigeneticOrdersStore) {\n super(store);\n }\n}\n\nexport const epigeneticOrdersQuery = new EpigeneticOrdersQuery(epigeneticOrdersStore);\n","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { EpigeneticOrderModel } from \"../models/epigeneticOrders.models\";\nimport { CreateOrderModel } from \"../models/orders.models\";\nimport { EpigeneticOrdersStore, epigeneticOrdersStore } from \"../stores/epigeneticOrdersStore\";\n\nexport class EpigeneticOrdersService {\n private url = `${process.env.REACT_APP_API_URL}Orders/Epigenetic`;\n\n constructor(private store: EpigeneticOrdersStore) {\n }\n\n public get(patientId: number): Observable<EpigeneticOrderModel[]> {\n return new Observable<EpigeneticOrderModel[]>(observer => {\n Axios.get<EpigeneticOrderModel[]>(`${this.url}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({orders: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public getMyOrders(): Observable<EpigeneticOrderModel[]> {\n return new Observable<EpigeneticOrderModel[]>(observer => {\n Axios.get<EpigeneticOrderModel[]>(`${this.url}/GetPatientEpigeneticOrders`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({orders: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public create(model: CreateOrderModel): Observable<EpigeneticOrderModel> {\n return new Observable<EpigeneticOrderModel>(observer => {\n Axios.post<EpigeneticOrderModel>(`${this.url}`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.store.addOrder(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n}\n\nexport const epigeneticOrdersService = new EpigeneticOrdersService(epigeneticOrdersStore);","import Axios from 'axios-observable';\nimport { snackService } from '../../common/snack/state';\nimport { addOnsStore } from '../stores';\nimport {Gender} from \"../../common/models/user.models\";\nimport { Observable, Subject } from \"rxjs\";\nimport {AddOnModel, AddOnProvider, CreateAddOnModel, UpdateAddOnModel} from '../models/addOns.models';\nimport {PaginationModel} from \"../../common/pagination/models/pagination-models\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { authQuery } from '../../auth/stores/auth';\nimport { CallbackModel } from \"../../common/models/callback.model\";\nimport {OrderType} from \"../../orders/models/orders.models\";\n\n/**\n * Provides method for working with AddOns and identity\n */\nexport class AddOnsService {\n private url = `${process.env.REACT_APP_API_URL}AddOns`;\n constructor(private AddOnsStore) {}\n\n public onUpload = new Subject<CallbackModel<[AddOnProvider]>>();\n\n public getOptional(paymentPlanId : number, gender: Gender, employerKey: string | null = null) {\n if (gender === 0) {\n gender = Gender.None;\n }\n\n Axios.get(`${this.url}/optional/?paymentPlanId=${paymentPlanId}&gender=${gender}&employerKey=${employerKey ?? ''}`).pipe()\n .subscribe(\n response => this.AddOnsStore.update({addOns: response.data}),\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getOrdering(practiceId : number, gender: Gender, grouping: boolean = false, employerKey: string | null = null): Observable<AddOnModel[]> {\n return new Observable<AddOnModel[]>(observer => {\n Axios.get<AddOnModel[]>(`${this.url}/Ordering/?practiceId=${practiceId}&gender=${gender}&employerKey=${employerKey ?? ''}&grouping=${grouping}`)\n .pipe()\n .subscribe(\n (response) => {\n this.AddOnsStore.update({ addOns: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public getEpigeneticAddOns(practiceId : number, employerKey: string | null = null): Observable<AddOnModel[]> {\n return new Observable<AddOnModel[]>(observer => {\n Axios.get<AddOnModel[]>(`${this.url}/Ordering/?practiceId=${practiceId}&gender=${Gender.None}&orderType=${OrderType.Epigenetic}&employerKey=${employerKey ?? ''}&grouping=${true}`)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public selectOrdering(\n practiceId : number,\n gender: Gender,\n provider: AddOnProvider,\n skip: number | null,\n take: number | null,\n searchQuery: string | null,\n employerKey: string | null = null): Observable<PaginationModel<AddOnModel>> {\n\n let query = `${this.url}/Select/?practiceId=${practiceId}&gender=${gender}&provider=${provider}&employerKey=${employerKey ?? ''}`;\n\n if (skip) {\n query += `&skip=${skip}`;\n }\n\n if (take) {\n query += `&take=${take}`;\n }\n\n if (searchQuery) {\n query += `&searchQuery=${searchQuery}`;\n }\n\n return new Observable<PaginationModel<AddOnModel>>(observer => {\n Axios.get<PaginationModel<AddOnModel>>(query)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n public createAddOn(model: CreateAddOnModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}?practiceId=${authQuery.getCurrentPracticeId()}`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success('Lab Pricing successfully added');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updateAddOn(model: UpdateAddOnModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success('Lab Pricing successfully updated');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteAddOn(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return Axios.delete(`${this.url}/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n snackService.success('Lab Pricing successfully deleted.');\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public upload(labProvider: AddOnProvider): Observable<any> {\n return new Observable(observer => {\n this.onUpload.next({\n data: [labProvider],\n callback: (files: any) => {\n if (!files) {\n observer.error();\n observer.complete();\n return;\n }\n\n const formData = new FormData();\n formData.append('provider', labProvider.toString());\n files.forEach((item) => {\n formData.append('file', item.file);\n });\n\n Axios.post(`${this.url}/UpdateFromFile`, formData, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n snackService.success(`Lab Pricing successfully updated by Excel file!`);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n }\n });\n });\n }\n}\n\nexport const addOnsService = new AddOnsService(addOnsStore);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { EpigeneticOrderModel } from \"../../models/epigeneticOrders.models\";\nimport { epigeneticOrdersService } from \"../../services/epigeneticOrders.service\";\nimport { epigeneticOrdersQuery } from \"../../stores/epigeneticOrdersStore\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { AddOnModel } from \"../../../addons/models/addOns.models\";\nimport { PatientProductModel } from \"../../../products/models/patientProducts.model\";\nimport { productsQuery } from \"../../../products/stores/productsStore\";\nimport { ProductType } from \"../../../products/enums/productType\";\nimport { patientProductsService } from \"../../../products/services/patientProducts.service\";\n\n\ninterface EpigeneticOrderViewModel extends EpigeneticOrderModel {\n isOpen: boolean;\n}\n\ninterface EpigeneticComponentState {\n isLoading: boolean;\n orders: EpigeneticOrderViewModel[];\n addOns: AddOnModel[];\n isLoadingNewKit: boolean;\n selectedOrder: EpigeneticOrderViewModel | null;\n isOpened: boolean;\n hasFreeEpigeneticOrders: boolean;\n}\n\nexport function useFacade(patientId: number): [EpigeneticComponentState, Array<string>, (selectedOrderId: number) => void, () => void] {\n const [state, setState] = useState<EpigeneticComponentState>({\n isLoading: true,\n orders: [],\n addOns: [],\n isLoadingNewKit: false,\n selectedOrder: null,\n isOpened: false,\n hasFreeEpigeneticOrders: false,\n });\n\n const columns = [\n 'Order Date',\n 'Status',\n 'Provider Order #',\n 'Paid Date',\n ];\n\n const updateFreeEpigeneticOrders = () => {\n productsQuery.patientProducts$.subscribe(products => {\n if (products) {\n const freeEpigeneticOrders = products.filter(el =>\n el.productType === ProductType.FreeEpigeneticOrder &&\n el.usedAt === null &&\n (el.expiredAt === null || new Date(el.expiredAt) > new Date())\n );\n setState(state => ({ ...state, hasFreeEpigeneticOrders: freeEpigeneticOrders.length > 0 }));\n }\n });\n }\n\n const handleToggleOrderDetails = (selectedOrderId: number) => {\n const item = state.orders.find(i => i.id === selectedOrderId);\n if (item) {\n item.isOpen = !item.isOpen;\n setState(state => ({ ...state, selectedOrder: item, isOpened: item.isOpen }));\n }\n }\n\n const handleOrderKit = () => {\n const addOns = state.addOns;\n\n if (addOns.length) {\n const addOn = addOns[0];\n\n const orderKit = () => {\n setState(state => ({ ...state, isLoadingNewKit: true }));\n epigeneticOrdersService.create({ patientId: patientId, addOnIds: [addOn.id] }).subscribe(\n () => {\n setState(state => ({ ...state, isLoadingNewKit: false }));\n patientProductsService.refreshPatientProducts(patientId);\n updateFreeEpigeneticOrders();\n },\n () => { setState(state => ({ ...state, isLoadingNewKit: false })); }\n )\n };\n\n if (state.hasFreeEpigeneticOrders) {\n orderKit();\n } else {\n confirmService.confirm('Are you sure?', `This will charge the patient's payment source ${displayMoney(addOn.price, '$')}. Would you like to proceed?`).subscribe(\n () => { orderKit(); }\n );\n }\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<EpigeneticOrderModel[]>(epigeneticOrdersQuery.orders$, orders => {\n setState(state => ({ ...state, orders: orders.map(i => ({ ...i, isOpen: false })) }));\n }),\n onEmit<PatientProductModel[]>(productsQuery.patientProducts$, products => {\n if (products) {\n const freeEpigeneticOrders = products.filter(el =>\n el.productType === ProductType.FreeEpigeneticOrder &&\n el.usedAt === null &&\n (el.expiredAt === null || new Date(el.expiredAt) > new Date())\n );\n setState(state => ({ ...state, hasFreeEpigeneticOrders: freeEpigeneticOrders.length > 0 }));\n }\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n epigeneticOrdersService.get(patientId).subscribe(cb, cb);\n } else {\n epigeneticOrdersService.getMyOrders().subscribe(cb, cb);\n }\n\n addOnsService.getEpigeneticAddOns(authQuery.getPracticeId()).subscribe(\n (data) => {\n setState(state => ({\n ...state,\n addOns: data\n }));\n }\n )\n\n return () => {\n subscriptions.forEach(it => it.unsubscribe());\n };\n }, [patientId]);\n\n return [state, columns, handleToggleOrderDetails, handleOrderKit];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../../modules/common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n minHeight: 'calc(100vh - 225px)',\n },\n },\n status: {\n width: 'fit-content',\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n borderRadius: 2,\n color: colors.gray1,\n background: colors.separators,\n },\n statusDate: {\n fontWeight: 400,\n marginLeft: 5,\n },\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '300px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 0,\n position: 'relative',\n },\n },\n closeIcon: {\n width: 30,\n height: 30,\n }\n })\n);\n","import { Box, CircularProgress, Collapse, IconButton, Step, StepLabel, Stepper, Table, TableBody, TableContainer, TableHead, TableRow, useMediaQuery, useTheme, Dialog, DialogContent, } from '@material-ui/core';\nimport ExpandLess from '@material-ui/icons/ExpandLess';\nimport ExpandMore from '@material-ui/icons/ExpandMore';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport moment from 'moment';\nimport React from 'react';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { WildHealthHeaderComponent } from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { WildHealthStepIcon } from '../../../common/components/wildHealthStepper/WildHealthStepIcon';\nimport { WildHealthHorizontalStepperConnector, WildHealthVerticalStepperConnector } from '../../../common/components/wildHealthStepper/WildHealthStepperConnector';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { orderStatusIndexes, orderStatusNames, OrderStatus, shortOrderStatusNames } from '../../models/orders.models';\nimport { useFacade } from './epigeneticComponent.hooks';\nimport { useStyles } from './epigeneticComponent.styles';\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport Cancel from \"@img/icons/cancel.svg\";\nimport clsx from 'clsx';\n\ninterface EpigeneticComponentProps {\n patientId?: number;\n}\n\nexport const EpigeneticComponent: React.FC<EpigeneticComponentProps> = (props: EpigeneticComponentProps) => {\n const { patientId } = props;\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const [\n {\n isLoadingNewKit,\n isLoading,\n orders,\n selectedOrder,\n isOpened,\n },\n columns,\n handleToggleOrderDetails,\n handleOrderKit,\n ] = useFacade(patientId);\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('md'));\n const isSmallScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const title = 'Epigenetic Orders';\n\n const emptyPlaceHolder = () => {\n return <span className=\"text-accent-secondary\">(empty)</span>\n }\n\n const displayValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const mapOrders = () => {\n const rows = [];\n\n orders.forEach((item, index) => {\n rows.push(\n <WildHealthTableRow key={`epigenetic-row-${index}`}>\n <WildHealthTableCell align=\"left\">\n <Box display='flex' alignItems='center'>\n <IconButton id={`epigenetic-details-${item.id}`} onClick={() => handleToggleOrderDetails(item.id)}>\n {item.isOpen ? <ExpandLess /> : <ExpandMore />}\n </IconButton>\n <Box ml={1}>\n {displayValue(item.orderedAt)}\n </Box>\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n <Box px={3} py={1} className={classes.status}>\n {orderStatusNames.get(item.status)}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.number ?? emptyPlaceHolder()}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayValue(item.paidAt)}\n </WildHealthTableCell>\n </WildHealthTableRow>\n );\n\n let names = Array.from(shortOrderStatusNames);\n names.push(item.status === OrderStatus.Failed ? [OrderStatus.Failed, 'Failed'] : [OrderStatus.Completed, 'Completed']);\n\n if (item.isOpen) {\n rows.push(\n <TableRow key={`epigenetic-row-${index}-1`}>\n <WildHealthTableCell colSpan={6}>\n <Collapse in={item.isOpen} timeout=\"auto\" unmountOnExit>\n <Stepper\n alternativeLabel={!isMobile}\n connector={isMobile ? <WildHealthVerticalStepperConnector /> : <WildHealthHorizontalStepperConnector />}\n activeStep={orderStatusIndexes.get(item.status)}\n orientation={isMobile ? \"vertical\" : 'horizontal'}\n >\n {\n names.map((step, index) => {\n const date = item.statusLogs.find(i => i.status === step[0])?.date;\n\n return (\n <Step key={`epigenetic-step-${index}`}>\n <StepLabel StepIconComponent={WildHealthStepIcon}>\n {step[1]}\n {\n date && <span className={classes.statusDate}>{`(${moment(date).format(\"MM/DD/yyyy\")})`}</span>\n }\n </StepLabel>\n </Step>\n )\n })\n }\n </Stepper>\n </Collapse>\n </WildHealthTableCell>\n </TableRow>\n );\n }\n });\n return rows;\n }\n\n const renderSmallContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <Box height=\"calc(100vh - 225px)\" className={commonClasses.bgWhiteMain}>\n <CommonPlaceHolder message={`No epigenetic orders orders yet.`} />\n </Box>\n }\n\n let names = Array.from(shortOrderStatusNames);\n names.push(selectedOrder ? selectedOrder.status === OrderStatus.Failed ? [OrderStatus.Failed, 'Failed'] : [OrderStatus.Completed, 'Completed'] : [OrderStatus.Ordered, 'Ordered']);\n\n return (\n <Box className={classes.content}>\n {\n orders.map((item, index) =>\n <Box mb=\"10px\" p={2} className={commonClasses.bgWhiteMain} key={index}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box display=\"flex\" alignItems=\"center\">\n <Box className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorBlack)} mr={0.5}>\n {displayValue(item.orderedAt)}\n </Box>\n <IconButton id={`epigenetic-details-${item.id}`} onClick={() => handleToggleOrderDetails(item.id)}>\n <ChevronRightIcon className={commonClasses.colorBlack} />\n </IconButton>\n </Box>\n <Box px={2} py={1} className={commonClasses.renderDivider}>\n <span className={commonClasses.colorGray1}>{orderStatusNames.get(item.status)}</span>\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Paid Date'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {displayValue(item.paidAt)}\n </Box>\n </Box>\n </Box>\n )\n }\n\n {selectedOrder && (\n <Dialog\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleToggleOrderDetails(selectedOrder.id)}\n open={isOpened}\n >\n <DialogContent className={classes.dialogContent}>\n <Box position=\"absolute\" right={0} top={0} p={0.5}>\n <IconButton id=\"dna-orders-details-close\" onClick={() => handleToggleOrderDetails(selectedOrder.id)} >\n <img src={Cancel} className={classes.closeIcon} alt='Cancel' />\n </IconButton>\n </Box>\n\n <Box textAlign=\"center\">\n <span className={clsx(commonClasses.size20, commonClasses.textMedium, commonClasses.colorBlack)}>\n {'Status History'}\n </span>\n </Box>\n <Stepper\n alternativeLabel={!isMobile}\n connector={isMobile ? <WildHealthVerticalStepperConnector /> : <WildHealthHorizontalStepperConnector />}\n activeStep={orderStatusIndexes.get(selectedOrder.status)}\n orientation={isMobile ? \"vertical\" : 'horizontal'}\n >\n {\n names.map((step, index) => {\n const date = selectedOrder.statusLogs.find(i => i.status === step[0])?.date;\n\n return (\n <Step key={`epigenetic-step-${index}`}>\n <StepLabel StepIconComponent={WildHealthStepIcon}>\n {step[1]}\n {\n date && <span className={classes.statusDate}>{`(${moment(date).format(\"MM/DD/yyyy\")})`}</span>\n }\n </StepLabel>\n </Step>\n )\n })\n }\n </Stepper>\n </DialogContent>\n </Dialog>\n )}\n </Box>\n )\n }\n\n const renderContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message={`No ${title} yet.`} />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={`epigenetic-cell-${index}`} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {mapOrders()}\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const header = (\n <Box display='flex' justifyContent='space-between'>\n <span>\n {title}\n </span>\n <ProtectedElement\n element={\n <Box>\n <WildHealthButton id=\"epigenetic-new-kit\" onClick={() => handleOrderKit()} disabled={isLoadingNewKit}>\n {\n isLoadingNewKit\n ? <CircularProgress size={24} className={commonClasses.colorMain} />\n : 'Order New Kit'\n }\n </WildHealthButton>\n </Box>\n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n )\n\n return isSmallScreen ? renderSmallContent() : (\n <WildHealthHeaderComponent title={header}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </WildHealthHeaderComponent>\n );\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n minHeight: 'calc(100vh - 225px)',\n },\n },\n colorMain: {\n color: colors.main\n },\n invoicePaid: {\n color: colors.good\n },\n invoiceUnpaid: {\n color: colors.darkGray\n },\n invoiceCancelled: {\n color: colors.bad\n },\n icon: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n tooltip: {\n position: 'absolute',\n background: colors.lightBlack,\n color: colors.white,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n borderRadius: 2,\n padding: 16,\n fontStyle: 'normal',\n fontWeight: 400,\n fontSize: 14,\n display: 'none',\n width: 'max-content',\n maxWidth: '35vw',\n marginLeft: '-40px',\n zIndex: 1,\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n iconInfo: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n menuIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n \"&.MuiIconButton-root\": {\n padding: 0,\n color: colors.black,\n },\n },\n },\n circleGreen:{\n borderRadius:\"50%\",\n width:6,\n height:6,\n backgroundColor:\"#8ABD7C\",\n display:'inline-block',\n position:'relative',\n bottom:3\n },\n circleRed:{\n borderRadius:\"50%\",\n width:6,\n height:6,\n backgroundColor:colors.bad,\n display:'inline-block',\n position:'relative',\n bottom:3\n },\n circleGray:{\n borderRadius:\"50%\",\n width:6,\n height:6,\n backgroundColor: colors.gray1,\n display:'inline-block',\n position:'relative',\n bottom:3\n },\n })\n);\n","import { MenuItem, withStyles } from \"@material-ui/core\";\nimport { colors } from '../../../common/constants/colors';\n\nexport const WildHealthWarningMenuItem = withStyles((theme) => ({\n root: {\n borderRadius: 2,\n margin: 5,\n marginTop: 5,\n padding: 15,\n color: colors.bad\n },\n}))(MenuItem);","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogWidth: {\n width: '700px'\n }\n })\n);\n","import { Box, Dialog, DialogActions, DialogContent, DialogTitle, FormControl, TextField } from \"@material-ui/core\";\nimport React from \"react\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useFacade } from \"./cancelLabOrderDialogue.hooks\";\nimport { useStyles } from './cancelLabOrderDialogue.styles';\n\n\nexport const CancelLabOrderDialogue: React.FC = () => {\n const classes = useStyles();\n\n const [\n {\n isOpen,\n orderId,\n reason,\n canCancel,\n handleCancel\n },\n handleUpdateReason,\n handleClose,\n handleSubmitCancel\n ] = useFacade();\n const commonClasses = commonUseStyles();\n \n return (\n <>\n <Dialog maxWidth=\"md\" open={isOpen} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogTitle id=\"form-dialog-title\">Cancel Order</DialogTitle>\n <DialogContent>\n <Box className={classes.dialogWidth} py={1}>\n <Box display=\"flex\">\n <Box pt={1}>\n Please add a reason for the cancellation below.\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={3}>\n <FormControl color='primary' fullWidth size=\"small\" variant=\"outlined\" className=\"drop-down\">\n <TextField\n id=\"lab-order-cancellation-reason\"\n multiline\n rows={4}\n label=\"Enter reason\"\n variant=\"outlined\"\n onChange={handleUpdateReason}\n >\n\n </TextField>\n </FormControl>\n </Box>\n </Box>\n </DialogContent>\n <DialogActions>\n <WildHealthButton\n id=\"lab-order-close\"\n color=\"secondary\"\n onClick={() => handleClose()}\n >\n Close\n </WildHealthButton>\n <Box pr={2}>\n <WildHealthButton\n id=\"lab-order-cancel\"\n color=\"danger\"\n onClick={() => handleSubmitCancel()}\n disabled={!canCancel}\n >\n Cancel\n </WildHealthButton>\n </Box>\n </DialogActions>\n </Dialog>\n </>\n )\n}","import {ChangeEventHandler, useState} from 'react';\nimport { labOrdersService } from \"../../services/labOrders.service\";\n\nexport interface CancelLabOrderDialogueState { \n isOpen: boolean;\n orderId: number;\n reason: string;\n canCancel: boolean;\n handleCancel: Function;\n}\n\nexport function useFacade(): [CancelLabOrderDialogueState, ChangeEventHandler, Function, Function]{\n const [state, setState] = useState({\n isOpen: false,\n orderId: 0,\n reason: null,\n canCancel: false\n } as CancelLabOrderDialogueState);\n\n const setDefaultState = () => {\n setState({\n ...state,\n isOpen: false,\n orderId: 0,\n reason: null,\n canCancel: false,\n handleCancel: null\n });\n }\n\n const handleUpdateReason = (e: any) => {\n const reason = e.target.value;\n const canCancel = e.target.value.length > 0;\n setState({\n ...state,\n reason: reason,\n canCancel: canCancel\n })\n }\n\n const handleClose = () => {\n setDefaultState();\n }\n\n const handleSubmitCancel = () => {\n state.handleCancel(state.orderId, state.reason);\n setDefaultState();\n }\n\n labOrdersService.onCancel.subscribe((callbackModel) => {\n setState({\n ...state,\n isOpen: true,\n handleCancel: callbackModel.callback,\n orderId: callbackModel.data\n });\n })\n\n return [state, handleUpdateReason, handleClose, handleSubmitCancel]\n}","import React from \"react\";\nimport { Box, Dialog, DialogContent, FormControl, TextField, IconButton } from \"@material-ui/core\";\nimport CloseIcon from '@material-ui/icons/Close'\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./markLabOrderAsPaidDialog.hooks\";\n\n\nexport const MarkLabOrderAsPaidDialog: React.FC = () => {\n\n const [\n {\n isOpen,\n canSubmit,\n reason\n },\n handleUpdateReason,\n handleClose,\n handleSubmit\n ] = useFacade();\n \n return (\n <>\n <Dialog maxWidth=\"md\" open={isOpen} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogContent className=\"wh-tw-w-[548px] wh-tw-px-10 wh-tw-py-8\">\n <Box display='flex' justifyContent='space-between' alignItems='center'>\n <Box>\n <span className='wh-tw-text-2xl wh-tw-text-black wh-tw-font-medium'>Reason for Override</span>\n </Box>\n <Box display='flex' alignItems='center' position='absolute' right={5} top={5}>\n <IconButton\n id='add-device-dialog-close'\n onClick={() => handleClose()}\n >\n <CloseIcon />\n </IconButton>\n </Box>\n </Box>\n <Box className=\"wh-tw-pt-8\">\n <Box className=\"wh-tw-text-black wh-tw-text-normal\">\n Please add a reason for the override below.\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" className=\"wh-tw-pt-5\">\n <FormControl color='primary' fullWidth size=\"small\" variant=\"outlined\" className=\"drop-down\">\n <TextField\n id=\"lab-order-override-reason\"\n multiline\n rows={4}\n placeholder=\"State a reason...\"\n variant=\"outlined\"\n value={reason}\n onChange={handleUpdateReason}\n >\n\n </TextField>\n </FormControl>\n </Box>\n </Box>\n <Box mt={5} display='flex' justifyContent='flex-end' alignItems='center'>\n <Box mx={2}>\n <WildHealthButton\n id=\"lab-order-close\"\n color=\"tertiary\"\n size=\"medium\"\n onClick={() => handleClose()}\n >\n Close\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"lab-order-override\"\n size=\"medium\"\n onClick={() => handleSubmit()}\n disabled={!canSubmit}\n >\n Override\n </WildHealthButton>\n </Box>\n </Box>\n </DialogContent>\n </Dialog>\n </>\n )\n}","import {useEffect, useState} from \"react\";\nimport {AddOnModel, AddOnProvider} from \"../../../addons/models/addOns.models\";\nimport {ColumnViewModel} from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport {pricingService} from \"../../services/pricing.service\";\nimport {IPaginationState} from \"../../../common/pagination/models/pagination-state\";\nimport {getAvailablePages} from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport {addOnsService} from \"../../../addons/services/addOns.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport * as FileSaver from \"file-saver\";\nimport XLSX from \"sheetjs-style\";\n\ninterface LabOrderPlacedComponentState extends IPaginationState {\n isOpen: boolean;\n isLoading: boolean;\n provider: AddOnProvider,\n gender: Gender,\n search: string,\n filteredItems: AddOnModel[];\n selectedItems: AddOnModel[];\n totalPrice: number;\n menuAnchorEl: HTMLElement;\n selectedAddOn: AddOnModel;\n}\n\nlet stateContext: LabOrderPlacedComponentState;\nconst fileType = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';\nconst fileExtension = '.xlsx';\n\nexport function useFacade(handleNewPricing: Function, handleModifyLabPricing: Function, handleUpdatePricingByDocument: Function): [\n LabOrderPlacedComponentState,\n Array<ColumnViewModel>,\n (value: string) => void,\n () => void, (value: number) => void,\n (size: number) => void,\n (page: number) => void,\n () => number[],\n (id: number, menuAnchorEl?: HTMLElement) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isOpen: false,\n isLoading: false,\n provider: AddOnProvider.ImageMark,\n search: '',\n filteredItems: [],\n selectedItems: [],\n totalPrice: 0,\n pageSize: 10,\n selectedPage: 1,\n totalCount: 0,\n menuAnchorEl: null,\n selectedAddOn: null\n } as LabOrderPlacedComponentState);\n\n stateContext = state;\n\n const selectAddOns = (\n gender?: Gender,\n provider?: AddOnProvider,\n selectedPage?: number,\n pageSize?: number,\n search?: string) => {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n addOnsService.selectOrdering(\n authQuery.getCurrentPracticeId(),\n gender ?? state.gender,\n provider ?? state.provider,\n ((selectedPage ?? state.selectedPage) - 1) * (pageSize ?? state.pageSize),\n pageSize ?? state.pageSize,\n search ?? state.search\n ).subscribe(\n response => {\n setState(state => ({\n ...state,\n filteredItems: response.data,\n totalCount: response.totalCount,\n isLoading: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n filteredItems: [],\n isLoading: false\n }));\n }\n );\n }\n\n const columns: ColumnViewModel[] = [\n {title: '', alignment: 'center'},\n {title: 'Test Code', alignment: 'left'},\n {title: 'Test Name', alignment: 'left'},\n {title: 'Price', alignment: 'right'}\n ];\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n isOpen: false,\n isLoading: false,\n filteredItems: [],\n selectedItems: [],\n totalPrice: 0,\n pageSize: 10,\n selectedPage: 1,\n totalCount: 0,\n menuAnchorEl: null,\n search: ''\n }));\n }\n\n const handleOnFilter = (search: string) => {\n setState(state => ({...state, search: search}));\n }\n\n const handleChanges = (id: number) => {\n const selectedItems = state.selectedItems;\n const index = selectedItems.findIndex(x => x.id === id);\n if (index > -1) {\n selectedItems.splice(index, 1);\n } else {\n const item = state.filteredItems.find(x => x.id === id);\n selectedItems.push(item);\n }\n\n const total = selectedItems?.reduce((sum, item) => sum + item.price, 0);\n setState(state => ({...state, selectedItems: selectedItems, totalPrice: total}));\n }\n\n const handlePageSizeChange = (size: any) => {\n if (size === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n pageSize: size,\n selectedPage: 1\n }));\n\n selectAddOns(\n state.gender,\n state.provider,\n state.selectedPage,\n size,\n state.search\n );\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n selectedPage: page\n }));\n\n selectAddOns(\n state.gender,\n state.provider,\n page,\n state.pageSize,\n state.search\n );\n }\n\n const getAllAvailablePages = (): number[] => {\n return getAvailablePages(state);\n }\n\n const handleToggleMenu = (pricingId: number, menuAnchorEl?: HTMLElement) => {\n setState(state => ({ \n ...state, \n menuAnchorEl,\n selectedAddOn: state.filteredItems.find(addOn => addOn.id === pricingId),\n }))\n }\n\n const handleAddNewLab = () => {\n handleNewPricing(state.provider);\n handleClose();\n }\n\n const handleUploadDocument = () => {\n handleUpdatePricingByDocument(state.provider);\n handleClose();\n }\n\n const handleEdit = () => {\n handleModifyLabPricing(state.selectedAddOn, 'edit');\n handleClose();\n }\n\n const handleDelete = () => {\n handleModifyLabPricing(state.selectedAddOn, 'delete');\n handleClose();\n }\n\n const handleExportDocument = () => {\n if (!state.filteredItems.length) return;\n const exportData:any[] = state.filteredItems.map(addOn => {\n return {\n \"service code\": addOn.integrationId,\n \"service name\": addOn.description,\n \"test price\": addOn.price\n }\n })\n const ws = XLSX.utils.json_to_sheet(exportData);\n const wb = { Sheets: { 'data': ws }, SheetNames: ['data'] };\n const excelBuffer = XLSX.write(wb, {bookType: 'xlsx', type: 'array'});\n const data = new Blob([excelBuffer], {type: fileType});\n FileSaver.saveAs(data, `${AddOnProvider[state.provider]}_Pricing` + fileExtension);\n }\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (stateContext.isOpen) {\n setState({\n ...state,\n selectedPage: 1,\n })\n selectAddOns(\n stateContext.gender,\n stateContext.provider,\n 1,\n stateContext.pageSize,\n stateContext.search\n );\n }\n }, 1000);\n\n return () => clearTimeout(delayDebounceFn)\n }, [stateContext.search]);\n\n useEffect(() => {\n const subscription = pricingService.onView.subscribe((model) => {\n const [\n provider,\n gender\n ] = model.data;\n\n selectAddOns(\n gender,\n provider,\n state.selectedPage,\n state.pageSize,\n state.search\n );\n\n setState(state => ({\n ...state,\n isOpen: true,\n provider: provider,\n gender: gender\n }));\n });\n\n return () => subscription.unsubscribe();\n }, [])\n\n return [\n state,\n columns,\n handleOnFilter,\n handleClose,\n handleChanges,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleMenu,\n handleAddNewLab,\n handleEdit,\n handleDelete,\n handleExportDocument,\n handleUploadDocument\n ];\n}","import { ChangeEventHandler, useState } from 'react';\nimport { labOrdersService } from \"../../services/labOrders.service\";\n\nexport interface MarkLabOrderAsPaidDialogState { \n isOpen: boolean;\n orderId: number;\n reason: string;\n canSubmit: boolean;\n handleMarkAsPaid: Function;\n}\n\nexport function useFacade(): [MarkLabOrderAsPaidDialogState, ChangeEventHandler, Function, Function]{\n const [state, setState] = useState({\n isOpen: false,\n orderId: 0,\n reason: '',\n canSubmit: false\n } as MarkLabOrderAsPaidDialogState);\n\n const setDefaultState = () => {\n setState({\n ...state,\n isOpen: false,\n orderId: 0,\n reason: '',\n canSubmit: false,\n handleMarkAsPaid: null\n });\n }\n\n const handleUpdateReason = (e: any) => {\n const reason = e.target.value;\n const canSubmit = e.target.value.length > 0;\n setState({\n ...state,\n reason: reason,\n canSubmit: canSubmit\n })\n }\n\n const handleClose = () => {\n setDefaultState();\n }\n\n const handleSubmit = () => {\n state.handleMarkAsPaid(state.orderId, state.reason);\n setDefaultState();\n }\n\n labOrdersService.onMarkAsPaid.subscribe((callbackModel) => {\n setState({\n ...state,\n isOpen: true,\n handleMarkAsPaid: callbackModel.callback,\n orderId: callbackModel.data\n });\n })\n\n return [state, handleUpdateReason, handleClose, handleSubmit]\n}","import {\n Box,\n IconButton,\n Popover,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n Tooltip,\n useMediaQuery,\n useTheme\n} from '@material-ui/core';\nimport InfoIcon from '@material-ui/icons/Info';\nimport moment from 'moment';\nimport React from 'react';\nimport {addOnProvidersNames} from '../../../addons/models/addOns.models';\nimport {WildHealthButton} from '../../../common/components/wildHealthButton/WildHealthButton';\nimport {\n WildHealthHeaderComponent\n} from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {CommonPlaceHolder} from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport {WildHealthTableCell} from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport {WildHealthTableRow} from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport {useFacade} from './labOrdersComponent.hooks';\nimport {useStyles} from './labOrdersComponent.styles';\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport {PermissionType} from \"../../../auth/models/auth.enums\";\nimport {toCurrentTimeZone} from '../../../timezones/helpers/timezone';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport {useHistory, useLocation} from 'react-router';\nimport {RoutesConstants} from '../../../../constants/route.constants';\nimport {WildHealthMenuItem} from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport {WildHealthWarningMenuItem} from '../../../common/components/wildHealthMenu/WildHealthWarningMenuItem';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport {CancelLabOrderDialogue} from '../cancelLabOrderDialogue/CancelLabOrderDialogue';\nimport {OrderStatus} from '../../models/orders.models';\nimport {colors} from '../../../common/constants/colors';\nimport {MarkLabOrderAsPaidDialog} from '../markLabOrderAsPaidDialog/MarkLabOrderAsPaidDialog';\n\ninterface LabOrdersComponentProps {\n patientId?: number;\n orderId: number;\n handleNavigateToOrderNew?: () => void;\n handleNavigateToInvoice?: (orderId: number) => void;\n}\n\nexport const LabOrdersComponent: React.FC<LabOrdersComponentProps> = (props: LabOrdersComponentProps) => {\n const { patientId, orderId, handleNavigateToOrderNew, handleNavigateToInvoice } = props;\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n isLoading,\n orders,\n menuAnchorEl,\n targetOrder\n },\n columns,\n handleViewRequisition,\n handleBuyNewLabOrder,\n canBuyNewLabOrder,\n handleToggleMenu,\n handleNavigateToInvoiceFromState,\n handleCancelOrder,\n handleMarkOrderAsPaid\n ] = useFacade(patientId, orderId, handleNavigateToInvoice);\n\n const location = useLocation();\n const _history = useHistory();\n const locationSearch = location?.search;\n\n if (locationSearch) {\n const skip = locationSearch.includes(\"tab\");\n if(!skip){\n const getOrderId = +locationSearch.replace(/[^0-9]/g, '')\n handleNavigateToInvoice(getOrderId)\n }\n \n _history.push({\n pathname: `${RoutesConstants.managePatientProfile}/${patientId}`,\n search: '',\n });\n }\n\n const title = 'Lab Orders';\n\n const emptyPlaceHolder = () => {\n return <span className=\"text-accent-secondary\">(empty)</span>\n }\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const displayUtcDateValue = (value: Date) => {\n return value ? moment(value).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n const getPaidStatus = (status: boolean) => {\n if (status) {\n return <Box px={2} py={1} className={commonClasses.backgroundGood}><span className={commonClasses.colorGood}>Paid</span></Box>;\n } else {\n return <Box px={2} py={1} className={commonClasses.backgroundBad}><span className={commonClasses.colorBad}>Unpaid</span></Box>;\n }\n }\n\n const renderSmallContent = () => {\n\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <Box height=\"calc(100vh - 225px)\" className={commonClasses.bgWhiteMain}>\n <CommonPlaceHolder message={`No lab orders yet.`} />\n </Box>\n }\n\n return (\n <Box className={classes.content}>\n {\n orders.map((item, index) =>\n <Box mb=\"10px\" p={2} className={commonClasses.bgWhiteMain} key={index}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorBlack)}>\n {displayDataValue(item.orderedAt)}\n </Box>\n <Box>\n {getPaidStatus(item.isPaid)}\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Expected Collection Date'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {displayUtcDateValue(item.expectedCollectionDate)}\n </Box>\n </Box>\n <Box mt={1.5} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <span className={clsx(commonClasses.textMedium, commonClasses.size14, commonClasses.colorGray2)}>{'Lab Provider'}</span>\n <Box className={clsx(commonClasses.textRegular, commonClasses.size14, commonClasses.colorBlack)}>\n {addOnProvidersNames.get(item.provider)}\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <IconButton id=\"lab-order-more-menu\" onClick={(e) => handleToggleMenu(item.id, e.currentTarget)} className={classes.menuIcon}>\n <MoreHorizIcon />\n </IconButton>\n </Box>\n </Box>\n </Box>\n )\n }\n {targetOrder && (\n <Popover\n keepMounted\n anchorEl={menuAnchorEl}\n open={Boolean(menuAnchorEl)}\n onClose={() => handleToggleMenu(0)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <WildHealthMenuItem id=\"lab-order-requisition\" disabled={false} onClick={handleViewRequisition}>View Requisition</WildHealthMenuItem>\n <WildHealthMenuItem id=\"lab-order-invoice\" disabled={false} onClick={handleNavigateToInvoiceFromState}>View Invoice</WildHealthMenuItem>\n </Popover>\n )}\n <CancelLabOrderDialogue />\n </Box>\n\n )\n }\n\n const renderContent = () => {\n\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message={`No ${title} yet.`} />\n }\n\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={`lab-cell-${index}`} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n orders.map((item, index) =>\n { \n const isCancelled = item.status == OrderStatus.Cancelled;\n const statusClass = isCancelled ? classes.circleRed : item.isPaid ? classes.circleGreen : classes.circleGray;\n const statusText = isCancelled ? `Cancelled by ${item.cancelledBy}` : item.isPaid ? 'Paid' : 'Unpaid';\n const cancelledInfoTip = isCancelled ? `Cancelled on ${displayUtcDateValue(item.cancelledAt)} due to ${item.cancellationReason}`: '';\n return (\n <WildHealthTableRow key={`lab-row-${index}`}>\n <WildHealthTableCell align=\"left\">\n {displayDataValue(item.orderedAt)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayUtcDateValue(item.expectedCollectionDate)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {addOnProvidersNames.get(item.provider)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\">\n <Box display=\"flex\">\n <Box>\n {\n <Box className={statusClass}></Box>\n }\n </Box>\n <Box ml={2}>\n {statusText}\n </Box>\n {isCancelled && (<Box ml={2}>\n <Tooltip placement=\"top\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box display='flex' flexDirection='column' mr={2}>\n <Box mt={1} display=\"flex\">\n {cancelledInfoTip}\n </Box>\n </Box>\n </Box>} >\n <InfoIcon className={classes.iconInfo} fontSize='small' style={{ fill: colors.gray2 }} />\n </Tooltip>\n </Box>)}\n </Box>\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box>\n <IconButton id=\"lab-order-more-menu\" onClick={(e) => handleToggleMenu(item.id, e.currentTarget)} className={classes.menuIcon}>\n <MoreHorizIcon />\n </IconButton>\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n {targetOrder && (\n <Popover\n keepMounted\n anchorEl={menuAnchorEl}\n open={Boolean(menuAnchorEl)}\n onClose={() => handleToggleMenu(0)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <WildHealthMenuItem id=\"lab-order-requisition\" disabled={false} onClick={handleViewRequisition}>View Requisition</WildHealthMenuItem>\n <WildHealthMenuItem id=\"lab-order-invoice\" disabled={false} onClick={handleNavigateToInvoiceFromState}>View Invoice</WildHealthMenuItem>\n {!targetOrder.isPaid && targetOrder.status !== OrderStatus.Cancelled && (\n <ProtectedElement\n element={\n <WildHealthMenuItem id=\"lab-order-mark-as-paid\" disabled={false} onClick={handleMarkOrderAsPaid}>Mark as Paid</WildHealthMenuItem>\n }\n permissions={[PermissionType.InvoiceManagement]}\n />\n )}\n <WildHealthWarningMenuItem id=\"lab-order-cancel\" disabled={targetOrder.status === OrderStatus.Cancelled} onClick={handleCancelOrder}>Cancel Order</WildHealthWarningMenuItem>\n </Popover>\n )}\n <CancelLabOrderDialogue />\n <MarkLabOrderAsPaidDialog />\n </Box>\n )\n }\n\n const header = (\n <Box display='flex' justifyContent='space-between'>\n <span>\n {title}\n </span>\n <ProtectedElement\n element={\n <Box>\n <WildHealthButton id=\"lab-orders-link-new-lab\" onClick={() => handleNavigateToOrderNew()}>\n New Lab Order\n </WildHealthButton>\n </Box>\n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={\n <>\n {\n canBuyNewLabOrder() &&\n <Box>\n <WildHealthButton id=\"lab-orders-buy-new-lab\" onClick={() => handleBuyNewLabOrder()}>\n New Lab Order\n </WildHealthButton>\n </Box>\n }\n </>\n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n )\n\n return isSmallScreen ? renderSmallContent() : (\n <WildHealthHeaderComponent title={header}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </WildHealthHeaderComponent>\n );\n}","import moment from \"moment\";\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { addOnProvidersNames } from \"../../../addons/models/addOns.models\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { LabOrderModel } from \"../../models/labOrders.models\";\nimport { labOrdersService } from \"../../services/labOrders.service\";\nimport { labOrdersQuery } from \"../../stores/labOrdersStore\";\nimport { OrderType } from \"../../models/orders.models\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { addOnsQuery } from \"../../../addons/stores\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { displayMoney } from \"../../../common/helpers/display-money\";\n\ninterface LabOrdersComponentState {\n isLoading: boolean;\n selectedOrderId: number;\n isDownloadingRequisition: boolean;\n orders: LabOrderModel[];\n menuAnchorEl: HTMLButtonElement;\n targetOrder: LabOrderModel;\n}\n\n\nexport function useFacade(patientId: number, orderId: number, navigateToInvoice: (orderId: number) => any): [\n LabOrdersComponentState,\n Array<string>,\n () => void,\n () => void,\n () => boolean,\n (orderId: number, menuAnchorEl?: HTMLButtonElement) => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n selectedOrderId: 0,\n isDownloadingRequisition: false,\n orders: [],\n menuAnchorEl: null,\n targetOrder: null\n } as LabOrdersComponentState);\n\n const columns = [\n 'Date Ordered',\n 'Expected Collection Date',\n 'Lab Provider',\n 'Invoice Status',\n 'Action'\n ];\n\n const handleToggleMenu = (orderId: number, menuAnchorEl?: HTMLButtonElement) => {\n setState(state => ({ \n ...state, \n menuAnchorEl,\n selectedOrderId: orderId,\n targetOrder: orderId > 0 ? state.orders.find(pc => pc.id === orderId) : null\n }))\n }\n\n const handleNavigateToInvoiceFromState = () => {\n const orderId = state.selectedOrderId;\n navigateToInvoice(orderId);\n }\n\n const handleViewRequisition = () => {\n const orderId = state.selectedOrderId;\n const order = state.orders.find(o => o.id == orderId);\n if (order) {\n setState(state => ({ ...state, isDownloadingRequisition: true, selectedOrderId: orderId }));\n\n const cb = () => setState(state => ({ ...state, isDownloadingRequisition: false, selectedOrderId: 0 }));\n\n const provider = addOnProvidersNames.get(order.provider) ?? 'Requisition';\n\n const fileName = `${provider} ${moment(toCurrentTimeZone(order.orderedAt)).format('MM/DD/YYYY')}`;\n\n if (patientId) {\n labOrdersService.getRequisition(orderId, fileName).subscribe(\n (blob) => {\n const downloadUrl = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = downloadUrl;\n link.setAttribute('download', fileName);\n link.click();\n cb();\n }, cb);\n } else {\n labOrdersService.getMyRequisition(orderId).subscribe(\n (blob) => {\n const downloadUrl = window.URL.createObjectURL(blob);\n const link = document.createElement('a');\n link.href = downloadUrl;\n link.setAttribute('download', fileName);\n link.click();\n cb();\n }, cb);\n }\n\n }\n }\n\n const canBuyNewLabOrder = (): boolean => {\n const addOns = addOnsQuery.getByType(OrderType.Lab) ?? [];\n const addOn = addOns.find(x => x.name === 'Advanced Blood Analysis');\n\n return addOn !== undefined && orderId !== 0;\n }\n\n const handleBuyNewLabOrder = () => {\n const addOns = addOnsQuery.getByType(OrderType.Lab);\n if (addOns.length) {\n const addOn = addOns.find(x => x.name === 'Advanced Blood Analysis')\n confirmService.confirm('Are you sure?', `This will charge the patient's payment source ${displayMoney(addOn.price, '$')}. Would you like to proceed?`).subscribe(\n () => labOrdersService.create({ patientId: patientId, addOnIds: [addOn.id] }).subscribe(() => { })\n );\n }\n }\n\n const handleCancelOrder = () => {\n const labOrderId = state.selectedOrderId\n if (labOrderId > 0) \n {\n labOrdersService.cancelOrder(labOrderId).subscribe()\n }\n }\n\n const handleMarkOrderAsPaid = () => {\n const labOrderId = state.selectedOrderId\n const cb = () => setState(state => ({ ...state, menuAnchorEl: null, selectedOrderId: 0, targetOrder: null }))\n if (labOrderId > 0) \n {\n labOrdersService.markAsPaidOrder(labOrderId).subscribe(cb, cb)\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<LabOrderModel[]>(labOrdersQuery.orders$, labs => {\n setState(state => ({\n ...state,\n orders: labs,\n }));\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n labOrdersService.get(patientId).subscribe(cb, cb);\n } else {\n labOrdersService.getMyOrders().subscribe(cb, cb);\n }\n\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, columns, handleViewRequisition, handleBuyNewLabOrder, canBuyNewLabOrder, handleToggleMenu, handleNavigateToInvoiceFromState, handleCancelOrder, handleMarkOrderAsPaid];\n}","import { Observable, Subject } from \"rxjs\";\nimport { AddOnProvider, AddOnModel } from \"../../addons/models/addOns.models\";\nimport {CallbackModel} from \"../../common/models/callback.model\"\nimport {Gender} from \"../../common/models/user.models\";\n\nexport class PricingService {\n public onView = new Subject<CallbackModel<[AddOnProvider, Gender]>>();\n public onNew = new Subject<CallbackModel<[AddOnProvider]>>();\n public onUpdate = new Subject<CallbackModel<[AddOnModel]>>();\n\n public open(labProvider: AddOnProvider, gender: Gender): Observable<boolean> {\n return new Observable(observer => {\n this.onView.next({\n data: [\n labProvider,\n gender\n ],\n callback: () => {\n observer.next();\n observer.complete();\n }\n });\n });\n }\n\n public openNew(labProvider: AddOnProvider): Observable<boolean> {\n return new Observable(observer => {\n this.onNew.next({\n data: [\n labProvider\n ],\n callback: () => {\n observer.next();\n observer.complete();\n }\n });\n });\n }\n\n public openUpdate(addOnItem: AddOnModel): Observable<boolean> {\n return new Observable(observer => {\n this.onUpdate.next({\n data: [\n addOnItem\n ],\n callback: () => {\n observer.next();\n observer.complete();\n }\n });\n });\n }\n}\n\nexport const pricingService = new PricingService();","import { TextField, Button } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 24,\n },\n searchBox: {\n width: 'auto',\n [theme.breakpoints.up('sm')]: {\n width: 310,\n },\n },\n search: {\n borderColor: colors.gray4,\n },\n searchBase: {\n padding: '10px 14px',\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n },\n content: {\n minHeight: 211,\n\n [theme.breakpoints.up('sm')]: {\n minHeight: 459,\n },\n },\n icon: {\n color: colors.gray1,\n },\n notificationIcon: {\n fontSize: 16,\n color: colors.gray2,\n display: 'flex',\n marginTop: 'auto',\n marginBottom: 'auto',\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: '12px',\n fontWeight: 400,\n },\n totalPriceText: {\n color: colors.black,\n fontWeight: 700,\n fontSize: '22px',\n textAlign: 'right',\n },\n totalContext: {\n marginRight: '14px',\n },\n totalPriceContent: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center',\n paddingInline: '40px',\n minHeight: '62px',\n },\n tooltipContent: {\n display: 'flex',\n alignItems: 'center',\n },\n customWidth: {\n width: '410px',\n maxWidth: '410px',\n backgroundColor: colors.lightBlack,\n padding: '10px',\n },\n selectedText: {\n color: colors.gray1,\n fontFamily: 'Be Vietnam Pro',\n fontSize: '14px',\n fontWeight: 400,\n marginRight: '10px',\n },\n arrow: {\n color: colors.lightBlack\n },\n headerBox: {\n [theme.breakpoints.up('sm')]: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n },\n },\n menuIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n \"&.MuiIconButton-root\": {\n padding: 0,\n color: colors.black,\n },\n },\n },\n dropIcon: {\n color: colors.main,\n fontSize: 18,\n },\n })\n);\n\nexport const SearchTextField = withStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: colors.gray4,\n },\n '&:hover fieldset': {\n borderColor: colors.gray1,\n },\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n})(TextField);\n\nexport const UploadButton = withStyles((theme: Theme) => ({\n root: {\n minWidth: 34,\n width: 34,\n height: 34,\n padding: 0,\n border: 'none',\n borderRadius: 2,\n color: colors.gray1,\n backgroundColor: colors.stroke,\n '&:hover': {\n backgroundColor: colors.stroke,\n },\n '&:disabled': {\n color: colors.gray2,\n backgroundColor: colors.disabled,\n cursor: 'not-allowed',\n },\n },\n}))(Button);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgNotificationIcon = function SvgNotificationIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.657 2.34299C10.5329 -0.780823 5.4675 -0.781171 2.34299 2.34299C-0.781171 5.46716 -0.780823 10.5325 2.34299 13.657C5.46716 16.7805 10.5325 16.7809 13.657 13.657C16.7809 10.5325 16.7805 5.4675 13.657 2.34299ZM9.04314 11.4783C9.04314 12.0546 8.57601 12.5217 7.99967 12.5217C7.42332 12.5217 6.95619 12.0546 6.95619 11.4783V7.30437C6.95619 6.72802 7.42332 6.26089 7.99967 6.26089C8.57601 6.26089 9.04314 6.72802 9.04314 7.30437V11.4783ZM7.98123 5.52072C7.38019 5.52072 6.9795 5.09498 6.99202 4.56942C6.9795 4.01847 7.38019 3.6056 7.99341 3.6056C8.60697 3.6056 8.99514 4.01881 9.00801 4.56942C9.00767 5.09498 8.60732 5.52072 7.98123 5.52072Z\",\n fill: \"#AFBACA\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNotificationIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/NotificationIcon.a4501685.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, createStyles, Dialog, DialogContent, IconButton, Table, TableBody, TableContainer, TableHead, Theme, Typography, WithStyles, withStyles, Checkbox, Tooltip, Popover } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { useFacade } from './pricingDialogComponent.hooks';\nimport { useStyles, SearchTextField, UploadButton } from './pricingDialogComponent.styles';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport SearchIcon from '@material-ui/icons/Search';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { ReactComponent as NotificationIcon } from '@img/icons/NotificationIcon.svg';\nimport { AddOnProvider, AddOnModel } from '../../../addons/models/addOns.models';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { colors } from \"../../../common/constants/colors\";\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport {PaginationComponent} from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport {pageSizes} from \"../../../common/pagination/models/page-sizes\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport BackupIcon from '@material-ui/icons/Backup';\nimport GetAppIcon from '@material-ui/icons/GetApp';\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 0,\n padding: theme.spacing(2),\n boxShadow: '0px 2px 13px rgba(168, 173, 198, 0.25)',\n borderRadius: '2px 2px 0px 0px',\n },\n title: {\n color: colors.systemBlack,\n textTransform: 'none',\n },\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n }\n );\n\nexport interface DialogTitleProps extends WithStyles<typeof styles> {\n id: string;\n children: React.ReactNode;\n onClose?: () => void;\n}\n\nexport const DialogTitle = withStyles(styles)((props: DialogTitleProps) => {\n const { children, classes, onClose, ...other } = props;\n\n return (\n <MuiDialogTitle disableTypography className={classes.root} {...other}>\n <Typography variant=\"h6\" className={classes.title}>{children}</Typography>\n {\n onClose &&\n <IconButton aria-label=\"close\" className={classes.closeButton} onClick={onClose}>\n <CloseIcon />\n </IconButton>\n }\n </MuiDialogTitle>\n );\n});\n\ninterface PricingDialogComponentProps {\n handleNewPricing: (labProvider: AddOnProvider) => void;\n handleModifyLabPricing: (addOnItem: AddOnModel, key: string) => void;\n handleUpdatePricingByDocument: (labProvider: AddOnProvider) => void;\n}\n\nexport const PricingDialogComponent: React.FC<PricingDialogComponentProps> = (props: PricingDialogComponentProps) => {\n const { handleNewPricing, handleModifyLabPricing, handleUpdatePricingByDocument } = props;\n const classes = useStyles();\n\n const [\n {\n isOpen,\n isLoading,\n search,\n provider,\n filteredItems,\n selectedItems,\n totalPrice,\n totalCount,\n selectedPage,\n pageSize,\n menuAnchorEl\n },\n columns,\n handleOnFilter,\n handleClose,\n handleChanges,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleMenu,\n handleAddNewLab,\n handleEdit,\n handleDelete,\n handleExportDocument,\n handleUploadDocument\n ] = useFacade(handleNewPricing, handleModifyLabPricing, handleUpdatePricingByDocument);\n\n const controlIcon = <CheckBoxOutlineBlankIcon />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />;\n\n const renderTable = () => {\n\n if (!filteredItems || !filteredItems.length) {\n return <CommonPlaceHolder message='No data found.' />\n }\n\n return (\n <>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={index} align={item.alignment}>\n {item.title}\n </WildHealthTableCell>\n )\n }\n <ProtectedElement\n element={\n <WildHealthTableCell align=\"right\">\n Actions\n </WildHealthTableCell>}\n permissions={[PermissionType.ManageLabPricing]}\n />\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n filteredItems.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell width=\"5%\" align=\"center\">\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={selectedItems.map(x => x.id).includes(item.id)}\n onChange={() => handleChanges(item.id)}\n />\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.integrationId}\n </WildHealthTableCell>\n <WildHealthTableCell width=\"50%\" align=\"left\">\n {item.description}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"right\">\n ${item.price}\n </WildHealthTableCell>\n <ProtectedElement\n element={\n <WildHealthTableCell width=\"10%\" align=\"right\">\n <IconButton id=\"pricing-more-menu\" onClick={(e) => handleToggleMenu(item.id, e.currentTarget)} className={classes.menuIcon}>\n <MoreHorizIcon />\n </IconButton>\n </WildHealthTableCell>\n }\n permissions={[PermissionType.ManageLabPricing]}\n />\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n \n <Box py={1} px={2}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={pageSize}\n selectedPage={selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange}\n />\n </Box>\n </>\n )\n }\n\n const renderContent = () => {\n if (isLoading) {\n return <WildHealthLinearProgress/>\n }\n\n return (\n <>\n <Box className={classes.headerBox}>\n <Box m={2} className={classes.searchBox}>\n <SearchTextField\n fullWidth\n variant=\"outlined\"\n className={classes.search}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) => handleOnFilter(e.target.value)}\n placeholder='Search by Test Code or Test Name'\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: <SearchIcon className={classes.icon} />,\n }}\n value={search}\n />\n </Box>\n <ProtectedElement\n element={\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <UploadButton\n id=\"export-excel-document-button\"\n onClick={handleExportDocument}\n >\n <GetAppIcon className={classes.dropIcon} />\n </UploadButton>\n </Box>\n <Box mx={2}>\n <UploadButton\n id=\"upload-excel-document-button\"\n onClick={handleUploadDocument}\n >\n <BackupIcon className={classes.dropIcon} />\n </UploadButton>\n </Box>\n <WildHealthButton\n id=\"add-lab-pricing\"\n onClick={handleAddNewLab}\n >\n <Box px={1}>\n Add New Lab\n </Box>\n </WildHealthButton>\n </Box>\n }\n permissions={[PermissionType.ManageLabPricing]}\n />\n </Box>\n\n {renderTable()}\n </>\n )\n }\n\n const tooltipContent = (\n <p className={classes.notificationToolTipText}>\n Blood Group Test, Blood Sugar Test, Sodium Test, CD4 Test, Glibulin Test, Alberts Stain, Urine Routine.\n </p>\n )\n\n return (\n <Dialog\n scroll='paper'\n fullWidth\n maxWidth='md'\n open={isOpen}\n onClose={handleClose}\n aria-labelledby=\"scroll-dialog-title\"\n aria-describedby=\"scroll-dialog-description\"\n >\n <DialogTitle id=\"dialog-title\" onClose={handleClose}>{`${AddOnProvider[provider]} Pricing`}</DialogTitle>\n\n <DialogContent>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </DialogContent>\n {totalPrice > 0 && (\n <Box className={classes.totalPriceContent}>\n <Box className={classes.tooltipContent}>\n <span className={classes.selectedText}>{selectedItems.length} labs selected</span>\n <Tooltip title={tooltipContent} placement=\"top-start\" arrow classes={{ tooltip: classes.customWidth, arrow: classes.arrow }}>\n <span className={classes.notificationIcon}>\n <NotificationIcon />\n </span>\n </Tooltip>\n </Box>\n <Box className={classes.totalPriceText}>\n <span className={classes.totalContext}>Total:</span>\n <span>{displayMoney(totalPrice, '$')}</span>\n </Box>\n </Box>\n )}\n \n <Popover\n keepMounted\n anchorEl={menuAnchorEl}\n open={Boolean(menuAnchorEl)}\n onClose={() => handleToggleMenu(0)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n <WildHealthMenuItem id=\"lab-pricing-edit\" onClick={handleEdit}>Edit</WildHealthMenuItem>\n <WildHealthMenuItem id=\"lab-pricing-delete\" onClick={handleDelete}>Delete</WildHealthMenuItem>\n </Popover>\n </Dialog>\n );\n}\n","import {\n notWhitespaceValidationRule,\n stringLengthValidationRule,\n requiredValidationRule,\n notNegativeValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const addNewLabPricingComponentValidator = new GeneralValidator({\n 'integrationId': [requiredValidationRule(), stringLengthValidationRule(0, 100), notWhitespaceValidationRule()],\n 'name': [requiredValidationRule(), notWhitespaceValidationRule()],\n 'price': [notNegativeValidationRule(), requiredValidationRule()],\n});\n","import { useState, useEffect } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { addNewLabPricingComponentValidator } from \"./addNewLabPricingComponent.validator\";\nimport { CreateAddOnModel, AddOnProvider } from \"../../../addons/models/addOns.models\";\nimport { OrderType } from \"../../models/orders.models\";\nimport { pricingService } from \"../../services/pricing.service\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\n\ninterface AddNewLabPricingComponentState extends IErrorState {\n isLoading: boolean;\n isOpen: boolean;\n addOn: CreateAddOnModel;\n}\n\nconst initModel: CreateAddOnModel = {\n integrationId: '',\n name: '',\n price: 0,\n orderType: OrderType.Lab,\n provider: AddOnProvider.ImageMark\n};\n\n\nexport function useFacade(handleGoBack: Function): [\n AddNewLabPricingComponentState,\n (field: string, value: any) => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: false,\n isOpen: false,\n addOn: Object.assign({}, initModel),\n errors: {}\n } as AddNewLabPricingComponentState);\n\n const handleChanges = (field: string, value: any) => {\n addNewLabPricingComponentValidator.validateAndSetState(state, setState, field, value);\n\n const addOn = state.addOn;\n\n addOn[field] = value;\n\n setState({\n ...state,\n addOn: addOn\n });\n }\n\n const handleCreate = () => {\n addNewLabPricingComponentValidator.validateObjectAndSetState(state, setState, state.addOn);\n if (!addNewLabPricingComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n addOnsService.createAddOn(state.addOn).subscribe(() => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n isLoading: false,\n addOn: Object.assign({}, initModel)\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n })\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n addOn: Object.assign({}, initModel)\n }));\n }\n\n const handleBack = () => {\n handleGoBack(state.addOn.provider);\n handleClose();\n }\n\n useEffect(() => {\n const subscription = pricingService.onNew.subscribe((model) => {\n const [\n provider,\n ] = model.data;\n\n setState(state => ({\n ...state,\n isOpen: true,\n addOn: {\n ...state.addOn,\n provider\n }\n }));\n });\n\n return () => subscription.unsubscribe();\n }, [])\n\n return [\n state,\n handleChanges,\n handleCreate,\n handleClose,\n handleBack\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialogContent: {\n padding: '30px 40px',\n width: 540,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n }),\n);\n","import { Box, Dialog, DialogContent, IconButton, TextField, Button } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from './addNewLabPricingComponent.hooks';\nimport { useStyles } from './addNewLabPricingComponent.styles';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { ChevronLeft } from '@material-ui/icons';\nimport { AddOnProvider } from '../../../addons/models/addOns.models';\n\ninterface AddNewLabPricingDialogComponentProps {\n handleGoBack: (labProvider: AddOnProvider) => void;\n}\n\nexport const AddNewLabPricingDialogComponent: React.FC<AddNewLabPricingDialogComponentProps> = (props: AddNewLabPricingDialogComponentProps) => {\n const [\n {\n isOpen,\n isLoading,\n errors,\n addOn,\n },\n handleChanges,\n handleCreate,\n handleClose,\n handleBack\n ] = useFacade(props.handleGoBack);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n return (\n <Dialog\n onClose={() => handleClose()}\n className={classes.root}\n open={isOpen}\n >\n <DialogContent className={classes.dialogContent}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <span className={clsx(commonClasses.size24, commonClasses.textMedium)}>Add New Lab</span>\n </Box>\n <Box display=\"flex \" alignItems=\"center\">\n <IconButton\n id=\"add-new-addOn-close\"\n className={classes.dialogTitleCloseAction}\n onClick={() => handleClose()}\n >\n <CloseIcon />\n </IconButton>\n </Box>\n </Box>\n <Box mt={5}>\n <Box className={commonClasses.inputLabel} mb={1}>Test Code</Box>\n <TextField\n id={`integrationId`}\n type=\"text\"\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={addOn.integrationId}\n error={!!errors['integrationId']}\n helperText={errors['integrationId']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Test Name</Box>\n <TextField\n id={`name`}\n type=\"text\"\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={addOn.name}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Price</Box>\n <TextField\n id={`price`}\n type=\"number\"\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={addOn.price}\n error={!!errors['price']}\n helperText={errors['price']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={5} display=\"flex\" alignItems=\"center\">\n <Box>\n <Button\n id=\"previous-step-button\"\n onClick={handleBack}\n className={commonClasses.backBtn}\n >\n <Box display=\"flex\" alignItems=\"center\">\n <ChevronLeft />\n <Box ml={0.5} className={clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack)}>\n Previous Step\n </Box>\n </Box>\n </Button>\n </Box>\n <Box flex={1} display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" >\n <Box mx={2}>\n <WildHealthButton\n id=\"new-addon-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n size='medium'\n disabled={isLoading}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"add-new-addon\"\n size='medium'\n onClick={handleCreate}\n autoFocus\n loading={isLoading}\n >\n Add New Lab\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n </DialogContent>\n </Dialog>\n );\n}\n","import { useState, useEffect } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { addNewLabPricingComponentValidator } from \"../addNewLabPricingComponent/addNewLabPricingComponent.validator\";\nimport { AddOnProvider, UpdateAddOnModel } from \"../../../addons/models/addOns.models\";\nimport { OrderType } from \"../../models/orders.models\";\nimport { pricingService } from \"../../services/pricing.service\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\n\ninterface UpdateLabPricingComponentState extends IErrorState {\n isLoading: boolean;\n isOpen: boolean;\n addOn: UpdateAddOnModel;\n}\n\nconst initModel: UpdateAddOnModel = {\n id: 0,\n alternativeOffer: null,\n integrationId: '',\n name: '',\n description: '',\n instructions: '',\n price: 0,\n orderType: OrderType.Lab,\n provider: AddOnProvider.ImageMark,\n alternativeAddon: null\n};\n\n\nexport function useFacade(handleGoBack: Function): [\n UpdateLabPricingComponentState,\n (field: string, value: any) => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: false,\n isOpen: false,\n addOn: Object.assign({}, initModel),\n errors: {}\n } as UpdateLabPricingComponentState);\n\n const handleChanges = (field: string, value: any) => {\n addNewLabPricingComponentValidator.validateAndSetState(state, setState, field, value);\n\n const addOn = state.addOn;\n\n addOn[field] = value;\n\n setState({\n ...state,\n addOn: addOn\n });\n }\n\n const handleUpdate = () => {\n addNewLabPricingComponentValidator.validateObjectAndSetState(state, setState, state.addOn);\n if (!addNewLabPricingComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n addOnsService.updateAddOn(state.addOn).subscribe(() => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n isLoading: false,\n addOn: Object.assign({}, initModel)\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n })\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n addOn: Object.assign({}, initModel)\n }));\n }\n\n const handleBack = () => {\n handleGoBack(state.addOn.provider);\n handleClose();\n }\n\n useEffect(() => {\n const subscription = pricingService.onUpdate.subscribe((model) => {\n const [\n addOn,\n ] = model.data;\n\n setState(state => ({\n ...state,\n isOpen: true,\n addOn\n }));\n });\n\n return () => subscription.unsubscribe();\n }, [])\n\n return [\n state,\n handleChanges,\n handleUpdate,\n handleClose,\n handleBack\n ];\n}","import { Box, Dialog, DialogContent, IconButton, TextField, Button } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from './updateLabPricingComponent.hooks';\nimport { useStyles } from '../addNewLabPricingComponent/addNewLabPricingComponent.styles';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { ChevronLeft } from '@material-ui/icons';\nimport { AddOnProvider } from '../../../addons/models/addOns.models';\n\ninterface UpdateLabPricingDialogComponentProps {\n handleGoBack: (labProvider: AddOnProvider) => void;\n}\n\nexport const UpdateLabPricingDialogComponent: React.FC<UpdateLabPricingDialogComponentProps> = (props: UpdateLabPricingDialogComponentProps) => {\n const [\n {\n isOpen,\n isLoading,\n errors,\n addOn,\n },\n handleChanges,\n handleUpdate,\n handleClose,\n handleBack\n ] = useFacade(props.handleGoBack);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n return (\n <Dialog\n onClose={() => handleClose()}\n className={classes.root}\n open={isOpen}\n >\n <DialogContent className={classes.dialogContent}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <span className={clsx(commonClasses.size24, commonClasses.textMedium)}>Edit Lab</span>\n </Box>\n <Box display=\"flex \" alignItems=\"center\">\n <IconButton\n id=\"add-fellow-close\"\n className={classes.dialogTitleCloseAction}\n onClick={() => handleClose()}\n >\n <CloseIcon />\n </IconButton>\n </Box>\n </Box>\n <Box mt={5}>\n <Box className={commonClasses.inputLabel} mb={1}>Test Code</Box>\n <TextField\n id={`integrationId`}\n type=\"text\"\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={addOn.integrationId}\n error={!!errors['integrationId']}\n helperText={errors['integrationId']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Test Name</Box>\n <TextField\n id={`name`}\n type=\"text\"\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={addOn.name}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Price</Box>\n <TextField\n id={`price`}\n type=\"number\"\n fullWidth\n required\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n value={addOn.price}\n error={!!errors['price']}\n helperText={errors['price']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={2}>\n <Box className={commonClasses.inputLabel} mb={1}>Instructions</Box>\n <TextField\n id={`instructions`}\n type=\"text\"\n fullWidth\n size=\"small\"\n InputProps={{ className: 'input', classes }}\n variant=\"outlined\"\n multiline\n minRows={2}\n value={addOn.instructions}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n <Box mt={5} display=\"flex\" alignItems=\"center\">\n <Box>\n <Button\n id=\"previous-step-button\"\n onClick={handleBack}\n className={commonClasses.backBtn}\n >\n <Box display=\"flex\" alignItems=\"center\">\n <ChevronLeft />\n <Box ml={0.5} className={clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack)}>\n Previous Step\n </Box>\n </Box>\n </Button>\n </Box>\n <Box flex={1} display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" >\n <Box mx={2}>\n <WildHealthButton\n id=\"update-addon-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n size='medium'\n disabled={isLoading}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"update-addon-button\"\n size='medium'\n onClick={handleUpdate}\n autoFocus\n loading={isLoading}\n >\n Save Changes\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n </DialogContent>\n </Dialog>\n );\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogContent: {\n padding: '30px 40px',\n width: 540,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n dropContainer: {\n height: 60,\n width: '100%',\n border: `1px dashed ${colors.gray4}`,\n background: colors.gray8,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dropIcon: {\n color: `${colors.gray2}66`,\n fontSize: 40,\n marginRight: 8,\n },\n dropTitle: {\n color: colors.gray1,\n fontSize: 16,\n paddingRight: 2,\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.gray8,\n display: 'flex',\n alignItems: 'center',\n maxWidth: 500,\n height: 32,\n },\n attachmentIcon: {\n color: colors.gray2,\n },\n attachmentTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n\n label: {\n textTransform: `none`,\n color: colors.gray2,\n fontSize: 16,\n textDecoration: 'underline',\n },\n progress: {\n color: colors.main\n },\n deleteIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n })\n);\n","import React from 'react';\nimport { Box, IconButton, Button, Tooltip, TextField } from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { useFacade } from \"./uploadExcelFileDialog.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport Dropzone from 'react-dropzone';\nimport { useStyles } from \"./uploadExcelFileDialogComponent.styles\";\nimport clsx from 'clsx';\nimport { Delete } from '@material-ui/icons';\nimport CloseIcon from '@material-ui/icons/Close';\nimport EditIcon from '@material-ui/icons/Edit';\nimport BackupIcon from '@material-ui/icons/Backup';\n\nexport const UploadExcelFileDialogComponent: React.FC = () => {\n const [\n {\n isOpen,\n toSendAttachments,\n editIndex,\n },\n handleFileUpload,\n handleSubmit,\n handleClose,\n handleDropAttachment,\n handleRemoveAttachment,\n handleEditAttachment,\n handleSaveAttachment,\n handleChanges,\n getAllowedExtensions,\n ] = useFacade();\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const fileTypes = [\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n ]\n\n const getFileSize = (size: number) => {\n if (size < 1024) {\n return size + ' bytes';\n } else if (size > 1024 && size < 1048576) {\n return (size / 1024).toFixed(1) + ' KB';\n } else if (size > 1048576) {\n return (size / 1048576).toFixed(1) + ' MB';\n }\n }\n\n const renderTitle = (item, index) => {\n\n return editIndex === index\n ?\n <TextField\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={item.name}\n InputProps={{\n className: 'input',\n endAdornment: (\n <Tooltip title=\"Save\" placement=\"top\" arrow>\n <IconButton\n id={`input-${index}`}\n size=\"small\"\n onClick={() => { handleSaveAttachment(index) }}\n >\n <EditIcon color=\"primary\" fontSize='small' />\n </IconButton>\n </Tooltip>\n ),\n }}\n onChange={(v) => handleChanges(index, v.target.value)}\n />\n : <Box key={index} className={classes.attachment} mb={1} px={1}>\n <Box mr={1} className={classes.attachmentTitle} ml={1}>{item.name}</Box>\n <Tooltip title=\"Edit\" placement=\"top\" arrow>\n <IconButton\n id={`input-${index}`}\n size=\"small\"\n onClick={() => { handleEditAttachment(index) }}\n >\n <EditIcon color=\"primary\" fontSize='small' />\n </IconButton>\n </Tooltip>\n </Box>\n }\n\n return (\n <>\n <Dialog maxWidth=\"md\" open={isOpen} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogContent className={classes.dialogContent}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n <Box>\n <span className={clsx(commonClasses.size24, commonClasses.textMedium)}>Upload Document</span>\n </Box>\n <Box display=\"flex \" alignItems=\"center\">\n <IconButton\n id=\"upload-document-close\"\n className={classes.dialogTitleCloseAction}\n onClick={() => handleClose()}\n >\n <CloseIcon />\n </IconButton>\n </Box>\n </Box>\n <Box display=\"flex\" mt={5} mb={2}>\n <Dropzone\n onDrop={handleDropAttachment}\n maxFiles={1}\n accept={fileTypes}\n >\n {\n ({ getRootProps }) => {\n const rootProps = getRootProps();\n delete rootProps['onClick']\n\n return (\n <div {...rootProps} className={classes.dropContainer}>\n <BackupIcon className={classes.dropIcon} />\n <span className={classes.dropTitle}>Drag and Drop your file or </span>\n <span className={classes.dropTitle}>\n <Button className={classes.label} component=\"label\">\n Browse\n <input type=\"file\" style={{ display: \"none\" }}\n onChange={(e) => handleFileUpload(e)}\n accept={getAllowedExtensions()}\n />\n </Button>\n\n </span>\n </div>)\n }\n }\n </Dropzone>\n\n </Box>\n {\n toSendAttachments && toSendAttachments.length ?\n toSendAttachments.map((item, index) =>\n <Box mt={1} display='flex' justifyContent='space-between'>\n {renderTitle(item, index)}\n\n <Box mt={1} display='flex'>\n <span className={commonClasses.colorGray2}>{getFileSize(item.file.size)}</span>\n <span className={classes.deleteIcon}><Delete onClick={() => handleRemoveAttachment(index)} /></span>\n </Box>\n </Box>\n ) : <></>\n }\n </DialogContent>\n <DialogActions>\n <Box mb={4}>\n <WildHealthButton\n id=\"upload-excel-file-cancel\"\n color=\"tertiary\"\n size='medium'\n onClick={() => handleClose()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box pr={2} mb={4}>\n <WildHealthButton\n id=\"upload-excel-file\"\n size='medium'\n onClick={() => handleSubmit()}\n disabled={!toSendAttachments.length || Number.isInteger(editIndex)}\n >\n Upload\n </WildHealthButton>\n </Box>\n </DialogActions>\n </Dialog>\n </>\n )\n}","import { useState } from 'react';\nimport { DropEvent, FileRejection } from 'react-dropzone';\nimport { snackService } from '../../../common/snack/state';\nimport { DocumentsToSendModel } from '../../../documents/models/documents.models';\nimport { addOnsService } from '../../../addons/services/addOns.service';\n\nexport interface UploadInputsDialogState {\n isOpen: boolean;\n editIndex: number,\n isLoading: boolean;\n handleUpload: Function;\n toSendAttachments: DocumentsToSendModel[];\n}\n\nexport function useFacade(): [\n UploadInputsDialogState,\n Function,\n Function,\n Function,\n (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => void,\n (index: number) => void,\n (index: number) => void,\n (index: number) => void,\n (index: number, value: string) => void,\n Function,\n] {\n const [state, setState] = useState({\n isOpen: false,\n isLoading: false,\n toSendAttachments: [],\n } as UploadInputsDialogState);\n\n\n const setDefaultState = () => {\n setState({\n ...state,\n editIndex: null,\n isOpen: false,\n isLoading: false,\n handleUpload: null,\n toSendAttachments: []\n });\n }\n\n const getAllowedExtensions = (): string => {\n return \".xlsx\";\n }\n\n const removeTypeFromName = (name: string) => {\n const indexPoint = name.lastIndexOf('.')\n return name.slice(0, indexPoint)\n }\n\n const getType = (name: string) => {\n const indexOfSlesh = name.lastIndexOf('.')\n return name.slice(indexOfSlesh + 1)\n }\n\n const handleEditAttachment = (index: number) => {\n if (Number.isInteger(state.editIndex)) {\n handleSaveAttachment(state.editIndex)\n } else {\n const files = state.toSendAttachments;\n const fileToCange = files[index];\n fileToCange.name = removeTypeFromName(fileToCange.name)\n\n setState({ ...state, toSendAttachments: [...files], editIndex: index });\n }\n\n }\n\n const handleSaveAttachment = (index: number) => {\n const files = state.toSendAttachments;\n const fileToSave = files[index];\n fileToSave.name = `${fileToSave.name}.${getType(fileToSave.file.name)}`\n\n setState({ ...state, toSendAttachments: [...files], editIndex: null });\n }\n\n const handleChanges = (index: number, value: string) => {\n const files = state.toSendAttachments;\n const fileToCange = files[index];\n fileToCange.name = value\n\n setState({ ...state, toSendAttachments: [...files] });\n }\n\n const handleFileUpload = (event) => {\n event.preventDefault();\n const file = event.target.files[0];\n\n if (!getAllowedExtensions().includes(getType(file.name))) {\n snackService.error(\"This file types is not allowed.\")\n return\n }\n\n setState(state => ({\n ...state,\n toSendAttachments: [\n {\n file: file,\n name: file.name,\n }\n ]\n }));\n\n event.target.value = '';\n }\n\n const handleDropAttachment = (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => {\n\n //The only dropped file might be rejected, so we should check this first.\n\n if (fileRejections && fileRejections.length) {\n snackService.error(`This file type is not allowed. The file must be one of: ${getAllowedExtensions().replaceAll(',', ', ')}`)\n }\n\n\n if (acceptedFiles && acceptedFiles.length) {\n setState(state => ({\n ...state,\n toSendAttachments: [\n {\n file: acceptedFiles[0],\n name: acceptedFiles[0].name,\n }\n ]\n }));\n }\n }\n\n const handleRemoveAttachment = (index: number) => {\n setState(state => ({\n ...state,\n toSendAttachments: state.toSendAttachments.filter((i, itemIndex) => index !== itemIndex),\n editIndex: null\n }));\n }\n\n const handleSubmit = () => {\n setState({ ...state, isLoading: true });\n\n if (state.toSendAttachments.length > 0) {\n state.handleUpload(state.toSendAttachments);\n\n setState(state => ({\n ...state,\n toSendAttachments: [],\n isLoading: false,\n isOpen: false\n }));\n }\n setDefaultState();\n }\n\n const handleClose = () => {\n state.handleUpload(null, null);\n setDefaultState();\n }\n\n addOnsService.onUpload.subscribe((callbackModel) => {\n setState({\n ...state,\n isOpen: true,\n handleUpload: callbackModel.callback,\n });\n })\n\n return [\n state, \n handleFileUpload, \n handleSubmit, \n handleClose, \n handleDropAttachment,\n handleRemoveAttachment, \n handleEditAttachment, \n handleSaveAttachment,\n handleChanges, \n getAllowedExtensions];\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { AddOnProvider, AddOnModel } from \"../../../addons/models/addOns.models\";\nimport { labOrdersService } from \"../../services/labOrders.service\";\nimport { pricingService } from \"../../services/pricing.service\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\n\ninterface LabOrderIFrameComponentState {\n isLoading: boolean;\n iframeUrl: string;\n}\n\nconst defaultState: LabOrderIFrameComponentState = {\n isLoading: true,\n iframeUrl: '',\n}\n\nexport function useFacade(patientId: number, gender: Gender): [LabOrderIFrameComponentState, (labProvider: AddOnProvider) => void, (labProvider: AddOnProvider) => void, (addOnItem: AddOnModel, key: string) => void, (labProvider: AddOnProvider) => void] {\n const [state, setState] = useState(defaultState);\n\n const handleViewPricing = (labProvider: AddOnProvider) => {\n pricingService.open(labProvider, gender).subscribe();\n }\n\n const handleAddNewAddOn = (labProvider: AddOnProvider) => {\n pricingService.openNew(labProvider).subscribe();\n }\n\n const handleModifyAddOn = (addOnItem: AddOnModel, key: string) => {\n if (key === 'delete') {\n confirmService.confirm(\n 'Delete Lab',\n 'Are you sure you want to delete the lab from the list?',\n 'Yes',\n 'No',\n 'danger')\n .subscribe(() => {\n addOnsService.deleteAddOn(addOnItem.id);\n });\n } else {\n pricingService.openUpdate(addOnItem).subscribe();\n }\n }\n\n const handleUploadAddOnsDocument = (labProvider: AddOnProvider) => {\n addOnsService.upload(labProvider).subscribe();\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [];\n\n const cb = (iframeUrl: string) => setState(state => ({...state, isLoading: false, iframeUrl}));\n labOrdersService.getOrdersIFrame(patientId).subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleViewPricing, handleAddNewAddOn, handleModifyAddOn, handleUploadAddOnsDocument];\n}","import { Button } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: '20px 30px',\n },\n },\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 16,\n color: colors.gray1,\n },\n divider: {\n height: 1,\n background: colors.separators,\n },\n })\n);\n\nexport const PricingButton = withStyles((theme: Theme) => ({\n root: {\n textTransform: 'none',\n color: colors.main,\n backgroundColor: 'rgba(31, 114, 162, 0.08)',\n borderRadius: 2,\n '&:hover': {\n backgroundColor: 'rgba(31, 114, 162, 0.04)',\n },\n '&:disabled': {\n color: `${colors.main}, 50%`,\n backgroundColor: 'rgba(31, 114, 162, 0.02)',\n },\n },\n}))(Button);\n","import { Box, Divider } from '@material-ui/core';\nimport React, { useEffect } from 'react';\nimport { AddOnProvider } from '../../../addons/models/addOns.models';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { PricingDialogComponent } from '../pricingDialogComponent/PricingDialogComponent';\nimport { AddNewLabPricingDialogComponent } from \"../addNewLabPricingComponent/AddNewLabPricingComponent\";\nimport { UpdateLabPricingDialogComponent } from \"../updateLabPricingComponent/UpdateLabPricingComponent\";\nimport { UploadExcelFileDialogComponent } from \"../uploadDocumentDialogComponent/UploadExcelFileDialogComponent\";\nimport { useFacade } from './labOrderIFrameComponent.hooks';\nimport { useStyles, PricingButton } from './labOrderIFrameComponent.styles';\nimport { Gender } from \"../../../common/models/user.models\";\n\ninterface LabOrderIFrameComponentProps {\n patientId: number;\n gender: Gender;\n}\n\nexport const LabOrderIFrameComponent: React.FC<LabOrderIFrameComponentProps> = (props: LabOrderIFrameComponentProps) => {\n const { patientId, gender } = props;\n\n const classes = useStyles();\n\n const [\n {\n isLoading,\n iframeUrl,\n },\n handleViewPricing,\n handleAddNewAddOn,\n handleModifyAddOn,\n handleUploadAddOnsDocument\n ] = useFacade(patientId, gender);\n\n useEffect(() => {\n if (iframeUrl) {\n const newTab = window.open(iframeUrl, \"_blank\", \"noopener,noreferrer\");\n if (newTab) {\n newTab.focus();\n }\n }\n }, [iframeUrl]);\n\n return (\n <Box width='100%'>\n <Box className={classes.root}>\n <Box className={classes.title}>\n Pricing Lookup\n </Box>\n\n <Box mt={2} display='flex'>\n <Box mr='10px'>\n <PricingButton id=\"lab-orders-frame-lab-corp\" size='small' onClick={() => handleViewPricing(AddOnProvider.LabCorp)}>\n LabCorp\n </PricingButton>\n </Box>\n\n <Box mr='10px'>\n <PricingButton id=\"lab-orders-frame-quest\" size='small' onClick={() => handleViewPricing(AddOnProvider.Quest)}>\n Quest\n </PricingButton>\n </Box>\n\n <Box>\n <PricingButton id=\"lab-orders-frame-boston\" size='small' onClick={() => handleViewPricing(AddOnProvider.Boston)}>\n Boston\n </PricingButton>\n </Box>\n </Box>\n </Box>\n\n <Divider className={classes.divider} />\n\n <Box className={classes.root}>\n {isLoading ? (\n <WildHealthLinearProgress />\n ) : (\n <Box>\n <p>The lab order link has been opened in a new tab.</p>\n </Box>\n )}\n </Box>\n\n <PricingDialogComponent handleNewPricing={handleAddNewAddOn} handleModifyLabPricing={handleModifyAddOn} handleUpdatePricingByDocument={handleUploadAddOnsDocument} />\n <AddNewLabPricingDialogComponent handleGoBack={(provider) => handleViewPricing(provider)} />\n <UpdateLabPricingDialogComponent handleGoBack={(provider) => handleViewPricing(provider)} />\n <UploadExcelFileDialogComponent />\n </Box>\n );\n}\n","import React from 'react';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { WildHealthHeaderComponent } from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport { LabOrderIFrameComponent } from '../labOrderIFrameComponent/LabOrderIFrameComponent';\nimport {Gender} from \"../../../common/models/user.models\";\n\ninterface NewLabsOrderComponentProps {\n patientId: number;\n gender: Gender;\n handleNavigateToOrders: () => void;\n}\n\nexport const NewLabsOrderComponent: React.FC<NewLabsOrderComponentProps> = (props: NewLabsOrderComponentProps) => {\n const { patientId, gender, handleNavigateToOrders } = props;\n\n const title = (\n <BackTitleComponent\n title='New Order'\n actionSize='small'\n action={handleNavigateToOrders}\n />\n )\n\n return (\n <WildHealthHeaderComponent title={title}>\n <LabOrderIFrameComponent patientId={patientId} gender={gender} />\n </WildHealthHeaderComponent>\n );\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: 'fit-content',\n [theme.breakpoints.up('lg')]: {\n width: 730,\n },\n },\n divider: {\n backgroundColor: colors.separators,\n height: 1,\n },\n invoice: {\n border: `1px solid ${colors.stroke}`,\n boxSizing: 'border-box',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n borderRadius: 2,\n },\n total: {\n fontFamily: 'Poppins',\n fontWeight: 600,\n fontSize: 24,\n padding: 10,\n },\n })\n);\n","import { Box, Button, Divider, Grid, Table, TableBody, TableContainer, TableHead, CircularProgress, useTheme, useMediaQuery } from '@material-ui/core';\nimport ArrowBackIosIcon from '@material-ui/icons/ArrowBackIos';\nimport React from 'react';\nimport { addOnProvidersNames } from '../../../addons/models/addOns.models';\nimport { OptionalComponent } from '../../../common/components/OptionalComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { displayMoney } from '../../../common/helpers/display-money';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useFacade } from './labOrderPlacedComponent.hooks';\nimport { useStyles } from './labOrderPlacedComponent.styles';\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\n\ninterface LabOrderPlacedComponentProps {\n patientId: number;\n orderId: number;\n handleNavigateToOrders: () => void;\n handleNavigateToInvoice: (orderId: number) => void;\n}\n\nexport const LabOrderPlacedComponent: React.FC<LabOrderPlacedComponentProps> = (props: LabOrderPlacedComponentProps) => {\n const { patientId, orderId, handleNavigateToOrders, handleNavigateToInvoice } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n isLoading,\n order,\n total,\n isPaying,\n },\n columns,\n handleProcessCharge,\n ] = useFacade(patientId, orderId, handleNavigateToOrders);\n\n const renderTable = () => {\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={index} align={item.alignment}>\n {item.title}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n order.items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell align=\"left\">\n {item.sku}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.description}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"right\">\n {displayMoney(item.price, '$')}\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const renderContent = () => {\n\n if (isLoading) {\n return <WildHealthLinearProgress />;\n }\n\n return (\n <Box px={isSmallScreen && 2}>\n <Grid\n container\n direction=\"column\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Box mt={3} m={1}>\n <h2>Your order has been successfully placed!</h2>\n </Box>\n <Box m={1} mb={3} className={commonClasses.colorGray1}>\n The lab requisition was sent to the patient via their email. Please proceed to process the invoice.\n </Box>\n\n <Box className={classes.root}>\n <Box className={classes.invoice}>\n <Box display='flex' justifyContent='space-between'>\n <Box m={2} className={commonClasses.textMedium}>Lab Order Summary</Box>\n <Box m={2}>{addOnProvidersNames.get(order.provider)}</Box>\n </Box>\n\n <Divider className={classes.divider} />\n\n {renderTable()}\n\n <Box className={classes.total} display='flex' justifyContent='flex-end'>\n <Box pr={3}>Total</Box>\n <span>{displayMoney(total, '$')}</span>\n </Box>\n </Box>\n\n <Box display='flex' justifyContent='space-between' alignItems='center' my={2}>\n <Box>\n <Button id=\"lab-orders-placed-go-back\" onClick={() => handleNavigateToOrders()}>\n <Box display='flex' alignItems='center'>\n <ArrowBackIosIcon />\n <Box ml={1}>Back</Box>\n </Box>\n </Button>\n </Box>\n <Box>\n <ProtectedElement element={\n <>\n <OptionalComponent\n defaultContent={\n <WildHealthButton id=\"lab-order-placed-invoice\" onClick={() => handleNavigateToInvoice(orderId)}>\n Process Invoice\n </WildHealthButton>\n }\n >\n <WildHealthButton id=\"lab-order-placed-charge\" disabled={isPaying || order.paidAt !== null} onClick={() => handleProcessCharge(orderId)}>\n {isPaying ? (\n <>\n <CircularProgress size={24} className={commonClasses.colorMain} />\n <Box pl={2}>Processing charge...</Box>\n </>\n ) : \"Process Charge\"}\n </WildHealthButton>\n </OptionalComponent>\n </>\n } permissions={[]}\n />\n </Box>\n </Box>\n </Box>\n </Grid>\n </Box>\n )\n }\n\n return renderContent();\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { confirmService } from '../../../../services/confirm.service';\nimport { ColumnViewModel } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { LabOrderModel } from \"../../models/labOrders.models\";\nimport { labOrdersService } from \"../../services/labOrders.service\";\nimport { labOrdersQuery } from \"../../stores/labOrdersStore\";\n\ninterface LabOrderPlacedComponentState {\n isLoading: boolean;\n order: LabOrderModel;\n total: number;\n isPaying: boolean;\n}\n\nexport function useFacade(patientId: number, orderId: number, handleNavigateToOrders: () => void): [LabOrderPlacedComponentState, Array<ColumnViewModel>, (orderId: number) => void] {\n const [state, setState] = useState({\n isLoading: true,\n order: null,\n total: 0,\n isPaying: false,\n } as LabOrderPlacedComponentState);\n\n const columns: ColumnViewModel[] = [\n { title: 'Test Code', alignment: 'left' },\n { title: 'Description', alignment: 'left' },\n { title: 'Price', alignment: 'right' }\n ];\n\n const handleProcessCharge = (orderId: number) => {\n const cb = () => {\n setState(state => ({\n ...state,\n isPaying: false\n }));\n handleNavigateToOrders();\n }\n\n confirmService.confirm('Are you sure?', `This will charge the patient's payment source ${displayMoney(state.total, '$')}. Would you like to proceed?`).subscribe(\n () => {\n setState(state => ({\n ...state,\n isPaying: true\n }));\n\n labOrdersService.pay(orderId).subscribe(cb, cb)\n }\n );\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<LabOrderModel[]>(labOrdersQuery.orders$, labs => {\n if (!labs || !labs.length) {\n return;\n }\n\n const order = labs.find(i => i.id === orderId);\n if (!order) {\n return;\n }\n\n let total = 0;\n\n order.items.forEach(item => total += item.price);\n\n setState(state => ({\n ...state,\n order: order,\n total: total,\n isLoading: false,\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [orderId]);\n\n return [state, columns, handleProcessCharge];\n}","import moment from \"moment\";\nimport * as pdfMake from 'pdfmake/build/pdfmake';\nimport {Margins, PageSize} from 'pdfmake/interfaces';\nimport {logoService} from \"../../../services/logo.service\";\nimport {addOnProvidersNames} from \"../../addons/models/addOns.models\";\nimport {authQuery} from \"../../auth/stores/auth\";\nimport {displayMoney} from \"../../common/helpers/display-money\";\nimport { toCurrentTimeZone } from \"../../timezones/helpers/timezone\";\nimport {LabOrderModel} from \"../models/labOrders.models\";\n\nconst pdfMakeX = require('pdfmake/build/pdfmake.js');\nconst pdfFontsX = require('pdfmake-unicode/dist/pdfmake-unicode.js');\n\npdfMakeX.vfs = pdfFontsX.pdfMake.vfs;\n\nexport abstract class InvoicePdfService {\n protected pdfDocument = {\n pageSize: \"LETTER\" as PageSize,\n pageMargins: [60, 40, 60, 50] as Margins,\n header: null,\n footer: function (currentPage, pageCount) {\n if (currentPage === pageCount) {\n const result = {\n table: {\n widths: ['*'],\n body: []\n },\n layout: 'noBorders'\n }\n\n if (authQuery.isDefaultPractice()) {\n result.table.body.push([\n {\n text: 'p: 800.975.1562 | e: info@wildhealth.com | a: 535 Wellington Way # 330 Lexington KY 40503',\n alignment: 'center',\n style: 'footerText',\n }\n\n ]);\n }\n\n result.table.body.push([{\n text: [\n {\n text: 'Privacy Policy',\n style: 'footerText',\n link: 'https://www.wildhealth.com/privacy-policy'\n },\n {\n text: ' | ',\n style: 'footerText'\n },\n {\n text: 'Terms of Use',\n style: 'footerText',\n link: 'https://www.wildhealth.com/terms-of-use'\n },\n {\n text: ' | ',\n style: 'footerText'\n },\n {\n text: 'Copyright ' + new Date().getFullYear(),\n style: 'footerText'\n },\n\n ],\n alignment: 'center',\n style: 'footerText'\n }]);\n\n return result;\n }\n },\n content: [],\n styles: {\n invoiceTitle: {\n fontFamily: 'Roboto',\n fontWeight: 'bold',\n fontSize: 46,\n },\n invoiceSubTitle: {\n fontFamily: 'Open Sans',\n fontWeight: 600,\n fontSize: 24,\n color: '#7C8A9D',\n },\n companyTitle: {\n color: '#7C8A9D',\n fontFamily: 'Roboto',\n fontWeight: 400,\n fontSize: 14,\n },\n companySubTitle: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 16,\n },\n tableHeader: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 14,\n color: '#AFBACA',\n },\n tableValue: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 14,\n color: '##091D36',\n },\n total: {\n fontFamily: 'Open Sans',\n fontWeight: 600,\n fontSize: 24,\n padding: '10px 0px',\n },\n },\n }\n\n constructor() {\n const self = this;\n var image = new Image();\n image.src = logoService.getLogo().clarityHeader;\n image.onload = function () {\n var canvas, ctx, dataURL, base64;\n canvas = document.createElement(\"canvas\");\n ctx = canvas.getContext(\"2d\");\n canvas.width = image.width;\n canvas.height = image.height;\n ctx.drawImage(image, 0, 0);\n dataURL = canvas.toDataURL(\"image/png\");\n base64 = dataURL.replace(/^data:image\\/png;base64,/, \"\");\n\n self.pdfDocument.header = function (currentPage) {\n if (currentPage === 1)\n return [\n {\n image: `data:image/jpeg;base64,${base64}`,\n fit: [615, 100],\n }\n ]\n }\n };\n }\n\n protected clear() {\n this.pdfDocument.content = [];\n }\n}\n\ninterface TextCell {\n text: string,\n style?: string,\n margin?: number[];\n alignment?: string;\n}\n\nexport class LabInvoicePdfService extends InvoicePdfService {\n\n public downloadNotePdf(invoice: LabOrderModel, invoiceLogo: string) {\n this.buildPdfContent(invoice, invoiceLogo)\n pdfMake.createPdf(this.pdfDocument).download(`${addOnProvidersNames.get(invoice.provider)}-${moment(toCurrentTimeZone(invoice.orderedAt)).format('MM/DD/YYYY')}`);\n }\n\n public toDataURL(url, callback) {\n var xhr = new XMLHttpRequest();\n xhr.onload = function () {\n var reader = new FileReader();\n reader.onloadend = function () {\n callback(reader.result);\n }\n reader.readAsDataURL(xhr.response);\n };\n xhr.open('GET', url);\n xhr.responseType = 'blob';\n xhr.send();\n }\n\n public buildPdfContent(invoice: LabOrderModel, invoiceLogo: string) {\n this.clear();\n\n const headerBody = [\n [\n [\n {\n margin: [0, 70, 0, 0],\n text: 'Invoice',\n style: 'invoiceTitle',\n },\n {\n text: 'Lab Order Summary',\n style: 'invoiceSubTitle',\n },\n {\n table: {\n widths: ['*', '*'],\n body: [\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Invoice Date',\n style: 'companyTitle',\n },\n {\n text: moment(toCurrentTimeZone(invoice.orderedAt)).format('MM/DD/YYYY'),\n style: 'companySubTitle',\n },\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Paid Date',\n style: 'companyTitle',\n },\n {\n text: invoice.paidAt ? moment(toCurrentTimeZone(invoice.paidAt)).format('MM/DD/YYYY') : 'Not Paid yet',\n style: 'companySubTitle',\n },\n ]\n ]],\n },\n layout: 'noBorders'\n },\n ],\n [\n {\n margin: [0, 70, 0, 0],\n image: invoiceLogo,\n style: 'invoiceSubTitle',\n // height: 60,\n },\n {\n margin: [0, 10, 0, 0],\n text: 'Lab Company',\n style: 'companyTitle',\n },\n {\n text: addOnProvidersNames.get(invoice.provider),\n style: 'companySubTitle',\n },\n ],\n ],\n ];\n\n this.pdfDocument.content.push({\n table: {\n margin: [0, 30, 0, 0],\n widths: ['*', '150'],\n body: headerBody,\n },\n layout: 'noBorders'\n });\n\n const ValuesBody: Array<TextCell[]> = [[\n {\n margin: [0, 30, 0, 0],\n text: 'Test Code',\n style: 'tableHeader',\n },\n {\n margin: [0, 30, 0, 0],\n text: 'Description',\n style: 'tableHeader',\n },\n {\n margin: [0, 30, 0, 0],\n text: 'Price',\n style: 'tableHeader',\n alignment: 'right',\n }\n ]];\n\n ValuesBody.push();\n invoice.items.forEach(item => {\n\n ValuesBody.push([\n {\n text: item.sku,\n style: 'tableValue',\n },\n {\n text: item.description,\n style: 'tableValue',\n },\n {\n text: displayMoney(item.price, '$'),\n style: 'tableValue',\n alignment: 'right',\n }\n ]);\n });\n\n let total = 0;\n invoice.items.forEach(item => total += item.price);\n\n ValuesBody.push([\n {\n text: '',\n },\n {\n text: '',\n },\n {\n text: `Total: ${displayMoney(total, '$')}`,\n style: 'tableValue',\n alignment: 'right',\n }\n ]);\n\n this.pdfDocument.content.push({\n table: {\n widths: ['*', '*', 200],\n body: ValuesBody,\n headerRows: 1,\n },\n layout: 'lightHorizontalLines'\n });\n }\n}\n\n\nexport const labInvoicePdfService = new LabInvoicePdfService();\n\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: 'fit-content',\n [theme.breakpoints.up('lg')]: {\n width: 730,\n },\n },\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 20,\n },\n invoiceTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 'bold',\n fontSize: 46,\n },\n invoiceSubTitle: {\n fontFamily: 'Poppins',\n fontWeight: 600,\n fontSize: 24,\n color: '#7C8A9D',\n },\n companyTitle: {\n color: '#7C8A9D',\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n },\n companySubTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 500,\n fontSize: 16,\n },\n invoice: {\n border: '1px solid #EAEFF5',\n boxSizing: 'border-box',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n borderRadius: 2,\n\n padding: 10,\n [theme.breakpoints.up('sm')]: {\n padding: 50,\n },\n },\n total: {\n fontFamily: 'Poppins',\n fontWeight: 600,\n fontSize: 24,\n\n padding: '10px 0px',\n [theme.breakpoints.up('sm')]: {\n padding: '50px 0px',\n },\n },\n })\n);\n","import React, { useEffect, useState } from 'react';\nimport { Subscription } from \"rxjs\";\nimport { LabOrdersComponent } from \"../labOrdersComponent/LabOrdersComponent\";\nimport { NewLabsOrderComponent } from \"../newLabsOrderComponent/NewLabsOrderComponent\";\nimport { LabOrderPlacedComponent } from \"../labOrderPlacedComponent/LabOrderPlacedComponent\";\nimport { LabOrderInvoiceComponent } from \"../labOrderInvoiceComponent/LabOrderInvoiceComponent\";\nimport {Gender} from \"../../../common/models/user.models\";\n\nenum LabStates {\n Orders,\n OrderNew,\n InvoicePlaced,\n Invoice,\n}\n\ninterface LabComponentState {\n viewState: LabStates;\n selectedOrderId: number\n}\n\nconst defaultState: LabComponentState = {\n viewState: LabStates.Orders,\n selectedOrderId: 0,\n}\n\nexport function useFacade(patientId: number, gender: Gender): [JSX.Element] {\n const [state, setState] = useState(defaultState);\n\n const handleNavigateToOrders = () => {\n setState(state => ({ ...state, ...defaultState }))\n }\n\n const handleNavigateToOrderNew = () => {\n setState(state => ({ ...state, viewState: LabStates.OrderNew }))\n }\n\n const handleNavigateToOrderInvoicePlaced = (orderId: number) => {\n setState(state => ({ ...state, viewState: LabStates.InvoicePlaced, selectedOrderId: orderId }))\n }\n\n const handleNavigateToInvoice = (orderId: number) => {\n setState(state => ({ ...state, viewState: LabStates.Invoice, selectedOrderId: orderId }))\n }\n\n const stateViews = new Map<LabStates, JSX.Element>([\n [\n LabStates.Orders,\n <LabOrdersComponent\n patientId={patientId}\n orderId={state.selectedOrderId}\n handleNavigateToOrderNew={handleNavigateToOrderNew}\n handleNavigateToInvoice={handleNavigateToOrderInvoicePlaced}\n />\n ],\n [\n LabStates.OrderNew,\n <NewLabsOrderComponent\n patientId={patientId}\n gender={gender}\n handleNavigateToOrders={handleNavigateToOrders}\n />\n ],\n [\n LabStates.InvoicePlaced,\n <LabOrderPlacedComponent\n patientId={patientId}\n orderId={state.selectedOrderId}\n handleNavigateToOrders={handleNavigateToOrders}\n handleNavigateToInvoice={handleNavigateToInvoice}\n />\n ],\n [\n LabStates.Invoice,\n <LabOrderInvoiceComponent\n patientId={patientId}\n orderId={state.selectedOrderId}\n handleNavigateToOrders={handleNavigateToOrders}\n />\n ],\n ]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [stateViews.get(state.viewState)];\n}\n","import { Box, Grid, Table, TableBody, TableContainer, TableHead } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from './labOrderInvoiceComponent.hooks';\nimport { useStyles } from './labOrderInvoiceComponent.styles';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthHeaderComponent } from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { addOnProvidersImages, addOnProvidersNames } from '../../../addons/models/addOns.models';\nimport { displayMoney } from '../../../common/helpers/display-money';\nimport moment from 'moment';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\ninterface LabOrderInvoiceComponentProps {\n patientId: number;\n orderId: number;\n handleNavigateToOrders: () => void;\n}\n\nexport const LabOrderInvoiceComponent: React.FC<LabOrderInvoiceComponentProps> = (props: LabOrderInvoiceComponentProps) => {\n const { patientId, orderId, handleNavigateToOrders } = props;\n\n const classes = useStyles();\n\n const [\n {\n isLoading,\n invoice,\n total,\n },\n columns,\n handleExportInvoice,\n ] = useFacade(patientId, orderId);\n\n const renderTable = () => {\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={index} align={item.alignment}>\n {item.title}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n invoice.items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell align=\"left\">\n {item.sku}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {item.description}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"right\">\n {displayMoney(item.price, '$')}\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const renderContent = () => {\n\n if (isLoading) {\n return <WildHealthLinearProgress/>;\n }\n\n return (\n <Grid\n container\n direction=\"column\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Box className={classes.root}>\n <Box display='flex' justifyContent='space-between' alignItems='center' my={2}>\n <Box className={classes.title}>Invoice</Box>\n <Box>\n <WildHealthButton\n id=\"lab-order-invoice-export\"\n onClick={() => handleExportInvoice()}\n >\n Export\n </WildHealthButton>\n </Box>\n </Box>\n\n <Box className={classes.invoice}>\n <Box display='flex' justifyContent='space-between'>\n <Box>\n <Box className={classes.invoiceTitle}>Invoice</Box>\n <Box className={classes.invoiceSubTitle}>Lab Order Summary</Box>\n <Box display='flex' justifyContent='space-between'>\n <Box mr={1}>\n <Box mt={4} className={classes.companyTitle}>Invoice Date</Box>\n <Box className={classes.companySubTitle}>{moment(toCurrentTimeZone(invoice.orderedAt)).format('MM/DD/YYYY')}</Box>\n </Box>\n\n <Box>\n <Box mt={4} className={classes.companyTitle}>Paid Date</Box>\n <Box className={classes.companySubTitle}>\n {\n invoice.paidAt ? moment(toCurrentTimeZone(invoice.paidAt)).format('MM/DD/YYYY') :\n 'Not Paid yet'\n }\n </Box>\n </Box>\n </Box>\n </Box>\n\n <Box>\n <Box mb={2}>\n <img src={addOnProvidersImages.get(invoice.provider)} alt=\"img\"/>\n </Box>\n\n <Box className={classes.companyTitle}>Lab Company</Box>\n <Box className={classes.companySubTitle}>{addOnProvidersNames.get(invoice.provider)}</Box>\n </Box>\n </Box>\n\n {renderTable()}\n\n <Box className={classes.total} display='flex' justifyContent='flex-end'>\n <Box pr={3}>Total</Box>\n <span>{displayMoney(total, '$')}</span>\n </Box>\n </Box>\n </Box>\n </Grid>\n )\n }\n\n const title = (\n <BackTitleComponent\n title='Order Invoice'\n actionSize='small'\n action={handleNavigateToOrders}\n />\n )\n\n return (\n <WildHealthHeaderComponent title={title}>\n {renderContent()}\n </WildHealthHeaderComponent>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { ColumnViewModel } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { LabOrderModel } from \"../../models/labOrders.models\";\nimport { labOrdersQuery } from \"../../stores/labOrdersStore\";\nimport { labInvoicePdfService } from \"../../services/invoice-pdf.service\";\nimport { addOnProvidersImages } from \"../../../addons/models/addOns.models\";\n\ninterface LabOrderInvoiceComponentState {\n isLoading: boolean;\n invoice: LabOrderModel;\n total: number;\n}\n\nexport function useFacade(patientId: number, orderId: number): [LabOrderInvoiceComponentState, Array<ColumnViewModel>, () => void] {\n const [state, setState] = useState({\n isLoading: true,\n invoice: null,\n total: 0,\n } as LabOrderInvoiceComponentState);\n\n const columns: ColumnViewModel[] = [\n { title: 'Test Code', alignment: 'left' },\n { title: 'Description', alignment: 'left' },\n { title: 'Price', alignment: 'right' }\n ];\n\n const handleExportInvoice = () => {\n labInvoicePdfService.toDataURL(addOnProvidersImages.get(state.invoice.provider), function(dataUrl) {\n labInvoicePdfService.downloadNotePdf(state.invoice, dataUrl);\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<LabOrderModel[]>(labOrdersQuery.orders$, labs => {\n if (!labs || !labs.length) {\n return;\n }\n\n const order = labs.find(i => i.id === orderId);\n if (!order) {\n return;\n }\n\n let total = 0;\n\n order.items.forEach(item => total += item.price);\n order.provider = 200;\n setState(state => ({\n ...state,\n invoice: order,\n total: total,\n isLoading: false,\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [orderId]);\n\n return [state, columns, handleExportInvoice];\n}","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from './labComponent.hooks';\nimport {Gender} from \"../../../common/models/user.models\";\n\ninterface LabComponentProps {\n patientId?: number;\n gender?: Gender;\n}\n\nexport const LabComponent: React.FC<LabComponentProps> = (props: LabComponentProps) => {\n const { patientId, gender } = props;\n\n const [\n content,\n ] = useFacade(patientId, gender);\n\n return (\n <Box>\n {content}\n </Box>\n );\n}\n","import moment from \"moment\";\nimport pdfMake from 'pdfmake/build/pdfmake';\nimport {Margins, PageSize} from 'pdfmake/interfaces';\nimport {logoService} from \"../../../services/logo.service\";\nimport {authQuery} from \"../../auth/stores/auth\";\nimport {toTimeZoneDate} from \"../../timezones/helpers/timezone\";\nimport {ReferralOrderModel} from \"../models/referralOrders.models\";\nimport {IcdCode} from \"../../notes/models/notes.models\";\nimport {OtherOrderModel} from \"../models/otherOrders.models\";\nimport {OrderStatus} from \"../models/orders.models\";\nimport {timezonesQuery} from \"../../timezones/stores/timezones\";\nimport {EmployeeShortModel} from \"../../employee/models/employee.models\";\nimport {pinyonFont} from \"../../../styles/Pinyon-Script\";\n\nconst pdfMakeX = require('pdfmake/build/pdfmake.js');\nconst pdfFontsX = require('pdfmake-unicode/dist/pdfmake-unicode.js');\n\npdfMakeX.vfs = pdfFontsX.pdfMake.vfs;\nwindow.pdfMake.vfs[\"Pinyon-Script.ttf\"] = pinyonFont;\n\npdfMake.fonts = {\n Roboto: {\n normal: 'Roboto-Regular.ttf',\n bold: 'Roboto-Medium.ttf',\n italics: 'Roboto-Italic.ttf',\n bolditalics: 'Roboto-Italic.ttf'\n },\n PinyonScript: {\n normal: 'Pinyon-Script.ttf',\n bold: 'Pinyon-Script.ttf',\n italics: 'Pinyon-Script.ttf',\n bolditalics: 'Pinyon-Script.ttf'\n }\n}\n\nexport abstract class OrdersPdfService {\n protected pdfDocument = {\n pageSize: \"LETTER\" as PageSize,\n pageMargins: [60, 40, 60, 50] as Margins,\n header: null,\n footer: function (currentPage, pageCount) {\n if (currentPage === pageCount) {\n const result = {\n table: {\n widths: ['*'],\n body: []\n },\n layout: 'noBorders'\n }\n\n if (authQuery.isDefaultPractice()) {\n result.table.body.push([\n {\n text: 'p: 800.975.1562 | e: info@wildhealth.com | a: 535 Wellington Way # 330 Lexington KY 40503',\n alignment: 'center',\n style: 'footerText',\n }\n\n ]);\n }\n\n result.table.body.push([{\n text: [\n {\n text: 'Privacy Policy',\n style: 'footerText',\n link: 'https://www.wildhealth.com/privacy-policy'\n },\n {\n text: ' | ',\n style: 'footerText'\n },\n {\n text: 'Terms of Use',\n style: 'footerText',\n link: 'https://www.wildhealth.com/terms-of-use'\n },\n {\n text: ' | ',\n style: 'footerText'\n },\n {\n text: 'Copyright ' + new Date().getFullYear(),\n style: 'footerText'\n },\n\n ],\n alignment: 'center',\n style: 'footerText'\n }]);\n\n return result;\n }\n },\n content: [],\n styles: {\n invoiceTitle: {\n fontFamily: 'Roboto',\n fontWeight: 'bold',\n fontSize: 24,\n },\n invoiceSubTitle: {\n fontFamily: 'Open Sans',\n fontWeight: 600,\n fontSize: 18,\n color: '#7C8A9D',\n },\n companyTitle: {\n color: '#7C8A9D',\n fontFamily: 'Roboto',\n fontWeight: 400,\n fontSize: 14,\n },\n companySubTitle: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 16,\n },\n tableHeader: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 14,\n color: '#AFBACA',\n },\n tableValue: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 14,\n color: '##091D36',\n },\n total: {\n fontFamily: 'Open Sans',\n fontWeight: 600,\n fontSize: 24,\n padding: '10px 0px',\n },\n signedByText: {\n font: 'PinyonScript',\n fontWeight: 'normal',\n fontSize: 24,\n },\n },\n }\n\n constructor() {\n const self = this;\n var image = new Image();\n image.src = logoService.getLogo().clarityHeader;\n image.onload = function () {\n var canvas, ctx, dataURL, base64;\n canvas = document.createElement(\"canvas\");\n ctx = canvas.getContext(\"2d\");\n canvas.width = image.width;\n canvas.height = image.height;\n ctx.drawImage(image, 0, 0);\n dataURL = canvas.toDataURL(\"image/png\");\n base64 = dataURL.replace(/^data:image\\/png;base64,/, \"\");\n\n self.pdfDocument.header = function (currentPage) {\n if (currentPage === 1)\n return [\n {\n image: `data:image/jpeg;base64,${base64}`,\n fit: [615, 100],\n }\n ]\n }\n };\n }\n\n protected clear() {\n this.pdfDocument.content = [];\n }\n\n protected renderSignature(pdfDocument, signedBy: EmployeeShortModel, signetAt: Date) {\n const timezone = timezonesQuery.getMyTimezone();\n const completedAt = moment(toTimeZoneDate(signetAt, timezone));\n const completedBy = signedBy.firstName + ' ' + signedBy.lastName;\n\n pdfDocument.content.push({\n text: `${completedBy}`,\n alignment: \"right\",\n style: \"signedByText\",\n margin: [0, 36, 0, 0]\n });\n\n pdfDocument.content.push({\n text: `Electronically signed by ${completedBy}`,\n alignment: \"right\",\n style: \"text\",\n margin: [0, 5, 0, 0]\n });\n\n pdfDocument.content.push({\n text: \"On \" + completedAt.format('ll') + \", at \" + completedAt.format('LT'),\n alignment: \"right\",\n style: \"text\",\n margin: [0, 5, 0, 0]\n });\n }\n}\n\nexport class ReferralOrderPdfService extends OrdersPdfService {\n\n public download(order: ReferralOrderModel) {\n this.buildPdfContent(order)\n pdfMake.createPdf(this.pdfDocument).download(`Referral-Request-${order.id}`);\n }\n\n private buildPdfContent(order: ReferralOrderModel) {\n this.clear();\n\n const signedAt = order.statusLogs.find(x => x.status === OrderStatus.Signed).date;\n const allDiagnoses = JSON.parse(order.data.diagnosis) as IcdCode[];\n const primaryDiagnosis = allDiagnoses.find(x => x.id === +order.data.primaryDiagnosesId);\n const otherDiagnoses = allDiagnoses.filter(x => x.id !== +order.data.primaryDiagnosesId);\n\n let primaryDiagnosisInline = primaryDiagnosis\n ? `${primaryDiagnosis.code} ${primaryDiagnosis.description};`\n : null;\n\n let otherDiagnosesInline = '';\n otherDiagnoses.forEach(x => {\n otherDiagnosesInline += `${x.code} ${x.description}; `\n })\n\n let allDiagnosesCodes = '';\n allDiagnoses.forEach(x => {\n allDiagnosesCodes += `${x.code} ${x.description}; `\n })\n\n const body = [\n [\n [\n {\n margin: [0, 70, 0, 0],\n text: 'Referral Form',\n style: 'invoiceTitle',\n },\n\n {\n table: {\n widths: ['*', '*'],\n body: [\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Patient Name:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.patientName,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Date of Birth:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: moment(order.data.dateOfBirth).format('LL'),\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Insurance Provider:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.insuranceProvider,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Insurance ID Number:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.insuranceId,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Referral Requested:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.items[0].description,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Clinical Reason for Referral:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.clinicalReasonForReferral,\n style: 'companySubTitle',\n },\n ]\n ],\n primaryDiagnosis ? [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Primary Diagnosis:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: primaryDiagnosisInline,\n style: 'companySubTitle',\n },\n ]\n ] : [\n [\n {\n margin: [0, 0, 0, 0],\n text: null,\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 0, 0, 0],\n text: null,\n style: 'companySubTitle',\n },\n ]\n ],\n primaryDiagnosis ?\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Additional Diagnoses:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: otherDiagnosesInline,\n style: 'companySubTitle',\n },\n ]\n ] : [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Diagnosis Code:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: allDiagnosesCodes,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Urgency (Time to appt):',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.urgencyTimeToAppointment,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Patient Preference:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.patientPreferences,\n style: 'companySubTitle',\n },\n ]\n ],\n ],\n },\n layout: 'noBorders'\n },\n ]\n ],\n ];\n\n this.pdfDocument.content.push({\n table: {\n margin: [0, 30, 0, 0],\n widths: ['*', '150'],\n body: body,\n },\n layout: 'noBorders'\n });\n\n this.renderSignature(this.pdfDocument, order.signedBy, signedAt);\n }\n}\n\n\nexport const referralOrderPdfService = new ReferralOrderPdfService();\n\n\nexport class OtherOrderPdfService extends OrdersPdfService {\n\n public download(order: OtherOrderModel) {\n this.buildPdfContent(order)\n pdfMake.createPdf(this.pdfDocument).download(`Diagnostic-Order-${order.id}`);\n }\n\n private buildPdfContent(order: OtherOrderModel) {\n this.clear();\n\n const signedAt = order.statusLogs.find(x => x.status === OrderStatus.Signed).date;\n const allDiagnoses = JSON.parse(order.data.diagnosisCode) as IcdCode[];\n const primaryDiagnosis = allDiagnoses.find(x => x.id === +order.data.primaryDiagnosesId);\n const otherDiagnoses = allDiagnoses.filter(x => x.id !== +order.data.primaryDiagnosesId);\n\n let primaryDiagnosisInline = primaryDiagnosis\n ? `${primaryDiagnosis.code} ${primaryDiagnosis.description};`\n : null;\n\n let otherDiagnosesInline = '';\n otherDiagnoses.forEach(x => {\n otherDiagnosesInline += `${x.code} ${x.description}; `\n })\n\n let allDiagnosesCodes = '';\n allDiagnoses.forEach(x => {\n allDiagnosesCodes += `${x.code} ${x.description}; `\n })\n\n const body = [\n [\n [\n {\n margin: [0, 70, 0, 0],\n text: 'Provider Order Form',\n style: 'invoiceTitle',\n },\n\n {\n table: {\n widths: ['*', '*'],\n body: [\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Patient Name:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.patientName,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Date of Birth:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: moment(order.data.dateOfBirth).format('LL'),\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Patient Address:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.patientAddress,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Insurance Carrier:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.insuranceProvider,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Insurance ID:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.insuranceId,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Ordering Provider:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.orderingProvider,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Test being ordered:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.items[0].description,\n style: 'companySubTitle',\n },\n ]\n ],\n primaryDiagnosis ? [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Primary Diagnosis:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: primaryDiagnosisInline,\n style: 'companySubTitle',\n },\n ]\n ] : [\n [\n {\n margin: [0, 0, 0, 0],\n text: null,\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 0, 0, 0],\n text: null,\n style: 'companySubTitle',\n },\n ]\n ],\n primaryDiagnosis ?\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Additional Diagnoses:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: otherDiagnosesInline,\n style: 'companySubTitle',\n },\n ]\n ] : [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Diagnosis Code:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: allDiagnosesCodes,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Reason for Order:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.reasonForOrder,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Urgency (Time toAppointment):',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.urgencyTimeToAppointment,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Preferred Location:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: order.data.preferredLocation,\n style: 'companySubTitle',\n },\n ]\n ]\n ],\n },\n layout: 'noBorders'\n },\n ]\n ],\n ];\n\n this.pdfDocument.content.push({\n table: {\n margin: [0, 30, 0, 0],\n widths: ['*', '150'],\n body: body,\n },\n layout: 'noBorders'\n });\n\n this.renderSignature(this.pdfDocument, order.signedBy, signedAt);\n }\n}\n\n\nexport const otherOrderPdfService = new OtherOrderPdfService();","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { OrderStatus } from \"../../models/orders.models\";\nimport { otherOrderPdfService } from \"../../services/orders-pdf.service\";\nimport { ordersQuery } from \"../../stores/ordersStore/orders.query\";\nimport { otherOrdersService } from \"../../services/otherOrders.service\";\nimport { OtherOrderModel } from \"../../models/otherOrders.models\";\n\nexport enum OtherOrdersViewState {\n AllOrders = 0,\n NewOrder = 1,\n UpdateOrder = 2\n}\n\ninterface OtherDiagnosticComponentState {\n isLoading: boolean;\n isProcessing: boolean;\n orders: OtherOrderModel[];\n state: OtherOrdersViewState;\n targetOrder: OtherOrderModel;\n}\n\nexport function useFacade(patientId: number): [\n OtherDiagnosticComponentState,\n Array<string>,\n (orderId: number) => void,\n (order: OtherOrderModel) => void,\n (order: OtherOrderModel) => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n isProcessing: false,\n orders: [],\n state: OtherOrdersViewState.AllOrders,\n targetOrder: null\n } as OtherDiagnosticComponentState);\n\n const columns = [\n 'Test Ordered',\n 'Date Ordered',\n 'Status',\n 'Action',\n ];\n\n const handleDownloadOrder = (order: OtherOrderModel) => {\n otherOrderPdfService.download(order)\n }\n\n const handleDeleteOrder = (orderId: number) => {\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n const cb = () => setState(state => ({ ...state, isProcessing: false }));\n\n otherOrdersService.delete(orderId).subscribe(cb, cb);\n }\n\n const handleOpenOrder = (order: OtherOrderModel) => {\n if (order.status !== OrderStatus.Signed ) {\n setState(state => ({\n ...state,\n targetOrder: order,\n state: OtherOrdersViewState.UpdateOrder\n }));\n } else {\n handleDownloadOrder(order);\n }\n }\n\n const handleNewOrder = () => {\n setState(state => ({\n ...state,\n targetOrder: null,\n state: OtherOrdersViewState.NewOrder\n }));\n }\n\n const handleGoBack = () => {\n setState(state => ({\n ...state,\n targetOrder: null,\n state: OtherOrdersViewState.AllOrders\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<OtherOrderModel[]>(ordersQuery.otherOrders$, orders => {\n setState(state => ({\n ...state,\n orders\n }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n otherOrdersService.get(patientId).subscribe(cb, cb);\n } else {\n otherOrdersService.getMyOrders().subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n\n return [state, columns, handleDeleteOrder, handleDownloadOrder, handleOpenOrder, handleNewOrder, handleGoBack];\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n minHeight: 'calc(100vh - 225px)',\n },\n },\n downloadIcon: {\n fill: colors.main\n },\n deleteIcon: {\n fill: colors.bad\n }\n })\n);\n","export enum CoverageStatus {\n Active = 1,\n NotActive = 5\n}","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { IcdCode } from \"../models/notes.models\";\n\n/**\n * Provides method for working with ICD codes\n */\nexport class IcdCodesService {\n private url = `${process.env.REACT_APP_API_URL}IcdCodes`;\n\n public get(searchQuery: string): Observable<IcdCode[]> {\n const url = `${this.url}/search?searchQuery=${searchQuery}`;\n\n return new Observable<IcdCode[]>(observer => {\n Axios.get(url).pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const icdCodesService = new IcdCodesService();\n\n","import Axios from \"axios-observable\";\nimport {Observable, Subject} from \"rxjs\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {snackService} from \"../../common/snack/state\";\nimport {\n CoverageModel,\n CreateCoverageModel,\n CreateCoverageOnBehalfModel,\n InsuranceAvailabilityModel,\n InsuranceModel,\n UpdateCoverageModel, UpdateCoverageOnBehalfModel\n} from \"../models/insurance.models\";\nimport {insuranceStore, InsuranceStore} from \"../stores/insurance.store\";\nimport {AttachmentModel, AttachmentType} from \"../../common/models/attachment.models\";\nimport {CallbackModel} from \"../../common/models/callback.model\";\n\n/**\n * Provides method for working with Insurance\n */\nexport class InsuranceService {\n private url = `${process.env.REACT_APP_API_URL}InsuranceRegistration`;\n\n constructor(private insuranceStore: InsuranceStore) {\n }\n\n public onCreateInsurance = new Subject<CallbackModel<number>>();\n\n public onUpdateInsurance = new Subject<CallbackModel<{patientId: number, coverage: CoverageModel}>>();\n\n public requestCreateInsurance = (patientId: number): Observable<CreateCoverageOnBehalfModel> => {\n return new Observable(observer => {\n this.onCreateInsurance.next({\n data: patientId,\n callback: (result: CreateCoverageOnBehalfModel) => {\n if (result) {\n observer.next(result);\n }\n observer.complete();\n }\n });\n });\n }\n\n public requestUpdateInsurance = (coverage: CoverageModel, patientId: number): Observable<UpdateCoverageOnBehalfModel> => {\n return new Observable(observer => {\n this.onUpdateInsurance.next({\n data: {\n patientId: patientId,\n coverage: coverage\n },\n callback: (result: UpdateCoverageOnBehalfModel) => {\n if (result) {\n observer.next(result);\n }\n observer.complete();\n }\n });\n });\n }\n\n /**\n * Returns all insurances\n */\n public getInsurances(stateId?: number, age?: number): Observable<InsuranceModel[]> {\n let url = `${this.url}/organizations`;\n if (stateId) {\n url += `?stateId=${stateId}`;\n }\n\n if (age) {\n const separator = url.includes('?') ? '&' : '?'\n url += `${separator}age=${age}`;\n }\n\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({insurances: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Returns available insurances\n */\n public getAvailableInsurances(): Observable<InsuranceModel[]> {\n let url = `${this.url}/organizations/available`;\n\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({insurances: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Returns available insurances by PatientId\n */\n public getAvailableInsurancesByEmployee(patientId: number): Observable<InsuranceModel[]> {\n let url = `${this.url}/organizations/byEmployee?patientId=${patientId}`;\n\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({insurances: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Creates coverage\n */\n public createCoverage(model: CreateCoverageModel): Observable<CoverageModel> {\n let url = `${this.url}/coverage`;\n const config = {headers: authHeader()}\n\n const formData = new FormData();\n formData.append('insuranceId', model.insuranceId.toString());\n formData.append('memberId', model.memberId.toString());\n formData.append('isPrimary', model.isPrimary.toString());\n\n if (model.frontImage) {\n formData.append('frontImage', model.frontImage as any);\n } else {\n formData.append('frontImage', 'null');\n }\n\n if (model.backImage) {\n formData.append('backImage', model.backImage as any);\n } else {\n formData.append('backImage', 'null');\n }\n\n if (model.policyHolder) {\n formData.append('policyHolder[firstName]', model.policyHolder.firstName);\n formData.append('policyHolder[lastName]', model.policyHolder.lastName);\n formData.append('policyHolder[relationship]', model.policyHolder.relationship);\n formData.append('policyHolder[dateOfBirth]', model.policyHolder.dateOfBirth);\n } else {\n formData.append('policyHolder', 'null');\n }\n\n return new Observable(observer => {\n Axios.post<CoverageModel>(url, formData, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addCoverage(response.data);\n snackService.success(\"Insurance was created successfully!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Creates coverage on behalf\n */\n public createCoverageOnBehalf(model: CreateCoverageOnBehalfModel): Observable<CoverageModel> {\n let url = `${this.url}/coverage/onBehalf`;\n const config = {headers: authHeader()}\n\n const formData = new FormData();\n formData.append('insuranceId', model.insuranceId.toString());\n formData.append('patientId', model.patientId.toString());\n formData.append('memberId', model.memberId.toString());\n formData.append('isPrimary', model.isPrimary.toString());\n\n if (model.frontImage) {\n formData.append('frontImage', model.frontImage as any);\n } else {\n formData.append('frontImage', 'null');\n }\n\n if (model.backImage) {\n formData.append('backImage', model.backImage as any);\n } else {\n formData.append('backImage', 'null');\n }\n\n if (model.policyHolder) {\n formData.append('policyHolder[firstName]', model.policyHolder.firstName);\n formData.append('policyHolder[lastName]', model.policyHolder.lastName);\n formData.append('policyHolder[relationship]', model.policyHolder.relationship);\n formData.append('policyHolder[dateOfBirth]', model.policyHolder.dateOfBirth);\n } else {\n formData.append('policyHolder', 'null');\n }\n\n return new Observable(observer => {\n Axios.post<CoverageModel>(url, formData, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addCoverage(response.data);\n snackService.success(\"Insurance was created successfully!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Turn on insurance\n */\n public turnOnInsurance(patientId: number) {\n let url = `${this.url}/TurnOn?patientId=${patientId}`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.post(url, {}, config)\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Turn off insurance\n */\n public turnOffInsurance(patientId: number) {\n let url = `${this.url}/TurnOff?patientId=${patientId}`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.post(url, {}, config)\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Returns coverage\n */\n public getCoverages(): Observable<CoverageModel[]> {\n let url = `${this.url}/coverages`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get<CoverageModel[]>(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({coverages: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Returns coverages by employ\n */\n public getCoveragesByEmploy(patientId: number): Observable<CoverageModel[]> {\n let url = `${this.url}/Coverages/byEmployee?patientId=${patientId}`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get<CoverageModel[]>(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({coverages: response.data});\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Updates coverage\n */\n public updateCoverage(model: UpdateCoverageModel): Observable<CoverageModel> {\n let url = `${this.url}/coverage`;\n const config = {headers: authHeader()}\n\n const formData = new FormData();\n formData.append('id', model.id.toString());\n formData.append('insuranceId', model.insuranceId.toString());\n formData.append('memberId', model.memberId.toString());\n formData.append('isPrimary', model.isPrimary.toString());\n\n if (model.frontImage) {\n formData.append('frontImage', model.frontImage as any);\n } else {\n formData.append('frontImage', 'null');\n }\n\n if (model.backImage) {\n formData.append('backImage', model.backImage as any);\n } else {\n formData.append('backImage', 'null');\n }\n\n if (model.policyHolder) {\n formData.append('policyHolder[firstName]', model.policyHolder.firstName);\n formData.append('policyHolder[lastName]', model.policyHolder.lastName);\n formData.append('policyHolder[relationship]', model.policyHolder.relationship);\n formData.append('policyHolder[dateOfBirth]', model.policyHolder.dateOfBirth);\n } else {\n formData.append('policyHolder', 'null');\n }\n\n return new Observable(observer => {\n Axios.put<CoverageModel>(url, formData, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addCoverage(response.data);\n snackService.success(\"Insurance was updated successfully!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Updates coverage\n */\n public updateCoverageOnBehalf(model: UpdateCoverageOnBehalfModel): Observable<CoverageModel> {\n let url = `${this.url}/coverage/OnBehalf`;\n const config = {headers: authHeader()}\n\n const formData = new FormData();\n formData.append('id', model.id.toString());\n formData.append('patientId', model.patientId.toString());\n formData.append('insuranceId', model.insuranceId.toString());\n formData.append('memberId', model.memberId.toString());\n formData.append('isPrimary', model.isPrimary.toString());\n\n if (model.frontImage) {\n formData.append('frontImage', model.frontImage as any);\n } else {\n formData.append('frontImage', 'null');\n }\n\n if (model.backImage) {\n formData.append('backImage', model.backImage as any);\n } else {\n formData.append('backImage', 'null');\n }\n\n if (model.policyHolder) {\n formData.append('policyHolder[firstName]', model.policyHolder.firstName);\n formData.append('policyHolder[lastName]', model.policyHolder.lastName);\n formData.append('policyHolder[relationship]', model.policyHolder.relationship);\n formData.append('policyHolder[dateOfBirth]', model.policyHolder.dateOfBirth);\n } else {\n formData.append('policyHolder', 'null');\n }\n\n return new Observable(observer => {\n Axios.put<CoverageModel>(url, formData, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addCoverage(response.data);\n snackService.success(\"Insurance was updated successfully!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Activates coverage\n */\n public activateCoverage(id: number): Observable<CoverageModel> {\n let url = `${this.url}/coverage/${id}/activate`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.put<CoverageModel>(url, null, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addCoverage(response.data);\n snackService.success(\"Insurance was activated successfully!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n /**\n * Activates coverage\n */\n public deactivateCoverage(id: number): Observable<CoverageModel> {\n let url = `${this.url}/coverage/${id}/deactivate`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.put<CoverageModel>(url, null, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addCoverage(response.data);\n snackService.success(\"Insurance was deactivated successfully!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public uploadInsurance(file: any, type: AttachmentType, coverageId: string): Observable<AttachmentModel[]> {\n let url = `${this.url}/Insurance/Attachments/Upload?coverageId=${coverageId}`;\n const config = {headers: authHeader()}\n\n const formData = new FormData();\n formData.append('file', file);\n formData.append('type', type.toString());\n formData.append('name', file.name);\n formData.append('description', '');\n\n return new Observable(observer => {\n Axios.post<AttachmentModel[]>(url, formData, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addAttachment(response.data);\n snackService.success(\"Insurance photo was updated successfully uploaded!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public uploadInsuranceOnBehalf(file: any, type: AttachmentType, patientId: number, coverageId: string): Observable<AttachmentModel[]> {\n let url = `${this.url}/Insurance/Attachments/Upload/OnBehalf?patientId=${patientId}&coverageId=${coverageId}`;\n const config = {headers: authHeader()}\n\n const formData = new FormData();\n formData.append('file', file);\n formData.append('type', type.toString());\n formData.append('name', file.name);\n formData.append('description', '');\n\n return new Observable(observer => {\n Axios.post<AttachmentModel[]>(url, formData, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.addAttachment(response.data);\n snackService.success(\"Insurance photo was updated successfully uploaded!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public getInsuranceUploads(): Observable<AttachmentModel[]> {\n let url = `${this.url}/Insurance/Attachments`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get<AttachmentModel[]>(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({attachments: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error();\n }\n );\n })\n }\n\n public getInsuranceUploadsOnBehalf(patientId: number): Observable<AttachmentModel[]> {\n let url = `${this.url}/Insurance/Attachments/OnBehalf?patientId=${patientId}`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get<AttachmentModel[]>(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({attachments: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error();\n }\n );\n })\n }\n\n public getInsuranceAvailability(): Observable<boolean> {\n let url = `${this.url}/Insurance/Availability`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get<boolean>(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({insuranceAvailability: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error();\n }\n );\n })\n }\n\n public getInsuranceAvailabilityOnBehalf(patientId: number): Observable<InsuranceAvailabilityModel> {\n let url = `${this.url}/Insurance/Availability/OnBehalf?patientId=${patientId}`;\n const config = {headers: authHeader()}\n\n return new Observable(observer => {\n Axios.get<InsuranceAvailabilityModel>(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({insuranceAvailability: response.data.isAvailable});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error();\n }\n );\n })\n }\n\n public GetInsuranceImage(attachmentId: number): Observable<any> {\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get<any>(`${this.url}/Insurance/Attachments/${attachmentId}`, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const insuranceService = new InsuranceService(insuranceStore);\n","import {OrderItemModel} from \"../models/orders.models\";\n\nexport const getOrderItemDescription = (item: OrderItemModel) => {\n const delimiterIndex = item.description.indexOf('—');\n\n return delimiterIndex > 0\n ? item.description.slice(delimiterIndex + 1)\n : '';\n}","import {useEffect, useState} from \"react\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {\n HealthSummaryNoteKeySectionNames,\n IcdCode,\n NotesType\n} from \"../../../notes/models/notes.models\";\nimport {icdCodesService} from \"../../../notes/services/icdCodes.service\";\nimport {Observable, Subscription} from \"rxjs\";\nimport {SignOffModel, notesService} from \"../../../notes/services/notes.service\";\nimport {AddOnModel} from \"../../../addons/models/addOns.models\";\nimport {addOnsQuery} from \"../../../addons/stores\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {CoverageModel} from \"../../../insurance/models/insurance.models\";\nimport {insuranceQuery} from \"../../../insurance/stores/insurance.query\";\nimport {insuranceService} from \"../../../insurance/services/insurance.service\";\nimport {CoverageStatus} from \"../../../insurance/enums/coverageStatus\";\nimport {EmployeeType} from \"../../../employee/models/employee.enums\";\nimport {otherOrdersService} from \"../../services/otherOrders.service\";\nimport {CreateOtherOrderItemModel, OtherOrderModel} from \"../../models/otherOrders.models\";\nimport {EmployeeShortModel} from \"../../../employee/models/employee.models\";\nimport {employeeService} from \"../../../employee/services/employees.service\";\nimport {isProviderRole} from \"../../../common/constants/roles\";\nimport {snackService} from \"../../../common/snack/state\";\nimport {OrderType} from \"../../models/orders.models\";\nimport {addOnsService} from \"../../../addons/services/addOns.service\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {HealthSummaryMapModel} from \"../../../healthSummary/models/healthSummary.models\";\nimport {healthSummaryService} from \"../../../healthSummary/services/healthSummary.service\";\nimport {getKey} from \"../../../healthSummary/helpers/healthSummaryHelper\";\nimport {healthSummaryQuery} from \"../../../healthSummary/stores\";\nimport {getOrderItemDescription} from \"../../helpers/get-order-item-description\";\n\ninterface CreateOtherOrderContent {\n patientName: string;\n dateOfBirth: Date | string;\n patientAddress: string;\n orderingProvider: string;\n insuranceProvider: string;\n insuranceId: string;\n urgencyTimeToAppointment: string;\n diagnosis: IcdCode[];\n primaryDiagnosesId: number | null;\n reasonForOrder: string;\n preferredLocation: string;\n}\n\ninterface TestOrderGroupModel {\n name: string;\n isOpen: boolean;\n items: AddOnModel[];\n}\n\ninterface OrdersComponentState {\n isLoading: boolean;\n isLoadingIcd: boolean;\n isProcessing: boolean;\n orderId: number;\n employeeId: number;\n content: CreateOtherOrderContent;\n searchQuery: string;\n diagnosis: IcdCode[];\n testOrderGroup: TestOrderGroupModel[];\n addOns: AddOnModel[];\n item: CreateOtherOrderItemModel;\n otherEmployees: EmployeeShortModel[];\n}\n\nconst defaultInitialContent: CreateOtherOrderContent =\n {\n patientName: '',\n dateOfBirth: '',\n insuranceProvider: '',\n insuranceId: '',\n patientAddress: '',\n orderingProvider: '',\n urgencyTimeToAppointment: '',\n diagnosis: [],\n primaryDiagnosesId: null,\n preferredLocation: '',\n reasonForOrder: ''\n }\n\nexport function useFacade(patientId: number, targetOrder: OtherOrderModel | null, handleGoBack: Function): [\n OrdersComponentState,\n () => void,\n () => void,\n () => void,\n () => void,\n (value) => void,\n (value: number | null) => void,\n (value: string, id: number) => void,\n (employee: EmployeeShortModel) => void,\n (value: string) => void,\n (value: string) => void,\n (value: string) => void,\n (value: string) => void,\n (value: string) => void,\n () => boolean,\n () => boolean,\n (name: string, val: boolean) => void,\n (searchQuery: string) => Observable<IcdCode[]>\n] {\n const [state, setState] = useState({\n isLoading: true,\n isLoadingIcd: false,\n isProcessing: false,\n employeeId: authQuery.getEmployeeId(),\n searchQuery: '',\n diagnosis: [],\n content: defaultInitialContent,\n testOrderGroup: [],\n addOns: [],\n item: null,\n orderId: targetOrder?.id,\n otherEmployees: [],\n } as OrdersComponentState);\n\n const canConfirm = (): boolean => {\n const selectedAddOn = state.addOns.find(x => x.id === state.item?.addOnId);\n return state.item && !selectedAddOn?.children?.length\n && (state.item.description || !selectedAddOn?.needSpecification)\n && state.content.insuranceId\n && state.content.diagnosis\n && state.content.diagnosis.find(x => x.id === state.content.primaryDiagnosesId)\n && state.content.orderingProvider\n && state.content.insuranceProvider\n && state.content.urgencyTimeToAppointment\n && !state.isProcessing\n && authQuery.getEmployeeType() === EmployeeType.Provider\n }\n\n const canSendForApproval = (): boolean => {\n const selectedAddOn = state.addOns.find(x => x.id === state.item?.addOnId);\n return state.item && !selectedAddOn?.children?.length\n && (state.item.description || !selectedAddOn?.needSpecification)\n && state.content.insuranceId\n && state.content.orderingProvider\n && state.content.diagnosis\n && state.content.diagnosis.find(x => x.id === state.content.primaryDiagnosesId)\n && state.content.insuranceProvider\n && state.content.urgencyTimeToAppointment\n && !state.isProcessing\n }\n\n const handleOpenGroup = (name: string, val: boolean) => {\n state.testOrderGroup.find(group => group.name === name).isOpen = val\n setState(state => ({...state}))\n }\n\n const handleSendForApproval = () => {\n\n notesService.openSignOff({\n patientId: patientId,\n noteType: NotesType.HistoryAndPhysicalFollowUp\n } as SignOffModel).subscribe(([employeeId, _]) => {\n setState(state => ({...state, isProcessing: true}))\n const cb = () => setState(state => ({...state, isProcessing: false}));\n\n const modelUpdate = {\n id: state.orderId,\n employeeId: employeeId,\n items: [state.item],\n data: {\n ...state.content,\n diagnosisCode: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: true,\n isCompleted: false,\n }\n const modelCreate = {\n patientId: patientId,\n employeeId: employeeId,\n items: [state.item],\n data: {\n ...state.content,\n diagnosisCode: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: true,\n isCompleted: false,\n }\n\n !state.orderId\n ? otherOrdersService.create(modelCreate).subscribe(\n () => {\n cb();\n snackService.success('New order is sent for approval!')\n handleGoBack();\n },\n cb)\n : otherOrdersService.update(modelUpdate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n })\n }\n\n const handleSaveAsDraft = () => {\n setState(state => ({...state, isProcessing: true}))\n const cb = () => setState(state => ({...state, isProcessing: false}));\n const modelCreate = {\n patientId: patientId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosisCode: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: false,\n }\n\n const modelUpdate = {\n id: state.orderId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosisCode: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: false,\n }\n\n !state.orderId\n ? otherOrdersService.create(modelCreate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n : otherOrdersService.update(modelUpdate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n }\n\n const handleDiscard = () => {\n setState(state => ({...state, isProcessing: true}));\n\n const cb = () => {\n setState(state => ({...state, isProcessing: false}));\n handleGoBack();\n }\n\n confirmService.confirm(\n 'Discard Order',\n 'Are you sure you want to quit without saving the order?',\n 'Yes',\n 'No',\n 'danger')\n .subscribe(\n () => {\n if (state.orderId) {\n setState(state => ({...state, isProcessing: true}))\n otherOrdersService.delete(state.orderId).subscribe(cb, cb);\n } else {\n handleGoBack();\n }\n },\n );\n }\n\n const handleSaveAndComplete = () => {\n setState(state => ({...state, isProcessing: true}))\n const cb = () => setState(state => ({...state, isProcessing: false}));\n const modelCreate = {\n patientId: patientId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosisCode: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: true,\n }\n\n const modelUpdate = {\n id: state.orderId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosisCode: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: true,\n };\n\n !state.orderId\n ? otherOrdersService.create(modelCreate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n : otherOrdersService.update(modelUpdate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n }\n\n const handleDiagnosisChange = (value) => {\n if (value) {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n diagnosis: value\n }\n }));\n }\n }\n\n const handlePrimaryDiagnosisChange = (primaryDiagnosisId: number | null) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n primaryDiagnosesId: state.content.primaryDiagnosesId === primaryDiagnosisId ? null : primaryDiagnosisId\n }\n }));\n }\n\n const handleAdditionalInformationChanges = (value: string, id: number) => {\n const diagnoses = state.content.diagnosis.find(el => el.id === id)\n diagnoses.additionalInformation = value;\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n diagnosis: state.content.diagnosis.map(x => x.id === id ? diagnoses : x).slice()\n }\n }));\n }\n\n const handleAddOnSelect = (value: string) => {\n setState(state => ({\n ...state,\n item: {\n addOnId: Number(value),\n description: '',\n }\n }));\n }\n\n const handleAddonDescriptionChanges = (value: string) => {\n setState(state => ({\n ...state,\n item: {\n ...state.item,\n description: value,\n }\n }));\n }\n\n const handleEmployeeSelect = (employee: EmployeeShortModel) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n orderingProvider: `${employee.firstName} ${employee.lastName}`\n }\n }));\n }\n\n const handleUrgencyChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n urgencyTimeToAppointment: value\n }\n }));\n }\n\n const handlePreferenceChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n preferredLocation: value\n }\n }));\n }\n\n const handleOrderReasonChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n reasonForOrder: value\n }\n }));\n }\n\n const handleAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n () => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const createGroup = (group: string[], addOns: AddOnModel[]): TestOrderGroupModel[] => {\n return group.map(el => {\n return {\n name: el,\n isOpen: false,\n items: addOns.filter(addOn => addOn.description === el)\n }\n })\n }\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (handleAutoComplete && state.searchQuery) {\n setState(state => ({\n ...state,\n isLoadingIcd: true\n }));\n handleAutoComplete(state.searchQuery).subscribe(\n (diagnosis) => {\n setState(state => ({\n ...state,\n diagnosis: diagnosis,\n isLoadingIcd: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n diagnosis: [],\n isLoadingIcd: false\n }));\n })\n }\n }, 1500);\n\n return () => clearTimeout(delayDebounceFn)\n }, [state.searchQuery]);\n\n const getDiagnosis = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n if (data && data.length) {\n const section = map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST);\n\n if (!section) {\n return;\n }\n\n const keys = [...section.items.map(x => x.key), section.key]\n const values = data.filter(x => keys.includes(getKey(x.key)));\n\n const diagnosis = values.map(x => {\n return {\n id: +x.key.match(/\\d+/g).join(''),\n code: x.value,\n description: x.name,\n additionalInformation: x.tooltip\n } as IcdCode\n }).filter(x => x.code?.length > 0);\n\n setState((state) => ({\n ...state,\n content: {\n ...state.content,\n diagnosis: diagnosis\n }\n }))\n }\n })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<CoverageModel[]>(insuranceQuery.coverages$, coverages => {\n if (coverages !== null && coverages.length) {\n const coverage = coverages\n .filter(x => x.status === CoverageStatus.Active)\n .sort((a, b) => a.priority - b.priority)\n .find(x => x.status === CoverageStatus.Active);\n\n if (coverage) {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n insuranceId: coverage?.memberId,\n insuranceProvider: coverage?.insurance?.name\n }\n }));\n } else {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n insuranceId: 'Cash only',\n insuranceProvider: 'Cash only',\n }\n }));\n }\n } else {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n insuranceId: 'Cash only',\n insuranceProvider: 'Cash only',\n }\n }));\n }\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, patient => {\n if (patient && patient.id === patientId) {\n const provider = patient.assignedEmployees.find(x => isProviderRole(x.roleId));\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n orderingProvider: provider ? `${provider.firstName} ${provider.lastName}` : '-',\n patientName: `${patient.firstName} ${patient.lastName}`,\n dateOfBirth: patient.birthday,\n patientAddress: `${patient.shippingAddress.streetAddress1}, ${patient.shippingAddress.city}, ${patient.shippingAddress.state}, ${patient.shippingAddress.zipCode}`\n }\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n if (targetOrder == null && map && map.length) {\n getDiagnosis(map)\n }\n })\n ];\n\n if (targetOrder !== null) {\n setState(state => ({\n ...state,\n orderId: targetOrder.id,\n item: !!targetOrder.items.length\n ? {\n addOnId: targetOrder.items[0].addOnId,\n description: getOrderItemDescription(targetOrder.items[0])\n }\n : null\n ,\n employeeId: targetOrder.signedBy?.id\n ? targetOrder.signedBy.id\n : authQuery.getEmployeeId(),\n content: {\n patientName: targetOrder.data.patientName,\n dateOfBirth: targetOrder.data.dateOfBirth,\n insuranceProvider: targetOrder.data.insuranceProvider,\n insuranceId: targetOrder.data.insuranceId,\n urgencyTimeToAppointment: targetOrder.data.urgencyTimeToAppointment,\n diagnosis: JSON.parse(targetOrder.data.diagnosisCode),\n primaryDiagnosesId: +targetOrder.data.primaryDiagnosesId,\n reasonForOrder: targetOrder.data.reasonForOrder,\n preferredLocation: targetOrder.data.preferredLocation,\n patientAddress: targetOrder.data.patientAddress,\n orderingProvider: targetOrder.data.orderingProvider,\n }\n }));\n } else {\n insuranceService.getCoveragesByEmploy(patientId).subscribe()\n healthSummaryService.getMap();\n }\n\n employeeService.getActiveCoachesAndProviders().subscribe(employees => {\n setState(state => ({\n ...state,\n otherEmployees: employees.filter(x => isProviderRole(x.roleId))\n }))\n });\n\n addOnsService.getOrdering(authQuery.getPracticeId(), Gender.None, true).subscribe(() => {\n const addOnsOtherOrder = addOnsQuery.getByType(OrderType.Other);\n const addOnsGroupNames = [...new Set(addOnsOtherOrder.map(item => item.description))]\n setState(state => ({\n ...state,\n isLoading: false,\n addOns: [...addOnsOtherOrder, ...addOnsOtherOrder.map(x => x.children).flat()],\n testOrderGroup: createGroup(addOnsGroupNames, addOnsOtherOrder),\n }))\n });\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleSendForApproval,\n handleSaveAsDraft,\n handleDiscard,\n handleSaveAndComplete,\n handleDiagnosisChange,\n handlePrimaryDiagnosisChange,\n handleAdditionalInformationChanges,\n handleEmployeeSelect,\n handleUrgencyChanges,\n handlePreferenceChanges,\n handleOrderReasonChanges,\n handleAddOnSelect,\n handleAddonDescriptionChanges,\n canConfirm,\n canSendForApproval,\n handleOpenGroup,\n handleAutoComplete\n ];\n}","import {useEffect, useState} from \"react\";\nimport {notesService} from \"../../services/notes.service\";\nimport {employeeService} from \"../../../employee/services/employees.service\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {UserType} from \"../../../auth/models/auth.enums\";\nimport {insertString} from \"../../../common/helpers/insert-string\";\nimport {selectShortcutService} from \"../../../healthReport/services/selectShortcut.service\";\nimport { NotesType } from \"../../models/notes.models\";\nimport { isProviderRole } from \"../../../common/constants/roles\";\n\nexport enum SignOffEmployeeType {\n Assigned = 0,\n Other = 1\n}\n\nexport interface SignOffEmployeeViewModel {\n id: number,\n firstName: string,\n lastName: string\n}\n\ninterface SignOffDialogComponentState {\n isOpen: boolean;\n patientId: number | null;\n callback: Function | null;\n selectedEmployeeType: SignOffEmployeeType;\n assignedEmployees: SignOffEmployeeViewModel[];\n otherEmployees: SignOffEmployeeViewModel[];\n selectedEmployeeId: number | null;\n note: string;\n noteType: NotesType;\n}\n\nlet ignoreChangesEvent = false;\n\nexport function useFacade(): [\n SignOffDialogComponentState,\n (type: SignOffEmployeeType) => void,\n (employeeId: number) => void,\n (note: string) => void,\n () => void,\n () => void,\n (event: any) => void\n] {\n const [state, setState] = useState({\n isOpen: false,\n patientId: null,\n selectedEmployeeType: SignOffEmployeeType.Assigned,\n assignedEmployees: [],\n otherEmployees: [],\n selectedEmployeeId: null,\n note: ''\n } as SignOffDialogComponentState);\n\n const close = () => {\n setState(state => ({\n ...state,\n isOpen: false,\n patientId: null,\n selectedEmployeeType: SignOffEmployeeType.Assigned,\n assignedEmployees: [],\n otherEmployees: [],\n selectedEmployee: null,\n note: ''\n }));\n }\n\n const handleClose = () => {\n confirmService.discard('Cancel Request', 'Are you sure you want to cancel the approval request?').subscribe(() => {\n close();\n })\n }\n\n const handleSelectedEmployeeType = (type: SignOffEmployeeType) => {\n setState(state => ({\n ...state,\n selectedEmployeeType: type,\n selectedEmployeeId: null\n }));\n }\n\n const handleEmployeeSelect = (employeeId: number) => {\n setState(state => ({\n ...state,\n selectedEmployeeId: employeeId\n }));\n }\n\n const handleNotesChanges = (note: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n setState(state => ({\n ...state,\n note: note\n }));\n }\n\n const handleSubmit = () => {\n confirmService.confirm('Request Confirmation', 'Are you sure you want to send the approval request?', 'Send Request', 'Discard').subscribe(() => {\n state.callback([state.selectedEmployeeId, state.note]);\n close();\n });\n }\n\n const handleKeyDown = (event: any) => {\n ignoreChangesEvent = false;\n\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n const cursorPos = (document.getElementById('sign-off-additional-note') as any).selectionStart;\n\n if (data) {\n setState(state => ({\n ...state,\n note: insertString(state.note, data, cursorPos + 1)\n }));\n }\n });\n }, 1)\n }\n }\n }\n\n useEffect(() => {\n const subscription = notesService.onSignOff.subscribe((model) => {\n const patientId = model.data.patientId;\n const noteType = model.data.noteType;\n\n const providerOnlyNoteTypes = [\n NotesType.HistoryAndPhysicalInitial,\n NotesType.HistoryAndPhysicalFollowUp\n ];\n\n const isProviderOnly = providerOnlyNoteTypes.some(x => x === noteType);\n\n setState(state => ({\n ...state,\n isOpen: true,\n patientId: patientId,\n callback: model.callback\n }));\n\n employeeService.getAssignedToById(patientId).subscribe(employees => {\n setState(state => ({\n ...state,\n assignedEmployees: employees.filter(x => x.id !== authQuery.getEmployeeId() && (isProviderOnly? isProviderRole(x.role.id): true))\n }));\n })\n\n employeeService.getActiveCoachesAndProviders().subscribe(employees => {\n setState(state => ({\n ...state,\n otherEmployees: employees.filter(x => x.id !== authQuery.getEmployeeId() && (isProviderOnly? isProviderRole(x.roleId): true))\n }))\n })\n });\n\n return () => subscription.unsubscribe();\n }, [])\n\n return [\n state,\n handleSelectedEmployeeType,\n handleEmployeeSelect,\n handleNotesChanges,\n handleClose,\n handleSubmit,\n handleKeyDown\n ];\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500\n },\n subTitle: {\n color: colors.gray1,\n fontSize: 14,\n fontWeight: 400,\n paddingBottom: 10,\n },\n infoBox: {\n display: 'flex',\n width: '100%',\n height: 56,\n border: `1px solid ${colors.gray4}`,\n backgroundColor: colors.disabled,\n marginBottom: 16,\n color: colors.gray2,\n alignItems: 'center',\n paddingLeft: 20,\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n chip: {\n display: 'flex',\n gap: 6,\n alignItems: 'center',\n height: 27,\n margin: 2,\n lineHeight: '18px',\n backgroundColor: colors.separators,\n borderRadius: 2,\n padding: '4px 6px',\n overflow: 'hidden',\n fontSize: 16,\n fontWeight: 400,\n color: colors.black,\n '& svg': {\n fontSize: 18,\n cursor: 'pointer',\n fill: colors.gray1,\n margin: 0,\n },\n '& .MuiChip-label': {\n padding: 0,\n },\n },\n groupTitle: {\n fontSize: 20,\n fontWeight: 500,\n }\n })\n);\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n selectEmployeeButton: {\n border: '1px solid ' + colors.stroke,\n borderRadius: '2px',\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '22px',\n paddingRight: '22px',\n cursor: 'pointer',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n },\n selectedEmployeeButton: {\n background: colors.lightGray,\n border: '1px solid ' + colors.accent1,\n borderRadius: '2px',\n paddingTop: '10px',\n paddingBottom: '10px',\n paddingLeft: '22px',\n paddingRight: '22px',\n cursor: 'pointer',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n }\n })\n);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgStarOutlined = function SvgStarOutlined(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 20,\n viewBox: \"0 0 21 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.63138 7.17807L10.5 1.42705L12.3686 7.17807C12.536 7.6931 13.0159 8.0418 13.5574 8.0418H19.6044L14.7123 11.5961C14.2742 11.9144 14.0909 12.4786 14.2582 12.9937L16.1268 18.7447L11.2347 15.1904C10.7966 14.8721 10.2034 14.872 9.76527 15.1904L4.87316 18.7447L6.74178 12.9937C6.90912 12.4786 6.7258 11.9144 6.28769 11.5961L1.39559 8.0418H7.44256C7.98409 8.0418 8.46404 7.69309 8.63138 7.17807Z\",\n stroke: \"#AFBACA\",\n strokeWidth: 1.5\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStarOutlined, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/StarOutlined.fc67ce47.svg\";\nexport { ForwardRef as ReactComponent };","import {\n Box,\n createStyles,\n Dialog,\n DialogContent,\n IconButton,\n Theme,\n Typography,\n WithStyles,\n withStyles,\n TextField,\n Divider,\n Button\n} from '@material-ui/core';\nimport React from 'react';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { colors } from \"../../../common/constants/colors\";\nimport { SignOffEmployeeType, useFacade } from \"./signOffDialogComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { WildHealthRadio } from \"../../../common/components/WildHealthRadio\";\nimport { useStyles } from \"./signOffDialogComponent.styles\";\nimport { Autocomplete } from \"@material-ui/lab\";\nimport { EmployeeShortModel } from \"../../../employee/models/employee.models\";\n\nconst styles = (theme: Theme) =>\n createStyles({\n root: {\n margin: 0,\n padding: theme.spacing(2)\n },\n title: {\n color: colors.systemBlack,\n textTransform: 'none',\n },\n closeButton: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n }\n );\n\n interface SignOffDialogProps {\n isOrderCreate?: boolean;\n }\n\nexport interface DialogTitleProps extends WithStyles<typeof styles> {\n id: string;\n children: React.ReactNode;\n onClose?: () => void;\n}\n\nexport const DialogTitle = withStyles(styles)((props: DialogTitleProps) => {\n const { children, classes, onClose, ...other } = props;\n\n return (\n <MuiDialogTitle disableTypography className={classes.root} {...other}>\n <Typography variant=\"h6\" className={classes.title}>{children}</Typography>\n {\n onClose &&\n <IconButton aria-label=\"close\" className={classes.closeButton} onClick={onClose}>\n <CloseIcon />\n </IconButton>\n }\n </MuiDialogTitle>\n );\n});\n\nexport const SignOffDialogComponent: React.FC<SignOffDialogProps> = (props: SignOffDialogProps) => {\n const {isOrderCreate = false} = props\n const [\n {\n isOpen,\n note,\n selectedEmployeeType,\n assignedEmployees,\n otherEmployees,\n selectedEmployeeId\n },\n handleSelectedEmployeeType,\n handleEmployeeSelect,\n handleNotesChanges,\n handleClose,\n handleSubmit,\n handleKeyDown\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n return (\n <Dialog\n scroll='paper'\n fullWidth\n maxWidth='sm'\n open={isOpen}\n onClose={handleClose}\n aria-labelledby=\"scroll-dialog-title\"\n aria-describedby=\"scroll-dialog-description\"\n >\n <Box mx={3}>\n <DialogTitle id=\"dialog-title\" onClose={handleClose}><span>Request Approval</span></DialogTitle>\n </Box>\n\n <DialogContent>\n <Box px={2}>\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <WildHealthRadio\n checked={selectedEmployeeType === SignOffEmployeeType.Assigned}\n onChange={() => handleSelectedEmployeeType(SignOffEmployeeType.Assigned)}\n />\n </Box>\n <Box>\n <span className={commonClasses.inputLabel}>\n Please choose a user to request approval.\n </span>\n </Box>\n </Box>\n <Box display=\"flex\">\n {\n assignedEmployees?.length > 0 &&\n assignedEmployees.map((employee, index) => {\n return (\n <Box key={index} mr={1}>\n <Button\n disabled={selectedEmployeeType !== SignOffEmployeeType.Assigned}\n onClick={() => handleEmployeeSelect(employee.id)}\n className={selectedEmployeeId === employee.id\n ? classes.selectedEmployeeButton\n : classes.selectEmployeeButton}>\n <span>\n {\n employee.firstName + ' ' + employee.lastName\n }\n </span>\n </Button>\n </Box>\n )\n })\n }\n </Box>\n <Box mt={2} display=\"flex\" alignItems=\"center\">\n <Box>\n <WildHealthRadio\n checked={selectedEmployeeType === SignOffEmployeeType.Other}\n onChange={() => handleSelectedEmployeeType(SignOffEmployeeType.Other)}\n />\n </Box>\n <Box>\n <span className={commonClasses.inputLabel}>\n Or add other employee within the practice.\n </span>\n </Box>\n </Box>\n\n <Box pb={1}>\n <Autocomplete\n size=\"small\"\n fullWidth\n disablePortal\n options={otherEmployees}\n value={otherEmployees.find(x => x.id === selectedEmployeeId)}\n onChange={(event, employee: EmployeeShortModel) => handleEmployeeSelect(employee.id)}\n disabled={selectedEmployeeType !== SignOffEmployeeType.Other || !otherEmployees.length}\n getOptionLabel={(employee) => employee.firstName + ' ' + employee.lastName}\n renderInput={(params) => <TextField size='small' variant=\"outlined\" {...params} />}\n />\n </Box>\n </Box>\n </DialogContent>\n\n <Divider />\n\n {!isOrderCreate && <DialogContent>\n <Box py={1} px={2} mt={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>\n Additional Note (Optional)\n </span>\n </Box>\n <Box>\n <TextField\n id=\"sign-off-additional-note\"\n onChange={(event) => handleNotesChanges(event.target.value)}\n onKeyDown={(e) => handleKeyDown(e)}\n value={note}\n fullWidth\n multiline\n variant=\"outlined\"\n maxRows={5}\n minRows={5}\n />\n </Box>\n </Box>\n </DialogContent>}\n <Box display=\"flex\" justifyContent=\"flex-end\" px={5} py={3}>\n <Box>\n <WildHealthButton id=\"cancel-sign-off\" size=\"large\" color=\"tertiary\" onClick={() => handleClose()}>\n Cancel\n </WildHealthButton>\n </Box>\n <Box ml={1}>\n <WildHealthButton disabled={!selectedEmployeeId} id=\"submit-sign-off\" size=\"large\"\n onClick={() => handleSubmit()}>\n Request Approval\n </WildHealthButton>\n </Box>\n </Box>\n </Dialog>\n );\n}\n","import { TextField } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontWeight: 500\n },\n subtitle: {\n fontSize: 12,\n color: colors.gray1,\n textTransform: 'uppercase'\n },\n item: {\n padding: '6.5px 12px 6.5px 12px',\n backgroundColor: colors.separators,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderRadius: '2px'\n },\n editIcon: {\n color: colors.main,\n cursor: 'pointer',\n marginLeft: '2rem'\n },\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n addIcon2: {\n color: colors.main,\n cursor: 'pointer',\n },\n deleteIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n addText: {\n color: colors.main\n },\n searchBase: {\n padding: '9px 7px 9px 10px',\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n },\n iconCheck: {\n fill: colors.good,\n },\n connectedLine: {\n position: 'absolute',\n height: 30,\n width: 30,\n marginLeft: '12px',\n borderLeft: `1px solid ${colors.gray2}`,\n borderBottom: `1px solid ${colors.gray2}`,\n borderRadius: '6px',\n borderTopLeftRadius: 0,\n }\n })\n);\n\nexport const SearchTextField = withStyles({\n root: {\n '& label.Mui-focused': {\n },\n\n '& .MuiInput-underline:after': {\n borderBottomColor: colors.gray4,\n },\n '& .MuiOutlinedInput-adornedStart': {\n height: '34px'\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: colors.gray4,\n },\n '&:hover fieldset': {\n borderColor: colors.gray4,\n },\n '&.Mui-focused fieldset': {\n borderColor: colors.gray4,\n },\n },\n },\n})(TextField);","export const isFocusInCurrentTarget = ({ relatedTarget, currentTarget }) => {\n if (relatedTarget === null) return false;\n\n var node = relatedTarget.parentNode;\n\n while (node !== null) {\n if (node === currentTarget) return true;\n node = node.parentNode;\n }\n\n return false;\n}","import {IcdCode} from \"../../../notes/models/notes.models\";\nimport {useEffect, useState} from \"react\";\nimport {commonDiagnoses} from \"../../../notes/helpers/noteHelpers\";\n\ninterface OrderDiagnosisComponentState {\n isLoading: boolean;\n searchQuery: string;\n enableAdd: boolean;\n valueToEdit: IcdCode;\n indexToEdit: number | null;\n diagnosis: IcdCode[];\n diagnosisCommon: IcdCode[];\n}\n\nlet stateContext: OrderDiagnosisComponentState = null;\n\nexport function useFacade(selectedDiagnosis: IcdCode[], handleChanges: Function, getAutoComplete: Function): [\n OrderDiagnosisComponentState,\n (index: number) => void,\n () => void,\n (value: string) => void,\n (diagnosis: IcdCode) => void,\n (value: string) => void,\n (index: number) => void,\n (diagnosis: IcdCode) => void\n] {\n const [state, setState] = useState({\n isLoading: false,\n searchQuery: '',\n enableAdd: false,\n valueToEdit: null,\n indexToEdit: null,\n diagnosis: [],\n diagnosisCommon: commonDiagnoses.sort((a,b) => {\n if (a.description < b.description) {\n return -1;\n }\n if (a.description > b.description) {\n return 1;\n }\n return 0;\n }),\n } as OrderDiagnosisComponentState);\n\n stateContext = state;\n\n const handleDeleteItem = (index: number) => {\n selectedDiagnosis.splice(index, 1);\n\n setState(state => ({\n ...state,\n searchQuery: '',\n valueToEdit: null,\n indexToEdit: null,\n diagnosis: []\n }))\n\n handleChanges(selectedDiagnosis);\n }\n\n const handleEnableAdd = () => {\n setState(state => ({\n ...state,\n enableAdd: true,\n searchQuery: '',\n indexToEdit: null,\n valueToEdit: null,\n diagnosis: [],\n }))\n }\n\n const handleAddChanges = (value: string) => {\n setState(state => ({ ...state, searchQuery: value }));\n }\n\n const handleAddSubmit = (diagnosis: IcdCode) => {\n if (diagnosis && diagnosis?.id) {\n diagnosis.additionalInformation = '';\n selectedDiagnosis.push(diagnosis);\n handleChanges(selectedDiagnosis);\n }\n\n setState(state => ({\n ...state,\n enableAdd: false,\n searchQuery: '',\n diagnosis: [],\n }))\n }\n\n const handleEnableEdit = (index: number) => {\n const diagnosis = selectedDiagnosis[index];\n setState(state => ({\n ...state,\n searchQuery: diagnosis.code + ' ' + diagnosis.description,\n indexToEdit: index,\n enableAdd: false,\n valueToEdit: diagnosis,\n diagnosis: []\n }))\n }\n\n const handleEditChanges = (value: string) => {\n setState(state => ({ ...state, searchQuery: value }))\n }\n\n const handleSubmitEdit = (diagnosis: IcdCode) => {\n if (diagnosis && diagnosis.id) {\n diagnosis.additionalInformation = '';\n selectedDiagnosis[state.indexToEdit] = diagnosis;\n handleChanges(selectedDiagnosis);\n }\n\n setState(state => ({\n ...state,\n searchQuery: '',\n enableAdd: false,\n valueToEdit: null,\n indexToEdit: null,\n diagnosis: []\n }))\n }\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (getAutoComplete && stateContext.searchQuery) {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n getAutoComplete(stateContext.searchQuery).subscribe(\n (diagnosis) => {\n const selectedCodes = selectedDiagnosis.map(k => k.code);\n setState(state => ({\n ...state,\n diagnosis: diagnosis.filter(x => !selectedCodes.includes(x.code)),\n isLoading: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n diagnosis: [],\n isLoading: false\n }));\n })\n }\n }, 1500);\n\n return () => clearTimeout(delayDebounceFn)\n }, [state.searchQuery, getAutoComplete]);\n\n\n return [\n state,\n handleDeleteItem,\n handleEnableAdd,\n handleAddChanges,\n handleAddSubmit,\n handleEditChanges,\n handleEnableEdit,\n handleSubmitEdit\n ]\n}","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgStarChecked = function SvgStarChecked(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 20,\n viewBox: \"0 0 21 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0245 0.463526C10.1741 0.00287054 10.8259 0.00287005 10.9755 0.463525L13.0819 6.9463C13.1488 7.15232 13.3408 7.2918 13.5574 7.2918H20.3738C20.8582 7.2918 21.0596 7.9116 20.6677 8.1963L15.1531 12.2029C14.9779 12.3302 14.9046 12.5559 14.9715 12.7619L17.0779 19.2447C17.2276 19.7053 16.7003 20.0884 16.3085 19.8037L10.7939 15.7971C10.6186 15.6698 10.3814 15.6698 10.2061 15.7971L4.69153 19.8037C4.29967 20.0884 3.77243 19.7053 3.92211 19.2447L6.02849 12.7619C6.09542 12.5559 6.0221 12.3302 5.84685 12.2029L0.332272 8.1963C-0.0595852 7.9116 0.141802 7.2918 0.626164 7.2918H7.44256C7.65917 7.2918 7.85115 7.15232 7.91809 6.9463L10.0245 0.463526Z\",\n fill: \"#FFA125\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStarChecked, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/starChecked.6771a909.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { referralOrdersService } from \"../../services/referralOrders.service\";\nimport { ordersQuery } from \"../../stores/ordersStore/orders.query\";\nimport { ReferralOrderModel } from \"../../models/referralOrders.models\";\nimport { referralOrderPdfService } from \"../../services/orders-pdf.service\";\nimport { OrderStatus } from \"../../models/orders.models\";\n\nexport enum ReferralOrdersViewState {\n AllOrders = 0,\n NewOrder = 1,\n UpdateOrder = 2\n}\n\ninterface ReferralOrdersComponentState {\n isLoading: boolean;\n isProcessing: boolean;\n orders: ReferralOrderModel[];\n state: ReferralOrdersViewState;\n targetOrder: ReferralOrderModel;\n}\n\nexport function useFacade(patientId: number): [\n ReferralOrdersComponentState,\n Array<string>,\n (orderId: number) => void,\n (order: ReferralOrderModel) => void,\n (order: ReferralOrderModel) => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n isProcessing: false,\n orders: [],\n } as ReferralOrdersComponentState);\n\n const columns = [\n 'Requested Referral',\n 'Referral Date',\n 'Status',\n 'Action',\n ];\n\n\n const handleDownloadOrder = (order: ReferralOrderModel) => {\n referralOrderPdfService.download(order)\n }\n\n const handleDeleteOrder = (orderId: number) => {\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n const cb = () => setState(state => ({ ...state, isProcessing: false }));\n\n referralOrdersService.delete(orderId).subscribe(cb, cb);\n }\n\n const handleOpenOrder = (order: ReferralOrderModel) => {\n if (order.status !== OrderStatus.Signed ) {\n setState(state => ({\n ...state,\n state: ReferralOrdersViewState.UpdateOrder,\n targetOrder: order\n }));\n\n return\n }\n \n handleDownloadOrder(order);\n }\n\n const handleNewOrder = () => {\n setState(state => ({\n ...state,\n targetOrder: null,\n state: ReferralOrdersViewState.NewOrder\n }));\n }\n\n const handleGoBack = () => {\n setState(state => ({\n ...state,\n targetOrder: null,\n state: ReferralOrdersViewState.AllOrders\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<ReferralOrderModel[]>(ordersQuery.referralOrders$, orders => {\n setState(state => ({\n ...state,\n orders\n }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n referralOrdersService.get(patientId).subscribe(cb, cb);\n } else {\n referralOrdersService.getMyOrders().subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, columns, handleDeleteOrder, handleDownloadOrder, handleOpenOrder, handleNewOrder, handleGoBack];\n}","import {IcdCode} from \"../../../notes/models/notes.models\";\nimport {Observable} from \"rxjs\";\nimport React from \"react\";\nimport {useStyles} from \"../../../notes/components/diagnosisComponent/diagnosisComponent.style\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport {Box, Checkbox, Grid, IconButton, TextField} from \"@material-ui/core\";\nimport {isFocusInCurrentTarget} from \"../../../common/helpers/is-focus-in-current-target\";\nimport {Autocomplete} from \"@material-ui/lab\";\nimport {Add, Delete, Edit} from \"@material-ui/icons\";\nimport {useFacade} from \"./orderDiagnosisComponent.hooks\";\nimport { ReactComponent as StartOutlined } from '@img/icons/StarOutlined.svg'\nimport { ReactComponent as StarChecked } from '@img/icons/starChecked.svg'\nimport {colors} from \"../../../common/constants/colors\";\n\nexport interface OrderDiagnosisComponentProps {\n title?: string;\n addText?: string;\n subTitle?: string;\n grid?: 6 | 12;\n selectedDiagnosis: IcdCode[];\n primaryDiagnosisId: number | null;\n getAutoComplete: (searchQuery: string) => Observable<IcdCode[]>;\n handleChanges: (key: string, values: IcdCode[]) => void;\n handleTextInfoChange: (values: string, id: number) => void;\n handlePrimaryChange: (id: number) => void;\n}\n\nexport const OrderDiagnosisComponent: React.FC<OrderDiagnosisComponentProps> = (props: OrderDiagnosisComponentProps) => {\n const {\n addText = null,\n grid = 12,\n selectedDiagnosis,\n primaryDiagnosisId,\n getAutoComplete,\n handleChanges,\n handleTextInfoChange,\n handlePrimaryChange\n } = props;\n\n const [\n state,\n handleDeleteItem,\n handleEnableAdd,\n handleAddChanges,\n handleAddSubmit,\n handleEditChanges,\n handleEnableEdit,\n handleSubmitEdit,\n ] = useFacade(selectedDiagnosis, handleChanges, getAutoComplete);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const starIcon = <StartOutlined></StartOutlined>;\n const statIconChecked = <StarChecked style={{ fill: colors.main }}></StarChecked>;\n\n const renderPrimaryCheckBox = (diagnosis: IcdCode) => {\n return (\n <Box display=\"flex\" alignItems=\"center\" ml={3}>\n <Box>\n <Checkbox\n icon={starIcon}\n color=\"primary\"\n checkedIcon={statIconChecked}\n checked={diagnosis.id === primaryDiagnosisId}\n onChange={() => handlePrimaryChange(diagnosis.id)}\n />\n </Box>\n </Box>\n )\n }\n return (\n <Box>\n <Box>\n <Grid container spacing={2}>\n <Grid item md={grid} sm={12}>\n {\n selectedDiagnosis.map((item, i) => {\n return (\n <Box display='flex' justifyContent=\"space-between\" width={0.9}>\n {\n state.indexToEdit === i\n ? (\n\n <Box mt={2.5} display='flex' alignItems='center'\n justifyContent=\"space-between\" width={1} onBlur={(e) => {\n setTimeout(() => {\n if (!isFocusInCurrentTarget(e)) {\n handleSubmitEdit(null)\n }\n }, 250)\n }}>\n <Box width={0.9}>\n <Autocomplete\n id={`order-diagnosis-item-list-edit`}\n size=\"small\"\n freeSolo\n disableClearable\n fullWidth\n options={state.diagnosis}\n value={state.valueToEdit}\n getOptionLabel={option => option.code + ' ' + option.description}\n onChange={(e, value: IcdCode) => handleSubmitEdit(value)}\n renderInput={(params) => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n value={state.valueToEdit}\n autoFocus\n InputProps={{\n ...params.InputProps,\n className: 'input',\n type: 'search'\n }}\n onChange={(e) => handleEditChanges(e.target.value)}\n onBlur={() => handleAddSubmit(null)}\n />\n )}\n />\n </Box>\n <Box ml={2}>\n <IconButton className={classes.deleteIcon}\n onClick={() => handleDeleteItem(i)}>\n <Delete/>\n </IconButton>\n </Box>\n </Box>\n\n )\n :\n <Box mt={2.5} position='relative' width={1}>\n <Box id={`pmh=-${i}`} className={classes.item}>\n <Box>\n <span\n className={commonClasses.breakWord}>{item.code + ' ' + item.description}</span>\n </Box>\n <Box className={classes.editIcon}\n onClick={() => handleEnableEdit(i)} ml={2}>\n <Edit/>\n </Box>\n </Box>\n <Box className={classes.connectedLine}></Box>\n <Box mt={1} ml={4}>\n <TextField\n fullWidth\n maxRows={3}\n multiline\n type='text'\n size=\"small\"\n label=''\n variant=\"outlined\"\n placeholder={`${item.description} Diagnosis Details Here`}\n value={item.additionalInformation}\n InputProps={{className: 'input'}}\n onChange={(e) => handleTextInfoChange(e.target.value, item.id)}\n />\n </Box>\n </Box>\n }\n <Box mt={3} width={0.1}>\n {\n renderPrimaryCheckBox(item)\n }\n </Box>\n </Box>\n\n )\n })\n }\n\n {\n state.enableAdd\n ?\n <Box mt={2.5}>\n <Autocomplete\n id={`order-diagnosis-item-list-add`}\n freeSolo\n loading={state.isLoading}\n size=\"small\"\n disableClearable\n options={state.diagnosis}\n getOptionLabel={option => option.code + ' ' + option.description}\n onChange={(e, value: IcdCode) => handleAddSubmit(value)}\n renderInput={(params) => (\n <TextField\n {...params}\n label={addText}\n variant='outlined'\n autoFocus\n InputProps={{\n ...params.InputProps,\n className: 'input',\n type: 'search'\n }}\n onChange={(e) => handleAddChanges(e.target.value)}\n onBlur={() => handleAddSubmit(null)}\n />\n )}\n />\n </Box>\n :\n <Box mt={2.5} display='flex' alignItems='stretch'>\n <Box onClick={() => handleEnableAdd()}>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>{addText ?? 'Add Diagnosis'}</span>\n </Box>\n </Box>\n }\n </Grid>\n </Grid>\n </Box>\n </Box>\n );\n}","import React from 'react';\nimport { useFacade } from \"./newOtherOrderComponent.hooks\";\nimport { Box, Divider, FormControl, FormControlLabel, RadioGroup, TextField } from '@material-ui/core';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { useStyles } from './newOtherOrderComponent.styles';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport moment from 'moment';\nimport { Autocomplete } from '@material-ui/lab';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { SignOffDialogComponent } from '../../../notes/components/signOffDIalogComponent/SignOffDialogComponent';\nimport ArrowDropDownIcon from \"@material-ui/icons/KeyboardArrowDown\";\nimport ArrowRight from \"@material-ui/icons/KeyboardArrowRight\";\nimport { EmployeeShortModel } from '../../../employee/models/employee.models';\nimport {OtherOrderModel} from \"../../models/otherOrders.models\";\nimport {AddOnModel} from \"../../../addons/models/addOns.models\";\nimport {OrderDiagnosisComponent} from \"../orderDiagnosisComponent/OrderDiagnosisComponent\";\n\ninterface NewOtherOrderPageProps {\n patientId?: number;\n targetOrder?: OtherOrderModel | null;\n handleGoBack: Function;\n}\n\nexport const NewOtherOrderComponent: React.FC<NewOtherOrderPageProps> = (props: NewOtherOrderPageProps) => {\n const { patientId, targetOrder, handleGoBack } = props;\n const classes = useStyles();\n\n const [\n {\n isLoading,\n testOrderGroup,\n otherEmployees,\n isProcessing,\n content,\n item,\n },\n handleSendForApproval,\n handleSaveAsDraft,\n handleDiscard,\n handleSaveAndComplete,\n handleDiagnosisChange,\n handlePrimaryDiagnosisChange,\n handleAdditionalInformationChanges,\n handleEmployeeSelect,\n handleUrgencyChanges,\n handlePreferenceChanges,\n handleOrderReasonChanges,\n handleAddOnSelect,\n handleAddonDescriptionChanges,\n canConfirm,\n canSendForApproval,\n handleOpenGroup,\n handleAutoComplete\n ] = useFacade(patientId, targetOrder, handleGoBack);\n\n const renderAddOn = (addOn: AddOnModel) => {\n return (\n <Box key={addOn.id}>\n <FormControlLabel value={String(addOn.id)} control={<WildHealthRadio />} label={addOn.name + (addOn.needSpecification ? \" (specify)\" : \"\")} />\n {item?.addOnId === addOn.id && addOn.needSpecification && <Box pl={2}>\n <TextField\n fullWidth\n size=\"small\"\n id={`add-on-${addOn.name}`}\n variant=\"outlined\"\n value={item.description}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handleAddonDescriptionChanges(v.target.value)\n }}\n />\n </Box>}\n </Box>\n )\n }\n\n const renderContent = () => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n return (\n <Box m={5}>\n <Box className={classes.title}>\n New Order\n </Box>\n\n <Box mt={5}>\n <Box display='flex' flexWrap='wrap'>\n <Box width='50%' minWidth='200px' pr={3}>\n <Box className={classes.subTitle}>Patient Name</Box>\n <Box className={classes.infoBox}> {content.patientName}</Box>\n </Box>\n <Box minWidth='200px' width='50%' pr={3} >\n <Box className={classes.subTitle}>Date of Birth</Box>\n <Box className={classes.infoBox}>{moment(content.dateOfBirth).format('MM/DD/YYYY')}</Box>\n </Box>\n </Box>\n <Box display='flex' flexWrap='wrap'>\n <Box width='50%' minWidth='200px' pr={3}>\n <Box className={classes.subTitle}>Patient Shipping Address</Box>\n <Box className={classes.infoBox}>{!!content.patientAddress ? content.patientAddress : '-'}</Box>\n </Box>\n <Box minWidth='200px' width='50%' pr={3}>\n <Box className={classes.subTitle}> Ordering Provider</Box>\n <Box className=''>\n <Autocomplete\n size=\"medium\"\n fullWidth\n disableClearable\n placeholder={content.orderingProvider}\n options={otherEmployees}\n onChange={(event, employee: EmployeeShortModel) => handleEmployeeSelect(employee)}\n disabled={!otherEmployees.length}\n getOptionLabel={(employee) => employee.firstName + ' ' + employee.lastName}\n renderInput={(params) => <TextField placeholder={content.orderingProvider} size='small' variant=\"outlined\" {...params} />}\n />\n </Box>\n </Box>\n </Box>\n <Box display='flex' flexWrap='wrap'>\n <Box width='50%' minWidth='200px' pr={3}>\n <Box className={classes.subTitle}> Insurance Provider</Box>\n <Box className={classes.infoBox}>{!!content.insuranceProvider ? content.insuranceProvider : '-'}</Box>\n </Box>\n <Box minWidth='200px' width='50%' pr={3}>\n <Box className={classes.subTitle}> Insurance ID</Box>\n <Box className={classes.infoBox}>{!!content.insuranceId ? content.insuranceId : '-'}</Box>\n </Box>\n </Box>\n </Box>\n\n <Box mt={5}>\n <Box className={classes.subTitle}>Test Being Ordered</Box>\n <Box>\n <FormControl color='primary' component=\"fieldset\">\n <RadioGroup aria-label=\"gender\" name=\"gender1\" value={String(item?.addOnId)} onChange={(event) => handleAddOnSelect(event.target.value)}>\n {testOrderGroup.map(group => {\n return !!group.name\n ? <Box mt={2} mb={1} key={group.name}>\n <Box display='flex' alignContent='center' onClick={() => handleOpenGroup(group.name, !group.isOpen)} >\n <Box mr={0.5}>\n {group.isOpen ? <ArrowDropDownIcon /> : <ArrowRight />}\n </Box>\n <Box className={classes.groupTitle}>{group.name}</Box>\n </Box>\n <Box ml={2} mb={2}>\n {\n group.isOpen && group.items.map((addOn) => {\n const isGroup = addOn.children?.length > 0;\n\n if (isGroup) {\n return <Box key={addOn.id}>\n <FormControlLabel value={String(addOn.id)} control={<WildHealthRadio />} label={addOn.name + (addOn.needSpecification ? \" (specify)\" : \"\")} />\n {\n (item?.addOnId === addOn.id || addOn.children.map(x => x.id).includes(item?.addOnId)) &&\n <Box ml={5}>\n <RadioGroup aria-label=\"gender\" name=\"sub-group\" value={String(item?.addOnId)} onChange={(event) => handleAddOnSelect(event.target.value)}>\n {\n addOn.children.map(child => {\n return renderAddOn(child);\n })\n }\n </RadioGroup>\n </Box>\n }\n </Box>\n }\n\n return renderAddOn(addOn);\n })\n }\n </Box>\n <Divider />\n </Box>\n : group.items.map((addOn) => {\n const isGroup = addOn.children?.length > 0;\n\n if (isGroup) {\n return <Box key={addOn.id}>\n <FormControlLabel value={String(addOn.id)} control={<WildHealthRadio />} label={addOn.name + (addOn.needSpecification ? \" (specify)\" : \"\")} />\n {\n (item?.addOnId === addOn.id || addOn.children.map(x => x.id).includes(item?.addOnId)) &&\n <Box ml={5}>\n <RadioGroup aria-label=\"gender\" name=\"sub-group\" value={String(item?.addOnId)} onChange={(event) => handleAddOnSelect(event.target.value)}>\n {\n addOn.children.map(child => {\n return renderAddOn(child);\n })\n }\n </RadioGroup>\n </Box>\n }\n </Box>\n }\n\n return renderAddOn(addOn);\n })\n })}\n </RadioGroup>\n </FormControl>\n </Box>\n </Box>\n\n <Box mt={5}>\n <Box className={classes.subTitle}>Urgency (Time to Appointment)</Box>\n <Box mb={2}>\n <TextField\n fullWidth\n size=\"small\"\n id='urgency-referral'\n variant=\"outlined\"\n value={content.urgencyTimeToAppointment}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handleUrgencyChanges(v.target.value)\n }}\n />\n </Box>\n <Box className={classes.subTitle}>All Diagnoses</Box>\n <Box className={classes.subTitle}>\n (Please select a primary diagnosis by clicking the star icon)\n </Box>\n <Box mb={2}>\n <OrderDiagnosisComponent\n selectedDiagnosis={content.diagnosis}\n getAutoComplete={handleAutoComplete}\n handleChanges={handleDiagnosisChange}\n handlePrimaryChange={handlePrimaryDiagnosisChange}\n primaryDiagnosisId={content.primaryDiagnosesId}\n handleTextInfoChange={handleAdditionalInformationChanges}\n grid={6}\n />\n </Box>\n <Box className={classes.subTitle}>Reason for Order</Box>\n <Box mb={2}>\n <TextField\n fullWidth\n size=\"small\"\n id='order-reason'\n variant=\"outlined\"\n value={content.reasonForOrder}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handleOrderReasonChanges(v.target.value)\n }}\n />\n </Box>\n <Box className={classes.subTitle}>Preferred Location</Box>\n <Box mb={2}>\n <TextField\n fullWidth\n size=\"small\"\n id='preference-referral'\n variant=\"outlined\"\n value={content.preferredLocation}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handlePreferenceChanges(v.target.value)\n }}\n />\n </Box>\n </Box>\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={!canSendForApproval()}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSendForApproval()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={!canConfirm()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={isProcessing}\n id='cancel-physical-history'\n onClick={() => handleDiscard()}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box>\n <Box className={classes.bgMain}>\n <BackTitleComponent\n title='Back to Orders'\n action={() => handleGoBack()}\n />\n </Box>\n {\n renderContent()\n }\n <SignOffDialogComponent isOrderCreate={true} />\n </Box>\n )\n}","import {Box, IconButton, Link, Table, TableBody, TableContainer, TableHead,} from '@material-ui/core';\nimport moment from 'moment';\nimport React from 'react';\nimport {WildHealthButton} from '../../../common/components/wildHealthButton/WildHealthButton';\nimport {\n WildHealthHeaderComponent\n} from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {CommonPlaceHolder} from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport {WildHealthTableCell} from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport {WildHealthTableRow} from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport {orderCreateStatusNames, OrderStatus} from '../../models/orders.models';\nimport {OtherOrdersViewState, useFacade} from './otherDiagnosticComponent.hooks';\nimport {useStyles} from './otherDiagnosticComponent.styles';\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport {PermissionType} from \"../../../auth/models/auth.enums\";\nimport {toCurrentTimeZone} from '../../../timezones/helpers/timezone';\nimport {colors} from '../../../common/constants/colors';\nimport {WildHealthStatusLabel} from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport {Delete} from '@material-ui/icons';\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nimport {OtherOrderModel} from '../../models/otherOrders.models';\nimport {NewOtherOrderComponent} from \"../newOtherOrderComponent/NewOtherOrderComponent\";\n\ninterface OtherDiagnosticComponentProps {\n patientId?: number;\n}\n\nexport const OtherDiagnosticComponent: React.FC<OtherDiagnosticComponentProps> = (props: OtherDiagnosticComponentProps) => {\n const { patientId } = props;\n\n const [\n {\n isLoading,\n isProcessing,\n orders,\n targetOrder,\n state\n },\n columns,\n handleDeleteOrder,\n handleDownloadOrder,\n handleOpenOrder,\n handleNewOrder,\n handleGoBack\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const title = 'Other Diagnostic Orders';\n\n const emptyPlaceHolder = () => {\n return <span className=\"text-accent-secondary\">(empty)</span>\n }\n\n const displayValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const displayName = (order: OtherOrderModel) => {\n const data = order.status === OrderStatus.Completed \n ? displayValue(order.statusLogs.find(el => el.status === OrderStatus.Completed).date)\n : displayValue(order.orderedAt)\n if (order.items.length && order.items[0]?.description) {\n return `${order.items[0]?.description} ${data}`\n }\n\n return data\n }\n\n const displayStatus = (status: OrderStatus) => {\n switch (status) {\n case OrderStatus.Draft:\n return <WildHealthStatusLabel color='normal'>{orderCreateStatusNames.get(status)}</WildHealthStatusLabel>;\n case OrderStatus.Signed:\n return <WildHealthStatusLabel color='good'>{orderCreateStatusNames.get(status)}</WildHealthStatusLabel>\n case OrderStatus.UnderReview:\n return <WildHealthStatusLabel color='average1'>{orderCreateStatusNames.get(status)}</WildHealthStatusLabel>\n }\n }\n\n const displayAction = (status: OrderStatus, order: OtherOrderModel) => {\n if (status === OrderStatus.Signed) {\n return <IconButton onClick={() => handleDownloadOrder(order)} disabled={isProcessing}>\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n }\n\n return <IconButton onClick={() => handleDeleteOrder(order.id)} disabled={isProcessing}>\n <Delete className={classes.deleteIcon} />\n </IconButton>\n }\n\n const renderContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (state === OtherOrdersViewState.UpdateOrder) {\n return <NewOtherOrderComponent patientId={patientId} targetOrder={targetOrder} handleGoBack={handleGoBack}/>\n }\n\n if (state === OtherOrdersViewState.NewOrder) {\n return <NewOtherOrderComponent patientId={patientId} targetOrder={null} handleGoBack={handleGoBack}/>\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message={`No ${title} yet.`} />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={`diagnostic-order-cell-${index}`} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n orders.map((item, index) => {\n return <WildHealthTableRow key={`diagnostic-order-row-${index}`}>\n <WildHealthTableCell align=\"left\">\n <Link\n id='link-to-diagnostic-order'\n color={colors.main}\n onClick={() => handleOpenOrder(item)}\n >\n <Box pr={0.5} color={colors.main} fontWeight=\"500\">{displayName(item)}</Box>\n </Link>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayValue(item.orderedAt)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayStatus(item.status)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayAction(item.status, item)}\n </WildHealthTableCell>\n </WildHealthTableRow>\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const header = (\n <Box display='flex' justifyContent='space-between'>\n <span>\n {title}\n </span>\n <ProtectedElement\n element={\n <Box>\n <WildHealthButton id=\"diagnostic-order-new\" onClick={() => handleNewOrder()}>\n New Order\n </WildHealthButton>\n </Box>\n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n )\n\n return (\n <WildHealthHeaderComponent title={header}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </WildHealthHeaderComponent>\n );\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n [theme.breakpoints.down('xs')]: {\n padding: 16,\n minHeight: 'calc(100vh - 225px)',\n },\n },\n downloadIcon: {\n fill: colors.main\n },\n deleteIcon: {\n fill: colors.bad\n }\n })\n);\n","import {useEffect, useState} from \"react\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {\n HealthSummaryNoteKeySectionNames,\n IcdCode,\n NotesType\n} from \"../../../notes/models/notes.models\";\nimport {icdCodesService} from \"../../../notes/services/icdCodes.service\";\nimport {Observable, Subscription} from \"rxjs\";\nimport {notesService, SignOffModel} from \"../../../notes/services/notes.service\";\nimport {AddOnModel} from \"../../../addons/models/addOns.models\";\nimport {addOnsQuery} from \"../../../addons/stores\";\nimport {OrderType} from \"../../models/orders.models\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {CoverageModel} from \"../../../insurance/models/insurance.models\";\nimport {insuranceQuery} from \"../../../insurance/stores/insurance.query\";\nimport {insuranceService} from \"../../../insurance/services/insurance.service\";\nimport {CoverageStatus} from \"../../../insurance/enums/coverageStatus\";\nimport {CreateReferralOrderItemModel, ReferralOrderModel} from \"../../models/referralOrders.models\";\nimport {referralOrdersService} from \"../../services/referralOrders.service\";\nimport {EmployeeType} from \"../../../employee/models/employee.enums\";\nimport {snackService} from \"../../../common/snack/state\";\nimport {addOnsService} from \"../../../addons/services/addOns.service\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {healthSummaryService} from \"../../../healthSummary/services/healthSummary.service\";\nimport {HealthSummaryMapModel} from \"../../../healthSummary/models/healthSummary.models\";\nimport {healthSummaryQuery} from \"../../../healthSummary/stores\";\nimport {getKey} from \"../../../healthSummary/helpers/healthSummaryHelper\";\nimport {getOrderItemDescription} from \"../../helpers/get-order-item-description\";\n\ninterface CreateReferralOrderContent {\n patientName: string;\n dateOfBirth: Date | string;\n insuranceProvider: string;\n insuranceId: string;\n clinicalReasonForReferral: string;\n urgencyTimeToAppointment: string;\n diagnosis: IcdCode[];\n primaryDiagnosesId: number | null;\n patientPreferences: string;\n}\n\ninterface OrdersComponentState {\n isLoading: boolean;\n isLoadingIcd: boolean;\n isProcessing: boolean;\n orderId: number;\n employeeId: number;\n content: CreateReferralOrderContent;\n searchQuery: string;\n diagnosis: IcdCode[];\n addOns: AddOnModel[];\n item: CreateReferralOrderItemModel;\n}\n\nconst defaultInitialContent: CreateReferralOrderContent =\n {\n patientName: '',\n dateOfBirth: '',\n insuranceProvider: '',\n insuranceId: '',\n clinicalReasonForReferral: '',\n urgencyTimeToAppointment: '',\n diagnosis: [],\n primaryDiagnosesId: null,\n patientPreferences: '',\n }\n\nexport function useFacade(patientId: number, targetOrder: ReferralOrderModel | null, handleGoBack: Function): [\n OrdersComponentState,\n () => void,\n () => void,\n () => void,\n () => void,\n (value) => void,\n (primaryDiagnosisId: number | null) => void,\n (value: string, id: number) => void,\n (value: string) => void,\n (value: string) => void,\n (value: string) => void,\n (value: string) => void,\n (value: string) => void,\n () => boolean,\n () => boolean,\n (searchQuery: string) => Observable<IcdCode[]>\n] {\n const [state, setState] = useState({\n isLoading: true,\n isLoadingIcd: false,\n isProcessing: false,\n employeeId: authQuery.getEmployeeId(),\n searchQuery: '',\n diagnosis: [],\n content: defaultInitialContent,\n addOns: [],\n item: null,\n orderId: null,\n } as OrdersComponentState);\n\n const canConfirm = (): boolean => {\n return state.item\n && state.content.insuranceId\n && state.content.clinicalReasonForReferral\n && state.content.diagnosis\n && state.content.diagnosis.find(x => x.id === state.content.primaryDiagnosesId)\n && state.content.insuranceProvider\n && state.content.urgencyTimeToAppointment\n && !state.isProcessing\n && authQuery.getEmployeeType() === EmployeeType.Provider\n }\n\n const canSendForApproval = (): boolean => {\n return state.item\n && state.content.insuranceId\n && state.content.clinicalReasonForReferral\n && state.content.diagnosis\n && state.content.diagnosis.find(x => x.id === state.content.primaryDiagnosesId)\n && state.content.insuranceProvider\n && state.content.urgencyTimeToAppointment\n && !state.isProcessing\n }\n\n const handleSendForApproval = () => {\n notesService.openSignOff({\n patientId: patientId,\n noteType: NotesType.HistoryAndPhysicalFollowUp\n } as SignOffModel).subscribe(([employeeId, _]) => {\n\n setState(state => ({...state, isProcessing: true}))\n const cb = () => setState(state => ({...state, isProcessing: false}));\n const modelUpdate = {\n id: state.orderId,\n employeeId: employeeId,\n items: [state.item],\n data: {\n ...state.content,\n diagnosis: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: true,\n isCompleted: false,\n }\n const modelCreate = {\n patientId: patientId,\n employeeId: employeeId,\n items: [state.item],\n data: {\n ...state.content,\n diagnosis: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: true,\n isCompleted: false,\n }\n\n !state.orderId\n ? referralOrdersService.create(modelCreate).subscribe(\n () => {\n cb();\n snackService.success('New order is sent for approval!');\n handleGoBack();\n },\n cb)\n : referralOrdersService.update(modelUpdate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n })\n }\n\n const handleSaveAsDraft = () => {\n setState(state => ({...state, isProcessing: true}))\n const cb = () => setState(state => ({...state, isProcessing: false}));\n const modelCreate = {\n patientId: patientId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosis: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: false,\n }\n\n const modelUpdate = {\n id: state.orderId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosis: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: false,\n }\n\n !state.orderId\n ? referralOrdersService.create(modelCreate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n : referralOrdersService.update(modelUpdate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n }\n\n const handleDiscard = () => {\n setState(state => ({...state, isProcessing: true}));\n\n const cb = () => {\n setState(state => ({...state, isProcessing: false}));\n handleGoBack();\n }\n\n confirmService.confirm(\n 'Discard Order',\n 'Are you sure you want to quit without saving the order?',\n 'Yes',\n 'No',\n 'danger')\n .subscribe(\n () => {\n if (state.orderId) {\n referralOrdersService.delete(state.orderId).subscribe(cb, cb);\n } else {\n handleGoBack();\n }\n },\n );\n\n\n }\n\n const handleSaveAndComplete = () => {\n setState(state => ({...state, isProcessing: true}))\n const cb = () => setState(state => ({...state, isProcessing: false}));\n const modelCreate = {\n patientId: patientId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosis: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: true,\n }\n\n const modelUpdate = {\n id: state.orderId,\n employeeId: state.employeeId,\n items: state.item ? [state.item] : [],\n data: {\n ...state.content,\n diagnosis: JSON.stringify(state.content.diagnosis),\n primaryDiagnosesId: state.content.primaryDiagnosesId?.toString() ?? ''\n },\n sendForReview: false,\n isCompleted: true,\n }\n\n !state.orderId\n ? referralOrdersService.create(modelCreate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n : referralOrdersService.update(modelUpdate).subscribe(\n () => {\n cb();\n handleGoBack();\n },\n cb)\n }\n\n const handleDiagnosisChange = (value) => {\n if (value) {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n diagnosis: value\n }\n }));\n }\n }\n\n const handlePrimaryDiagnosisChange = (primaryDiagnosisId: number | null) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n primaryDiagnosesId: state.content.primaryDiagnosesId === primaryDiagnosisId ? null : primaryDiagnosisId\n }\n }));\n }\n\n const handleAdditionalInformationChanges = (value: string, id: number) => {\n const diagnoses = state.content.diagnosis.find(el => el.id === id)\n diagnoses.additionalInformation = value;\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n diagnosis: state.content.diagnosis.map(x => x.id === id ? diagnoses : x).slice()\n }\n }));\n }\n\n const handleAddOnSelect = (value: string) => {\n setState(state => ({\n ...state,\n item: {\n addOnId: Number(value),\n description: '',\n }\n }));\n }\n\n const handleAddonDescriptionChanges = (value: string) => {\n setState(state => ({\n ...state,\n item: {\n ...state.item,\n description: value,\n }\n }));\n }\n\n const handleReasonChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n clinicalReasonForReferral: value\n }\n }));\n }\n\n const handleUrgencyChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n urgencyTimeToAppointment: value\n }\n }));\n }\n\n const handlePreferenceChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n patientPreferences: value\n }\n }));\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n () => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const handleAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n () => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (getIcdCodesAutoComplete && state.searchQuery) {\n setState(state => ({\n ...state,\n isLoadingIcd: true\n }));\n getIcdCodesAutoComplete(state.searchQuery).subscribe(\n (diagnosis) => {\n setState(state => ({\n ...state,\n diagnosis: diagnosis,\n isLoadingIcd: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n diagnosis: [],\n isLoadingIcd: false\n }));\n })\n }\n }, 1500);\n\n return () => clearTimeout(delayDebounceFn)\n }, [state.searchQuery]);\n\n const getDiagnosis = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n if (data && data.length) {\n const section = map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST);\n\n if (!section) {\n return;\n }\n\n const keys = [...section.items.map(x => x.key), section.key]\n const values = data.filter(x => keys.includes(getKey(x.key)));\n const diagnosis = values.map(x => {\n return {\n id: +x.key.match(/\\d+/g).join(''),\n code: x.value,\n description: x.name,\n additionalInformation: x.tooltip\n } as IcdCode\n }).filter(x => x.code?.length > 0);\n\n setState((state) => ({\n ...state,\n content: {\n ...state.content,\n diagnosis: diagnosis\n }\n }))\n }\n })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientModel>(patientsQuery.targetPatient$, patient => {\n if (patient && patient.id === patientId) {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n patientName: `${patient.firstName} ${patient.lastName}`,\n dateOfBirth: patient.birthday\n }\n }));\n }\n }),\n onEmit<CoverageModel[]>(insuranceQuery.coverages$, coverages => {\n if (coverages !== null && coverages.length) {\n const coverage = coverages\n .filter(x => x.status === CoverageStatus.Active)\n .sort((a, b) => a.priority - b.priority)\n .find(x => x.status === CoverageStatus.Active);\n\n if (coverage) {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n insuranceId: coverage?.memberId,\n insuranceProvider: coverage?.insurance?.name\n }\n }));\n } else {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n insuranceId: 'Cash only',\n insuranceProvider: 'Cash only',\n }\n }));\n }\n } else {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n insuranceId: 'Cash only',\n insuranceProvider: 'Cash only',\n }\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n if (targetOrder == null && map && map.length) {\n getDiagnosis(map)\n }\n })\n ];\n\n if (targetOrder !== null) {\n setState(state => ({\n ...state,\n orderId: targetOrder.id,\n item: !!targetOrder.items.length\n ? {\n addOnId: targetOrder.items[0].addOnId,\n description: getOrderItemDescription(targetOrder.items[0])\n }\n : null,\n employeeId: targetOrder.signedBy?.id\n ? targetOrder.signedBy.id\n : authQuery.getEmployeeId(),\n content: {\n patientName: targetOrder.data.patientName,\n dateOfBirth: targetOrder.data.dateOfBirth,\n insuranceProvider: targetOrder.data.insuranceProvider,\n insuranceId: targetOrder.data.insuranceId,\n clinicalReasonForReferral: targetOrder.data.clinicalReasonForReferral,\n urgencyTimeToAppointment: targetOrder.data.urgencyTimeToAppointment,\n diagnosis: JSON.parse(targetOrder.data.diagnosis),\n primaryDiagnosesId: +targetOrder.data.primaryDiagnosesId,\n patientPreferences: targetOrder.data.patientPreferences,\n }\n }));\n } else {\n insuranceService.getCoveragesByEmploy(patientId).subscribe();\n healthSummaryService.getMap();\n }\n\n addOnsService.getOrdering(authQuery.getPracticeId(), Gender.None, true).subscribe(() => {\n setState(state => ({\n ...state,\n addOns: addOnsQuery.getByType(OrderType.Referral),\n isLoading: false,\n }));\n });\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleSendForApproval,\n handleSaveAsDraft,\n handleDiscard,\n handleSaveAndComplete,\n handleDiagnosisChange,\n handlePrimaryDiagnosisChange,\n handleAdditionalInformationChanges,\n handleReasonChanges,\n handleUrgencyChanges,\n handlePreferenceChanges,\n handleAddOnSelect,\n handleAddonDescriptionChanges,\n canConfirm,\n canSendForApproval,\n handleAutoComplete\n ];\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500\n },\n subTitle: {\n color: colors.gray1,\n fontSize: 14,\n fontWeight: 400,\n paddingBottom: 10,\n },\n infoBox: {\n display: 'flex',\n width: '100%',\n height: 48,\n border: `1px solid ${colors.gray4}`,\n backgroundColor: colors.disabled,\n marginBottom: 16,\n color: colors.gray2,\n alignItems: 'center',\n paddingLeft: 20,\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n chip: {\n display: 'flex',\n gap: 6,\n alignItems: 'center',\n height: 27,\n margin: 2,\n lineHeight: '18px',\n backgroundColor: colors.separators,\n borderRadius: 2,\n padding: '4px 6px',\n overflow: 'hidden',\n fontSize: 16,\n fontWeight: 400,\n color: colors.black,\n '& svg': {\n fontSize: 18,\n cursor: 'pointer',\n fill: colors.gray1,\n margin: 0,\n },\n '& .MuiChip-label': {\n padding: 0,\n },\n },\n })\n);\n","import { Gender } from \"../../common/models/user.models\";\nimport {\n LabGroup,\n LabInputNotificationType, LabRangeType,\n Optimization\n} from \"../../inputs/models/input.models\";\nimport { ExercisePlanModel } from \"./exercisePlan.models\";\nimport { ReportType } from \"./reportTemplate.models\";\n\nexport enum HealthReportSections {\n RoadMap,\n Overall,\n DietAndNutrition,\n ExerciseAndRecovery,\n Sleep,\n Neurobehavioral,\n Microbiome,\n ChronicDisease,\n Longevity,\n Details,\n Labs,\n Appendix,\n GenomicGlossary,\n Recommendations,\n}\n\nexport enum RecommendationTypesNumbers {\n Cardiovascular = 0,\n Dementia = 1,\n Inflammation = 2,\n InsulinResistance = 3,\n Longevity = 4,\n ExerciseAndRecovery = 5,\n Microbiome = 6,\n Neurobehavioral = 7,\n Sleep = 8,\n SuperFoods = 9,\n CompleteDiet = 10,\n KryptoniteFoods = 11,\n VitaminsAndMicronutrients = 12,\n Methylation = 13,\n Macronutrient = 14,\n Supplements = 15,\n Extra = 16,\n}\n\nexport enum RecommendationTypes {\n Macronutrient,\n VitaminsAndMicronutrients,\n Methylation,\n KryptoniteFoods,\n SuperFoods,\n ExerciseAndRecovery,\n Sleep,\n Neurobehavioral,\n Microbiome,\n Cardiovascular,\n Dementia,\n InsulinResistance,\n Inflammation,\n Longevity,\n Supplements,\n Extra\n}\n\nexport const recommendationRowsCapacity: { [type: number]: number } = {\n [RecommendationTypesNumbers.Macronutrient]: 16,\n [RecommendationTypesNumbers.Methylation]: 10,\n [RecommendationTypesNumbers.VitaminsAndMicronutrients]: 13,\n [RecommendationTypesNumbers.KryptoniteFoods]: 25,\n [RecommendationTypesNumbers.SuperFoods]: 25,\n [RecommendationTypesNumbers.CompleteDiet]: 10,\n [RecommendationTypesNumbers.ExerciseAndRecovery]: 32,\n [RecommendationTypesNumbers.Longevity]: 18,\n [RecommendationTypesNumbers.Microbiome]: 12,\n [RecommendationTypesNumbers.Neurobehavioral]: 20,\n [RecommendationTypesNumbers.Sleep]: 8,\n [RecommendationTypesNumbers.Cardiovascular]: 38,\n [RecommendationTypesNumbers.Dementia]: 7,\n [RecommendationTypesNumbers.InsulinResistance]: 7,\n [RecommendationTypesNumbers.Inflammation]: 8,\n [RecommendationTypesNumbers.Extra]: 39,\n [RecommendationTypesNumbers.Supplements]: 39\n}\n\n\nexport const recommendationNameOld: { [type: number]: string } = {\n [RecommendationTypes.Macronutrient]: 'Macronutrients',\n [RecommendationTypes.Methylation]: 'Methylation',\n [RecommendationTypes.VitaminsAndMicronutrients]: 'Metabolism and Vitamins',\n [RecommendationTypes.KryptoniteFoods]: \"Kryptonite Foods\",\n [RecommendationTypes.SuperFoods]: \"Super Foods\",\n [RecommendationTypes.ExerciseAndRecovery]: \"Exercise and Recovery\",\n [RecommendationTypes.Longevity]: \"Longevity\",\n [RecommendationTypes.Microbiome]: \"Microbiome\",\n [RecommendationTypes.Neurobehavioral]: \"Neurobehavioral\",\n [RecommendationTypes.Sleep]: \"Sleep\",\n [RecommendationTypes.Cardiovascular]: \"Сardiovascular Disease\",\n [RecommendationTypes.Dementia]: \"Dementia\",\n [RecommendationTypes.InsulinResistance]: \"Insulin Resistance\",\n [RecommendationTypes.Inflammation]: \"Inflammation\",\n [RecommendationTypes.Supplements]: \"Supplements\"\n}\n\nexport const recommendationName: { [type: number]: string } = {\n [RecommendationTypesNumbers.Macronutrient]: 'Macronutrients',\n [RecommendationTypesNumbers.Methylation]: 'Methylation',\n [RecommendationTypesNumbers.VitaminsAndMicronutrients]: 'Metabolism and Vitamins',\n [RecommendationTypesNumbers.KryptoniteFoods]: \"Kryptonite Foods\",\n [RecommendationTypesNumbers.SuperFoods]: \"Super Foods\",\n [RecommendationTypesNumbers.ExerciseAndRecovery]: \"Exercise and Recovery\",\n [RecommendationTypesNumbers.Longevity]: \"Longevity\",\n [RecommendationTypesNumbers.Microbiome]: \"Microbiome\",\n [RecommendationTypesNumbers.Neurobehavioral]: \"Neurobehavioral\",\n [RecommendationTypesNumbers.Sleep]: \"Sleep\",\n [RecommendationTypesNumbers.Cardiovascular]: \"Сardiovascular Disease\",\n [RecommendationTypesNumbers.Dementia]: \"Dementia\",\n [RecommendationTypesNumbers.InsulinResistance]: \"Insulin Resistance\",\n [RecommendationTypesNumbers.Inflammation]: \"Inflammation\",\n [RecommendationTypesNumbers.Supplements]: \"Supplements\"\n}\n\nexport const dnaDefinitions: { [type: string]: string } = {\n \"ACE(rs4646994)\": \"Angiotensin converting enzyme. ACE (angiotensin-converting enzyme) is the gene with the greatest evidence supporting its role in athletic performance. It affects both blood pressure and the fluid/salt balance in our blood.\",\n \"AGT(rs699)\": \"Angiotensinogen. AGT (Angiotensinogen) is associated with blood vessel constriction and blood pressure control.\",\n \"ACTN3(rs1815739)\": \"Alpha - actinin - 3. ACTN3 (Alpha-actinin-3) is an essential structural component exclusively present in fast twitch muscle fibers. \",\n \"TRHR(rs16892496)\": \"Thyrotropin - releasing hormone receptor. TRHR (thyrotropin-releasing hormone receptor) helps to regulate metabolic rate, leading towards growth of lean body mass and release of stored fuel during exercise. \",\n \"PPAR-α(rs4253778)\": \"Peroxisome proliferator - activated receptor alpha. PPARa is a key regulator of carbohydrate and fat metabolism, helping muscle burn fuel during endurance work. \",\n \"VEGF(rs2010963)\": \"Vascular endothelial growth factor. Associated with: New blood vessel growth to support exercise activities. Regular exercise and progressive training programs can create a 4-fold increase in levels of VEGF. \",\n \"VDR(rs731236)\": \"Vitamin D receptor. VDR reflects serum Vitamin D3 levels, which regulate calcium and phosphorus concentration, helping to support the immune system. \",\n \"IL6(rs1800795)\": \"Interleukin 6. IL6 is a cytokine immune modulator that regulates the inflammatory process involved in repair from a training stimulus.\",\n \"ADRB2(rs1042714)\": \"Adrenoceptor Beta 2. ADRB2 is a regulator of epinephrine function and helps mobilize macronutrients for fuel during training. \",\n \"ADRB2(rs1042713)\": \"Adrenoceptor Beta 2. ADRB2 is a regulator of epinephrine function and helps mobilize macronutrients for fuel during training. \",\n \"BDKRB2(rs1799722)\": \"Bradykinin Receptor B2.BDKRB2 helps to regular blood pressure through vasodilation, and has effects on cell hydration and muscular contraction. \",\n \"COL5A1(rs12722)\": \"Collagen 5 Alpha 1. COL5A1 is a structural component (the alpha-1 chain) of type V collagen.\",\n \"NRF(rs7181866)\": \"Nuclear Respiratory Factor 2. NRF improves respiratory capacity and cellular energy mobilization.\",\n \"PPARGC1A(rs8192678)\": \"Peroxisome Proliferator - PPARGC1A regulates energy through production of mitochondria, fat and carbohydrate metabolism and conversion from fast to slow twitch muscle fibers.\",\n \"CRP(rs1205)\": \"C - Reactive Protein. C-Reactive Protein: CRP is an acute phase reactant increased in states of inflammation. \",\n \"SOD2(rs4880)\": \"Super Oxide Dismutase 2. Associated with: Scavenging of free radicals in the cells, especially within the mitochondria. It is therefore an antioxidant protector of cellular health.\",\n \"IL6R(rs4129267)\": \"Interleukin - 6 Receptor. The receptor for immune messenger Interleukin-6 (IL-6). IL-6 stimulates the immune response to training and is involved in the inflammatory repair process.\",\n \"TNF(rs1800629)\": \"Tumor Necrosis Factor. Tumor Necrosis Factor: A controller of immune cells and inflammation. \",\n \"GDF5(rs224329)\": \"Growth Differentiation Factor 5. Growth Differentiation Factor 5: Expressed in the CNS and coupled to the healing and development of bones, cartilage and neurons. \",\n \"COL1A1(rs1800012)\": \"Collagen 1 Alpha 1. Collagen 1 Alpha 1: Produces Type 1 Collagen, the fibrillar collagen found in most connective tissues and primary collagen that comprises tendons, ligaments and cartilage. \",\n \"SLC30A8(rs13266634)\": \"Zinc transporter protein member 8. Zinc transporter involved in the accumulation of zinc in the cell and related to insulin secretion and storage. \",\n \"PPAR-α(rs135549)\": \"Peroxisome proliferator-activated receptor alpha is a master regulator of lipid, carbohydrate and amino acid metabolism. PPAR-α is found primarily in brown adipose tissue and the liver, and, to a lesser extent, the kidneys, skeletal muscle, heart and both the small and large intestines. PPAR-α plays an essential role in the process of ketogenesis (the production of ketone bodies from the oxidation of fat, which typically occurs during carbohydrate restriction or fasting). Activation of PPAR-α promotes the uptake, utilization and catabolism of fatty acids by activating genes involved in fatty acid transport, binding, activation and oxidation. PPAR-α is activated primarily through the binding of polyunsaturated fatty acids. The G allele reduces activation and function of PPAR-a and leads to lipid abnormalities with high SFA and low PUFA intake. \",\n\n \"PPARG(rs1801282)\": \"Peroxisome proliferator - activated receptor gamma. PPARG activates genes that stimulate lipid uptake and adipogenesis by fat cells. It also stimulates insulin sensitivity in muscle cells and increases gluconeogenesis in the liver. People with the G allele have increased obesity and diabetes risk with high SFA diet and low PUFA and MUFA. PUFAs directly activate the PPARG expression. \",\n \"PPARG(rs3856806)\": \"Peroxisome proliferator - activated receptor gamma. PPARG activates genes that stimulate lipid uptake and adipogenesis by fat cells. It also stimulates insulin sensitivity in muscle cells and increases gluconeogenesis in the liver. People with the G allele have increased obesity and diabetes risk with high SFA diet and low PUFA and MUFA. PUFAs directly activate the PPARG expression. \",\n \"TCF7L2(rs7903146)\": \"Transcription Factor 7 - like 2. A cellular transcription factor influencing several genes related to glucose metabolism and thus associated with risk of diabetes.\",\n \"FTO(rs9939609)\": \"Fat Mass and Obesity associated Protein. The A allele is associated with higher ghrelin levels and less satiety. This increases appetite and leads to obesity risk. The first meal of the day affects ghrelin levels. Eat a complete meal full of fiber and protein to help reduce ghrelin level later in the day. \",\n \"FTO(rs1121980)\": \"Fat Mass and Obesity associated Protein. The FTO gene plays a major role in genetic risk for obesity. Multiple SNPs of the FTO gene lead to risk of obesity and insulin resistance especially in the setting of a high saturated fat diet and low PUFAs. \",\n \"FTO(rs8050136)\": \"Fat Mass and Obesity associated Protein. The FTO gene plays a major role in genetic risk for obesity. Multiple SNPs of the FTO gene lead to risk of obesity and insulin resistance especially in the setting of a high saturated fat diet and low PUFAs. \",\n \"FTO(rs17817449)\": \"Fat Mass and Obesity associated Protein. The FTO gene plays a major role in genetic risk for obesity. Multiple SNPs of the FTO gene lead to risk of obesity and insulin resistance especially in the setting of a high saturated fat diet and low PUFAs. \",\n \"FTO(rs1558902)\": \"Fat Mass and Obesity associated Protein. The FTO gene plays a major role in genetic risk for obesity. Multiple SNPs of the FTO gene lead to risk of obesity and insulin resistance especially in the setting of a high saturated fat diet and low PUFAs. \",\n \"FTO(rs1421085)\": \"Fat Mass and Obesity associated Protein. This FTO SNP is associated with reduced thermogenesis and less brown adipose tissue. The C allele is the risk allele. \",\n \"ADRB3(rs4994)\": \"Adrenergic beta - 3 receptor. The protein encoded by this gene belongs to the family of beta adrenergic receptors, which mediate catecholamine-induced activation of adenylate cyclase through the action of G proteins. This receptor is located mainly in the adipose tissue and is involved in the regulation of lipolysis and thermogenesis. \",\n \"GIPR(rs2287019)\": \"Gastric inhibitory polypeptide. The C allele is associated with greater insulin secretion for the same amount of food. GIPR is also involved in glucose and fat uptake by fat cells. This seems to be mitigated by a high carb, low fat diet. \",\n \"IRS1(rs2943641)\": \"Insulin receptor substrate 1 (IRS1). \",\n \"GSTP1(rs1695)\": \"Glutathione transferase enzyme most active. Glutathione is one of the most potent antioxidant systems that the body has and is orders of magnitude more powerful than supplemental Vitamin E (alpha tocopherol). Supplemental Vitamin E has been shown to have a negative impact on individuals with A alleles by raising the levels of pro-inflammatory cytokines in the blood. However, people that have the less active version of GSTP1, may possibly have an anti-inflammatory benefit from a low dose (75 IU) supplemental Vitamin E. \",\n \"VitDBindingProtein(rs7041)\": \"Vitamin D Binding Protein. \",\n \"CYP2R1(rs2060793)\": \"Vitamin D hydroxylase. \",\n \"Vit D Binding Protein(rs2282679)\": \"Vitamin D Binding Protein. Vitamin D binding protein is important for transport of the inactive and active forms of Vitamin D to the tissues and organs. \",\n \"FUT2(rs602662)\": \"fucosyltransferase 2. \",\n \"FUT2(rs601338)\": \"fucosyltransferase 2. \",\n \"BCMO1(rs12934922)\": \"Beta - carotene monooxygenase. \",\n \"BCMO1(rs7501331)\": \"Beta - carotene monooxygenase. \",\n\n \"SLC23A1(rs33972313)\": \"Vitamin C transporterintestional cells. Reduced function of primary Vitamin C transporter in intestines. Requires increased Vitamin C levels as well as focus on Glut 1 transporters which requires glucose for Vitamin C transport. Each A allele is associated with a 5 micromol/L reduction in Vitamin C serum levels. \",\n \"HFE(rs1800562)\": \"Hemochromotosis SNP. \",\n \"CYP1A2(rs762551)\": \"Caffeine metabolism. \",\n \"PEMT(rs7946)\": \"Phosphatidylethanolamine - N - methyltransferase (PEMT). PEMT is responsible for choline production in the liver and thus important for methylation, acetylcholine production, lipid transport out of the liver and may be associated with fatty liver disease. \",\n \"FADS1(rs174548)\": \"Fatty acid delta - 5 - desaturase. Phosphatidylcholine is important for production of cellular membranes, neurotransmitters, and plays a role in methylation, including the reduction of dopamine and generation of creatine. \",\n \"MTHFD1(rs2236225)\": \"methylenetetrahydrofolate dehydrogenase. \",\n \"MTRR(rs1801394)\": \"Methionine synthase reductase. MTRR activates the enzyme methionine synthase (requiring Vitamin B2) . MTR remethylates homocysteine to methionine using B12 as a cofactor. This reaction is critical to folate metabolism and methionine cycling for the methylation pathway. \",\n \"MTHFR(rs1801131)\": \"5 - methylenetetrahydrofolate reductase. MTHFR converts homocysteine to methionene in a critical step in the methylation pathway. The MTHFR gene is well studied. 5 different SNPs alter it's function from 15%-100% effectivity. Presence of one or more variants of this enzyme may warrant Methylfolate, methy-B12, P-5-P, tri-methylglycine, or choline supplementation if there is evidence or reduced methylation which is often identified by homocysteinemia. \",\n \"MTHFR(rs1801133)\": \"5 - methylenetetrahydrofolate reductase. MTHFR converts homocysteine to methionine in a critical step in the methylation pathway. The MTHFR gene is well studied. 5 different SNPs alter it's function from 15%-100% effectivity. Presence of one or more variants of this enzyme may warrant Methylfolate, methy-B12, P-5-P, tri-methylglycine, or choline supplementation if there is evidence or reduced methylation which is often identified by homocysteinemia. \",\n \"UCP1(rs1800592)\": \"Uncoupling protein 1. UCP1 is a protein found in mitochondria in brown fat and involved in thermogenesis and heat production. The risk allele is associated with reduced protein and thus reduced thermogenesis, heat production and resting metabolic rate. Thermogenesis may be improved by exercise and cold exposure. \",\n \"CRY2(rs11605924)\": \"Cryptochrome circadian regulator. \",\n \"PGC-1a(rs8192678)\": \"Peroxisome Proliferator - PPARGC1A regulates energy through production of mitochondria, fat and carbohydrate metabolism and conversion from fast to slow twitch muscle fibers.\",\n \"FADS2(rs1535)\": \"fatty acid delta - 6 desaturase. The fatty acid delta-6 desaturase (FADS2) enzyme is responsible for elongating the polyunsaturated fatty acid alpha- linolenic acid (ALA) and converting it into the omega-3 fatty acid eicosapentaenoic acid (EPA). \",\n \"ACE(rs4343)\": \"Angiotensin - Converting Enzyme. \",\n \"FADS1(rs174550)\": \"Fatty acid desaturase 1. \",\n \"SH2B3(rs3184504)\": \"SH2B adaptor protein 3. \",\n \"MTNR1B(rs10830963)\": \"Melatonin Receptor. Melatonin receptors are found on the pancreas and may influence insulin secretion. \",\n \"ADORA2A(rs5751876)\": \"Adenosine A2a receptor (Caffeine antagonizes). \",\n \"MTNR1A(rs12506228)\": \"Melatonin Receptor. Melatonin receptor mediated Alzheimer's risk. \",\n \"NPAS2(rs2305160)\": \"Circadian associated transcriptional activator. Transcriptional activator which forms a core component of the circadian clock. Risk allele is associated with alterations in metabolism especially related to the circadian rhythm. Risk seems to increased by loss of sleep and eating late meal. Patients with this risk allele may see increases in CRP and insulin resistance with late meals. The risk may be reduced by longer fasting periods at night. For example, breast cancer risk has been reduced in studies by 36% simply by fasting for 12+ hours overnight. \",\n \"SLC01B1(rs4149056)\": \"Solute carrier organic anion transporter\",\n \"SLC01B1(rs4363657)\": \"Solute carrier organic anion transporter\",\n \"COQ2(rs4693596)\": \"Coenzyme Q10. \",\n \"HMGCR(rs17238540)\": \"hydroxy - methylglutaryl coenzyme A reductase. \",\n \"PCSk9(rs11591147)\": \"Proprotein convertase subtilisin/kexin type 9. PCSK9 loss of function variant allele T, 1-3% of population, results in less LDL receptor reduction and thus increased LDL clearance from the blood. \",\n \"Jak2(rs12340895)\": \"Jak2 gene and blood cancer. \",\n \"SLC23A1(rs10063949)\": \"Vitamin C Transporter. Risk of Crohn's, IBD. \",\n \"COMT(rs4680)\": \"catechol - Omethyltransferase breaks down dopamine (requires methylation). AKA Worrier Vs. Warrior gene.\",\n \"BDNF(rs6265)\": \"Brain - derived neurotrophic factor. BDNF is a neurotrophin that is involved in neuronal health, growth of new neurons and proliferation of existing neurons. \",\n \"AKT1(rs2494732)\": \"Alpha Serine/Threonine Kinase 1. Response to Cannabis associated psychosis risk\",\n \"FAAH(rs324420)\": \"Fatty Acid Amidee Hydrolase. \",\n \"TERT(rs2736100)\": \"telomerase reverse transcript as a part of Telomerase, an enzyme capable of lengthening telomeres. \",\n \"OBFC1(rs9420907)\": \"OBFC1enzyme involved in telomere maintenance. \",\n \"RTEL1(rs755017)\": \"regulator of telomerase elongation helicase 1). \",\n \"ACYP2(rs11125529)\": \"Acylphosphatase 2. \",\n \"HSP70(rs1008438)\": \"Heat Shock Protein HSP1A1. \",\n \"HSP70(rs1043618)\": \"Heat Shock Protein HSP1A1. \",\n \"HSP70(rs2075800)\": \"Heat Shock Protein HSP1AL.\",\n}\n\nexport enum HealthReportPages {\n StartPage,\n // RoadMap, // 21773 Remove Tree Page (probably need in future)\n // Overall, // 21772 Remove Overall Health Assessment (probably need in future)\n DietAndNutrition0,\n DietAndNutrition1,\n DietAndNutrition2,\n DietAndNutrition3,\n DietAndNutrition4,\n DietAndNutrition5,\n DietAndNutrition6,\n ExerciseAndRecovery0,\n ExerciseAndRecovery1,\n ExerciseAndRecovery2,\n ExerciseAndRecovery3,\n ExerciseAndRecovery4,\n ExerciseAndRecovery5,\n ExerciseAndRecovery6,\n ExerciseAndRecovery7,\n Sleep0,\n Sleep1,\n Neurobehavioral0,\n Neurobehavioral1,\n Microbiome0,\n Microbiome1,\n Microbiome2,\n ChronicDisease0,\n ChronicDisease1,\n ChronicDisease2,\n ChronicDisease3,\n ChronicDisease4,\n ChronicDisease5,\n Longevity0,\n Longevity1,\n Longevity2,\n Supplements,\n Details5,\n Appendix,\n Details1,\n Details2,\n Details3,\n Details4,\n Recommendations,\n}\n\nexport enum HealthReportMode {\n EditMode = 0,\n ReadonlyMode = 1,\n PrintMode = 2\n}\n\nexport enum HealthReportVersion {\n SetRecommendation = '3.0.0.0',\n New = '2.0.0.0',\n OldVersion = '1.8.0.0',\n}\n\nexport enum HealthReportDialogName {\n New = 'Generate New Report',\n Update = 'Update Report',\n}\n\nexport enum RecommendationSetType {\n Compare = 'Compare With Previous Report',\n New = 'Use New Set of Recommendations',\n Previous = 'Use Set from Selected Report',\n NewAndSkipReview = 'Use New Set of Recommendations and Skip Review'\n}\nexport interface ApoeModel {\n status: string;\n recommendation: string;\n}\n\nexport interface EpiGeneticAge {\n biologicalAge: number;\n rateOfAging: number;\n rateOfAgingPercentile: number;\n result: string;\n isCompleted: boolean;\n}\n\nexport interface ReportRecommendationDefaultModel {\n content: string;\n order: number,\n id: number\n}\n\nexport interface HealthReportRecommendationDefaultModel {\n recommendationType: number;\n recommendationId: number;\n baseId: number;\n recommendation: ReportRecommendationDefaultModel;\n id: number;\n}\n\nexport interface RecommendationtSimpleModel {\n id?: number;\n recommendationId?: number | string;\n baseId: number;\n type: number;\n content: string;\n}\n\nexport interface RecommendationDisplayModel extends RecommendationtSimpleModel {\n isSelected?: boolean;\n}\n\nexport interface RecommendedMacrosModel {\n carb: number;\n fat: number;\n pro: number;\n dietName: string;\n}\n\nexport interface MicrobiomeResistanceModel {\n values: MicrobiomeValueModel[];\n}\n\nexport enum MicrobiomeType {\n Flora = 1,\n Tmao = 2\n}\n\nexport interface ReportStatusModel {\n status: HealthReportStatus;\n date: Date;\n version: HealthReportVersion;\n comment: string;\n submittedBy: string;\n}\n\nexport interface ReportStatusUnderReviewModel {\n status: HealthReportStatus;\n date: Date;\n version: string;\n comment: string;\n}\nexport interface MicrobiomeValueModel {\n type: MicrobiomeType;\n name: string;\n value: number | null;\n risk: string | null;\n comment: string;\n ranges: MicrobiomeValueRangeModel[];\n}\n\nexport interface MicrobiomeValueRangeModel {\n from: number;\n to: number;\n risk: string;\n}\n\nexport interface HealthReportOwnerModel {\n id: number;\n firstName: string;\n lastName: string;\n}\n\nexport enum HealthReportStatus {\n Preparing = 0,\n InProgress = 1,\n Completed = 5,\n Failed = 10,\n Submitted = 15,\n UnderReview = 12,\n}\n\nexport const healthReportStatusNames = new Map<HealthReportStatus, string>([\n [HealthReportStatus.Preparing, 'Preparing'],\n [HealthReportStatus.InProgress, 'In Progress'],\n [HealthReportStatus.Completed, 'Completed'],\n [HealthReportStatus.Failed, 'Failed'],\n [HealthReportStatus.Submitted, 'Published'],\n [HealthReportStatus.UnderReview, 'Under Review'],\n]);\n\nexport enum DnaImportance {\n NotImportant = 0,\n ModerateImportance = 1,\n HighImportance = 2\n}\n\nexport interface KeyValueModel {\n key: string;\n value: string;\n}\n\nexport interface DnaModel extends KeyValueModel {\n importance: DnaImportance;\n}\n\nexport interface DnaDataSetModel {\n dna: DnaModel[];\n}\n\nexport interface ScoreModel extends DnaDataSetModel {\n result: string;\n score: number;\n adjustedMaxScore: number;\n scorePercent: number;\n isCalculated: boolean;\n}\n\nexport interface ReportsUnderReviewModel {\n id: number,\n createdAt: string,\n status: ReportStatusUnderReviewModel,\n owner: HealthReportOwnerModel,\n}\n\nexport interface RecommendationModel {\n content: string;\n manualContent: string;\n printableContent: string;\n}\nexport const getFullRecommendationContentNew = (recommendation: RecommendationtSimpleModel[], type?: RecommendationTypesNumbers): string => {\n\n if (!recommendation || !recommendation.length) {\n return \"\"\n }\n\n if (type?.toString()) {\n return recommendation.filter(el => el.type === type).reduce(\n (previousValue, currentValue) => previousValue + '\\n\\n' + currentValue.content,\n '').slice(2)\n }\n\n return recommendation.reduce(\n (previousValue, currentValue) => previousValue + '\\n\\n' + currentValue.content,\n '').slice(2)\n}\nexport const getFullRecommendationContent = (recommendation: RecommendationModel): string => {\n if (!recommendation.manualContent || !recommendation.manualContent.length) {\n return recommendation.content;\n }\n\n if (!recommendation.content || !recommendation.content.length) {\n return recommendation.manualContent;\n }\n\n const separator = recommendation.content.endsWith('\\n')\n ? '\\n'\n : '\\n\\n';\n\n return recommendation.content + separator + recommendation.manualContent;\n}\n\nexport interface HealthReportModel {\n id: number;\n status: ReportStatusModel;\n owner: HealthReportOwnerModel;\n alphaReport: AlphaReportModel;\n overallReport: OverallReportModel\n dietAndNutritionReport: DietAndNutritionReportModel;\n exerciseAndRecoveryReport: ExerciseAndRecoveryReportModel;\n sleepReport: SleepReportModel;\n neurobehavioralReport: NeurobehavioralReportModel;\n microbiomeReport: MicrobiomeReportModel;\n longevityReport: LongevityReportModel;\n labReport: LabReportModel;\n reviewer: HealthReportReviewerModel;\n recommendations: RecommendationtSimpleModel[];\n}\n\nexport interface NewReviewerModel {\n id: number;\n patientId: number;\n reviewerId: number;\n}\n\nexport interface HealthReportReviewerModel {\n id: number;\n firstName: string;\n lastName: string;\n}\nexport interface HealthReportShortModel {\n id: number;\n createdAt: Date;\n status: ReportStatusModel;\n submittedBy: string;\n}\n\nexport interface AlphaReportModel {\n homir: number;\n hdlTrigRatio: number;\n chronologicalAge: number;\n realAge: number;\n gender: Gender;\n apoe: ApoeModel;\n epiGeneticAge: EpiGeneticAge;\n}\n\nexport interface RoadMapModel {\n brainOptimization: Optimization;\n mindOptimization: Optimization;\n bodyOptimization: Optimization;\n gutOptimization: Optimization;\n longevityOptimization: Optimization;\n bioHackingOptimization: Optimization;\n optimizationEstimation: string;\n optimizationStartDate: Date;\n}\n\nexport interface OverallReportModel {\n cancerRiskScore: ScoreModel;\n cardiovascularDiseaseRiskScore: ScoreModel;\n exerciseScore: ScoreModel;\n insulinResistanceScore: ScoreModel;\n microbiomeScore: ScoreModel;\n sleepScore: ScoreModel;\n wildHealthScore: ScoreModel;\n roadMap: RoadMapModel;\n supplementsRecommendation: RecommendationModel;\n}\n\nexport interface DietAndNutritionReportModel {\n recommendedMacros: RecommendedMacrosModel;\n carbonIntoleranceScore: ScoreModel;\n fatIntoleranceScore: ScoreModel;\n satFatIntoleranceScore: ScoreModel;\n cholineRiskScore: ScoreModel;\n folateScore: ScoreModel;\n tmaoRiskScore: ScoreModel;\n methylationScore: ScoreModel;\n insulinResistanceScore: ScoreModel;\n\n kryptoniteFoodDna: DnaDataSetModel;\n superFoodDna: DnaDataSetModel;\n vitaminsAndMicronutrientsDna: DnaDataSetModel;\n\n completeDietRecommendation: RecommendationModel;\n kryptoniteFoodsRecommendation: RecommendationModel;\n macronutrientRecommendation: RecommendationModel;\n methylationRecommendation: RecommendationModel;\n superFoodsRecommendation: RecommendationModel;\n vitaminsAndMicronutrientsRecommendation: RecommendationModel;\n apoeAccuracyScore: ApoeAccuracyScoreModel;\n}\n\nexport interface ApoeAccuracyScoreModel {\n message: string;\n result: string;\n score: number;\n adjustedMaxScore: number;\n scorePercent: number;\n isCalculated: boolean;\n dna: DnaModel[];\n apoe: string;\n}\n\nexport interface ExerciseAndRecoveryReportModel {\n exerciseDna: ScoreModel;\n exercisePlan: ExercisePlanModel;\n intensityScore: ScoreModel;\n recoveryScore: ScoreModel;\n strengthAndEnduranceScore: ScoreModel;\n\n recommendation: RecommendationModel;\n}\n\nexport interface SleepReportModel {\n circadianDna: DnaDataSetModel;\n recommendation: RecommendationModel;\n}\n\nexport interface NeurobehavioralReportModel {\n comtScore: ScoreModel;\n faahScore: ScoreModel;\n neurobehavioralDna: DnaDataSetModel;\n recommendation: RecommendationModel;\n}\n\nexport interface MicrobiomeReportModel {\n microbiomeResistance: MicrobiomeResistanceModel;\n recommendation: RecommendationModel;\n}\n\nexport interface LongevityReportModel {\n cancerRiskScore: ScoreModel;\n dementiaRiskScore: ScoreModel;\n metabolismScore: ScoreModel;\n oxidativeStressRiskScore: ScoreModel;\n telomersRiskScore: ScoreModel;\n cardiovascularDiseaseRiskScore: ScoreModel;\n inflammationRiskScore: ScoreModel;\n lifespanScore: ScoreModel;\n mesaRiskScore: ScoreModel;\n cvdRiskScore: ScoreModel;\n\n inflammationRecommendation: RecommendationModel;\n dementiaRecommendation: RecommendationModel;\n cardiovascularRecommendation: RecommendationModel;\n insulinResistanceRecommendation: RecommendationModel;\n recommendation: RecommendationModel;\n}\n\nexport interface LabReportModel {\n values: LabReportValueModel[];\n}\n\nexport interface LabReportValueModel {\n name: string;\n group: LabGroup;\n value: number | null;\n date: Date | null;\n range: LabReportValueRangeModel;\n notification: LabReportValueNotificationModel;\n}\n\nexport interface LabReportValueRangeModel {\n from: number | null;\n to: number | null;\n dimension: string;\n type: LabRangeType;\n}\n\nexport interface LabReportValueNotificationModel {\n type: LabInputNotificationType;\n message: string;\n}\n\nexport interface HealthReportDashboardModel {\n patientId: number;\n patientName: string;\n status: HealthReportStatus;\n statusDate: Date;\n statusVersion: string;\n reviewerId: number;\n reviewerName: string;\n patientHasImc: boolean;\n}\n\nexport enum ReportStrategy\n{\n BuiltIn = 1,\n AddOnFree = 2,\n AddOnPaid = 3\n}\n\nexport enum ReportSectionKey {\n CeliacDisease = 'celiacDisease',\n GlutenSensitivity = 'glutenSensitivity',\n Symptoms = 'symptoms',\n CausalityAndDiagnosis = 'causalityAndDiagnosis',\n RiskValues = 'riskValues',\n CeliacAndGlutenSensitivityRecommendation = 'celiacAndGlutenSensitivityRecommendation',\n CeliacHaplotypes = 'celiacHaplotypes',\n}\n\nexport interface ReportValueListModel extends KeyValueModel\n{\n label: string;\n}\n\nexport interface ContentModel\n{\n title: string;\n text: string;\n reportValueList?: ReportValueListModel[];\n recommendations?: KeyValueModel;\n}\n\nexport interface SectionModel\n{\n key: string;\n type: string;\n content: ContentModel;\n}\n\nexport interface PatientReportModel\n{\n patientId: number;\n reportTemplateId: number;\n reportTemplateName: string;\n contentJson: string;\n createdAt: Date;\n}\n\nexport interface PatientAddOnReportModel\n{\n reportType: ReportType;\n reportTypeName: string;\n reportStrategy: string;\n reportTemplateVersion: string;\n canGeneratePatientReport: boolean;\n cannotGeneratePatientReportReason: string;\n hasDnaResults: boolean;\n createdAt: Date;\n patientReportId?: number;\n}","import React from 'react';\nimport { useFacade } from \"./newReferralOrderComponent.hooks\";\nimport { Box, FormControl, FormControlLabel, RadioGroup, TextField } from '@material-ui/core';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { useStyles } from './newReferralOrderComponent.styles';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport moment from 'moment';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { SignOffDialogComponent } from '../../../notes/components/signOffDIalogComponent/SignOffDialogComponent';\nimport {ReferralOrderModel} from \"../../models/referralOrders.models\";\nimport {OrderDiagnosisComponent} from \"../orderDiagnosisComponent/OrderDiagnosisComponent\";\n\ninterface NewReferralOrderPageProps {\n patientId?: number;\n targetOrder?: ReferralOrderModel | null;\n handleGoBack: Function;\n}\n\nexport const NewReferralOrderComponent: React.FC<NewReferralOrderPageProps> = (props: NewReferralOrderPageProps) => {\n const { patientId, targetOrder, handleGoBack } = props;\n const classes = useStyles();\n\n const [\n {\n isLoading,\n isProcessing,\n content,\n addOns,\n item,\n },\n handleSendForApproval,\n handleSaveAsDraft,\n handleDiscard,\n handleSaveAndComplete,\n handleDiagnosisChange,\n handlePrimaryDiagnosisChange,\n handleAdditionalInformationChanges,\n handleReasonChanges,\n handleUrgencyChanges,\n handlePreferenceChanges,\n handleAddOnSelect,\n handleAddonDescriptionChanges,\n canConfirm,\n canSendForApproval,\n handleAutoComplete\n ] = useFacade(patientId, targetOrder, handleGoBack);\n\n const renderContent = () => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n return (\n <Box m={5}>\n <Box className={classes.title}>\n New Referral\n </Box>\n\n <Box mt={5}>\n <Box display='flex' flexWrap='wrap'>\n <Box width='50%' minWidth='200px' pr={3}>\n <Box className={classes.subTitle}>Patient Name</Box>\n <Box className={classes.infoBox}> {content.patientName}</Box>\n </Box>\n <Box minWidth='200px' width='50%' pr={3} >\n <Box className={classes.subTitle}>Date of Birth</Box>\n <Box className={classes.infoBox}>{moment(content.dateOfBirth).format('MM/DD/YYYY')}</Box>\n </Box>\n </Box>\n <Box display='flex' flexWrap='wrap'>\n <Box width='50%' minWidth='200px' pr={3}>\n <Box className={classes.subTitle}> Insurance Provider</Box>\n <Box className={classes.infoBox}>{!!content.insuranceProvider ? content.insuranceProvider : '-'}</Box>\n </Box>\n <Box minWidth='200px' width='50%' pr={3}>\n <Box className={classes.subTitle}> Insurance ID</Box>\n <Box className={classes.infoBox}>{!!content.insuranceId ? content.insuranceId : '-'}</Box>\n </Box>\n </Box>\n </Box>\n\n <Box mt={5}>\n <Box className={classes.subTitle}>Referral Requested</Box>\n <Box>\n <FormControl color='primary' component=\"fieldset\">\n <RadioGroup aria-label=\"gender\" name=\"gender1\" value={String(item?.addOnId)} onChange={(event) => handleAddOnSelect(event.target.value)}>\n {\n addOns.map((addOn) => {\n return <Box key={addOn.id}>\n <FormControlLabel value={String(addOn.id)} control={<WildHealthRadio />} label={addOn.name} />\n {item?.addOnId === addOn.id && addOn.needSpecification && <Box pl={2}>\n <TextField\n fullWidth\n size=\"small\"\n id={`add-on-${addOn.name}`}\n variant=\"outlined\"\n value={item.description}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handleAddonDescriptionChanges(v.target.value)\n }}\n />\n </Box>}\n </Box>\n })\n }\n </RadioGroup>\n </FormControl>\n </Box>\n </Box>\n <Box mt={5}>\n <Box className={classes.subTitle}>Clinical Reason for Referral</Box>\n <Box mb={2}>\n <TextField\n fullWidth\n size=\"small\"\n id='reason-for-referral'\n variant=\"outlined\"\n value={content.clinicalReasonForReferral}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handleReasonChanges(v.target.value)\n }}\n />\n </Box>\n <Box className={classes.subTitle}>Urgency (Time to Appointment)</Box>\n <Box mb={2}>\n <TextField\n fullWidth\n size=\"small\"\n id='urgency-referral'\n variant=\"outlined\"\n value={content.urgencyTimeToAppointment}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handleUrgencyChanges(v.target.value)\n }}\n />\n </Box>\n <Box className={classes.subTitle}>All Diagnoses</Box>\n <Box className={classes.subTitle}>\n (Please select a primary diagnosis by clicking the star icon)\n </Box>\n <Box mb={2}>\n <OrderDiagnosisComponent\n selectedDiagnosis={content.diagnosis}\n getAutoComplete={handleAutoComplete}\n handleChanges={handleDiagnosisChange}\n handlePrimaryChange={handlePrimaryDiagnosisChange}\n primaryDiagnosisId={content.primaryDiagnosesId}\n handleTextInfoChange={handleAdditionalInformationChanges}\n grid={6}\n />\n </Box>\n <Box className={classes.subTitle}>Patient Preference</Box>\n <Box mb={2}>\n <TextField\n fullWidth\n size=\"small\"\n id='preference-referral'\n variant=\"outlined\"\n value={content.patientPreferences}\n InputProps={{ className: 'input' }}\n onChange={(v) => {\n handlePreferenceChanges(v.target.value)\n }}\n />\n </Box>\n </Box>\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={!canSendForApproval()}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSendForApproval()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={!canConfirm()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={isProcessing}\n id='cancel-physical-history'\n onClick={() => handleDiscard()}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box>\n <Box className={classes.bgMain}>\n <BackTitleComponent\n title='Back to Orders'\n action={() => handleGoBack()}\n />\n </Box>\n {\n renderContent()\n }\n <SignOffDialogComponent isOrderCreate={true} />\n </Box>\n )\n}","import {Box, IconButton, Link, Table, TableBody, TableContainer, TableHead} from '@material-ui/core';\nimport moment from 'moment';\nimport React from 'react';\nimport {WildHealthButton} from '../../../common/components/wildHealthButton/WildHealthButton';\nimport {\n WildHealthHeaderComponent\n} from '../../../common/components/wildHealthHeaderComponent/WildHealthHeaderComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {CommonPlaceHolder} from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport {WildHealthTableCell} from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport {WildHealthTableRow} from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport {ReferralOrdersViewState, useFacade} from './referralsOrdersComponent.hooks';\nimport {useStyles} from './referralsOrdersComponent.styles';\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport {PermissionType} from \"../../../auth/models/auth.enums\";\nimport {toCurrentTimeZone} from '../../../timezones/helpers/timezone';\nimport {orderCreateStatusNames, OrderStatus} from '../../models/orders.models';\nimport {WildHealthStatusLabel} from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport {colors} from '../../../common/constants/colors';\nimport {Delete} from '@material-ui/icons';\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nimport {ReferralOrderModel} from '../../models/referralOrders.models';\nimport {NewReferralOrderComponent} from \"../newReferralOrderComponent/NewReferralOrderComponent\";\n\ninterface ReferralsOrdersComponentProps {\n patientId?: number;\n}\n\nexport const ReferralsOrdersComponent: React.FC<ReferralsOrdersComponentProps> = (props: ReferralsOrdersComponentProps) => {\n const { patientId } = props;\n\n const [\n {\n isLoading,\n isProcessing,\n orders,\n targetOrder,\n state\n },\n columns,\n handleDeleteOrder,\n handleDownloadOrder,\n handleOpenOrder,\n handleNewOrder,\n handleGoBack\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const title = 'Referrals Orders';\n\n const emptyPlaceHolder = () => {\n return <span className=\"text-accent-secondary\">(empty)</span>\n }\n\n const displayValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const displayName = (order: ReferralOrderModel) => {\n const data = order.status === OrderStatus.Completed \n ? displayValue(order.statusLogs.find(el => el.status === OrderStatus.Completed).date)\n : displayValue(order.orderedAt)\n if (order.items.length && order.items[0]?.description) {\n return `${order.items[0]?.description} ${data}`\n }\n\n return data\n }\n\n const displayStatus = (status: OrderStatus) => {\n switch (status) {\n case OrderStatus.Draft:\n return <WildHealthStatusLabel color='normal'>{orderCreateStatusNames.get(status)}</WildHealthStatusLabel>;\n case OrderStatus.Signed:\n return <WildHealthStatusLabel color='good'>{orderCreateStatusNames.get(status)}</WildHealthStatusLabel>\n case OrderStatus.UnderReview:\n return <WildHealthStatusLabel color='average1'>{orderCreateStatusNames.get(status)}</WildHealthStatusLabel>\n }\n }\n\n const displayAction = (status: OrderStatus, order: ReferralOrderModel) => {\n if (status === OrderStatus.Signed) {\n return <IconButton onClick={() => handleDownloadOrder(order)} disabled={isProcessing}>\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n }\n\n return <IconButton onClick={() => handleDeleteOrder(order.id)} disabled={isProcessing}>\n <Delete className={classes.deleteIcon} />\n </IconButton>\n }\n\n const renderContent = () => {\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (state === ReferralOrdersViewState.NewOrder) {\n return <NewReferralOrderComponent patientId={patientId} targetOrder={null} handleGoBack={handleGoBack}/>\n }\n\n if (state === ReferralOrdersViewState.UpdateOrder) {\n return <NewReferralOrderComponent patientId={patientId} targetOrder={targetOrder} handleGoBack={handleGoBack}/>\n }\n\n if (!orders.length) {\n return <CommonPlaceHolder message={`No ${title} yet.`} />\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n {\n columns.map((item, index) =>\n <WildHealthTableCell key={`referral-order-cell-${index}`} align=\"left\">\n {item}\n </WildHealthTableCell>\n )\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n orders.map((item, index) => {\n return <WildHealthTableRow key={`referral-order-row-${index}`}>\n <WildHealthTableCell align=\"left\">\n <Link\n id='link-to-referral-order'\n color={colors.main}\n onClick={() => handleOpenOrder(item)}\n >\n <Box pr={0.5} color={colors.main} fontWeight=\"500\">{displayName(item)}</Box>\n </Link>\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayValue(item.orderedAt)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayStatus(item.status)}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {displayAction(item.status, item)}\n </WildHealthTableCell>\n </WildHealthTableRow>\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const header = (\n <Box display='flex' justifyContent='space-between'>\n <span>\n {title}\n </span>\n <ProtectedElement\n element={\n <Box>\n <WildHealthButton id=\"referral-order-new\" onClick={() => handleNewOrder()}>\n New Referrals\n </WildHealthButton>\n </Box>\n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n )\n\n return (\n <WildHealthHeaderComponent title={header}>\n <Box className={classes.content}>\n {renderContent()}\n </Box>\n </WildHealthHeaderComponent>\n );\n}","import React from 'react';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { WildHealthTabControl } from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport { AppointmentsOrderComponent } from '../appointmentsOrderComponent/AppointmentsOrderComponent';\nimport { DnaComponent } from '../dnaComponent/DnaComponent';\nimport { EpigeneticComponent } from '../epigeneticComponent/EpigeneticComponent';\nimport { LabComponent } from '../labComponent/LabComponent';\nimport { useFacade } from \"./ordersComponent.hooks\";\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { OtherDiagnosticComponent } from '../otherDiagnosticComponent/OtherDiagnosticComponent';\nimport { ReferralsOrdersComponent } from '../referralsOrdersComponent/ReferralsOrdersComponent';\n\ninterface OrderHistoryComponentProps {\n patientId: number;\n}\n\nexport const OrdersComponent: React.FC<OrderHistoryComponentProps> = (props: OrderHistoryComponentProps) => {\n const { patientId } = props;\n\n const [\n {\n isLoading,\n gender\n },\n ] = useFacade(patientId);\n\n const items: TabItem[] = [\n {\n title: 'Lab orders',\n content: <LabComponent patientId={patientId} gender={gender} />,\n keepMounted: true,\n },\n {\n title: 'DNA orders',\n content: <DnaComponent patientId={patientId} addOnsLoading={isLoading} />,\n keepMounted: true,\n },\n {\n title: 'Epigenetic orders',\n content: <EpigeneticComponent patientId={patientId} />,\n keepMounted: true,\n },\n {\n title: 'Other Diagnostic Orders',\n content: <OtherDiagnosticComponent patientId={patientId}/>,\n keepMounted: true,\n },\n {\n title: 'Referrals Orders',\n content: <ReferralsOrdersComponent patientId={patientId} />,\n keepMounted: true,\n }\n ];\n\n if (!authQuery.isLicensingPractice()) {\n items.push({\n title: 'Appointments',\n content: <AppointmentsOrderComponent patientId={patientId} />,\n keepMounted: true,\n });\n }\n\n return <WildHealthTabControl items={items} />\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"recompose\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport {addOnsService} from \"../../../addons/services/addOns.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\n\ninterface ordersComponentState {\n isLoading: boolean;\n gender: Gender;\n}\n\nexport function useFacade(patientId): [ordersComponentState] {\n const [state, setState] = useState({\n isLoading: true\n } as ordersComponentState);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientModel>(patientsQuery.targetPatient$, patient => {\n if (patient && patient.id === patientId) {\n setState(state => ({\n ...state,\n gender: patient.gender\n }));\n const cb = () => setState(state => ({...state, isLoading: false}));\n addOnsService.getOrdering(authQuery.getPracticeId(), patient.gender).subscribe(cb, cb)\n }\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state];\n}","import React from \"react\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { ImageConstants } from '../../../../constants/image.constants';\n\nexport interface HealthReportPlaceHolderProps {\n message: string;\n}\n\nexport const HealthReportPlaceHolder: React.FC<HealthReportPlaceHolderProps> = (props: HealthReportPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n <WildHealthPlaceHolderBase message={props.message}>\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.emptyReportPath}\n alt=\"img\" className={classes.image} />\n </WildHealthPlaceHolderBase>\n );\n}\n","import React from 'react';\nimport {Dialog, DialogContent, DialogContentText, Box} from '@material-ui/core';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\n\ninterface PdfLoaderComponentProps {\n isOpen: boolean;\n}\nexport const PdfLoaderComponent : React.FC<PdfLoaderComponentProps> = (props: PdfLoaderComponentProps) => {\n const {isOpen} = props;\n return (\n <Box>\n <Dialog\n fullWidth\n open={isOpen}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n <DialogContent>\n <DialogContentText id=\"alert-dialog-description\">\n <Box p={3} display=\"flex\" justifyContent=\"flex-start\">\n <span className=\"size-1_25 text-medium text-accent\">PDF is being generated, please wait...</span>\n </Box>\n <Box mt={2}>\n <WildHealthLinearProgress/>\n </Box>\n </DialogContentText>\n </DialogContent> \n </Dialog>\n </Box>\n );\n}","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { PaginationModel } from \"../../common/pagination/models/pagination-models\";\nimport { snackService } from \"../../common/snack/state\";\nimport { HealthReportModel, HealthReportStatus, NewReviewerModel, RecommendationtSimpleModel, ReportsUnderReviewModel } from \"../models/healthReport.models\";\nimport { healthReportsStore, HealthReportsStore } from \"../stores/healthReportsStore\";\n\n/**\n * Provides method for working with health report\n */\nexport class HealthReportServices {\n private url = `${process.env.REACT_APP_API_URL}HealthReports`;\n\n constructor(private healthReportsStore: HealthReportsStore) {\n }\n\n /**\n * Returns all active coaches\n */\n public getLast(patientId: number): Observable<HealthReportModel> {\n let url = `${this.url}/latest?patientId=${patientId}`;\n return new Observable(observer => {\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public getById(reportId: number, patientId: number): void{\n let url = `${this.url}/${reportId}?patientId=${patientId}`;\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getByIdForRecommendation(reportId: number, patientId: number): void{\n let url = `${this.url}/${reportId}?patientId=${patientId}`;\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({reportForRecommendation: response.data});\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getAllUnderReview( skip: number, take: number,): Observable<any> {\n let url = `${this.url}/UnderReview?` +\n `skip=${skip}&` +\n `take=${take}`;\n return new Observable(observer => {\n Axios.get<PaginationModel<ReportsUnderReviewModel>>(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({\n reportsUnderReview: response.data.data,\n reportsTotalCount: response.data.totalCount\n })\n\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n\n public getAll(patientId: number): void {\n let url = `${this.url}?patientId=${patientId}`;\n\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({reports: response.data});\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getDefaultRecommendation(): void {\n let url = `${this.url}/recommendations`;\n\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({recommendationsDefault: response.data});\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public save(report: HealthReportModel): void {\n let url = `${this.url}`;\n Axios.put(url, report, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n snackService.success('Changes to health report were successfully saved!')\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public saveNewReviewer(model: NewReviewerModel): void {\n let url = `${this.url}/Reviewer`;\n Axios.put(url, model, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n snackService.success('Health report is passed to provider for approval!')\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public generate(patientId: number, recommendations: RecommendationtSimpleModel[]): Observable<any> {\n const data = {\n patientId: patientId,\n recommendations: recommendations,\n prefillReport: true,\n }\n\n return new Observable(observer => {\n Axios.post<HealthReportModel>(`${this.url}/Generate`, data, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n\n if (response.data.status.status === HealthReportStatus.Failed) {\n snackService.error(response.data.status.comment);\n } else {\n snackService.success('New report generated successfully!');\n }\n\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n\n public publish(reportId: number, patientId: number): Observable<any> {\n let url = `${this.url}/${reportId}/Publish?patientId=${patientId}`;\n return new Observable(observer => {\n Axios.post<HealthReportModel>(url, {}, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n\n if (response.data.status.status === HealthReportStatus.Failed) {\n snackService.error(response.data.status.comment);\n } else {\n snackService.success('Health report is successfully published and signed!');\n }\n\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n\n public regenerate(patientId: number, recommendations: RecommendationtSimpleModel[]): Observable<any> {\n const data = {\n patientId: patientId,\n recommendations: recommendations,\n prefillReport: true,\n }\n\n return new Observable(observer => {\n Axios.post(`${this.url}/Regenerate`, data, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n\n if (response.data.status.status === HealthReportStatus.Failed) {\n snackService.error(response.data.status.comment);\n } else {\n snackService.success('Health report was regenerated successfully!');\n }\n\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n\n public getNotificationAwaitingApproval(): Observable<any> {\n return new Observable(observer => {\n Axios.get(`${this.url}/UnderReview/any`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({\n notificationAwaitingApproval: response.data,\n });\n\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const healthReportServices = new HealthReportServices(healthReportsStore);\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { logoService } from '../../../services/logo.service';\nimport { HealthReportSections } from \"../models/healthReport.models\";\nimport { authQuery } from \"../../auth/stores/auth\";\nimport { colors } from '../../common/constants/colors';\nimport { PracticeProfileModel } from '../../account/models/practiceProfile.model';\nimport { healthReportsStore } from '../stores/healthReportsStore/healthReports.store';\n\nexport interface HealthReportBasePageProps {\n section: HealthReportSections;\n children: React.ReactNode;\n pageNumber: number;\n practice: PracticeProfileModel;\n firstPage?: boolean;\n}\n\ninterface ReportPageSettings {\n title: string;\n color: string;\n}\n\nconst reportSettings: { [name: string]: ReportPageSettings } = {\n [HealthReportSections.RoadMap]: { title: \"\", color: colors.white },\n [HealthReportSections.Overall]: { title: \"Overall Health Assessment\", color: \"#406b82\" },\n [HealthReportSections.DietAndNutrition]: { title: \"Diet & nutrition\", color: \"#626d4b\" },\n [HealthReportSections.ExerciseAndRecovery]: { title: \"Exercise & Recovery\", color: '#537b98' },\n [HealthReportSections.Sleep]: { title: \"Sleep\", color: \"#1a4663\" },\n [HealthReportSections.Neurobehavioral]: { title: \"Neurobehavioral\", color: \"#aab498\" },\n [HealthReportSections.Microbiome]: { title: \"Microbiome\", color: \"#8da1af\" },\n [HealthReportSections.ChronicDisease]: { title: \"Chronic Disease\", color: \"#949f87\" },\n [HealthReportSections.Longevity]: { title: \"Longevity\", color: \"#aab498\" },\n [HealthReportSections.Details]: { title: \"Health Report Summary\", color: \"#8ba551\" },\n [HealthReportSections.Labs]: { title: \"Labs\", color: \"#8ba551\" },\n [HealthReportSections.Appendix]: { title: \"Appendix\", color: \"#c7bfe6\" },\n [HealthReportSections.GenomicGlossary]: { title: \"Genomic Glossary\", color: \"#8ba551\" },\n [HealthReportSections.Recommendations]: { title: \"\", color: colors.white },\n}\n\nexport const HealthReportBasePage: React.FC<HealthReportBasePageProps> = (props: HealthReportBasePageProps) => {\n const {\n section,\n children,\n pageNumber,\n practice,\n } = props;\n\n const settings = reportSettings[section];\n\n\n const displayName = (): string => {\n const user = healthReportsStore.getCurrentReportOwner()\n return `${user?.firstName} ${user?.lastName}`;\n }\n\n const renderHeader = () => {\n const hasTitle = settings?.title && settings.title.length;\n\n return (\n <>\n {!authQuery.isLicensingPractice() &&\n <Box\n height={hasTitle ? '60%' : '100%'}\n display=\"flex\"\n justifyContent=\"center\"\n alignItems=\"center\"\n className=\"report-header width-report\">\n <Box className=\"logo\">\n <img src={logoService.getLogo().healthReport} alt=\"img\" />\n </Box>\n </Box>\n }\n {\n hasTitle &&\n <Box height={authQuery.isLicensingPractice() ? \"100%\" : \"40%\"} minHeight={authQuery.isLicensingPractice() ? \"100%\" : \"40%\"} display=\"flex\" justifyContent=\"center\" alignItems=\"center\"\n className=\"content-header width-report\" style={{ background: settings.color, color: colors.white }}>\n <span className=\"text-medium\" style={{ textTransform: \"uppercase\", color: colors.white, fontSize: \"2rem\" }}>{settings.title}</span>\n </Box>\n }\n </>\n )\n };\n\n const renderFooter = () => {\n return (\n <footer>\n {\n authQuery.isLicensingPractice()\n ? <Box display=\"flex\" justifyContent=\"center\">\n <span>{`${displayName()}, ${healthReportsStore.getCurrentReportOwner()?.id}`} </span>\n </Box>\n : <></>\n }\n <Box className=\"footer-content width-report\" display=\"flex\" justifyContent=\"space-between\">\n <Box />\n <Box display=\"flex\" justifyContent=\"center\">\n <ul>\n <li className=\"start-item\"><span>p: {practice.phoneNumber ? practice.phoneNumber : '800.975.1562'}</span></li>\n <li><span>e: {practice.email ? practice.email : 'info@wildhealth.com'}</span></li>\n <li>\n {\n authQuery.isLicensingPractice()\n ? <span>a: {practice.address.streetAddress1 ? practice.address.streetAddress1 : '535 Wellington Way'} # {practice.address.city ? practice.address.city : '330 Lexington'} {practice.address.state ? practice.address.state : 'KY'} {practice.address.zipCode ? practice.address.zipCode : '40503'}</span>\n : <span>{`${displayName()}, ${healthReportsStore.getCurrentReportOwner()?.id}`}</span>\n }\n </li>\n </ul>\n </Box>\n <Box px={5}>\n {pageNumber}\n </Box>\n </Box>\n </footer>\n )\n };\n\n return section === HealthReportSections.Recommendations\n ?\n <div className=\"width-a4 flat-scroll\">\n <Box height=\"100%\" >\n {children}\n </Box>\n </div>\n :\n <div className=\"page-a4 flat-scroll\">\n <Box height=\"10%\" className='width-report'>\n {renderHeader()}\n </Box>\n <Box height={authQuery.isLicensingPractice() ? '85%' : '87%'} className='width-report'>\n {children}\n </Box>\n <Box height={authQuery.isLicensingPractice() ? '5%' : '3%'} className='width-report'>\n {renderFooter()}\n </Box>\n </div>\n\n}\n\nexport const HealthReportMobileBasePage: React.FC<HealthReportBasePageProps> = (props: HealthReportBasePageProps) => {\n const {\n section,\n children,\n pageNumber,\n practice,\n firstPage = false\n } = props;\n\n const settings = reportSettings[section];\n\n\n const displayName = (): string => {\n const user = healthReportsStore.getCurrentReportOwner()\n return `${user?.firstName} ${user?.lastName}`;\n }\n\n const renderHeader = () => {\n const hasTitle = settings?.title && settings.title.length;\n\n return (\n <>\n {!authQuery.isLicensingPractice() &&\n <Box height=\"71px\">\n <Box display=\"flex\" height={'100%'} justifyContent=\"center\" alignItems=\"center\"\n className=\"report-header\">\n <Box className=\"mobile-logo\">\n <img src={logoService.getLogo().healthReport} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n }\n {\n hasTitle &&\n <Box height=\"37px\" minHeight={authQuery.isLicensingPractice() ? \"100%\" : \"40%\"} display=\"flex\" justifyContent=\"center\" alignItems=\"center\"\n className=\"content-header\" style={{ background: settings.color, color: colors.white }}>\n <span className=\"text-light-medium\" style={{ textTransform: \"uppercase\", color: colors.white, fontSize: \"18px\", letterSpacing: '0.04em' }}>{settings.title}</span>\n </Box>\n }\n </>\n )\n };\n\n const renderFooter = () => {\n return (\n <footer>\n {\n authQuery.isLicensingPractice()\n ? <Box display=\"flex\" justifyContent=\"center\">\n <span>{`${displayName()}, ${healthReportsStore.getCurrentReportOwner()?.id}`} </span>\n </Box>\n : <></>\n }\n <Box width={1} className=\"footer-content footer-divider\">\n <Box />\n <Box textAlign=\"center\">\n <ul>\n <li className=\"start-item\"><span>p: {practice.phoneNumber ? practice.phoneNumber : '800.975.1562'}</span></li>\n <li><span>e: {practice.email ? practice.email : 'info@wildhealth.com'}</span></li>\n </ul>\n {\n authQuery.isLicensingPractice()\n ? <span>a: {practice.address.streetAddress1 ? practice.address.streetAddress1 : '535 Wellington Way'} # {practice.address.city ? practice.address.city : '330 Lexington'} {practice.address.state ? practice.address.state : 'KY'} {practice.address.zipCode ? practice.address.zipCode : '40503'}</span>\n : <span>{`${displayName()}, ${healthReportsStore.getCurrentReportOwner()?.id}`}</span>\n }\n </Box>\n <Box px={2} textAlign=\"right\">\n {pageNumber}\n </Box>\n </Box>\n </footer>\n )\n };\n\n return section === HealthReportSections.Recommendations\n ?\n <Box className=\"page-mobile flat-scroll\">\n <Box height=\"100%\" width={1}>\n {children}\n </Box>\n </Box>\n :\n <Box className=\"page-mobile flat-scroll\">\n {firstPage && (\n <Box width={1}>\n {renderHeader()}\n </Box>\n )}\n <Box py=\"30px\" width={1}>\n {children}\n </Box>\n <Box width={1}>\n {renderFooter()}\n </Box>\n </Box>\n\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from './HealthReportBasePage';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/HealthReport_Pg18_Image.png\";\n\nexport const HealthReportChronicDisease0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice} firstPage>\n <Box px={2}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Cardiovascular Disease</span>\n <br />\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Dementia</span>\n <br />\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Insulin Resistance</span>\n <br />\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Inflammation</span>\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg18ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={5}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Cardiovascular Disease</span>\n <br />\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Dementia</span>\n <br />\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Insulin Resistance</span>\n <br />\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Inflammation</span>\n </Box>\n <Box mt={15}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%', height: '950px' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg18ImagePath} style={{ width: '100%', height: '950px' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n\n","import {\n DiabetesType,\n DietType,\n Ethnicity,\n ExerciseType, FileInputDataProvider,\n FileInputType,\n Optimization\n} from \"../models/input.models\";\n\nexport class LabInputNames {\n static readonly TotalCholesterol: string = \"TotalCholesterol\";\n static readonly HdlCholesterol: string = \"HdlCholesterol\";\n static readonly LdlCholesterol: string = \"LdlCholesterol\";\n static readonly Triglycerides: string = \"Triglycerides\";\n static readonly LdlP: string = \"LdlP\";\n static readonly SmallLdlP: string = \"SmallLdlP\";\n static readonly LpA: string = \"LpA\";\n static readonly ApolipoproteinB: string = \"ApolipoproteinB\";\n static readonly Desmosterol: string = \"Desmosterol\";\n static readonly Lathosterol: string = \"Lathosterol\";\n static readonly Campsterol: string = \"Campsterol\";\n static readonly Sitosterol: string = \"Sitosterol\";\n static readonly Cholestanol: string = \"Cholestanol\";\n\n\n static readonly Homocysteine: string = \"Homocysteine\";\n static readonly Ast: string = \"Ast\";\n static readonly Alt: string = \"Alt\";\n static readonly B12: string = \"B12\";\n static readonly Folate: string = \"Folate\";\n static readonly FolateRbc: string = \"FolateRbc\";\n static readonly Tmao: string = \"Tmao\";\n static readonly UricAcid: string = \"UricAcid\";\n\n static readonly Ferritin: string = \"Ferritin\";\n static readonly Omega3: string = \"Omega3\";\n static readonly VitaminD: string = \"VitaminD\";\n static readonly CoQ10: string = \"CoQ10\";\n static readonly LinoleicAcid: string = \"LinoleicAcid\";\n\n static readonly FastingGlucose: string = \"FastingGlucose\";\n static readonly FastingInsulin: string = \"FastingInsulin\";\n static readonly HgbA1C: string = \"HgbA1C\";\n\n static readonly Crp: string = \"Crp\";\n static readonly AgRatio: string = \"AgRatio\";\n static readonly LpPla2: string = \"LpPla2\";\n static readonly OxLdl: string = \"OxLdl\";\n\n static readonly Dhea: string = \"Dhea\";\n static readonly Igf: string = \"Igf\";\n static readonly TestosteroneTotal: string = \"TestosteroneTotal\";\n static readonly TestosteroneFree: string = \"TestosteroneFree\";\n static readonly Shbg: string = \"Shbg\";\n static readonly Estradio: string = \"Estradio\";\n static readonly Progesterone: string = \"Progesterone\";\n static readonly Lh: string = \"Lh\";\n static readonly Fsh: string = \"Fsh\";\n static readonly Tsh: string = \"Tsh\";\n static readonly FreeT4: string = \"FreeT4\";\n static readonly FreeT3: string = \"FreeT3\";\n static readonly Cortisol: string = \"Cortisol\";\n\n static readonly Homir: string = \"Homir\";\n static readonly TrigHdl: string = \"TrigHdl\";\n}\n\nexport class MicrobiomeInputNames {\n static readonly InflammationScore: string = \"Inflammation Score\";\n static readonly DiversityScore: string = \"Diversity score\";\n}\n\nexport const LabInputLabels: { [name: string]: string } = {\n [LabInputNames.TotalCholesterol]: \"Total Cholesterol\",\n [LabInputNames.HdlCholesterol]: \"HDL Cholesterol\",\n [LabInputNames.LdlCholesterol]: \"LDL Cholesterol\",\n [LabInputNames.Triglycerides]: \"Triglycerides\",\n [LabInputNames.LdlP]: \"LDL- P\",\n [LabInputNames.SmallLdlP]: \"Small LDL-p\",\n [LabInputNames.LpA]: \"Lp(a)\",\n [LabInputNames.Dhea]: \"DHEA\",\n [LabInputNames.Igf]: \"iGF\",\n [LabInputNames.TestosteroneTotal]: \"Testosterone Total\",\n [LabInputNames.TestosteroneFree]: \"Testosterone, Free\",\n [LabInputNames.Shbg]: \"SHBG\",\n [LabInputNames.Estradio]: \"Estradiol\",\n [LabInputNames.Progesterone]: \"Progesterone\",\n [LabInputNames.Lh]: \"LH\",\n [LabInputNames.Fsh]: \"FSH\",\n [LabInputNames.Tsh]: \"TSH\",\n [LabInputNames.FreeT4]: \"Free T4\",\n [LabInputNames.FreeT3]: \"Free T3\",\n [LabInputNames.Cortisol]: \"Cortisol\",\n [LabInputNames.Homocysteine]: \"Homocysteine\",\n [LabInputNames.Ast]: \"AST\",\n [LabInputNames.Alt]: \"ALT\",\n [LabInputNames.B12]: \"B12\",\n [LabInputNames.Folate]: \"Folate\",\n [LabInputNames.FolateRbc]: \"Folate RBC\",\n [LabInputNames.Tmao]: \"TMAO\",\n [LabInputNames.UricAcid]: \"Uric Acid\",\n [LabInputNames.Crp]: \"CRP\",\n [LabInputNames.AgRatio]: \"A:G ratio\",\n [LabInputNames.LpPla2]: \"LpPLA2\",\n [LabInputNames.OxLdl]: \"OxLDL\",\n [LabInputNames.Ferritin]: \"Ferritin (Iron)\",\n [LabInputNames.Omega3]: \"Omega 3\",\n [LabInputNames.VitaminD]: \"Vitamin D\",\n [LabInputNames.CoQ10]: \"CoQ10\",\n [LabInputNames.FastingGlucose]: \"Fasting Glucose\",\n [LabInputNames.FastingInsulin]: \"Fasting Insulin\",\n [LabInputNames.HgbA1C]: \"Hgb-A1c\",\n [LabInputNames.ApolipoproteinB]: \"Apolipoprotein B\",\n [LabInputNames.Desmosterol]: \"Desmosterol\",\n [LabInputNames.Lathosterol]: \"Lathosterol\",\n [LabInputNames.Campsterol]: \"Campsterol\",\n [LabInputNames.Sitosterol]: \"Sitosterol\",\n [LabInputNames.Cholestanol]: \"Cholestanol\",\n [LabInputNames.LinoleicAcid]: \"Linoleic Acid\",\n};\n\nexport const allowedFileExtensions: { [name: string]: string } = {\n [`${FileInputType.DNAReport}:${FileInputDataProvider.Andme}`]: \".txt,.csv\",\n [`${FileInputType.DNAReport}:${FileInputDataProvider.LabCorpElation}`]: \".txt,.csv\",\n [`${FileInputType.DNAReport}:${FileInputDataProvider.Ancestry}`]: \".txt,.csv\",\n [`${FileInputType.LabResults}:${FileInputDataProvider.LabCorpElation}`]: \".pdf\",\n [`${FileInputType.LabResults}:${FileInputDataProvider.LabCorpOriginal}`]: \".pdf\",\n [`${FileInputType.LabResults}:${FileInputDataProvider.Quest}`]: \".pdf\",\n [`${FileInputType.MicrobiomeData}:${FileInputDataProvider.Gutbio}`]: \".txt,.csv\"\n}\n\nexport const dietNames = {\n [DietType.None]: \"None\",\n [DietType.Vegan]: \"Vegan\",\n [DietType.Veggie]: \"Vegetarian\",\n [DietType.Pescatarian]: \"Pescatarian\",\n [DietType.Mediterranean]: \"Mediterranean\",\n [DietType.Whole]: \"Whole Food Plant Based\",\n [DietType.GlutenFree]: \"Gluten Free\",\n [DietType.Paleo]: \"Paleo\",\n [DietType.Keto]: \"Keto\"\n};\n\nexport const exerciseNames = {\n [ExerciseType.None]: \"None\",\n [ExerciseType.NoPreference]: \"No preference\",\n [ExerciseType.Endurance]: \"Increase endurance\",\n [ExerciseType.Strength]: \"Increase strength\"\n};\n\nexport const optimizationNames = {\n [Optimization.Incomplete]: \"Incomplete\",\n [Optimization.InProgress]: \"In Progress\",\n [Optimization.Completed]: \"Completed\"\n}\n\nexport const ethnicityNames = {\n [Ethnicity.American]: \"Native American\",\n [Ethnicity.White]: \"White\",\n [Ethnicity.Indian]: \"Indian\",\n [Ethnicity.Pakistani]: \"Pakistani\",\n [Ethnicity.Bangladeshi]: \"Bangladeshi\",\n [Ethnicity.OtherAsian]: \"Other Asian\",\n [Ethnicity.BlackCaribbean]: \"Black Caribbean\",\n [Ethnicity.BlackAfrican]: \"Black African\",\n [Ethnicity.AfricanAmerican]: \"African American\",\n [Ethnicity.Chinese]: \"Chinese\",\n [Ethnicity.Hispanic]: \"Hispanic\",\n [Ethnicity.Other]: \"Other ethnic group\",\n [Ethnicity.Arab]: \"Arab\",\n [Ethnicity.Korean]: \"Korean\",\n [Ethnicity.Japanese]: \"Japanese\"\n}\n\nexport const diabetesNames = {\n [DiabetesType.No]: \"No\",\n [DiabetesType.Type1]: \"Type 1\",\n [DiabetesType.Type2]: \"Type 2\",\n}","import React from 'react';\nimport './ProgressDiagramComponent.scss';\nimport {Box} from \"@material-ui/core\";\n\nexport enum LabelPosition {\n Top,\n TopLeft,\n TopRight,\n Bottom,\n BottomLeft,\n BottomRight\n}\n\nexport interface ProgressDiagramData {\n value: number;\n label: string;\n labelPosition: LabelPosition;\n}\n\ninterface ProgressDiagramComponentProps {\n data: ProgressDiagramData[];\n colors: string[];\n height?: number;\n unavailable?: boolean;\n}\n\nconst defaultHeight = 22;\n\nexport const ProgressDiagramComponent: React.FC<ProgressDiagramComponentProps> = (props: ProgressDiagramComponentProps) => {\n ProgressDiagramComponent.defaultProps = {\n height: defaultHeight,\n unavailable: false\n }\n\n let {\n data,\n colors,\n height,\n unavailable\n } = props;\n\n const positionPriorityShort: { [type: number]: number } = {\n 1: LabelPosition.BottomRight,\n 2: LabelPosition.TopRight,\n }\n\n const positionPriorityMedium: { [type: number]: number } = {\n 1: LabelPosition.BottomLeft,\n 2: LabelPosition.TopLeft,\n 3: LabelPosition.BottomRight,\n 4: LabelPosition.TopRight,\n }\n\n const positionPriorityLong: { [type: number]: number } = {\n 1: LabelPosition.BottomLeft,\n 2: LabelPosition.TopLeft,\n 3: LabelPosition.Bottom,\n 4: LabelPosition.Top,\n 5: LabelPosition.BottomRight,\n 6: LabelPosition.TopRight,\n }\n\n const updateLabelPositions = () => {\n data = data.sort((a, b) => (a.value > b.value) ? 1 : ((b.value > a.value) ? -1 : 0));\n let dataPriority = 1;\n switch (data.length) {\n case 1:\n return;\n case 2:\n data.forEach(item => {\n item.labelPosition = positionPriorityShort[dataPriority];\n dataPriority++;\n });\n return;\n case 3:\n case 4:\n data.forEach(item => {\n item.labelPosition = positionPriorityMedium[dataPriority];\n dataPriority++;\n });\n return;\n default:\n data.forEach(item => {\n if (dataPriority <= 6) {\n item.labelPosition = positionPriorityLong[dataPriority];\n dataPriority++;\n }\n else {\n item.label = \"\";\n }\n });\n return;\n }\n }\n\n updateLabelPositions();\n\n const createGradient = (colors: string[]): string => {\n return `linear-gradient(to right, ${unavailable ? \"#b9b9b9, #b9b9b9\" : colors.join(',')})`;\n }\n\n const setupLabelPosition = (position: LabelPosition): string => {\n switch (position) {\n case LabelPosition.Top: return \"top\";\n case LabelPosition.TopLeft: return \"top-left\";\n case LabelPosition.TopRight: return \"top-right\";\n case LabelPosition.Bottom: return \"bottom\";\n case LabelPosition.BottomLeft: return \"bottom-left\";\n case LabelPosition.BottomRight: return \"bottom-right\";\n }\n }\n\n const renderData = (data: ProgressDiagramData, key?: string) => {\n return (\n <div key={key} className=\"value\" style={{ left: `calc(${data.value < 5 ? 5 : data.value}% - 17.5px)`, height: height * 1.23, width: height * 1.23 }}>\n <div className={`label ${setupLabelPosition(data.labelPosition)}`}>\n <p className=\"label-text\">{data.label}</p>\n </div>\n </div>\n )\n }\n\n return (\n <div>\n <Box px={3} style={{ backgroundImage: createGradient(colors) }}>\n <Box className=\"progress\" style={{ height: height }}>\n {\n !unavailable && data.map((data, index) => {\n return renderData(data, index.toString());\n })\n }\n </Box>\n </Box>\n </div>\n );\n}\n","import React from \"react\";\nimport {Box} from \"@material-ui/core\";\nimport \"./LabResultComponent.scss\";\nimport {LabInputNotificationType} from \"../../../inputs/models/input.models\";\nimport {LabReportValueModel} from \"../../models/healthReport.models\";\n\ninterface LabResultComponentProps {\n label: string;\n value: LabReportValueModel;\n}\n\nexport const LabResultComponent: React.FC<LabResultComponentProps> = (props: LabResultComponentProps) => {\n const {\n label,\n value\n } = props;\n\n const outOfNorm = (notification): boolean => {\n return notification?.type === LabInputNotificationType.Error;\n }\n\n const displayValue = (value: LabReportValueModel) => {\n if (value?.value === null || value?.value === undefined) {\n return <span className=\"text-medium\"> — </span>\n }\n\n return <span className={ outOfNorm(value?.notification) ? \"text-medium color-red\" : \"text-medium\" }>{value?.value}</span>\n }\n\n return (\n <Box display=\"flex\" justifyContent=\"space-between\" mt={1}>\n <Box>\n <span className=\"text-medium\">{label}</span>\n </Box>\n <Box>\n { displayValue(value) }\n </Box>\n </Box>\n )\n}","var _defs, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSave = function SvgSave(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19.757,\n height: 21.609,\n viewBox: \"0 0 19.757 21.609\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"style\", null, \"\\n .cls-1{fill:#fff}\\n \"))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"floppy\",\n transform: \"translate(-5 -2)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2651\",\n d: \"M5.309 54.025A.309.309 0 0 1 5 53.716v-.908a.309.309 0 1 1 .617 0v.908a.309.309 0 0 1-.308.309z\",\n className: \"cls-1\",\n transform: \"translate(0 -34.91)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2652\",\n d: \"M23.214 23.609H6.544A1.545 1.545 0 0 1 5 22.066v-1.1a.309.309 0 0 1 .617 0v1.1a.926.926 0 0 0 .926.926h16.67a.926.926 0 0 0 .926-.926V7.757a.934.934 0 0 0-.274-.655l-4.213-4.214A.918.918 0 0 0 19 2.617H6.544a.926.926 0 0 0-.923.926v9.125a.309.309 0 1 1-.617 0V3.544A1.544 1.544 0 0 1 6.544 2H19a1.53 1.53 0 0 1 1.089.452L24.3 6.665a1.556 1.556 0 0 1 .455 1.092v14.309a1.545 1.545 0 0 1-1.541 1.543z\",\n className: \"cls-1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2653\",\n d: \"M5.309 44.085A.309.309 0 0 1 5 43.776v-.908a.309.309 0 0 1 .617 0v.908a.309.309 0 0 1-.308.309z\",\n className: \"cls-1\",\n transform: \"translate(0 -28.039)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2654\",\n d: \"M25.952 6.013h-8.643A.309.309 0 0 1 17 5.7V2.3a.309.309 0 0 1 .309-.3h8.644a.309.309 0 0 1 .309.309V5.7a.309.309 0 0 1-.31.313zM17.617 5.4h8.026V2.617h-8.026z\",\n className: \"cls-1\",\n transform: \"translate(-8.296)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2655\",\n d: \"M39.6 7.479a.309.309 0 0 1-.309-.309v-.955a.309.309 0 1 1 .617 0v.955a.309.309 0 0 1-.308.309z\",\n className: \"cls-1\",\n transform: \"translate(-23.706 -2.7)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2656\",\n d: \"M28.274 49.187H15.309a.309.309 0 0 1-.309-.308v-8.953a.926.926 0 0 1 .926-.926h11.731a.926.926 0 0 1 .926.926v8.952a.309.309 0 0 1-.309.309zm-12.657-.617h12.349v-8.644a.309.309 0 0 0-.309-.309H15.926a.309.309 0 0 0-.309.309z\",\n className: \"cls-1\",\n transform: \"translate(-6.913 -25.578)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2657\",\n d: \"M30.952 47.117h-8.643a.309.309 0 1 1 0-.617h8.644a.309.309 0 1 1 0 .617z\",\n className: \"cls-1\",\n transform: \"translate(-11.752 -30.763)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2658\",\n d: \"M30.952 55.117h-8.643a.309.309 0 1 1 0-.617h8.644a.309.309 0 1 1 0 .617z\",\n className: \"cls-1\",\n transform: \"translate(-11.752 -36.293)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Path_2659\",\n d: \"M30.952 63.117h-8.643a.309.309 0 1 1 0-.617h8.644a.309.309 0 1 1 0 .617z\",\n className: \"cls-1\",\n transform: \"translate(-11.752 -41.823)\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSave, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Save.e1a3460b.svg\";\nexport { ForwardRef as ReactComponent };","import {ScaleChartDiagramData} from \"../components/scaleChartComponent/ScaleChartComponent\";\n\nexport const detailedRiskData: ScaleChartDiagramData[] = [\n {name: 'Optimal', color: '#5d8d29'},\n {name: 'Normal', color: '#bbd359'},\n {name: 'Moderate', color: '#e8d54a'},\n {name: 'Advanced', color: '#d09b4b'},\n {name: 'High', color: '#ef9535'}\n];\n\nexport const unavailableRiskData: ScaleChartDiagramData[] = [\n {name: 'Optimal', color: '#b9b9b9'},\n {name: 'Normal', color: '#b9b9b9'},\n {name: 'Moderate', color: '#b9b9b9'},\n {name: 'Advanced', color: '#b9b9b9'},\n {name: 'High', color: '#b9b9b9'}\n];\n\nexport const riskColorMap: { [id: string]: string; } = {\n \"Moderate\": \"#e7d54c\",\n \"High\": \"#fd9502\",\n \"Optimal\": \"#5c8e05\",\n \"null\": \"#b9b9b9\"\n};\n\nexport const importantRiskColorMap: { [id: string]: string; } = {\n \"Moderate\": \"#e7d54c\",\n \"High\": \"#fd9502\",\n \"Optimal\": \"#5c8e05\",\n \"null\": \"#b9b9b9\"\n};\n\nexport const exerciseRiskColorMap: { [id: string]: string; } = {\n \"Optimal\": \"#129ad4\",\n \"High\": \"#fc002e\",\n \"Moderate\": \"#a57ba2\",\n \"null\": \"#b9b9b9\"\n};","import React from 'react';\nimport './ScaleChartComponent.scss';\nimport {\n PieChart, Pie, Cell,\n} from 'recharts';\nimport { Box } from '@material-ui/core';\n\nexport interface ScaleChartDiagramData {\n name: string,\n color: string,\n}\n\ninterface ScaleChartComponentProps {\n data: ScaleChartDiagramData[];\n result: string;\n}\n\n\nexport const ScaleChartComponent: React.FC<ScaleChartComponentProps> = (props: ScaleChartComponentProps) => {\n const { data, result } = props;\n const dataSet = data.map((x) => {\n return {value: 100, name: x.name, color: x.color};\n });\n\n const renderPointer = (result: string, data: ScaleChartDiagramData[]) => {\n const angle = (data.findIndex(x => x.name === result) * (180 / data.length)) + (180 / data.length / 2);\n return (\n <div className='pointer'\n style={{\n height: '5px',\n width: '40%',\n marginLeft: '11.75%',\n marginTop: '5px',\n background: '#000',\n display: 'flex',\n transform: `rotate(${angle}deg)`,\n transformOrigin: 'top right',\n borderRadius: '2.5px',\n\n }}>\n <div style={{\n width: '15px',\n height: '15px',\n borderRadius: '7.5px',\n marginTop: '-5px',\n background: '#000',\n }}>\n\n </div>\n </div>\n )\n }\n\n return (\n <>\n <Box width={300} height={150}>\n <PieChart width={300} height={150}>\n <Pie\n data={dataSet}\n cx={150}\n cy={150}\n startAngle={180}\n endAngle={0}\n innerRadius={60}\n outerRadius={120}\n fill=\"#8884d8\"\n paddingAngle={1}\n dataKey=\"value\"\n isAnimationActive={false}>\n {\n dataSet.map((entry, index) => <Cell key={`cell-${index}`} fill={entry.color} />)\n }\n </Pie>\n </PieChart>\n {renderPointer(result, data)}\n </Box>\n \n </>\n );\n}","import {ScoreModel} from \"../models/healthReport.models\";\nimport {detailedRiskData, unavailableRiskData} from \"../constants/healthReport.constants\";\nimport {ScaleChartComponent} from \"../components/scaleChartComponent/ScaleChartComponent\";\nimport React from \"react\";\n\nexport const renderScaleChartComponent = (score: ScoreModel) => {\n const colorData = score.isCalculated\n ? detailedRiskData\n : unavailableRiskData;\n\n return <ScaleChartComponent data={colorData} result={score.result} />\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n login: {\n fontStretch: 'normal',\n fontStyle: 'normal',\n fontSize: '20px',\n lineHeight: '1.57',\n fontWeight: 500,\n textTransform: 'capitalize',\n letterSpacing: '1px',\n },\n exerciseReportSubTitle: {\n color: colors.main,\n fontWeight: 400,\n fontSize: '1.25rem',\n fontFamily: 'Poppins, serif',\n [theme.breakpoints.down('xs')]: {\n fontSize: '18px',\n letterSpacing: '0.04em',\n lineHeight: '25px'\n },\n },\n reportTitle: {\n color: '#626d4b',\n fontWeight: 400,\n fontSize: '28px',\n textTransform: 'uppercase',\n letterSpacing: '2.5px',\n fontFamily: 'Poppins, serif',\n [theme.breakpoints.down('xs')]: {\n fontSize: '20px',\n letterSpacing: '0.04em'\n },\n },\n reportSubTitle: {\n color: '#626d4b',\n fontWeight: 400,\n fontSize: '1.25rem',\n textTransform: 'uppercase',\n fontFamily: 'Poppins, serif',\n [theme.breakpoints.down('xs')]: {\n fontSize: '16px',\n letterSpacing: '0.04em'\n },\n },\n referenceLinkPage: {\n color: colors.main,\n },\n referenceLink: {\n color: colors.main,\n marginLeft: '5px',\n fontSize: '80%',\n marginTop: '-4px',\n }\n }),\n);\n","import { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { LabelPosition, ProgressDiagramComponent } from \"../components/progressDiagramComponent/ProgressDiagramComponent\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { renderScaleChartComponent } from \"../helpers/renderScaleChartComponent\";\nimport { useStyles } from './healthReport.styles';\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\n\nexport const HealthReportChronicDisease1Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n practice\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <span className={classes.reportTitle}>Cardiovascular Disease</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your Cardiovascular Disease Risk</span>\n </Box>\n <Box mt=\"30px\">\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex\" alignItems=\"flex-end\">\n <Box>\n <span className={clsx(classes.reportSubTitle, commonClasses.uppercase)}>10 year cvd risk</span>\n </Box>\n </Box>\n <Box>\n <span className={clsx(commonClasses.textRegularReport, \"report-accent-value-small\")}>{report.longevityReport.mesaRiskScore.scorePercent.toFixed(1).toString()}%</span>\n </Box>\n </Box>\n <Box mt=\"20px\">\n <ProgressDiagramComponent\n height={22}\n colors={['#8dc638', '#e4b000', '#de1a18', '#de1a18', '#de1a18', '#de1a18', '#de1a18', '#de1a18', '#de1a18']}\n data={[\n {\n label: `${report.longevityReport.mesaRiskScore.scorePercent.toFixed(1).toString()}%`,\n value: report.longevityReport.mesaRiskScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.longevityReport.mesaRiskScore.isCalculated}\n />\n </Box>\n <Box mt=\"30px\" fontSize=\"14px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.textRegularReport)}>\n How your medical history affects your cardiovascular risk according to MESA.<span className={classes.referenceLink}>[1]</span>\n </span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box pt=\"30px\" textAlign=\"center\">\n <span className={classes.reportTitle}> Your Cardiovascular Genetics and Labs </span>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"10px\">\n <Box textAlign=\"center\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)} >\n Genetic CVD Risk\n </span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" width=\"100%\" mt=\"15px\">\n {renderScaleChartComponent(report.longevityReport.cvdRiskScore)}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n CVD Risk\n </span>\n <span className={classes.referenceLink}>[2]</span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"15px\" fontSize=\"14px\" lineHeight=\"22px\">\n This genetic risk assessment is based on 27 different genes identified in a 2015 study from Harvard of over 48,000 patients identifying a 31-72% increase in cardiovascular disease risk based on these genetic factors alone. The orange quintile is associated with a 72% increase in risk, but also a 48% risk reduction with statin therapy.\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <Grid container>\n <Grid item xs={12}>\n <Box className=\"text-light-medium\">\n <Box>\n <span className={classes.reportSubTitle}>Lipids</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"Total Cholesterol\" value={labValues.getLabReportValue(LabInputNames.TotalCholesterol)} />\n <LabResultComponent label=\"LDL\" value={labValues.getLabReportValue(LabInputNames.LdlCholesterol)} />\n <LabResultComponent label=\"HDL\" value={labValues.getLabReportValue(LabInputNames.HdlCholesterol)} />\n <LabResultComponent label=\"Triglycerides\" value={labValues.getLabReportValue(LabInputNames.Triglycerides)} />\n <LabResultComponent label=\"LDL(p)\" value={labValues.getLabReportValue(LabInputNames.LdlP)} />\n <LabResultComponent label=\"Lp(a)\" value={labValues.getLabReportValue(LabInputNames.LpA)} />\n <LabResultComponent label=\"APO-B\" value={labValues.getLabReportValue(LabInputNames.ApolipoproteinB)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box className=\"text-light-medium\" mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Inflammation</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"LP PLA2\" value={labValues.getLabReportValue(LabInputNames.LpPla2)} />\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"Omega 3\" value={labValues.getLabReportValue(LabInputNames.Omega3)} />\n <LabResultComponent label=\"Coq10\" value={labValues.getLabReportValue(LabInputNames.CoQ10)} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={15} pt={5} pb={1}>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <span className=\"report-title\">Cardiovascular Disease</span>\n </Box>\n <Box mb={3}>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Your Cardiovascular Disease Risk</span>\n </Box>\n <Box mt={5}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box display=\"flex\" alignItems=\"flex-end\">\n <Box>\n <span className=\"report-sub-title uppercase\">10 year cvd risk</span>\n </Box>\n </Box>\n <Box>\n <span className=\"report-accent-value\">{report.longevityReport.mesaRiskScore.scorePercent.toFixed(1).toString()}%</span>\n </Box>\n </Box>\n <Box mt={2}>\n <ProgressDiagramComponent\n height={22}\n colors={['#8dc638', '#e4b000', '#de1a18', '#de1a18', '#de1a18', '#de1a18', '#de1a18', '#de1a18', '#de1a18']}\n data={[\n {\n label: `${report.longevityReport.mesaRiskScore.scorePercent.toFixed(1).toString()}%`,\n value: report.longevityReport.mesaRiskScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.longevityReport.mesaRiskScore.isCalculated}\n />\n </Box>\n <Box mt={3} display=\"flex\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeSmallReport)}>\n How your medical history affects your cardiovascular risk according to MESA.\n </span>\n <span className={classes.referenceLink}>[1]</span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box pt={3} textAlign=\"center\">\n <span className=\"report-title\"> Your Cardiovascular Genetics and Labs </span>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt={3} ml={2}>\n <Box px={5} fontSize=\"28px\" textAlign=\"center\">\n <span className={commonClasses.tertiaryFontReport} >\n Genetic CVD Risk\n </span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" width=\"100%\">\n {renderScaleChartComponent(report.longevityReport.cvdRiskScore)}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n CVD Risk\n </span>\n <span className={classes.referenceLink}>[2]</span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt={5}>\n This genetic risk assessment is based on 27 different genes identified in a 2015 study from Harvard of over 48,000 patients identifying a 31-72% increase in cardiovascular disease risk based on these genetic factors alone. The orange quintile is associated with a 72% increase in risk, but also a 48% risk reduction with statin therapy.\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15} pt={3}>\n <Box>\n <Grid container>\n <Grid item xs={6}>\n <Box className=\"text-light-medium\" px={3}>\n <Box>\n <span className=\"report-sub-title\">Lipids</span>\n </Box>\n <Box>\n <LabResultComponent label=\"Total Cholesterol\" value={labValues.getLabReportValue(LabInputNames.TotalCholesterol)} />\n <LabResultComponent label=\"LDL\" value={labValues.getLabReportValue(LabInputNames.LdlCholesterol)} />\n <LabResultComponent label=\"HDL\" value={labValues.getLabReportValue(LabInputNames.HdlCholesterol)} />\n <LabResultComponent label=\"Triglycerides\" value={labValues.getLabReportValue(LabInputNames.Triglycerides)} />\n <LabResultComponent label=\"LDL(p)\" value={labValues.getLabReportValue(LabInputNames.LdlP)} />\n <LabResultComponent label=\"Lp(a)\" value={labValues.getLabReportValue(LabInputNames.LpA)} />\n <LabResultComponent label=\"APO-B\" value={labValues.getLabReportValue(LabInputNames.ApolipoproteinB)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={6}>\n <Box className=\"text-light-medium\" px={5}>\n <Box>\n <span className=\"report-sub-title\">Inflammation</span>\n </Box>\n <Box>\n <LabResultComponent label=\"LP PLA2\" value={labValues.getLabReportValue(LabInputNames.LpPla2)} />\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"Omega 3\" value={labValues.getLabReportValue(LabInputNames.Omega3)} />\n <LabResultComponent label=\"Coq10\" value={labValues.getLabReportValue(LabInputNames.CoQ10)} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </>\n </HealthReportBasePage>\n )\n )\n}\n","import {colors} from \"../constants/colors\";\n\nexport const shortcutView = (content: string) => {\n return content.split(' ').map((el: string) => {\n if (el !== ' ' && linkValidationRule(el)) {\n return (\n `<a href=${el} style=\"color:${colors.main}; text-decoration: underline; padding-right: 4px;\" target=\"_blank\">Link</a>`\n );\n } else {\n return el;\n }\n }).join(\" \")\n}\n\nconst linkValidationRule = (value: string) => {\n if (!value) {\n return\n }\n\n return new RegExp('^(http|ftp|https):\\\\/\\\\/([\\\\w_-]+(?:(?:\\\\.[\\\\w_-]+)+))([\\\\w.,@?^=%&:\\\\/~+#-]*[\\\\w@?^=%&\\\\/~+#-])').test(value);\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n textWrap: {\n wordBreak: 'break-word',\n display: 'flex',\n flexWrap: \"wrap\"\n },\n recommendation: {\n minHeight: 'auto',\n width: '100%',\n },\n readonly: {\n border: '2px solid #dfe0dc',\n borderRadius: '2px',\n padding: '20px',\n lineHeight: '1.9rem',\n whiteSpace: 'pre-line',\n overflow: 'auto'\n },\n printable: {\n border: '2px solid #dfe0dc',\n borderRadius: 2,\n lineHeight:' 1.9rem',\n whiteSpace: 'pre-line',\n fontFamily: 'monospace',\n overflow: 'auto',\n },\n fullwidth: {\n width: '100%',\n },\n saveChanges: {\n color: colors.white,\n }\n }),\n);","import {colors} from \"../constants/colors\";\n\nfunction decodeHTMLEntities(text) {\n var entities = [\n ['amp', '&'],\n ['apos', '\\''],\n ['#x27', '\\''],\n ['#x2F', '/'],\n ['#39', '\\''],\n ['#47', '/'],\n ['lt', '<'],\n ['gt', '>'],\n ['nbsp', ' '],\n ['quot', '\"']\n ];\n\n for (var i = 0, max = entities.length; i < max; ++i)\n text = text.replace(new RegExp('&' + entities[i][0] + ';', 'g'), entities[i][1]);\n\n return text;\n}\n\nexport const createTextWithLinks = (text) => {\n if (text === null)\n return \"\";\n \n let match = text.match(/\\[([^\\]]+)]\\(([^)]+)\\)/);\n while(match != null) {\n text = text.replace(/\\[([^\\]]+)]\\(([^)]+)\\)/, `<a style=\"color:${colors.main}; text-decoration: underline; padding-right: 4px;\" target=\"_blank\" href=\"$2\">$1</a>`);\n match = text.match(/\\[([^\\]]+)]\\(([^)]+)\\)/);\n }\n return decodeHTMLEntities(text);\n};","import { ReactComponent as SaveIcon } from '@img/icons/Save.svg';\nimport { Box, FormControlLabel } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthSwitcher } from \"../../../common/components/WIldHealthSwitcher\";\nimport { shortcutView } from \"../../../common/helpers/view-text-with-link\";\nimport { insertString } from \"../../../common/helpers/insert-string\";\nimport { getFullRecommendationContent, HealthReportMode, RecommendationModel } from \"../../models/healthReport.models\";\nimport { selectShortcutService } from \"../../services/selectShortcut.service\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"./HealthRecommendationComponent.styles\";\nimport clsx from \"clsx\";\nimport {createTextWithLinks} from \"../../../common/helpers/create-text-with-links\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport {sanitizeRecommendationContent} from \"../../helpers/sanitizeRecommendationContent\";\n\nenum HealthRecommendationMode {\n AutoGenerated = 1,\n ManuallyEntered = 2\n}\n\ninterface HealthRecommendationComponentProps {\n recommendation: RecommendationModel;\n handleContentChanges: Function;\n handleManualContentChanges: Function;\n handleSaveChanges: Function;\n isChanged: boolean;\n mode: HealthReportMode;\n rows: number;\n}\n\nexport const HealthRecommendationComponent: React.FC<HealthRecommendationComponentProps> = (props: HealthRecommendationComponentProps) => {\n const {\n recommendation,\n handleContentChanges,\n handleManualContentChanges,\n handleSaveChanges,\n isChanged,\n mode,\n rows\n } = props;\n\n const [recommendationMode, setRecommendationMode] = useState(HealthRecommendationMode.AutoGenerated);\n const classes = useStyles();\n\n const handleInputModeToggle = () => {\n switch (recommendationMode) {\n case HealthRecommendationMode.ManuallyEntered: setRecommendationMode(HealthRecommendationMode.AutoGenerated); break;\n case HealthRecommendationMode.AutoGenerated: setRecommendationMode(HealthRecommendationMode.ManuallyEntered); break;\n default: break;\n }\n }\n\n const renderPlaceholder = () => {\n return <WildHealthPlaceHolder height={`${rows * 30}px`} message={\"No recommendations provided\"} />\n }\n\n const renderRecommendation = (mode: HealthReportMode) => {\n switch (mode) {\n case HealthReportMode.EditMode: return renderEditableRecommendation();\n case HealthReportMode.ReadonlyMode: return renderReadonlyRecommendation();\n case HealthReportMode.PrintMode: return renderPrintableRecommendation();\n default: return renderReadonlyRecommendation();\n }\n }\n\n const renderEditableRecommendation = () => {\n return (\n <Box width={1}>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems='center'>\n <Box>\n <WildHealthButton\n id=\"health-recommendation-save\"\n onClick={() => handleSaveChanges()}\n disabled={!isChanged}>\n <Box>\n <SaveIcon />\n </Box>\n <Box ml={2} className={classes.saveChanges}>\n Save changes\n </Box>\n </WildHealthButton>\n </Box>\n <Box display=\"flex\">\n <Box>\n Auto\n </Box>\n <Box ml={3}>\n <FormControlLabel\n control={<WildHealthSwitcher\n checked={recommendationMode === HealthRecommendationMode.ManuallyEntered}\n onChange={() => handleInputModeToggle()}\n name=\"inputsModeToggle\" />\n }\n label=\"\"\n />\n </Box>\n <Box>\n Manual\n </Box>\n </Box>\n </Box>\n\n <Box width={1}>\n {\n recommendationMode === HealthRecommendationMode.AutoGenerated &&\n <textarea\n id = \"recommendation-auto-text-area\"\n rows={rows - 2}\n className={classes.recommendation}\n value={sanitizeRecommendationContent(recommendation?.content ?? '')}\n onKeyDown={(e) => {handleOnKeyDownAuto(e, \"recommendation-auto-text-area\")}}\n onChange={(e) => {contentOnChanges(e.target.value)}}>\n\n </textarea>\n }\n {\n recommendationMode === HealthRecommendationMode.ManuallyEntered &&\n <textarea\n id = \"recommendation-manual-text-area\"\n rows={rows - 2}\n className={classes.recommendation}\n value={sanitizeRecommendationContent(recommendation?.manualContent ?? '')}\n onKeyDown={(e) => {handleOnKeyDownManual(e, \"recommendation-manual-text-area\")}}\n onChange={(e) => {\n manualContentOnChanges(e.target.value);\n }}>\n\n </textarea>\n }\n </Box>\n </Box>\n )\n }\n\n const renderReadonlyRecommendation = () => {\n if (!recommendation?.content?.length && !recommendation?.manualContent?.length) {\n return renderPlaceholder();\n }\n\n const recommendationContent = getFullRecommendationContent(recommendation);\n\n return (\n recommendationContent && recommendationContent.match(/[^\\r\\n]+/g) &&\n <Box className={clsx(classes.recommendation, classes.readonly)} height={`${rows * 30}px`}>\n {\n recommendationContent.match(/[^\\r\\n]+/g)?.map((item, index) =>\n <div key={index} className={classes.textWrap} dangerouslySetInnerHTML={{ __html: `${createTextWithLinks(shortcutView(item))}` }} />\n )\n }\n </Box>\n )\n }\n\n const renderPrintableRecommendation = () => {\n if (!recommendation || !recommendation?.printableContent?.length) {\n return renderPlaceholder();\n }\n\n return (\n <div className={classes.printable} style={{ height: `${rows * 30}px` }}>\n {sanitizeRecommendationContent(recommendation.printableContent ?? '')}\n </div>\n )\n }\n\n const handleOnKeyDownAuto = (event:any, id: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleContentChanges(insertString(value, data, cursorPos + 1)) \n })\n }, 1)\n }\n }\n }\n \n const handleOnKeyDownManual = (event:any, id: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleManualContentChanges(insertString(value, data, cursorPos + 1)) \n })\n }, 1)\n }\n }\n }\n \n\n\n const contentOnChanges = (value: string) => {\n handleContentChanges(value);\n }\n\n const manualContentOnChanges = (value: string) => {\n handleManualContentChanges(value);\n }\n\n return (\n <>\n <Box className={classes.fullwidth}>\n {renderRecommendation(mode)}\n </Box>\n </>\n )\n}\n","import DOMPurify from 'dompurify'\n\nexport const sanitizeRecommendationContent = function (s) {\n let txt = document.createElement(\"textarea\");\n txt.innerHTML = DOMPurify.sanitize(s);\n return txt.value;\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n addText: {\n color: colors.main\n },\n textFiel: {\n background: colors.disabled, \n },\n container: {\n paddingTop: 8,\n paddingBottom: 8,\n overflow: 'auto',\n },\n textWrap: {\n wordBreak: 'break-word',\n display: 'flex',\n flexWrap: \"wrap\"\n },\n recommendation: {\n minHeight: 'auto',\n width: '100%',\n },\n readonly: {\n border: '2px solid #dfe0dc',\n borderRadius: '2px',\n padding: '20px',\n lineHeight: '1.9rem',\n whiteSpace: 'pre-line',\n overflow: 'auto'\n },\n printable: {\n border: '2px solid #dfe0dc',\n borderRadius: 2,\n lineHeight:' 1.9rem',\n whiteSpace: 'pre-line',\n fontFamily: 'monospace',\n overflow: 'auto',\n },\n fullwidth: {\n width: '100%',\n },\n saveChanges: {\n color: colors.white,\n }\n })\n);\n","import React from \"react\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport emptyRecommendation from \"@img/placeholders/EmptyRecommendations.png\";\n\nexport interface RecommendationPlaceHolderProps {\n message: string;\n}\n\nexport const RecommendationPlaceHolder: React.FC<RecommendationPlaceHolderProps> = (props: RecommendationPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n <WildHealthPlaceHolderBase message={props.message}>\n <img\n src={emptyRecommendation}\n alt=\"img\" className={classes.imageSmall} />\n </WildHealthPlaceHolderBase>\n );\n}\n","import { Box, Checkbox, TextField } from '@material-ui/core';\nimport React from 'react';\nimport { Add } from '@material-ui/icons';\nimport { useStyles } from './recommendationSingleSelectComponent.styles';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport { getFullRecommendationContentNew, HealthReportMode, RecommendationDisplayModel, RecommendationModel, recommendationRowsCapacity } from '../../models/healthReport.models';\nimport clsx from 'clsx';\nimport { WildHealthPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder';\nimport { createTextWithLinks } from '../../../common/helpers/create-text-with-links';\nimport { shortcutView } from '../../../common/helpers/view-text-with-link';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { selectShortcutService } from '../../services/selectShortcut.service';\nimport { insertString } from '../../../common/helpers/insert-string';\nimport { RecommendationPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/RecommendationPlaceHolder';\nimport DOMPurify from 'dompurify'\nimport {sanitizeRecommendationContent} from \"../../helpers/sanitizeRecommendationContent\";\n\nexport interface RecommendationSingleSelectComponentProps {\n mode: HealthReportMode,\n currentRecommendation: RecommendationDisplayModel[],\n recommendation?: RecommendationModel,\n type: number,\n handleSelected: (id: number | string, isSelected: boolean) => void,\n handleChanges: (id: number | string, value: string) => void,\n handleAddRecommendation: (id: number, index: number) => void,\n isGeneralPage?: boolean;\n\n}\n\nexport const RecommendationSingleSelectComponent: React.FC<RecommendationSingleSelectComponentProps> = (props: RecommendationSingleSelectComponentProps) => {\n const {\n currentRecommendation,\n recommendation,\n mode,\n type,\n handleSelected,\n handleChanges,\n handleAddRecommendation,\n isGeneralPage = false\n } = props;\n\n const classes = useStyles();\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n\n const renderPlaceholder = () => {\n return isGeneralPage\n ? <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <RecommendationPlaceHolder message=\"No Recommendations\" />\n </Box>\n : <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <WildHealthPlaceHolder height={`${(recommendationRowsCapacity[type] - 1) * 30}px`} message={\"No recommendations provided\"} />\n </Box>\n }\n\n const renderEditableRecommendation = () => {\n return (\n <Box maxWidth=\"1100px\">\n <Box maxHeight={isGeneralPage ? \"\" : `${(recommendationRowsCapacity[type] - 1) * 30}px`} className={clsx(classes.container, 'flat-scroll')}>\n {currentRecommendation.map(el =>\n <Box display=\"flex\" mb={1.5} key={`${el.type}-${el.id}`}>\n <Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={el.isSelected}\n onChange={() => handleSelected(el.id, !el.isSelected)}\n />\n </Box>\n <TextField\n id={`recommendation-text-area-${el.type}-${el.id}`}\n fullWidth\n multiline\n disabled={!el.isSelected}\n className={el.isSelected ? \"\" : classes.textFiel}\n variant=\"outlined\"\n value={sanitizeRecommendationContent(el.content)}\n onKeyDown={(e) => { handleOnKeyDown(el.id, e, `recommendation-text-area-${el.type}-${el.id}`) }}\n onChange={(v) => {\n handleChanges(el.id, v.target.value)\n }}\n />\n </Box>\n\n )}\n {currentRecommendation.length === 0 && renderPlaceholder()}\n </Box>\n\n <Box mt={1} pl=\"10px\" display='flex' alignItems='stretch'>\n <Box onClick={() => handleAddRecommendation(type, currentRecommendation.length)\n }>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>Add Recommendation</span>\n </Box>\n </Box>\n\n </Box>\n )\n }\n\n\n const renderReadonlyRecommendation = () => {\n if ((!currentRecommendation?.length)) {\n return renderPlaceholder();\n }\n\n const recommendationContent = getFullRecommendationContentNew(currentRecommendation);\n\n return (\n recommendationContent && recommendationContent.match(/[^\\r\\n]+/g) &&\n <Box className={clsx(classes.recommendation, classes.readonly)} height={`${recommendationRowsCapacity[type] * 30}px`}>\n {\n recommendationContent.match(/[^\\r\\n]+/g)?.map((item, index) =>\n <div key={index} className={classes.textWrap} dangerouslySetInnerHTML={{ __html: DOMPurify.sanitize(`${createTextWithLinks(shortcutView(item))}`) }} />\n )\n }\n </Box>\n )\n }\n\n\n const renderPrintableRecommendation = () => {\n if (!recommendation || !recommendation?.printableContent?.length) {\n return renderPlaceholder();\n }\n\n return (\n <div className={classes.printable} style={{ height: `${recommendationRowsCapacity[type] * 30}px` }}>\n {recommendation.printableContent ?? ''}\n </div>\n )\n }\n\n const handleOnKeyDown = (id: string | number, event: any, idFild: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(idFild) as any).value;\n const cursorPos = (document.getElementById(idFild) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleChanges(id, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n\n const renderRecommendation = (mode: HealthReportMode) => {\n switch (mode) {\n case HealthReportMode.EditMode: return renderEditableRecommendation();\n case HealthReportMode.ReadonlyMode: return renderReadonlyRecommendation();\n case HealthReportMode.PrintMode: return renderPrintableRecommendation();\n default: return renderReadonlyRecommendation();\n }\n }\n\n return <>{renderRecommendation(mode)}</>;\n}","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { HealthRecommendationComponent } from '../components/healthRecommendationComponent/HealthRecommendationComponent';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\nimport { HealthReportMode, HealthReportSections, HealthReportVersion, recommendationRowsCapacity, RecommendationTypesNumbers } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportChronicDisease2Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <Box px={2}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Your Cardiovascular Disease Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n <Box mt=\"10px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Cardiovascular)}\n recommendation={report.longevityReport.cardiovascularRecommendation}\n type={RecommendationTypesNumbers.Cardiovascular}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <Box>\n <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Cardiovascular]}\n recommendation={report.longevityReport.cardiovascularRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.cardiovascularRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.cardiovascularRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n </Box>\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={5}>\n <Box>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Your Cardiovascular Disease Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n <Box mt={1}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Cardiovascular)}\n recommendation={report.longevityReport.cardiovascularRecommendation}\n type={RecommendationTypesNumbers.Cardiovascular}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <Box>\n <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Cardiovascular]}\n recommendation={report.longevityReport.cardiovascularRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.cardiovascularRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.cardiovascularRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n </Box>\n }\n\n\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import React from 'react';\nimport {Box, Table, TableBody, TableContainer} from '@material-ui/core';\nimport {DnaModel, DnaImportance} from \"../../models/healthReport.models\";\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport redFlag from \"@img/SNPS_RedTriangle.png\";\nimport yellowFlag from \"@img/SNPS_YellowTriangle.png\";\n\n\ninterface DnaTableComponentProps {\n dna: DnaModel[];\n colorMap: { [id: string]: string; };\n}\n\nexport const DnaTableComponent: React.FC<DnaTableComponentProps> = (props: DnaTableComponentProps) => {\n const {dna, colorMap} = props;\n\n const getFlag = (importance: DnaImportance) => {\n if(importance === DnaImportance.NotImportant) {\n return(<></>)\n }\n\n return (\n <Box ml={0.5}>\n <img src={importance === DnaImportance.HighImportance ? redFlag : yellowFlag} style={{width: \"1em\", height: \"1.5em\"}} alt=\"img\"/>\n </Box>\n )\n }\n\n return(\n <>\n <Box width=\"100%\">\n <TableContainer>\n <Table aria-label=\"customized table\" size=\"small\">\n <TableBody>\n {dna.map((dna, i) => (\n <WildHealthTableRow key={i} style={{height: \"1.8em\"}}>\n <WildHealthTableCell align=\"left\" style={{padding: \"0.5em\", fontSize: \"0.8em\", paddingRight: \"1em\"}}>{dna.key}</WildHealthTableCell>\n <WildHealthTableCell style={{backgroundColor: colorMap[dna.value], width: \"15%\"}}></WildHealthTableCell>\n <WildHealthTableCell style={{padding: \"0px\", backgroundColor: \"white\", borderStyle: \"none\"}}>\n {\n getFlag(dna.importance)\n }\n </WildHealthTableCell>\n </WildHealthTableRow>\n ))}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </>\n );\n}\n","import brainIcon from \"@img/HealthReport_Pg20_Brain.png\";\nimport insulinIcon from \"@img/HealthReport_Pg20_Insulin.png\";\nimport { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { HealthRecommendationComponent } from '../components/healthRecommendationComponent/HealthRecommendationComponent';\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { LabelPosition, ProgressDiagramComponent } from \"../components/progressDiagramComponent/ProgressDiagramComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport { HealthReportMode, HealthReportSections, HealthReportVersion, recommendationRowsCapacity, RecommendationTypesNumbers } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RecommendationSingleSelectComponent } from \"../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent\";\nimport { WildHealthButton } from \"../../common/components/wildHealthButton/WildHealthButton\";\nimport { ReactComponent as SaveIcon } from '@img/icons/Save.svg';\n\nexport const HealthReportChronicDisease3Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n pageNumber,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n const apoeAccuracyScore = report.dietAndNutritionReport?.apoeAccuracyScore;\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <span className={classes.reportTitle}>Dementia</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your genetics and Labs</span>\n </Box>\n <Box mt=\"12px\" fontSize=\"14px\" lineHeight=\"22px\">\n <span>There are many, many causes of Alzheimers. However, some of the most common causes are easily managed. First, we need to assess your risk. That is best assessed by looking both at genetics, such as Apo-ε status, as well as TNF and SIRT1. But we also have to evaluate your current health, as metabolism and inflammation are common contributors as well. This summary will help assess your risk, and identify specific interventions you can follow to help mitigate that.</span>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box>\n <Box mt=\"10px\" display=\"flex\" justifyContent=\"center\">\n <img src={insulinIcon} style={{ width: '166px', height: 'auto' }} alt=\"img\" />\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" textAlign=\"center\" mt={2}>\n <span className=\"text-medium\">Insulin Resistance Score: {report.dietAndNutritionReport.insulinResistanceScore == null\n ? \"Unavailable\"\n : Math.round(report.dietAndNutritionReport.insulinResistanceScore?.scorePercent) + \"%\"}</span>\n </Box>\n <Box px={5}>\n <ProgressDiagramComponent\n colors={['#626d4b', '#e10003']}\n data={[\n {\n label: '',\n value: report.dietAndNutritionReport.insulinResistanceScore?.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n height={15}\n unavailable={report.dietAndNutritionReport.insulinResistanceScore == null}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box className=\"text-light-medium\">\n <Box>\n <span className={classes.reportSubTitle}>Trophic Support</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"Homocysteine\" value={labValues.getLabReportValue(LabInputNames.Homocysteine)} />\n <LabResultComponent label=\"Testosterone\" value={labValues.getLabReportValue(LabInputNames.TestosteroneTotal)} />\n <LabResultComponent label=\"Estrogen\" value={labValues.getLabReportValue(LabInputNames.Estradio)} />\n <LabResultComponent label=\"Progesterone\" value={labValues.getLabReportValue(LabInputNames.Progesterone)} />\n <LabResultComponent label=\"TSH\" value={labValues.getLabReportValue(LabInputNames.Tsh)} />\n <LabResultComponent label=\"T4 Free\" value={labValues.getLabReportValue(LabInputNames.FreeT4)} />\n <LabResultComponent label=\"Vitamin D\" value={labValues.getLabReportValue(LabInputNames.VitaminD)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box className=\"text-light-medium\" mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Inflammation</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"A/G ratio\" value={labValues.getLabReportValue(LabInputNames.AgRatio)} />\n <LabResultComponent label=\"Omega 3\" value={labValues.getLabReportValue(LabInputNames.Omega3)} />\n <LabResultComponent label=\"Co q10\" value={labValues.getLabReportValue(LabInputNames.CoQ10)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\" width={1}>\n <DnaTableComponent\n dna={report.longevityReport.dementiaRiskScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <span className={classes.reportTitle}>Your APOE status: </span>\n <span className={classes.reportTitle}>Apo-{apoeAccuracyScore?.apoe}</span>\n <span className={clsx(commonClasses.textRegular, commonClasses.colorBlack)}> ({apoeAccuracyScore.scorePercent}%)<span className={commonClasses.colorBad}>*</span></span>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\" display=\"flex\" justifyContent=\"center\">\n <img src={brainIcon} style={{ width: '141px', height: 'auto' }} alt=\"img\" />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box>\n <Box mt=\"20px\">\n <span className={classes.reportSubTitle}>Dementia Risk</span>\n </Box>\n <Box mt=\"14px\">\n <ProgressDiagramComponent\n height={22}\n colors={['#3c7d9f', '#e10003']}\n data={[\n {\n label: `Apo-${apoeAccuracyScore?.apoe}`,\n value: report.longevityReport.dementiaRiskScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.longevityReport.dementiaRiskScore?.isCalculated}\n />\n </Box>\n </Box>\n <Box mt=\"30px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Dementia)}\n recommendation={report.longevityReport.dementiaRecommendation}\n type={RecommendationTypesNumbers.Dementia}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Dementia]}\n recommendation={report.longevityReport.dementiaRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.dementiaRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.dementiaRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n <Box pt={2} lineHeight=\"16px\" display=\"flex\"><Box mr={0.5} className={commonClasses.colorBad}>* </Box><span className={clsx(commonClasses.size14, commonClasses.textRegular)}><span className={clsx(commonClasses.textMedium)}>{apoeAccuracyScore?.message}</span> Apo-ε is a challenging gene to test because it resides on a very dense section of your genome. We take nearly 100 separate readings to help translate the results and have developed a proprietary algorithm to generate the highest possible accuracy. We also report the accuracy of this gene in order to better understand the confidence of this test. More accurate laboratory testing is available if necessary or desired.</span></Box>\n </Box>\n </>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={15} pt={5}>\n <Grid container>\n <Grid item xs={8}>\n <Box>\n <span className=\"report-title\">Dementia</span>\n </Box>\n <Box mt={1}>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Your genetics and Labs</span>\n </Box>\n <Box>\n <span>There are many, many causes of Alzheimers. However, some of the most common causes are easily managed. First, we need to assess your risk. That is best assessed by looking both at genetics, such as Apo-ε status, as well as TNF and SIRT1. But we also have to evaluate your current health, as metabolism and inflammation are common contributors as well. This summary will help assess your risk, and identify specific interventions you can follow to help mitigate that.</span>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box>\n <Box pt={2} pr={10} pl={10}>\n <img src={insulinIcon} style={{ width: '100%' }} alt=\"img\" />\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">Insulin Resistance Score: {report.dietAndNutritionReport.insulinResistanceScore == null\n ? \"Unavailable\"\n : Math.round(report.dietAndNutritionReport.insulinResistanceScore?.scorePercent) + \"%\"}</span>\n </Box>\n <Box mt={2} px={6}>\n <ProgressDiagramComponent\n colors={['#626d4b', '#e10003']}\n data={[\n {\n label: '',\n value: report.dietAndNutritionReport.insulinResistanceScore?.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n height={15}\n unavailable={report.dietAndNutritionReport.insulinResistanceScore == null}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15}>\n <Grid container>\n <Grid item xs={4}>\n <Box className=\"text-light-medium\" pr={5}>\n <Box>\n <span className=\"report-sub-title\">Trophic Support</span>\n </Box>\n <Box>\n <LabResultComponent label=\"Homocysteine\" value={labValues.getLabReportValue(LabInputNames.Homocysteine)} />\n <LabResultComponent label=\"Testosterone\" value={labValues.getLabReportValue(LabInputNames.TestosteroneTotal)} />\n <LabResultComponent label=\"Estrogen\" value={labValues.getLabReportValue(LabInputNames.Estradio)} />\n <LabResultComponent label=\"Progesterone\" value={labValues.getLabReportValue(LabInputNames.Progesterone)} />\n <LabResultComponent label=\"TSH\" value={labValues.getLabReportValue(LabInputNames.Tsh)} />\n <LabResultComponent label=\"T4 Free\" value={labValues.getLabReportValue(LabInputNames.FreeT4)} />\n <LabResultComponent label=\"Vitamin D\" value={labValues.getLabReportValue(LabInputNames.VitaminD)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box className=\"text-light-medium\" pl={5}>\n <Box>\n <span className=\"report-sub-title\">Inflammation</span>\n </Box>\n <Box>\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"A/G ratio\" value={labValues.getLabReportValue(LabInputNames.AgRatio)} />\n <LabResultComponent label=\"Omega 3\" value={labValues.getLabReportValue(LabInputNames.Omega3)} />\n <LabResultComponent label=\"Co q10\" value={labValues.getLabReportValue(LabInputNames.CoQ10)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box mt={4} height=\"100%\" pl={10}>\n <DnaTableComponent\n dna={report.longevityReport.dementiaRiskScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15}>\n <Box>\n <Grid container>\n <Grid item xs={9}>\n <Box>\n <span className=\"report-title\">Your APOE status: </span>\n <span className=\"report-title-lowercase\">Apo-{apoeAccuracyScore?.apoe}</span>\n <span className={clsx(commonClasses.size28, commonClasses.textRegular, commonClasses.colorBlack)}> ({apoeAccuracyScore.scorePercent}%)<span className={commonClasses.colorBad}>*</span></span>\n </Box>\n </Grid>\n <Grid item xs={3}>\n <Box px={5}>\n <img src={brainIcon} style={{ width: '100%' }} alt=\"img\" />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box>\n <Box>\n <span className=\"report-sub-title\">Dementia Risk</span>\n </Box>\n <Box mt={2}>\n <ProgressDiagramComponent\n height={22}\n colors={['#3c7d9f', '#e10003']}\n data={[\n {\n label: `Apo-${apoeAccuracyScore?.apoe}`,\n value: report.longevityReport.dementiaRiskScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.longevityReport.dementiaRiskScore.isCalculated}\n />\n </Box>\n </Box>\n <Box mt={4}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box>\n <SaveIcon />\n </Box>\n <Box ml={2} className={commonClasses.colorWhite}>\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Dementia)}\n recommendation={report.longevityReport.dementiaRecommendation}\n type={RecommendationTypesNumbers.Dementia}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Dementia]}\n recommendation={report.longevityReport.dementiaRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.dementiaRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.dementiaRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n <Box pt={1} lineHeight=\"16px\" display=\"flex\">\n <Box mr={0.5} className={commonClasses.colorBad}>*</Box>\n <span className={clsx(commonClasses.size14, commonClasses.textRegular)}>\n <span className={clsx(commonClasses.textMedium)}>{apoeAccuracyScore?.message} </span>\n Apo-ε is a challenging gene to test because it resides on a very dense section of your\n genome. We take nearly 100 separate readings to help translate the results and have\n developed a proprietary algorithm to generate the highest possible accuracy.\n We also report the accuracy of this gene in order to better understand the confidence\n of this test. More accurate laboratory testing is available if necessary or desired.</span>\n </Box>\n </Box>\n </>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { HealthRecommendationComponent } from '../components/healthRecommendationComponent/HealthRecommendationComponent';\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { LabelPosition, ProgressDiagramComponent } from \"../components/progressDiagramComponent/ProgressDiagramComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport { HealthReportMode, HealthReportSections, HealthReportVersion, recommendationRowsCapacity, RecommendationTypesNumbers } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { renderScaleChartComponent } from \"../helpers/renderScaleChartComponent\";\nimport { TitlesService } from \"../../../constants/title.constants\";\nimport { LabGroup } from \"../../inputs/models/input.models\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\n\nexport const HealthReportChronicDisease4Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n mode,\n handleChanges,\n handleSaveChanges,\n isChanged,\n pageNumber,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={2}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Insulin Resistance</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your Genetics and Labs</span>\n </Box>\n <Box fontSize=\"14px\" lineHeight=\"22px\">\n <Box mt=\"12px\">\n <span>\n Insulin is a hormone made by the pancreas and is responsible for transporting glucose\n from your blood stream into your cells. Insulin resistance is the reduced effectiveness\n of insulin at transporting glucose- the cells become “resistant to it.” There are\n many theories. At {TitlesService.simpleBaseTitle} we believe in the suitcase theory: if your cells are\n full of glucose, it becomes harder to fit glucose in them and the insulin doesn’t\n work as well. Thus the treatment is reducing glucose, ie consumption. If insulin\n resistance goes unchecked it will lead to pre-diabetes, and often\n full blown type 2 diabetes.\n </span>\n </Box>\n <Box mt=\"10px\">\n <span>Although there are many facets to fixing insulin resistance, the basics are:</span>\n <br />\n <span>1. Diet: low carb and fasting to reduce glucose in the cells</span>\n <br />\n <span>2. Exercise. Increase glucose utilization</span>\n <br />\n <span>3. Sleep and hormonal optimization- to optimize insulin effectiveness.</span>\n </Box>\n </Box>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <Box width={1} display=\"flex\" justifyContent=\"center\" mt={-2}>\n {renderScaleChartComponent(report.dietAndNutritionReport.carbonIntoleranceScore)}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Carb Intolerance: {Math.round(report.dietAndNutritionReport.carbonIntoleranceScore.scorePercent)}%\n </span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\" className=\"text-light-medium\">\n <Box>\n <span className={classes.reportSubTitle}>Insulin Resistance Labs</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"Fasting Glucose\" value={labValues.getLabReportValue(LabInputNames.FastingGlucose)} />\n <LabResultComponent label=\"Fasting Insulin\" value={labValues.getLabReportValue(LabInputNames.FastingInsulin)} />\n <LabResultComponent label=\"HOMA-IR\" value={{\n name: LabInputNames.Homir,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.homir,\n notification: null,\n range: null\n }} />\n <LabResultComponent label=\"Ferritin\" value={labValues.getLabReportValue(LabInputNames.Ferritin)} />\n <LabResultComponent label=\"TRIG:HDL\" value={{\n name: LabInputNames.TrigHdl,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.hdlTrigRatio,\n notification: null,\n range: null\n }} />\n <LabResultComponent label=\"Hgb-A1c\" value={labValues.getLabReportValue(LabInputNames.HgbA1C)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.carbonIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <Box>\n <span\n className={classes.reportTitle}>Insulin Resistance Score: {report.dietAndNutritionReport.insulinResistanceScore == null\n ? \"Unavailable\"\n : Math.round(report.dietAndNutritionReport.insulinResistanceScore?.scorePercent) + \"%\"}</span>\n </Box>\n <Box mt=\"10px\">\n <ProgressDiagramComponent\n height={22}\n colors={['#626d4b', '#e10003']}\n data={[\n {\n label: '',\n value: report.dietAndNutritionReport.insulinResistanceScore?.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={report.dietAndNutritionReport.insulinResistanceScore == null}\n />\n </Box>\n </Box>\n <Box mt={3}>\n <Box>\n <span className={classes.reportTitle}>Your Insulin Resistance Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n <Box mt=\"10px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.InsulinResistance)}\n recommendation={report.longevityReport.insulinResistanceRecommendation}\n type={RecommendationTypesNumbers.InsulinResistance}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.InsulinResistance]}\n recommendation={report.longevityReport.insulinResistanceRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.insulinResistanceRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.insulinResistanceRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={15} pt={5}>\n <Box>\n <Box>\n <span className=\"report-title\">Insulin Resistance</span>\n </Box>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Your Genetics and Labs</span>\n </Box>\n <Box>\n <span>\n Insulin is a hormone made by the pancreas and is responsible for transporting glucose\n from your blood stream into your cells. Insulin resistance is the reduced effectiveness\n of insulin at transporting glucose- the cells become “resistant to it.” There are\n many theories. At {TitlesService.simpleBaseTitle} we believe in the suitcase theory: if your cells are\n full of glucose, it becomes harder to fit glucose in them and the insulin doesn’t\n work as well. Thus the treatment is reducing glucose, ie consumption. If insulin\n resistance goes unchecked it will lead to pre-diabetes, and often\n full blown type 2 diabetes.\n </span>\n <br />\n <br />\n <span>Although there are many facets to fixing insulin resistance, the basics are:</span>\n <br />\n <span>1. Diet: low carb and fasting to reduce glucose in the cells</span>\n <br />\n <span>2. Exercise. Increase glucose utilization</span>\n <br />\n <span>3. Sleep and hormonal optimization- to optimize insulin effectiveness.</span>\n </Box>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15} pt={3}>\n <Box>\n <Grid container>\n <Grid item xs={4}>\n <Box>\n <Box mt={5}>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.carbonIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Carb Intolerance: {Math.round(report.dietAndNutritionReport.carbonIntoleranceScore.scorePercent)}%\n </span>\n </Box>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box>\n <Box className=\"text-light-medium\" px={2}>\n <Box>\n <span className=\"report-sub-title\">Insulin Resistance Labs</span>\n </Box>\n <Box>\n <LabResultComponent label=\"Fasting Glucose\" value={labValues.getLabReportValue(LabInputNames.FastingGlucose)} />\n <LabResultComponent label=\"Fasting Insulin\" value={labValues.getLabReportValue(LabInputNames.FastingInsulin)} />\n <LabResultComponent label=\"HOMA-IR\" value={{\n name: LabInputNames.Homir,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.homir,\n notification: null,\n range: null\n }} />\n <LabResultComponent label=\"Ferritin\" value={labValues.getLabReportValue(LabInputNames.Ferritin)} />\n <LabResultComponent label=\"TRIG:HDL\" value={{\n name: LabInputNames.TrigHdl,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.hdlTrigRatio,\n notification: null,\n range: null\n }} />\n <LabResultComponent label=\"Hgb-A1c\" value={labValues.getLabReportValue(LabInputNames.HgbA1C)} />\n </Box>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box display=\"flex\" justifyContent=\"flex-end\" mt={2}>\n <Box width=\"60%\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.carbonIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15} pt={3}>\n <Box>\n <Box>\n <span\n className=\"report-title\">Insulin Resistance Score: {report.dietAndNutritionReport.insulinResistanceScore == null\n ? \"Unavailable\"\n : Math.round(report.dietAndNutritionReport.insulinResistanceScore?.scorePercent) + \"%\"}</span>\n </Box>\n <Box mt={5}>\n <ProgressDiagramComponent\n height={22}\n colors={['#626d4b', '#e10003']}\n data={[\n {\n label: '',\n value: report.dietAndNutritionReport.insulinResistanceScore?.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={report.dietAndNutritionReport.insulinResistanceScore == null}\n />\n </Box>\n </Box>\n <Box mt={5}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Your Insulin Resistance Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n <Box mt={2}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.InsulinResistance)}\n recommendation={report.longevityReport.insulinResistanceRecommendation}\n type={RecommendationTypesNumbers.InsulinResistance}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.InsulinResistance]}\n recommendation={report.longevityReport.insulinResistanceRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.insulinResistanceRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.insulinResistanceRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </>\n </HealthReportBasePage>\n )\n )\n}\n","import icon from \"@img/HealthReport_Pg22_Inflammation.png\";\nimport { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { HealthRecommendationComponent } from '../components/healthRecommendationComponent/HealthRecommendationComponent';\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { LabelPosition, ProgressDiagramComponent } from \"../components/progressDiagramComponent/ProgressDiagramComponent\";\nimport { HealthReportMode, HealthReportSections, HealthReportVersion, recommendationRowsCapacity, RecommendationTypesNumbers } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { WildHealthButton } from \"../../common/components/wildHealthButton/WildHealthButton\";\nimport { RecommendationSingleSelectComponent } from \"../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent\";\n\nexport const HealthReportChronicDisease5Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n pageNumber,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Inflammation</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your Genetics and Labs</span>\n </Box>\n <Box mt=\"12px\" fontSize=\"14px\" lineHeight=\"22px\">\n <p>Inflammation kills.</p>\n <p>\n Chronic low grade inflammation is at the root of cardiovascular disease,\n Alzheimer's, cancer, and autoimmune disease. Chronic inflammation can be\n treated with supplements, an anti-inflammatory diet, sleep, and healthy\n exercise, but the most important action is to identify the source.\n </p>\n <p>Some common sources include:</p>\n <p>1. Microbiome - “leaky gut”</p>\n <p>2. Overtraining - too much exercise, not enough recovery</p>\n <p>3. Inflammatory diet</p>\n <p>4. Poor sleep</p>\n <p>5. Insulin resistance</p>\n <p>6. High cholesterol</p>\n <p>7. Chronic infections</p>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"10px\" display=\"flex\" justifyContent=\"center\">\n <img src={icon} style={{ width: '60px', height: 'auto' }} alt=\"img\" />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>CRP = {labValues.getLabReportValue(LabInputNames.Crp)?.value}</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mt=\"20px\" lineHeight=\"22px\">\n <Box>\n <span className={classes.reportSubTitle}>Low<br/>Inflammation</span>\n </Box>\n <Box textAlign=\"right\">\n <span className={classes.reportSubTitle}>High<br/>Inflammation</span>\n </Box>\n </Box>\n <Box mt={2}>\n <ProgressDiagramComponent\n height={22}\n colors={['#65704f', '#d60001']}\n data={[\n {\n label: '',\n value: report.longevityReport.inflammationRiskScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.longevityReport.inflammationRiskScore.isCalculated}\n />\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mt={0.5} >\n <Box>\n <span className=\"text-accent text-medium\">0</span>\n </Box>\n <Box>\n <span className=\"text-accent text-medium\">5.0</span>\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box className=\"text-light-medium\">\n <Box>\n <span className={classes.reportSubTitle}>Inflammation Labs</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"A/G ratio\" value={labValues.getLabReportValue(LabInputNames.AgRatio)} />\n </Box>\n </Box>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Your Inflammation Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n <Box mt=\"10px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Inflammation)}\n recommendation={report.longevityReport.inflammationRecommendation}\n type={RecommendationTypesNumbers.Inflammation}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Inflammation]}\n recommendation={report.longevityReport.inflammationRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.inflammationRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.inflammationRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ChronicDisease} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={15} pt={5}>\n <Grid container>\n <Grid item xs={9}>\n <Box>\n <Box>\n <span className=\"report-title\">Inflammation</span>\n </Box>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Your Genetics and Labs</span>\n </Box>\n <Box>\n <p>Inflammation kills.</p>\n <p>\n Chronic low grade inflammation is at the root of cardiovascular disease,\n Alzheimer's, cancer, and autoimmune disease. Chronic inflammation can be\n treated with supplements, an anti-inflammatory diet, sleep, and healthy\n exercise, but the most important action is to identify the source.\n </p>\n <p>Some common sources include:</p>\n <p>1. Microbiome - “leaky gut”</p>\n <p>2. Overtraining - too much exercise, not enough recovery</p>\n <p>3. Inflammatory diet</p>\n <p>4. Poor sleep</p>\n <p>5. Insulin resistance</p>\n <p>6. High cholesterol</p>\n <p>7. Chronic infections</p>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={3}>\n <Box pt={2} px={10}>\n <img src={icon} style={{ width: '100%' }} alt=\"img\" />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15}>\n <Box>\n <span className=\"report-title\">CRP = {labValues.getLabReportValue(LabInputNames.Crp)?.value}</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mt={5} >\n <Box>\n <span className=\"report-sub-title\">Low Inflammation</span>\n </Box>\n <Box>\n <span className=\"report-sub-title\">High Inflammation</span>\n </Box>\n </Box>\n <Box mt={2}>\n <ProgressDiagramComponent\n height={22}\n colors={['#65704f', '#d60001']}\n data={[\n {\n label: '',\n value: report.longevityReport.inflammationRiskScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.longevityReport.inflammationRiskScore.isCalculated}\n />\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mt={2} >\n <Box ml={2}>\n <span className=\"text-accent text-medium\">0</span>\n </Box>\n <Box mr={2}>\n <span className=\"text-accent text-medium\">5.0</span>\n </Box>\n </Box>\n <Box mt={7}>\n <Box className=\"text-light-medium\">\n <Box>\n <span className=\"report-sub-title\">Inflammation Labs</span>\n </Box>\n <Box width=\"25%\">\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"A/G ratio\" value={labValues.getLabReportValue(LabInputNames.AgRatio)} />\n </Box>\n </Box>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15}>\n <Box>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Your Inflammation Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n <Box mt={2}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Inflammation)}\n recommendation={report.longevityReport.inflammationRecommendation}\n type={RecommendationTypesNumbers.Inflammation}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Inflammation]}\n recommendation={report.longevityReport.inflammationRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.inflammationRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.inflammationRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { dnaDefinitions, HealthReportSections, HealthReportMode } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportDetails1Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const definitions = Object.keys(dnaDefinitions)\n .sort((a, b) => a.localeCompare(b))\n .slice(0, 26);\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.GenomicGlossary} pageNumber={pageNumber} practice={practice} firstPage>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}> Genomic Glossary </span>\n </Box>\n <Box mt=\"10px\" fontSize=\"14px\" lineHeight=\"22px\">\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\"> Genomic Glossary </span>\n </Box>\n <Box mt={3}>\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { dnaDefinitions, HealthReportSections, HealthReportMode } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportDetails2Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const definitions = Object.keys(dnaDefinitions)\n .sort((a, b) => a.localeCompare(b))\n .slice(26, 47);\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.GenomicGlossary} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box fontSize=\"14px\" lineHeight=\"22px\">\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\"> Genomic Glossary </span>\n </Box>\n <Box mt={3}>\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import React from 'react';\nimport { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportSections, dnaDefinitions, HealthReportMode } from \"../models/healthReport.models\";\n\nexport const HealthReportDetails3Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const definitions = Object.keys(dnaDefinitions)\n .sort((a, b) => a.localeCompare(b))\n .slice(47, 61);\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.GenomicGlossary} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box fontSize=\"14px\" lineHeight=\"22px\">\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\"> Genomic Glossary </span>\n </Box>\n <Box mt={3}>\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { dnaDefinitions, HealthReportSections, HealthReportMode } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportDetails4Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const definitions = Object.keys(dnaDefinitions)\n .sort((a, b) => a.localeCompare(b))\n .slice(61);\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.GenomicGlossary} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box fontSize=\"14px\" lineHeight=\"22px\">\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\"> Genomic Glossary </span>\n </Box>\n <Box mt={3}>\n {definitions.map((definition, index) => {\n return <Box key={index}><span><span className=\"text-medium\">{definition}:</span> {dnaDefinitions[definition]}</span><br /></Box>\n })}\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}","import {LabRangeModel, LabRangeType} from \"../models/input.models\";\nimport { LabReportValueRangeModel } from \"../../healthReport/models/healthReport.models\";\n\nconst getLabInputRange = (range: LabRangeModel | LabReportValueRangeModel): string => {\n switch (range.type)\n {\n case LabRangeType.FromTo:\n return `${range.from} - ${range.to}`;\n case LabRangeType.LessThen:\n return `< ${range.to}`;\n case LabRangeType.MoreThen:\n return `> ${range.from}`;\n case LabRangeType.LessThanOrEqual:\n return `<= ${range.to}`\n case LabRangeType.MoreThanOrEqual:\n return `>= ${range.from}`\n case LabRangeType.None:\n return '';\n default:\n return '';\n }\n}\n\nexport const renderLabInputRange = (range: LabRangeModel | LabReportValueRangeModel, wrapBrackets = true): string => {\n if (range.type === LabRangeType.None) {\n return '';\n }\n\n let rangeString = getLabInputRange(range);\n const dimension = range.dimension ? ` ${range.dimension}` : '';\n\n return wrapBrackets\n ? `(${rangeString}${dimension})`\n : `${rangeString}${dimension}`;\n}\n\nexport const getMinValueByRange = (range: LabRangeModel) => {\n switch (range.type)\n {\n case LabRangeType.FromTo:\n return range.from;\n case LabRangeType.LessThen:\n return 0;\n case LabRangeType.LessThanOrEqual:\n return 0;\n case LabRangeType.MoreThen:\n return range.from;\n case LabRangeType.MoreThanOrEqual:\n return range.from;\n case LabRangeType.None:\n return 0;\n default:\n return 0;\n }\n}\n\nexport const getMaxValueByRange = (range: LabRangeModel) => {\n switch (range.type)\n {\n case LabRangeType.FromTo:\n return range.to;\n case LabRangeType.LessThen:\n return range.to;\n case LabRangeType.LessThanOrEqual:\n return range.to;\n case LabRangeType.MoreThen:\n return range.from;\n case LabRangeType.MoreThanOrEqual:\n return range.from;\n case LabRangeType.None:\n return 0;\n default:\n return 0;\n }\n}\n","import { Box, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputLabels, LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { LabGroup } from '../../inputs/models/input.models';\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { renderLabInputRange } from \"../../inputs/helpers/render-lab-input-range\";\n\nexport const HealthReportDetails5Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n report,\n practice\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values.filter((x) => !!LabInputLabels[x.name] && x.value);\n const lipidsValues = labValues.filter(x => x.group === LabGroup.Lipids);\n const hormonesValues = labValues.filter(x => x.group === LabGroup.Hormones);\n const methylationValues = labValues.filter(x => x.group === LabGroup.Methylation);\n const inflammationValues = labValues.filter(x => x.group === LabGroup.Inflammation);\n const vitaminsAndMicronutrientsValues = labValues.filter(x => x.group === LabGroup.VitaminsAndMicronutrients);\n const insulinResistanceAndMetabolismValues = labValues.filter(x => x.group === LabGroup.InsulinResistanceAndMetabolism);\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Labs} pageNumber={pageNumber} practice={practice} firstPage>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>Laboratory results</span>\n </Box>\n <Box>\n <Grid container>\n <Grid item xs={12}>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Lipids</span>\n </Box>\n <Box mt={1}>\n {\n lipidsValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Methylation</span>\n </Box>\n <Box mt={1}>\n {\n methylationValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Vitamins and Micronutrients</span>\n </Box>\n <Box mt={1}>\n {\n vitaminsAndMicronutrientsValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Hormones</span>\n </Box>\n <Box mt={1}>\n {\n hormonesValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Inflammation</span>\n </Box>\n <Box mt={1}>\n {\n inflammationValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Insulin resistance / Metabolism</span>\n </Box>\n <Box mt={1}>\n {\n insulinResistanceAndMetabolismValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n <LabResultComponent\n label=\"HOMA-IR\"\n value={{\n name: LabInputNames.Homir,\n group: LabGroup.Lipids,\n date: new Date(),\n value: report.alphaReport.homir,\n notification: null,\n range: null\n }}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">Laboratory results</span>\n </Box>\n <Box mt={5}>\n <Grid container\n spacing={2}\n justify=\"space-between\">\n <Grid item xs={5}>\n <Box pr={5}>\n <Box mb={3}>\n <span className=\"report-sub-title\">Lipids</span>\n </Box>\n <Box mb={5}>\n {\n lipidsValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt={6} pr={5}>\n <Box mb={3}>\n <span className=\"report-sub-title\">Methylation</span>\n </Box>\n <Box mb={5}>\n {\n methylationValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt={6} pr={5}>\n <Box mb={3}>\n <span className=\"report-sub-title\">Vitamins and Micronutrients</span>\n </Box>\n <Box mb={5}>\n {\n vitaminsAndMicronutrientsValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n </Grid>\n <Grid item xs={7}>\n <Box pl={5}>\n <Box mb={3}>\n <span className=\"report-sub-title\">Hormones</span>\n </Box>\n <Box mb={5}>\n {\n hormonesValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt={6} pl={5}>\n <Box mb={3}>\n <span className=\"report-sub-title\">Inflammation</span>\n </Box>\n <Box mb={5}>\n {\n inflammationValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n </Box>\n </Box>\n <Box mt={6} pl={5}>\n <Box mb={3}>\n <span className=\"report-sub-title\">Insulin resistance / Metabolism</span>\n </Box>\n <Box>\n {\n insulinResistanceAndMetabolismValues.map((value, index) => {\n return <LabResultComponent\n key={index}\n label={`${LabInputLabels[value.name]} ${renderLabInputRange(value.range)}`}\n value={value}\n />\n })\n }\n <LabResultComponent\n label=\"HOMA-IR\"\n value={{\n name: LabInputNames.Homir,\n group: LabGroup.Lipids,\n date: new Date(),\n value: report.alphaReport.homir,\n notification: null,\n range: null\n }}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n\n","import { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { TitlesService } from \"../../../constants/title.constants\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport whImg from \"@img/HealthReport_Pg2_Image.jpg\";\nimport { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport clsx from \"clsx\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\n\nexport const HealthReportDietAndNutrition0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice} firstPage>\n <Box>\n <Box px={2}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Macronutrients</span>\n </Box>\n <Box mt={1.5} fontSize=\"14px\" lineHeight=\"22px\">\n There is no one ideal diet for all of us. We are all genetically different and have\n spent years\n modifying our epigenetics, training our bodies to turn specific genes on and off. This\n makes us\n all unique. At {TitlesService.simpleBaseTitle}, our goal is to help you find the right\n diet for you, based on your\n own preferences, your human operating system (your genes), and your current state of\n health.\n This section summarizes our assessment of a diet that will optimize your potential, fend\n off\n chronic disease, and promote longevity.\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg2ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport)}>Macronutrients</span>\n </Box>\n <Box mt={3}>\n There is no one ideal diet for all of us. We are all genetically different and have\n spent years\n modifying our epigenetics, training our bodies to turn specific genes on and off. This\n makes us\n all unique. At {TitlesService.simpleBaseTitle}, our goal is to help you find the right\n diet for you, based on your\n own preferences, your human operating system (your genes), and your current state of\n health.\n This section summarizes our assessment of a diet that will optimize your potential, fend\n off\n chronic disease, and promote longevity.\n </Box>\n <Box mt={10}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={whImg} style={{ width: '100%', height: '950px' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg2ImagePath} style={{ width: '100%', height: '950px' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import {LabInputValueModel} from \"../models/input.models\";\n\nexport const sortLabInputValues = (prev: LabInputValueModel, next: LabInputValueModel) =>\n (prev.date > next.date)\n ? -1\n : (next.date > prev.date)\n ? 1\n : (next.dataSetId < prev.dataSetId)\n ? 1\n : -1;","import { LabInputModel, LabInputsDatasetViewModel, LabInputsDatasetEditableViewModel, LabValidationSource, LabRangeModel } from \"../models/input.models\";\nimport {sortLabInputValues} from \"./sort-lab-input-values\";\nimport {LabReportValueModel} from \"../../healthReport/models/healthReport.models\";\n\ndeclare global {\n interface Array<T> {\n getLabReportValue(name: string): LabReportValueModel;\n }\n}\n\nexport const getLabLatestValue = (input: LabInputModel): number | null => {\n const latestValue = input.values.sort(sortLabInputValues)[0];\n\n return latestValue?.isInitialized\n ? Number(latestValue.value)\n : null;\n}\n\nexport const getDataSetByLabLatestValue = (dataSets: LabInputsDatasetEditableViewModel[] | LabInputsDatasetViewModel[], input: LabInputModel): any => {\n const datesetForRecentValue = input.values && input.values.length > 0 ? dataSets.find(x => x.id === [...input.values].sort(sortLabInputValues)[0].dataSetId) : dataSets[0];\n\n return datesetForRecentValue ?? dataSets[0];\n}\n\nexport const getRange = (input: LabInputModel): LabRangeModel | null => {\n if (input.values && input.values.length > 0) {\n const latestValue = input.values.sort(sortLabInputValues)[0];\n const range = latestValue?.range;\n const ranges = input.values.map(x => x.range);\n const wildHealthOptimalRange = ranges.find(x => x.source === LabValidationSource.Custom);\n \n return range ?? wildHealthOptimalRange;\n }\n\n return null;\n}\n\n\n/*eslint no-extend-native: [\"error\", { \"exceptions\": [\"Array\"] }]*/\nArray.prototype.getLabReportValue = function (name: string): LabReportValueModel {\n const _self = this as Array<LabReportValueModel>;\n return _self.find(x => x.name === name);\n};\n\nexport { };\n","import React from 'react';\nimport {\n PieChart, Pie, Cell,\n} from 'recharts';\n\ninterface CircleDiagramData {\n name: string;\n value: number;\n color: string;\n}\ninterface CircleDiagramComponentProps {\n data: CircleDiagramData[];\n radius: number;\n percentColor?: string;\n}\n\nexport const CircleDiagramComponent: React.FC<CircleDiagramComponentProps> = (props: CircleDiagramComponentProps) => {\n CircleDiagramComponent.defaultProps = {\n percentColor: \"white\"\n }\n\n const {\n data,\n radius,\n percentColor\n } = props;\n\n const RADIAN = Math.PI / 180;\n const renderCustomizedLabel = ({cx, cy, midAngle, innerRadius, outerRadius, percent}) => {\n const radius = innerRadius + (outerRadius - innerRadius) * 0.5;\n const x = cx + radius * Math.cos(-midAngle * RADIAN);\n const y = cy + radius * Math.sin(-midAngle * RADIAN);\n\n return (\n <text x={x} y={y} fill={percentColor} textAnchor={x > cx ? 'start' : 'end'} dominantBaseline=\"central\">\n {`${(percent * 100).toFixed(0)}%`}\n </text>\n );\n };\n\n return (\n <PieChart width={radius * 2 + 20} height={radius * 2 + 20}>\n <Pie\n data={data}\n cx={radius}\n cy={radius}\n labelLine={false}\n label={renderCustomizedLabel}\n outerRadius={radius}\n fill=\"#8884d8\"\n dataKey=\"value\"\n isAnimationActive={false}\n >\n {\n data.map((x, index) => <Cell key={`cell-${index}`} fill={x.color} />)\n }\n </Pie>\n </PieChart>\n );\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport \"./ColorDescriptionComponent.scss\";\n\ninterface ColorDescriptionComponentProps {\n color: string;\n description: string;\n}\n\nexport const ColorDescriptionComponent: React.FC<ColorDescriptionComponentProps> = (props: ColorDescriptionComponentProps) => {\n const {\n color,\n description\n } = props;\n\n return (\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n <Box className=\"color-squad\" style={{backgroundColor: color}} mr={1}/>\n <Box textAlign=\"center\">\n <span className=\"text-light-medium\">{description}</span>\n </Box>\n </Box>\n );\n}","import { Box, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport \"../../inputs/helpers/labInputs.extensions\";\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { CircleDiagramComponent } from '../components/circleDiagramComponent/CircleDiagramComponent';\nimport { ColorDescriptionComponent } from '../components/colorDescriptionComponent/colorDescriptionComponent';\nimport './healthReport.scss';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport { renderScaleChartComponent } from \"../helpers/renderScaleChartComponent\";\nimport { useStyles } from './healthReport.styles';\nimport { LabGroup } from \"../../inputs/models/input.models\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\n\nexport const HealthReportDietAndNutrition1Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n practice\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n const cycleDiagramData = [\n {\n name: \"CARBS\",\n value: report.dietAndNutritionReport.recommendedMacros.carb,\n color: \"#80b31b\"\n },\n {\n name: \"FATS\",\n value: report.dietAndNutritionReport.recommendedMacros.fat,\n color: \"#eed511\"\n },\n {\n name: \"PROTEINS\",\n value: report.dietAndNutritionReport.recommendedMacros.pro,\n color: \"#129ad4\"\n }\n ];\n\n const apoeAccuracyScore = report.dietAndNutritionReport?.apoeAccuracyScore;\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>Macronutrients</span>\n </Box>\n <>\n <Box mt=\"10px\" fontSize=\"14px\" lineHeight=\"normal\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Some recommendations are true for all, independent of your specific genomics:</span>\n </Box>\n <Box mt=\"20px\" fontSize=\"14px\" lineHeight=\"22px\">\n <span>-   Eat mostly plants. Meat and grains should always be considered side items on your plate.</span><br />\n <span>-   Do not eat processed food. It’s not real food if your great grandmother wouldn’t recognize it.</span><br />\n <span>-   Avoid vegetable oils (soybean, canola). These cause inflammation and are unhealthy forms of fat. Use extra virgin olive oil or avocado oil instead.</span><br />\n <span>-   Do not eat all of the time. A daily 12-hour fasting window is considered the minimum. Fasting improves metabolic flexibility and allows for cellular regeneration.</span>\n </Box>\n </>\n\n </Box>\n <Box px={2}>\n <Box mt=\"20px\">\n <span className={classes.reportTitle}>SNPS</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}> Your genetic blueprint (single nucleotide polymorphisms)</span>\n </Box>\n <Box textAlign=\"center\" mt=\"20px\">\n <span className={classes.reportTitle}>Your Diet and Nutrition</span>\n </Box>\n <Box textAlign=\"center\" mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your genetic predisposition to fat, carbs, and saturated fats:</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"20px\">\n <Grid container>\n <Grid item xs={1} />\n <Grid item xs={5}>\n <Box>\n <ColorDescriptionComponent\n color=\"#4c9000\"\n description=\"0 Risk Alleles\"\n />\n </Box>\n </Grid>\n <Grid item xs={1} />\n <Grid item xs={5}>\n <Box>\n <ColorDescriptionComponent\n color=\"#eed511\"\n description=\"1 Risk Allele\"\n />\n </Box>\n </Grid>\n <Grid item xs={1} />\n <Grid item xs={5}>\n <Box>\n <ColorDescriptionComponent\n color=\"#ff9100\"\n description=\"2 Risk Alleles\"\n />\n </Box>\n </Grid>\n <Grid item xs={1} />\n <Grid item xs={5}>\n <Box>\n <ColorDescriptionComponent\n color=\"#b9b9b9\"\n description=\"Missing SNP\"\n />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"10px\">\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <Box>\n <Box width={1} display=\"flex\" justifyContent=\"center\">\n {renderScaleChartComponent(report.dietAndNutritionReport.fatIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Fat Intolerance\n </span>\n </Box>\n <Box mt=\"10px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.fatIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box>\n <Box>\n <Box width={1} display=\"flex\" justifyContent=\"center\">\n {renderScaleChartComponent(report.dietAndNutritionReport.carbonIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Carb Intolerance\n </span>\n </Box>\n <Box mt=\"10px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.carbonIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box>\n <Box>\n <Box width={1} display=\"flex\" justifyContent=\"center\">\n {renderScaleChartComponent(report.dietAndNutritionReport.satFatIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Sat Fat Intolerance\n </span>\n </Box>\n <Box mt=\"10px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.satFatIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n <Box px={2} pt=\"20px\">\n <Grid container>\n <Grid item xs={12}>\n <Box display=\"flex\" justifyContent=\"flex-start\" mt={0.5}>\n <Box>\n <span className={classes.reportSubTitle}>\n Your APOE status:\n </span>\n </Box>\n <Box ml={3} display=\"flex\" alignItems=\"center\">\n <Box className={classes.reportSubTitle} mr={0.5}>\n Apo-{apoeAccuracyScore?.apoe}\n </Box>\n <Box className={clsx(commonClasses.size16, commonClasses.textRegular)}>\n {/* ({apoeAccuracyScore?.scorePercent}%) */}\n <span className={commonClasses.colorBad}>* </span>\n </Box>\n </Box>\n </Box>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeSmallReport, commonClasses.textRegularReport)}>\n Derived from a polygenic algorithm and contributes to all three nutrition scores.\n </span>\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box px={2} mt=\"20px\">\n <Grid container>\n <Grid item xs={12}>\n <Box className=\"text-light-medium\">\n <Box>\n <span className={classes.reportSubTitle}>Carb Related Labs</span>\n </Box>\n <Box pt={1}>\n <LabResultComponent label=\"Hgb-A1c\" value={labValues.getLabReportValue(LabInputNames.HgbA1C)} />\n <LabResultComponent label=\"Fasting Glucose\" value={labValues.getLabReportValue(LabInputNames.FastingGlucose)} />\n <LabResultComponent label=\"HOMA-IR\" value={{\n name: LabInputNames.Homir,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.homir,\n notification: null,\n range: null\n }} />\n <LabResultComponent label=\"TRIG:HDL\" value={{\n name: LabInputNames.TrigHdl,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.hdlTrigRatio,\n notification: null,\n range: null\n }} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box className=\"text-light-medium\" mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Lipid Panel</span>\n </Box>\n <Box pt={1}>\n <LabResultComponent label=\"Total Cholesterol\" value={labValues.getLabReportValue(LabInputNames.TotalCholesterol)} />\n <LabResultComponent label=\"HDL\" value={labValues.getLabReportValue(LabInputNames.HdlCholesterol)} />\n <LabResultComponent label=\"LDL\" value={labValues.getLabReportValue(LabInputNames.LdlCholesterol)} />\n <LabResultComponent label=\"TRIG\" value={labValues.getLabReportValue(LabInputNames.Triglycerides)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"20px\">\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"flex-end\">\n <CircleDiagramComponent data={cycleDiagramData} radius={80} percentColor=\"black\" />\n </Box>\n <Box display=\"flex\" alignItems=\"center\" ml={2}>\n <Box>\n <Box>\n <ColorDescriptionComponent\n color=\"#80b31b\"\n description=\"Carbs\"\n />\n </Box>\n <Box>\n <ColorDescriptionComponent\n color=\"#eed511\"\n description=\"Fats\"\n />\n </Box>\n <Box>\n <ColorDescriptionComponent\n color=\"#129ad4\"\n description=\"Proteins\"\n />\n </Box>\n </Box>\n </Box>\n </Box>\n </Grid>\n </Grid>\n <Box mt=\"10px\" lineHeight=\"16px\" display=\"flex\"><Box mr={0.5} className={commonClasses.colorBad}>* </Box><span className={clsx(commonClasses.size14, commonClasses.textRegular)}>Your APOE result is discussed in detail later in the report.</span></Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5} pb={0}>\n <Box>\n <span className={classes.reportTitle}>Macronutrients</span>\n </Box>\n <>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Some recommendations are true for all, independent of your specific genomics:</span>\n </Box>\n <Box mt={1}>\n <span>-   Eat mostly plants. Meat and grains should always be considered side items on your plate.</span><br />\n <span>-   Do not eat processed food. It’s not real food if your great grandmother wouldn’t recognize it.</span><br />\n <span>-   Avoid vegetable oils (soybean, canola). These cause inflammation and are unhealthy forms of fat. Use extra virgin olive oil or avocado oil instead.</span><br />\n <span>-   Do not eat all of the time. A daily 12-hour fasting window is considered the minimum. Fasting improves metabolic flexibility and allows for cellular regeneration.</span>\n </Box>\n </>\n\n </Box>\n <Box pl={15} pr={15}>\n <Box mt={1}>\n <span className={classes.reportTitle}>SNPS</span>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}> Your genetic blueprint (single nucleotide polymorphisms)</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className={classes.reportTitle}>Your Diet and Nutrition</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Your genetic predisposition to fat, carbs, and saturated fats:</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Grid container>\n <Grid item xs={4} md={4} lg={4}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.fatIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Fat Intolerance\n </span>\n </Box>\n <Box mt={2} px={7}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.fatIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4} md={4} lg={4}>\n <Box>\n <Box display=\"flex\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.carbonIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Carb Intolerance\n </span>\n </Box>\n <Box mt={2} px={7}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.carbonIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4} md={4} lg={4}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.satFatIntoleranceScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <span className=\"text-medium\">\n Sat Fat Intolerance\n </span>\n </Box>\n <Box mt={2} px={7}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.satFatIntoleranceScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n <Box pr={15} pl={15} pt={0.5}>\n <Grid container>\n <Grid item xs={2}>\n </Grid>\n <Grid item xs={2}>\n <Box>\n <ColorDescriptionComponent\n color=\"#4c9000\"\n description=\"0 Risk Alleles\"\n />\n </Box>\n </Grid>\n <Grid item xs={2}>\n <Box>\n <ColorDescriptionComponent\n color=\"#eed511\"\n description=\"1 Risk Allele\"\n />\n </Box>\n </Grid>\n <Grid item xs={2}>\n <Box>\n <ColorDescriptionComponent\n color=\"#ff9100\"\n description=\"2 Risk Alleles\"\n />\n </Box>\n </Grid>\n <Grid item xs={2}>\n <Box>\n <ColorDescriptionComponent\n color=\"#b9b9b9\"\n description=\"Missing SNP\"\n />\n </Box>\n </Grid>\n <Grid item xs={2}>\n </Grid>\n <Grid item xs={12}>\n <Box display=\"flex\" justifyContent=\"flex-start\" mt={0.5}>\n <Box>\n <span className={classes.reportSubTitle}>\n Your APOE status:\n </span>\n </Box>\n <Box ml={3} display=\"flex\" alignItems=\"center\">\n <Box className={classes.reportSubTitle} mr={0.5}>\n Apo-{apoeAccuracyScore?.apoe}\n </Box>\n <Box className={clsx(commonClasses.size16, commonClasses.textRegular)}>\n {/* ({apoeAccuracyScore?.scorePercent}%) */}\n <span className={commonClasses.colorBad}>* </span>\n </Box>\n </Box>\n </Box>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeSmallReport)}>\n Derived from a polygenic algorithm and contributes to all three nutrition scores.\n </span>\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box pr={15} pl={15} mt={0.5}>\n <Grid container>\n <Grid item xs={4}>\n <Box className=\"text-light-medium\" px={5}>\n <Box>\n <span className={classes.reportSubTitle}>Carb Related Labs</span>\n </Box>\n <Box>\n <LabResultComponent label=\"Hgb-A1c\" value={labValues.getLabReportValue(LabInputNames.HgbA1C)} />\n <LabResultComponent label=\"Fasting Glucose\" value={labValues.getLabReportValue(LabInputNames.FastingGlucose)} />\n <LabResultComponent label=\"HOMA-IR\" value={{\n name: LabInputNames.Homir,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.homir,\n notification: null,\n range: null\n }} />\n <LabResultComponent label=\"TRIG:HDL\" value={{\n name: LabInputNames.TrigHdl,\n group: LabGroup.InsulinResistanceAndMetabolism,\n date: new Date(),\n value: report.alphaReport.hdlTrigRatio,\n notification: null,\n range: null\n }} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box className=\"text-light-medium\" px={5}>\n <Box>\n <span className={classes.reportSubTitle}>Lipid Panel</span>\n </Box>\n <Box>\n <LabResultComponent label=\"Total Cholesterol\" value={labValues.getLabReportValue(LabInputNames.TotalCholesterol)} />\n <LabResultComponent label=\"HDL\" value={labValues.getLabReportValue(LabInputNames.HdlCholesterol)} />\n <LabResultComponent label=\"LDL\" value={labValues.getLabReportValue(LabInputNames.LdlCholesterol)} />\n <LabResultComponent label=\"TRIG\" value={labValues.getLabReportValue(LabInputNames.Triglycerides)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box display=\"flex\" justifyContent=\"flex-start\">\n <Box display=\"flex\" justifyContent=\"center\" alignItems=\"flex-end\">\n <CircleDiagramComponent data={cycleDiagramData} radius={80} percentColor=\"black\" />\n </Box>\n <Box display=\"flex\" alignItems=\"center\" ml={2}>\n <Box>\n <Box>\n <ColorDescriptionComponent\n color=\"#80b31b\"\n description=\"Carbs\"\n />\n </Box>\n <Box>\n <ColorDescriptionComponent\n color=\"#eed511\"\n description=\"Fats\"\n />\n </Box>\n <Box>\n <ColorDescriptionComponent\n color=\"#129ad4\"\n description=\"Proteins\"\n />\n </Box>\n </Box>\n </Box>\n </Box>\n </Grid>\n </Grid>\n <Box mt={2} lineHeight=\"16px\" display=\"flex\"><Box mr={0.5} className={commonClasses.colorBad}>* </Box><span className={clsx(commonClasses.size14, commonClasses.textRegular)}>Your APOE result is discussed in detail later in the report.</span></Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { CircleDiagramComponent } from \"../components/circleDiagramComponent/CircleDiagramComponent\";\nimport { ColorDescriptionComponent } from '../components/colorDescriptionComponent/colorDescriptionComponent';\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport { HealthReportMode, HealthReportSections, HealthReportVersion, recommendationName, recommendationRowsCapacity, RecommendationTypesNumbers } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\n\nexport const HealthReportDietAndNutrition2Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n recommendations,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const cycleDiagramData = [\n {\n name: \"CARBS\",\n value: report.dietAndNutritionReport.recommendedMacros.carb,\n color: \"#80b31b\"\n },\n {\n name: \"FAT\",\n value: report.dietAndNutritionReport.recommendedMacros.fat,\n color: \"#eed511\"\n },\n {\n name: \"PROTEIN\",\n value: report.dietAndNutritionReport.recommendedMacros.pro,\n color: \"#129ad4\"\n }\n ];\n \n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <span className={classes.reportTitle}>Macronutrients</span>\n </Box>\n <Box mt=\"10px\" fontSize=\"14px\" lineHeight=\"22px\">\n <p>\n Macronutrient tracking can be extremely time intensive and overwhelming, but is essential to\n understand where your calories come from. Genetically, we are all different and may benefit\n from significant variations in our macronutrient profile. Furthermore, many people\n experience significant weight loss (or desired weight gains) through macronutrient tracking.\n There are extensive phone apps that assist in calorie and macronutrient counting.\n </p>\n </Box>\n <Box mt=\"20px\" lineHeight=\"19px\">\n <p>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeSmallReport)}>\n To estimate your daily calories per gram of carbohydrate, fat, and protein use the following formula:\n </span>\n </p>\n </Box>\n <Box mt=\"20px\">\n <p>\n 1 gram Carbohydrate = 4 calories<br />\n 1 gram Protein = 4 calories<br />\n 1 gram of Fat = 9 calories\n </p>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"30px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your recommended macros:</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"30px\">\n <Box display=\"flex\" justifyContent=\"center\">\n <CircleDiagramComponent data={cycleDiagramData} radius={80} percentColor=\"black\" />\n </Box>\n <Box display=\"flex\" alignItems=\"flex-end\" ml={2}>\n <Box mb={3}>\n <Box>\n <ColorDescriptionComponent\n color=\"#80b31b\"\n description=\"Carbs\"\n />\n </Box>\n <Box mt=\"1em\">\n <ColorDescriptionComponent\n color=\"#eed511\"\n description=\"Fats\"\n />\n </Box>\n <Box mt=\"1em\">\n <ColorDescriptionComponent\n color=\"#129ad4\"\n description=\"Proteins\"\n />\n </Box>\n </Box>\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box px={2}>\n <Box mt={5}>\n <Box pb={2}>\n <span className={classes.reportTitle}>Your Macronutrients Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Macronutrient)}\n recommendation={report.dietAndNutritionReport.macronutrientRecommendation}\n type={RecommendationTypesNumbers.Macronutrient}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Macronutrient]}\n recommendation={report.dietAndNutritionReport.macronutrientRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.macronutrientRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.macronutrientRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ): (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Grid container>\n <Grid item xs={6}>\n <Box>\n <span className=\"report-title\">Macronutrients</span>\n </Box>\n <Box mt={3}>\n <p>\n Macronutrient tracking can be extremely time intensive and overwhelming, but is essential to\n understand where your calories come from. Genetically, we are all different and may benefit\n from significant variations in our macronutrient profile. Furthermore, many people\n experience significant weight loss (or desired weight gains) through macronutrient tracking.\n There are extensive phone apps that assist in calorie and macronutrient counting.\n </p>\n\n <br />\n <p>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeSmallReport)}>\n To estimate your daily calories per gram of carbohydrate, fat, and protein use the following formula:\n </span>\n </p>\n <br />\n <p>\n 1 gram Carbohydrate = 4 calories<br />\n 1 gram Protein = 4 calories<br />\n 1 gram of Fat = 9 calories\n </p>\n </Box>\n </Grid>\n <Grid item xs={6} md={6} lg={6}>\n <Box textAlign=\"center\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Your recommended macros:</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"flex-start\" mt={3}>\n <Box display=\"flex\" justifyContent=\"center\" ml={10}>\n <CircleDiagramComponent data={cycleDiagramData} radius={150} percentColor=\"black\" />\n </Box>\n <Box display=\"flex\" alignItems=\"flex-end\" ml={3}>\n <Box mb={3}>\n <Box>\n <ColorDescriptionComponent\n color=\"#80b31b\"\n description=\"Carbs\"\n />\n </Box>\n <Box mt=\"1em\">\n <ColorDescriptionComponent\n color=\"#eed511\"\n description=\"Fats\"\n />\n </Box>\n <Box mt=\"1em\">\n <ColorDescriptionComponent\n color=\"#129ad4\"\n description=\"Proteins\"\n />\n </Box>\n </Box>\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className=\"report-divider\" />\n <Box pr={15} pl={15}>\n <Box mt={5}>\n <Box pb={2} display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Your Macronutrients Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Macronutrient)}\n recommendation={report.dietAndNutritionReport.macronutrientRecommendation}\n type={RecommendationTypesNumbers.Macronutrient}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Macronutrient]}\n recommendation={report.dietAndNutritionReport.macronutrientRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.macronutrientRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.macronutrientRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import img from \"@img/HealthReport_Pg5_Diagram.png\";\nimport { Box, Divider, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportDietAndNutrition3Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>Metabolism and Vitamins - Methylation</span>\n </Box>\n <Box mt=\"10px\" fontSize=\"14px\" lineHeight=\"22px\">\n <Box>\n <p className=\"text-medium\">\n <span className=\"text-bold\">Methylation</span>: Methylation is the process of “1 carbon metabolism,” representing the body’s\n ability to carry out the process of adding carbon atoms or methyl groups to compounds. The body\n has to do this to package DNA, regenerate muscle, make enzymes, degrade neurotransmitters and\n harmful chemicals, and much, much more. Methylation is performed via two pathways: the FOLATE\n pathway and the CHOLINE pathway. Both pathways must be optimized to promote adequate methylation\n and perform all of these processes at an appropriate level.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n Folate (Vitamin B9) and other B vitamins are involved in the methylation pathway, most\n specifically Folate, B12, and P-5-P. There are multiple mutations in enzymes involved in the\n pathway, such as MTHFR, which can affect your ability to methylate using the B vitamins. B\n vitamins are found in numerous quantities in green leafy vegetables.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n Choline is an essential nutrient important for multiple bodily functions including methylation,\n neurotransmitter development, fat packaging and excretion from the liver, and creatine\n production. Choline is found in greatest quantity in eggs, fish, dairy, meat, and to a lesser\n but notable amount in vegetables. Multiple SNPs are involved in the choline side of the\n methylation pathway and are noted below.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n We can assess your methylation status by measuring your homocysteine levels. Homocysteine builds\n up when methylation is stressed. High homocysteine levels have been associated with\n cardiovascular disease and other chronic diseases. Elevated homocysteine levels appear to\n irritate the arterial walls. We will also test your B vitamin levels and your liver function\n levels as elevated liver function markers can indicate choline deficiencies.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n TMAO: Unfortunately, when you are low in choline the answer isn’t always as simple as take more\n choline. Some people are at risk of higher cardiovascular disease when they ingest choline and\n carnitine due to a compound made by some gut bacteria called TMAO. We can tell your risk for\n this response based on the function of a specific enzyme and your gut microbiome composition.\n The TMAO risk score calculates your risk, and if it is high we can supplement the choline system\n in different ways.\n </p>\n </Box>\n </Box>\n </Box>\n <Box px={2} mt=\"20px\">\n <Box display=\"flex\" justifyContent=\"center\">\n <img src={img} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">Metabolism and Vitamins - Methylation</span>\n </Box>\n <Box mt={2}>\n <Box>\n <p className=\"text-medium\">\n <span className=\"text-bold\">Methylation</span>: Methylation is the process of “1 carbon metabolism,” representing the body’s\n ability to carry out the process of adding carbon atoms or methyl groups to compounds. The body\n has to do this to package DNA, regenerate muscle, make enzymes, degrade neurotransmitters and\n harmful chemicals, and much, much more. Methylation is performed via two pathways: the FOLATE\n pathway and the CHOLINE pathway. Both pathways must be optimized to promote adequate methylation\n and perform all of these processes at an appropriate level.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n Folate (Vitamin B9) and other B vitamins are involved in the methylation pathway, most\n specifically Folate, B12, and P-5-P. There are multiple mutations in enzymes involved in the\n pathway, such as MTHFR, which can affect your ability to methylate using the B vitamins. B\n vitamins are found in numerous quantities in green leafy vegetables.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n Choline is an essential nutrient important for multiple bodily functions including methylation,\n neurotransmitter development, fat packaging and excretion from the liver, and creatine\n production. Choline is found in greatest quantity in eggs, fish, dairy, meat, and to a lesser\n but notable amount in vegetables. Multiple SNPs are involved in the choline side of the\n methylation pathway and are noted below.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n We can assess your methylation status by measuring your homocysteine levels. Homocysteine builds\n up when methylation is stressed. High homocysteine levels have been associated with\n cardiovascular disease and other chronic diseases. Elevated homocysteine levels appear to\n irritate the arterial walls. We will also test your B vitamin levels and your liver function\n levels as elevated liver function markers can indicate choline deficiencies.\n </p>\n </Box>\n <Box>\n <p className=\"text-medium\">\n TMAO: Unfortunately, when you are low in choline the answer isn’t always as simple as take more\n choline. Some people are at risk of higher cardiovascular disease when they ingest choline and\n carnitine due to a compound made by some gut bacteria called TMAO. We can tell your risk for\n this response based on the function of a specific enzyme and your gut microbiome composition.\n The TMAO risk score calculates your risk, and if it is high we can supplement the choline system\n in different ways.\n </p>\n </Box>\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15}>\n <Box px={10} display=\"flex\" justifyContent=\"center\">\n <img src={img} style={{ width: '70%', height: '510px' }} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport \"../../inputs/helpers/labInputs.extensions\";\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { HealthRecommendationComponent } from '../components/healthRecommendationComponent/HealthRecommendationComponent';\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport { LabelPosition, ProgressDiagramComponent } from \"../components/progressDiagramComponent/ProgressDiagramComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport { HealthReportMode, HealthReportSections, HealthReportVersion, recommendationRowsCapacity, RecommendationTypesNumbers } from '../models/healthReport.models';\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { renderScaleChartComponent } from \"../helpers/renderScaleChartComponent\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\n\nexport const HealthReportDietAndNutrition4Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box p={2} style={{ background: '#f0f0f0' }}>\n <Box>\n <span className={classes.reportTitle}>Micronutrients: methylation</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Your Methylation Genomics and Labs </span>\n </Box>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>\n Methylation Status:\n </span><br />\n </Box>\n <Box mt={0.5}>\n <span className=\"report-value uppercase\" style={{ fontSize: '24px', fontWeight: 400 }}>\n {report.dietAndNutritionReport.methylationScore.result}\n </span>\n </Box>\n </Box>\n <Box mt=\"10px\">\n <ProgressDiagramComponent\n height={22}\n colors={['#d7cd00', '#8c935b']}\n data={[\n {\n label: '',\n value: report.dietAndNutritionReport.methylationScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.dietAndNutritionReport.methylationScore.isCalculated}\n />\n </Box>\n <Box mt=\"20px\" display=\"flex\" alignItems=\"center\">\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport)}>Homocysteine:</span>\n </Box>\n <Box ml={2}>\n <span className=\"report-value\" style={{ fontSize: '24px', fontWeight: 400 }}>\n {labValues.getLabReportValue(LabInputNames.Homocysteine)?.value}\n </span>\n </Box>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box width={1} display=\"flex\" justifyContent=\"center\">\n {renderScaleChartComponent(report.dietAndNutritionReport.cholineRiskScore)}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">Choline Risk Score</span>\n </Box>\n <Box mt={2}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.cholineRiskScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box width={1} display=\"flex\" justifyContent=\"center\">\n {renderScaleChartComponent(report.dietAndNutritionReport.folateScore)}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">Folate Risk Score</span>\n </Box>\n <Box mt={2}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.folateScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box width={1} display=\"flex\" justifyContent=\"center\">\n {renderScaleChartComponent(report.dietAndNutritionReport.tmaoRiskScore)}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">TMAO Score</span>\n </Box>\n <Box mt={2}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.tmaoRiskScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box className=\"text-medium\" mt=\"20px\">\n <Box>\n <span className=\"report-sub-title\">Choline Related Labs</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"AST\" value={labValues.getLabReportValue(LabInputNames.Ast)} />\n <LabResultComponent label=\"ALT\" value={labValues.getLabReportValue(LabInputNames.Alt)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box className=\"text-medium\" mt=\"20px\">\n <Box>\n <span className=\"report-sub-title\">Folate Related Labs</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"B12\" value={labValues.getLabReportValue(LabInputNames.B12)} />\n <LabResultComponent label=\"Folate\" value={labValues.getLabReportValue(LabInputNames.Folate)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box className=\"text-medium\" mt=\"20px\">\n <Box>\n <span className=\"report-sub-title\">TMAO related Labs</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"Total Cholesterol\" value={labValues.getLabReportValue(LabInputNames.TotalCholesterol)} />\n <LabResultComponent label=\"TMAO\" value={labValues.getLabReportValue(LabInputNames.Tmao)} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n <Box mt=\"20px\">\n <Box pb={2}>\n <span className={classes.reportTitle}>Your Methylation Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Methylation)}\n recommendation={report.dietAndNutritionReport.methylationRecommendation}\n type={RecommendationTypesNumbers.Methylation}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Methylation]}\n recommendation={report.dietAndNutritionReport.methylationRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.methylationRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.methylationRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Grid container>\n <Grid item xs={12}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Micronutrients: methylation</span>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport)}> Your Methylation Genomics and Labs </span>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box p={3} display=\"flex\" justifyContent=\"space-between\" my={5} style={{ background: '#f0f0f0' }}>\n <Box width={0.3}>\n <Box mt={3}>\n <span className=\"report-sub-title\">\n Methylation Status:\n </span><br />\n </Box>\n <Box mt={2}>\n <span className=\"report-value uppercase\" style={{ fontSize: '50px' }}>\n {report.dietAndNutritionReport.methylationScore.result}\n </span>\n </Box>\n </Box>\n <Box width={0.5} px={5} mt={3.5}>\n <ProgressDiagramComponent\n height={22}\n colors={['#d7cd00', '#8c935b']}\n data={[\n {\n label: '',\n value: report.dietAndNutritionReport.methylationScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.dietAndNutritionReport.methylationScore.isCalculated}\n />\n </Box>\n <Box width={0.2} ml={3}>\n <Box mt={3}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport)}>Homocysteine:</span>\n </Box>\n <Box mt={3} ml={3}>\n <span className=\"report-value\">\n {labValues.getLabReportValue(LabInputNames.Homocysteine)?.value}\n </span>\n </Box>\n </Box>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.cholineRiskScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">Choline Risk Score</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Box width=\"200px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.cholineRiskScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.folateScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">Folate Risk Score</span>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"center\">\n <Box width=\"200px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.folateScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={1}>\n {renderScaleChartComponent(report.dietAndNutritionReport.tmaoRiskScore)}\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1}>\n <span className=\"text-medium\">TMAO Score</span>\n </Box>\n <Box mt={2} display=\"flex\" justifyContent=\"center\">\n <Box width=\"200px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.tmaoRiskScore.dna}\n colorMap={riskColorMap}\n />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box className=\"text-medium\" pr={2} mt={5} mb={6}>\n <Box>\n <span className=\"report-sub-title\">Choline Related Labs</span>\n </Box>\n <Box>\n <LabResultComponent label=\"AST\" value={labValues.getLabReportValue(LabInputNames.Ast)} />\n <LabResultComponent label=\"ALT\" value={labValues.getLabReportValue(LabInputNames.Alt)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box px={4} className=\"text-medium\" mt={5} mb={6}>\n <Box>\n <span className=\"report-sub-title\">Folate Related Labs</span>\n </Box>\n <Box>\n <LabResultComponent label=\"B12\" value={labValues.getLabReportValue(LabInputNames.B12)} />\n <LabResultComponent label=\"Folate\" value={labValues.getLabReportValue(LabInputNames.Folate)} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box pl={2} className=\"text-medium\" mt={5} mb={6}>\n <Box>\n <span className=\"report-sub-title\">TMAO related Labs</span>\n </Box>\n <Box>\n <LabResultComponent label=\"Total Cholesterol\" value={labValues.getLabReportValue(LabInputNames.TotalCholesterol)} />\n <LabResultComponent label=\"TMAO\" value={labValues.getLabReportValue(LabInputNames.Tmao)} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n <Box mt={7}>\n <Box pb={2} display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Your Methylation Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Methylation)}\n recommendation={report.dietAndNutritionReport.methylationRecommendation}\n type={RecommendationTypesNumbers.Methylation}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Methylation]}\n recommendation={report.dietAndNutritionReport.methylationRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.methylationRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.methylationRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity, RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\n\nexport const HealthReportDietAndNutrition5Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>\n Metabolism and Vitamins - Vitamins and Micronutrients\n </span>\n </Box>\n <Grid container>\n <Grid item xs={12}>\n <Box fontSize=\"14px\" lineHeight=\"22px\">\n <Box mt=\"10px\">\n <span>\n Genetic variation can significantly affect important vitamins and micronutrients. Some of these we\n can easily monitor with lab testing such as vitamin D and omega-3 levels. Some are less readily\n measured, but easy to increase intake based on your genetics. We’ll cover the following vitamins\n and micronutrients here:\n </span>\n </Box>\n <Box mt=\"10px\">\n <span>\n <span className=\"text-medium\">Omega 3s:</span> These essential fatty acids cannot be produced in the human body. Omega 3s are active and\n beneficial as DHA and EPA. These are most readily found in fish oils, krill oil and algae. ALA,\n which can be converted to the active forms, DHA and EPA, by the body, is found in nuts and seeds and\n vegetable forms of omega 3s. The enzyme that is responsible for this conversion is a common SNP we\n will monitor. We’ll also directly monitor your Omega 3 levels.\n </span>\n </Box>\n <Box mt=\"10px\">\n <span>\n <span className=\"text-medium\">Vitamin D:</span> Is an essential hormone (not really a vitamin) that the body makes using sunlight. Nearly\n all humans are now low or sub-optimal in vitamin D due to the nature of society. There are multiple\n SNPs associated with Vitamin D and we will directly monitor your levels.\n </span>\n </Box>\n <Box mt=\"10px\">\n <span>\n <span className=\"text-medium\">Vitamin A:</span> Important for eyesight and immune function. The vegetable form, beta-carotene, must be\n converted to the active form, retinol, by an enzyme BCMO1, which has common mutations. We’ll review\n your genetic disposition and make recommendations.\n </span>\n </Box>\n <Box mt=\"10px\">\n <span>\n <span className=\"text-medium\">Vitamin B12:</span> Commonly reduced absorption in the stomach. Medications such as antacids and metformin\n can reduce absorption as well as genetics. We’ll review your current level as well as your genetic\n predispositions.\n </span>\n </Box>\n <Box mt=\"10px\">\n <span>\n <span className=\"text-medium\">Vitamin E:</span> Can have either beneficial or anti-inflammatory effects depending on your genetics. We’ll\n review your predispositions.\n </span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\">\n <DnaTableComponent\n dna={report.dietAndNutritionReport.vitaminsAndMicronutrientsDna.dna.sort((a, b) => {\n if (a.key < b.key) { return -1; }\n if (a.key > b.key) { return 1; }\n return 0;\n })}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n </Grid>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Your Vitamins and micronutrients Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n <Box mt=\"10px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n recommendation={report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation}\n type={RecommendationTypesNumbers.VitaminsAndMicronutrients}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.VitaminsAndMicronutrients]}\n recommendation={report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">\n Metabolism and Vitamins - Vitamins and Micronutrients\n </span>\n </Box>\n <Grid container>\n <Grid item xs={8}>\n <Box>\n <Box mt={1}>\n <span>\n Genetic variation can significantly affect important vitamins and micronutrients. Some of these we\n can easily monitor with lab testing such as vitamin D and omega-3 levels. Some are less readily\n measured, but easy to increase intake based on your genetics. We’ll cover the following vitamins\n and micronutrients here:\n </span>\n </Box>\n <Box mt={2}>\n <span>\n <span className=\"text-medium\">Omega 3s:</span> These essential fatty acids cannot be produced in the human body. Omega 3s are active and\n beneficial as DHA and EPA. These are most readily found in fish oils, krill oil and algae. ALA,\n which can be converted to the active forms, DHA and EPA, by the body, is found in nuts and seeds and\n vegetable forms of omega 3s. The enzyme that is responsible for this conversion is a common SNP we\n will monitor. We’ll also directly monitor your Omega 3 levels.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n <span className=\"text-medium\">Vitamin D:</span> Is an essential hormone (not really a vitamin) that the body makes using sunlight. Nearly\n all humans are now low or sub-optimal in vitamin D due to the nature of society. There are multiple\n SNPs associated with Vitamin D and we will directly monitor your levels.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n <span className=\"text-medium\">Vitamin A:</span> Important for eyesight and immune function. The vegetable form, beta-carotene, must be\n converted to the active form, retinol, by an enzyme BCMO1, which has common mutations. We’ll review\n your genetic disposition and make recommendations.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n <span className=\"text-medium\">Vitamin B12:</span> Commonly reduced absorption in the stomach. Medications such as antacids and metformin\n can reduce absorption as well as genetics. We’ll review your current level as well as your genetic\n predispositions.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n <span className=\"text-medium\">Vitamin E:</span> Can have either beneficial or anti-inflammatory effects depending on your genetics. We’ll\n review your predispositions.\n </span>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4}>\n <Box pl={2} pt={3}>\n <DnaTableComponent\n dna={report.dietAndNutritionReport.vitaminsAndMicronutrientsDna.dna.sort((a, b) => {\n if (a.key < b.key) { return -1; }\n if (a.key > b.key) { return 1; }\n return 0;\n })}\n colorMap={riskColorMap}\n />\n </Box>\n </Grid>\n </Grid>\n <Box mt={4}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-sub-title\">Your Vitamins and micronutrients Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n <Box mt={1}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n recommendation={report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation}\n type={RecommendationTypesNumbers.VitaminsAndMicronutrients}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.VitaminsAndMicronutrients]}\n recommendation={report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity,\n RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\n\nexport const HealthReportDietAndNutrition6Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Kryptonite Foods</span>\n </Box>\n <Box mt=\"10px\">\n <p className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Kryptonite for you</p>\n </Box>\n <Box mt=\"20px\" fontSize=\"14px\" lineHeight=\"22px\">\n <p>Based on your genetics you should avoid these as much as possible:</p>\n <p>\n Sugar is inflammatory and contributes to increased insulin resistance,\n accelerated aging, and poor body composition.\n </p>\n <p>Wheat/gluten leads to inflammation and all the negative effects that come along with it.</p>\n <p>Vegetable oils and processed foods are particularly deleterious to you and your DNA.</p>\n </Box>\n <Box mt=\"20px\">\n <Box pb=\"10px\">\n <span className={classes.reportSubTitle}>Your kryptonite recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.KryptoniteFoods)}\n recommendation={report.dietAndNutritionReport.kryptoniteFoodsRecommendation}\n type={RecommendationTypesNumbers.KryptoniteFoods}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.KryptoniteFoods]}\n recommendation={report.dietAndNutritionReport.kryptoniteFoodsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.kryptoniteFoodsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.kryptoniteFoodsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n <Box mt=\"30px\">\n <Box>\n <span className={classes.reportTitle}>Super Foods</span>\n </Box>\n <Box mt=\"10px\">\n <p className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Optimal for you</p>\n </Box>\n <Box fontSize=\"14px\" mt=\"20px\">\n <p>Based on your genetics you should focus on adding or increasing the following in your diet:</p>\n <p>\n Fish. SMASH fish. You have several snps that make sardines particularly ideal for\n you with their clean content of Omega 3's, collagen protein, and other key vitamins\n and nutrients.\n </p>\n <p>\n Cruciferous vegetables. Broccoli, cauliflower, brussell sprouts, and other\n crucifers will greatly benefit your specific genetic makeup.\n </p>\n </Box>\n <Box mt=\"20px\">\n <Box pb=\"10px\">\n <span className={classes.reportSubTitle}>Your super foods recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.SuperFoods)}\n recommendation={report.dietAndNutritionReport.superFoodsRecommendation}\n type={RecommendationTypesNumbers.SuperFoods}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.SuperFoods]}\n recommendation={report.dietAndNutritionReport.superFoodsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.superFoodsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.superFoodsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.DietAndNutrition} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box width=\"40%\">\n <Box >\n <span className=\"report-title\">Kryptonite Foods</span>\n </Box>\n <Box mt={1}>\n <p className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Kryptonite for you</p>\n <p>Based on your genetics you should avoid these as much as possible:</p>\n <p>\n Sugar is inflammatory and contributes to increased insulin resistance,\n accelerated aging, and poor body composition.\n </p>\n <p>Wheat/gluten leads to inflammation and all the negative effects that come along with it.</p>\n <p>Vegetable oils and processed foods are particularly deleterious to you and your DNA.</p>\n </Box>\n </Box>\n <Box width=\"40%\">\n <Box>\n <span className=\"report-title\">Super Foods</span>\n </Box>\n <Box mt={1}>\n <p className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>Optimal for you</p>\n <p>Based on your genetics you should focus on adding or increasing the following in your diet:</p>\n <p>\n Fish. SMASH fish. You have several snps that make sardines particularly ideal for\n you with their clean content of Omega 3's, collagen protein, and other key vitamins\n and nutrients.\n </p>\n <p>\n Cruciferous vegetables. Broccoli, cauliflower, brussell sprouts, and other\n crucifers will greatly benefit your specific genetic makeup.\n </p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mt={5}>\n <Box width=\"40%\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.KryptoniteFoods)}\n recommendation={report.dietAndNutritionReport.kryptoniteFoodsRecommendation}\n type={RecommendationTypesNumbers.KryptoniteFoods}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.KryptoniteFoods]}\n recommendation={report.dietAndNutritionReport.kryptoniteFoodsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.kryptoniteFoodsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.kryptoniteFoodsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n <Box width=\"40%\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.SuperFoods)}\n recommendation={report.dietAndNutritionReport.superFoodsRecommendation}\n type={RecommendationTypesNumbers.SuperFoods}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.SuperFoods]}\n recommendation={report.dietAndNutritionReport.superFoodsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.superFoodsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('dietAndNutritionReport.superFoodsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport clsx from \"clsx\";\nimport React from 'react';\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/HealthReport_Pg8_Image.png\";\n\nexport const HealthReportExerciseAndRecovery0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice} firstPage>\n <Box px={2}>\n <Box>\n <span\n className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>{'Personalized Exercise Plan'}</span>\n </Box>\n <Box mt={1} fontSize=\"14px\" lineHeight=\"22px\">\n <>\n <Box mt={1.5}>\n <p>\n We use a combination of 3 major polygenic scores to help develop your personalized workout\n plan. These include Strength v Endurance, Recovery, and HIIT. Multiple genes are in play\n for each of these scores, so rather than go over each SNP individually, we will summarize\n them here. Specifics can be seen in the details section of the report.\n </p>\n </Box>\n <Box mt=\"10px\">\n <p>\n Strength versus endurance is a simple measure of your potential. This does not mean that\n those with a genetic preference for endurance cannot perform strength activities, or that\n those with strength genetics cannot run marathons. It is simply a way of personalizing the\n optimal rep/weight schemes and regularity of exercise. Your genetics are always modifiable.\n </p>\n </Box>\n <Box mt=\"10px\">\n <p>\n Recovery is simple, but there are a lot of genes at play. Some people can workout 7 days\n a week and perform at the top of their game, while others need days to recover between\n workouts. Although some of this is training related and thus epigenetic in nature,\n a great deal of your potential resides in your genes. We’ll review your genes and\n create a recovery score, and thus help dictate how often you should workout. This can\n be paired with objective recovery metrics such as heart rate variability and resting\n heart rate to optimize your exercise plan.\n </p>\n </Box>\n <Box mt=\"10px\">\n <p>\n HIIT training is beneficial for just about everyone. But the intensity and volume of HIIT\n training can be optimized for your genetics. We’ll assess HIIT related genes\n and use those to build a report.\n </p>\n </Box>\n </>\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg8ImagePath} style={{ width: '100%' }} alt=\"img\" />\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span\n className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>{'Personalized Exercise Plan'}</span>\n </Box>\n <Box mt={1}>\n <>\n <Box mt={1.5}>\n <p>\n We use a combination of 3 major polygenic scores to help develop your personalized workout\n plan. These include Strength v Endurance, Recovery, and HIIT. Multiple genes are in play\n for each of these scores, so rather than go over each SNP individually, we will summarize\n them here. Specifics can be seen in the details section of the report.\n </p>\n </Box>\n <Box mt={1.5}>\n <p>\n Strength versus endurance is a simple measure of your potential. This does not mean that\n those with a genetic preference for endurance cannot perform strength activities, or that\n those with strength genetics cannot run marathons. It is simply a way of personalizing the\n optimal rep/weight schemes and regularity of exercise. Your genetics are always modifiable.\n </p>\n </Box>\n <Box mt={1.5}>\n <p>\n Recovery is simple, but there are a lot of genes at play. Some people can workout 7 days\n a week and perform at the top of their game, while others need days to recover between\n workouts. Although some of this is training related and thus epigenetic in nature,\n a great deal of your potential resides in your genes. We’ll review your genes and\n create a recovery score, and thus help dictate how often you should workout. This can\n be paired with objective recovery metrics such as heart rate variability and resting\n heart rate to optimize your exercise plan.\n </p>\n </Box>\n <Box mt={1.5}>\n <p>\n HIIT training is beneficial for just about everyone. But the intensity and volume of HIIT\n training can be optimized for your genetics. We’ll assess HIIT related genes\n and use those to build a report.\n </p>\n </Box>\n </>\n </Box>\n <Box mt={10}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg8ImagePath} style={{ width: '100%' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { LabelPosition, ProgressDiagramComponent } from '../components/progressDiagramComponent/ProgressDiagramComponent';\nimport { exerciseRiskColorMap } from \"../constants/healthReport.constants\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\n\nexport const HealthReportExerciseAndRecovery1Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n practice\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={2}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Your Exercise And Recovery Genomics And Labs</span>\n </Box>\n <Box mt=\"10px\" lineHeight=\"19px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>\n {'Your genetic predisposition to strength vs. endurance training, rate of recovery and intensity tolerance:'}\n </span>\n </Box>\n </Box>\n <Box>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\" className=\"text-medium normal-line-height\">\n <Box>\n <p>Strength</p>\n </Box>\n <Box>\n <p>Endurance</p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"10px\">\n <Box width={0.8}>\n <ProgressDiagramComponent\n height={22}\n colors={['#129ad4', '#fc002e']}\n data={[\n {\n label: \"\",\n value: report.exerciseAndRecoveryReport.strengthAndEnduranceScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n },\n ]}\n unavailable={!report.exerciseAndRecoveryReport.strengthAndEnduranceScore.isCalculated}\n />\n </Box>\n </Box>\n <Box textAlign=\"center\" className=\"text-medium\" mt=\"10px\">\n {report.exerciseAndRecoveryReport.strengthAndEnduranceScore.result}\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.exerciseAndRecoveryReport.strengthAndEnduranceScore.dna}\n colorMap={exerciseRiskColorMap} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"30px\">\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\" className=\"text-medium normal-line-height\">\n <Box>\n <p>Slow</p>\n <p>Recovery</p>\n </Box>\n <Box textAlign=\"right\">\n <p>Fast</p>\n <p>Recovery</p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"10px\">\n <Box width={0.8}>\n <ProgressDiagramComponent\n height={22}\n colors={['#129ad4', '#fc002e']}\n data={[\n {\n label: \"\",\n value: report.exerciseAndRecoveryReport.recoveryScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.exerciseAndRecoveryReport.recoveryScore.isCalculated}\n />\n </Box>\n </Box>\n <Box textAlign=\"center\" className=\"text-medium\" mt=\"10px\">\n {report.exerciseAndRecoveryReport.recoveryScore.result}\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.exerciseAndRecoveryReport.recoveryScore.dna}\n colorMap={exerciseRiskColorMap} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"30px\">\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\" className=\"text-medium normal-line-height\">\n <Box>\n <p>Low</p>\n <p>Intensity</p>\n </Box>\n <Box textAlign=\"right\">\n <p>High</p>\n <p>Intensity</p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt=\"10px\">\n <Box width={0.8}>\n <ProgressDiagramComponent\n height={22}\n colors={['#129ad4', '#fc002e']}\n data={[\n {\n label: \"\",\n value: report.exerciseAndRecoveryReport.intensityScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.exerciseAndRecoveryReport.intensityScore.isCalculated}\n />\n </Box>\n </Box>\n <Box textAlign=\"center\" className=\"text-medium\" mt=\"10px\">\n {report.exerciseAndRecoveryReport.intensityScore.result}\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.exerciseAndRecoveryReport.intensityScore.dna}\n colorMap={exerciseRiskColorMap} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <span className=\"report-title\">Your Exercise And Recovery Genomics And Labs</span>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={1.5}>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>\n {'Your genetic predisposition to strength vs. endurance training, rate of recovery and intensity tolerance:'}\n </span>\n </Box>\n </Box>\n <Box mt={7}>\n <Grid container>\n <Grid item xs={4} md={4} lg={4}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\" className=\"text-medium normal-line-height\" mt={2.45}>\n <Box>\n <p>Strength</p>\n </Box>\n <Box>\n <p>Endurance</p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Box width={0.8}>\n <ProgressDiagramComponent\n height={22}\n colors={['#129ad4', '#fc002e']}\n data={[\n {\n label: \"\",\n value: report.exerciseAndRecoveryReport.strengthAndEnduranceScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n },\n ]}\n unavailable={!report.exerciseAndRecoveryReport.strengthAndEnduranceScore.isCalculated}\n />\n </Box>\n </Box>\n <Box textAlign=\"center\" className=\"text-medium\" mt={2}>\n {report.exerciseAndRecoveryReport.strengthAndEnduranceScore.result}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box mt={7} width=\"80%\">\n <DnaTableComponent\n dna={report.exerciseAndRecoveryReport.strengthAndEnduranceScore.dna}\n colorMap={exerciseRiskColorMap} />\n </Box>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4} md={4} lg={4}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\" className=\"text-medium normal-line-height\">\n <Box>\n <p>Slow</p>\n <p>Recovery</p>\n </Box>\n <Box textAlign=\"right\">\n <p>Fast</p>\n <p>Recovery</p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Box width={0.8}>\n <ProgressDiagramComponent\n height={22}\n colors={['#129ad4', '#fc002e']}\n data={[\n {\n label: \"\",\n value: report.exerciseAndRecoveryReport.recoveryScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.exerciseAndRecoveryReport.recoveryScore.isCalculated}\n />\n </Box>\n </Box>\n <Box textAlign=\"center\" className=\"text-medium\" mt={2}>\n {report.exerciseAndRecoveryReport.recoveryScore.result}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box mt={7} width=\"80%\">\n <DnaTableComponent\n dna={report.exerciseAndRecoveryReport.recoveryScore.dna}\n colorMap={exerciseRiskColorMap} />\n </Box>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={4} md={4} lg={4}>\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\" className=\"text-medium normal-line-height\">\n <Box>\n <p>Low</p>\n <p>Intensity</p>\n </Box>\n <Box textAlign=\"right\">\n <p>High</p>\n <p>Intensity</p>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"center\" mt={2}>\n <Box width={0.8}>\n <ProgressDiagramComponent\n height={22}\n colors={['#129ad4', '#fc002e']}\n data={[\n {\n label: \"\",\n value: report.exerciseAndRecoveryReport.intensityScore.scorePercent,\n labelPosition: LabelPosition.Bottom\n }\n ]}\n unavailable={!report.exerciseAndRecoveryReport.intensityScore.isCalculated}\n />\n </Box>\n </Box>\n <Box textAlign=\"center\" className=\"text-medium\" mt={2}>\n {report.exerciseAndRecoveryReport.intensityScore.result}\n </Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box mt={7} width=\"80%\">\n <DnaTableComponent\n dna={report.exerciseAndRecoveryReport.intensityScore.dna}\n colorMap={exerciseRiskColorMap} />\n </Box>\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { HealthRecommendationComponent } from '../components/healthRecommendationComponent/HealthRecommendationComponent';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity,\n RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportExerciseAndRecovery2Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={2}>\n <>\n <Box>\n <span className={classes.reportTitle}>Personalized Exercise Plan</span>\n </Box>\n <Box mt=\"10px\" fontSize=\"14px\" lineHeight=\"22px\">\n <span>\n In order to determine your genetic preference of exercise, we compiled all exercise related SNPs to produce a\n percentage of strength vs endurance preference. We also have taken into consideration multiple SNPs that can affect\n your recovery time between intense exercise classified as slow, moderate or fast. A longevity, genetic based exercise\n program has been developed with this in mind and is included in this document.\n </span>\n </Box>\n </>\n\n <Box mt=\"20px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.ExerciseAndRecovery)}\n recommendation={report.exerciseAndRecoveryReport.recommendation}\n type={RecommendationTypesNumbers.ExerciseAndRecovery}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.ExerciseAndRecovery]}\n recommendation={report.exerciseAndRecoveryReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('exerciseAndRecoveryReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('exerciseAndRecoveryReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <>\n <Box>\n <span className=\"report-title\">Personalized Exercise Plan</span>\n </Box>\n <Box mt={1}>\n <span>\n In order to determine your genetic preference of exercise, we compiled all exercise related SNPs to produce a\n percentage of strength vs endurance preference. We also have taken into consideration multiple SNPs that can affect\n your recovery time between intense exercise classified as slow, moderate or fast. A longevity, genetic based exercise\n program has been developed with this in mind and is included in this document.\n </span>\n </Box>\n </>\n <Box mt={10}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode \n ? <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\">Your exercise and recovery recommendations</span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>\n : <Box mb={1}><span className=\"report-title\">Your exercise and recovery recommendations</span></Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.ExerciseAndRecovery)}\n recommendation={report.exerciseAndRecoveryReport.recommendation}\n type={RecommendationTypesNumbers.ExerciseAndRecovery}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.ExerciseAndRecovery]}\n recommendation={report.exerciseAndRecoveryReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('exerciseAndRecoveryReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('exerciseAndRecoveryReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { TableCell } from \"@material-ui/core\";\nimport { createStyles, Theme, withStyles } from \"@material-ui/core/styles\";\n\nexport const ExerciseReportTableCell = withStyles((theme: Theme) =>\n createStyles({\n head: {\n backgroundColor: \"#cadbe6\",\n color: theme.palette.common.black,\n border: \"1px solid #A9A9A9\"\n },\n body: {\n fontSize: 14,\n fontWeight: 450,\n border: \"1px solid #A9A9A9\"\n },\n }),\n)(TableCell);","import React from 'react';\nimport {Box, Table, TableBody, TableContainer, TableHead, TableRow} from '@material-ui/core';\nimport {ExercisePlanModel} from \"../../models/exercisePlan.models\";\nimport { ExerciseReportTableCell } from '../exerciseReportTable/ExerciseReportTableCell';\n\ninterface ExercisePlanComponentProps {\n plan: ExercisePlanModel;\n}\n\nexport const ExercisePlanScheduleComponent: React.FC<ExercisePlanComponentProps> = (props: ExercisePlanComponentProps) => {\n const {plan} = props;\n\n return(\n <>\n <Box width=\"100%\">\n <TableContainer>\n <Table size=\"small\" style={{border:\"2px solid #A9A9A9\"}}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell>Week</ExerciseReportTableCell>\n <ExerciseReportTableCell>Workout</ExerciseReportTableCell>\n <ExerciseReportTableCell>Monday</ExerciseReportTableCell>\n <ExerciseReportTableCell>Tuesday</ExerciseReportTableCell>\n <ExerciseReportTableCell>Wednesday</ExerciseReportTableCell>\n <ExerciseReportTableCell>Thursday</ExerciseReportTableCell>\n <ExerciseReportTableCell>Friday</ExerciseReportTableCell>\n <ExerciseReportTableCell>Saturday</ExerciseReportTableCell>\n <ExerciseReportTableCell>Sunday</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {plan.schedule.map((week, x) => {\n return week.exercises.map((weekExercise, y) => {\n return <TableRow key={`${x}${y}`}> \n {y % 2 === 0 && <ExerciseReportTableCell rowSpan={2} align=\"center\" style={x % 2 === 1 ? {width: '4%', backgroundColor:\"#f3f7fa\"}:{width: '4%'}}>{week.number}</ExerciseReportTableCell>}\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.exercise}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.monday}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.tuesday}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.wednesday}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.thursday}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.friday}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.saturday}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\", width: '12%'}:{width: '12%'}}>{weekExercise.sunday}</ExerciseReportTableCell>\n </TableRow>\n })\n })}\n </TableBody>\n </Table>\n </TableContainer>\n <span style={{float: \"right\", fontSize: \"14px\", fontWeight: 450, color: 'gray'}}>{plan.name}</span>\n </Box>\n </>\n );\n}\n\nexport const ExercisePlanScheduleMobileComponent: React.FC<ExercisePlanComponentProps> = (props: ExercisePlanComponentProps) => {\n const {plan} = props;\n\n return(\n <>\n <Box width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n {plan.schedule.map((week, x) => {\n return week.exercises.map((weekExercise, y) => {\n return <Box key={`${x}${y}`} style={y % 2 === 1 ? {borderTop: \"1px solid #A9A9A9\"} : {}}>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Week</Box>\n <Box width={0.6} className=\"text-light-medium\">{week.number}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Workout</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.exercise}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Monday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.monday}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Tuesday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.tuesday}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Wednesday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.wednesday}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Thursday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.thursday}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Friday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.friday}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Saturday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.saturday}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={x % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.4} className=\"text-medium\">Sunday</Box>\n <Box width={0.6} className=\"text-light-medium\">{weekExercise.sunday}</Box>\n </Box>\n </Box>\n })\n })}\n </Box>\n </>\n );\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { ExercisePlanScheduleComponent, ExercisePlanScheduleMobileComponent } from \"../components/exercisePlanScheduleComponent/ExercisePlanScheduleComponent\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportExerciseAndRecovery3Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n report,\n practice\n } = props;\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box>\n <ExercisePlanScheduleMobileComponent plan={report.exerciseAndRecoveryReport.exercisePlan} />\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={10} pt={5}>\n <ExercisePlanScheduleComponent plan={report.exerciseAndRecoveryReport.exercisePlan} />\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Table, TableBody, TableContainer, TableHead, TableRow, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { ExerciseReportTableCell } from \"../components/exerciseReportTable/ExerciseReportTableCell\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportExerciseAndRecovery4Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n report,\n practice\n } = props;\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const getHR = (percent: number) => Math.round((report.exerciseAndRecoveryReport.exercisePlan.maxHeartRate / 110) * percent);\n\n const traningZoneData = [\n {\n level: 1,\n zone: \"Easy/ Recovery\",\n hr1percent: \"50.00%\",\n hr1value: getHR(50),\n hr2percent: \"60.00%\",\n hr2value: getHR(60),\n rpe: \"1 - 2\",\n effort: \"Recovery. Should feel easy\",\n psyAdapatations: \"Recovery. Improves fatigue and soreness\"\n },\n {\n level: 2,\n zone: \"Endurance\",\n hr1percent: \"60.00%\",\n hr1value: getHR(60),\n hr2percent: \"70.00%\",\n hr2value: getHR(70),\n rpe: \"2 - 3\",\n effort: \"Long slow distance workouts, strength workouts\",\n psyAdapatations: \"Increases energy utilization, developing lactate clearance, promotes muscle cell adaptations and bulidng capilary beds\"\n },\n {\n level: 3,\n zone: \"Endurance\",\n hr1percent: \"70.00%\",\n hr1value: getHR(70),\n hr2percent: \"80.00%\",\n hr2value: getHR(80),\n rpe: \"4 - 5\",\n effort: \"Tempo efforts. Hard but comfortable\",\n psyAdapatations: \"Increases oxygen utilization and transportation. Improves energy utilization\"\n },\n {\n level: 4,\n zone: \"Threshold Intervals\",\n hr1percent: \"80.00%\",\n hr1value: getHR(80),\n hr2percent: \"90.00%\",\n hr2value: getHR(90),\n rpe: \"6 - 7\",\n effort: \"Anaerobic threshold\",\n psyAdapatations: \"Improvements in maximum fitness, lung capacity and high speed endurance. Short efforts paired with active recovery\"\n },\n {\n level: 5,\n zone: \"Intensity Intervals\",\n hr1percent: \"90.00%\",\n hr1value: getHR(90),\n hr2percent: \"100.00%\",\n hr2value: getHR(100),\n rpe: \"8 - 9\",\n effort: \"3-8 minute intervals, aerobic system, building VO2\t\",\n psyAdapatations: \"Above your onset of blood lactate accumulation or \\\"OBLA\\\"., Improves speed and intensity tolerance.\"\n },\n {\n level: 6,\n zone: \"Max Efforts\",\n hr1percent: \"98.00%\",\n hr1value: getHR(98),\n hr2percent: \"110.00%\",\n hr2value: getHR(110),\n rpe: \"10\",\n effort: \"All out, short intervals (up to 3min), running/skiing economy, Speed sprints and strides.\",\n psyAdapatations: \"Improves speed and economy of movement\"\n }\n ]\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box pt=\"30px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n <Box px={2} pb=\"10px\" className=\"size-0_875 text-medium\" lineHeight=\"18px\">Training zones for cardio: Training levels can be based on Heart as a % of Estimated Max HR, % of Threshold HR, or RPE (rate of perceived exertion)</Box>\n {\n traningZoneData.map((data, i) => {\n return <Box key={`${data.level}-${i}`} style={i !== 0 ? {borderTop: \"1px solid #A9A9A9\"} : {}}>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Level</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.level}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Training Zone</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.zone}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">% of HRMax</Box>\n <Box width={0.55} className=\"text-light-medium\">\n <Box width={1} display=\"flex\">\n <Box width={0.3}>{data.hr1percent}</Box>\n <Box width={0.7} pl=\"10px\" style={{borderLeft: '1px solid #EAEFF5'}}>{data.hr1value}</Box>\n </Box>\n <Box width={1} display=\"flex\" mt=\"10px\">\n <Box width={0.3}>{data.hr2percent}</Box>\n <Box width={0.7} pl=\"10px\" style={{borderLeft: '1px solid #EAEFF5'}}>{data.hr2value}</Box>\n </Box>\n </Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">\"RPE (on 1-10 Scale)\"</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.rpe}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Effort Loads</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.effort}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Physiological Adaptations</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.psyAdapatations}</Box>\n </Box>\n </Box>\n })\n }\n </Box>\n <Box mt=\"30px\" pt=\"30px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n <Box px={2} pb=\"10px\" className=\"size-0_875 text-medium\" lineHeight=\"18px\">Cardio Sprint Interval Training (SIT)</Box>\n <Box>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\">\n <Box width={0.3} className=\"text-medium\">SIT #1</Box>\n <Box width={0.7} className=\"text-light-medium\">6x 20 sec on 3 min active recovery between intervals</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\">\n <Box width={0.3} className=\"text-medium\">SIT #2</Box>\n <Box width={0.7} className=\"text-light-medium\">3 x 3 min on/3 min recovery</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\">\n <Box width={0.3} className=\"text-medium\">SIT #3</Box>\n <Box width={0.7} className=\"text-light-medium\">Cardio Intervals pyramid: (On/ Recovery) 1:00/:30 1:30/:30, 2:00/ 1:00, 3:00/1:30, 2:00/1:00, 1:30/30, 1:00/30</Box>\n </Box>\n </Box>\n <Box>\n <Box width={1} px={2} py={2} display=\"flex\" className=\"size-0_875 normal-line-height text-medium\" style={{borderTop: \"1px solid #A9A9A9\"}}>Program Notes: running, rowing, biking or swimming. Max effort for each interval with active recovery inbetween</Box>\n </Box>\n </Box>\n <Box mt=\"30px\" pt=\"30px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n <Box px={2} pb=\"10px\" className=\"size-0_875 text-medium\" lineHeight=\"18px\">Calculate HR max</Box>\n <Box>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\">\n <Box width={0.4} className=\"text-medium\">Current Age</Box>\n <Box width={0.6} className=\"text-light-medium\">{report.alphaReport.chronologicalAge}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\">\n <Box width={0.4} className=\"text-medium\">HRMax</Box>\n <Box width={0.6} className=\"text-light-medium\">{report.exerciseAndRecoveryReport.exercisePlan.maxHeartRate}</Box>\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={10} pt={5}>\n <Box>\n <TableContainer>\n <Table size=\"small\" style={{ border: \"2px solid #A9A9A9\" }}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell align=\"center\" colSpan={7}>Training zones for cardio: Training levels can be based on Heart as a % of Estimated Max HR, % of Threshold HR, or RPE (rate of perceived exertion)</ExerciseReportTableCell>\n </TableRow>\n <TableRow>\n <ExerciseReportTableCell align=\"center\">Level</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Training Zone</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>% of HRMax\t</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">\"RPE (on 1-10 Scale)\"</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Effort Loads</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Physiological Adaptations</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {\n traningZoneData.map((data, i) => {\n return <React.Fragment key={i}>\n <TableRow key={i}>\n <ExerciseReportTableCell style={{ width: '6%' }} align=\"center\" rowSpan={2}>{data.level}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '12%' }} align=\"center\" rowSpan={2}>{data.zone}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '12%' }} align=\"center\">{data.hr1percent}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '12%' }} align=\"center\">{data.hr2percent}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '12%' }} align=\"center\" rowSpan={2}>{data.rpe}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '23%' }} align=\"center\" rowSpan={2}>{data.effort}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '23%' }} align=\"center\" rowSpan={2}>{data.psyAdapatations}</ExerciseReportTableCell>\n </TableRow>\n <TableRow key={`${i}-1`}>\n <ExerciseReportTableCell style={{ width: '12%' }} align=\"center\">{data.hr1value}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '12%' }} align=\"center\">{data.hr2value}</ExerciseReportTableCell>\n </TableRow>\n </React.Fragment>\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mt={10}>\n <Box width=\"50%\">\n <TableContainer>\n <Table size=\"small\" style={{ border: \"2px solid #A9A9A9\" }}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>Cardio Sprint Interval Training (SIT)</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n <TableRow>\n <ExerciseReportTableCell align=\"center\">SIT #1</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">6x 20 sec on 3 min active recovery between intervals</ExerciseReportTableCell>\n </TableRow>\n <TableRow>\n <ExerciseReportTableCell align=\"center\">SIT #2</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">3 x 3 min on/3 min recovery</ExerciseReportTableCell>\n </TableRow>\n <TableRow>\n <ExerciseReportTableCell align=\"center\">SIT #3</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Cardio Intervals pyramid: (On/ Recovery) 1:00/:30 1:30/:30, 2:00/ 1:00, 3:00/1:30, 2:00/1:00, 1:30/30, 1:00/30</ExerciseReportTableCell>\n </TableRow>\n <TableRow>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>Program Notes: running, rowing, biking or swimming. Max effort for each interval with active recovery inbetween</ExerciseReportTableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n <Box width=\"40%\">\n <TableContainer>\n <Table size=\"small\" style={{ border: \"2px solid #A9A9A9\" }}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell align=\"center\" colSpan={4}>Calculate HR max</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n <TableRow>\n <ExerciseReportTableCell align=\"center\">Current Age</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">{report.alphaReport.chronologicalAge}</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">HRMax</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">{report.exerciseAndRecoveryReport.exercisePlan.maxHeartRate}</ExerciseReportTableCell>\n </TableRow>\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}","import { Box, Table, TableBody, TableContainer, TableHead, TableRow, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { ExerciseReportTableCell } from \"../components/exerciseReportTable/ExerciseReportTableCell\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { useStyles } from './healthReport.styles';\n\nexport const HealthReportExerciseAndRecovery5Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const coreData1 = [\n {\n exercise: \"Prone Plank Progression\",\n reps: \"reps\",\n program1: 2,\n variation: \"\",\n program2: 2,\n log: \"\",\n notes: \"Progression: Elbows 15secs, 5 Rt arm Ext., 5 Lf arm Ext., 5 Rt leg Ext., 5 Lf leg Ext., 5 Rt/LF opposites, 5 Lf/Rt opposites, Elbows 15secs\"\n },\n {\n exercise: \"Side Plank Progression\",\n reps: \"reps\",\n program1: 2,\n variation: \"\",\n program2: 2,\n log: \"\",\n notes: \"Progression: Elbow 15secs, Lift upper leg 15secs, Adduction w/ 6 lower leg knee drives; Repeat on Rt and then Lf side\"\n },\n {\n exercise: \"Supermans\",\n reps: \"15 reps\",\n program1: 10,\n variation: \"\",\n program2: 10,\n log: \"\",\n notes: \"5 secs holds of Y, T, and W progression\"\n },\n {\n exercise: \"Deadbug\",\n reps: \"30 reps alternating\",\n program1: 20,\n variation: \"\",\n program2: 20,\n log: \"\",\n notes: \"total reps listed, divide evenly between sides\"\n },\n {\n exercise: \"Hip Bridges\",\n reps: \"15reps\",\n program1: 15,\n variation: \"1 leg lift\",\n program2: 15,\n log: \"\",\n notes: \"Push-up and hold for 5 count\"\n },\n {\n exercise: \"Hip Circles (hydrants)\",\n reps: \"reps\",\n program1: 20,\n variation: \"\",\n program2: 20,\n log: \"\",\n notes: \"total reps listed, divide evenly between sides\"\n },\n {\n exercise: \"Bird-Dogs\",\n reps: \"reps\",\n program1: 10,\n variation: \"\",\n program2: 10,\n log: \"\",\n notes: \"total reps listed, divide evenly between sides\"\n },\n {\n exercise: \"Hands overhead Body Weight Squat\",\n reps: \"reps\",\n program1: 12,\n variation: \"\",\n program2: 12,\n log: \"\",\n notes: \"Hands extended overhead (can hold stick in hands if helps) Slow down, hold, slow up, hold (3,2,3,2)\"\n },\n ]\n\n const coreData2 = [\n {\n exercise: \"Lunge - Reverse and twist to outside leg\",\n reps: \" 12 reps\",\n program1: 2,\n variation: \"Add DB or OH hold to make harder\",\n program2: 2,\n log: \"\",\n notes: \"Progression: Elbows 15secs, 5 Rt arm Ext., 5 Lf arm Ext., 5 Rt leg Ext., 5 Lf leg Ext., 5 Rt/LF opposites, 5 Lf/Rt opposites, Elbows 15secs\"\n },\n {\n exercise: \"Side Plank\",\n reps: \"30 sec/ side\",\n program1: 2,\n variation: \"Leg in hip abduction/ 15 sec\",\n program2: 2,\n log: \"\",\n notes: \"Progression: Elbow 15secs, Lift upper leg 15secs, Adduction w/ 6 lower leg knee drives; Repeat on Rt and then Lf side\"\n },\n {\n exercise: \"Supermans\",\n reps: \"reps\",\n program1: 10,\n variation: \"\",\n program2: 10,\n log: \"\",\n notes: \"5 secs holds of Y, T, and W progression\"\n },\n {\n exercise: \"Band pull apart\",\n reps: \"reps\",\n program1: 15,\n variation: \"\",\n program2: 20,\n log: \"\",\n notes: \"total reps listed, divide evenly between sides\"\n },\n {\n exercise: \"Band good morning\",\n reps: \"reps\",\n program1: 15,\n variation: \"\",\n program2: 15,\n log: \"\",\n notes: \"Light band, focus on form\"\n },\n {\n exercise: \"Push up/ plank hold\",\n reps: \"10 reps\",\n program1: 2,\n variation: \"\",\n program2: 20,\n log: \"\",\n notes: \"Hold 5 sec at low plank position\"\n },\n {\n exercise: \"Scap retraction pullup hold\",\n reps: \"6-10 reps\",\n program1: 10,\n variation: \"\",\n program2: 10,\n log: \"\",\n notes: \"Hold count of 3 at scap retraction \"\n },\n ]\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.exerciseReportSubTitle}>Mobility/Core #1</span>\n </Box>\n <Box mt={0.5}>\n <span className={classes.exerciseReportSubTitle}>Focus:body weight resistance training</span>\n </Box>\n </Box>\n <Box mt=\"20px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n {\n coreData1.map((data, i) => {\n return <Box key={`${data.exercise}-${i}`} style={i !== 0 ? {borderTop: \"1px solid #A9A9A9\"} : {}}>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Exercise</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.exercise}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Reps</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.reps}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Set #1</Box>\n <Box width={0.55} className=\"text-light-medium\">\n <Box width={1} display=\"flex\">\n <Box pr={1}>Program</Box>\n <Box>{data.program1}</Box>\n </Box>\n <Box width={1} display=\"flex\" mt=\"10px\">\n <Box pr={1}>Variation</Box>\n <Box>{data.variation}</Box>\n </Box>\n </Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Set #2</Box>\n <Box width={0.55} className=\"text-light-medium\">\n <Box width={1} display=\"flex\">\n <Box pr={1}>Program</Box>\n <Box>{data.program2}</Box>\n </Box>\n <Box width={1} display=\"flex\" mt=\"10px\">\n <Box pr={1}>Log</Box>\n <Box>{data.log}</Box>\n </Box>\n </Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Notes</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.notes}</Box>\n </Box>\n </Box>\n })\n }\n </Box>\n </Box>\n <Box mt=\"30px\">\n <Box px={2}>\n <Box>\n <span className={classes.exerciseReportSubTitle}>Mobility/Core #2</span>\n </Box>\n <Box mt={0.5}>\n <span className={classes.exerciseReportSubTitle}>Focus:body weight resistance training</span>\n </Box>\n </Box>\n <Box mt=\"20px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n {\n coreData2.map((data, i) => {\n return <Box key={`${data.exercise}-${i}`} style={i !== 0 ? {borderTop: \"1px solid #A9A9A9\"} : {}}>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Exercise</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.exercise}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Reps</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.reps}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Set #1</Box>\n <Box width={0.55} className=\"text-light-medium\">\n <Box width={1} display=\"flex\">\n <Box pr={1}>Program</Box>\n <Box>{data.program1}</Box>\n </Box>\n <Box width={1} display=\"flex\" mt=\"10px\">\n <Box pr={1}>Variation</Box>\n <Box>{data.variation}</Box>\n </Box>\n </Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Set #2</Box>\n <Box width={0.55} className=\"text-light-medium\">\n <Box width={1} display=\"flex\">\n <Box pr={1}>Program</Box>\n <Box>{data.program2}</Box>\n </Box>\n <Box width={1} display=\"flex\" mt=\"10px\">\n <Box pr={1}>Log</Box>\n <Box>{data.log}</Box>\n </Box>\n </Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.45} className=\"text-medium\">Notes</Box>\n <Box width={0.55} className=\"text-light-medium\">{data.notes}</Box>\n </Box>\n </Box>\n })\n }\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={10} pt={5}>\n <Box>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box>\n <span className={classes.exerciseReportSubTitle}>Mobility/Core #1</span>\n </Box>\n <Box>\n <span className={classes.exerciseReportSubTitle}>Focus:body weight resistance training</span>\n </Box>\n </Box>\n <Box mt={1}>\n <TableContainer>\n <Table size=\"small\" style={{ border: \"2px solid #A9A9A9\" }}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell align=\"center\" rowSpan={2}>Exercise</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\"></ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>Set #1</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>Set #2</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" rowSpan={2}>Notes</ExerciseReportTableCell>\n </TableRow>\n <TableRow>\n <ExerciseReportTableCell align=\"center\"></ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Program</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Variation</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Program</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Log</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {\n coreData1.map((data, i) =>\n <TableRow key={i}>\n <ExerciseReportTableCell style={{ width: '15%' }} align=\"center\">{data.exercise}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.reps}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.program1}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.variation}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.program2}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.log}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '35%' }} align=\"center\">{data.notes}</ExerciseReportTableCell>\n </TableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </Box>\n <Box mt={10}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box>\n <span className={classes.exerciseReportSubTitle}>Mobility/Core #2</span>\n </Box>\n <Box>\n <span className={classes.exerciseReportSubTitle}>Focus:body weight resistance training</span>\n </Box>\n </Box>\n <Box mt={1}>\n <TableContainer>\n <Table size=\"small\" style={{ border: \"2px solid #A9A9A9\" }}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell align=\"center\" rowSpan={2}>Exercise</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\"></ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>Set #1</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" colSpan={2}>Set #2</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\" rowSpan={2}>Notes</ExerciseReportTableCell>\n </TableRow>\n <TableRow>\n <ExerciseReportTableCell align=\"center\"></ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Program</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Variation</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Program</ExerciseReportTableCell>\n <ExerciseReportTableCell align=\"center\">Log</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {\n coreData2.map((data, i) =>\n <TableRow key={i}>\n <ExerciseReportTableCell style={{ width: '15%' }} align=\"center\">{data.exercise}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.reps}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.program1}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.variation}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.program2}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '10%' }} align=\"center\">{data.log}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{ width: '35%' }} align=\"center\">{data.notes}</ExerciseReportTableCell>\n </TableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import React from 'react';\nimport {Box, Table, TableBody, TableContainer, TableHead, TableRow} from '@material-ui/core';\nimport {BodyCircuitModel} from \"../../models/exercisePlan.models\";\nimport { ExerciseReportTableCell } from '../exerciseReportTable/ExerciseReportTableCell';\nimport { useStyles } from './../../a4Pages/healthReport.styles';\n\ninterface ExerciseBodyCircuitComponentProps {\n bodyCircuit: BodyCircuitModel;\n}\n\nexport const ExerciseBodyCircuitComponent: React.FC<ExerciseBodyCircuitComponentProps> = (props: ExerciseBodyCircuitComponentProps) => {\n const {bodyCircuit} = props;\n const classes = useStyles();\n\n return(\n <>\n <Box width=\"100%\">\n <Box>\n {bodyCircuit.strengthCircuits.map((strengthCircuit, x) => {\n return <Box key={x}>\n <Box>\n <span className={classes.exerciseReportSubTitle}>\n {strengthCircuit.name}\n </span>\n </Box>\n <TableContainer>\n <Table size=\"small\" style={{border:\"2px solid #A9A9A9\"}}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell>Exercise</ExerciseReportTableCell>\n <ExerciseReportTableCell>Genotype</ExerciseReportTableCell>\n <ExerciseReportTableCell>Set x Rep</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n {strengthCircuit.exercises.map((exercise, y) => {\n return <TableRow key={`${x}${y}`}>\n <ExerciseReportTableCell style={{width: '30%'}}>{exercise.name}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{width: '33%'}}>{exercise.genotype}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{width: '37%'}}>{exercise.intensity}</ExerciseReportTableCell>\n </TableRow>\n })}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n })}\n </Box>\n\n <Box>\n {bodyCircuit.hiitWorkouts.map((hiitWorkout, x) => {\n return <Box key={x}>\n <Box mt={1}>\n <span className={classes.exerciseReportSubTitle}>\n {hiitWorkout.name}\n </span>\n </Box>\n <TableContainer>\n <Table size=\"small\" style={{border:\"2px solid #A9A9A9\"}}>\n <TableHead>\n <TableRow>\n <ExerciseReportTableCell> </ExerciseReportTableCell>\n <ExerciseReportTableCell>Name</ExerciseReportTableCell>\n <ExerciseReportTableCell>Set x Rep</ExerciseReportTableCell>\n </TableRow>\n </TableHead>\n <TableBody>\n <TableRow>\n <ExerciseReportTableCell rowSpan={hiitWorkout.exercises.length + 1} style={{width: '30%'}}>{hiitWorkout.exercises[0].description}</ExerciseReportTableCell>\n </TableRow>\n {hiitWorkout.exercises.map((exercise, y) => {\n return <TableRow key={`${x}${y}`}>\n <ExerciseReportTableCell style={{width: '33%'}}>{exercise.name}</ExerciseReportTableCell>\n <ExerciseReportTableCell style={{width: '37%'}}>{exercise.intensity}</ExerciseReportTableCell>\n </TableRow>\n })}\n </TableBody>\n </Table>\n </TableContainer>\n </Box>\n })}\n </Box>\n </Box>\n </>\n );\n}\n\nexport const ExerciseBodyCircuitMobileComponent: React.FC<ExerciseBodyCircuitComponentProps> = (props: ExerciseBodyCircuitComponentProps) => {\n const {bodyCircuit} = props;\n const classes = useStyles();\n\n return(\n <>\n <Box width=\"100%\">\n <Box>\n {bodyCircuit.strengthCircuits.map((strengthCircuit, x) => {\n return <Box key={x}>\n <Box px={2}>\n <span className={classes.exerciseReportSubTitle}>\n {strengthCircuit.name}\n </span>\n </Box>\n <Box mt=\"20px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n {\n strengthCircuit.exercises.map((exercise, i) => {\n return <Box key={`${exercise.name}-${i}`} style={i !== 0 ? {borderTop: \"1px solid #A9A9A9\"} : {}}>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.35} className=\"text-medium\">Exercise</Box>\n <Box width={0.65} className=\"text-light-medium\">{exercise.name}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.35} className=\"text-medium\">Genotype</Box>\n <Box width={0.65} className=\"text-light-medium\">{exercise.genotype}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={i % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.35} className=\"text-medium\">Set x Rep</Box>\n <Box width={0.65} className=\"text-light-medium\">{exercise.intensity}</Box>\n </Box>\n </Box>\n })\n }\n </Box>\n </Box>\n })}\n </Box>\n\n <Box>\n {bodyCircuit.hiitWorkouts.map((hiitWorkout, x) => {\n return <Box key={x} mt=\"30px\">\n <Box px={2}>\n <span className={classes.exerciseReportSubTitle}>\n {hiitWorkout.name}\n </span>\n </Box>\n <Box px={2} mt={1} className=\"size-0_875 text-medium\" lineHeight=\"18px\">\n <span>\n {hiitWorkout?.exercises[0]?.description}\n </span>\n </Box>\n <Box mt=\"20px\" width=\"100%\" style={{ borderTop: \"2px solid #A9A9A9\", borderBottom: \"2px solid #A9A9A9\" }}>\n {\n hiitWorkout.exercises.map((exercise, y) => {\n return <Box key={`${x}${y}`} style={y !== 0 ? {borderTop: \"1px solid #A9A9A9\"} : {}}>\n <Box width={1} px={2} pt={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={y % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.35} className=\"text-medium\">Name</Box>\n <Box width={0.65} className=\"text-light-medium\">{exercise.name}</Box>\n </Box>\n <Box width={1} px={2} pt=\"10px\" pb={2} display=\"flex\" className=\"size-0_875 normal-line-height\" style={y % 2 === 1 ? {backgroundColor:\"#f3f7fa\"} : {}}>\n <Box width={0.35} className=\"text-medium\">Set x Rep</Box>\n <Box width={0.65} className=\"text-light-medium\">{exercise.intensity}</Box>\n </Box>\n </Box>\n })\n }\n </Box>\n </Box>\n })}\n </Box>\n </Box>\n </>\n );\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { ExerciseBodyCircuitComponent, ExerciseBodyCircuitMobileComponent } from \"../components/exerciseBodyCircuitComponent/ExerciseBodyCircuitComponent\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportExerciseAndRecovery6Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n report,\n practice\n } = props;\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box>\n {\n report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits.map((bodyCircuit, index) => {\n return <Box key={index} mt={index !== 0 && \"30px\"}>\n <ExerciseBodyCircuitMobileComponent bodyCircuit={bodyCircuit} />\n </Box>\n })\n }\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={10} pt={5}>\n {\n report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits.length <= 2 &&\n report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits.map((bodyCircuit, index) => {\n return <Box key={index} mb={3}>\n <ExerciseBodyCircuitComponent bodyCircuit={bodyCircuit} />\n </Box>\n })\n }\n {\n report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits.length === 3 &&\n <Box>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box width=\"48%\">\n <ExerciseBodyCircuitComponent key={0} bodyCircuit={report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits[0]} />\n </Box>\n <Box width=\"48%\">\n <ExerciseBodyCircuitComponent key={0} bodyCircuit={report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits[1]} />\n </Box>\n </Box>\n <Box mt={3} width=\"48%\">\n <ExerciseBodyCircuitComponent key={0} bodyCircuit={report.exerciseAndRecoveryReport.exercisePlan.bodyCircuits[2]} />\n </Box>\n </Box>\n }\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { LabResultComponent } from '../components/labResultComponent/LabResultComponent';\nimport { dnaDefinitions, HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportExerciseAndRecovery7Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n report,\n practice\n } = props;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n const exerciseDnaKeys = [\n \"PPARGC1A(rs8192678)\",\n \"PPAR-α(rs4253778)\",\n \"PPAR-α(rs135549)\",\n \"ADRB3(rs4994)\",\n \"NRF(rs7181866)\",\n \"AGT(rs699)\",\n \"TRHR(rs16892496)\",\n \"BDKRB2(rs1799722)\",\n \"CRP(rs1205)\",\n \"SLC30A8(rs13266634)\",\n \"COL5A1(rs12722)\",\n \"TNF(rs1800629)\",\n \"ACTN3(rs1815739)\",\n ]\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>Detailed Exercise & Recovery Genetics and Labs</span>\n </Box>\n <Box mt=\"10px\">\n <Box>\n <span className={classes.reportSubTitle}>Genetics</span>\n </Box>\n <Box mt={1} fontSize=\"14px\" lineHeight=\"22px\">\n {\n exerciseDnaKeys.map(key => {\n return <Box key={key} mt={1}>\n <span className=\"text-light-medium\"><span className=\"text-bold\">{key}:</span> {dnaDefinitions[key]}</span>\n </Box>\n })\n }\n\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box>\n <span className={classes.reportSubTitle}>Labs</span>\n </Box>\n <Box mt={1}>\n <LabResultComponent label=\"DHEA\" value={labValues.getLabReportValue(LabInputNames.Dhea)} />\n <LabResultComponent label=\"iGF\" value={labValues.getLabReportValue(LabInputNames.Igf)} />\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"Testosterone, Free\" value={labValues.getLabReportValue(LabInputNames.TestosteroneFree)} />\n <LabResultComponent label=\"SHBG\" value={labValues.getLabReportValue(LabInputNames.Shbg)} />\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.ExerciseAndRecovery} pageNumber={pageNumber} practice={practice}>\n <>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">Detailed Exercise & Recovery Genetics and Labs</span>\n </Box>\n <Box mt={3}>\n <Box>\n <span className=\"report-sub-title\">Genetics</span>\n </Box>\n <Box mt={1}>\n {\n exerciseDnaKeys.map(key => {\n return <Box key={key} mt={1}>\n <span className=\"text-light-medium\"><span className=\"text-bold\">{key}:</span> {dnaDefinitions[key]}</span>\n </Box>\n })\n }\n\n </Box>\n </Box>\n <Box mt={3}>\n <Box>\n <span className=\"report-sub-title\">Labs</span>\n </Box>\n <Box mt={1}>\n <Box width={0.3}>\n <LabResultComponent label=\"DHEA\" value={labValues.getLabReportValue(LabInputNames.Dhea)} />\n <LabResultComponent label=\"iGF\" value={labValues.getLabReportValue(LabInputNames.Igf)} />\n <LabResultComponent label=\"CRP\" value={labValues.getLabReportValue(LabInputNames.Crp)} />\n <LabResultComponent label=\"Testosterone, Free\" value={labValues.getLabReportValue(LabInputNames.TestosteroneFree)} />\n <LabResultComponent label=\"SHBG\" value={labValues.getLabReportValue(LabInputNames.Shbg)} />\n </Box>\n </Box>\n </Box>\n </Box>\n </>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/HealthReport_Pg23_Image.png\";\n\nexport const HealthReportLongevity0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Longevity} pageNumber={pageNumber} practice={practice} firstPage>\n <Box>\n <Box px={2}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Your Personalized Longevity Report</span>\n </Box>\n <Box mt={1.5} fontSize=\"14px\" lineHeight=\"22px\">\n <span>\n There is no single secret to longevity. Longevity comes both from genetics and how you live your life. Every aspect of\n this entire health report is aimed at longevity. Sleep, exercise, diet, fasting, medications, supplements, reversing\n chronic disease, all of these matter. But there are some specifics we can focus on here.\n First, it helps to know your baseline. In this case, your baseline is your biological age and how it compares to your\n chronological, or birth age. You biological age is a measure of how your DNA is packaged. As we age, our cells make\n mistakes methylating DNA and repackaging it. These errors confuse cells and make them start behaving like different\n types of cells. This is part of what begins to increase our biologic age. Your DNA methylation test will estimate your\n biological age to the year. If your biological age is older, we have a lot of work to do. If your biological age is lower,\n we’ve got a good start. Your aggressiveness with this protocol can be directed and to some degree dictated by your\n biological age.\n The following protocol is broken into lifestyle and supplement interventions, as well as possible peptide interventions.\n What you choose to apply to your routine is up to you, but we recommend discussing these decisions with your\n precision medicine physician.\n </span>\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg23ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Longevity} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5} pb={3}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Your Personalized Longevity Report</span>\n </Box>\n <Box mt={3}>\n <span>\n There is no single secret to longevity. Longevity comes both from genetics and how you live your life. Every aspect of\n this entire health report is aimed at longevity. Sleep, exercise, diet, fasting, medications, supplements, reversing\n chronic disease, all of these matter. But there are some specifics we can focus on here.\n First, it helps to know your baseline. In this case, your baseline is your biological age and how it compares to your\n chronological, or birth age. You biological age is a measure of how your DNA is packaged. As we age, our cells make\n mistakes methylating DNA and repackaging it. These errors confuse cells and make them start behaving like different\n types of cells. This is part of what begins to increase our biologic age. Your DNA methylation test will estimate your\n biological age to the year. If your biological age is older, we have a lot of work to do. If your biological age is lower,\n we’ve got a good start. Your aggressiveness with this protocol can be directed and to some degree dictated by your\n biological age.\n The following protocol is broken into lifestyle and supplement interventions, as well as possible peptide interventions.\n What you choose to apply to your routine is up to you, but we recommend discussing these decisions with your\n precision medicine physician.\n </span>\n </Box>\n <Box mt={5}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg23ImagePath} style={{ width: '100%' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { LabInputNames } from \"../../inputs/constants/inputs.constants\";\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { LabResultComponent } from \"../components/labResultComponent/LabResultComponent\";\nimport {\n LabelPosition,\n ProgressDiagramComponent\n} from \"../components/progressDiagramComponent/ProgressDiagramComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportLongevity1Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n practice\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const labValues = report.labReport.values;\n\n const ageData = [\n {\n label: `EPIGENETIC AGE: ${report.alphaReport.epiGeneticAge.biologicalAge}`,\n value: report.alphaReport.epiGeneticAge.biologicalAge,\n labelPosition: LabelPosition.BottomLeft\n },\n {\n label: `AGE BIO: ${report.alphaReport.realAge}`,\n value: report.alphaReport.realAge,\n labelPosition: LabelPosition.BottomRight\n },\n {\n label: `CHRONOLOGICAL AGE: ${report.alphaReport.chronologicalAge}`,\n value: report.alphaReport.chronologicalAge,\n labelPosition: LabelPosition.TopRight\n }\n ].filter(x => x.value !== 0)\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Longevity} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box textAlign=\"center\">\n <Box>\n {report.alphaReport.epiGeneticAge.biologicalAge === 0 && report.alphaReport.realAge === 0\n ? <span style={{ color: '#999999' }} className=\"size-1_5\">Get your Biological age from \n <a id=\"report-link-elysium\" style={{ color: '#999999' }} target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.elysiumhealth.com/en-us/index\"> TruDiagnostic </a> to find out how well you are aging.</span>\n : <span className={classes.reportTitle}>Your Biological Age:</span>}\n </Box>\n <Box mt=\"10px\">\n <span className=\"report-value\" style={{ fontSize: 34, fontWeight: 400 }}>\n {report.alphaReport.epiGeneticAge.biologicalAge !== 0\n ? report.alphaReport.epiGeneticAge.biologicalAge\n : report.alphaReport.realAge !== 0\n ? report.alphaReport.realAge\n : \"\"}\n </span>\n </Box>\n </Box>\n </Box>\n <Box mt=\"20px\">\n <ProgressDiagramComponent\n height={22}\n colors={['#7d9259', '#5f7990']}\n data={ageData}\n />\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Grid container>\n <Grid item xs={12}>\n <Box>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Oxidative Stress</span>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.oxidativeStressRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Telomeres</span>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.telomersRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\">\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Cancer Risk</span>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.cancerRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Dementia Risk</span>\n </Box>\n <Box mt={1}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box>\n <span>\n Apo-ε:\n </span>\n </Box>\n <Box>\n <span>\n {report.dietAndNutritionReport?.apoeAccuracyScore?.apoe}\n </span>\n </Box>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.dementiaRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Box>\n <Box mt=\"20px\">\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Metabolism</span>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.metabolismScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12}>\n <Box mt=\"20px\">\n <Box>\n <span className=\"report-sub-title\">Longevity Labs</span>\n </Box>\n <LabResultComponent label=\"DHEA\" value={labValues.getLabReportValue(LabInputNames.Dhea)} />\n <LabResultComponent label=\"iGf\" value={labValues.getLabReportValue(LabInputNames.Igf)} />\n <LabResultComponent label=\"TSH\" value={labValues.getLabReportValue(LabInputNames.Tsh)} />\n <LabResultComponent label=\"T4\" value={labValues.getLabReportValue(LabInputNames.FreeT4)} />\n <LabResultComponent label=\"Testosterone, Free\" value={labValues.getLabReportValue(LabInputNames.TestosteroneFree)} />\n <LabResultComponent label=\"Hgb-A1c\" value={labValues.getLabReportValue(LabInputNames.HgbA1C)} />\n </Box>\n <Box mt=\"20px\">\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Lifespan</span>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.lifespanScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Longevity} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5} pb={3}>\n <Box display=\"flex\" justifyContent=\"center\">\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\">\n <Box>\n {report.alphaReport.epiGeneticAge.biologicalAge === 0 && report.alphaReport.realAge === 0\n ? <span style={{ color: '#999999' }} className=\"size-1_5\">Get your Biological age from \n <a id=\"report-link-elysium\" style={{ color: '#999999' }} target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.elysiumhealth.com/en-us/index\"> TruDiagnostic </a> to find out how well you are aging.</span>\n : <span className=\"report-title\">Your Biological Age:</span>}\n </Box>\n <Box ml={2} mb={-1}>\n <span className=\"report-value\">\n {report.alphaReport.epiGeneticAge.biologicalAge !== 0\n ? report.alphaReport.epiGeneticAge.biologicalAge\n : report.alphaReport.realAge !== 0\n ? report.alphaReport.realAge\n : \"\"}\n </span>\n </Box>\n </Box>\n </Box>\n <Box mt={10} mb={5}>\n <ProgressDiagramComponent\n height={22}\n colors={['#7d9259', '#5f7990']}\n data={ageData}\n />\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15} py={3}>\n <Grid container>\n <Grid item xs={12} md={4} lg={4}>\n <Box px={5} mt={3}>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Oxidative Stress</span>\n </Box>\n <Box mt={5}>\n <DnaTableComponent\n dna={report.longevityReport.oxidativeStressRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n\n <Box px={5} mt={5}>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Cancer Risk</span>\n </Box>\n <Box mt={5}>\n <DnaTableComponent\n dna={report.longevityReport.cancerRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12} md={4} lg={4}>\n <Box px={5} mt={3}>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Telomeres</span>\n </Box>\n <Box mt={5}>\n <DnaTableComponent\n dna={report.longevityReport.telomersRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n\n <Box px={5} mt={5}>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Dementia Risk</span>\n </Box>\n <Box mt={5}>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <Box>\n <span>\n Apo-ε:\n </span>\n </Box>\n <Box>\n <span>\n {report.dietAndNutritionReport?.apoeAccuracyScore?.apoe}\n </span>\n </Box>\n </Box>\n <Box mt={1}>\n <DnaTableComponent\n dna={report.longevityReport.dementiaRiskScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Box>\n\n <Box px={5} mt={5}>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Metabolism</span>\n </Box>\n <Box mt={5}>\n <DnaTableComponent\n dna={report.longevityReport.metabolismScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Grid>\n <Grid item xs={12} md={4} lg={4}>\n <Box px={5} mt={3}>\n <Box>\n <span className=\"report-sub-title\">Longevity Labs</span>\n </Box>\n <LabResultComponent label=\"DHEA\" value={labValues.getLabReportValue(LabInputNames.Dhea)} />\n <LabResultComponent label=\"iGf\" value={labValues.getLabReportValue(LabInputNames.Igf)} />\n <LabResultComponent label=\"TSH\" value={labValues.getLabReportValue(LabInputNames.Tsh)} />\n <LabResultComponent label=\"T4\" value={labValues.getLabReportValue(LabInputNames.FreeT4)} />\n <LabResultComponent label=\"Testosterone, Free\" value={labValues.getLabReportValue(LabInputNames.TestosteroneFree)} />\n <LabResultComponent label=\"Hgb-A1c\" value={labValues.getLabReportValue(LabInputNames.HgbA1C)} />\n </Box>\n <Box px={5} mt={5}>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Lifespan</span>\n </Box>\n <Box mt={5}>\n <DnaTableComponent\n dna={report.longevityReport.lifespanScore.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity, RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\n\nexport const HealthReportLongevity2Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Longevity} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>Your Personalized Longevity Report</span>\n </Box>\n <Box mt=\"10px\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textRegularReport)}>Fasting</span>\n </Box>\n <Box mt=\"12px\" fontSize=\"14px\" lineHeight=\"22px\">\n <p>\n Using one or all of the following fasting methods will be beneficial for just about anyone.\n Time Restricted Feeding. A lot of people call this intermittent fasting. But since there is no caloric restriction, it is not truly fasting, you are just restricting the time window within which you eat, ideally the same number of calories as if you didn’t restrict the time. So, consume the same amount of food/calories you typically do in a day but just consume it in a smaller feeding window.\n </p>\n <p>For example:</p>\n <p>A. 12 hour fast/12hour feeding window: eat between 7am and 7pm. You can of course adjust the times.</p>\n <p>B.16 hour fast/8 hour feeding window: eat between 11am and 7pm. Now you are only eating in an 8 hour window.</p>\n <p>\n As your body becomes used to this you can even narrow the feeding window more if you wish so you’ll be eating within a 7 or 6 hour window. Time restricted feeding has been shown to reduce insulin levels and increase insulin sensitivity, as well as reduce\n blood pressure.\n </p>\n <p>\n Intermittent Fasting. This is truly fasting, meaning you will restrict calories for 1-5 days.\n First option is a 0 calorie fast. You are allowed to only consume coffee or water for 1-3 days. Don’t put food in your mouth.\n Second option is a Fasting-mimicking diet. Day 1- consume about 1100 calories, day 2-5 consume about 800 calories.\n Low protein. You can consume vegetables, extra virgin olive oil, nuts, seeds, soups, salads, but no meat and no junk.\n Benefit: prolonged fasting or calorie restriction greater than 24 hours results in autophagy (where the body eats itself)\n and apoptosis (programmed cell death) allowing your body to clean up damaged proteins, old cells that have lost their\n programing, and even pre-cancerous cells.\n </p>\n </Box>\n <Box mt=\"20px\">\n <Box pb=\"10px\">\n <span className={classes.reportTitle}>Your Longevity Lifestyle Recommendations</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Longevity)}\n recommendation={report.longevityReport.recommendation}\n type={RecommendationTypesNumbers.Longevity}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Longevity]}\n recommendation={report.longevityReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Longevity} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">Your Personalized Longevity Report</span>\n </Box>\n <Box mt={3}>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeSmallReport)}>Fasting</span>\n </Box>\n <Box>\n <p>\n Using one or all of the following fasting methods will be beneficial for just about anyone.\n Time Restricted Feeding. A lot of people call this intermittent fasting. But since there is no caloric restriction, it is not truly fasting, you are just restricting the time window within which you eat, ideally the same number of calories as if you didn’t restrict the time. So, consume the same amount of food/calories you typically do in a day but just consume it in a smaller feeding window.\n </p>\n <p>For example:</p>\n <p>A. 12 hour fast/12hour feeding window: eat between 7am and 7pm. You can of course adjust the times.</p>\n <p>B.16 hour fast/8 hour feeding window: eat between 11am and 7pm. Now you are only eating in an 8 hour window.</p>\n <p>\n As your body becomes used to this you can even narrow the feeding window more if you wish so you’ll be eating within a 7 or 6 hour window. Time restricted feeding has been shown to reduce insulin levels and increase insulin sensitivity, as well as reduce\n blood pressure.\n </p>\n <p>\n Intermittent Fasting. This is truly fasting, meaning you will restrict calories for 1-5 days.\n First option is a 0 calorie fast. You are allowed to only consume coffee or water for 1-3 days. Don’t put food in your mouth.\n Second option is a Fasting-mimicking diet. Day 1- consume about 1100 calories, day 2-5 consume about 800 calories.\n Low protein. You can consume vegetables, extra virgin olive oil, nuts, seeds, soups, salads, but no meat and no junk.\n Benefit: prolonged fasting or calorie restriction greater than 24 hours results in autophagy (where the body eats itself)\n and apoptosis (programmed cell death) allowing your body to clean up damaged proteins, old cells that have lost their\n programing, and even pre-cancerous cells.\n </p>\n </Box>\n <Box mt={10}>\n <Box pb={2} display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Your Longevity Lifestyle Recommendations</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Longevity)}\n recommendation={report.longevityReport.recommendation}\n type={RecommendationTypesNumbers.Longevity}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Longevity]}\n recommendation={report.longevityReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('longevityReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/HealthReport_Pg16_Image.png\";\n\nexport const HealthReportMicrobiome0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Microbiome} pageNumber={pageNumber} practice={practice} firstPage>\n <Box>\n <Box px={2}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Inflammation and Diversity</span>\n </Box>\n <Box mt={1.5} fontSize=\"14px\" lineHeight=\"22px\">\n <p>\n Your microbiome is part of you. The bacteria in your gut affect your risk of chronic\n disease like heart disease and dementia. They make B vitamins and other nutrients\n our bodies use to function. They make neurotransmitters like serotonin and have been\n linked to depression and mental health. They even buffer and use lactic acid\n and can make us better athletes.\n </p>\n <p>\n We use your microbiome data to compile an inflammation score which may alter your risk\n of chronic disease as well as a diversity score, which has been linked to longevity.\n </p>\n <p>\n Finally, we’ll review some specific bacteria and how they may be important to\n optimize and identify some actions to improve them.\n </p>\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg16ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Microbiome} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Inflammation and Diversity</span>\n </Box>\n <Box mt={1}>\n <p>\n Your microbiome is part of you. The bacteria in your gut affect your risk of chronic\n disease like heart disease and dementia. They make B vitamins and other nutrients\n our bodies use to function. They make neurotransmitters like serotonin and have been\n linked to depression and mental health. They even buffer and use lactic acid\n and can make us better athletes.\n </p>\n <p>\n We use your microbiome data to compile an inflammation score which may alter your risk\n of chronic disease as well as a diversity score, which has been linked to longevity.\n </p>\n <p>\n Finally, we’ll review some specific bacteria and how they may be important to\n optimize and identify some actions to improve them.\n </p>\n </Box>\n <Box mt={10}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%', height: '900px' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg16ImagePath} style={{ width: '100%', height: '900px' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n progress: {\n width: '100%',\n height: 'auto',\n display: 'flex',\n }, \n segment: {\n height: 22,\n paddingLeft: 5,\n opacity: 0.75,\n marginLeft: 2,\n },\n value: {\n position: 'relative',\n width: 27,\n height: 27,\n borderRadius: '50%',\n border: `1px solid ${colors.main}`,\n background: colors.white,\n top: '-24px',\n textAlign: 'center',\n }\n }),\n);","import React from \"react\";\nimport {MicrobiomeValueModel, MicrobiomeValueRangeModel} from \"../../models/healthReport.models\";\nimport {Box} from \"@material-ui/core\";\nimport {riskColorMap} from \"../../constants/healthReport.constants\";\nimport {descendingComparator} from \"../../../common/sorting/helpers/object-comparer\";\nimport {useStyles} from \"./microbiomeItemComponent.styles\"\n\ninterface MicrobiomeItemComponentProps {\n value: MicrobiomeValueModel;\n}\n\nexport const MicrobiomeItemComponent: React.FC<MicrobiomeItemComponentProps> = (props: MicrobiomeItemComponentProps) => {\n const {value} = props;\n\n const classes = useStyles();\n\n const determineSegmentColor = (risk: string): string => {\n if (value.value === null) {\n return riskColorMap['null'];\n }\n\n return riskColorMap[risk];\n }\n\n const calculateMultiplier = (ranges: MicrobiomeValueRangeModel[]): number => {\n const max = ranges.map(x => x.to).reduce((p, v) => {\n return ( p > v ? p : v );\n });\n\n return 100 / max;\n }\n\n const multiplier = calculateMultiplier(value.ranges);\n\n return (\n <>\n <Box>\n <span className=\"size-1_25\">\n {value.name}\n </span>\n <Box display=\"flex\">\n <Box width={0.5} pr={1}>\n <Box className={classes.progress}>\n {\n value.ranges\n .sort((r1, r2) => -descendingComparator(r1, r2, 'from'))\n .map((range, index) => {\n return <div key={index} className={classes.segment} style={{\n width: `${range.to * multiplier - range.from * multiplier}%`,\n background: determineSegmentColor(range.risk)\n }}>\n </div>\n })\n }\n </Box>\n <Box width={1} pr=\"13.5px\" ml=\"-13.5px\">\n {\n <div className={classes.value}\n style={{marginLeft: `${(value.value ?? 0) * multiplier}%`}}>\n {(value.value ?? 0).toFixed(0)}\n </div>\n }\n </Box>\n </Box>\n <Box width={0.5} pl={5}>\n <span className=\"text-medium\">\n {\n value.value !== null\n ? value.comment\n : \"No data provided. Not Calculated.\"\n }\n </span>\n </Box>\n </Box>\n </Box>\n </>\n );\n}\n\nexport const MicrobiomeItemMobileComponent: React.FC<MicrobiomeItemComponentProps> = (props: MicrobiomeItemComponentProps) => {\n const {value} = props;\n\n const classes = useStyles();\n\n const determineSegmentColor = (risk: string): string => {\n if (value.value === null) {\n return riskColorMap['null'];\n }\n\n return riskColorMap[risk];\n }\n\n const calculateMultiplier = (ranges: MicrobiomeValueRangeModel[]): number => {\n const max = ranges.map(x => x.to).reduce((p, v) => {\n return ( p > v ? p : v );\n });\n\n return 100 / max;\n }\n\n const multiplier = calculateMultiplier(value.ranges);\n\n return (\n <>\n <Box>\n <span className=\"size-1_25\">\n {value.name}\n </span>\n <Box>\n <Box width={1} mt={0.5}>\n <Box className={classes.progress}>\n {\n value.ranges\n .sort((r1, r2) => -descendingComparator(r1, r2, 'from'))\n .map((range, index) => {\n return <div key={index} className={classes.segment} style={{\n width: `${range.to * multiplier - range.from * multiplier}%`,\n background: determineSegmentColor(range.risk)\n }}>\n </div>\n })\n }\n </Box>\n <Box width={1}>\n {\n <div className={classes.value}\n style={{marginLeft: `${(value.value ?? 0) * multiplier}%`}}>\n {(value.value ?? 0).toFixed(0)}\n </div>\n }\n </Box>\n </Box>\n <Box width={1}>\n <span className=\"text-medium\">\n {\n value.value !== null\n ? value.comment\n : \"No data provided. Not Calculated.\"\n }\n </span>\n </Box>\n </Box>\n </Box>\n </>\n );\n}","import { Box, Divider, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthPlaceHolder } from \"../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { CircleDiagramComponent } from \"../components/circleDiagramComponent/CircleDiagramComponent\";\nimport { MicrobiomeItemComponent, MicrobiomeItemMobileComponent } from \"../components/microbiomeItemComponent/MicrobiomeItemComponent\";\nimport { HealthReportSections, MicrobiomeType, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportMicrobiome1Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n pageNumber,\n practice\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const inflammationName = \"Inflammation Score\";\n const diversityName = \"Diversity score\";\n const inflammationScore = report.microbiomeReport.microbiomeResistance.values.find(x => x.name === inflammationName)\n const diversityScore = report.microbiomeReport.microbiomeResistance.values.find(x => x.name === diversityName)\n const microbiome = report.microbiomeReport.microbiomeResistance.values.filter(x => x.type === MicrobiomeType.Flora);\n\n const renderInflammationScore = () => {\n if (!inflammationScore || inflammationScore.value === null) {\n return (\n <Box pr={2}>\n <WildHealthPlaceHolder message=\"No data\" />\n </Box>\n )\n }\n\n return (\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <CircleDiagramComponent radius={80} data={[\n { name: 'Inflammation', value: inflammationScore?.value ?? 0, color: '#97c4d9' },\n { name: 'Inflammation', value: 100 - inflammationScore?.value ?? 0, color: '#7293a7' }\n ]} />\n </Box>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Inflammation Score: {inflammationScore?.value}% </span>\n </Box>\n </Box>\n )\n };\n\n const renderDiversityScore = () => {\n if (!diversityScore || diversityScore.value === null) {\n return (\n <Box pl={2}>\n <WildHealthPlaceHolder message=\"No data\" />\n </Box>\n )\n }\n\n return (\n <Box pl={2}>\n <Box display=\"flex\" justifyContent=\"center\">\n <CircleDiagramComponent radius={80} data={[\n { name: 'Diversity', value: diversityScore?.value ?? 0, color: '#89bd24' },\n { name: 'Diversity', value: 100 - diversityScore?.value ?? 0, color: '#bbc6ab' }\n ]} />\n </Box>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Diversity Score: {diversityScore?.value ?? 0}% </span>\n </Box>\n </Box>\n )\n };\n\n const renderOtherMicrobiome = () => {\n return microbiome\n .filter(x => x.name !== inflammationName && x.name !== diversityName)\n .map((value, index) => {\n return <MicrobiomeItemComponent key={index} value={value} />\n })\n }\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Microbiome} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box textAlign=\"center\">\n <span className={classes.reportTitle}>Inflammation and Diversity</span>\n </Box>\n <Box>\n <Box mt=\"18px\">\n <Box>\n <Box display=\"flex\" justifyContent=\"center\">\n <CircleDiagramComponent radius={80} data={[\n { name: 'Inflammation', value: inflammationScore?.value ?? 0, color: '#97c4d9' },\n { name: 'Inflammation', value: 100 - inflammationScore?.value ?? 0, color: '#7293a7' }\n ]} />\n </Box>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Inflammation Score: {inflammationScore?.value ?? 0}% </span>\n </Box>\n </Box>\n </Box>\n <Box mt=\"30px\">\n <Box pl={!isSmallScreen && 2}>\n <Box display=\"flex\" justifyContent=\"center\">\n <CircleDiagramComponent radius={80} data={[\n { name: 'Diversity', value: diversityScore?.value ?? 0, color: '#89bd24' },\n { name: 'Diversity', value: 100 - diversityScore?.value ?? 0, color: '#bbc6ab' }\n ]} />\n </Box>\n <Box textAlign=\"center\">\n <span className=\"text-medium\">Diversity Score: {diversityScore?.value ?? 0}% </span>\n </Box>\n </Box>\n </Box>\n </Box>\n <Box mt=\"30px\">\n {inflammationScore && <Box mt=\"20px\"><MicrobiomeItemMobileComponent value={inflammationScore} /></Box>}\n {diversityScore && <Box mt=\"20px\"><MicrobiomeItemMobileComponent value={diversityScore} /></Box>}\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>important flora</span>\n </Box>\n <Box>\n {\n microbiome.filter(x => x.name !== inflammationName && x.name !== diversityName).map((value, index) => (\n <Box mt=\"20px\" key={index}><MicrobiomeItemMobileComponent value={value} /></Box>\n ))\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Microbiome} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box textAlign=\"center\">\n <span className=\"report-title\">Inflammation and Diversity</span>\n </Box>\n <Box mt={3}>\n <Grid container spacing={5}>\n <Grid item xs={3}>\n </Grid>\n <Grid item xs={3}>\n {renderInflammationScore()}\n </Grid>\n <Grid item xs={3}>\n {renderDiversityScore()}\n </Grid>\n <Grid item xs={3}>\n </Grid>\n </Grid>\n </Box>\n <Box pt={5}>\n {inflammationScore && <MicrobiomeItemComponent value={inflammationScore} />}\n {diversityScore && <MicrobiomeItemComponent value={diversityScore} />}\n </Box>\n </Box>\n <Divider className=\"report-divider\" />\n <Box px={15}>\n <Box>\n <span className=\"report-title\">important flora</span>\n </Box>\n <Box>\n {renderOtherMicrobiome()}\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { WildHealthPlaceHolder } from \"../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport { MicrobiomeItemComponent, MicrobiomeItemMobileComponent } from \"../components/microbiomeItemComponent/MicrobiomeItemComponent\";\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\nimport {\n HealthReportMode,\n HealthReportSections, HealthReportVersion, MicrobiomeType,\n recommendationRowsCapacity,\n RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportMicrobiome2Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n handleChanges,\n handleSaveChanges,\n pageNumber,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const microbiome = report.microbiomeReport.microbiomeResistance.values.filter(x => x.type === MicrobiomeType.Tmao);\n\n const renderOtherMicrobiome = () => {\n if (!microbiome || !microbiome.length) {\n return (\n <Box mt={3}>\n <WildHealthPlaceHolder height=\"750px\" message=\"No data\" />\n </Box>\n )\n }\n\n return microbiome.map((value, index) => {\n return <MicrobiomeItemComponent key={index} value={value} />\n });\n }\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Microbiome} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={2}>\n <Box>\n <span className={classes.reportTitle}>TMAO-producing bacteria</span>\n </Box>\n\n <Box>\n {\n microbiome.map((value, index) => (\n <Box key={index} mt=\"20px\"><MicrobiomeItemMobileComponent value={value} /></Box>\n ))\n }\n </Box>\n\n <Box mt=\"30px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Microbiome)}\n recommendation={report.microbiomeReport.recommendation}\n type={RecommendationTypesNumbers.Microbiome}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Microbiome]}\n recommendation={report.microbiomeReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('microbiomeReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('microbiomeReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Microbiome} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">TMAO-producing bacteria</span>\n </Box>\n\n <Box mt={2} height=\"800px\">\n {renderOtherMicrobiome()}\n </Box>\n\n <Box mt={2}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode ? <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\">Your microbiome recommendations</span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>\n : <Box mb={1}><span className=\"report-title\">Your microbiome recommendations</span></Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Microbiome)}\n recommendation={report.microbiomeReport.recommendation}\n type={RecommendationTypesNumbers.Microbiome}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Microbiome]}\n recommendation={report.microbiomeReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('microbiomeReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('microbiomeReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/HealthReport_Pg14_Image.png\";\n\nexport const HealthReportNeurobehavioral0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Neurobehavioral} pageNumber={pageNumber} practice={practice} firstPage>\n <Box>\n <Box px={2}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Personalized Mindfulness Plan</span>\n </Box>\n <Box mt={1.5} fontSize=\"14px\" lineHeight=\"22px\">\n <Box>\n <p>\n Stress and anxiety are real and have a physical effect on the body and mind. Mindfulness\n can help stabilize cortisol and helps the overall balance of hormones in our body.\n Mindfulness has even been shown to lower blood pressure by 10-15mm Hg.\n </p>\n </Box>\n <Box mt=\"10px\">\n <p>\n Mindfulness practices are one tool in your toolbox to calm your body intentionally.\n </p>\n </Box>\n <Box mt=\"10px\">\n <p>Aim for 10-15 minutes per day to calm the mind.</p>\n </Box>\n <Box mt=\"10px\">\n <p>Here are some tools to consider:</p>\n </Box>\n <Box mt=\"10px\">\n <p>\n Simple “Gratefulness Journals” have been shown to improve mood, joy and decrease stress.\n Keeping this in your car between appointments might be beneficial. <a id=\"report-link-amazon\" target=\"_black\" href=\"https://www.amazon.com/Gratitude-Journal-Affirmation-Productivity-Mindfulness/dp/B09NPVVKWR/ref=asc_df_B09NPVVKWR/?tag=hyprod-20&linkCode=df0&hvadid=563725415476&hvpos=&hvnetw=g&hvrand=11022365268517101909&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9014878&hvtargid=pla-1595539873819&psc=1&gclid=Cj0KCQiA6LyfBhC3ARIsAG4gkF_bCZuIcp9vMs5KSiZqEog0uJHaxgC3sosD4Av6aiKFN1uJsGuHXXkaAvPwEALw_wcB\">\n Click here\n </a> to see a simple option.\n </p>\n </Box>\n <Box mt=\"10px\">\n <p>Meditation apps like “Head Space” or “Calm” can guide you as well.</p>\n </Box>\n <Box mt=\"10px\">\n <p>Music can have an incredible effect on your mood. Use it intentionally.</p>\n </Box>\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg14ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Neurobehavioral} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box px={15} pt={5}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Personalized Mindfulness Plan</span>\n </Box>\n <Box mt={2}>\n <Box>\n <p>\n Stress and anxiety are real and have a physical effect on the body and mind. Mindfulness\n can help stabilize cortisol and helps the overall balance of hormones in our body.\n Mindfulness has even been shown to lower blood pressure by 10-15mm Hg.\n </p>\n </Box>\n <Box mt={1.5}>\n <p>\n Mindfulness practices are one tool in your toolbox to calm your body intentionally.\n </p>\n </Box>\n <Box mt={1.5}>\n <p>Aim for 10-15 minutes per day to calm the mind.</p>\n </Box>\n <Box mt={1.5}>\n <p>Here are some tools to consider:</p>\n </Box>\n <Box mt={1.5}>\n <p>\n Simple “Gratefulness Journals” have been shown to improve mood, joy and decrease stress.\n Keeping this in your car between appointments might be beneficial. <a id=\"report-link-amazon\" target=\"_black\" href=\"https://www.amazon.com/Gratitude-Journal-Affirmation-Productivity-Mindfulness/dp/B09NPVVKWR/ref=asc_df_B09NPVVKWR/?tag=hyprod-20&linkCode=df0&hvadid=563725415476&hvpos=&hvnetw=g&hvrand=11022365268517101909&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9014878&hvtargid=pla-1595539873819&psc=1&gclid=Cj0KCQiA6LyfBhC3ARIsAG4gkF_bCZuIcp9vMs5KSiZqEog0uJHaxgC3sosD4Av6aiKFN1uJsGuHXXkaAvPwEALw_wcB\">\n Click here\n </a> to see a simple option.\n </p>\n </Box>\n <Box mt={1.5}>\n <p>Meditation apps like “Head Space” or “Calm” can guide you as well.</p>\n </Box>\n <Box mt={1.5}>\n <p>Music can have an incredible effect on your mood. Use it intentionally.</p>\n </Box>\n </Box>\n <Box mt={10}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg14ImagePath} style={{ width: '100%' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import img from \"@img/HealthReport_Pg15_Image.png\";\nimport { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from \"../../common/components/wildHealthButton/WildHealthButton\";\nimport { DnaTableComponent } from '../components/dnaTableComponent/DnaTableComponent';\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport { RecommendationSingleSelectComponent } from \"../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity, RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportNeurobehavioralPage: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n handleChanges,\n handleSaveChanges,\n pageNumber,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Neurobehavioral} pageNumber={pageNumber} practice={practice}>\n <Box px={2}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Your Neurobehavioral Genetics</span>\n </Box>\n <Box mt=\"10px\">\n <Box>\n <DnaTableComponent\n dna={report.neurobehavioralReport.neurobehavioralDna.dna}\n colorMap={riskColorMap} />\n </Box>\n <Box mt=\"30px\">\n <img src={img} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n <Box mt=\"30px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Neurobehavioral)}\n recommendation={report.neurobehavioralReport.recommendation}\n type={RecommendationTypesNumbers.Neurobehavioral}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Neurobehavioral]}\n recommendation={report.neurobehavioralReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('neurobehavioralReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('neurobehavioralReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Neurobehavioral} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={5}>\n <Box>\n <Box>\n <span className=\"report-title\">Your Neurobehavioral Genetics</span>\n </Box>\n <Box display=\"flex\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" width=\"40%\">\n <Box width=\"70%\">\n <DnaTableComponent\n dna={report.neurobehavioralReport.neurobehavioralDna.dna}\n colorMap={riskColorMap} />\n </Box>\n </Box>\n <Box p={15}>\n <img src={img} style={{ width: '100%' }} alt=\"img\" />\n </Box>\n </Box>\n <Box>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode ? <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\">Your neurobehavioral recommendations</span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>\n : <Box mb={1}><span className=\"report-title\">Your neurobehavioral recommendations</span></Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Neurobehavioral)}\n recommendation={report.neurobehavioralReport.recommendation}\n type={RecommendationTypesNumbers.Neurobehavioral}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Neurobehavioral]}\n recommendation={report.neurobehavioralReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('neurobehavioralReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('neurobehavioralReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { ImageConstants } from '../../../../constants/image.constants';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n roadMap: {\n backgroundImage: `url(${RoutesConstants.cdnBaseLink}${ImageConstants.healthReportRoadMapPath})`,\n backgroundSize: '100%',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center center',\n width: '100%',\n height: '1100px',\n },\n leaf: {\n position: 'relative',\n width: '140px',\n height: '140px',\n borderRadius: '140px 0',\n background: colors.main,\n },\n leafContainer: {\n letterSpacing: '3.96px',\n position: 'relative',\n color: colors.white,\n height: '20px',\n width: '20px',\n fontFamily: `'Poppins', serif !important`,\n },\n grid: {\n border: `1px solid ${colors.systemBlack}`,\n height: \"100px\",\n },\n white: {\n color: colors.white,\n },\n labelWrap: {\n marginTop: \"-25px\",\n paddingBottom: \"25px\"\n },\n text: {\n fontWeight: 500,\n fontSize: '1.25rem !important',\n },\n overallScoreDescription: {\n position: 'relative',\n color: colors.white,\n fontWeight: 400,\n },\n overallScoreIndicator: {\n display: 'flex',\n width: '25px',\n height: '25px',\n borderRadius: '50%',\n position: 'relative',\n color: colors.white,\n letterSpacing: '2.2px',\n },\n AtGoal: {\n background: '#4c9000',\n },\n IncompleteData: {\n background: '#b9b9b9',\n },\n AreaOfImprovement: {\n background: '#eea429',\n },\n\n })\n);","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportMode, HealthReportSections } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/HealthReport_Pg12_Image.png\";\n\nexport const HealthReportSleep0Page: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { pageNumber, practice } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Sleep} pageNumber={pageNumber} practice={practice} firstPage>\n <Box px={2}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textRegularReport)}>Personalized Sleep Plan</span>\n </Box>\n <Box mt={1.5} fontSize=\"14px\" lineHeight=\"22px\">\n <p>\n If your sleep suffers, your performance suffers. We place such an emphasis on\n sleep because great sleep means a great mood, energy levels and mental clarity.\n </p>\n <Box my=\"10px\">\n <p className={clsx(commonClasses.tertiaryFontReport, commonClasses.textRegularReport)}>\n A couple of easy tweaks can be made and you’ll see a tremendous positive impact:\n </p>\n </Box>\n <p>\n 1) The Oura ring offers a closer look at the architecture of your sleep. To utilize this data with your Health Coach, set up a coaching call and plan to screen share your data. Prior to the meeting, login to your account by going to: <a id=\"oura-link\" target=\"_black\" href=\"https://cloud.ouraring.com/user/sign-in?next=%2F\">https://cloud.ouraring.com/user/sign-in?next=%2F</a>\n </p>\n <p>\n 2) The foundation of good sleep is proper sleep hygiene. This includes reducing exposure to\n blue light after dark, think LED lights, screens and devices. When exposure to blue light is\n unavoidable we recommend using blue light blocking glasses. Reduced exposure to blue light\n after dark supports natural melatonin production and parasympathetic nervous system activation.\n </p>\n <p>\n 3) In our opinion these are the two best books that provide evidence based insight into why\n sleep is so important and how to improve yours! By the way, reading before bed is a great way\n to reduce screen time and blue light exposure.\n </p>\n <p>-The Power of When</p>\n <p>-Why We Sleep by Matthew Walker</p>\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg12ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Sleep} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={5}>\n <Box>\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeBigReport, commonClasses.textMediumReport)}>Personalized Sleep Plan</span>\n </Box>\n <Box mt={1}>\n <p>\n If your sleep suffers, your performance suffers. We place such an emphasis on\n sleep because great sleep means a great mood, energy levels and mental clarity.\n </p>\n <p className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport, commonClasses.textMediumReport)}>\n A couple of easy tweaks can be made and you’ll see a tremendous positive impact:\n </p>\n <p>\n 1) The Oura ring offers a closer look at the architecture of your sleep. To utilize this data with your Health Coach, set up a coaching call and plan to screen share your data. Prior to the meeting, login to your account by going to: <a id=\"oura-link\" target=\"_black\" href=\"https://cloud.ouraring.com/user/sign-in?next=%2F\">https://cloud.ouraring.com/user/sign-in?next=%2F</a>\n </p>\n <p>\n 2) The foundation of good sleep is proper sleep hygiene. This includes reducing exposure to\n blue light after dark, think LED lights, screens and devices. When exposure to blue light is\n unavoidable we recommend using blue light blocking glasses. Reduced exposure to blue light\n after dark supports natural melatonin production and parasympathetic nervous system activation.\n </p>\n <p>\n 3) In our opinion these are the two best books that provide evidence based insight into why\n sleep is so important and how to improve yours! By the way, reading before bed is a great way\n to reduce screen time and blue light exposure.\n </p>\n <p>-The Power of When</p>\n <p>-Why We Sleep by Matthew Walker</p>\n </Box>\n <Box mt={10}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg12ImagePath} style={{ width: '100%' }} alt=\"img\" />\n }\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import img from \"@img/HealthReport_Pg13_Image1.png\";\nimport imgGraph from \"@img/HealthReport_Pg13_graph.png\";\nimport { Box, Grid, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { DnaTableComponent } from \"../components/dnaTableComponent/DnaTableComponent\";\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport { riskColorMap } from \"../constants/healthReport.constants\";\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity, RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport { WildHealthButton } from \"../../common/components/wildHealthButton/WildHealthButton\";\nimport { RecommendationSingleSelectComponent } from \"../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent\";\n\nexport const HealthReportSleepPage: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n handleChanges,\n handleSaveChanges,\n isChanged,\n mode,\n pageNumber,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Sleep} pageNumber={pageNumber} practice={practice}>\n <Box px={2}>\n <Box>\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg13ImagePath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n <Box mt=\"30px\">\n <Box>\n <span className={classes.reportTitle}>Your Circadian Genetics</span>\n </Box>\n <Box mt=\"10px\">\n <DnaTableComponent\n dna={report.sleepReport.circadianDna.dna}\n colorMap={riskColorMap} />\n </Box>\n <Box mt=\"30px\">\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg13GraphPath} style={{ width: '100%', height: 'auto' }} alt=\"img\" />\n </Box>\n <Box mt=\"30px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode && <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\"></span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Sleep)}\n recommendation={report.sleepReport.recommendation}\n type={RecommendationTypesNumbers.Sleep}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Sleep]}\n recommendation={report.sleepReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('sleepReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('sleepReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Sleep} pageNumber={pageNumber} practice={practice}>\n <Box>\n <Box>\n <Box pr={15} pl={15} pt={10} pb={5} className=\"grey-background\">\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg13ImagePath} style={{ width: '100%' }} alt=\"img\" />\n }\n </Box>\n </Box>\n <Box pr={15} pl={15} pt={5}>\n <Box>\n <span className=\"report-title\">Your Circadian Genetics</span>\n </Box>\n <Box>\n <Grid container>\n <Grid item xs={4}>\n <Box width=\"40%\" height=\"100%\" display=\"flex\" alignItems=\"center\">\n <DnaTableComponent\n dna={report.sleepReport.circadianDna.dna}\n colorMap={riskColorMap} />\n </Box>\n </Grid>\n <Grid item xs={8}>\n <Box pt={3} pb={3}>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={imgGraph} style={{ width: '90%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.healthReportPg13GraphPath} style={{ width: '90%' }} alt=\"img\" />\n }\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Box mt={5}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n {HealthReportMode.EditMode === mode\n ? <Box display=\"flex\" justifyContent=\"space-between\" mb={1}>\n <span className=\"report-title\">Your sleep recommendations</span>\n <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n </Box>\n : <Box mb={1}><span className=\"report-title\">Your sleep recommendations</span></Box>}\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Sleep)}\n recommendation={report.sleepReport.recommendation}\n type={RecommendationTypesNumbers.Sleep}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Sleep]}\n recommendation={report.sleepReport.recommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('sleepReport.recommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('sleepReport.recommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport moment from \"moment\";\nimport React from 'react';\nimport { logoService } from \"../../../services/logo.service\";\nimport { HealthReportMode, HealthReportStatus } from \"../models/healthReport.models\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { authQuery } from \"../../auth/stores/auth\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport clsx from \"clsx\";\nimport { toCurrentTimeZone } from \"../../timezones/helpers/timezone\";\nimport { colors } from \"../../common/constants/colors\";\nimport { RoutesConstants } from '../../../constants/route.constants';\nimport { ImageConstants } from '../../../constants/image.constants';\nimport img from \"@img/WH_Cover_Image.jpg\";\n\nexport const HealthReportStartPage: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const { report } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const displayDate = () => {\n return report.status.status === HealthReportStatus.Preparing ? \"\" : moment(toCurrentTimeZone(report.status.date)).format(\"MMMM DD, yyyy\");\n }\n\n const displayTime = () => {\n return moment(toCurrentTimeZone(report.status.date)).format(\"h:mm a\");\n }\n\n const displayName = () => {\n return `${report.owner.firstName} ${report.owner.lastName}`;\n }\n\n const displayReviewerName = () => {\n return `${report.reviewer.firstName} ${report.reviewer.lastName}`;\n }\n\n const displayReportInfo = () => {\n if (!!report.reviewer && report.status.status === HealthReportStatus.Submitted) {\n return <Box display=\"flex\">\n <Box width=\"70%\"></Box>\n <Box borderLeft='4px solid' borderColor={colors.main}>\n <Box pl={2} className=\"text-medium\" color={colors.main}>{displayReviewerName()}</Box>\n <Box pl={2} color={colors.gray1}>{displayDate()}</Box>\n <Box pl={2} color={colors.gray1}>{displayTime()}</Box>\n </Box>\n </Box>\n }\n return <></>\n }\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <div className=\"flat-scroll\">\n {!authQuery.isLicensingPractice() &&\n <Box height=\"71px\">\n <Box display=\"flex\" height={'100%'} justifyContent=\"center\" alignItems=\"center\"\n className=\"report-header\">\n <Box className=\"mobile-logo\">\n <img src={logoService.getLogo().healthReport} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n }\n <Box display='flex' flexDirection=\"column\" justifyContent=\"space-between\">\n <Box>\n <Box>\n <img src={RoutesConstants.cdnBaseLink + ImageConstants.whCoverImagePath} style={{ width: '100%' }} alt=\"img\" />\n </Box>\n <Box mt={4} mb={6}>\n <Box width={1} textAlign=\"center\">\n <span className=\"text-medium\"\n style={{ color: '#1F5463', fontSize: '18px' }}> PERSONALIZED HEALTH REPORT </span>\n </Box>\n <Box mt={4} textAlign=\"center\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport)}> Created Exclusively For </span>\n </Box>\n <Box mt={1.2} textAlign=\"center\">\n <span className=\"text-medium size-1_25\">{displayName()}</span>\n </Box>\n <Box mt={1.2} textAlign=\"center\">\n <span className=\"text-medium size-1_25\">{displayDate()}</span>\n </Box>\n </Box>\n </Box>\n {displayReportInfo()}\n </Box>\n </div>\n ) : (\n <div className=\"page-a4 flat-scroll\">\n {!authQuery.isLicensingPractice() &&\n <Box height=\"11%\">\n <Box display=\"flex\" height={'100%'} justifyContent=\"center\" alignItems=\"center\"\n className=\"report-header\">\n <Box className=\"logo\">\n <img src={logoService.getLogo().healthReport} alt=\"img\" />\n </Box>\n </Box>\n </Box>\n }\n <Box height={authQuery.isLicensingPractice() ? \"97%\" : \"86%\"} display='flex' flexDirection=\"column\" justifyContent=\"space-between\">\n <Box>\n <Box>\n {\n props.mode === HealthReportMode.PrintMode\n ? <img src={img} style={{ width: '100%' }} alt=\"img\" />\n : <img src={RoutesConstants.cdnBaseLink + ImageConstants.whCoverImagePath} style={{ width: '100%' }} alt=\"img\" />\n }\n </Box>\n <Box height=\"300px\" mt={7}>\n <Box width={1} textAlign=\"center\">\n <span className=\"size-1_5 text-light-medium\"\n style={{ color: '#1f5463', fontSize: '39px', letterSpacing: '6.45px' }}> PERSONALIZED HEALTH REPORT </span>\n </Box>\n <Box mt={9} textAlign=\"center\">\n <span className={clsx(commonClasses.tertiaryFontReport, commonClasses.sizeMediumReport)}> Created Exclusively For </span>\n </Box>\n <Box mt={1.2} textAlign=\"center\">\n <span className=\"text-medium size-1_25\">{displayName()}</span>\n </Box>\n <Box mt={1.2} textAlign=\"center\">\n <span className=\"text-medium size-1_25\">{displayDate()}</span>\n </Box>\n </Box>\n </Box>\n {displayReportInfo()}\n </Box>\n <Box height=\"3%\"> </Box>\n </div>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport { HealthRecommendationComponent } from \"../components/healthRecommendationComponent/HealthRecommendationComponent\";\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\nimport {\n HealthReportMode,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity, RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\n\nexport const HealthReportSupplementsPage: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n report,\n handleChanges,\n handleSaveChanges,\n pageNumber,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice} firstPage>\n <Box px={2}>\n <Box>\n <Box>\n <span className={classes.reportTitle}>Recommended Supplements</span>\n <Box display=\"flex\" justifyContent=\"flex-end\" width={1}>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n </Box>\n\n <Box mt=\"10px\">\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Supplements)}\n recommendation={report.overallReport.supplementsRecommendation}\n type={RecommendationTypesNumbers.Supplements}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Supplements]}\n recommendation={report.overallReport.supplementsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('overallReport.supplementsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('overallReport.supplementsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Details} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={5}>\n <Box>\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"report-title\">Recommended Supplements</span>\n {\n parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation) && HealthReportMode.EditMode === mode && <WildHealthButton\n id=\"health-recommendation-new-save\"\n onClick={() => handleSaveChangesNew()}\n disabled={!isChanged}>\n <Box >\n Save changes\n </Box>\n </WildHealthButton>\n }\n </Box>\n\n <Box mt={1}>\n {parseFloat(report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? <Box>\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Supplements)}\n recommendation={report.overallReport.supplementsRecommendation}\n type={RecommendationTypesNumbers.Supplements}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n />\n </Box>\n : <HealthRecommendationComponent\n mode={mode}\n rows={recommendationRowsCapacity[RecommendationTypesNumbers.Supplements]}\n recommendation={report.overallReport.supplementsRecommendation}\n handleContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('overallReport.supplementsRecommendation.content', value)\n }}\n handleManualContentChanges={!handleChanges ? handleChanges : (value) => {\n handleChanges('overallReport.supplementsRecommendation.manualContent', value)\n }}\n handleSaveChanges={handleSaveChanges}\n isChanged={isChanged} />\n }\n </Box>\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { HealthReportSections, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { useStyles } from './healthReport.styles';\nimport { HealthReportPageProps } from './healthReportPageProps';\n\nexport const HealthReportAppendixPage: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n practice\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Appendix} pageNumber={pageNumber} practice={practice} firstPage>\n <Box px={2}>\n <Box fontSize=\"14px\" lineHeight=\"22px\">\n <span className={classes.referenceLinkPage}>[1]</span> RL McClelland, PhD; NW Jorgensen, MS; M Budoff, MD; MJ Blaha, MD, MPH; WS Post, MD, MS; Richard A. Kronmal, PhD; DE Bild, MD, MPH; S Shea, MD, MS; K Liu, PhD; KE Watson, MD, PhD; AR Folsom, MD; A Khera, MD; C Ayers, MS; AA Mahabadi, MD; N Lehmann, PhD; K Jöckel, PhD; S Moebus, PhD; JJ Carr, MD, MS; R Erbel, MD, PhD; GL Burke, MD, MS. 10-Year Coronary Heart Disease Risk Prediction Using Coronary Artery Calcium and Traditional Risk Factors: Derivation in the MESA (Multi-Ethnic Study of Atherosclerosis) With Validation in the HNR (Heinz Nixdorf Recall) Study and the DHS (Dallas Heart Study). J Am Coll Cardiol. 2015 Oct 13;66(15):1643-53. PMID:26449133. PMCID:4603537.\n </Box>\n </Box>\n <Box px={2}>\n <Box mt=\"10px\" fontSize=\"14px\" lineHeight=\"22px\">\n <span className={classes.referenceLinkPage}>[2]</span> Mega JL, Stitziel NO, Smith JG, Chasman DI, Caulfield M, Devlin JJ, Nordio F, Hyde C, Cannon CP, Sacks F, Poulter N, Sever P, Ridker PM, Braunwald E, Melander O, Kathiresan S, Sabatine MS. Genetic risk, coronary heart disease events, and the clinical benefit of statin therapy: an analysis of primary and secondary prevention trials. Lancet. 2015 Jun 6;385(9984):2264-2271. doi: 10.1016/S0140-6736(14)61730-X. Epub 2015 Mar 4. PMID: 25748612; PMCID: PMC4608367.\n </Box>\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Appendix} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={3}>\n <Box mt={1}>\n <span className={classes.referenceLinkPage}>[1]</span> RL McClelland, PhD; NW Jorgensen, MS; M Budoff, MD; MJ Blaha, MD, MPH; WS Post, MD, MS; Richard A. Kronmal, PhD; DE Bild, MD, MPH; S Shea, MD, MS; K Liu, PhD; KE Watson, MD, PhD; AR Folsom, MD; A Khera, MD; C Ayers, MS; AA Mahabadi, MD; N Lehmann, PhD; K Jöckel, PhD; S Moebus, PhD; JJ Carr, MD, MS; R Erbel, MD, PhD; GL Burke, MD, MS. 10-Year Coronary Heart Disease Risk Prediction Using Coronary Artery Calcium and Traditional Risk Factors: Derivation in the MESA (Multi-Ethnic Study of Atherosclerosis) With Validation in the HNR (Heinz Nixdorf Recall) Study and the DHS (Dallas Heart Study). J Am Coll Cardiol. 2015 Oct 13;66(15):1643-53. PMID:26449133. PMCID:4603537.\n </Box>\n </Box>\n <Box px={15} pt={3}>\n <Box mt={1}>\n <span className={classes.referenceLinkPage}>[2]</span> Mega JL, Stitziel NO, Smith JG, Chasman DI, Caulfield M, Devlin JJ, Nordio F, Hyde C, Cannon CP, Sacks F, Poulter N, Sever P, Ridker PM, Braunwald E, Melander O, Kathiresan S, Sabatine MS. Genetic risk, coronary heart disease events, and the clinical benefit of statin therapy: an analysis of primary and secondary prevention trials. Lancet. 2015 Jun 6;385(9984):2264-2271. doi: 10.1016/S0140-6736(14)61730-X. Epub 2015 Mar 4. PMID: 25748612; PMCID: PMC4608367.\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n )\n}\n","import React from 'react';\nimport '../healthRecommendationComponent/HealthRecommendationComponent.scss';\nimport {Box} from '@material-ui/core';\nimport {WildHealthPlaceHolder} from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport {sanitizeRecommendationContent} from \"../../helpers/sanitizeRecommendationContent\";\n\ninterface HealthRecommendationTextComponentProps {\n text: string;\n rows: number;\n}\n\nexport const HealthRecommendationTextComponent: React.FC<HealthRecommendationTextComponentProps> = (props: HealthRecommendationTextComponentProps) => {\n const {\n text,\n rows\n } = props;\n\n const renderPlaceholder = () => {\n return <WildHealthPlaceHolder height={`${rows * 30}px`} message={\"No recommendations provided\"}/>\n }\n\n const renderPrintableRecommendation = () => {\n if (!text || !text.length) {\n return renderPlaceholder();\n }\n\n return (\n <div className=\"recommendation printable\" style={{height: `${rows * 30}px`}}>\n {sanitizeRecommendationContent(text) ?? ''}\n </div>\n )\n }\n\n return (\n <>\n <Box className=\"recommendation-wrapper\">\n {renderPrintableRecommendation()}\n </Box>\n </>\n )\n}\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { PracticeProfileModel } from '../../account/models/practiceProfile.model';\nimport { HealthRecommendationTextComponent } from \"../components/healthRecommendationTestComponent/HealthRecommendationTextComponent\";\nimport {\n HealthReportSections,\n recommendationRowsCapacity,\n RecommendationTypes\n} from \"../models/healthReport.models\";\nimport { HealthReportBasePage } from \"./HealthReportBasePage\";\n\nexport interface HealthReportRecommendationPageProps {\n section: HealthReportSections;\n pageNumber: number;\n title: string;\n recommendation: string;\n practice: PracticeProfileModel;\n}\n\nexport const HealthReportRecommendationPage: React.FC<HealthReportRecommendationPageProps> = (props: HealthReportRecommendationPageProps) => {\n const {\n section,\n pageNumber,\n title,\n recommendation,\n practice\n } = props;\n\n return (\n <HealthReportBasePage section={section} pageNumber={pageNumber} practice={practice}>\n <Box px={15} pt={5}>\n <Box>\n <span className=\"report-title\">{title}</span>\n </Box>\n <Box mt={1}>\n <HealthRecommendationTextComponent\n rows={recommendationRowsCapacity[RecommendationTypes.Extra]}\n text={recommendation} />\n </Box>\n </Box>\n </HealthReportBasePage>\n )\n}\n","import ReactDOM from \"react-dom\";\nimport React from \"react\";\nimport {\n getFullRecommendationContent,\n getFullRecommendationContentNew,\n HealthReportMode,\n HealthReportModel,\n HealthReportPages,\n HealthReportSections,\n HealthReportVersion,\n recommendationRowsCapacity,\n RecommendationTypesNumbers\n} from \"../models/healthReport.models\";\nimport {\n HealthReportAppendixPage,\n HealthReportChronicDisease0Page,\n HealthReportChronicDisease1Page,\n HealthReportChronicDisease2Page,\n HealthReportChronicDisease3Page,\n HealthReportChronicDisease4Page,\n HealthReportChronicDisease5Page,\n HealthReportDetails1Page,\n HealthReportDetails2Page,\n HealthReportDetails3Page,\n HealthReportDetails4Page,\n HealthReportDetails5Page,\n HealthReportDietAndNutrition0Page,\n HealthReportDietAndNutrition1Page,\n HealthReportDietAndNutrition2Page,\n HealthReportDietAndNutrition3Page,\n HealthReportDietAndNutrition4Page,\n HealthReportDietAndNutrition5Page,\n HealthReportDietAndNutrition6Page,\n HealthReportExerciseAndRecovery0Page,\n HealthReportExerciseAndRecovery1Page,\n HealthReportExerciseAndRecovery2Page,\n HealthReportExerciseAndRecovery3Page,\n HealthReportExerciseAndRecovery4Page,\n HealthReportExerciseAndRecovery5Page,\n HealthReportExerciseAndRecovery6Page,\n HealthReportExerciseAndRecovery7Page,\n HealthReportLongevity0Page,\n HealthReportLongevity1Page,\n HealthReportLongevity2Page,\n HealthReportMicrobiome0Page,\n HealthReportMicrobiome1Page,\n HealthReportMicrobiome2Page,\n HealthReportNeurobehavioral0Page,\n HealthReportNeurobehavioralPage,\n HealthReportSleep0Page,\n HealthReportSleepPage,\n HealthReportStartPage,\n HealthReportSupplementsPage\n} from \"../a4Pages\";\nimport { HealthReportPageProps } from \"../a4Pages/healthReportPageProps\";\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\nimport {\n HealthReportRecommendationPage,\n HealthReportRecommendationPageProps\n} from \"../a4Pages/HealthReportRecommendationPage\";\nimport { getNumericKeys } from \"../../common/helpers/enum-mapper\";\nimport moment from \"moment\";\nimport { toCurrentTimeZone } from \"../../timezones/helpers/timezone\";\nimport { PracticeProfileModel } from \"../../account/models/practiceProfile.model\";\n\nconst calculatePartSize = (part: string, maxRows: number, maxLine: number) => {\n const paragraphs = part.split('\\n');\n let partSize = 0;\n for (const paragraph of paragraphs) {\n if (!paragraph.length) {\n partSize += 1;\n continue;\n }\n\n partSize += Math.ceil(paragraph.length / maxLine);\n }\n\n return partSize;\n}\n\nconst isOverflow = (recommendation: string, rowsMax: number, lineMax: number): boolean => {\n if (!recommendation || !recommendation.length) return false;\n const paragraphs = recommendation.split('\\n');\n let rowsCount = 0;\n\n for (const paragraph of paragraphs) {\n const linesCount = paragraph.length > 0 ? paragraph.length / lineMax : 1;\n rowsCount += Math.ceil(linesCount);\n }\n\n return rowsCount > rowsMax;\n}\n\nconst splitOnParts = (recommendation: string, mainPageMaxRows: number, mainPageMaxLine: number, extraPageMaxRows: number, extraPageMaxLine: number): string[] => {\n let parts: string[] = [];\n const paragraphs = recommendation.split('\\n');\n let part = '';\n let partSize = 0;\n let maxRows = mainPageMaxRows;\n let maxLine = mainPageMaxLine;\n for (const paragraph of paragraphs) {\n if (!paragraph.length) {\n part += '\\n';\n partSize += 1;\n continue;\n }\n\n const linesCount = Math.ceil(paragraph.length / maxLine);\n if (partSize + linesCount + 3 >= maxRows) {\n const paragraphBuffer = part.split('\\n\\n');\n const paragraphLastPart = paragraphBuffer.pop();\n\n parts.push(paragraphBuffer.join('\\n\\n').concat('\\n'));\n part = paragraphLastPart;\n partSize = calculatePartSize(paragraphLastPart, maxRows, maxLine);\n maxRows = extraPageMaxRows;\n maxLine = extraPageMaxLine;\n }\n\n part += `${paragraph}\\n`;\n partSize += linesCount;\n }\n\n if (part.length) {\n parts.push(part);\n }\n\n return parts;\n}\n\nconst breakDietAndNutrition2Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportDietAndNutrition2Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Macronutrient)\n : getFullRecommendationContent(props.report.dietAndNutritionReport.macronutrientRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Macronutrient], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Macronutrient],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.dietAndNutritionReport.macronutrientRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.DietAndNutrition,\n pageNumber: props.pageNumber,\n title: \"YOUR MACRONUTRIENT RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.dietAndNutritionReport.macronutrientRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakDietAndNutrition4Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportDietAndNutrition4Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Methylation)\n : getFullRecommendationContent(props.report.dietAndNutritionReport.methylationRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Methylation], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Methylation],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.dietAndNutritionReport.methylationRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.DietAndNutrition,\n pageNumber: props.pageNumber,\n title: \"YOUR METHYLATION RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.dietAndNutritionReport.methylationRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakDietAndNutrition5Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportDietAndNutrition5Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.VitaminsAndMicronutrients)\n : getFullRecommendationContent(props.report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.VitaminsAndMicronutrients], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.VitaminsAndMicronutrients],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.DietAndNutrition,\n pageNumber: props.pageNumber,\n title: \"YOUR VITAMINS AND MICRONUTRIENTS RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.dietAndNutritionReport.vitaminsAndMicronutrientsRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakDietAndNutrition6Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportDietAndNutrition6Page];\n {\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.CompleteDiet)\n : getFullRecommendationContent(props.report.dietAndNutritionReport.completeDietRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.CompleteDiet], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.CompleteDiet],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.dietAndNutritionReport.completeDietRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.DietAndNutrition,\n pageNumber: props.pageNumber,\n title: \"YOUR COMPLETE DIET RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.dietAndNutritionReport.completeDietRecommendation.printableContent = fullRecommendation;\n }\n }\n {\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.SuperFoods)\n : getFullRecommendationContent(props.report.dietAndNutritionReport.superFoodsRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.SuperFoods], 40)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.SuperFoods],\n 40,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.dietAndNutritionReport.superFoodsRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.DietAndNutrition,\n pageNumber: props.pageNumber,\n title: \"YOUR SUPER FOODS RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.dietAndNutritionReport.superFoodsRecommendation.printableContent = fullRecommendation;\n }\n }\n {\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.KryptoniteFoods)\n : getFullRecommendationContent(props.report.dietAndNutritionReport.kryptoniteFoodsRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.KryptoniteFoods], 40)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.KryptoniteFoods],\n 40,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.dietAndNutritionReport.kryptoniteFoodsRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.DietAndNutrition,\n pageNumber: props.pageNumber,\n title: \"YOUR KRYPTONITE RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.dietAndNutritionReport.kryptoniteFoodsRecommendation.printableContent = fullRecommendation;\n }\n }\n\n return pages;\n}\n\nconst breakExerciseAndRecoveryPages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportExerciseAndRecovery2Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.ExerciseAndRecovery)\n : getFullRecommendationContent(props.report.exerciseAndRecoveryReport.recommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.ExerciseAndRecovery], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.ExerciseAndRecovery],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.exerciseAndRecoveryReport.recommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.ExerciseAndRecovery,\n pageNumber: props.pageNumber,\n title: \"YOUR Exercise And Recovery RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.exerciseAndRecoveryReport.recommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakSleepPages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportSleepPage];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Sleep)\n : getFullRecommendationContent(props.report.sleepReport.recommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Sleep], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Sleep],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.sleepReport.recommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.Sleep,\n pageNumber: props.pageNumber,\n title: \"YOUR SLEEP RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.sleepReport.recommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakNeurobehavioralPages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportNeurobehavioralPage];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Neurobehavioral)\n : getFullRecommendationContent(props.report.neurobehavioralReport.recommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Neurobehavioral], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Neurobehavioral],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.neurobehavioralReport.recommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.Neurobehavioral,\n pageNumber: props.pageNumber,\n title: \"YOUR Neurobehavioral RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.neurobehavioralReport.recommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakMicrobiomePages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportMicrobiome2Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Microbiome)\n : getFullRecommendationContent(props.report.microbiomeReport.recommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Microbiome], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Microbiome],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.microbiomeReport.recommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.Microbiome,\n pageNumber: props.pageNumber,\n title: \"YOUR MICROBIOME RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.microbiomeReport.recommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakChronicDisease2Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportChronicDisease2Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Cardiovascular)\n : getFullRecommendationContent(props.report.longevityReport.cardiovascularRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Cardiovascular], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Cardiovascular],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.longevityReport.cardiovascularRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.ChronicDisease,\n pageNumber: props.pageNumber,\n title: \"YOUR CARDIOVASCULAR DISEASE RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.longevityReport.cardiovascularRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakChronicDisease3Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportChronicDisease3Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Dementia)\n : getFullRecommendationContent(props.report.longevityReport.dementiaRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Dementia], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Dementia],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.longevityReport.dementiaRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.ChronicDisease,\n pageNumber: props.pageNumber,\n title: \"YOUR DEMENTIA DISEASE RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.longevityReport.dementiaRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakChronicDisease4Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportChronicDisease4Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.InsulinResistance)\n : getFullRecommendationContent(props.report.longevityReport.insulinResistanceRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.InsulinResistance], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.InsulinResistance],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.longevityReport.insulinResistanceRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.ChronicDisease,\n pageNumber: props.pageNumber,\n title: \"YOUR INSULIN Resistance RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.longevityReport.insulinResistanceRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakChronicDisease5Pages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportChronicDisease5Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Inflammation)\n : getFullRecommendationContent(props.report.longevityReport.inflammationRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Inflammation], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Inflammation],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.longevityReport.inflammationRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.ChronicDisease,\n pageNumber: props.pageNumber,\n title: \"YOUR Inflammation RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.longevityReport.inflammationRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakLongevityPages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportLongevity2Page];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Longevity)\n : getFullRecommendationContent(props.report.longevityReport.recommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Longevity], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Longevity],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.longevityReport.recommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.Longevity,\n pageNumber: props.pageNumber,\n title: \"YOUR LONGEVITY LIFESTYLE RECOMMENDATIONS\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.longevityReport.recommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\nconst breakSupplementsPages = (props: HealthReportPageProps): Function[] => {\n const pages: Function[] = [HealthReportSupplementsPage];\n const fullRecommendation = parseFloat(props.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)\n ? getFullRecommendationContentNew(props.recommendations, RecommendationTypesNumbers.Supplements)\n : getFullRecommendationContent(props.report.overallReport.supplementsRecommendation);\n\n if (isOverflow(fullRecommendation, recommendationRowsCapacity[RecommendationTypesNumbers.Supplements], 107)) {\n const recommendationParts = splitOnParts(\n fullRecommendation,\n recommendationRowsCapacity[RecommendationTypesNumbers.Supplements],\n 107,\n recommendationRowsCapacity[RecommendationTypesNumbers.Extra],\n 107);\n\n props.report.overallReport.supplementsRecommendation.printableContent = recommendationParts.shift();\n\n for (const recommendationPart of recommendationParts) {\n const recommendationPageProps: HealthReportRecommendationPageProps = {\n section: HealthReportSections.Details,\n pageNumber: props.pageNumber,\n title: \"RECOMMENDED SUPPLEMENTS SUMMARY\",\n recommendation: recommendationPart,\n practice: props.practice\n }\n\n const extraPage = (): [Function, HealthReportRecommendationPageProps] => {\n return [HealthReportRecommendationPage, recommendationPageProps];\n }\n\n pages.push(extraPage);\n }\n } else {\n props.report.overallReport.supplementsRecommendation.printableContent = fullRecommendation;\n }\n\n return pages;\n}\n\n/**\n * Provides method for working with health report\n */\nexport class HealthReportPdfServices {\n private _snapshotFormat: string = \"JPEG\";\n private _pages: { [type: number]: Function } = {\n [HealthReportPages.StartPage]: HealthReportStartPage,\n [HealthReportPages.DietAndNutrition0]: HealthReportDietAndNutrition0Page,\n [HealthReportPages.DietAndNutrition1]: HealthReportDietAndNutrition1Page,\n [HealthReportPages.DietAndNutrition2]: HealthReportDietAndNutrition2Page,\n [HealthReportPages.DietAndNutrition3]: HealthReportDietAndNutrition3Page,\n [HealthReportPages.DietAndNutrition4]: HealthReportDietAndNutrition4Page,\n [HealthReportPages.DietAndNutrition5]: HealthReportDietAndNutrition5Page,\n [HealthReportPages.DietAndNutrition6]: HealthReportDietAndNutrition6Page,\n [HealthReportPages.ExerciseAndRecovery0]: HealthReportExerciseAndRecovery0Page,\n [HealthReportPages.ExerciseAndRecovery1]: HealthReportExerciseAndRecovery1Page,\n [HealthReportPages.ExerciseAndRecovery2]: HealthReportExerciseAndRecovery2Page,\n [HealthReportPages.ExerciseAndRecovery3]: HealthReportExerciseAndRecovery3Page,\n [HealthReportPages.ExerciseAndRecovery4]: HealthReportExerciseAndRecovery4Page,\n [HealthReportPages.ExerciseAndRecovery5]: HealthReportExerciseAndRecovery5Page,\n [HealthReportPages.ExerciseAndRecovery6]: HealthReportExerciseAndRecovery6Page,\n [HealthReportPages.ExerciseAndRecovery7]: HealthReportExerciseAndRecovery7Page,\n [HealthReportPages.Sleep0]: HealthReportSleep0Page,\n [HealthReportPages.Sleep1]: HealthReportSleepPage,\n [HealthReportPages.Neurobehavioral0]: HealthReportNeurobehavioral0Page,\n [HealthReportPages.Neurobehavioral1]: HealthReportNeurobehavioralPage,\n [HealthReportPages.Microbiome0]: HealthReportMicrobiome0Page,\n [HealthReportPages.Microbiome1]: HealthReportMicrobiome1Page,\n [HealthReportPages.Microbiome2]: HealthReportMicrobiome2Page,\n [HealthReportPages.ChronicDisease0]: HealthReportChronicDisease0Page,\n [HealthReportPages.ChronicDisease1]: HealthReportChronicDisease1Page,\n [HealthReportPages.ChronicDisease2]: HealthReportChronicDisease2Page,\n [HealthReportPages.ChronicDisease3]: HealthReportChronicDisease3Page,\n [HealthReportPages.ChronicDisease4]: HealthReportChronicDisease4Page,\n [HealthReportPages.ChronicDisease5]: HealthReportChronicDisease5Page,\n [HealthReportPages.Longevity0]: HealthReportLongevity0Page,\n [HealthReportPages.Longevity1]: HealthReportLongevity1Page,\n [HealthReportPages.Longevity2]: HealthReportLongevity2Page,\n [HealthReportPages.Supplements]: HealthReportSupplementsPage,\n [HealthReportPages.Details1]: HealthReportDetails1Page,\n [HealthReportPages.Appendix]: HealthReportAppendixPage,\n [HealthReportPages.Details2]: HealthReportDetails2Page,\n [HealthReportPages.Details3]: HealthReportDetails3Page,\n [HealthReportPages.Details4]: HealthReportDetails4Page,\n [HealthReportPages.Details5]: HealthReportDetails5Page,\n [HealthReportPages.Recommendations]: HealthReportRecommendationPage,\n };\n\n private breakablePages: { [page: number]: Function } = {\n [HealthReportPages.DietAndNutrition2]: breakDietAndNutrition2Pages,\n [HealthReportPages.DietAndNutrition4]: breakDietAndNutrition4Pages,\n [HealthReportPages.DietAndNutrition5]: breakDietAndNutrition5Pages,\n [HealthReportPages.DietAndNutrition6]: breakDietAndNutrition6Pages,\n [HealthReportPages.ExerciseAndRecovery2]: breakExerciseAndRecoveryPages,\n [HealthReportPages.Sleep1]: breakSleepPages,\n [HealthReportPages.Neurobehavioral1]: breakNeurobehavioralPages,\n [HealthReportPages.Microbiome2]: breakMicrobiomePages,\n [HealthReportPages.ChronicDisease2]: breakChronicDisease2Pages,\n [HealthReportPages.ChronicDisease3]: breakChronicDisease3Pages,\n [HealthReportPages.ChronicDisease4]: breakChronicDisease4Pages,\n [HealthReportPages.ChronicDisease5]: breakChronicDisease5Pages,\n [HealthReportPages.Longevity2]: breakLongevityPages,\n [HealthReportPages.Supplements]: breakSupplementsPages,\n }\n\n private _ignorePages: Map<number, HealthReportPages[]> = new Map<number, HealthReportPages[]>([\n [\n parseFloat(HealthReportVersion.OldVersion), [\n HealthReportPages.Supplements,\n HealthReportPages.Recommendations\n ]\n ],\n [\n parseFloat(HealthReportVersion.New), [\n HealthReportPages.ExerciseAndRecovery3,\n HealthReportPages.ExerciseAndRecovery4,\n HealthReportPages.ExerciseAndRecovery5,\n HealthReportPages.ExerciseAndRecovery6,\n HealthReportPages.Supplements,\n HealthReportPages.Recommendations,\n ]\n ],\n [\n parseFloat(HealthReportVersion.SetRecommendation), [\n HealthReportPages.ExerciseAndRecovery3,\n HealthReportPages.ExerciseAndRecovery4,\n HealthReportPages.ExerciseAndRecovery5,\n HealthReportPages.ExerciseAndRecovery6,\n HealthReportPages.Supplements,\n HealthReportPages.Recommendations]\n ]\n ]);\n\n public async generate(report: HealthReportModel, date: Date, practice: PracticeProfileModel) {\n const rootContainer = HealthReportPdfServices._createRootContainer();\n const mainPageProps: HealthReportPageProps = {\n report: JSON.parse(JSON.stringify(report)),\n recommendations: report.recommendations,\n pageNumber: 0,\n mode: HealthReportMode.PrintMode,\n handleChanges: null,\n practice: practice\n };\n\n const pdf = new jsPDF(\"p\", \"mm\", \"letter\");\n\n const pageTypes = getNumericKeys(HealthReportPages).filter(x => !this._ignorePages.get(parseFloat(report.status.version))?.includes(x));\n\n for (const pageType of pageTypes) {\n if (pageType !== HealthReportPages.StartPage) {\n pdf.addPage(\"letter\");\n }\n\n const breakablePage = this.breakablePages[pageType];\n if (!breakablePage) {\n await this._generatePage(pdf, this._pages[pageType], mainPageProps, rootContainer);\n } else {\n const pages = breakablePage(mainPageProps);\n await this._generatePage(pdf, pages.shift(), mainPageProps, rootContainer);\n\n if (pages.length) {\n for (const pageFunction of pages) {\n const [page, extraPageProps] = pageFunction();\n pdf.addPage(\"letter\");\n await this._generateExtraPage(pdf, page, mainPageProps, extraPageProps, rootContainer)\n }\n }\n }\n }\n\n pdf.save(`WH_PersonalizedHealthReport_${report.owner.firstName}_${report.owner.lastName}_${moment(toCurrentTimeZone(date)).format(\"YYYYMMDD\")}.pdf`);\n\n HealthReportPdfServices._dispose(rootContainer);\n }\n\n private async _generatePage(pdf: jsPDF, page: Function, props: HealthReportPageProps, container: HTMLElement) {\n const snapshot = await this._getSnapshot<HealthReportPageProps>(page, props, container);\n const [width, height] = HealthReportPdfServices._getSize(snapshot, pdf);\n await pdf.addImage(HealthReportPdfServices._toImage(snapshot), this._snapshotFormat, 0, 0, width, height);\n props.pageNumber += 1;\n }\n\n private async _generateExtraPage(pdf: jsPDF, page: Function, mainPageProps: HealthReportPageProps, extraPageProps: HealthReportRecommendationPageProps, container: HTMLElement) {\n extraPageProps.pageNumber = mainPageProps.pageNumber;\n const snapshot = await this._getSnapshot<HealthReportRecommendationPageProps>(page, extraPageProps, container);\n const [width, height] = HealthReportPdfServices._getSize(snapshot, pdf);\n await pdf.addImage(HealthReportPdfServices._toImage(snapshot), this._snapshotFormat, 0, 0, width, height);\n mainPageProps.pageNumber += 1;\n }\n\n private async _getSnapshot<TProps>(page: Function, props: TProps, rootContainer: HTMLElement): Promise<HTMLCanvasElement> {\n const element = await this._renderPage(page, props, rootContainer);\n return await html2canvas(element);\n }\n\n private static _toImage(snapshot: HTMLCanvasElement): string {\n return snapshot.toDataURL(\"image/jpeg\", 0.5);\n }\n\n private static _getSize(snapshot: HTMLCanvasElement, pdf: any): [number, number] {\n const pageWidth = pdf.internal.pageSize.getWidth();\n const pageHeight = pdf.internal.pageSize.getHeight();\n const imageWidth = snapshot.width;\n const imageHeight = snapshot.height;\n const ratio = imageWidth / imageHeight >= pageWidth / pageHeight ? pageWidth / imageWidth : pageHeight / imageHeight;\n\n return [imageWidth * ratio, imageHeight * ratio];\n }\n\n private async _renderPage<TProps>(page: Function, props: TProps, rootContainer: HTMLElement): Promise<HTMLElement> {\n return new Promise(function (resolve) {\n // @ts-ignore\n const element = React.createElement(page, props);\n //const container = document.createElement(\"div\");\n ReactDOM.render(element, rootContainer.children[0]);\n //rootContainer.appendChild(container);\n setTimeout(() => {\n // @ts-ignore\n resolve(rootContainer.children[0]);\n }, 1)\n })\n }\n\n private static _dispose(page: HTMLElement): void {\n page.parentNode.removeChild(page);\n }\n\n private static _createRootContainer(): HTMLElement {\n const container = document.createElement(\"div\");\n\n container.style.position = \"absolute\";\n container.style.top = \"-16384px\";\n container.style.left = \"500px\";\n container.style.background = \"#FFFFFF\";\n\n container.appendChild(document.createElement(\"div\"));\n\n document.getElementsByTagName('BODY')[0].append(container);\n\n return container;\n }\n}\n\nexport const healthReportPdfServices = new HealthReportPdfServices();","import Axios from \"axios-observable\";\nimport {authHeader} from \"../../common/helpers/auth-header\";\nimport {healthReportsStore, HealthReportsStore} from \"../stores/healthReportsStore/healthReports.store\"\nimport {snackService} from \"../../common/snack/state\";\nimport {Observable} from \"rxjs\";\nimport { HealthReportModel } from \"../models/healthReport.models\";\n\nexport class PatientHealthReportServices {\n private url = `${process.env.REACT_APP_API_URL}PatientHealthReport`;\n\n constructor(private healthReportsStore: HealthReportsStore) {\n }\n\n /**\n * Returns patient report\n */\n public getLast(): Observable<HealthReportModel>{\n return new Observable(observer => {\n Axios.get(`${this.url}/latest`, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.next(error);\n observer.error();\n }\n );\n });\n }\n\n public getById(reportId: number): void {\n Axios.get(`${this.url}/${reportId}`, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getAll(): void {\n Axios.get(this.url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({reports: response.data});\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public generate(): Observable<any> {\n return new Observable(observer => {\n Axios.post(this.url, {}, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({report: response.data});\n snackService.success('Report generated successfully!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n}\n\nexport const patientHealthReportService = new PatientHealthReportServices(healthReportsStore);\n","import Axios from 'axios-observable';\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { API_URL } from \"../../../config\";\nimport { snackService } from '../../common/snack/state';\nimport { RecommendationModel, CreateRecommendationModel, RecommendationTriggerModel, MetricModel, CreateRecommendationTriggerModel } from '../models/recommendations.model';\nimport { HealthReportsStore, healthReportsStore } from '../../healthReport/stores/healthReportsStore';\nimport {HealthReportRecommendationDefaultModel} from \"../../healthReport/models/healthReport.models\";\n\n/**\n * Provides method for working with recommendations\n */\nexport class RecommendationsService {\n private url = `${API_URL}Recommendations`;\n\n constructor(private store: HealthReportsStore) {\n }\n\n public getAllRecommendations(): Observable<RecommendationModel[]> {\n const config = {\n headers: authHeader()\n };\n return new Observable<RecommendationModel[]>(observer => {\n Axios.get<RecommendationModel[]>(`${this.url}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ recommendations: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getPatientRecommendations(patientId: number): Observable<HealthReportRecommendationDefaultModel[]> {\n const config = {\n headers: authHeader()\n };\n return new Observable<HealthReportRecommendationDefaultModel[]>(observer => {\n Axios.get<HealthReportRecommendationDefaultModel[]>(`${this.url}/Patient/${patientId}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({recommendationsDefault: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.complete();\n }\n );\n })\n }\n\n public getMetrics(): Observable<MetricModel[]> {\n const config = {\n headers: authHeader()\n };\n return new Observable<MetricModel[]>(observer => {\n Axios.get<MetricModel[]>(`${this.url}/metrics`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ metrics: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public createRecommendation(model: CreateRecommendationModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.store.addRecommendation(response.data);\n snackService.success('Recommendation successfully created');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updateRecommendation(model: RecommendationModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}/${model.id}`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.store.updateRecommendation(response.data);\n snackService.success('Recommendation successfully updated');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteRecommendation(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeRecommendation(id);\n snackService.success('Recommendation successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public createRecommendationTrigger(model: CreateRecommendationTriggerModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}/${model.recommendationId}/trigger`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.store.addRecommendationTrigger(response.data);\n snackService.success('Recommendation successfully created');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public updateRecommendationTrigger(model: RecommendationTriggerModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}/${model.recommendationId}/trigger/${model.id}`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.store.updateRecommendationTrigger(response.data);\n snackService.success('Recommendation Trigger successfully updated');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteRecommendationTrigger(recommendationId: number, triggerId: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/${recommendationId}/trigger/${triggerId}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeRecommendationTrigger(recommendationId, triggerId);\n snackService.success('Recommendation trigger successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const recommendationsService = new RecommendationsService(healthReportsStore);\n","import moment from \"moment\";\nimport React from \"react\";\nimport { useEffect, useState } from \"react\";\nimport { Observable, Subscription } from 'rxjs';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { HealthReportDialogName, HealthReportModel, HealthReportShortModel, HealthReportStatus } from \"../../models/healthReport.models\";\nimport { healthReportServices } from \"../../services/healthReport.services\";\nimport { healthReportPdfServices } from \"../../services/healthReportPdf.service\";\nimport { patientHealthReportService } from '../../services/patientHealthReport.service';\nimport { healthReportsQuery, healthReportsStore } from '../../stores/healthReportsStore';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { colors } from \"../../../common/constants/colors\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport EditIcon from '@material-ui/icons/Edit';\nimport { Box, Button } from '@material-ui/core';\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { EmployeeType } from \"../../../employee/models/employee.enums\";\nimport { PracticeProfileModel } from \"../../../account/models/practiceProfile.model\";\nimport { PageSliderNavigationContext } from '../../../common/models/navigation.models';\nimport { NavigationStep } from '../healthReportComponent/healthReportComponent.hooks';\nimport {recommendationsService} from \"../../../recommendations/services/recommendations.service\";\nimport {getValueFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\n\ninterface HealthReportToolbarComponentState {\n isBannerExist: boolean;\n isOpen: boolean;\n isGenerating: boolean;\n isRegenerating: boolean;\n isPublishing: boolean;\n lastReport: HealthReportShortModel | null;\n reports: HealthReportShortModel[];\n actionsMenuAnchor?: HTMLButtonElement;\n isChangeReviewerOpen: boolean;\n isSelectRecommendationSetOpen: boolean;\n dialogName: string;\n actionSelectReportAnchor?: HTMLButtonElement;\n selectedReportName: string;\n fixedSectionShow: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for Create shortcuts component\n */\nexport function useFacade(patientId: number | null, report: HealthReportModel, practice: PracticeProfileModel, isNewRecommendations: boolean, navigationContext: PageSliderNavigationContext): [\n HealthReportToolbarComponentState,\n () => void,\n () => string | JSX.Element,\n () => string,\n () => string,\n (reportId: number) => void,\n () => boolean,\n () => void,\n () => boolean,\n () => void,\n () => void,\n (status: HealthReportStatus) => boolean,\n () => void,\n (actionsMenuAnchor?: HTMLButtonElement) => void,\n () => void,\n () => boolean,\n () => void,\n (title: HealthReportDialogName) => void,\n (actionSelectReportAnchor?: HTMLButtonElement) => void,\n (step: NavigationStep) => void,\n () => void\n] {\n const featureFlags = useFlags();\n const recommendationsV2 = getValueFeatureFlag(featureFlags, FeatureFlag.RecommendationsV2);\n const [state, setState] = useState({\n isBannerExist: false,\n isOpen: false,\n isGenerating: false,\n isPublishing: false,\n isRegenerating: false,\n lastReport: null,\n reports: [],\n actionsMenuAnchor: null,\n isChangeReviewerOpen: false,\n isSelectRecommendationSetOpen: false,\n dialogName: '',\n actionSelectReportAnchor: null,\n selectedReportName: '',\n fixedSectionShow: true\n } as HealthReportToolbarComponentState);\n\n const onCloseBanner = () => {\n setState(state => ({ ...state, isBannerExist: false }));\n }\n\n const handleEditReviewer = () => {\n setState(state => ({ ...state, isChangeReviewerOpen: true }));\n }\n\n const handleOpenSelectRecommendationSet = (title: HealthReportDialogName) => {\n if (!canGenerateReport() && title === HealthReportDialogName.New) {\n return\n }\n\n if (!canRegenerateReport() && title === HealthReportDialogName.Update) {\n return\n }\n setState(state => ({ ...state, isSelectRecommendationSetOpen: true, dialogName: title }));\n }\n\n const handleCloseSelectRecommendationSet = () => {\n setState(state => ({ ...state, isSelectRecommendationSetOpen: false }));\n }\n\n const getReports = () => {\n if (patientId) {\n if (isNewRecommendations) {\n if (recommendationsV2) {\n recommendationsService.getPatientRecommendations(patientId).subscribe();\n } else {\n healthReportServices.getDefaultRecommendation();\n }\n }\n healthReportServices.getAll(patientId);\n }\n else\n patientHealthReportService.getAll();\n }\n\n const handleReportChange = (reportId: number) => {\n if (patientId)\n healthReportServices.getById(reportId, patientId);\n else\n patientHealthReportService.getById(reportId);\n }\n\n const canGenerateReport = () => {\n const status = state.lastReport?.status?.status;\n\n return patientId\n && !state.isGenerating\n && !state.isRegenerating\n && (status === HealthReportStatus.Preparing || report?.status?.status === HealthReportStatus.Submitted)\n }\n\n const canPublishReport = () => {\n const status = state.lastReport?.status?.status;\n\n return patientId\n && !state.isGenerating\n && !state.isRegenerating\n && (status === HealthReportStatus.Completed\n || (status === HealthReportStatus.UnderReview\n && (+EmployeeType.Provider === +authQuery.getEmployeeType())\n ))\n }\n\n const handleReportGenerate = () => {\n if (!canGenerateReport()) {\n return\n }\n setState(state => ({\n ...state,\n isGenerating: true,\n }));\n\n let observable: Observable<any> = patientHealthReportService.generate();\n if (patientId) {\n observable = healthReportServices.generate(patientId, healthReportsStore.getRecommendationToSend()) \n }\n\n observable.subscribe(() => {\n getReports();\n setState(state => ({ ...state, isGenerating: false }))\n })\n }\n\n const handlePublishReport = () => {\n if (!canPublishReport()) {\n return\n }\n\n if (+EmployeeType.Provider === +authQuery.getEmployeeType()) {\n confirmService.confirm(\n 'Are you sure?',\n 'This will sign the report and make it visible to the patient. Published reports cannot be updated.')\n .subscribe(\n () => {\n setState(state => ({ ...state, isPublishing: true }))\n healthReportServices.publish(state.lastReport.id, patientId).subscribe(() => {\n getReports();\n setState(state => ({ ...state, isPublishing: false }))\n })\n }\n );\n } else {\n setState(state => ({ ...state, isPublishing: true }))\n healthReportServices.publish(state.lastReport.id, patientId).subscribe(() => {\n getReports();\n setState(state => ({ ...state, isPublishing: false }))\n })\n }\n\n }\n\n const canRegenerateReport = () => {\n return patientId\n && !state.isGenerating\n && !state.isRegenerating\n && report?.status?.status !== HealthReportStatus.Submitted\n && report?.status?.status !== HealthReportStatus.Preparing\n }\n\n const handleReportRegenerate = () => {\n setState(state => ({\n ...state,\n isRegenerating: true,\n }));\n\n healthReportServices.regenerate(patientId, healthReportsStore.getRecommendationToSend()).subscribe(() => {\n getReports();\n setState(state => ({ ...state, isRegenerating: false }))\n })\n }\n\n const handleToggleCloseChangeReviewer = () => {\n setState(state => ({ ...state, isChangeReviewerOpen: !state.isChangeReviewerOpen }));\n }\n\n const canReportDownload = (status: HealthReportStatus) =>\n status === HealthReportStatus.Completed || status === HealthReportStatus.Submitted;\n\n const handleReportDownload = () => {\n if (!canReportDownload(report.status.status)) {\n return\n }\n navigationService.goUp();\n setState(state => ({\n ...state,\n isOpen: true\n }));\n\n const action = () => {\n healthReportPdfServices.generate(report, report.status.date, practice).then(() => {\n setState(state => ({\n ...state,\n isOpen: false\n }));\n });\n };\n\n var nAgt = navigator.userAgent;\n var browserName = \"\";\n\n // In Opera, the true version is after \"Opera\" or after \"Version\"\n if ((nAgt.indexOf(\"Opera\")) != -1) {\n browserName = \"Opera\";\n }\n // In MSIE, the true version is after \"MSIE\" in userAgent\n else if ((nAgt.indexOf(\"MSIE\")) != -1) {\n browserName = \"Microsoft Internet Explorer\";\n }\n // In Chrome, the true version is after \"Chrome\" \n else if ((nAgt.indexOf(\"Chrome\")) != -1) {\n browserName = \"Chrome\";\n }\n // In Safari, the true version is after \"Safari\" or after \"Version\" \n else if ((nAgt.indexOf(\"Safari\")) != -1) {\n browserName = \"Safari\";\n }\n // In Firefox, the true version is after \"Firefox\" \n else if ((nAgt.indexOf(\"Firefox\")) != -1) {\n browserName = \"Firefox\";\n }\n if (browserName === \"Safari\") {\n window.setTimeout(() => {\n action();\n }, 50000);\n } else {\n action();\n }\n }\n\n const handleToggleActions = (actionsMenuAnchor?: HTMLButtonElement) => {\n setState(state => ({ ...state, actionsMenuAnchor: actionsMenuAnchor }));\n }\n\n const handleSelectReportToggle = (actionSelectReportAnchor?: HTMLButtonElement) => {\n setState(state => ({ ...state, actionSelectReportAnchor: actionSelectReportAnchor }));\n }\n\n const handleGoToReportPage = (step: NavigationStep) => {\n navigationContext.goTo(step.from);\n setState(state => ({ ...state, actionSelectReportAnchor: null, selectedReportName: step.name }));\n }\n\n const handleFixedSectionToggle = () => {\n setState(state => ({ ...state, fixedSectionShow: !state.fixedSectionShow }));\n }\n\n const displayStatus = () => {\n if (report.status.status === HealthReportStatus.Failed && patientId) {\n return <span>{HealthReportStatus[report.status.status]} ({report.status.comment})</span>\n }\n\n if (report.status.status === HealthReportStatus.UnderReview && patientId) {\n return <Box display='flex'>\n <Box>Under Review by {report.reviewer.firstName} {report.reviewer.lastName}</Box>\n <Box mt={-1}>\n <Button id=\"health-report-toolbar-edit-reviewer\" onClick={() => handleEditReviewer()}>\n <EditIcon\n style={{ color: colors.main, fontSize: 20 }}\n />\n </Button>\n </Box>\n </Box>\n }\n\n if (report.status.status === HealthReportStatus.Submitted && patientId) {\n return <span>Published</span>\n }\n\n return HealthReportStatus[report.status.status];\n }\n\n const getStatusColor = () => {\n switch (report.status.status) {\n case HealthReportStatus.InProgress:\n return 'inherit';\n case HealthReportStatus.Preparing:\n return colors.accent3;\n case HealthReportStatus.Completed:\n return colors.accent3;\n case HealthReportStatus.Failed:\n return colors.bad;\n case HealthReportStatus.Submitted:\n return colors.good;\n case HealthReportStatus.UnderReview:\n return colors.average1;\n default:\n return colors.bad;\n }\n }\n\n const displayDate = (date: Date) => moment(toCurrentTimeZone(date)).format(\"MMMM DD, YYYY HH:mm\");\n\n const getStatusDateLabel = (): string => {\n if (patientId) {\n switch (report.status.status) {\n case HealthReportStatus.InProgress:\n return `Started at: ${displayDate(report.status.date)} (${report.status.version})`;\n case HealthReportStatus.Completed:\n return `Generated at: ${displayDate(report.status.date)} (${report.status.version})`;\n case HealthReportStatus.Failed:\n return `Failed at: ${displayDate(report.status.date)} (${report.status.version})`;\n case HealthReportStatus.Submitted:\n return `Generated at: ${displayDate(report.status.date)} (${report.status.version})`;\n case HealthReportStatus.UnderReview:\n return `Under Review at: ${displayDate(report.status.date)} (${report.status.version})`;\n default:\n return \"\";\n }\n }\n return \"\";\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<HealthReportShortModel[]>(healthReportsQuery.reports$, reports => {\n setState(state => ({\n ...state,\n reports,\n lastReport: reports[(reports?.length ?? 1) - 1] ?? null,\n }));\n }),\n ];\n\n getReports();\n setState(state => ({\n ...state,\n isBannerExist: report.status.status === HealthReportStatus.UnderReview\n }));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [report]);\n\n return [\n state,\n onCloseBanner,\n displayStatus,\n getStatusDateLabel,\n getStatusColor,\n handleReportChange,\n canGenerateReport,\n handleReportGenerate,\n canRegenerateReport,\n handleReportRegenerate,\n handleToggleCloseChangeReviewer,\n canReportDownload,\n handleReportDownload,\n handleToggleActions,\n handlePublishReport,\n canPublishReport,\n handleCloseSelectRecommendationSet,\n handleOpenSelectRecommendationSet,\n handleSelectReportToggle,\n handleGoToReportPage,\n handleFixedSectionToggle\n ];\n}","import { Button, createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n minWidth: 100,\n maxWidth: 'calc(21 * 58px)',\n backgroundColor: colors.white,\n borderRadius: 3,\n margin: '0 auto',\n },\n toolContainer: {\n height: 75,\n },\n toolButton: {\n border: '0px !important',\n },\n toolActions: {\n display: \"flex\",\n minWidth: 'max-content',\n [theme.breakpoints.down('md')]: {\n display: 'none',\n },\n },\n toolActionsPad: {\n display: 'none',\n [theme.breakpoints.between('sm', 'md')]: {\n display: 'block',\n },\n },\n toolActionsMobile: {\n width: 170,\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'block',\n },\n },\n reportSelectRoot: {\n color: colors.main,\n border: 'none',\n borderColor: colors.white,\n '& .MuiOutlinedInput-root': {\n border: 'none',\n },\n '& .MuiOutlinedInput-notchedOutline': {\n border: 'none',\n },\n '& .MuiSelect-icon': {\n color: colors.main,\n },\n },\n status: {\n justifyContent: \"space-between\",\n display: \"flex\",\n },\n navigationContainer: {\n height: 44,\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: 'flex-start',\n [theme.breakpoints.down('xs')]: {\n display: 'none',\n },\n },\n navigationBubble: {\n height: 120,\n },\n stepsContainer: {\n overflowY: 'auto',\n maxWidth: 'calc(21 * 58px - 128px)',\n },\n navigationButton: {\n maxHeight: 34,\n color: colors.main,\n borderRadius: 0,\n },\n stepButton: {\n borderRadius: 0,\n minWidth: 168,\n color: colors.main,\n width: 'max-content',\n border: 'none !important',\n },\n stepButtonSelected: {\n backgroundColor: '#eee',\n },\n reportPagePopover: {\n marginTop: 8\n },\n stepMobileButton: {\n borderRadius: 0,\n color: colors.black,\n border: 'none !important',\n },\n boxCircle: {\n width: 6,\n height: 6,\n borderRadius: '50%',\n },\n disabledBtn: {\n color: `${colors.gray2} !important`,\n },\n infoWrapper: {\n backgroundColor: colors.bg,\n paddingBottom: 20,\n },\n infoContainer: {\n backgroundColor: colors.info,\n height: 44,\n display: 'flex',\n alignItems: 'center',\n borderRadius: 2,\n paddingLeft: 20,\n paddingRight: 20,\n },\n rotateIcon: {\n transform: 'rotate(330deg)',\n width: 20,\n },\n iconSize: {\n width: 20,\n height: 20,\n },\n navigationMobileContainer: {\n height: 44,\n display: 'none',\n [theme.breakpoints.down('xs')]: {\n display: 'block',\n },\n },\n mobileDownloadSection: {\n display: 'none',\n backgroundColor: \"transparent\",\n width: \"100%\",\n [theme.breakpoints.down('xs')]: {\n display: 'block',\n },\n },\n fixedSection: {\n display: \"flex\",\n flexDirection: \"row\",\n alignItems: \"center\",\n backgroundColor: colors.black,\n borderRadius: 2\n },\n fixedCloseButton: {\n padding: 8,\n marginLeft: 4,\n },\n downloadIcon: {\n width: 20,\n height: 20,\n fill: colors.white\n }\n }),\n);\n\nexport const ActionsButton = withStyles((theme: Theme) => ({\n root: {\n width: 40,\n height: 40,\n minWidth: 40,\n color: colors.main,\n backgroundColor: colors.stroke,\n borderRadius: 0,\n marginLeft: 8,\n\n '&:hover': {\n background: colors.stroke,\n color: colors.mainDark,\n },\n '&:disabled': {\n color: colors.gray2,\n },\n },\n \n}))(Button);","import { useState, useEffect } from \"react\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { Subscription } from \"rxjs\";\nimport { EmployeeShortModel } from \"../../../employee/models/employee.models\";\nimport { employeesQuery } from \"../../../employee/stores/employeesStore\";\nimport { EmployeeType } from \"../../../employee/models/employee.enums\";\nimport { healthReportServices } from \"../../services/healthReport.services\";\nimport { employeeService } from \"../../../employee/services/employees.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore/patients.query\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\n\ninterface ResetPatientPasswordDialogState extends IErrorState {\n newReviewer: EmployeeShortModel;\n reviewers: EmployeeShortModel[];\n}\n\nexport function useFacade( handleClose: Function, reportReviewerId: number, patientId: number, reportId: number): [ResetPatientPasswordDialogState, Function, Function] {\n const [state, setState] = useState({\n newReviewer: null,\n reviewers: [],\n errors: {}\n } as ResetPatientPasswordDialogState);\n\n const handleReviewerChange = (id: number) => {\n setState(state => ({\n ...state,\n newReviewer: state.reviewers.find(c => c.id === id),\n }));\n }\n\n const getSaveModel = () => {\n return {\n id: reportId,\n patientId: patientId,\n reviewerId: state.newReviewer.id,\n };\n }\n\n const handleSubmitForm = (event: Event) => {\n event.preventDefault();\n\n healthReportServices.saveNewReviewer(getSaveModel())\n handleClose();\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<EmployeeShortModel[]>(employeesQuery.couchesAndProviders$, employees => {\n setState(state => ({\n ...state,\n newReviewer: employees.find(c => c.id === reportReviewerId),\n reviewers: employees.filter(c => c.type === EmployeeType.Provider)\n }));\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, patient => {\n if (patient?.id == patientId) {\n employeeService.getActiveCoachesAndProviders(patient.locationId).subscribe();\n }\n }),\n ];\n \n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleReviewerChange, handleSubmitForm];\n}\n","import { Box, Dialog, DialogActions, DialogContent, FormControl, MenuItem, Select } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ChangeReviewerDialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./changeReviewerDialogComponent.hooks\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const ChangeReviewerDialogComponent: React.FC<ChangeReviewerDialogComponentProps> = (props: ChangeReviewerDialogComponentProps) => {\n const {\n patientId,\n reportId,\n reportReviewerId,\n open,\n handleClose\n } = props;\n\n const [\n state,\n handleReviewerChange,\n handleSubmitForm,\n ] = useFacade(handleClose, reportReviewerId, patientId, reportId);\n\n const selectProvider = (\n <FormControl\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <Select\n value={state.newReviewer?.id ?? 0}\n onChange={(event) => handleReviewerChange(Number(event.target.value))}\n >\n {\n state.reviewers.map((reviewer) =>\n <MenuItem\n key={reviewer.id}\n value={reviewer.id}\n >\n <Box display=\"flex\">\n <Box mr={1}>{reviewer.firstName}</Box>\n <Box>{reviewer.lastName}</Box>\n </Box>\n </MenuItem>)\n }\n </Select>\n </FormControl>\n );\n\n return (\n <Dialog fullWidth open={open} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <form onSubmit={(e) => handleSubmitForm(e)}>\n <DialogContent>\n <DialogTitle\n id=\"form-dialog-title\">Edit Provider</DialogTitle>\n <Box m={3}>Please select the provider you would like to review and sign\n this report.\n </Box>\n <Box p={3}>\n <Box display=\"flex\" alignItems=\"center\">\n <Box mr={1}>\n <span className=\"text-medium\">Under Review by</span>\n </Box>\n {selectProvider}\n </Box>\n </Box>\n </DialogContent>\n <DialogActions>\n <Box display=\"flex\" justifyContent=\"flex-end\" width=\"100%\" px={3} pb={2}>\n <Box mr={1.5}>\n <WildHealthButton\n id=\"change-reviewer-cancel\"\n color=\"tertiary\"\n onClick={() => handleClose()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"change-reviewer-save\"\n onClick={(e) => handleSubmitForm(e)}\n >\n Save\n </WildHealthButton>\n </Box>\n </Box>\n </DialogActions>\n </form>\n </Dialog>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { HealthReportModel, HealthReportShortModel, RecommendationSetType, HealthReportDialogName, HealthReportRecommendationDefaultModel, RecommendationDisplayModel } from \"../../models/healthReport.models\";\nimport { healthReportServices } from \"../../services/healthReport.services\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore/healthReports.query\";\nimport { healthReportsStore } from \"../../stores/healthReportsStore/healthReports.store\";\nimport { confirmService } from \"../../../../services/confirm.service\";\n\ninterface ResetPatientPasswordDialogState {\n selectedType: RecommendationSetType;\n reports: HealthReportShortModel[];\n report: HealthReportModel,\n isSelectReport: boolean,\n isRecommendationsDialogOpen: boolean,\n recommendations: RecommendationDisplayModel[],\n}\n\nexport function useFacade(handleClose: Function, reportRecomendationSet: RecommendationSetType, patientId: number, open: boolean, title: string, handleReportGenerate: Function, handleReportRegenerate: Function): \n [ResetPatientPasswordDialogState, Function, Function, Function, Function, Function] {\n const [state, setState] = useState({\n selectedType: reportRecomendationSet,\n isSelectReport: false,\n isRecommendationsDialogOpen: false,\n reports: [],\n report: null,\n recommendations: [],\n } as ResetPatientPasswordDialogState);\n\n const setInitialState = () => {\n setState(state => ({\n ...state,\n selectedType: reportRecomendationSet,\n isSelectReport: false,\n }));\n healthReportsStore.resetReportForRecommendation()\n }\n\n const handleTypeChange = (type: RecommendationSetType) => {\n setState(state => ({\n ...state,\n selectedType: type,\n }));\n }\n\n const handleOpenRecommendationsDialog = () => {\n setState(state => ({\n ...state,\n isRecommendationsDialogOpen: true,\n }));\n }\n\n const handleSkipReview = () => {\n const selectedRecommendations = state.recommendations.filter(el => el.isSelected)\n const recommendationsToSend = selectedRecommendations.map(el => {\n return `${el.recommendationId}`.includes('xxx')\n ? {\n type: el.type,\n baseId: el.baseId,\n content: el.content,\n }\n : {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n type: el.type,\n content: el.content,\n }\n })\n healthReportsStore.putRecommendationToSend(recommendationsToSend)\n\n handleClose();\n confirmService.confirm(\n 'Skip Review',\n 'Are you sure you want to skip the recommendation review?',\n 'Skip',\n 'Cancel',\n 'default')\n .subscribe(\n () => {\n title === HealthReportDialogName.New ? handleReportGenerate() : handleReportRegenerate()\n });\n }\n\n const handleSubmit = () => {\n if (state.isSelectReport) {\n return handleOpenRecommendationsDialog()\n }\n switch (state.selectedType) {\n case RecommendationSetType.NewAndSkipReview:\n handleSkipReview();\n break;\n case RecommendationSetType.New:\n handleOpenRecommendationsDialog();\n break;\n case RecommendationSetType.Previous:\n case RecommendationSetType.Compare:\n setState(state => ({\n ...state,\n isSelectReport: true,\n }));\n break;\n }\n }\n\n const handleReportChange = (reportId: number) => {\n healthReportServices.getByIdForRecommendation(reportId, patientId);\n }\n\n const handleGoBackRecommendationsDialog = () => {\n setState(state => ({\n ...state,\n isRecommendationsDialogOpen: false,\n }));\n }\n\n const handleCloseRecommendationsDialog = () => {\n setState(state => ({\n ...state,\n isRecommendationsDialogOpen: false,\n }));\n handleClose()\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<HealthReportModel>(healthReportsQuery.reportForRecommendation$, report => {\n setState(state => ({\n ...state,\n report,\n }));\n }),\n onEmit<HealthReportShortModel[]>(healthReportsQuery.reports$, reports => {\n setState(state => ({\n ...state,\n reports\n }));\n }),\n onEmit<HealthReportRecommendationDefaultModel[]>(healthReportsQuery.recommendationsDefault$, recommendationsDefault => {\n setState(state => ({\n ...state,\n recommendations: recommendationsDefault.map(el => {\n return {\n recommendationId: el.recommendationId,\n baseId: el.recommendationId,\n type: el.recommendationType,\n content: el.recommendation.content,\n id: el.id,\n isSelected: true,\n }\n })\n }));\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n\n useEffect(() => {\n if (!open) {\n setInitialState()\n } else {\n setState(state => ({\n ...state,\n selectedType: reportRecomendationSet\n }));\n }\n\n }, [open]);\n\n\n return [state, handleTypeChange, handleSubmit, handleReportChange, handleCloseRecommendationsDialog, handleGoBackRecommendationsDialog];\n}\n","import { useEffect, useState } from \"react\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { healthReportServices } from \"../../services/healthReport.services\";\nimport { RecommendationSetType } from \"../../models/healthReport.models\";\n\ninterface ResetPatientPasswordDialogState {\n selectAll: boolean,\n isPrepereRecommendation: boolean,\n}\n\nexport function useFacade(handleClose: Function, patientId: number, open: boolean, handleReportGenerate: Function, handleReportRegenerate: Function): \n [ResetPatientPasswordDialogState, Function, Function, Function, Function] {\n const [state, setState] = useState({\n selectAll: false,\n isPrepereRecommendation: false,\n } as ResetPatientPasswordDialogState);\n\n const setInitialState = () => {\n setState(state => ({\n ...state,\n selectAll: false,\n }));\n }\n\n const handleSubmitUpdate = () => {\n setState(state => ({\n ...state,\n isPrepereRecommendation: !state.isPrepereRecommendation,\n }));\n\n confirmService.confirm(\n 'Confirm Report Regenerate',\n 'Have you finished editing all recommendations?',\n 'Confirm',\n 'Cancel',)\n .subscribe(\n () => {\n handleReportRegenerate()\n handleClose();\n });\n }\n\n\n const handleSubmit = () => {\n setState(state => ({\n ...state,\n isPrepereRecommendation: !state.isPrepereRecommendation,\n }));\n\n confirmService.confirm(\n 'Confirm New Report Generation',\n 'Have you finished editing all recommendations?',\n 'Confirm',\n 'Cancel',)\n .subscribe(\n () => {\n handleReportGenerate()\n handleClose();\n });\n }\n\n const handleCancel = () => {\n confirmService.confirm(\n 'Cancel New Report Generation',\n 'Are you sure you want to cancel the report generation?',\n 'Yes',\n 'No',\n 'danger')\n .subscribe(\n () => {\n healthReportServices.getLast(patientId).subscribe(() => { \n handleClose();\n snackService.deleteSuccess('New report generation was cancelled.')\n },\n () => {\n handleClose();\n });\n \n }\n );\n }\n\n const handleCancelRegenerate = () => {\n confirmService.confirm(\n 'Cancel Report Regenerate',\n 'Are you sure you want to cancel the report regenerate?',\n 'Yes',\n 'No',\n 'danger')\n .subscribe(\n () => {\n healthReportServices.getLast(patientId).subscribe(() => { \n handleClose();\n snackService.deleteSuccess('Report regenerate was cancelled.')\n },\n () => {\n handleClose();\n });\n \n }\n );\n }\n\n useEffect(() => {\n if (!open) {\n setInitialState()\n } \n\n }, [open]);\n\n\n return [state, handleSubmitUpdate, handleSubmit, handleCancel, handleCancelRegenerate];\n}\n","import { Box, Collapse, Divider } from '@material-ui/core';\nimport React, { MutableRefObject, useEffect } from 'react';\nimport expandIcon from \"@img/icons/expand.svg\";\nimport collapseIcon from \"@img/icons/collapse.svg\";\nimport commonUseStyles from '../../styles/common.styles';\nimport clsx from 'clsx';\n\nexport interface ExpandableComponentProps {\n title: string,\n content: JSX.Element,\n expanded: boolean,\n handleExpand: Function,\n divider?: boolean,\n refCurrent: MutableRefObject<any>\n}\n\nexport const ExpandableComponent: React.FC<ExpandableComponentProps> = (props: ExpandableComponentProps) => {\n const {\n title,\n content,\n expanded,\n handleExpand,\n divider = true,\n refCurrent\n } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n <Box width={1}>\n <Box display='flex' alignItems='center'>\n <Box onClick={() => handleExpand()} display='flex' alignItems='center' className={commonClasses.pointer}>\n <img src={expanded ? collapseIcon : expandIcon} alt='expanded_logo' />\n </Box>\n <Box ml={2}>\n <span ref={refCurrent} className={clsx(commonClasses.size18, commonClasses.textMedium)}>{title}</span>\n </Box>\n </Box>\n\n <Collapse in={expanded} timeout=\"auto\" unmountOnExit>\n <>\n {divider && <Box my={1}>\n <Divider />\n </Box>}\n <Box mt={3}>\n {\n content\n }\n </Box>\n </>\n </Collapse>\n </Box>\n );\n}","import { useEffect, useState } from \"react\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { HealthReportRecommendationDefaultModel, RecommendationDisplayModel, RecommendationTypes } from \"../../models/healthReport.models\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore/healthReports.query\";\nimport { healthReportsStore } from \"../../stores/healthReportsStore/healthReports.store\";\nimport { Subscription } from \"rxjs/internal/Subscription\";\nimport moment from \"moment\";\n\n\ninterface RecommendationsComponentState {\n sections: { [id: number]: boolean };\n sectionsIsChanged: { [id: number]: boolean };\n isChanged: boolean;\n recommendations: RecommendationDisplayModel[],\n isSelectedAll: boolean,\n}\n\nexport function useFacade(\n patientId: number,\n isPrepereRecommendation: boolean,\n): [\n RecommendationsComponentState,\n (section: RecommendationTypes) => void,\n (id: number | string, isSelected: boolean) => void,\n (id: number | string, value: string) => void,\n (type: number) => RecommendationDisplayModel[],\n (type: number, index: number) => void,\n () => void,\n ] {\n const [state, setState] = useState(\n {\n sections: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n sectionsIsChanged: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n isChanged: false,\n recommendations: [],\n isSelectedAll: true,\n } as RecommendationsComponentState\n );\n\n const handleExpandSection = (section: RecommendationTypes) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState({ ...state, sections: sections });\n }\n\n const checkSelectedAll = () => {\n const selectedAll = !state.recommendations.find(el => el.isSelected === false)\n setState({ ...state, isSelectedAll: selectedAll });\n }\n\n const handleSelected = (id: number | string, isSelected: boolean) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n recommendationForIsSelected.isSelected = isSelected\n setState({ ...state })\n checkSelectedAll()\n }\n\n const handleChanges = (id: number | string, value: string) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n recommendationForIsSelected.content = value\n setState({ ...state })\n }\n\n const getRecommendation = (type: number): RecommendationDisplayModel[] => {\n return state.recommendations.filter(el => el.type === type)\n }\n\n const handleAddRecommendation = (type: number, index: number) => {\n const newRecommendation = {\n recommendationId: `xxx${index}`,\n id: moment().unix() + index,\n baseId: moment().unix() + index,\n type: type,\n content: '',\n isSelected: true,\n };\n setState({\n ...state,\n recommendations: [\n ...state.recommendations,\n newRecommendation,\n ]\n })\n }\n\n const prepereRecommendationToSend = () => {\n const selectedRecommendations = state.recommendations.filter(el => el.isSelected)\n const recommendationsToSend = selectedRecommendations.map(el => {\n return `${el.recommendationId}`.includes('xxx')\n ? {\n type: el.type,\n baseId: el.baseId,\n content: el.content,\n }\n : {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n type: el.type,\n content: el.content,\n }\n })\n healthReportsStore.putRecommendationToSend(recommendationsToSend)\n }\n\n const handleSelectedAll = () => {\n state.recommendations.forEach(el => el.isSelected = !state.isSelectedAll)\n setState({ ...state, isSelectedAll: !state.isSelectedAll })\n }\n\n useEffect(() => {\n prepereRecommendationToSend()\n }, [isPrepereRecommendation]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<HealthReportRecommendationDefaultModel[]>(healthReportsQuery.recommendationsDefault$, recommendationsDefault => {\n setState(state => ({\n ...state,\n recommendations: recommendationsDefault.map(el => {\n return {\n recommendationId: el.recommendationId,\n baseId: el.recommendationId,\n type: el.recommendationType,\n content: el.recommendation.content,\n id: el.id,\n isSelected: true,\n }\n })\n }));\n }),\n ]\n\n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleSelected,\n handleChanges,\n getRecommendation,\n handleAddRecommendation,\n handleSelectedAll,\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n addText: {\n color: colors.main\n },\n textFiel: {\n background: colors.disabled, \n }\n })\n);\n","import { Box, Checkbox, TextField } from '@material-ui/core';\nimport React from 'react';\nimport { Add } from '@material-ui/icons';\nimport { useStyles } from './recommendationSelectComponent.styles';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport { RecommendationDisplayModel } from '../../models/healthReport.models';\nimport { RecommendationPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/RecommendationPlaceHolder';\nimport { selectShortcutService } from '../../services/selectShortcut.service';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { insertString } from '../../../common/helpers/insert-string';\n\nexport interface RecommendationSelectComponentProps {\n currentRecomemendation: RecommendationDisplayModel[],\n type: number,\n handleSelected: (id: number | string, isSelected: boolean) => void,\n handleChanges: (id: number | string, value: string) => void,\n handleAddRecommendation: (id: number, index: number) => void,\n}\n\nexport const RecommendationSelectComponent: React.FC<RecommendationSelectComponentProps> = (props: RecommendationSelectComponentProps) => {\n const {\n currentRecomemendation,\n type,\n handleSelected,\n handleChanges,\n handleAddRecommendation,\n } = props;\n\n const classes = useStyles();\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n \n const handleOnKeyDown = (id: string | number, event:any, idFild: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(idFild) as any).value;\n const cursorPos = (document.getElementById(idFild) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleChanges(id, insertString(value, data, cursorPos + 1)) \n })\n }, 1)\n }\n }\n }\n\n return (\n <Box>\n {currentRecomemendation.map(el =>\n <Box display=\"flex\" mb={1.5} key={`${el.type}-${el.id}`}>\n <Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={el.isSelected}\n onChange={() => handleSelected(el.id, !el.isSelected)}\n />\n </Box>\n <TextField\n id={`recommendation-text-area-${el.type}-${el.id}`}\n fullWidth\n multiline\n rowsMax={5}\n disabled={!el.isSelected}\n className={el.isSelected ? \"\" : classes.textFiel}\n variant=\"outlined\"\n value={el.content}\n onKeyDown={(e) => {handleOnKeyDown(el.id, e, `recommendation-text-area-${el.type}-${el.id}`)}}\n onChange={(v) => {\n handleChanges(el.id, v.target.value)\n }}\n />\n </Box>\n\n )}\n {currentRecomemendation.length === 0 && <Box display=\"flex\" maxHeight=\"180px\" alignItems=\"center\" justifyContent=\"center\">\n <RecommendationPlaceHolder message=\"No Recommendations\" />\n </Box>}\n\n <Box mt={1} display='flex' alignItems='stretch'>\n <Box onClick={() => handleAddRecommendation(type, currentRecomemendation.length)\n }>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>Add Recommendation</span>\n </Box>\n </Box>\n \n </Box>\n );\n}","import { Box, Checkbox, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { useFacade } from './recommendationsComponent.hooks';\nimport { commonUseStyles } from '../../../common/styles/common.styles';\nimport { RecommendationSelectComponent } from '../recommendationSelectComponent/RecommendationSelectComponent';\nimport { recommendationNameOld, RecommendationTypes, RecommendationTypesNumbers } from '../../models/healthReport.models';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\n\nexport interface RecommendationsComponentProps {\n patientId?: number;\n isPrepereRecommendation: boolean;\n\n}\n\nexport const RecommendationsComponent: React.FC<RecommendationsComponentProps> = (props: RecommendationsComponentProps) => {\n const {\n patientId,\n isPrepereRecommendation,\n } = props;\n\n const [\n state,\n handleExpandSection,\n handleSelected,\n handleChanges,\n getRecommendation,\n handleAddRecommendation,\n handleSelectedAll,\n \n ] = useFacade(patientId, isPrepereRecommendation);\n\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n const commonClasses = commonUseStyles();\n\n const sectionsContent = {\n [RecommendationTypes.Macronutrient]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Macronutrient)}\n type={RecommendationTypesNumbers.Macronutrient}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.VitaminsAndMicronutrients]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n type={RecommendationTypesNumbers.VitaminsAndMicronutrients}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Methylation]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Methylation)}\n type={RecommendationTypesNumbers.Methylation}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.KryptoniteFoods]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.KryptoniteFoods)}\n type={RecommendationTypesNumbers.KryptoniteFoods}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.SuperFoods]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.SuperFoods)}\n type={RecommendationTypesNumbers.SuperFoods}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.ExerciseAndRecovery]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.ExerciseAndRecovery)}\n type={RecommendationTypesNumbers.ExerciseAndRecovery}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Sleep]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Sleep)}\n type={RecommendationTypesNumbers.Sleep}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Neurobehavioral]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Neurobehavioral)}\n type={RecommendationTypesNumbers.Neurobehavioral}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Microbiome]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Microbiome)}\n type={RecommendationTypesNumbers.Microbiome}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Cardiovascular]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Cardiovascular)}\n type={RecommendationTypesNumbers.Cardiovascular}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Dementia]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Dementia)}\n type={RecommendationTypesNumbers.Dementia}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.InsulinResistance]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.InsulinResistance)}\n type={RecommendationTypesNumbers.InsulinResistance}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Inflammation]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Inflammation)}\n type={RecommendationTypesNumbers.Inflammation}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Longevity]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Longevity)}\n type={RecommendationTypesNumbers.Longevity}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n [RecommendationTypes.Supplements]:\n state.recommendations ? <RecommendationSelectComponent\n currentRecomemendation={getRecommendation(RecommendationTypesNumbers.Supplements)}\n type={RecommendationTypesNumbers.Supplements}\n handleSelected={handleSelected}\n handleChanges={handleChanges}\n handleAddRecommendation={handleAddRecommendation}\n />\n : <></>,\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`recommendation-component-${key}`} mt={3}>\n <ExpandableComponent\n divider={false}\n title={recommendationNameOld[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={null}\n handleExpand={() => handleExpandSection(+key)}\n />\n <Box mt={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n </Box>\n ))\n }\n </>\n );\n }\n\n return (\n <Box>\n <Box ml={-1.5} mt={2} display=\"flex\" alignItems=\"center\">\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.isSelectedAll}\n onChange={() => handleSelectedAll()}\n />\n <Box>Select All</Box>\n </Box>\n {\n renderSections()\n }\n \n </Box>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { HealthReportModel, HealthReportRecommendationDefaultModel, RecommendationDisplayModel, RecommendationTypes } from \"../../models/healthReport.models\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore/healthReports.query\";\nimport { healthReportsStore } from \"../../stores/healthReportsStore/healthReports.store\";\nimport { Subscription } from \"rxjs/internal/Subscription\";\nimport moment from \"moment\";\n\n\ninterface RecommendationsComponentState {\n sections: { [id: number]: boolean };\n sectionsIsChanged: { [id: number]: boolean };\n isChanged: boolean;\n recommendations: RecommendationDisplayModel[],\n recommendationsPrevious: RecommendationDisplayModel[],\n isSelectedAllNew: boolean,\n isSelectedAllPrev: boolean,\n}\n\nexport function useFacade(\n patientId: number,\n isPrepereRecommendation: boolean,\n): [\n RecommendationsComponentState,\n (section: RecommendationTypes) => void,\n (id: number | string, isSelected: boolean) => void,\n (id: number | string, isSelected: boolean) => void,\n (id: number | string, value: string) => void,\n (type: number) => RecommendationDisplayModel[],\n (type: number) => RecommendationDisplayModel[],\n (type: number, index: number) => void,\n () => void,\n () => void,\n (recommendation: RecommendationDisplayModel) => void,\n ] {\n const [state, setState] = useState(\n {\n sections: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n sectionsIsChanged: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n isChanged: false,\n recommendations: [],\n recommendationsPrevious: [],\n isSelectedAllNew: false,\n isSelectedAllPrev: true,\n } as RecommendationsComponentState\n );\n\n const handleExpandSection = (section: RecommendationTypes) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState({ ...state, sections: sections });\n }\n\n const checkSelectedAll = () => {\n const selectedAllNew = !state.recommendations.find(el => el.isSelected === false)\n const selectedAllPrev = !state.recommendationsPrevious.find(el => el.isSelected === false)\n setState({ ...state, isSelectedAllNew: selectedAllNew, isSelectedAllPrev: selectedAllPrev });\n }\n\n const handleSelectedNew = (id: number | string, isSelected: boolean) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n\n if(state.recommendationsPrevious.find(el => el.baseId === recommendationForIsSelected.baseId)) {\n const recommendationPreviousForIsSelected = state.recommendationsPrevious.find(el => el.baseId === recommendationForIsSelected.baseId)\n recommendationPreviousForIsSelected.isSelected = !isSelected\n }\n\n recommendationForIsSelected.isSelected = isSelected\n setState({ ...state })\n checkSelectedAll()\n }\n\n const handleSelectedPrew = (id: number | string, isSelected: boolean) => {\n const recommendationPreviousForIsSelected = state.recommendationsPrevious.find(el => el.id === id)\n if(state.recommendations.find(el => el.baseId === recommendationPreviousForIsSelected.baseId)) {\n const recommendationForIsSelected = state.recommendations.find(el => el.baseId === recommendationPreviousForIsSelected.baseId)\n recommendationForIsSelected.isSelected = !isSelected\n }\n recommendationPreviousForIsSelected.isSelected = isSelected\n setState({ ...state })\n checkSelectedAll()\n }\n\n const handleChangesPrev = (id: number | string, value: string) => {\n const recommendationForIsSelected = state.recommendationsPrevious.find(el => el.id === id)\n recommendationForIsSelected.content = value\n setState({ ...state })\n }\n\n const hendleUpdateRecommendation = (recommendation: RecommendationDisplayModel) => {\n const recommendationForUpdated = state.recommendationsPrevious.find(el => el.baseId === recommendation.baseId)\n if (recommendationForUpdated) {\n recommendationForUpdated.content = recommendation.content\n setState({ ...state })\n } else {\n const updatedRecommendation = [{...recommendation, isSelected: true}, ...state.recommendationsPrevious ]\n setState({ ...state, recommendationsPrevious:updatedRecommendation })\n }\n }\n\n const getRecommendationNew = (type: number): RecommendationDisplayModel[] => {\n return state.recommendations.filter(el => el.type === type)\n }\n\n const getRecommendationCurrent = (type: number): RecommendationDisplayModel[] => {\n return state.recommendationsPrevious.filter(el => el.type === type)\n }\n\n const handleAddRecommendation = (type: number, index: number) => {\n const newRecommendation = {\n recommendationId: `xxx${index}`,\n id: moment().unix() + index,\n baseId: moment().unix() + index,\n type: type,\n content: '',\n isSelected: true,\n };\n setState({\n ...state,\n recommendationsPrevious: [\n ...state.recommendationsPrevious,\n newRecommendation,\n ]\n })\n }\n\n const prepereRecommendationToSend = () => {\n const selectedRecommendations = state.recommendationsPrevious.filter(el => el.isSelected)\n const selectedRecommendationsPrevious = state.recommendations.filter(el => el.isSelected)\n\n const recommendationsToSend = [...selectedRecommendations, ...selectedRecommendationsPrevious].map(el => {\n return `${el.recommendationId}`.includes('xxx')\n ? {\n type: el.type,\n baseId: el.baseId,\n content: el.content,\n }\n : {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n type: el.type,\n content: el.content,\n }\n })\n healthReportsStore.putRecommendationToSend(recommendationsToSend)\n }\n\n const handleSelectedAllNew = () => {\n if (!state.isSelectedAllNew) {\n state.recommendations.forEach(el => el.isSelected = !state.isSelectedAllNew)\n state.recommendationsPrevious.forEach(el => el.isSelected = state.isSelectedAllNew)\n setState({ ...state, isSelectedAllNew: true, isSelectedAllPrev: false})\n } else {\n setState({ ...state, isSelectedAllPrev: false, isSelectedAllNew: false })\n }\n }\n\n const handleSelectedAllPrevious = () => {\n if (!state.isSelectedAllPrev) {\n state.recommendationsPrevious.forEach(el => el.isSelected = !state.isSelectedAllPrev)\n state.recommendations.forEach(el => el.isSelected = state.isSelectedAllPrev)\n setState({ ...state, isSelectedAllPrev: true, isSelectedAllNew: false })\n } else {\n setState({ ...state, isSelectedAllPrev: false, isSelectedAllNew: false })\n }\n }\n\n useEffect(() => {\n prepereRecommendationToSend()\n }, [isPrepereRecommendation]);\n\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<HealthReportModel>(healthReportsQuery.reportForRecommendation$, report => { \n setState(state => ({\n ...state,\n recommendationsPrevious: report.recommendations.map(el => {\n return {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n id: el.id,\n type: el.type,\n content: el.content,\n isSelected: true,\n }\n }),\n }));\n }),\n onEmit<HealthReportRecommendationDefaultModel[]>(healthReportsQuery.recommendationsDefault$, recommendationsDefault => { \n setState(state => ({\n ...state,\n recommendations: recommendationsDefault.map(el => {\n return {\n recommendationId: el.recommendationId,\n baseId: +el.recommendationId,\n id: el.id,\n type: el.recommendationType,\n content: el.recommendation.content,\n isSelected: false,\n }\n })\n }));\n }),\n ]\n \n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleSelectedNew,\n handleSelectedPrew,\n handleChangesPrev,\n getRecommendationNew,\n getRecommendationCurrent,\n handleAddRecommendation,\n handleSelectedAllNew,\n handleSelectedAllPrevious, \n hendleUpdateRecommendation,\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n addText: {\n color: colors.main\n },\n textFiel: {\n \"& > div\": {\n background: colors.disabled,\n } \n },\n textSecondary: {\n textTransform: \"uppercase\",\n color: colors.gray1,\n fontSize: 12,\n },\n noRecommendation: {\n display: \"flex\",\n color: colors.gray2,\n paddingLeft: 20,\n paddingTop: 12,\n marginTop: 8,\n marginBottom: 8,\n marginLeft: 42,\n width: 'calc(100% - 100px)',\n background: colors.disabled,\n border: `1px solid ${colors.gray4}`,\n borderRadius: '2px',\n },\n recommendationUpdate: {\n display: 'none',\n position: 'absolute',\n width: '100%',\n height: '100%',\n background: `linear-gradient(90deg, rgba(0, 0, 0, 0.7) 0.01%, rgba(0, 0, 0, 0) 83%)`,\n alignItems: 'center',\n border: 'none',\n cursor: 'pointer',\n color: colors.white,\n fontWeight: 500,\n paddingLeft: 20,\n fontSize: 14,\n\n },\n recommendation: {\n position: 'relative',\n display: \"flex\",\n color: colors.gray2,\n marginTop: 8,\n marginBottom: 8,\n width: '100%',\n background: colors.disabled,\n border: `1px solid ${colors.gray4}`,\n borderRadius: '2px',\n fontSize: 16,\n fontWeight: 400,\n\n '&:hover > :first-child': {\n display: 'flex'\n }\n },\n\n noRecommendationNew: {\n display: \"flex\",\n color: colors.gray2,\n paddingLeft: 20,\n paddingTop: 12,\n marginTop: 8,\n marginBottom: 8,\n marginLeft: 42,\n width: 'calc(50% - 44px)',\n background: colors.disabled,\n border: `1px solid ${colors.gray4}`,\n borderRadius: '2px',\n }\n })\n);\n","import { Box, Divider, TextField } from '@material-ui/core';\nimport React from 'react';\nimport { Add } from '@material-ui/icons';\nimport { useStyles } from './recommendationSelectWithPreviousComponent.styles';\nimport { RecommendationDisplayModel } from '../../models/healthReport.models';\nimport { RecommendationPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/RecommendationPlaceHolder';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { commonUseStyles } from '../../../common/styles/common.styles';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { selectShortcutService } from '../../services/selectShortcut.service';\nimport { insertString } from '../../../common/helpers/insert-string';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { colors } from '../../../common/constants/colors';\n\nexport interface RecommendationSelectWithPreviousComponentProps {\n currentRecomemendation: RecommendationDisplayModel[],\n newRecommendation: RecommendationDisplayModel[],\n type: number,\n handleSelectedNew: (id: number | string, isSelected: boolean) => void,\n handleSelectedPrev: (id: number | string, isSelected: boolean) => void,\n handleChangesPrev: (id: number | string, value: string) => void,\n handleAddRecommendation: (id: number, index: number) => void,\n hendleUpdateRecommendation: (recommendation: RecommendationDisplayModel) => void,\n}\n\nexport const RecommendationSelectWithPreviousComponent: React.FC<RecommendationSelectWithPreviousComponentProps> = (props: RecommendationSelectWithPreviousComponentProps) => {\n const {\n currentRecomemendation,\n newRecommendation,\n type,\n handleSelectedNew,\n handleSelectedPrev,\n handleChangesPrev,\n handleAddRecommendation,\n hendleUpdateRecommendation,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const handleOnKeyDownPrev = (id: string | number, event: any, idFild: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(idFild) as any).value;\n const cursorPos = (document.getElementById(idFild) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleChangesPrev(id, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n\n const renderPlaceHolder = (title: string) => {\n return <Box display=\"flex\" maxHeight=\"180px\" alignItems=\"center\" justifyContent=\"center\">\n <RecommendationPlaceHolder message={title} />\n </Box>\n }\n\n const renderAddRecommendation = () => {\n return <Box mt={1} display=\"flex\" width={currentRecomemendation.length > 0 ? \"100%\" : \"max-content\"}>\n <Box onClick={() => handleAddRecommendation(type, currentRecomemendation.length)\n }>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>Add Recommendation</span>\n </Box>\n </Box>\n }\n\n const renderRecommendationCurrent = (recommendation: RecommendationDisplayModel) => {\n return <Box my={1} display=\"flex\" width=\"100%\">\n <Box>\n <WildHealthRadio\n checked={recommendation.isSelected}\n onClick={() => handleSelectedPrev(recommendation.id, !recommendation.isSelected)}\n />\n </Box>\n <TextField\n id={`recommendation-text-area-prev-${recommendation.type}-${recommendation.id}`}\n fullWidth\n multiline\n disabled={!recommendation.isSelected}\n className={recommendation.isSelected ? \"\" : classes.textFiel}\n variant=\"outlined\"\n value={recommendation.content}\n onKeyDown={(e) => { handleOnKeyDownPrev(recommendation.id, e, `recommendation-text-area-prev-${recommendation.type}-${recommendation.id}`) }}\n onChange={(v) => {\n handleChangesPrev(recommendation.id, v.target.value)\n }}\n />\n </Box>\n }\n\n const renderRecommendationNew = (recommendation: RecommendationDisplayModel) => {\n return <Box display=\"flex\" width=\"100%\" key={`recommendation-text-area-new-${recommendation.type}-${recommendation.id}`}>\n <Box>\n <WildHealthRadio\n checked={recommendation.isSelected}\n onClick={() => handleSelectedNew(recommendation.id, !recommendation.isSelected)}\n />\n </Box>\n <Box className={classes.recommendation}>\n <button onClick={() => hendleUpdateRecommendation(recommendation)} className={classes.recommendationUpdate}>\n <Box mr={1}>Update</Box>\n <EditIcon style={{ color: colors.white, fontSize: 16 }}/>\n </button>\n <Box pl={2.5} pt={1.5}>{recommendation.content}</Box>\n </Box>\n </Box>\n }\n\n const getRecommendationForCompere = (id: number | string, content: string) => {\n const theSameRecommendation = newRecommendation.find(el => el.baseId === id)\n if (theSameRecommendation && theSameRecommendation.content.trim() !== content.trim()) {\n return <Box width=\"50%\" display=\"flex\">\n {renderRecommendationNew(theSameRecommendation)}\n </Box>\n\n }\n return theSameRecommendation ? <Box width=\"50%\" display=\"flex\"> </Box> : <Box className={classes.noRecommendationNew}> no new recommendation</Box>\n }\n\n const renderCurrentRecommendationsBloc = (el: RecommendationDisplayModel) => {\n return <Box display=\"flex\" mb={1.5} key={`${el.type}-${el.id}`}>\n <Box display=\"flex\" width=\"50%\">\n {renderRecommendationCurrent(el)}\n </Box>\n {getRecommendationForCompere(el.baseId, el.content)}\n <Divider className={commonClasses.renderDivider} />\n </Box>\n }\n\n const renderNewRecommendationsBloc = (el: RecommendationDisplayModel) => {\n return <Box display=\"flex\" mb={1.5} key={`${el.type}-prev-${el.id}`}>\n <Box className={classes.noRecommendation}> no previous recommendation</Box>\n <Box display=\"flex\" width=\"100%\">\n {renderRecommendationNew(el)}\n </Box>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n }\n\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <Box width=\"100%\" display=\"flex\" pl={1.5} mb={1.5} >\n <Box display=\"flex\" width=\"50%\" color=\"secondary\" className={classes.textSecondary}>previous recommendations </Box>\n <Box display=\"flex\" width=\"50%\" className={classes.textSecondary}>new recommendations </Box>\n </Box>\n\n {\n currentRecomemendation && newRecommendation && currentRecomemendation.length && newRecommendation.length\n ? <>\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\">{newRecommendation.filter(recommendation => !currentRecomemendation.find(el => el.baseId === recommendation.baseId))\n .map(recommendation => renderNewRecommendationsBloc(recommendation))}\n </Box>\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\">\n {currentRecomemendation.map(recommendation => renderCurrentRecommendationsBloc(recommendation))}\n {renderAddRecommendation()}\n </Box>\n </>\n : <Box width=\"100%\" display=\"flex\">\n <Box display=\"flex\" width=\"50%\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\">\n {\n currentRecomemendation && currentRecomemendation.length\n ? currentRecomemendation.map(recommendation => renderRecommendationCurrent(recommendation))\n : renderPlaceHolder(\"No Previous Recommendations\")\n }\n {renderAddRecommendation()}\n </Box>\n <Box display=\"flex\" width=\"50%\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\">\n {\n newRecommendation && newRecommendation.length\n ? newRecommendation.map(recommendation => renderRecommendationNew(recommendation))\n : renderPlaceHolder(\"No New Recommendations\")\n }\n </Box>\n </Box>\n }\n\n </Box>\n );\n}\n","import { Box, Checkbox, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { useFacade } from './recommendationsWithPreviousComponent.hooks';\nimport { commonUseStyles } from '../../../common/styles/common.styles';\nimport { recommendationNameOld, RecommendationTypes, RecommendationTypesNumbers } from '../../models/healthReport.models';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport { RecommendationSelectWithPreviousComponent } from '../recommendationSelectWithPreviousComponent/RecommendationSelectWithPreviousComponent';\n\nexport interface RecommendationsWithPreviousComponentProps {\n patientId?: number;\n isPrepareRecommendation: boolean;\n}\n\nexport const RecommendationsWithPreviousComponent: React.FC<RecommendationsWithPreviousComponentProps> = (props: RecommendationsWithPreviousComponentProps) => {\n const {\n patientId,\n isPrepareRecommendation,\n } = props;\n\n const [\n state,\n handleExpandSection,\n handleSelectedNew,\n handleSelectedPrev,\n handleChangesPrev,\n getRecommendationNew,\n getRecommendationCurrent,\n handleAddRecommendation,\n handleSelectedAllNew,\n handleSelectedAllPrevious,\n handleUpdateRecommendation,\n ] = useFacade(patientId, isPrepareRecommendation);\n\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n const commonClasses = commonUseStyles();\n\n const sectionsContent = {\n [RecommendationTypes.Macronutrient]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Macronutrient)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Macronutrient)}\n type={RecommendationTypesNumbers.Macronutrient}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Macronutrient}`}\n />,\n [RecommendationTypes.VitaminsAndMicronutrients]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n type={RecommendationTypesNumbers.VitaminsAndMicronutrients}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.VitaminsAndMicronutrients}`}\n />,\n [RecommendationTypes.Methylation]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Methylation)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Methylation)}\n type={RecommendationTypesNumbers.Methylation}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Methylation}`}\n />,\n [RecommendationTypes.KryptoniteFoods]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.KryptoniteFoods)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.KryptoniteFoods)}\n type={RecommendationTypesNumbers.KryptoniteFoods}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.KryptoniteFoods}`}\n />,\n [RecommendationTypes.SuperFoods]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.SuperFoods)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.SuperFoods)}\n type={RecommendationTypesNumbers.SuperFoods}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.SuperFoods}`}\n />,\n [RecommendationTypes.ExerciseAndRecovery]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.ExerciseAndRecovery)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.ExerciseAndRecovery)}\n type={RecommendationTypesNumbers.ExerciseAndRecovery}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.ExerciseAndRecovery}`}\n />,\n [RecommendationTypes.Sleep]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Sleep)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Sleep)}\n type={RecommendationTypesNumbers.Sleep}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Sleep}`}\n />,\n [RecommendationTypes.Neurobehavioral]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Neurobehavioral)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Neurobehavioral)}\n type={RecommendationTypesNumbers.Neurobehavioral}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Neurobehavioral}`}\n />,\n [RecommendationTypes.Microbiome]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Microbiome)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Microbiome)}\n type={RecommendationTypesNumbers.Microbiome}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Microbiome}`}\n />,\n [RecommendationTypes.Cardiovascular]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Cardiovascular)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Cardiovascular)}\n type={RecommendationTypesNumbers.Cardiovascular}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Cardiovascular}`}\n />,\n [RecommendationTypes.Dementia]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Dementia)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Dementia)}\n type={RecommendationTypesNumbers.Dementia}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Dementia}`}\n />,\n [RecommendationTypes.InsulinResistance]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.InsulinResistance)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.InsulinResistance)}\n type={RecommendationTypesNumbers.InsulinResistance}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.InsulinResistance}`}\n />,\n [RecommendationTypes.Inflammation]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Inflammation)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Inflammation)}\n type={RecommendationTypesNumbers.Inflammation}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Inflammation}`}\n />,\n [RecommendationTypes.Longevity]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Longevity)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Longevity)}\n type={RecommendationTypesNumbers.Longevity}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Longevity}`}\n\n />,\n [RecommendationTypes.Supplements]:\n <RecommendationSelectWithPreviousComponent\n currentRecomemendation={getRecommendationCurrent(RecommendationTypesNumbers.Supplements)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Supplements)}\n type={RecommendationTypesNumbers.Supplements}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesPrev={handleChangesPrev}\n handleAddRecommendation={handleAddRecommendation}\n hendleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Supplements}`}\n />\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`recommendation-component-${key}`} mt={3}>\n <ExpandableComponent\n divider={false}\n title={recommendationNameOld[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={null}\n handleExpand={() => handleExpandSection(+key)}\n />\n <Box mt={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n </Box>\n ))\n }\n </>\n );\n }\n\n return (\n <Box>\n <Box ml={-1.5} mt={2} display=\"flex\" alignItems=\"center\">\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.isSelectedAllNew}\n onChange={() => handleSelectedAllNew()}\n />\n <Box mr={3}>Select All New Recommendations</Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.isSelectedAllPrev}\n onChange={() => handleSelectedAllPrevious()}\n />\n <Box>Select All Previous Recommendations</Box>\n </Box>\n {\n renderSections()\n }\n </Box>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { HealthReportModel, RecommendationDisplayModel, RecommendationTypes } from \"../../models/healthReport.models\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore\";\nimport { healthReportsStore } from \"../../stores/healthReportsStore\";\nimport { Subscription } from \"rxjs/internal/Subscription\";\nimport moment from \"moment\";\n\ninterface RecommendationsComponentState {\n sections: { [id: number]: boolean };\n sectionsIsChanged: { [id: number]: boolean };\n isChanged: boolean;\n recommendations: RecommendationDisplayModel[],\n recommendationsPrevious: RecommendationDisplayModel[],\n isSelectedAllNew: boolean,\n isSelectedAllPrev: boolean,\n}\n\nexport function useFacade(\n patientId: number,\n isPrepareRecommendation: boolean,\n): [\n RecommendationsComponentState,\n (section: RecommendationTypes) => void,\n (id: number | string, isSelected: boolean) => void,\n (id: number | string, isSelected: boolean) => void,\n (id: number | string, value: string) => void,\n (type: number) => RecommendationDisplayModel[],\n (type: number) => RecommendationDisplayModel[],\n (type: number, index: number) => void,\n () => void,\n () => void,\n (recommendation: RecommendationDisplayModel) => void,\n ] {\n const [state, setState] = useState(\n {\n sections: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n sectionsIsChanged: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n isChanged: false,\n recommendations: [],\n recommendationsPrevious: [],\n isSelectedAllNew: true,\n isSelectedAllPrev: false,\n } as RecommendationsComponentState\n );\n\n const handleExpandSection = (section: RecommendationTypes) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState({ ...state, sections: sections });\n }\n\n const checkSelectedAll = () => {\n const selectedAllNew = !state.recommendations.find(el => el.isSelected === false)\n const selectedAllPrev = !state.recommendationsPrevious.find(el => el.isSelected === false)\n setState({ ...state, isSelectedAllNew: selectedAllNew, isSelectedAllPrev: selectedAllPrev });\n }\n\n const handleSelectedNew = (id: number | string, isSelected: boolean) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n\n if(state.recommendationsPrevious.find(el => el.recommendationId === recommendationForIsSelected.recommendationId)) {\n const recommendationPreviousForIsSelected = state.recommendationsPrevious.find(el => el.recommendationId === recommendationForIsSelected.recommendationId)\n recommendationPreviousForIsSelected.isSelected = !isSelected\n }\n\n recommendationForIsSelected.isSelected = isSelected\n checkSelectedAll()\n }\n\n const handleSelectedPrevious = (id: number | string, isSelected: boolean) => {\n const recommendationPreviousForIsSelected = state.recommendationsPrevious.find(el => el.id === id)\n if(state.recommendations.find(el => el.recommendationId === recommendationPreviousForIsSelected.recommendationId)) {\n const recommendationForIsSelected = state.recommendations.find(el => el.recommendationId === recommendationPreviousForIsSelected.recommendationId)\n recommendationForIsSelected.isSelected = !isSelected\n }\n recommendationPreviousForIsSelected.isSelected = isSelected\n checkSelectedAll()\n }\n\n const handleChangesNew = (id: number | string, value: string) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n recommendationForIsSelected.content = value\n setState({ ...state })\n }\n\n const getRecommendationNew = (type: number): RecommendationDisplayModel[] => {\n return state.recommendations?.filter(el => el.type === type)\n }\n\n const getRecommendationCurrent = (type: number): RecommendationDisplayModel[] => {\n return state.recommendationsPrevious?.filter(el => el.type === type)\n }\n\n const handleAddRecommendation = (type: number, index: number) => {\n const newRecommendation = {\n recommendationId: `xxx${index}`,\n baseId: moment().unix() + index,\n id: moment().unix() + index,\n type: type,\n content: '',\n isSelected: true,\n };\n setState({\n ...state,\n recommendations: [\n ...state.recommendations,\n newRecommendation,\n ]\n })\n }\n\n const handleUpdateRecommendation = (recommendation: RecommendationDisplayModel) => {\n const recommendationForUpdated = state.recommendations.find(el => el.baseId === recommendation.baseId)\n if (recommendationForUpdated) {\n recommendationForUpdated.content = recommendation.content\n setState({ ...state })\n } else {\n const updatedRecommendation = [{...recommendation, isSelected: true}, ...state.recommendations ]\n setState({ ...state, recommendations:updatedRecommendation })\n }\n }\n\n const prepereRecommendationToSend = () => {\n const selectedRecommendations = state.recommendationsPrevious.filter(el => el.isSelected)\n const selectedRecommendationsPrevious = state.recommendations.filter(el => el.isSelected)\n\n const recommendationsToSend = [...selectedRecommendations, ...selectedRecommendationsPrevious].map(el => {\n return `${el.recommendationId}`.includes('xxx')\n ? {\n type: el.type,\n baseId: el.baseId,\n content: el.content,\n }\n : {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n type: el.type,\n content: el.content,\n }\n })\n healthReportsStore.putRecommendationToSend(recommendationsToSend)\n }\n\n const handleSelectedAllNew = () => {\n if (!state.isSelectedAllNew) {\n state.recommendations.forEach(el => el.isSelected = !state.isSelectedAllNew)\n state.recommendationsPrevious.forEach(el => el.isSelected = state.isSelectedAllNew)\n setState({ ...state, isSelectedAllNew: true, isSelectedAllPrev: false})\n } else {\n setState({ ...state, isSelectedAllPrev: false, isSelectedAllNew: false })\n }\n }\n\n const handleSelectedAllPrevious = () => {\n if (!state.isSelectedAllPrev) {\n state.recommendationsPrevious.forEach(el => el.isSelected = !state.isSelectedAllPrev)\n state.recommendations.forEach(el => el.isSelected = state.isSelectedAllPrev)\n setState({ ...state, isSelectedAllPrev: true, isSelectedAllNew: false })\n } else {\n setState({ ...state, isSelectedAllPrev: false, isSelectedAllNew: false })\n }\n }\n\n useEffect(() => {\n prepereRecommendationToSend()\n }, [isPrepareRecommendation]);\n\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n\n onEmit<HealthReportModel>(healthReportsQuery.report$, report => {\n setState(state => ({\n ...state,\n recommendations: report?.recommendations.map(el => {\n return {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n id: el.id,\n type: el.type,\n content: el.content,\n isSelected: true,\n }\n }),\n }));\n }),\n onEmit<HealthReportModel>(healthReportsQuery.reportForRecommendation$, report => {\n setState(state => ({\n ...state,\n recommendationsPrevious: report?.recommendations.map(el => {\n return {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n id: el.id,\n type: el.type,\n content: el.content,\n isSelected: false,\n }\n }),\n }));\n }),\n ]\n \n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleSelectedNew,\n handleSelectedPrevious,\n handleChangesNew,\n getRecommendationNew,\n getRecommendationCurrent,\n handleAddRecommendation,\n handleSelectedAllNew,\n handleSelectedAllPrevious,\n handleUpdateRecommendation\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n addText: {\n color: colors.main\n },\n textFiel: {\n \"& > div\": {\n background: colors.disabled,\n }\n },\n textSecondary: {\n textTransform: \"uppercase\",\n color: colors.gray1,\n fontSize: 12,\n },\n noRecommendation: {\n display: \"flex\",\n color: colors.gray2,\n paddingLeft: 20,\n paddingTop: 12,\n marginTop: 8,\n marginBottom: 8,\n marginLeft: 42,\n width: 'calc(100% - 100px)',\n background: colors.disabled,\n border: `1px solid ${colors.gray4}`,\n borderRadius: '2px',\n },\n noRecommendationNew: {\n display: \"flex\",\n color: colors.gray2,\n paddingLeft: 20,\n paddingTop: 12,\n marginTop: 8,\n marginBottom: 8,\n marginLeft: 42,\n width: 'calc(50% - 44px)',\n background: colors.disabled,\n border: `1px solid ${colors.gray4}`,\n borderRadius: '2px',\n },\n recommendationUpdate: {\n display: 'none',\n position: 'absolute',\n width: '100%',\n height: '100%',\n background: `linear-gradient(270deg, rgba(0, 0, 0, 0.7) 0.01%, rgba(0, 0, 0, 0) 83%)`,\n alignItems: 'center',\n justifyContent: 'flex-end',\n border: 'none',\n cursor: 'pointer',\n color: colors.white,\n fontWeight: 500,\n paddingRight: 20,\n fontSize: 14,\n\n },\n recommendation: {\n position: 'relative',\n display: \"flex\",\n color: colors.gray2,\n marginTop: 8,\n marginBottom: 8,\n width: '100%',\n background: colors.disabled,\n border: `1px solid ${colors.gray4}`,\n borderRadius: '2px',\n fontSize: 16,\n fontWeight: 400,\n\n '&:hover > :first-child': {\n display: 'flex'\n }\n },\n\n })\n);\n","import { Box, Divider, TextField } from '@material-ui/core';\nimport { Add } from '@material-ui/icons';\nimport { useStyles } from './recommendationSelectUpdateComponent.styles';\nimport { RecommendationDisplayModel } from '../../models/healthReport.models';\nimport { RecommendationPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/RecommendationPlaceHolder';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { commonUseStyles } from '../../../common/styles/common.styles';\nimport React from 'react';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { selectShortcutService } from '../../services/selectShortcut.service';\nimport { insertString } from '../../../common/helpers/insert-string';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { colors } from '../../../common/constants/colors';\n\nexport interface RecommendationSelectWithPreviousComponentProps {\n currentRecommendation: RecommendationDisplayModel[],\n newRecommendation: RecommendationDisplayModel[],\n type: number,\n handleSelectedNew: (id: number | string, isSelected: boolean) => void,\n handleSelectedPrev: (id: number | string, isSelected: boolean) => void,\n handleChangesNew: (id: number | string, value: string) => void,\n handleAddRecommendation: (id: number, index: number) => void,\n handleUpdateRecommendation: (recommendation: RecommendationDisplayModel) => void,\n}\n\nexport const RecommendationSelectUpdateComponent: React.FC<RecommendationSelectWithPreviousComponentProps> = (props: RecommendationSelectWithPreviousComponentProps) => {\n const {\n currentRecommendation,\n newRecommendation,\n type,\n handleSelectedNew,\n handleSelectedPrev,\n handleChangesNew,\n handleAddRecommendation,\n handleUpdateRecommendation,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const handleOnKeyDownNew = (id: string | number, event: any, idFild: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(idFild) as any).value;\n const cursorPos = (document.getElementById(idFild) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleChangesNew(id, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n\n const renderPlaceHolder = (title: string) => {\n return <Box display=\"flex\" maxHeight=\"180px\" alignItems=\"center\" justifyContent=\"center\">\n <RecommendationPlaceHolder message={title} />\n </Box>\n }\n\n const renderAddRecommendation = () => {\n return <Box mt={1} display=\"flex\" width={newRecommendation.length > 0 ? \"100%\" : \"max-content\"}>\n <Box onClick={() => handleAddRecommendation(type, newRecommendation.length)\n }>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>Add Recommendation</span>\n </Box>\n </Box>\n }\n\n const renderRecommendationCurrent = (recommendation: RecommendationDisplayModel) => {\n return <Box display=\"flex\" width=\"100%\" key={`recommendation-text-area-prev-${recommendation.type}-${recommendation.id}`}>\n <Box>\n <WildHealthRadio\n checked={recommendation.isSelected}\n onClick={() => handleSelectedPrev(recommendation.id, !recommendation.isSelected)}\n />\n </Box>\n <Box className={classes.recommendation}>\n <button onClick={() => handleUpdateRecommendation(recommendation)} className={classes.recommendationUpdate}>\n <EditIcon style={{ color: colors.white, fontSize: 16 }} />\n <Box ml={1}>Update</Box>\n </button>\n <Box pl={2.5} pt={1.5}>{recommendation.content}</Box>\n </Box>\n </Box>\n }\n\n const renderRecommendationNew = (recommendation: RecommendationDisplayModel) => {\n return <Box display=\"flex\" my={1} width=\"100%\" key={`recommendation-text-area-new-${recommendation.type}-${recommendation.id}`}>\n <Box>\n <WildHealthRadio\n checked={recommendation.isSelected}\n onClick={() => handleSelectedNew(recommendation.id, !recommendation.isSelected)}\n />\n </Box>\n <TextField\n id={`recommendation-text-area-new-${recommendation.type}-${recommendation.id}`}\n fullWidth\n multiline\n disabled={!recommendation.isSelected}\n className={recommendation.isSelected ? \"\" : classes.textFiel}\n variant=\"outlined\"\n value={recommendation.content}\n onKeyDown={(e) => { handleOnKeyDownNew(recommendation.id, e, `recommendation-text-area-new-${recommendation.type}-${recommendation.id}`) }}\n onChange={(v) => {\n handleChangesNew(recommendation.id, v.target.value)\n }}\n />\n </Box>\n }\n\n const getRecommendationForCompere = (id: number | string, content: string) => {\n const theSameRecommendation = newRecommendation.find(el => el.baseId === id)\n return theSameRecommendation ? <Box width=\"50%\" display=\"flex\"> {renderRecommendationNew(theSameRecommendation)}</Box> : <Box className={classes.noRecommendationNew}> no new recommendation</Box>\n }\n\n const renderCurrentRecommendationsBloc = (el: RecommendationDisplayModel) => {\n return <Box display=\"flex\" mb={1.5} key={`${el.type}-${el.id}`}>\n <Box display=\"flex\" width=\"50%\">\n {renderRecommendationCurrent(el)}\n </Box>\n {getRecommendationForCompere(el.baseId, el.content)}\n <Divider className={commonClasses.renderDivider} />\n </Box>\n }\n\n const renderNewRecommendationsBloc = (el: RecommendationDisplayModel) => {\n return <Box display=\"flex\" mb={1.5} key={`${el.type}-prev-${el.id}`}>\n <Box className={classes.noRecommendation}> no previous recommendation</Box>\n <Box display=\"flex\" width=\"100%\">\n {renderRecommendationNew(el)}\n </Box>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n }\n\n return (\n <Box display=\"flex\" flexDirection=\"column\">\n <Box width=\"100%\" display=\"flex\" pl={1.5} mb={1.5} >\n <Box display=\"flex\" width=\"50%\" color=\"secondary\" className={classes.textSecondary}>previous recommendations </Box>\n <Box display=\"flex\" width=\"50%\" className={classes.textSecondary}>new recommendations </Box>\n </Box>\n\n {\n currentRecommendation && newRecommendation && currentRecommendation.length && newRecommendation.length\n ? <>\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\">{currentRecommendation.map(recommendation => renderCurrentRecommendationsBloc(recommendation))}</Box>\n <Box width=\"100%\" display=\"flex\" flexDirection=\"column\">{newRecommendation.filter(recommendation => !currentRecommendation.find(el => el.baseId == recommendation.baseId))\n .map(recommendation => renderNewRecommendationsBloc(recommendation))}\n <Box width=\"100%\" display=\"flex\">\n <Box width=\"100%\" display=\"flex\"></Box>{renderAddRecommendation()}\n </Box>\n </Box>\n </>\n : <Box width=\"100%\" display=\"flex\">\n <Box display=\"flex\" width=\"50%\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\">\n {\n currentRecommendation && currentRecommendation.length\n ? currentRecommendation.map(recommendation => renderRecommendationCurrent(recommendation))\n : renderPlaceHolder(\"No Previous Recommendations\")\n }\n </Box>\n <Box display=\"flex\" width=\"50%\" flexDirection=\"column\" alignItems=\"center\" justifyContent=\"center\">\n {\n newRecommendation && newRecommendation.length\n ? newRecommendation.map(recommendation => renderRecommendationNew(recommendation))\n : renderPlaceHolder(\"No New Recommendations\")\n }\n {renderAddRecommendation()}\n </Box>\n </Box>\n }\n </Box>\n );\n}","import { Box, Checkbox, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { useFacade } from './recommendationsUpdatePreviousComponent.hooks';\nimport { commonUseStyles } from '../../../common/styles/common.styles';\nimport { recommendationNameOld, RecommendationTypes, RecommendationTypesNumbers } from '../../models/healthReport.models';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport { RecommendationSelectUpdateComponent } from '../recommendationSelectUpdateComponent/RecommendationSelectUpdateComponent';\n\nexport interface RecommendationsUpdatePreviousComponentProps {\n patientId?: number;\n isPrepareRecommendation: boolean;\n}\n\nexport const RecommendationsUpdatePreviousComponent: React.FC<RecommendationsUpdatePreviousComponentProps> = (props: RecommendationsUpdatePreviousComponentProps) => {\n const {\n patientId,\n isPrepareRecommendation,\n } = props;\n\n const [\n state,\n handleExpandSection,\n handleSelectedNew,\n handleSelectedPrev,\n handleChangesNew,\n getRecommendationNew,\n getRecommendationCurrent,\n handleAddRecommendation,\n handleSelectedAllNew,\n handleSelectedAllPrevious,\n handleUpdateRecommendation,\n ] = useFacade(patientId, isPrepareRecommendation);\n\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n const commonClasses = commonUseStyles();\n\n const sectionsContent = {\n [RecommendationTypes.Macronutrient]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Macronutrient)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Macronutrient)}\n type={RecommendationTypesNumbers.Macronutrient}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Macronutrient}`}\n />,\n [RecommendationTypes.VitaminsAndMicronutrients]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n type={RecommendationTypesNumbers.VitaminsAndMicronutrients}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.VitaminsAndMicronutrients}`}\n />,\n [RecommendationTypes.Methylation]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Methylation)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Methylation)}\n type={RecommendationTypesNumbers.Methylation}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Methylation}`}\n />,\n [RecommendationTypes.KryptoniteFoods]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.KryptoniteFoods)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.KryptoniteFoods)}\n type={RecommendationTypesNumbers.KryptoniteFoods}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.KryptoniteFoods}`}\n />,\n [RecommendationTypes.SuperFoods]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.SuperFoods)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.SuperFoods)}\n type={RecommendationTypesNumbers.SuperFoods}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.SuperFoods}`}\n />,\n [RecommendationTypes.ExerciseAndRecovery]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.ExerciseAndRecovery)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.ExerciseAndRecovery)}\n type={RecommendationTypesNumbers.ExerciseAndRecovery}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.ExerciseAndRecovery}`}\n />,\n [RecommendationTypes.Sleep]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Sleep)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Sleep)}\n type={RecommendationTypesNumbers.Sleep}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Sleep}`}\n />,\n [RecommendationTypes.Neurobehavioral]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Neurobehavioral)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Neurobehavioral)}\n type={RecommendationTypesNumbers.Neurobehavioral}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Neurobehavioral}`}\n />,\n [RecommendationTypes.Microbiome]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Microbiome)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Microbiome)}\n type={RecommendationTypesNumbers.Microbiome}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Microbiome}`}\n />,\n [RecommendationTypes.Cardiovascular]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Cardiovascular)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Cardiovascular)}\n type={RecommendationTypesNumbers.Cardiovascular}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Cardiovascular}`}\n />,\n [RecommendationTypes.Dementia]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Dementia)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Dementia)}\n type={RecommendationTypesNumbers.Dementia}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Dementia}`}\n />,\n [RecommendationTypes.InsulinResistance]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.InsulinResistance)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.InsulinResistance)}\n type={RecommendationTypesNumbers.InsulinResistance}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.InsulinResistance}`}\n />,\n [RecommendationTypes.Inflammation]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Inflammation)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Inflammation)}\n type={RecommendationTypesNumbers.Inflammation}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Inflammation}`}\n />,\n [RecommendationTypes.Longevity]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Longevity)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Longevity)}\n type={RecommendationTypesNumbers.Longevity}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Longevity}`}\n\n />,\n [RecommendationTypes.Supplements]:\n <RecommendationSelectUpdateComponent\n currentRecommendation={getRecommendationCurrent(RecommendationTypesNumbers.Supplements)}\n newRecommendation={getRecommendationNew(RecommendationTypesNumbers.Supplements)}\n type={RecommendationTypesNumbers.Supplements}\n handleSelectedNew={handleSelectedNew}\n handleSelectedPrev={handleSelectedPrev}\n handleChangesNew={handleChangesNew}\n handleAddRecommendation={handleAddRecommendation}\n handleUpdateRecommendation={handleUpdateRecommendation}\n key={`recommendation-section-${RecommendationTypesNumbers.Supplements}`}\n />,\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`recommendation-component-${key}`} mt={3}>\n <ExpandableComponent\n divider={false}\n title={recommendationNameOld[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={null}\n handleExpand={() => handleExpandSection(+key)}\n />\n <Box mt={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n </Box>\n ))\n }\n </>\n );\n }\n\n return (\n <Box>\n <Box ml={-1.5} mt={2} display=\"flex\" alignItems=\"center\">\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.isSelectedAllNew}\n onChange={() => handleSelectedAllNew()}\n />\n <Box mr={3}>Select All New Recommendations</Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.isSelectedAllPrev}\n onChange={() => handleSelectedAllPrevious()}\n />\n <Box>Select All Previous Recommendations</Box>\n </Box>\n {\n renderSections()\n }\n </Box>\n );\n}\n","import { Box, Dialog, DialogActions, DialogContent, IconButton, } from \"@material-ui/core\";\nimport React from \"react\";\nimport { RecommendationsDialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./recommendationsDialogComponent.hooks\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { HealthReportDialogName, RecommendationSetType } from \"../../models/healthReport.models\";\nimport { ChevronLeft } from '@material-ui/icons';\nimport { BackButtonDialog } from \"../../../common/components/wildHealthButton/BackButton\";\nimport { RecommendationsComponent } from \"../recommendationsComponent/RecommendationsComponent\";\nimport { RecommendationsWithPreviousComponent } from \"../recommendationsWithPreviousComponent/RecommendationsWithPreviousComponent\";\nimport { RecommendationsUpdatePreviousComponent } from \"../recommendationsUpdatePreviousComponent/RecommendationsUpdatePreviousComponent\";\n\n\nexport const RecommendationsDialogComponent: React.FC<RecommendationsDialogComponentProps> = (props: RecommendationsDialogComponentProps) => {\n const {\n title,\n type,\n patientId,\n open,\n handleClose,\n handleGoBack,\n handleReportGenerate,\n handleReportRegenerate,\n } = props;\n\n\n const [\n state,\n handleSubmitUpdate,\n handleSubmit,\n handleCancel,\n handleCancelRegenerate,\n ] = useFacade(handleClose, patientId, open, handleReportGenerate, handleReportRegenerate);\n\n\n const getSubTitle = (): string => {\n switch (type) {\n case RecommendationSetType.New:\n return \"Use New Set of Recommendations\"\n case RecommendationSetType.Previous:\n return \"Use Set from Selected Report\"\n case RecommendationSetType.Compare:\n return \"Compare With Previous Report\"\n }\n }\n\n const getContent = (): JSX.Element => {\n switch (type) {\n case RecommendationSetType.New:\n case RecommendationSetType.NewAndSkipReview:\n return <RecommendationsComponent\n isPrepereRecommendation={state.isPrepereRecommendation}\n />\n case RecommendationSetType.Previous:\n return <RecommendationsWithPreviousComponent\n isPrepareRecommendation={state.isPrepereRecommendation}\n />\n case RecommendationSetType.Compare:\n return <RecommendationsUpdatePreviousComponent\n isPrepareRecommendation={state.isPrepereRecommendation}\n />\n }\n }\n\n return (\n <Dialog maxWidth=\"lg\" fullWidth open={open} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n\n <DialogTitle>\n <Box pl=\"20px\" display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n {title}\n <IconButton id=\"fecommendations-dialog-close\" onClick={() => handleClose()}>\n <CloseIcon />\n </IconButton>\n </Box>\n </DialogTitle>\n\n <DialogContent>\n <Box m={3} my={1} fontWeight=\"500\" >\n {getSubTitle()}\n {getContent()}\n </Box>\n </DialogContent>\n\n <DialogActions>\n <Box display=\"flex\" m={3} justifyContent=\"space-between\" width=\"100%\">\n <Box>\n <BackButtonDialog id='recommendations-dialog-go-back' onClick={() => handleGoBack()}>\n <Box\n display=\"flex\"\n alignItems=\"center\"\n >\n <ChevronLeft fontSize=\"small\" />\n <Box ml={1}>\n <span>Back</span>\n </Box>\n </Box>\n </BackButtonDialog>\n </Box>\n <Box display=\"flex\">\n <Box mx={3}>\n <WildHealthButton\n id=\"recommendations-dialog-cancel\"\n color=\"tertiary\"\n onClick={() => title === HealthReportDialogName.New ? handleCancel(): handleCancelRegenerate()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n {title === HealthReportDialogName.New\n ? <Box>\n <WildHealthButton\n id=\"recommendations-dialog-generate\"\n onClick={() => handleSubmit()}\n >\n Generate Report\n </WildHealthButton>\n </Box>\n : <Box>\n <WildHealthButton\n id=\"recommendations-dialog-generate\"\n onClick={() => handleSubmitUpdate()}\n >\n Update Report\n </WildHealthButton>\n </Box>}\n\n </Box>\n </Box>\n </DialogActions>\n </Dialog>\n );\n}\n","import { Box, Dialog, DialogActions, DialogContent, FormControl, IconButton, MenuItem, Select } from \"@material-ui/core\";\nimport React from \"react\";\nimport { SelectRecommendationSetDialogProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./selectRecommendationSetDialog.hooks\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthRadio } from \"../../../common/components/WildHealthRadio\";\nimport { HealthReportDialogName, RecommendationSetType } from \"../../models/healthReport.models\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport moment from \"moment\";\nimport { colors } from '../../../../modules/common/constants/colors';\nimport { RecommendationsDialogComponent } from \"../recommendationsDialogComponent/RecommendationsDialogComponent\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\nexport const SelectRecommendationSetDialog: React.FC<SelectRecommendationSetDialogProps> = (props: SelectRecommendationSetDialogProps) => {\n const {\n title,\n patientId,\n open,\n handleClose,\n handleReportGenerate,\n handleReportRegenerate,\n } = props;\n\n const reportRecomendationSet = title === HealthReportDialogName.New\n ? [\n RecommendationSetType.NewAndSkipReview,\n RecommendationSetType.New,\n RecommendationSetType.Previous,\n ]\n : [\n RecommendationSetType.NewAndSkipReview,\n RecommendationSetType.Compare,\n RecommendationSetType.New,\n ]\n\n const [\n state,\n handleTypeChange,\n handleSubmit,\n handleReportChange,\n handleCloseRecommendationsDialog,\n handleGoBackRecommendationsDialog,\n ] = useFacade(handleClose, reportRecomendationSet[0], patientId, open, title, handleReportGenerate, handleReportRegenerate);\n\n const selectRecommendationSet = (\n <>\n <Box m={3} my={1} fontWeight=\"500\">\n Select a Recommendation Set\n </Box>\n <Box m={3} mt={1}>\n {\n reportRecomendationSet.map((type, index) => {\n return (\n <Box key={index} display='flex' alignItems='center' ml={-1}>\n <Box>\n <WildHealthRadio\n checked={state.selectedType === type}\n onChange={() => handleTypeChange(type)}\n value={type}\n />\n </Box>\n <Box>{type}</Box>\n </Box>\n )\n })\n }\n </Box>\n </>\n );\n\n const selectReport = (\n <>\n <Box m={3} my={1} fontWeight=\"500\">\n {state.selectedType === RecommendationSetType.Previous ? \"Use Set from Selected Report\" : \"Compare With Previous Report\"}\n\n </Box>\n <Box m={3} mb={1} color={colors.gray1} fontSize=\"14px\">Select Report</Box>\n <Box m={3} mt={1}>\n <FormControl\n fullWidth\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <Select\n fullWidth\n value={state.report?.id ?? 0}\n onChange={(event) => handleReportChange(Number(event.target.value))}\n >\n {\n state.reports.map((report, index) =>\n <MenuItem\n key={report.id}\n value={report.id}\n >\n {index === state.reports.length - 1 ? `Current Report` : `Report (${moment(toCurrentTimeZone(report.status.date)).format(\"MMM DD, yyyy\")})`}\n </MenuItem>)\n }\n </Select>\n </FormControl>\n </Box>\n </>\n );\n\n return (\n <Dialog fullWidth open={open} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogContent>\n <DialogTitle>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\">\n {title}\n <IconButton id=\"select-recommendation-close\" onClick={() => handleClose()}>\n <CloseIcon />\n </IconButton>\n </Box>\n </DialogTitle>\n {state.isSelectReport ? selectReport : selectRecommendationSet}\n </DialogContent>\n <DialogActions>\n <Box display=\"flex\" justifyContent=\"flex-end\" width=\"100%\" px={3} pb={2}>\n <Box mr={1.5}>\n <WildHealthButton\n id=\"select-recommendation-cancel\"\n color=\"tertiary\"\n onClick={() => handleClose()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"select-recommendation-save\"\n onClick={() => handleSubmit()}\n disabled={state.isSelectReport && !state.report}\n >\n Proceed\n </WildHealthButton>\n </Box>\n </Box>\n </DialogActions>\n <RecommendationsDialogComponent\n title={title}\n type={state.selectedType}\n patientId={patientId}\n open={state.isRecommendationsDialogOpen}\n handleClose={() => handleCloseRecommendationsDialog()}\n handleGoBack={() => handleGoBackRecommendationsDialog()}\n handleReportGenerate={handleReportGenerate}\n handleReportRegenerate={handleReportRegenerate}\n />\n </Dialog>\n );\n}\n","import { Box, Button, ButtonGroup, CircularProgress, FormControl, IconButton, InputLabel, ListItemIcon, MenuItem, Popover, Select, Tooltip, Typography } from '@material-ui/core';\nimport ArrowBackIosRoundedIcon from '@material-ui/icons/ArrowBackIosRounded';\nimport ArrowForwardIosRoundedIcon from '@material-ui/icons/ArrowForwardIosRounded';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport moment from 'moment';\nimport clsx from 'clsx';\nimport React from \"react\";\nimport { PageSliderNavigationContext } from '../../../common/models/navigation.models';\nimport { HealthReportDialogName, HealthReportModel, HealthReportPages, HealthReportStatus } from \"../../models/healthReport.models\";\nimport { NavigationStep } from '../healthReportComponent/healthReportComponent.hooks';\nimport { PdfLoaderComponent } from \"../pdfLoader/pdfLoaderComponent\";\nimport { useFacade } from \"./healthReportToolbarComponent.hooks\";\nimport { ActionsButton, useStyles } from \"./healthReportToolbarComponent.styles\";\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport PlayCircleOutlineIcon from '@material-ui/icons/PlayCircleFilledOutlined';\nimport ReplayIcon from '@material-ui/icons/CachedRounded';\nimport SendIcon from '@material-ui/icons/Send';\nimport InfoIcon from '@material-ui/icons/InfoOutlined';\nimport CloseIcon from '@material-ui/icons/Close';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { colors } from \"../../../common/constants/colors\";\nimport { ChangeReviewerDialogComponent } from '../changeReviewerDialogComponent/ChangeReviewerDialogComponent';\nimport { PracticeProfileModel } from '../../../account/models/practiceProfile.model';\nimport { SelectRecommendationSetDialog } from '../selectRecommendationSetDialog/SelectRecommendationSetDialog';\nimport { isFeatureFlag } from '../../../common/components/featureFlags/featureFlags';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { commonUseStyles } from \"../../../common/styles/common.styles\"\n\n\ninterface HealthReportToolbarComponentProps {\n patientId?: number;\n report: HealthReportModel;\n navigationContext: PageSliderNavigationContext;\n navigationSteps: Array<NavigationStep>;\n currentPage: HealthReportPages;\n practice: PracticeProfileModel\n}\n\nexport const HealthReportToolbarComponent: React.FC<HealthReportToolbarComponentProps> = (props: HealthReportToolbarComponentProps) => {\n const {\n patientId,\n report,\n navigationContext,\n navigationSteps,\n currentPage,\n practice\n } = props;\n\n const featureFlags = useFlags();\n const isNewRecommendations = isFeatureFlag(featureFlags, FeatureFlag.ReportRecommendations);\n\n const [\n {\n isBannerExist,\n isGenerating,\n isPublishing,\n isRegenerating,\n isChangeReviewerOpen,\n isSelectRecommendationSetOpen,\n actionsMenuAnchor,\n isOpen,\n reports,\n dialogName,\n actionSelectReportAnchor,\n selectedReportName,\n fixedSectionShow\n },\n onCloseBanner,\n displayStatus,\n getStatusDateLabel,\n getStatusColor,\n handleReportChange,\n canGenerateReport,\n handleReportGenerate,\n canRegenerateReport,\n handleReportRegenerate,\n handleToggleCloseChangeReviewer,\n canReportDownload,\n handleReportDownload,\n handleToggleActions,\n handlePublishReport,\n canPublishReport,\n handleCloseSelectRecommendationSet,\n handleOpenSelectRecommendationSet,\n handleSelectReportToggle,\n handleGoToReportPage,\n handleFixedSectionToggle\n ] = useFacade(patientId, report, practice, isNewRecommendations, navigationContext);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderDownloadButton = () => (\n <Tooltip\n placement=\"top\"\n arrow\n className={classes.toolButton}\n title=\"Download\"\n key='generate-btn-download'\n >\n <ActionsButton\n id=\"health-report-toolbar-download\"\n className={!canReportDownload(report.status.status) ? classes.disabledBtn : ''}\n onClick={() => handleReportDownload()}\n >\n <GetAppIcon className={classes.iconSize} />\n </ActionsButton>\n </Tooltip>\n );\n\n const selectReport = (\n <FormControl\n fullWidth\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n >\n <InputLabel>Select Report</InputLabel>\n <Select\n fullWidth\n label=\"Select Report\"\n value={report?.id ?? 0}\n onChange={(event) => handleReportChange(Number(event.target.value))}\n >\n {\n reports.map((report, index) =>\n <MenuItem\n key={report.id}\n value={report.id}\n >\n {index === reports.length - 1 ? `Current Report` : `Report (${moment(toCurrentTimeZone(report.status.date)).format(\"MMM DD, yyyy\")})`}\n </MenuItem>)\n }\n </Select>\n </FormControl>\n );\n\n const selectReportMobile = (\n <FormControl\n fullWidth\n color='primary'\n variant=\"outlined\"\n size=\"small\"\n classes={{ root: classes.reportSelectRoot }}\n >\n <Select\n fullWidth\n value={report?.id ?? 0}\n onChange={(event) => handleReportChange(Number(event.target.value))}\n classes={{ root: classes.reportSelectRoot }}\n >\n {\n reports.map((report, index) =>\n <MenuItem\n key={report.id}\n value={report.id}\n >\n {index === reports.length - 1 ? `Current Report` : `Report (${moment(toCurrentTimeZone(report.status.date)).format(\"MMM DD, yyyy\")})`}\n </MenuItem>)\n }\n </Select>\n </FormControl>\n );\n\n const renderGenerateButton = () => (\n <Tooltip\n placement=\"top\" arrow\n key='generate-btn-generate'\n title={isGenerating ? 'Generating...' : 'Generate New Report'}\n >\n <ActionsButton\n id=\"health-report-toolbar-generate\"\n onClick={() => isNewRecommendations ? handleOpenSelectRecommendationSet(HealthReportDialogName.New) : handleReportGenerate()}\n className={!canGenerateReport() ? classes.disabledBtn : ''}\n >\n {\n isGenerating\n ? <CircularProgress size={24} style={{ color: colors.main }} />\n : <PlayCircleOutlineIcon className={classes.iconSize} />\n }\n </ActionsButton>\n </Tooltip>\n );\n\n const renderRegenerateButton = () => {\n let tooltip = 'Update Current Report';\n\n if (report.status.status === HealthReportStatus.Submitted) {\n tooltip = 'Published reports cannot be updated. Please generate a new report';\n }\n\n if (report.status.status === HealthReportStatus.Preparing) {\n tooltip = 'Preparing reports cannot be updated. Please generate a new report';\n }\n\n return (\n <Tooltip\n placement=\"top\" arrow\n key='regenerate-btn-regenerate'\n title={tooltip}\n >\n <ActionsButton\n id=\"health-report-toolbar-regenerate\"\n onClick={() => isNewRecommendations ? handleOpenSelectRecommendationSet(HealthReportDialogName.Update) : handleReportRegenerate()}\n className={!canRegenerateReport() ? classes.disabledBtn : ''}\n >\n {\n isRegenerating\n ? <CircularProgress size={24} style={{ color: colors.main }} />\n : <ReplayIcon className={classes.iconSize} />\n }\n </ActionsButton>\n </Tooltip>\n );\n }\n\n const renderPublishButton = () => (\n <Tooltip\n placement=\"top\" arrow\n key='regenerate-btn-publish'\n title='Publish Report'\n >\n <ActionsButton\n id=\"health-report-toolbar-publish-report\"\n onClick={() => handlePublishReport()}\n className={!canPublishReport() ? classes.disabledBtn : ''}\n >\n {\n isPublishing\n ? <CircularProgress size={24} style={{ color: colors.main }} />\n : <SendIcon className={classes.rotateIcon} />\n }\n </ActionsButton>\n </Tooltip>\n );\n\n return (\n <Box className={classes.root}>\n {isBannerExist &&\n <Box className={classes.infoWrapper}>\n <Box display='flex' className={classes.infoContainer}>\n <InfoIcon style={{ fill: colors.white }} />\n <Box width='100%' pl={2} pr={2} color={colors.white}>This report needs to be reviewed and signed.</Box>\n <Box>\n <IconButton id=\"health-report-toolbar-close-banner\" onClick={() => onCloseBanner()}>\n <CloseIcon style={{ fill: colors.white }} />\n </IconButton>\n </Box>\n\n </Box>\n </Box>}\n <Box className={classes.toolContainer}>\n <Box className={classes.status} px={2}>\n <Box mt={3}>\n <Box display=\"flex\">\n <Box m={1} className={classes.boxCircle} style={{ backgroundColor: getStatusColor() }}></Box>\n <span className=\"text-medium\"> {displayStatus()}</span>\n </Box>\n <Box>\n <span className=\"size-0_75\">{getStatusDateLabel()}</span>\n </Box>\n </Box>\n\n <Box mt={2}>\n <Box className={classes.toolActions}>\n <Box width=\"200px\">{selectReport}</Box>\n\n <ProtectedElement\n element={patientId != null ? [renderGenerateButton(), renderRegenerateButton(), renderPublishButton()] : <></>}\n permissions={[PermissionType.HealthReportGeneration]}\n />\n {renderDownloadButton()}\n </Box>\n\n <Box className={classes.toolActionsPad}>\n <Tooltip className={classes.toolButton} title=\"Open Actions\">\n <Button id=\"health-report-toolbar-actions\" onClick={(event) => handleToggleActions(event.currentTarget)}>\n <MoreVertIcon />\n </Button>\n </Tooltip>\n\n <Popover\n anchorOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'left',\n }}\n open={Boolean(actionsMenuAnchor)}\n anchorEl={actionsMenuAnchor}\n onClose={() => handleToggleActions()}\n >\n <Box m='16px 8px 0 8px'>\n {selectReport}\n </Box>\n\n <ProtectedElement\n element={\n patientId != null &&\n <WildHealthMenuItem \n id=\"health-report-toolbar-popover-generate\" \n onClick={() => isNewRecommendations ? handleOpenSelectRecommendationSet(HealthReportDialogName.New) : handleReportGenerate()} \n disabled={!canGenerateReport()}>\n <ListItemIcon>\n {\n isGenerating\n ? <CircularProgress size={24} style={{ color: colors.main }} />\n : <PlayCircleOutlineIcon />\n }\n </ListItemIcon>\n <Typography variant=\"inherit\">{isGenerating ? 'Generating...' : 'Generate'}</Typography>\n </WildHealthMenuItem>\n }\n permissions={[PermissionType.HealthReportGeneration]}\n />\n\n <ProtectedElement\n element={\n patientId != null &&\n <WildHealthMenuItem \n id=\"health-report-toolbar-popover-regenerate\" \n onClick={() => isNewRecommendations ? handleOpenSelectRecommendationSet(HealthReportDialogName.Update) : handleReportRegenerate()} \n disabled={!canRegenerateReport()}>\n <ListItemIcon>\n {\n isRegenerating\n ? <CircularProgress size={24} style={{ color: colors.main }} />\n : <ReplayIcon />\n }\n </ListItemIcon>\n <Typography variant=\"inherit\">{isRegenerating ? 'Generating...' : 'Regenerate'}</Typography>\n </WildHealthMenuItem>\n }\n permissions={[PermissionType.HealthReportGeneration]}\n />\n <ProtectedElement\n element={\n patientId != null &&\n <WildHealthMenuItem id=\"health-report-toolbar-popover-publish\" onClick={() => handlePublishReport()} disabled={!canPublishReport()}>\n <ListItemIcon>\n {\n isPublishing\n ? <CircularProgress size={24} style={{ color: colors.main }} />\n : <SendIcon className={classes.rotateIcon} />\n }\n </ListItemIcon>\n <Typography variant=\"inherit\">{isPublishing ? 'Publishing...' : 'Publish'}</Typography>\n </WildHealthMenuItem>\n }\n permissions={[PermissionType.HealthReportGeneration]}\n />\n <WildHealthMenuItem id=\"health-report-toolbar-popover-download\" onClick={() => handleReportDownload()} disabled={!canReportDownload(report.status.status)}>\n <ListItemIcon>\n <GetAppIcon />\n </ListItemIcon>\n <Typography variant=\"inherit\">Download</Typography>\n </WildHealthMenuItem>\n </Popover>\n </Box>\n\n <Box className={classes.toolActionsMobile}>\n {selectReportMobile}\n </Box>\n </Box>\n </Box>\n <PdfLoaderComponent isOpen={isOpen} />\n </Box>\n\n <Box className={classes.navigationContainer}>\n <Button\n id=\"health-report-toolbar-go-back\"\n key={-1}\n color=\"primary\"\n onClick={() => navigationContext.goBack()}\n disabled={!navigationContext.canGoBack()}\n className={classes.navigationButton}\n >\n <ArrowBackIosRoundedIcon />\n </Button>\n <Box className={clsx(\"flat-scroll\", classes.stepsContainer)}>\n <ButtonGroup id='navigation-step-container'>\n {\n navigationSteps.map((item, index) =>\n <Button\n id={`${item.from}-step`}\n key={index * index}\n color='primary'\n onClick={() => navigationContext.goTo(item.from)}\n className={clsx(classes.stepButton, {\n [classes.stepButtonSelected]: item.from <= currentPage && currentPage <= item.to,\n })}\n >\n {item.name}\n </Button>\n )\n }\n </ButtonGroup>\n </Box>\n <Button\n id=\"health-report-toolbar-go-next\"\n key={navigationSteps.length}\n color=\"primary\"\n onClick={() => navigationContext.goNext()}\n disabled={!navigationContext.canGoNext()}\n className={classes.navigationButton}\n >\n <ArrowForwardIosRoundedIcon />\n </Button>\n </Box>\n <Box className={classes.navigationMobileContainer} px={2}>\n <WildHealthButton\n fullWidth\n id=\"select-report-setion-button\" \n color='tertiary'\n onClick={(event) => handleSelectReportToggle(event.currentTarget)}\n >\n {selectedReportName ? selectedReportName : 'Select Report section'}\n <ExpandMoreIcon />\n </WildHealthButton>\n\n <Popover\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'center',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'center',\n }}\n open={Boolean(actionSelectReportAnchor)}\n anchorEl={actionSelectReportAnchor}\n onClose={() => handleSelectReportToggle()}\n className={classes.reportPagePopover}\n >\n {\n navigationSteps.map((item, index) =>\n <Button\n fullWidth\n id={`${item.from}-step`}\n key={index * index}\n color='primary'\n onClick={() => handleGoToReportPage(item)}\n className={clsx(classes.stepMobileButton, {\n [classes.stepButtonSelected]: item.from <= currentPage && currentPage <= item.to,\n })}\n >\n {item.name}\n </Button>\n )\n }\n </Popover>\n\n {fixedSectionShow && (\n <Box position=\"fixed\" right={0} bottom=\"55px\" zIndex={1202} px={2} className={classes.mobileDownloadSection}>\n <Box width={1} p={1} pr={0} className={classes.fixedSection}>\n <Box flex={1} mr={0.5} className={clsx(commonClasses.size12, commonClasses.textRegular, commonClasses.colorWhite)}>Please download the report for a better experience</Box>\n <WildHealthButton\n id=\"health-report-fixed-download-button\" \n color=\"primary\"\n width=\"132px\"\n disabled={!canReportDownload(report.status.status)}\n onClick={() => handleReportDownload()}\n >\n <GetAppIcon className={classes.downloadIcon} />\n <Box ml=\"10px\">Download</Box>\n </WildHealthButton>\n <IconButton id=\"health-report-fixed-section-close-button\" className={classes.fixedCloseButton} onClick={() => handleFixedSectionToggle()}>\n <CloseIcon style={{ fill: colors.white }} />\n </IconButton>\n </Box>\n </Box>\n )}\n </Box>\n <ChangeReviewerDialogComponent\n patientId={report.owner.id}\n reportId={report.id}\n reportReviewerId={report.reviewer?.id}\n open={isChangeReviewerOpen}\n handleClose={() => handleToggleCloseChangeReviewer()}\n />\n {!isGenerating && !isRegenerating && <SelectRecommendationSetDialog\n title={dialogName}\n patientId={report.owner.id}\n open={isSelectRecommendationSetOpen}\n handleClose={() => handleCloseSelectRecommendationSet()}\n handleReportGenerate={handleReportGenerate}\n handleReportRegenerate={handleReportRegenerate}\n />}\n </Box>\n );\n}","import { Box, Divider, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { ExpandableComponent } from '../../common/components/expandableComponent/ExpandableComponent';\nimport { WildHealthButton } from '../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../common/styles/common.styles';\nimport { RecommendationSingleSelectComponent } from '../components/recommendationSingleSelectComponent/RecommendationSingleSelectComponent';\nimport { HealthReportSections, recommendationNameOld, RecommendationTypes, RecommendationTypesNumbers, HealthReportMode } from \"../models/healthReport.models\";\nimport { HealthReportBasePage, HealthReportMobileBasePage } from \"./HealthReportBasePage\";\nimport { HealthReportPageProps } from \"./healthReportPageProps\";\nimport { useFacade } from \"./healthReportRecommendationsPage.hooks\"\n\nexport const HealthReportRecommendationsPage: React.FC<HealthReportPageProps> = (props: HealthReportPageProps) => {\n const {\n pageNumber,\n isChanged,\n mode,\n practice,\n recommendations,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n handleCancel,\n } = props;\n\n\n const [\n state,\n handleExpandSection,\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const sectionsContent = {\n [RecommendationTypes.Macronutrient]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Macronutrient)}\n type={RecommendationTypesNumbers.Macronutrient}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.VitaminsAndMicronutrients]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.VitaminsAndMicronutrients)}\n type={RecommendationTypesNumbers.VitaminsAndMicronutrients}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.KryptoniteFoods]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.KryptoniteFoods)}\n type={RecommendationTypesNumbers.KryptoniteFoods}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.SuperFoods]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.SuperFoods)}\n type={RecommendationTypesNumbers.SuperFoods}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.ExerciseAndRecovery]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.ExerciseAndRecovery)}\n type={RecommendationTypesNumbers.ExerciseAndRecovery}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Sleep]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Sleep)}\n type={RecommendationTypesNumbers.Sleep}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Neurobehavioral]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Neurobehavioral)}\n type={RecommendationTypesNumbers.Neurobehavioral}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Microbiome]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Microbiome)}\n type={RecommendationTypesNumbers.Microbiome}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Cardiovascular]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Cardiovascular)}\n type={RecommendationTypesNumbers.Cardiovascular}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Dementia]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Dementia)}\n type={RecommendationTypesNumbers.Dementia}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.InsulinResistance]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.InsulinResistance)}\n type={RecommendationTypesNumbers.InsulinResistance}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Inflammation]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Inflammation)}\n type={RecommendationTypesNumbers.Inflammation}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Longevity]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Longevity)}\n type={RecommendationTypesNumbers.Longevity}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n [RecommendationTypes.Supplements]:\n <RecommendationSingleSelectComponent\n currentRecommendation={recommendations?.filter(el => el.type === RecommendationTypesNumbers.Supplements)}\n type={RecommendationTypesNumbers.Supplements}\n handleSelected={handleSelected}\n handleChanges={handleChangesNewRecommendation}\n handleAddRecommendation={handleAddRecommendation}\n mode={mode}\n isGeneralPage={true}\n />,\n } as { [id: number]: JSX.Element }\n\n\n return (\n props.mode !== HealthReportMode.PrintMode && isSmallScreen ? (\n <HealthReportMobileBasePage section={HealthReportSections.Recommendations} pageNumber={pageNumber} practice={practice}>\n <Box px={2} display=\"flex\" justifyContent=\"space-between\">\n <Box></Box>\n {isChanged && <Box mt={3} mr={4} display=\"flex\" alignItems=\"flex-end\">\n <Box mr={1.5}>\n <WildHealthButton\n id=\"health-recommendation-new-cancel-all\"\n color=\"tertiary\"\n onClick={() => handleCancel()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"health-recommendation-new-save-all\"\n onClick={() => handleSaveChangesNew()}\n >\n Save Changes\n </WildHealthButton>\n </Box>\n </Box>}\n </Box>\n\n <Box p={2}>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`recommendation-component-${key}`} mt={3}>\n <ExpandableComponent\n divider={false}\n title={recommendationNameOld[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={null}\n handleExpand={() => handleExpandSection(+key)}\n />\n <Box mt={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n </Box>\n ))\n }\n </Box>\n </HealthReportMobileBasePage>\n ) : (\n <HealthReportBasePage section={HealthReportSections.Recommendations} pageNumber={pageNumber} practice={practice}>\n <Box height=\"60px\" display=\"flex\" justifyContent=\"space-between\">\n <Box></Box>\n {isChanged && <Box mt={3} mr={4} display=\"flex\" alignItems=\"flex-end\">\n <Box mr={1.5}>\n <WildHealthButton\n id=\"health-recommendation-new-cancel-all\"\n color=\"tertiary\"\n onClick={() => handleCancel()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton\n id=\"health-recommendation-new-save-all\"\n onClick={() => handleSaveChangesNew()}\n >\n Save Changes\n </WildHealthButton>\n </Box>\n </Box>}\n </Box>\n\n <Box p={4} pt={0}>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`recommendation-component-${key}`} mt={3}>\n <ExpandableComponent\n divider={false}\n title={recommendationNameOld[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={null}\n handleExpand={() => handleExpandSection(+key)}\n />\n <Box mt={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>\n </Box>\n ))\n }\n </Box>\n </HealthReportBasePage>\n )\n )\n}","import { useState } from \"react\";\nimport { RecommendationTypes } from \"../models/healthReport.models\";\n\n\ninterface RecommendationsComponentState {\n sections: { [id: number]: boolean };\n}\n\nexport function useFacade(\n): [\n RecommendationsComponentState,\n (section: RecommendationTypes) => void,\n ] {\n const [state, setState] = useState(\n {\n sections: {\n [RecommendationTypes.Macronutrient]: false,\n [RecommendationTypes.Methylation]: false,\n [RecommendationTypes.VitaminsAndMicronutrients]: false,\n [RecommendationTypes.KryptoniteFoods]: false,\n [RecommendationTypes.SuperFoods]: false,\n [RecommendationTypes.ExerciseAndRecovery]: false,\n [RecommendationTypes.Longevity]: false,\n [RecommendationTypes.Microbiome]: false,\n [RecommendationTypes.Neurobehavioral]: false,\n [RecommendationTypes.Sleep]: false,\n [RecommendationTypes.Cardiovascular]: false,\n [RecommendationTypes.Dementia]: false,\n [RecommendationTypes.InsulinResistance]: false,\n [RecommendationTypes.Inflammation]: false,\n [RecommendationTypes.Supplements]: false,\n },\n } as RecommendationsComponentState\n );\n\n const handleExpandSection = (section: RecommendationTypes) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState({ ...state, sections: sections });\n }\n \n return [\n state,\n handleExpandSection,\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n report: {\n minHeight: 300,\n maxHeight: 'calc(100vh - 311px)',\n overflowX: 'auto',\n },\n root: {\n display: 'flex',\n backgroundColor:\"#fff\",\n height:'calc(100vh - 175px)'\n },\n toolBarSection: {\n marginRight: 8,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginTop: 8,\n }\n }\n }),\n);","import { Box, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { HealthReportPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/HealthReportPlaceHolder\";\nimport { HealthReportToolbarComponent } from \"../healthReportToolbarComponent/HealthReportToolbarComponent\";\nimport { SelectShortcutComponent } from \"../selectShortcutComponent/SelectShortcutComponent\";\nimport { useFacade } from \"./healthReportComponent.hooks\";\nimport { useStyles } from \"./healthReportComponent.styles\";\n\ninterface HealthReportComponentProps {\n patientId?: number | null;\n isReadonly?: boolean\n}\n\nexport const HealthReportComponent: React.FC<HealthReportComponentProps> = (props: HealthReportComponentProps) => {\n HealthReportComponent.defaultProps = {\n isReadonly: false\n }\n const { patientId, isReadonly } = props;\n const [\n {\n report,\n currentPage,\n isLoading,\n practice\n },\n navigationContext,\n reportPage,\n navigationSteps,\n mobileReportPage\n ] = useFacade(patientId, isReadonly);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n )\n }\n\n if (!report) {\n return (\n <div className={classes.root}>\n <HealthReportPlaceHolder message='You have no reports published at the moment.' />\n </div>\n )\n }\n\n return (\n <Box width={1}>\n <Box className={classes.toolBarSection}>\n <HealthReportToolbarComponent\n navigationContext={navigationContext}\n navigationSteps={navigationSteps}\n currentPage={currentPage}\n patientId={patientId}\n report={report}\n practice={practice}\n />\n </Box>\n\n <Box className={clsx(classes.report, 'flat-scroll')} mt={1}>\n <div id='report-start' />\n <Box>\n {isSmallScreen ? mobileReportPage : reportPage}\n {patientId && <SelectShortcutComponent />}\n </Box>\n </Box>\n </Box>\n )\n}","import React, { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport {\n HealthReportMode,\n HealthReportModel,\n HealthReportPages,\n HealthReportStatus,\n HealthReportVersion,\n RecommendationDisplayModel\n} from \"../../models/healthReport.models\";\nimport { healthReportServices } from \"../../services/healthReport.services\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore\";\nimport '../../a4Pages'\nimport {\n HealthReportAppendixPage,\n HealthReportChronicDisease0Page,\n HealthReportChronicDisease1Page,\n HealthReportChronicDisease2Page,\n HealthReportChronicDisease3Page,\n HealthReportChronicDisease4Page,\n HealthReportChronicDisease5Page,\n HealthReportDetails1Page,\n HealthReportDetails2Page,\n HealthReportDetails3Page,\n HealthReportDetails4Page,\n HealthReportDetails5Page,\n HealthReportDietAndNutrition0Page,\n HealthReportDietAndNutrition1Page,\n HealthReportDietAndNutrition2Page,\n HealthReportDietAndNutrition3Page,\n HealthReportDietAndNutrition4Page,\n HealthReportDietAndNutrition5Page,\n HealthReportDietAndNutrition6Page,\n HealthReportExerciseAndRecovery0Page,\n HealthReportExerciseAndRecovery1Page,\n HealthReportExerciseAndRecovery2Page,\n HealthReportExerciseAndRecovery3Page,\n HealthReportExerciseAndRecovery4Page,\n HealthReportExerciseAndRecovery5Page,\n HealthReportExerciseAndRecovery6Page,\n HealthReportExerciseAndRecovery7Page,\n HealthReportLongevity0Page,\n HealthReportLongevity1Page,\n HealthReportLongevity2Page,\n HealthReportMicrobiome0Page,\n HealthReportMicrobiome1Page,\n HealthReportMicrobiome2Page,\n HealthReportNeurobehavioral0Page,\n HealthReportNeurobehavioralPage,\n HealthReportSleep0Page,\n HealthReportSleepPage,\n HealthReportStartPage,\n} from \"../../a4Pages\";\nimport { patientHealthReportService } from \"../../services/patientHealthReport.service\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { getDefaultPracticeModel, PracticeProfileModel } from \"../../../account/models/practiceProfile.model\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\nimport { profileService } from \"../../../account/services/profile.service\";\nimport moment from \"moment\";\nimport { HealthReportRecommendationsPage } from \"../../a4Pages/HealthReportRecommendationsPage\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { snackService } from \"../../../common/snack/state\";\n\nexport interface NavigationStep {\n from: HealthReportPages;\n to: HealthReportPages;\n name: string;\n}\n\n/**\n * Represents Create Shortcuts Component state\n */\ninterface EmployeeHealthReportComponentState {\n currentPage: HealthReportPages;\n report: HealthReportModel;\n recommendations: RecommendationDisplayModel[];\n isChanged: boolean;\n mode: HealthReportMode;\n practice: PracticeProfileModel;\n isLoading: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for Create shortcuts component\n */\nexport function useFacade(patientId: number, isReadonly: boolean): [\n EmployeeHealthReportComponentState,\n PageSliderNavigationContext,\n JSX.Element,\n Array<NavigationStep>,\n JSX.Element,] {\n\n const [state, setState] = useState({\n currentPage: HealthReportPages.StartPage,\n report: null,\n recommendations: [],\n dnaInputs: null,\n isChanged: false,\n mode: HealthReportMode.EditMode,\n practice: getDefaultPracticeModel(),\n isLoading: true,\n } as EmployeeHealthReportComponentState);\n\n const goTo = (page: HealthReportPages) => {\n if (state.isChanged) {\n if (parseFloat(state.report.status.version) === parseFloat(HealthReportVersion.SetRecommendation)) {\n const selectedRecommendations = state.recommendations.filter(el => el.isSelected)\n const recommendationsToSend = selectedRecommendations.map(el => {\n return `${el.recommendationId}`.includes('xxx')\n ? {\n type: el.type,\n baseId: el.baseId,\n content: el.content,\n }\n : {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n type: el.type,\n content: el.content,\n }\n })\n const reportToSend = {\n ...state.report,\n recommendations: recommendationsToSend\n }\n\n healthReportServices.save(reportToSend);\n } else {\n healthReportServices.save(state.report);\n }\n\n }\n setState(state => ({ ...state, currentPage: page, isChanged: false }));\n\n const step = getNavigationSteps(state.report?.status?.version)\n .find(i => i.from <= page && page <= i.to);\n\n if (step) {\n document.getElementById(`${step.from}-step`).scrollIntoView();\n }\n const reportStart = document.getElementById('report-start');\n if (reportStart) {\n reportStart.scrollIntoView();\n }\n }\n\n const handleChanges = (field: string, value: string) => {\n const report = state.report;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, report);\n lastObject[key] = value;\n\n setState(state => ({ ...state, report: { ...report }, isChanged: true }));\n }\n\n const handleSaveChanges = () => {\n healthReportServices.save(state.report);\n setState(state => ({ ...state, isChanged: false }));\n }\n\n const handleSaveChangesNew = () => {\n const selectedRecommendations = state.recommendations.filter(el => el.isSelected === true)\n const recommendationsToSend = selectedRecommendations.map(el => {\n return `${el.recommendationId}`.includes('xxx')\n ? {\n type: el.type,\n baseId: el.baseId,\n content: el.content,\n }\n : {\n recommendationId: el.recommendationId,\n baseId: el.baseId,\n id: el.id,\n type: el.type,\n content: el.content,\n }\n })\n const reportToSend = {\n ...state.report,\n recommendations: recommendationsToSend\n }\n\n healthReportServices.save(reportToSend);\n setState(state => ({ ...state, isChanged: false }));\n }\n\n\n const handleCancel = () => {\n confirmService.confirm(\n 'Discard Changes',\n 'Are you sure you want to quit without saving the changes?',\n 'Yes',\n 'No',\n 'danger')\n .subscribe(\n () => {\n healthReportServices.getById(state.report.id, patientId)\n setState({ ...state, isChanged: false })\n snackService.deleteSuccess('Changes was cancelled.')\n }\n );\n }\n\n\n const handleSelected = (id: number | string, isSelected: boolean) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n recommendationForIsSelected.isSelected = isSelected\n setState({ ...state, isChanged: true })\n }\n\n const handleChangesNewRecommendation = (id: number | string, value: string) => {\n const recommendationForIsSelected = state.recommendations.find(el => el.id === id)\n recommendationForIsSelected.content = value\n setState({ ...state, isChanged: true })\n }\n\n const handleAddRecommendation = (type: number, index: number) => {\n const newRecommendation = {\n recommendationId: `xxx${index}`,\n id: moment().unix() + index,\n baseId: moment().unix() + index,\n type: type,\n content: '',\n isSelected: true,\n };\n setState({\n ...state,\n recommendations: [\n ...state.recommendations,\n newRecommendation,\n ]\n })\n }\n\n const healthReportPageProps = {\n mode: state.mode,\n report: state.report,\n isChanged: state.isChanged,\n practice: state.practice,\n handleChanges: patientId ? handleChanges : null,\n handleSaveChanges: handleSaveChanges,\n handleSelected,\n handleChangesNewRecommendation,\n handleAddRecommendation,\n handleSaveChangesNew,\n handleCancel,\n recommendations: state.recommendations,\n }\n\n const _defaultReportPages: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />],\n [HealthReportPages.DietAndNutrition1, <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />],\n [HealthReportPages.DietAndNutrition2, <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />],\n [HealthReportPages.DietAndNutrition3, <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />],\n [HealthReportPages.DietAndNutrition4, <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />],\n [HealthReportPages.DietAndNutrition5, <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />],\n [HealthReportPages.DietAndNutrition6, <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />],\n [HealthReportPages.ExerciseAndRecovery0, <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />],\n [HealthReportPages.ExerciseAndRecovery1, <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />],\n [HealthReportPages.ExerciseAndRecovery2, <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />],\n [HealthReportPages.ExerciseAndRecovery3, <HealthReportExerciseAndRecovery3Page {...healthReportPageProps} pageNumber={11} />],\n [HealthReportPages.ExerciseAndRecovery4, <HealthReportExerciseAndRecovery4Page {...healthReportPageProps} pageNumber={12} />],\n [HealthReportPages.ExerciseAndRecovery5, <HealthReportExerciseAndRecovery5Page {...healthReportPageProps} pageNumber={13} />],\n [HealthReportPages.ExerciseAndRecovery6, <HealthReportExerciseAndRecovery6Page {...healthReportPageProps} pageNumber={14} />],\n [HealthReportPages.ExerciseAndRecovery7, <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={15} />],\n [HealthReportPages.Sleep0, <HealthReportSleep0Page {...healthReportPageProps} pageNumber={16} />],\n [HealthReportPages.Sleep1, <HealthReportSleepPage {...healthReportPageProps} pageNumber={17} />],\n [HealthReportPages.Neurobehavioral0, <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={18} />],\n [HealthReportPages.Neurobehavioral1, <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={19} />],\n [HealthReportPages.Microbiome0, <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={20} />],\n [HealthReportPages.Microbiome1, <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={21} />],\n [HealthReportPages.Microbiome2, <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={22} />],\n [HealthReportPages.ChronicDisease0, <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={23} />],\n [HealthReportPages.ChronicDisease1, <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={24} />],\n [HealthReportPages.ChronicDisease2, <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={25} />],\n [HealthReportPages.ChronicDisease3, <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={26} />],\n [HealthReportPages.ChronicDisease4, <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={27} />],\n [HealthReportPages.ChronicDisease5, <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Longevity0, <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Longevity1, <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={30} />],\n [HealthReportPages.Longevity2, <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={31} />],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={32} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={33} />],\n [HealthReportPages.Details1, <HealthReportDetails1Page {...healthReportPageProps} pageNumber={34} />],\n [HealthReportPages.Details2, <HealthReportDetails2Page {...healthReportPageProps} pageNumber={35} />],\n [HealthReportPages.Details3, <HealthReportDetails3Page {...healthReportPageProps} pageNumber={36} />],\n [HealthReportPages.Details4, <HealthReportDetails4Page {...healthReportPageProps} pageNumber={37} />],\n ]);\n\n\n const _defaultReportPagesNew: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />],\n [HealthReportPages.DietAndNutrition1, <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />],\n [HealthReportPages.DietAndNutrition2, <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />],\n [HealthReportPages.DietAndNutrition3, <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />],\n [HealthReportPages.DietAndNutrition4, <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />],\n [HealthReportPages.DietAndNutrition5, <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />],\n [HealthReportPages.DietAndNutrition6, <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />],\n [HealthReportPages.ExerciseAndRecovery0, <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />],\n [HealthReportPages.ExerciseAndRecovery1, <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />],\n [HealthReportPages.ExerciseAndRecovery2, <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />],\n [HealthReportPages.ExerciseAndRecovery7, <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={11} />],\n [HealthReportPages.Sleep0, <HealthReportSleep0Page {...healthReportPageProps} pageNumber={12} />],\n [HealthReportPages.Sleep1, <HealthReportSleepPage {...healthReportPageProps} pageNumber={13} />],\n [HealthReportPages.Neurobehavioral0, <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={14} />],\n [HealthReportPages.Neurobehavioral1, <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={15} />],\n [HealthReportPages.Microbiome0, <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={16} />],\n [HealthReportPages.Microbiome1, <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={17} />],\n [HealthReportPages.Microbiome2, <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={18} />],\n [HealthReportPages.ChronicDisease0, <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={19} />],\n [HealthReportPages.ChronicDisease1, <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={20} />],\n [HealthReportPages.ChronicDisease2, <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={21} />],\n [HealthReportPages.ChronicDisease3, <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={22} />],\n [HealthReportPages.ChronicDisease4, <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={23} />],\n [HealthReportPages.ChronicDisease5, <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={24} />],\n [HealthReportPages.Longevity0, <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={25} />],\n [HealthReportPages.Longevity1, <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={26} />],\n [HealthReportPages.Longevity2, <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={27} />],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Details1, <HealthReportDetails1Page {...healthReportPageProps} pageNumber={30} />],\n [HealthReportPages.Details2, <HealthReportDetails2Page {...healthReportPageProps} pageNumber={31} />],\n [HealthReportPages.Details3, <HealthReportDetails3Page {...healthReportPageProps} pageNumber={32} />],\n [HealthReportPages.Details4, <HealthReportDetails4Page {...healthReportPageProps} pageNumber={33} />],\n ]);\n\n const _defaultReportPagesRecommendation: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />],\n [HealthReportPages.DietAndNutrition1, <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />],\n [HealthReportPages.DietAndNutrition2, <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />],\n [HealthReportPages.DietAndNutrition3, <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />],\n [HealthReportPages.DietAndNutrition4, <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />],\n [HealthReportPages.DietAndNutrition5, <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />],\n [HealthReportPages.DietAndNutrition6, <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />],\n [HealthReportPages.ExerciseAndRecovery0, <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />],\n [HealthReportPages.ExerciseAndRecovery1, <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />],\n [HealthReportPages.ExerciseAndRecovery2, <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />],\n [HealthReportPages.ExerciseAndRecovery7, <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={11} />],\n [HealthReportPages.Sleep0, <HealthReportSleep0Page {...healthReportPageProps} pageNumber={12} />],\n [HealthReportPages.Sleep1, <HealthReportSleepPage {...healthReportPageProps} pageNumber={13} />],\n [HealthReportPages.Neurobehavioral0, <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={14} />],\n [HealthReportPages.Neurobehavioral1, <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={15} />],\n [HealthReportPages.Microbiome0, <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={16} />],\n [HealthReportPages.Microbiome1, <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={17} />],\n [HealthReportPages.Microbiome2, <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={18} />],\n [HealthReportPages.ChronicDisease0, <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={19} />],\n [HealthReportPages.ChronicDisease1, <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={20} />],\n [HealthReportPages.ChronicDisease2, <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={21} />],\n [HealthReportPages.ChronicDisease3, <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={22} />],\n [HealthReportPages.ChronicDisease4, <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={23} />],\n [HealthReportPages.ChronicDisease5, <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={24} />],\n [HealthReportPages.Longevity0, <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={25} />],\n [HealthReportPages.Longevity1, <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={26} />],\n [HealthReportPages.Longevity2, <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={27} />],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Details1, <HealthReportDetails1Page {...healthReportPageProps} pageNumber={30} />],\n [HealthReportPages.Details2, <HealthReportDetails2Page {...healthReportPageProps} pageNumber={31} />],\n [HealthReportPages.Details3, <HealthReportDetails3Page {...healthReportPageProps} pageNumber={32} />],\n [HealthReportPages.Details4, <HealthReportDetails4Page {...healthReportPageProps} pageNumber={33} />],\n [HealthReportPages.Recommendations, <HealthReportRecommendationsPage {...healthReportPageProps} pageNumber={34} />],\n ]);\n\n const _defaultReportPagesRecommendationForPatient: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />],\n [HealthReportPages.DietAndNutrition1, <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />],\n [HealthReportPages.DietAndNutrition2, <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />],\n [HealthReportPages.DietAndNutrition3, <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />],\n [HealthReportPages.DietAndNutrition4, <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />],\n [HealthReportPages.DietAndNutrition5, <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />],\n [HealthReportPages.DietAndNutrition6, <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />],\n [HealthReportPages.ExerciseAndRecovery0, <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />],\n [HealthReportPages.ExerciseAndRecovery1, <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />],\n [HealthReportPages.ExerciseAndRecovery2, <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />],\n [HealthReportPages.ExerciseAndRecovery7, <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={11} />],\n [HealthReportPages.Sleep0, <HealthReportSleep0Page {...healthReportPageProps} pageNumber={12} />],\n [HealthReportPages.Sleep1, <HealthReportSleepPage {...healthReportPageProps} pageNumber={13} />],\n [HealthReportPages.Neurobehavioral0, <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={14} />],\n [HealthReportPages.Neurobehavioral1, <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={15} />],\n [HealthReportPages.Microbiome0, <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={16} />],\n [HealthReportPages.Microbiome1, <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={17} />],\n [HealthReportPages.Microbiome2, <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={18} />],\n [HealthReportPages.ChronicDisease0, <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={19} />],\n [HealthReportPages.ChronicDisease1, <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={20} />],\n [HealthReportPages.ChronicDisease2, <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={21} />],\n [HealthReportPages.ChronicDisease3, <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={22} />],\n [HealthReportPages.ChronicDisease4, <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={23} />],\n [HealthReportPages.ChronicDisease5, <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={24} />],\n [HealthReportPages.Longevity0, <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={25} />],\n [HealthReportPages.Longevity1, <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={26} />],\n [HealthReportPages.Longevity2, <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={27} />],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Details1, <HealthReportDetails1Page {...healthReportPageProps} pageNumber={30} />],\n [HealthReportPages.Details2, <HealthReportDetails2Page {...healthReportPageProps} pageNumber={31} />],\n [HealthReportPages.Details3, <HealthReportDetails3Page {...healthReportPageProps} pageNumber={32} />],\n [HealthReportPages.Details4, <HealthReportDetails4Page {...healthReportPageProps} pageNumber={33} />],\n ]);\n\n\n const _defaultMobileReportPages: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <>\n <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />\n <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />\n <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />\n <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />\n <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />\n <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />\n <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />\n </>],\n [HealthReportPages.ExerciseAndRecovery0, <>\n <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />\n <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />\n <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />\n <HealthReportExerciseAndRecovery3Page {...healthReportPageProps} pageNumber={11} />\n <HealthReportExerciseAndRecovery4Page {...healthReportPageProps} pageNumber={12} />\n <HealthReportExerciseAndRecovery5Page {...healthReportPageProps} pageNumber={13} />\n <HealthReportExerciseAndRecovery6Page {...healthReportPageProps} pageNumber={14} />\n <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={15} />\n </>],\n [HealthReportPages.Sleep0, <>\n <HealthReportSleep0Page {...healthReportPageProps} pageNumber={16} />\n <HealthReportSleepPage {...healthReportPageProps} pageNumber={17} />\n </>],\n [HealthReportPages.Neurobehavioral0, <>\n <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={18} />\n <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={19} />\n </>],\n [HealthReportPages.Microbiome0, <>\n <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={20} />\n <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={21} />\n <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={22} />\n </>],\n [HealthReportPages.ChronicDisease0, <>\n <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={23} />\n <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={24} />\n <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={25} />\n <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={26} />\n <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={27} />\n <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={28} />\n </>],\n [HealthReportPages.Longevity0, <>\n <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={29} />\n <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={30} />\n <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={31} />\n </>],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={32} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={33} />],\n [HealthReportPages.Details1, <>\n <HealthReportDetails1Page {...healthReportPageProps} pageNumber={34} />\n <HealthReportDetails2Page {...healthReportPageProps} pageNumber={35} />\n <HealthReportDetails3Page {...healthReportPageProps} pageNumber={36} />\n <HealthReportDetails4Page {...healthReportPageProps} pageNumber={37} />\n </>],\n ]);\n\n const _defaultMobileReportPagesNew: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <>\n <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />\n <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />\n <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />\n <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />\n <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />\n <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />\n <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />\n </>],\n [HealthReportPages.ExerciseAndRecovery0, <>\n <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />\n <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />\n <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />\n <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={11} />\n </>],\n [HealthReportPages.Sleep0, <>\n <HealthReportSleep0Page {...healthReportPageProps} pageNumber={12} />\n <HealthReportSleepPage {...healthReportPageProps} pageNumber={13} />\n </>],\n [HealthReportPages.Neurobehavioral0, <>\n <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={14} />\n <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={15} />\n </>],\n [HealthReportPages.Microbiome0, <>\n <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={16} />\n <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={17} />\n <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={18} />\n </>],\n [HealthReportPages.ChronicDisease0, <>\n <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={19} />\n <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={20} />\n <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={21} />\n <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={22} />\n <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={23} />\n <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={24} />\n </>],\n [HealthReportPages.Longevity0, <>\n <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={25} />\n <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={26} />\n <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={27} />\n </>],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Details1, <>\n <HealthReportDetails1Page {...healthReportPageProps} pageNumber={30} />\n <HealthReportDetails2Page {...healthReportPageProps} pageNumber={31} />\n <HealthReportDetails3Page {...healthReportPageProps} pageNumber={32} />\n <HealthReportDetails4Page {...healthReportPageProps} pageNumber={33} />\n </>],\n ]);\n\n const _defaultMobileReportPagesRecommendation: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <>\n <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />\n <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />\n <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />\n <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />\n <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />\n <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />\n <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />\n </>],\n [HealthReportPages.ExerciseAndRecovery0, <>\n <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />\n <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />\n <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />\n <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={11} />\n </>],\n [HealthReportPages.Sleep0, <>\n <HealthReportSleep0Page {...healthReportPageProps} pageNumber={12} />\n <HealthReportSleepPage {...healthReportPageProps} pageNumber={13} />\n </>],\n [HealthReportPages.Neurobehavioral0, <>\n <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={14} />\n <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={15} />\n </>],\n [HealthReportPages.Microbiome0, <>\n <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={16} />\n <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={17} />\n <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={18} />\n </>],\n [HealthReportPages.ChronicDisease0, <>\n <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={19} />\n <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={20} />\n <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={21} />\n <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={22} />\n <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={23} />\n <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={24} />\n </>],\n [HealthReportPages.Longevity0, <>\n <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={25} />\n <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={26} />\n <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={27} />\n </>],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Details1, <>\n <HealthReportDetails1Page {...healthReportPageProps} pageNumber={30} />\n <HealthReportDetails2Page {...healthReportPageProps} pageNumber={31} />\n <HealthReportDetails3Page {...healthReportPageProps} pageNumber={32} />\n <HealthReportDetails4Page {...healthReportPageProps} pageNumber={33} />\n <HealthReportRecommendationsPage {...healthReportPageProps} pageNumber={34} />\n </>],\n ]);\n\n const _defaultMobileReportPagesRecommendationForPatient: Map<HealthReportPages, JSX.Element> = new Map<HealthReportPages, JSX.Element>([\n [HealthReportPages.StartPage, <HealthReportStartPage {...healthReportPageProps} />],\n [HealthReportPages.DietAndNutrition0, <>\n <HealthReportDietAndNutrition0Page {...healthReportPageProps} pageNumber={1} />\n <HealthReportDietAndNutrition1Page {...healthReportPageProps} pageNumber={2} />\n <HealthReportDietAndNutrition2Page {...healthReportPageProps} pageNumber={3} />\n <HealthReportDietAndNutrition3Page {...healthReportPageProps} pageNumber={4} />\n <HealthReportDietAndNutrition4Page {...healthReportPageProps} pageNumber={5} />\n <HealthReportDietAndNutrition5Page {...healthReportPageProps} pageNumber={6} />\n <HealthReportDietAndNutrition6Page {...healthReportPageProps} pageNumber={7} />\n </>],\n [HealthReportPages.ExerciseAndRecovery0, <>\n <HealthReportExerciseAndRecovery0Page {...healthReportPageProps} pageNumber={8} />\n <HealthReportExerciseAndRecovery1Page {...healthReportPageProps} pageNumber={9} />\n <HealthReportExerciseAndRecovery2Page {...healthReportPageProps} pageNumber={10} />\n <HealthReportExerciseAndRecovery7Page {...healthReportPageProps} pageNumber={11} />\n </>],\n [HealthReportPages.Sleep0, <>\n <HealthReportSleep0Page {...healthReportPageProps} pageNumber={12} />\n <HealthReportSleepPage {...healthReportPageProps} pageNumber={13} />\n </>],\n [HealthReportPages.Neurobehavioral0, <>\n <HealthReportNeurobehavioral0Page {...healthReportPageProps} pageNumber={14} />\n <HealthReportNeurobehavioralPage {...healthReportPageProps} pageNumber={15} />\n </>],\n [HealthReportPages.Microbiome0, <>\n <HealthReportMicrobiome0Page {...healthReportPageProps} pageNumber={16} />\n <HealthReportMicrobiome1Page {...healthReportPageProps} pageNumber={17} />\n <HealthReportMicrobiome2Page {...healthReportPageProps} pageNumber={18} />\n </>],\n [HealthReportPages.ChronicDisease0, <>\n <HealthReportChronicDisease0Page {...healthReportPageProps} pageNumber={19} />\n <HealthReportChronicDisease1Page {...healthReportPageProps} pageNumber={20} />\n <HealthReportChronicDisease2Page {...healthReportPageProps} pageNumber={21} />\n <HealthReportChronicDisease3Page {...healthReportPageProps} pageNumber={22} />\n <HealthReportChronicDisease4Page {...healthReportPageProps} pageNumber={23} />\n <HealthReportChronicDisease5Page {...healthReportPageProps} pageNumber={24} />\n </>],\n [HealthReportPages.Longevity0, <>\n <HealthReportLongevity0Page {...healthReportPageProps} pageNumber={25} />\n <HealthReportLongevity1Page {...healthReportPageProps} pageNumber={26} />\n <HealthReportLongevity2Page {...healthReportPageProps} pageNumber={27} />\n </>],\n [HealthReportPages.Details5, <HealthReportDetails5Page {...healthReportPageProps} pageNumber={28} />],\n [HealthReportPages.Appendix, <HealthReportAppendixPage {...healthReportPageProps} pageNumber={29} />],\n [HealthReportPages.Details1, <>\n <HealthReportDetails1Page {...healthReportPageProps} pageNumber={30} />\n <HealthReportDetails2Page {...healthReportPageProps} pageNumber={31} />\n <HealthReportDetails3Page {...healthReportPageProps} pageNumber={32} />\n <HealthReportDetails4Page {...healthReportPageProps} pageNumber={33} />\n </>],\n ]);\n\n const _healthReportPages = new Map<number, Map<HealthReportPages, JSX.Element>>(\n [\n [\n parseFloat(HealthReportVersion.OldVersion), _defaultReportPages\n ],\n [\n parseFloat(HealthReportVersion.New), _defaultReportPagesNew\n ],\n [\n parseFloat(HealthReportVersion.SetRecommendation), authQuery.getType() == UserType.Patient ? _defaultReportPagesRecommendationForPatient : _defaultReportPagesRecommendation\n ]\n ]\n );\n\n const _healthReportMobilePages = new Map<number, Map<HealthReportPages, JSX.Element>>(\n [\n [\n parseFloat(HealthReportVersion.OldVersion), _defaultMobileReportPages\n ],\n [\n parseFloat(HealthReportVersion.New), _defaultMobileReportPagesNew\n ],\n [\n parseFloat(HealthReportVersion.SetRecommendation), authQuery.getType() == UserType.Patient ? _defaultMobileReportPagesRecommendationForPatient : _defaultMobileReportPagesRecommendation\n ]\n ]\n );\n\n const _recommendationNavigationSteps: Array<NavigationStep> = [\n { from: HealthReportPages.DietAndNutrition0, to: HealthReportPages.DietAndNutrition6, name: \"Diet\" },\n { from: HealthReportPages.ExerciseAndRecovery0, to: HealthReportPages.ExerciseAndRecovery7, name: \"Exercise\" },\n { from: HealthReportPages.Sleep0, to: HealthReportPages.Sleep1, name: \"Sleep\" },\n { from: HealthReportPages.Neurobehavioral0, to: HealthReportPages.Neurobehavioral1, name: \"Neurobehavioral\" },\n { from: HealthReportPages.Microbiome0, to: HealthReportPages.Microbiome2, name: \"Microbiome\" },\n { from: HealthReportPages.ChronicDisease0, to: HealthReportPages.ChronicDisease5, name: \"Chronic Disease\" },\n { from: HealthReportPages.Longevity0, to: HealthReportPages.Longevity2, name: \"Longevity\" },\n { from: HealthReportPages.Details5, to: HealthReportPages.Details5, name: \"Labs\" },\n { from: HealthReportPages.Appendix, to: HealthReportPages.Appendix, name: \"Appendix\" },\n { from: HealthReportPages.Details1, to: HealthReportPages.Details4, name: \"Genomic Glossary\" },\n { from: HealthReportPages.Recommendations, to: HealthReportPages.Recommendations, name: \"Recommendations Summary\" },\n ];\n\n const _defaultNavigationSteps: Array<NavigationStep> = [\n { from: HealthReportPages.DietAndNutrition0, to: HealthReportPages.DietAndNutrition6, name: \"Diet\" },\n { from: HealthReportPages.ExerciseAndRecovery0, to: HealthReportPages.ExerciseAndRecovery7, name: \"Exercise\" },\n { from: HealthReportPages.Sleep0, to: HealthReportPages.Sleep1, name: \"Sleep\" },\n { from: HealthReportPages.Neurobehavioral0, to: HealthReportPages.Neurobehavioral1, name: \"Neurobehavioral\" },\n { from: HealthReportPages.Microbiome0, to: HealthReportPages.Microbiome2, name: \"Microbiome\" },\n { from: HealthReportPages.ChronicDisease0, to: HealthReportPages.ChronicDisease5, name: \"Chronic Disease\" },\n { from: HealthReportPages.Longevity0, to: HealthReportPages.Longevity2, name: \"Longevity\" },\n { from: HealthReportPages.Details5, to: HealthReportPages.Details5, name: \"Labs\" },\n { from: HealthReportPages.Appendix, to: HealthReportPages.Appendix, name: \"Appendix\" },\n { from: HealthReportPages.Details1, to: HealthReportPages.Details4, name: \"Genomic Glossary\" },\n ];\n\n const _navigationSteps: Map<number, Array<NavigationStep>> = new Map<number, Array<NavigationStep>>([\n [\n parseFloat(HealthReportVersion.OldVersion), _defaultNavigationSteps\n ],\n [\n parseFloat(HealthReportVersion.New), _defaultNavigationSteps\n ],\n [\n parseFloat(HealthReportVersion.SetRecommendation), authQuery.getType() === UserType.Patient ? _defaultNavigationSteps : _recommendationNavigationSteps\n ],\n ]);\n\n const getNavigationSteps = (version: HealthReportVersion) => {\n const steps = _navigationSteps.get(parseFloat(version));\n\n return steps ?? _defaultNavigationSteps;\n }\n\n const getReportPagesSteps = (version: HealthReportVersion) => {\n const pages = _healthReportPages.get(parseFloat(version));\n return pages ?? _defaultReportPages;\n }\n\n const getMobileReportPagesSteps = (version: HealthReportVersion) => {\n const pages = _healthReportMobilePages.get(parseFloat(version));\n return pages ?? _defaultMobileReportPages;\n }\n\n const canGoNext = (): boolean => ((parseFloat(state.report?.status?.version) === parseFloat(HealthReportVersion.SetRecommendation)) && (authQuery.getType() !== UserType.Patient)) ? state.currentPage !== HealthReportPages.Recommendations : state.currentPage !== HealthReportPages.Details4;\n\n const canGoBack = (): boolean => state.currentPage !== HealthReportPages.StartPage;\n\n const reportPage = getReportPagesSteps(state.report?.status?.version).get(state.currentPage);\n\n const mobileReportPage = getMobileReportPagesSteps(state.report?.status?.version).get(state.currentPage);\n\n const navigationContext = {\n nextButton: \"Next\",\n backButton: \"Back\",\n canGoNext: canGoNext,\n canGoBack: canGoBack,\n goNext: () => goTo(increasePage(state.currentPage)),\n goBack: () => goTo(decreasePage(state.currentPage)),\n goTo: goTo\n } as PageSliderNavigationContext\n\n const increasePage = (currentPage: HealthReportPages) => {\n const allPages = Array.from(getReportPagesSteps(state.report?.status?.version).keys());\n\n return allPages[allPages.findIndex(x => x === currentPage) + 1];\n }\n\n const decreasePage = (currentPage: HealthReportPages) => {\n const allPages = Array.from(getReportPagesSteps(state.report?.status?.version).keys());\n\n return allPages[allPages.findIndex(x => x === currentPage) - 1];\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<HealthReportModel>(healthReportsQuery.report$, report => {\n setState(state => ({\n ...state,\n mode: isReadonly\n ? HealthReportMode.ReadonlyMode\n : report?.status?.status !== HealthReportStatus.Submitted\n ? HealthReportMode.EditMode\n : HealthReportMode.ReadonlyMode,\n report,\n recommendations: report?.recommendations?.map(el => {\n return {\n ...el,\n isSelected: true,\n }\n }),\n }));\n }),\n onEmit<PracticeProfileModel>(profileQuery.practiceProfile$, practice => {\n if (practice) {\n setState(state => ({\n ...state,\n practice: practice\n }));\n }\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n const action = () => {\n if (authQuery.hasPermission(PermissionType.LocationAnalytics)) {\n profileService.getPracticeProfile().subscribe(cb, cb);\n } else {\n cb();\n }\n };\n\n if (patientId) {\n healthReportServices.getLast(patientId).subscribe(() => action(), cb);\n } else {\n patientHealthReportService.getLast().subscribe(() => action(), cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, [patientId, isReadonly]);\n\n return [state, navigationContext, reportPage, getNavigationSteps(state.report?.status?.version), mobileReportPage];\n}","import {Store, StoreConfig} from '@datorama/akita';\nimport {ApoeModel, FileInputModel, GeneralInputsModel, LabInputModel, LabInputsDatasetEditableViewModel, LabInputsViewMode, MesaModel, MicrobiomeInputModel} from \"../../models/input.models\";\n\n/**\n * Represents inputs state\n */\nexport interface InputsState {\n fileInputs: FileInputModel[];\n labInputs: LabInputModel[];\n generalInputs: GeneralInputsModel;\n dataSets: LabInputsDatasetEditableViewModel[],\n microbiomeInputs: MicrobiomeInputModel[];\n viewMode: LabInputsViewMode;\n apoeInfo: ApoeModel;\n mesaScore: MesaModel;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): InputsState {\n return {\n fileInputs: [],\n labInputs: [],\n generalInputs: null,\n dataSets: [],\n microbiomeInputs: [],\n viewMode: LabInputsViewMode.Graph,\n apoeInfo: null,\n mesaScore: null\n };\n}\n\n/**\n * Provides inputs states management\n */\n@StoreConfig({name: 'inputs', resettable: true })\nexport class InputsStore extends Store<InputsState> {\n constructor() {\n super(createInitialState());\n }\n\n public addFileInput(fileInput: FileInputModel): void {\n const fileInputs = this.getValue().fileInputs;\n this.update({fileInputs: [...fileInputs, fileInput]});\n }\n\n public deleteFileInput(fileInput: FileInputModel): void {\n const fileInputs = this.getValue().fileInputs;\n this.update({fileInputs: fileInputs.filter(x => x.id !== fileInput.id)});\n }\n\n public setDataSets(dataSets: LabInputsDatasetEditableViewModel[]): void{\n let dataSetsState = this.getValue().dataSets;\n\n dataSets.forEach(dataSet => {\n dataSetsState = dataSetsState.filter(c=> c.id !== dataSet.id);\n dataSetsState = [...dataSetsState, dataSet];\n });\n\n this.update({dataSets: dataSetsState});\n }\n\n public setLabIntputs(labInputs: LabInputModel[]) : void {\n this.update({labInputs: labInputs});\n }\n\n public updateLabIntputs(labInput: LabInputModel) : void {\n const labInputs = this.getValue().labInputs;\n this.update({ labInputs: labInputs.map(x => x.id === labInput.id ? labInput : x) });\n }\n\n public setCommonViewMode(viewMode: LabInputsViewMode): void {\n this.update({viewMode: viewMode});\n }\n}\n\nexport const inputsStore = new InputsStore();\n","import {Query} from '@datorama/akita';\nimport { ApoeModel, LabInputModel, LabInputsDatasetEditableViewModel } from '../../models/input.models';\nimport {InputsState, inputsStore, InputsStore} from \"./inputs.store\";\n\n/**\n * Provides inputs queries\n */\nexport class InputsQuery extends Query<InputsState> {\n uploads$ = this.select(state => state.fileInputs);\n labInputs$ = this.select(state => state.labInputs);\n generalInputs$ = this.select(state => state.generalInputs);\n dataSets$ = this.select(state => state.dataSets);\n microbiomeInputs$ = this.select(state => state.microbiomeInputs);\n viewMode$ = this.select(state => state.viewMode);\n apoeInfo$ = this.select(state => state.apoeInfo);\n\n constructor(protected store: InputsStore) {\n super(store);\n }\n\n public getDataSets(): LabInputsDatasetEditableViewModel[] {\n return this.getValue().dataSets;\n }\n\n public getLabInputs(): LabInputModel[] {\n return this.getValue().labInputs;\n }\n\n public getApoe(): ApoeModel {\n return this.getValue().apoeInfo;\n }\n}\n\nexport const inputsQuery = new InputsQuery(inputsStore);\n","import Axios from 'axios-observable';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { inputsStore, InputsStore } from \"../stores/inputsStore\";\nimport {\n FileInputDataProvider,\n FileInputModel,\n FileInputType,\n GeneralInputsModel, LabInputModel,\n MicrobiomeInputModel,\n UploadFileInputModel\n} from \"../models/input.models\";\nimport { Observable, Subject } from \"rxjs\";\nimport { CallbackModel } from \"../../common/models/callback.model\";\nconst FileDownload = require('js-file-download');\n\nexport class PatientInputsService {\n private urInputs = `${process.env.REACT_APP_API_URL}PatientInputs`;\n private urlUploads = `${this.urInputs}/Uploads`;\n private urlGeneral = `${this.urInputs}/General`;\n private urlLab = `${this.urInputs}/Lab`;\n private urlMicrobiome = `${this.urInputs}/microbiome`;\n private urlApoe = `${this.urInputs}/apoe`;\n\n constructor(private inputsStore: InputsStore) {\n }\n\n public onUpload = new Subject<CallbackModel<FileInputType>>();\n\n /**\n * Returns all patients uploads\n */\n public getUploads() {\n return new Observable(observer => {\n Axios.get(this.urlUploads, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ fileInputs: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Downloads uploaded file\n */\n public download(input: FileInputModel): Observable<any> {\n return new Observable(observer => {\n Axios.get(`${this.urlUploads}/${input.id}/download`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n FileDownload(response.data, `${input.file.name}`);\n snackService.success('File successfully downloaded!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Views uploaded file\n */\n public viewinline(input: FileInputModel): Observable<any> {\n return new Observable(observer => {\n Axios.get(`${this.urlUploads}/${input.id}/viewinline`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n const file = new Blob([response.data], { type: 'application/pdf' });\n\n const fileURL = URL.createObjectURL(file);\n\n window.open(fileURL, '_blank');\n\n snackService.success('File successfully opened!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns all patients uploads\n */\n public upload(type: FileInputType): Observable<FileInputModel> {\n return new Observable(observer => {\n this.onUpload.next({\n data: type,\n callback: (file: any, dataProvider: FileInputDataProvider) => {\n if (!file) {\n observer.error();\n observer.complete();\n return;\n }\n\n const model: UploadFileInputModel = {\n file: file,\n type: type,\n dataProvider: dataProvider\n };\n\n const formData = new FormData();\n formData.append('file', model.file);\n formData.append('type', model.type.toString());\n formData.append('dataProvider', model.dataProvider.toString());\n\n Axios.post(this.urlUploads, formData, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.addFileInput(response.data);\n snackService.success('File successfully uploaded!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n }\n });\n });\n }\n\n /**\n * Deletes upload\n */\n public deleteUpload(id: number): void {\n Axios.delete(`${this.urlUploads}/${id}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.deleteFileInput(response.data);\n snackService.success('File successfully deleted!');\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getGeneralInputs(): void {\n Axios.get(this.urlGeneral, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ generalInputs: response.data });\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public updateGeneralInputs(inputs: GeneralInputsModel): Observable<any> {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.put(this.urlGeneral, inputs, config)\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ generalInputs: response.data });\n snackService.success('Inputs successfully saved!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns lab inputs\n */\n public getLabInputs(): Observable<LabInputModel[]> {\n return new Observable(observer => {\n Axios.get<LabInputModel[]>(this.urlLab, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ labInputs: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Returns microbiome inputs\n */\n public getMicrobiomeInputs(): Observable<MicrobiomeInputModel[]> {\n return new Observable(observer => {\n Axios.get<MicrobiomeInputModel[]>(this.urlMicrobiome, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ microbiomeInputs: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * APOE info\n */\n public getApoe(): Observable<void> {\n return new Observable(observer => {\n Axios.get(`${this.urlApoe}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ apoeInfo: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const patientInputsService = new PatientInputsService(inputsStore);","import Axios from 'axios-observable';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { inputsStore, InputsStore } from \"../stores/inputsStore\";\nimport {\n ApoeModel,\n FileInputDataProvider,\n FileInputModel,\n FileInputType,\n GeneralInputsModel, LabInputModel,\n MesaModel,\n MicrobiomeInputModel,\n UpdateLabInputsModel,\n UploadFileInputModel\n} from \"../models/input.models\";\nimport { Observable, Subject } from \"rxjs\";\nimport { CallbackModel } from \"../../common/models/callback.model\";\nconst FileDownload = require('js-file-download');\n\n/**\n * Provides method for working with inputs\n */\nexport class InputsService {\n private urlInputs = `${process.env.REACT_APP_API_URL}Inputs`;\n private urlUploads = `${this.urlInputs}/Uploads`;\n private urlGeneral = `${this.urlInputs}/General`;\n private urlLab = `${this.urlInputs}/Lab`;\n private urlMicrobiome = `${this.urlInputs}/microbiome`;\n private urlApoe = `${this.urlInputs}/apoe`;\n private urlMesa = `${this.urlInputs}/mesa`;\n\n constructor(private inputsStore: InputsStore) {\n }\n\n public onUpload = new Subject<CallbackModel<FileInputType>>();\n\n /**\n * Returns all patients uploads\n */\n public getUploads(patientId: number) {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.get(`${this.urlUploads}?patientId=${patientId}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ fileInputs: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Downloads uploaded file\n */\n public download(input: FileInputModel, patientId: number): Observable<any> {\n return new Observable(observer => {\n Axios.get(`${this.urlUploads}/${input.id}/download?patientId=${patientId}`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n FileDownload(response.data, `${input.file.name}`);\n snackService.success('File successfully downloaded!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Views uploaded file\n */\n public viewinline(input: FileInputModel, patientId: number): Observable<any> {\n return new Observable(observer => {\n Axios.get(`${this.urlUploads}/${input.id}/viewinline?patientId=${patientId}`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n const file = new Blob([response.data], { type: input.file.mediaType });\n\n const fileURL = URL.createObjectURL(file);\n\n window.open(fileURL, '_blank');\n\n snackService.success('File successfully opened!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns all patients uploads\n */\n public upload(type: FileInputType, patientId: number): Observable<FileInputModel> {\n return new Observable(observer => {\n this.onUpload.next({\n data: type,\n callback: (file: any, dataProvider: FileInputDataProvider) => {\n if (!file) {\n observer.error();\n observer.complete();\n return;\n }\n\n const model: UploadFileInputModel = {\n file: file,\n type: type,\n dataProvider: dataProvider,\n };\n\n const formData = new FormData();\n formData.append('file', model.file);\n formData.append('type', model.type.toString());\n formData.append('dataProvider', model.dataProvider.toString());\n\n Axios.post(`${this.urlUploads}?patientId=${patientId}`, formData, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.addFileInput(response.data);\n snackService.success('File successfully uploaded!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n }\n });\n });\n }\n\n /**\n * Deletes upload\n */\n public deleteUpload(id: number, patientId: number): void {\n Axios.delete(`${this.urlUploads}/${id}/?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.deleteFileInput(response.data);\n snackService.success('File successfully deleted!');\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n\n public getGeneralInputs(patientId: number): void {\n Axios.get(`${this.urlGeneral}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ generalInputs: response.data });\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public updateGeneralInputs(inputs: GeneralInputsModel, patientId: number): Observable<any> {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.put(`${this.urlGeneral}?patientId=${patientId}`, inputs, config)\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ generalInputs: response.data });\n snackService.success('Inputs successfully saved!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns lab inputs\n */\n public getLabInputs(patientId: number): Observable<any> {\n\n return new Observable(observer => {\n Axios.get(`${this.urlLab}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ labInputs: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Updates patient inputs\n */\n public updateLabInputs(model: UpdateLabInputsModel, patientId: number): Observable<LabInputModel[]> {\n return new Observable(observer => {\n Axios.put<LabInputModel[]>(`${this.urlLab}?patientId=${patientId}`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n inputsStore.setLabIntputs(response.data);\n snackService.success('Inputs successfully saved!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Delete patient inputs\n */\n public deleteLabInputs(datasetId: string, patientId: number): Observable<LabInputModel[]> {\n return new Observable(observer => {\n Axios.delete<LabInputModel[]>(`${this.urlLab}/bulk?patientId=${patientId}&datasetId=${datasetId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n inputsStore.setLabIntputs(response.data);\n snackService.success('Inputs successfully deleted!');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Updates patient input highlights\n */\n public UpdateLabInputHighlights(id: number, patientId: number, isActive: boolean): Observable<LabInputModel> {\n return new Observable(observer => {\n Axios.put<LabInputModel>(`${this.urlLab}/${id}/highlights/${isActive}?patientId=${patientId}`, null, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n inputsStore.updateLabIntputs(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Returns microbiome inputs\n */\n public getMicrobiomeInputs(patientId: number): Observable<void> {\n return new Observable(observer => {\n Axios.get(`${this.urlMicrobiome}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ microbiomeInputs: response.data });\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Updates microbiome inputs\n */\n public updateMicrobiomeInputs(models: MicrobiomeInputModel[], patientId: number): Observable<void> {\n const changedInputs = models.filter(x => x.isChanged);\n\n return new Observable(observer => {\n Axios.put(`${this.urlMicrobiome}?patientId=${patientId}`, changedInputs, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ microbiomeInputs: response.data });\n observer.next();\n observer.complete();\n snackService.success('Inputs successfully saved!');\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getMesaScore(patientId: number): Observable<MesaModel> {\n return new Observable(observer => {\n Axios.get(`${this.urlMesa}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ mesaScore: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error);\n observer.complete();\n }\n \n );\n }\n );\n }\n\n \n /**\n * APOE info\n */\n public getApoe(patientId: number): Observable<ApoeModel> {\n return new Observable(observer => {\n Axios.get<ApoeModel>(`${this.urlApoe}?patientId=${patientId}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ apoeInfo: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Update APOE\n */\n public updateApoeInfo(patientId: number, model: ApoeModel): Observable<ApoeModel> {\n var body = model ?? {}\n\n return new Observable(observer => {\n Axios.post(`${this.urlApoe}?patientId=${patientId}`, body, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.inputsStore.update({ apoeInfo: response.data });\n observer.next();\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete()\n }\n );\n })\n\n }\n\n}\n\nexport const inputsService = new InputsService(inputsStore);\n","import React from 'react';\nimport { Box, Button, FormControl, MenuItem, Select } from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { useFacade } from \"./uploadInputsDialog.hooks\";\nimport BackupIcon from '@material-ui/icons/Backup';\nimport { allowedFileExtensions } from \"../../constants/inputs.constants\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { FileInputDataProvider, FileInputType } from '../../models/input.models';\n\nexport const UploadInputsDialog: React.FC = () => {\n const [\n {\n isOpen,\n file,\n type,\n dataProvider,\n dataProviders\n },\n handleFileUpload,\n handleDataProviderSelect,\n handleSubmit,\n handleClose\n ] = useFacade();\n const commonClasses = commonUseStyles();\n\n const allDataProviders = {\n [FileInputDataProvider.Ancestry]: 'Ancestry',\n [FileInputDataProvider.LabCorpElation]: 'Lab Corp Previous EMR',\n [FileInputDataProvider.LabCorpOriginal]: 'Lab Corp Original',\n [FileInputDataProvider.Andme]: '23andMe',\n [FileInputDataProvider.Gutbio]: 'Gutbio',\n [FileInputDataProvider.Quest]: 'Quest'\n };\n\n const getAllowedExtensions = (): string => {\n return allowedFileExtensions[`${type}:${dataProvider}`];\n }\n\n const displayInputType = (type: FileInputType) => {\n switch (type) {\n case FileInputType.DNAReport:\n return \"DNA Report\";\n case FileInputType.LabResults:\n return \"Lab Results\";\n case FileInputType.MicrobiomeData:\n return \"Microbiome Data\";\n }\n }\n\n const displayFileName = (file) => {\n if (file) {\n return <div> {file.name} </div>\n }\n\n return <div className={commonClasses.tertiaryFontReport}>No File Chosen</div>\n }\n return (\n <>\n <Dialog maxWidth=\"md\" open={isOpen} onClose={() => handleClose()} aria-labelledby=\"form-dialog-title\">\n <DialogTitle id=\"form-dialog-title\">Upload {displayInputType(type)}</DialogTitle>\n <DialogContent>\n <Box style={{ width: '700px' }} py={3}>\n <Box display=\"flex\" justifyContent=\"between\">\n <Box width={0.2}>\n <Box pt={1}>\n File:\n </Box>\n </Box>\n <Box width={0.8} display=\"flex\" justifyContent=\"space-between\">\n <Box className=\"compact-text\" pt={1}>\n {displayFileName(file)}\n </Box>\n <Box display=\"flex\" justifyContent=\"flex-end\">\n <Button size=\"small\" className={commonClasses.whButton} component=\"label\">\n <BackupIcon />\n <input type=\"file\" style={{ display: \"none\" }}\n onChange={(e) => handleFileUpload(e)}\n accept={getAllowedExtensions()} />\n </Button>\n </Box>\n\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"between\" mt={3}>\n <Box width={0.2}>\n <Box pt={1}>\n Data Provider:\n </Box>\n </Box>\n <Box width={0.8}>\n <FormControl color='primary' fullWidth size=\"small\" variant=\"outlined\" className=\"drop-down\">\n <Select value={dataProvider}\n onChange={(v) => handleDataProviderSelect(v.target.value)}>\n {\n dataProviders.map((dataProvider) => {\n return <MenuItem\n key={dataProvider}\n value={dataProvider}>\n {allDataProviders[dataProvider]}\n </MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n </Box>\n </DialogContent>\n <DialogActions>\n <WildHealthButton\n id=\"upload-inputs-cancel\"\n color=\"secondary\"\n onClick={() => handleClose()}\n >\n Cancel\n </WildHealthButton>\n <Box pr={2}>\n <WildHealthButton\n id=\"upload-inputs-upload\"\n onClick={() => handleSubmit()}\n >\n Upload\n </WildHealthButton>\n </Box>\n </DialogActions>\n </Dialog>\n </>\n )\n}","import {useState} from 'react';\nimport { patientInputsService } from '../../services/patientInputs.service';\nimport {FileInputDataProvider, FileInputType} from \"../../models/input.models\";\nimport {inputsService} from \"../../services/inputs.service\";\n\nexport interface UploadInputsDialogState {\n isOpen: boolean;\n file: any;\n type: FileInputType;\n dataProvider: FileInputDataProvider;\n dataProviders: FileInputDataProvider[];\n handleUpload: Function;\n}\n\nexport function useFacade(): [UploadInputsDialogState, Function, Function, Function, Function]{\n const [state, setState] = useState({\n isOpen: false,\n type: null,\n file: null,\n dataProvider: FileInputDataProvider.LabCorpElation,\n dataProviders: []\n } as UploadInputsDialogState);\n\n const selectDataProviders = (type: FileInputType) => {\n switch (type) {\n case FileInputType.DNAReport: return [FileInputDataProvider.Andme, FileInputDataProvider.LabCorpElation, FileInputDataProvider.Ancestry];\n case FileInputType.LabResults: return [FileInputDataProvider.LabCorpElation, FileInputDataProvider.LabCorpOriginal, FileInputDataProvider.Quest];\n case FileInputType.MicrobiomeData: return [FileInputDataProvider.Gutbio];\n }\n }\n\n const setDefaultState = () => {\n setState({\n ...state,\n isOpen: false,\n type: null,\n file: null,\n handleUpload: null,\n dataProvider: FileInputDataProvider.LabCorpElation\n });\n }\n\n const handleFileUpload = (event) => {\n event.preventDefault();\n const file = event.target.files[0];\n setState({...state, file});\n }\n\n const handleDataProviderSelect = (dataProvider: FileInputDataProvider) => {\n setState({...state, dataProvider});\n }\n\n const handleSubmit = () => {\n setState({...state, isOpen: false});\n state.handleUpload(state.file, state.dataProvider);\n setDefaultState();\n }\n\n const handleClose = () => {\n state.handleUpload(null, null);\n setDefaultState();\n }\n\n patientInputsService.onUpload.subscribe((callbackModel) => {\n const providers = selectDataProviders(callbackModel.data);\n setState({\n ...state,\n isOpen: true,\n type: callbackModel.data,\n handleUpload: callbackModel.callback,\n dataProviders: providers,\n dataProvider: providers[0]\n });\n })\n\n inputsService.onUpload.subscribe((callbackModel) => {\n const providers = selectDataProviders(callbackModel.data);\n setState({\n ...state,\n isOpen: true,\n type: callbackModel.data,\n handleUpload: callbackModel.callback,\n dataProviders: providers,\n dataProvider: providers[0]\n });\n })\n\n return [state, handleFileUpload, handleDataProviderSelect, handleSubmit, handleClose];\n}","var _g, _g2, _path, _path2, _path3, _rect, _rect2, _circle, _circle2, _circle3, _circle4, _path4, _path5, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMicrobiome = function SvgMicrobiome(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 339,\n height: 190,\n viewBox: \"0 0 339 190\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_4188_79173)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 129.826,\n height: 133.457,\n rx: 12.7102,\n transform: \"matrix(0.83205 0.5547 -0.830139 0.557556 121.788 2)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M146.384 48.5036L145.505 49.0938L141.03 46.1106L141.909 45.5204L146.384 48.5036ZM151.149 45.1672L141.442 46.385L140.699 45.8893L141.401 45.4177L151.103 44.2206L151.833 44.7075L151.149 45.1672ZM151.422 44.4331L150.538 45.0263L146.272 42.1818L147.155 41.5886L151.422 44.4331ZM148.399 47.8966L148.501 47.8284C148.845 47.5971 149.215 47.416 149.609 47.2851C150.007 47.1523 150.409 47.0757 150.816 47.0553C151.229 47.0348 151.632 47.0755 152.028 47.1774C152.429 47.2793 152.803 47.4463 153.151 47.6784C153.502 47.9125 153.753 48.1625 153.904 48.4285C154.061 48.6945 154.125 48.9656 154.096 49.2418C154.07 49.516 153.958 49.7863 153.761 50.0529C153.567 50.3175 153.298 50.5655 152.953 50.7969L152.852 50.8651C152.507 51.0964 152.138 51.2775 151.743 51.4084C151.348 51.5392 150.945 51.6149 150.532 51.6353C150.122 51.6537 149.719 51.613 149.32 51.5131C148.925 51.4112 148.554 51.2442 148.205 51.0121C147.854 50.778 147.6 50.528 147.444 50.262C147.293 49.996 147.231 49.7259 147.257 49.4517C147.286 49.1756 147.397 48.9052 147.591 48.6406C147.785 48.3759 148.055 48.128 148.399 47.8966ZM149.567 48.5395L149.466 48.6078C149.251 48.7521 149.07 48.9033 148.923 49.0613C148.776 49.2194 148.677 49.3783 148.627 49.5381C148.578 49.698 148.585 49.8547 148.65 50.0085C148.715 50.1622 148.85 50.3069 149.053 50.4427C149.251 50.5745 149.463 50.6609 149.69 50.7019C149.92 50.7449 150.155 50.7494 150.393 50.7155C150.632 50.6815 150.869 50.6151 151.105 50.516C151.343 50.419 151.57 50.2983 151.785 50.154L151.887 50.0857C152.099 49.9434 152.275 49.7932 152.416 49.6352C152.563 49.4771 152.662 49.3162 152.712 49.1524C152.765 48.9906 152.758 48.8328 152.693 48.6791C152.634 48.5254 152.504 48.3816 152.303 48.2479C152.103 48.1141 151.886 48.0267 151.653 47.9857C151.426 47.9447 151.192 47.9421 150.95 47.978C150.709 48.0139 150.47 48.0814 150.234 48.1804C150.002 48.2775 149.779 48.3972 149.567 48.5395ZM159.335 49.2357L152.552 53.7914L151.481 53.0773L158.264 48.5216L159.335 49.2357ZM155.853 52.8657L155.954 52.7975C156.299 52.5661 156.668 52.385 157.063 52.2542C157.461 52.1214 157.863 52.0448 158.27 52.0243C158.682 52.0039 159.086 52.0446 159.481 52.1465C159.882 52.2484 160.257 52.4154 160.605 52.6475C160.956 52.8816 161.207 53.1316 161.358 53.3976C161.515 53.6636 161.578 53.9347 161.549 54.2108C161.523 54.485 161.412 54.7554 161.215 55.022C161.021 55.2866 160.751 55.5346 160.407 55.766L160.305 55.8342C159.961 56.0655 159.591 56.2466 159.197 56.3775C158.802 56.5083 158.398 56.5839 157.986 56.6044C157.576 56.6228 157.172 56.5821 156.774 56.4822C156.379 56.3803 156.007 56.2133 155.659 55.9812C155.308 55.7471 155.054 55.4971 154.897 55.2311C154.747 54.9651 154.684 54.695 154.71 54.4208C154.739 54.1446 154.851 53.8743 155.045 53.6096C155.239 53.345 155.508 53.097 155.853 52.8657ZM157.021 53.5086L156.919 53.5768C156.704 53.7212 156.523 53.8724 156.376 54.0304C156.229 54.1884 156.131 54.3474 156.081 54.5072C156.031 54.667 156.039 54.8238 156.104 54.9775C156.169 55.1313 156.303 55.276 156.507 55.4117C156.705 55.5435 156.917 55.6299 157.144 55.671C157.374 55.714 157.608 55.7185 157.847 55.6846C158.086 55.6506 158.323 55.5841 158.558 55.4851C158.797 55.3881 159.024 55.2674 159.239 55.123L159.34 55.0548C159.552 54.9125 159.729 54.7623 159.87 54.6042C160.017 54.4462 160.116 54.2853 160.165 54.1215C160.218 53.9597 160.212 53.8019 160.147 53.6482C160.088 53.4945 159.958 53.3507 159.757 53.217C159.556 53.0832 159.34 52.9958 159.107 52.9548C158.88 52.9138 158.645 52.9112 158.404 52.9471C158.162 52.983 157.924 53.0505 157.688 53.1495C157.455 53.2466 157.233 53.3663 157.021 53.5086ZM160.306 58.9612L159.24 58.25L164.477 54.7324C164.833 54.4932 165.198 54.3367 165.573 54.2631C165.953 54.1895 166.33 54.1947 166.704 54.2789C167.082 54.3611 167.442 54.5163 167.784 54.7445C167.89 54.8153 167.988 54.8901 168.076 54.9688C168.168 55.0456 168.249 55.1253 168.32 55.208L167.472 55.742C167.427 55.6928 167.373 55.6426 167.308 55.5914C167.246 55.5422 167.175 55.491 167.095 55.4379C166.933 55.3297 166.762 55.257 166.582 55.2199C166.408 55.1827 166.233 55.182 166.056 55.2178C165.882 55.2556 165.711 55.3308 165.544 55.4435L160.306 58.9612ZM166.071 56.41L165.294 56.932L162.506 55.073L163.283 54.551L166.071 56.41ZM169.041 58.39L168.264 58.912L165.564 57.112L166.341 56.59L169.041 58.39ZM168.291 56.3234L169.357 57.0345L164.729 60.1428C164.582 60.2417 164.49 60.3316 164.451 60.4125C164.419 60.4934 164.428 60.5684 164.478 60.6373C164.529 60.7062 164.605 60.7751 164.709 60.844C164.782 60.8932 164.858 60.9374 164.934 60.9767C165.011 61.016 165.074 61.0465 165.125 61.0681L164.316 61.6168C164.201 61.5756 164.075 61.5226 163.936 61.4577C163.8 61.3948 163.657 61.3132 163.507 61.2129C163.262 61.0496 163.088 60.8764 162.984 60.6931C162.884 60.5079 162.879 60.3136 162.97 60.1104C163.061 59.9071 163.27 59.6957 163.597 59.4762L168.291 56.3234Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M114.722 66.3643L108.293 70.6827L107.182 69.9421L108.897 64.9217L104.291 68.0152L103.18 67.2746L109.61 62.9561L110.721 63.6968L109.006 68.729L113.62 65.6295L114.722 66.3643ZM111.533 72.961C111.179 72.7249 110.916 72.4729 110.745 72.205C110.579 71.9371 110.5 71.666 110.509 71.3919C110.52 71.1197 110.614 70.8533 110.79 70.5926C110.967 70.332 111.218 70.0919 111.545 69.8724L111.722 69.7538C112.096 69.5027 112.489 69.3117 112.901 69.1808C113.314 69.0499 113.725 68.9772 114.134 68.9627C114.547 68.9463 114.943 68.988 115.324 69.0879C115.704 69.1878 116.049 69.3411 116.359 69.5476C116.701 69.7758 116.944 70.014 117.085 70.2623C117.227 70.5106 117.278 70.761 117.237 71.0135C117.202 71.266 117.083 71.5157 116.88 71.7626C116.68 72.0114 116.408 72.2515 116.064 72.4828L115.609 72.7883L111.908 70.3215L112.672 69.8084L115.319 71.5729L115.403 71.5166C115.589 71.3841 115.73 71.2379 115.827 71.078C115.927 70.9201 115.957 70.7593 115.919 70.5956C115.88 70.432 115.743 70.2715 115.507 70.1141C115.33 69.9961 115.134 69.9166 114.918 69.8755C114.709 69.8345 114.488 69.8309 114.255 69.8648C114.022 69.8988 113.781 69.9662 113.531 70.0672C113.286 70.1683 113.04 70.3018 112.793 70.4679L112.616 70.5865C112.407 70.7269 112.241 70.8761 112.117 71.0341C112 71.1921 111.931 71.3529 111.911 71.5167C111.89 71.6804 111.921 71.8411 112.004 71.9987C112.09 72.1544 112.235 72.3001 112.438 72.4358C112.695 72.607 112.975 72.7248 113.279 72.7894C113.583 72.8539 113.902 72.8721 114.238 72.8439L114.257 73.5835C114.004 73.6155 113.725 73.6229 113.422 73.6056C113.121 73.5864 112.809 73.5258 112.484 73.4238C112.163 73.3238 111.846 73.1695 111.533 72.961ZM119.962 72.0679L119.289 73.7405L121.804 73.2954L122.976 74.0774L119.18 74.6844L118.256 77.3249L117.083 76.5429L117.761 74.7845L115.135 75.2446L113.958 74.4597L117.896 73.8287L118.794 71.2889L119.962 72.0679ZM124.849 75.3255L120.071 78.5347L118.999 77.8206L123.778 74.6114L124.849 75.3255ZM124.961 73.7219C125.123 73.6131 125.31 73.5586 125.522 73.5582C125.74 73.5578 125.945 73.6216 126.137 73.7495C126.326 73.8754 126.42 74.0113 126.421 74.1572C126.424 74.3012 126.344 74.4276 126.183 74.5363C126.024 74.6431 125.836 74.6957 125.621 74.6941C125.406 74.6925 125.204 74.6287 125.015 74.5028C124.823 74.3749 124.726 74.239 124.723 74.0951C124.723 73.9531 124.802 73.8287 124.961 73.7219ZM125.247 80.4783L128.899 78.0255L129.97 78.7396L125.192 81.9487L124.183 81.2759L125.247 80.4783ZM126.391 79.9113L126.758 80.1444C126.437 80.3599 126.106 80.535 125.764 80.6697C125.425 80.8024 125.082 80.8869 124.735 80.923C124.39 80.9571 124.046 80.935 123.704 80.8567C123.365 80.7764 123.035 80.6291 122.713 80.4146C122.48 80.2592 122.3 80.0939 122.173 79.9186C122.046 79.7432 121.982 79.5609 121.982 79.3716C121.985 79.1842 122.061 78.9888 122.211 78.7854C122.361 78.582 122.593 78.3745 122.908 78.163L125.995 76.0898L127.062 76.8009L123.966 78.88C123.792 78.9967 123.667 79.1083 123.591 79.215C123.517 79.3196 123.481 79.4193 123.481 79.514C123.481 79.6086 123.514 79.6973 123.579 79.7801C123.644 79.8628 123.729 79.9395 123.835 80.0104C124.139 80.213 124.437 80.3328 124.729 80.3697C125.027 80.4067 125.314 80.3816 125.591 80.2943C125.871 80.209 126.138 80.0814 126.391 79.9113ZM131.158 80.832L127.352 83.3887L126.285 82.6776L131.063 79.4684L132.068 80.1382L131.158 80.832ZM129.745 81.5504L129.386 81.3055C129.716 81.084 130.062 80.9069 130.424 80.7741C130.786 80.6414 131.15 80.5589 131.516 80.5267C131.884 80.4926 132.242 80.5166 132.59 80.5988C132.944 80.6811 133.277 80.8264 133.59 81.0349C133.808 81.1805 133.975 81.3351 134.091 81.4986C134.212 81.662 134.271 81.8335 134.268 82.013C134.269 82.1944 134.198 82.38 134.057 82.5695C133.919 82.7611 133.7 82.9577 133.399 83.1594L130.215 85.2978L129.149 84.5867L132.24 82.5105C132.472 82.3543 132.62 82.2081 132.681 82.0719C132.746 81.9377 132.741 81.8085 132.667 81.6844C132.599 81.5603 132.477 81.4392 132.3 81.3212C132.099 81.1874 131.89 81.099 131.671 81.056C131.456 81.0149 131.238 81.0094 131.017 81.0394C130.796 81.0693 130.578 81.1289 130.363 81.218C130.148 81.3071 129.942 81.4179 129.745 81.5504ZM132.997 83.3405L132.387 83.0812C132.675 82.8875 132.987 82.7311 133.323 82.6122C133.665 82.4933 134.011 82.4207 134.362 82.3945C134.718 82.3682 135.069 82.3952 135.414 82.4755C135.759 82.5558 136.082 82.6962 136.383 82.8969C136.628 83.0602 136.812 83.2285 136.937 83.4018C137.067 83.5751 137.129 83.7545 137.123 83.9399C137.118 84.1253 137.037 84.3177 136.881 84.5172C136.728 84.7147 136.493 84.9202 136.175 85.1338L133.083 87.2099L132.012 86.4958L135.108 84.4167C135.349 84.2546 135.501 84.1054 135.563 83.9692C135.627 83.835 135.621 83.7088 135.544 83.5906C135.47 83.4704 135.345 83.3513 135.168 83.2333C135.003 83.1231 134.826 83.0465 134.637 83.0034C134.454 82.9603 134.265 82.9469 134.071 82.963C133.879 82.9771 133.692 83.0159 133.51 83.0793C133.33 83.1447 133.159 83.2318 132.997 83.3405Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.6662 89.0654L71.2366 93.3838L70.1345 92.6491L76.5641 88.3307L77.6662 89.0654ZM79.689 90.4139L78.8058 91.0071L73.6759 87.5872L74.5591 86.994L79.689 90.4139ZM75.5774 95.5804L81.1357 93.5887L82.2777 94.35L74.85 96.7679C74.688 96.8175 74.5024 96.8652 74.2932 96.9109C74.084 96.9566 73.86 96.9826 73.6213 96.9889C73.3826 96.9992 73.1409 96.974 72.8961 96.9133C72.6484 96.8545 72.4051 96.7455 72.1661 96.5862C72.0717 96.5232 71.989 96.4563 71.9182 96.3854C71.8473 96.3185 71.7824 96.2535 71.7233 96.1905L72.5314 95.6418C72.558 95.6635 72.5904 95.689 72.6288 95.7186C72.6701 95.75 72.7041 95.7746 72.7306 95.7923C72.9077 95.9104 73.0773 95.9939 73.2395 96.0429C73.3987 96.0939 73.5623 96.1124 73.7303 96.0983C73.9012 96.0862 74.0927 96.0444 74.3048 95.9731L75.5774 95.5804ZM79.0997 92.2314L76.6603 95.3921L75.7289 96.2724L74.7999 95.9071L77.9489 91.4642L79.0997 92.2314ZM86.0353 94.172L79.2523 98.7277L78.1812 98.0136L84.9641 93.4579L86.0353 94.172ZM82.4438 100.974C82.0897 100.737 81.8269 100.485 81.6555 100.218C81.49 99.9496 81.4114 99.6785 81.4198 99.4044C81.4311 99.1322 81.525 98.8658 81.7014 98.6051C81.8778 98.3445 82.1294 98.1044 82.4562 97.8849L82.6328 97.7663C83.0067 97.5152 83.3998 97.3242 83.8122 97.1933C84.2246 97.0624 84.6357 96.9897 85.0453 96.9752C85.4579 96.9587 85.8544 97.0005 86.2348 97.1004C86.6152 97.2003 86.9603 97.3536 87.2701 97.5601C87.6124 97.7883 87.8545 98.0265 87.9964 98.2748C88.1383 98.5231 88.1889 98.7735 88.148 99.026C88.1131 99.2785 87.9942 99.5282 87.7912 99.775C87.5912 100.024 87.319 100.264 86.9746 100.495L86.5197 100.801L82.8195 98.334L83.5834 97.8209L86.2303 99.5854L86.3142 99.5291C86.4996 99.3966 86.6408 99.2504 86.7378 99.0905C86.8378 98.9326 86.8684 98.7718 86.8298 98.6081C86.7912 98.4445 86.6539 98.284 86.4179 98.1266C86.2408 98.0086 86.0447 97.9291 85.8294 97.888C85.6201 97.847 85.399 97.8434 85.1663 97.8773C84.9335 97.9113 84.6919 97.9787 84.4416 98.0797C84.1971 98.1807 83.9512 98.3143 83.7039 98.4804L83.5273 98.599C83.3183 98.7394 83.152 98.8886 83.0285 99.0466C82.9108 99.2046 82.8419 99.3654 82.8215 99.5292C82.8012 99.6929 82.8324 99.8536 82.9152 100.011C83.0009 100.167 83.1456 100.313 83.3492 100.448C83.6059 100.619 83.8861 100.737 84.1898 100.802C84.4935 100.866 84.8133 100.885 85.1493 100.856L85.1682 101.596C84.9148 101.628 84.6363 101.635 84.3327 101.618C84.032 101.599 83.7195 101.538 83.3951 101.436C83.0737 101.336 82.7566 101.182 82.4438 100.974ZM90.0966 100.928L86.3386 103.452L85.2719 102.741L90.05 99.5315L91.0547 100.201L90.0966 100.928ZM88.7139 101.602L88.3731 101.369C88.7146 101.143 89.0724 100.966 89.4465 100.837C89.8236 100.71 90.1963 100.634 90.5647 100.608C90.936 100.583 91.2927 100.612 91.6347 100.694C91.9797 100.775 92.2953 100.91 92.5815 101.101C92.8117 101.254 92.9873 101.415 93.1085 101.582C93.2355 101.75 93.2947 101.925 93.2862 102.109C93.2806 102.294 93.1999 102.486 93.044 102.686C92.8911 102.883 92.6513 103.092 92.3245 103.311L89.2377 105.385L88.1666 104.671L91.2578 102.594C91.4874 102.44 91.6345 102.296 91.6991 102.162C91.7696 102.027 91.7694 101.899 91.6985 101.777C91.6334 101.655 91.5079 101.532 91.322 101.408C91.1391 101.286 90.9371 101.202 90.7159 101.157C90.4948 101.113 90.2678 101.101 90.035 101.123C89.8052 101.147 89.5768 101.2 89.35 101.281C89.1232 101.362 88.9112 101.469 88.7139 101.602ZM92.459 104.406L92.5606 104.338C92.905 104.106 93.2746 103.925 93.6693 103.794C94.067 103.661 94.4692 103.585 94.8759 103.564C95.2885 103.544 95.6923 103.585 96.0875 103.687C96.4885 103.788 96.8631 103.955 97.2113 104.188C97.5624 104.422 97.8134 104.672 97.9641 104.938C98.1208 105.204 98.1846 105.475 98.1556 105.751C98.1296 106.025 98.018 106.295 97.821 106.562C97.627 106.827 97.3577 107.075 97.0133 107.306L96.9117 107.374C96.5672 107.606 96.1977 107.787 95.8029 107.918C95.4082 108.048 95.0045 108.124 94.5919 108.144C94.1823 108.163 93.7784 108.122 93.3804 108.022C92.9852 107.92 92.6136 107.753 92.2654 107.521C91.9143 107.287 91.6603 107.037 91.5037 106.771C91.3529 106.505 91.2905 106.235 91.3166 105.961C91.3456 105.685 91.4571 105.414 91.6512 105.15C91.8453 104.885 92.1145 104.637 92.459 104.406ZM93.6273 105.049L93.5257 105.117C93.3108 105.261 93.1298 105.412 92.9827 105.57C92.8356 105.728 92.7371 105.887 92.6873 106.047C92.6375 106.207 92.6451 106.364 92.7102 106.518C92.7753 106.671 92.9097 106.816 93.1133 106.952C93.311 107.084 93.5233 107.17 93.7503 107.211C93.9803 107.254 94.2146 107.259 94.4533 107.225C94.692 107.191 94.9291 107.124 95.1648 107.025C95.4033 106.928 95.6301 106.807 95.845 106.663L95.9466 106.595C96.1585 106.452 96.3351 106.302 96.4763 106.144C96.6234 105.986 96.7219 105.825 96.7717 105.662C96.8245 105.5 96.8183 105.342 96.7532 105.188C96.694 105.035 96.564 104.891 96.3634 104.757C96.1627 104.623 95.946 104.536 95.713 104.495C95.486 104.454 95.2517 104.451 95.0101 104.487C94.7685 104.523 94.5298 104.591 94.2942 104.69C94.0615 104.787 93.8392 104.906 93.6273 105.049ZM103.395 105.745L96.6117 110.301L95.5405 109.586L102.323 105.031L103.395 105.745Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M105.633 41.1571L172.108 85.4736\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.5879 64.6949L137.063 109.011\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter1_d_4188_79173)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_4188_79173)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 150.152,\n height: 133.457,\n rx: 12.7102,\n transform: \"matrix(0.917214 0.398396 -0.718137 0.695902 199.921 14.5031)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M207.187 42.0632L206.881 42.3593C206.461 42.7665 206.014 43.1014 205.541 43.3639C205.067 43.6265 204.583 43.8148 204.089 43.9288C203.597 44.0442 203.109 44.084 202.623 44.0481C202.14 44.0097 201.679 43.8952 201.239 43.7044C200.804 43.5151 200.466 43.2828 200.227 43.0075C199.994 42.7312 199.863 42.4223 199.834 42.0808C199.805 41.7393 199.884 41.3751 200.071 40.9882C200.262 40.6028 200.567 40.2064 200.987 39.7992L201.293 39.5031C201.713 39.0959 202.16 38.7629 202.635 38.5043C203.111 38.2431 203.597 38.0555 204.091 37.9415C204.592 37.8264 205.082 37.7874 205.562 37.8243C206.048 37.8602 206.509 37.9728 206.945 38.1622C207.384 38.3529 207.721 38.5872 207.958 38.8649C208.197 39.1402 208.328 39.4491 208.351 39.7917C208.377 40.1317 208.293 40.4938 208.099 40.8779C207.911 41.2609 207.607 41.656 207.187 42.0632ZM205.657 41.8274L205.97 41.5238C206.281 41.2227 206.515 40.9405 206.674 40.677C206.839 40.4126 206.926 40.1701 206.937 39.9496C206.954 39.7281 206.896 39.5312 206.762 39.359C206.632 39.1843 206.431 39.0383 206.161 38.9211C205.892 38.8038 205.609 38.74 205.313 38.7296C205.02 38.7167 204.718 38.7568 204.405 38.8497C204.098 38.9416 203.786 39.0866 203.469 39.2847C203.154 39.4803 202.841 39.7286 202.53 40.0297L202.217 40.3333C201.906 40.6344 201.67 40.9179 201.509 41.1837C201.347 41.4496 201.259 41.6953 201.243 41.9207C201.233 42.145 201.291 42.3439 201.419 42.5171C201.549 42.688 201.749 42.832 202.019 42.9493C202.292 43.0679 202.575 43.1337 202.868 43.1466C203.163 43.157 203.466 43.115 203.775 43.0206C204.087 42.9238 204.4 42.7756 204.714 42.5761C205.032 42.378 205.346 42.1285 205.657 41.8274ZM209.778 42.7435L206.527 45.8938L205.351 45.3831L209.484 41.3776L210.592 41.8587L209.778 42.7435ZM208.536 43.6519L208.16 43.4829C208.456 43.2005 208.777 42.9627 209.122 42.7696C209.47 42.5779 209.824 42.4364 210.182 42.3453C210.543 42.2555 210.899 42.2208 211.25 42.2411C211.604 42.2589 211.938 42.3364 212.254 42.4734C212.508 42.5836 212.709 42.7104 212.858 42.8537C213.013 42.9959 213.102 43.1581 213.126 43.3401C213.154 43.5236 213.108 43.7273 212.99 43.9512C212.875 44.1727 212.676 44.4204 212.393 44.6943L209.723 47.2819L208.542 46.7691L211.216 44.1777C211.415 43.9852 211.534 43.8172 211.574 43.6737C211.619 43.5291 211.596 43.4029 211.505 43.2953C211.419 43.1866 211.274 43.0877 211.069 42.9987C210.867 42.9111 210.654 42.8648 210.428 42.8597C210.202 42.8547 209.977 42.8837 209.752 42.9467C209.53 43.0111 209.314 43.1034 209.106 43.2236C208.897 43.3438 208.707 43.4865 208.536 43.6519ZM213.174 48.8882C212.784 48.7187 212.48 48.5173 212.264 48.284C212.054 48.0496 211.928 47.7968 211.888 47.5255C211.851 47.2556 211.896 46.9768 212.023 46.689C212.151 46.4012 212.356 46.1203 212.638 45.8464L212.791 45.6983C213.115 45.3849 213.468 45.1272 213.85 44.9253C214.233 44.7234 214.625 44.579 215.025 44.4921C215.428 44.4027 215.826 44.3734 216.218 44.4044C216.61 44.4353 216.977 44.5249 217.319 44.6732C217.696 44.8371 217.976 45.0287 218.16 45.2478C218.344 45.467 218.438 45.7045 218.442 45.9602C218.453 46.2149 218.38 46.4817 218.224 46.7607C218.071 47.0411 217.846 47.3256 217.548 47.6144L217.155 47.9957L213.076 46.2239L213.737 45.5835L216.654 46.8508L216.727 46.7805C216.886 46.6173 216.999 46.4483 217.066 46.2738C217.136 46.1006 217.138 45.9369 217.071 45.7827C217.004 45.6285 216.84 45.4949 216.58 45.3819C216.385 45.2971 216.178 45.2536 215.959 45.2514C215.746 45.2481 215.527 45.2838 215.304 45.3584C215.081 45.4331 214.855 45.5423 214.627 45.6861C214.404 45.8289 214.186 46.0039 213.972 46.2112L213.819 46.3593C213.638 46.5345 213.501 46.7108 213.408 46.8882C213.32 47.0645 213.281 47.2351 213.29 47.3998C213.299 47.5645 213.358 47.7172 213.467 47.8576C213.579 47.9956 213.747 48.1133 213.972 48.2108C214.255 48.3338 214.551 48.4001 214.862 48.4098C215.172 48.4195 215.49 48.3807 215.816 48.2933L215.966 49.0178C215.722 49.0942 215.449 49.1509 215.147 49.1878C214.848 49.2222 214.53 49.2179 214.192 49.1751C213.858 49.1336 213.519 49.038 213.174 48.8882ZM223.795 47.5935L224.863 48.0576L220.845 51.952C220.473 52.3123 220.056 52.5745 219.595 52.7387C219.133 52.9028 218.655 52.9719 218.159 52.9458C217.66 52.9223 217.173 52.8074 216.698 52.6011C216.497 52.5135 216.295 52.3938 216.094 52.242C215.896 52.0916 215.732 51.9169 215.603 51.7179C215.475 51.5227 215.415 51.313 215.426 51.0886L216.519 50.8024C216.532 51.0546 216.612 51.2697 216.758 51.4476C216.904 51.6254 217.103 51.7688 217.353 51.8776C217.623 51.9948 217.892 52.0562 218.159 52.0616C218.428 52.071 218.689 52.0254 218.943 51.925C219.198 51.8246 219.433 51.6695 219.65 51.4598L222.752 48.4538L223.795 47.5935ZM218.096 48.083L218.176 48.0052C218.49 47.7017 218.824 47.4464 219.178 47.2396C219.536 47.0302 219.899 46.875 220.267 46.774C220.637 46.6705 221.002 46.6271 221.362 46.6439C221.724 46.6582 222.069 46.7367 222.398 46.8794C222.739 47.0278 222.982 47.2011 223.126 47.3994C223.273 47.5992 223.338 47.822 223.32 48.0679C223.304 48.3113 223.217 48.5737 223.058 48.8551C222.906 49.1354 222.7 49.4324 222.443 49.7458L222.187 49.9939C221.849 50.2618 221.508 50.4923 221.162 50.6854C220.817 50.8785 220.472 51.0254 220.128 51.1261C219.784 51.2268 219.442 51.2711 219.101 51.2589C218.763 51.2481 218.43 51.1714 218.102 51.0287C217.78 50.8888 217.541 50.7118 217.385 50.4976C217.233 50.2848 217.158 50.0468 217.161 49.7836C217.167 49.5219 217.249 49.2464 217.406 48.9572C217.566 48.6656 217.796 48.3742 218.096 48.083ZM219.352 48.516L219.272 48.5937C219.084 48.7763 218.931 48.9565 218.813 49.1342C218.699 49.3134 218.628 49.4846 218.601 49.6479C218.58 49.8102 218.61 49.9591 218.691 50.0946C218.779 50.229 218.928 50.3422 219.14 50.434C219.416 50.5541 219.688 50.6079 219.955 50.5953C220.226 50.5842 220.486 50.5238 220.736 50.4142C220.991 50.3036 221.235 50.163 221.468 49.9924L222.159 49.3224C222.29 49.1683 222.389 49.0149 222.457 48.8622C222.529 48.7109 222.562 48.5664 222.558 48.4288C222.557 48.2888 222.506 48.1597 222.407 48.0414C222.31 47.9207 222.158 47.8152 221.949 47.7247C221.738 47.6329 221.519 47.5876 221.291 47.5889C221.064 47.5902 220.837 47.6294 220.612 47.7065C220.389 47.7851 220.171 47.894 219.956 48.0332C219.742 48.1724 219.541 48.3333 219.352 48.516ZM224.201 53.6778C223.81 53.5083 223.507 53.3069 223.291 53.0736C223.081 52.8392 222.955 52.5864 222.915 52.3151C222.878 52.0452 222.923 51.7664 223.05 51.4786C223.178 51.1908 223.383 50.9099 223.665 50.636L223.818 50.4879C224.142 50.1745 224.495 49.9168 224.877 49.7149C225.26 49.513 225.652 49.3686 226.052 49.2817C226.455 49.1923 226.853 49.163 227.245 49.1939C227.637 49.2249 228.004 49.3145 228.346 49.4628C228.723 49.6267 229.003 49.8183 229.187 50.0374C229.371 50.2566 229.465 50.4941 229.469 50.7498C229.48 51.0045 229.407 51.2713 229.251 51.5503C229.098 51.8306 228.873 52.1152 228.575 52.404L228.182 52.7852L224.103 51.0135L224.763 50.3731L227.681 51.6404L227.754 51.5701C227.913 51.4069 228.026 51.2379 228.093 51.0634C228.163 50.8902 228.165 50.7265 228.098 50.5723C228.031 50.4181 227.867 50.2845 227.607 50.1715C227.412 50.0867 227.205 50.0432 226.986 50.041C226.772 50.0377 226.554 50.0734 226.331 50.148C226.108 50.2227 225.882 50.3319 225.654 50.4757C225.431 50.6185 225.213 50.7935 224.999 51.0008L224.846 51.1489C224.665 51.3241 224.528 51.5004 224.435 51.6778C224.347 51.8541 224.307 52.0247 224.316 52.1894C224.325 52.3541 224.385 52.5067 224.494 52.6472C224.606 52.7852 224.774 52.9029 224.999 53.0004C225.282 53.1233 225.578 53.1897 225.889 53.1994C226.199 53.209 226.517 53.1702 226.843 53.0829L226.992 53.8074C226.749 53.8838 226.476 53.9405 226.174 53.9774C225.875 54.0118 225.556 54.0075 225.219 53.9647C224.885 53.9232 224.546 53.8276 224.201 53.6778ZM229.686 54.9291L234.383 52.1923L235.603 52.7222L229.635 55.9308L228.873 55.6002L229.686 54.9291ZM232.099 51.2005L229.998 55.0859L229.347 55.8057L228.586 55.4751L230.875 50.6686L232.099 51.2005ZM237.588 53.5847L233.455 57.5902L232.274 57.0773L236.408 53.0718L237.588 53.5847ZM237.414 51.9866C237.555 51.8509 237.729 51.764 237.938 51.726C238.152 51.687 238.365 51.7134 238.577 51.8052C238.785 51.8956 238.902 52.0127 238.928 52.1562C238.957 52.2974 238.901 52.4358 238.761 52.5715C238.624 52.7048 238.449 52.7897 238.237 52.8263C238.025 52.8629 237.815 52.8359 237.606 52.7455C237.395 52.6537 237.275 52.5372 237.246 52.3961C237.221 52.2564 237.277 52.1199 237.414 51.9866ZM241.297 55.1954L240.624 55.8469L237.648 54.5541L238.32 53.9026L241.297 55.1954ZM240.191 53.2946L241.367 53.8054L237.364 57.6849C237.236 57.8083 237.161 57.9132 237.138 57.9997C237.12 58.085 237.143 58.1572 237.204 58.2161C237.266 58.2751 237.354 58.3293 237.467 58.3787C237.549 58.414 237.631 58.4442 237.713 58.4693C237.796 58.4944 237.863 58.5132 237.917 58.5255L237.218 59.2088C237.098 59.1886 236.964 59.1589 236.816 59.1197C236.671 59.0818 236.516 59.0269 236.35 58.9549C236.08 58.8376 235.878 58.698 235.743 58.536C235.612 58.3715 235.573 58.1812 235.626 57.9649C235.68 57.7487 235.848 57.5037 236.13 57.2297L240.191 53.2946ZM240.053 59.8236L245.171 56.8781L246.429 57.4249L239.548 61.1214C239.397 61.1989 239.223 61.2787 239.025 61.3608C238.828 61.4429 238.612 61.5082 238.378 61.5567C238.145 61.6092 237.903 61.6272 237.651 61.6108C237.397 61.5969 237.138 61.5328 236.874 61.4183C236.77 61.3731 236.677 61.3219 236.595 61.2647C236.513 61.2114 236.438 61.159 236.369 61.1074L237.067 60.4242C237.097 60.4408 237.133 60.4602 237.176 60.4824C237.222 60.5061 237.26 60.5243 237.289 60.537C237.485 60.6218 237.666 60.6739 237.835 60.6934C238 60.7154 238.165 60.7045 238.327 60.6609C238.494 60.6186 238.675 60.5436 238.871 60.4357L240.053 59.8236ZM242.926 55.9032L241.086 59.4464L240.325 60.4778L239.346 60.2831L241.658 55.3522L242.926 55.9032ZM253.872 62.4696L251.748 64.5279C251.543 64.5853 251.27 64.6278 250.931 64.6555C250.597 64.6821 250.21 64.6623 249.77 64.5961C249.329 64.5299 248.847 64.3831 248.323 64.1556C247.878 63.962 247.528 63.728 247.274 63.4534C247.023 63.1763 246.877 62.8681 246.837 62.5287C246.799 62.1907 246.871 61.8308 247.054 61.4488C247.238 61.0644 247.542 60.6674 247.965 60.2577L248.351 59.8838C248.771 59.4766 249.212 59.1428 249.674 58.8824C250.142 58.6209 250.617 58.4342 251.1 58.3222C251.583 58.2103 252.062 58.1753 252.537 58.2172C253.017 58.2581 253.485 58.3774 253.941 58.5752C254.523 58.8281 254.928 59.1112 255.156 59.4246C255.389 59.7369 255.477 60.0679 255.417 60.4174C255.358 60.767 255.184 61.1203 254.896 61.4775L253.695 60.9562C253.85 60.7517 253.947 60.5506 253.986 60.3531C254.028 60.157 253.988 59.9718 253.867 59.7975C253.751 59.6221 253.529 59.463 253.2 59.3203C252.917 59.1974 252.626 59.13 252.328 59.1182C252.029 59.1064 251.726 59.1484 251.42 59.2442C251.117 59.3414 250.813 59.488 250.507 59.6839C250.201 59.8799 249.898 60.1235 249.598 60.4147L249.204 60.796C248.899 61.0922 248.668 61.3727 248.512 61.6375C248.36 61.9037 248.281 62.1498 248.274 62.3755C248.27 62.6027 248.34 62.8065 248.484 62.9868C248.63 63.1647 248.846 63.3158 249.132 63.4401C249.412 63.5616 249.659 63.6439 249.874 63.6871C250.091 63.7278 250.277 63.7461 250.432 63.7419C250.593 63.7367 250.727 63.7234 250.834 63.7019L251.938 62.6321L250.459 61.9899L251.174 61.2977L253.872 62.4696ZM256.42 66.1978L259.579 63.1364L260.76 63.6492L256.626 67.6547L255.514 67.1715L256.42 66.1978ZM257.445 65.437L257.848 65.6012C257.57 65.8702 257.275 66.1013 256.963 66.2944C256.653 66.4851 256.33 66.629 255.994 66.7262C255.661 66.8209 255.319 66.8601 254.969 66.8436C254.621 66.8247 254.27 66.7383 253.915 66.5843C253.658 66.4727 253.451 66.3419 253.295 66.1919C253.139 66.0418 253.044 65.8737 253.01 65.6874C252.98 65.5026 253.02 65.2967 253.132 65.07C253.243 64.8432 253.435 64.5978 253.708 64.3337L256.378 61.7461L257.554 62.2569L254.876 64.8519C254.726 64.9975 254.622 65.1295 254.566 65.248C254.512 65.3641 254.494 65.4686 254.511 65.5618C254.528 65.6549 254.576 65.7364 254.654 65.8063C254.733 65.8762 254.831 65.9366 254.948 65.9875C255.283 66.133 255.597 66.1981 255.891 66.1827C256.191 66.1663 256.469 66.0906 256.726 65.9556C256.986 65.8221 257.226 65.6492 257.445 65.437ZM264.385 65.2239L263.712 65.8754L260.736 64.5826L261.408 63.9311L264.385 65.2239ZM263.28 63.3231L264.455 63.8338L260.452 67.7134C260.325 67.8368 260.249 67.9417 260.226 68.0281C260.209 68.1135 260.231 68.1856 260.292 68.2446C260.354 68.3035 260.442 68.3577 260.556 68.4072C260.637 68.4425 260.719 68.4727 260.801 68.4978C260.884 68.5229 260.952 68.5416 261.005 68.554L260.307 69.2373C260.186 69.2171 260.052 69.1874 259.904 69.1482C259.759 69.1103 259.604 69.0554 259.438 68.9833C259.168 68.8661 258.966 68.7264 258.832 68.5644C258.7 68.4 258.661 68.2096 258.714 67.9934C258.768 67.7772 258.936 67.5321 259.219 67.2582L263.28 63.3231ZM267.032 63.9395L268.207 64.4503L263.222 69.2812L262.227 70.0876L261.164 69.6256L267.032 63.9395ZM267.889 69.5928L267.809 69.6706C267.503 69.9667 267.178 70.2204 266.833 70.4315C266.494 70.6415 266.142 70.7997 265.778 70.9061C265.417 71.0138 265.056 71.0625 264.695 71.052C264.339 71.0405 263.994 70.962 263.659 70.8165C263.33 70.6738 263.092 70.5026 262.945 70.3028C262.798 70.1031 262.731 69.8808 262.743 69.636C262.759 69.3926 262.839 69.1293 262.986 68.8461C263.132 68.5629 263.333 68.2678 263.589 67.9607L263.844 67.7127C264.187 67.4398 264.531 67.2068 264.877 67.0137C265.225 66.8181 265.569 66.6693 265.91 66.5671C266.257 66.464 266.599 66.4178 266.936 66.4285C267.277 66.4407 267.61 66.5175 267.935 66.6588C268.273 66.8057 268.52 66.9843 268.675 67.1947C268.834 67.4064 268.905 67.641 268.889 67.8985C268.875 68.1536 268.782 68.4241 268.609 68.7101C268.44 68.9975 268.2 69.2917 267.889 69.5928ZM266.633 69.1598L266.713 69.0821C266.899 68.9019 267.054 68.7244 267.178 68.5495C267.305 68.3721 267.385 68.2032 267.419 68.0427C267.455 67.8836 267.433 67.7363 267.352 67.6008C267.276 67.4643 267.126 67.3472 266.901 67.2498C266.693 67.1593 266.486 67.1088 266.281 67.0981C266.075 67.0874 265.873 67.107 265.676 67.157C265.478 67.207 265.286 67.281 265.1 67.3789C264.918 67.4783 264.743 67.5953 264.576 67.73L263.884 68.4C263.722 68.5978 263.608 68.795 263.542 68.9914C263.482 69.1868 263.491 69.3696 263.57 69.5396C263.652 69.7072 263.831 69.8511 264.107 69.9712C264.325 70.0659 264.543 70.1124 264.762 70.1107C264.98 70.1091 265.194 70.0681 265.404 69.9878C265.62 69.9064 265.83 69.794 266.035 69.6505C266.243 69.5085 266.442 69.3449 266.633 69.1598ZM272.172 68.6062L268.039 72.6117L266.858 72.0988L270.991 68.0934L272.172 68.6062ZM271.998 67.0081C272.138 66.8724 272.313 66.7855 272.521 66.7476C272.736 66.7085 272.949 66.7349 273.16 66.8267C273.369 66.9172 273.486 67.0342 273.512 67.1778C273.54 67.3189 273.485 67.4573 273.345 67.5931C273.207 67.7263 273.032 67.8112 272.82 67.8478C272.608 67.8844 272.398 67.8575 272.19 67.767C271.979 67.6752 271.859 67.5587 271.83 67.4176C271.804 67.2779 271.861 67.1414 271.998 67.0081ZM271.123 71.1154L271.211 71.0303C271.509 70.7415 271.841 70.4978 272.206 70.299C272.574 70.0978 272.956 69.9511 273.352 69.8589C273.755 69.7656 274.16 69.7341 274.567 69.7643C274.979 69.7934 275.378 69.8914 275.761 70.0581C276.148 70.2262 276.44 70.4278 276.635 70.6629C276.837 70.8969 276.948 71.1523 276.968 71.4293C276.991 71.7037 276.929 71.9896 276.782 72.2869C276.638 72.5817 276.417 72.8735 276.119 73.1623L276.032 73.2474C275.734 73.5361 275.402 73.7799 275.037 73.9787C274.671 74.1774 274.288 74.3234 273.885 74.4167C273.485 74.5075 273.08 74.539 272.671 74.5113C272.264 74.481 271.869 74.3826 271.485 74.2159C271.098 74.0477 270.804 73.8467 270.602 73.6127C270.407 73.3776 270.297 73.1229 270.274 72.8484C270.254 72.5715 270.316 72.2856 270.46 71.9908C270.604 71.6959 270.825 71.4041 271.123 71.1154ZM272.387 71.541L272.299 71.6261C272.113 71.8063 271.962 71.9872 271.845 72.1688C271.728 72.3504 271.659 72.5243 271.639 72.6904C271.618 72.8566 271.653 73.0095 271.745 73.1492C271.836 73.289 271.994 73.4076 272.218 73.5051C272.436 73.5998 272.661 73.6472 272.891 73.6473C273.125 73.6488 273.357 73.6117 273.586 73.536C273.814 73.4603 274.036 73.3528 274.25 73.2136C274.468 73.0758 274.67 72.9168 274.856 72.7367L274.943 72.6515C275.127 72.4738 275.274 72.2947 275.385 72.1141C275.502 71.9325 275.57 71.7567 275.59 71.5867C275.613 71.4181 275.579 71.2639 275.488 71.1242C275.402 70.9834 275.249 70.8649 275.028 70.7689C274.807 70.6728 274.578 70.6252 274.341 70.6261C274.111 70.626 273.88 70.665 273.648 70.7432C273.417 70.8214 273.194 70.9301 272.98 71.0693C272.768 71.2061 272.57 71.3633 272.387 71.541ZM285.852 72.5433L280.29 77.9332L279.075 77.4055L284.637 72.0156L285.852 72.5433ZM288.082 73.5118L287.318 74.2522L281.663 71.7959L282.427 71.0555L288.082 73.5118ZM285.122 80.1393C284.732 79.9697 284.429 79.7683 284.212 79.535C284.002 79.3007 283.877 79.0478 283.836 78.7765C283.799 78.5067 283.844 78.2278 283.972 77.94C284.099 77.6522 284.304 77.3714 284.587 77.0974L284.74 76.9494C285.063 76.6359 285.416 76.3783 285.799 76.1763C286.181 75.9744 286.573 75.83 286.974 75.7431C287.377 75.6537 287.774 75.6245 288.166 75.6554C288.559 75.6863 288.925 75.7759 289.267 75.9243C289.644 76.0882 289.925 76.2797 290.108 76.4989C290.292 76.718 290.386 76.9555 290.391 77.2113C290.401 77.466 290.328 77.7328 290.172 78.0117C290.02 78.2921 289.794 78.5767 289.496 78.8654L289.103 79.2467L285.024 77.475L285.685 76.8345L288.603 78.1019L288.675 78.0315C288.834 77.8683 288.947 77.6994 289.014 77.5248C289.085 77.3516 289.086 77.188 289.019 77.0338C288.952 76.8796 288.789 76.746 288.529 76.6329C288.333 76.5482 288.126 76.5047 287.907 76.5024C287.694 76.4991 287.476 76.5348 287.253 76.6095C287.03 76.6841 286.804 76.7934 286.575 76.9372C286.353 77.0799 286.134 77.2549 285.92 77.4622L285.768 77.6103C285.587 77.7855 285.45 77.9618 285.356 78.1392C285.268 78.3156 285.229 78.4861 285.238 78.6508C285.247 78.8156 285.306 78.9682 285.416 79.1087C285.527 79.2467 285.696 79.3644 285.92 79.4619C286.203 79.5848 286.5 79.6511 286.81 79.6608C287.12 79.6705 287.438 79.6317 287.764 79.5444L287.914 80.2689C287.67 80.3453 287.397 80.4019 287.095 80.4388C286.796 80.4732 286.478 80.469 286.14 80.4261C285.806 80.3846 285.467 80.289 285.122 80.1393ZM292.31 81.5831C292.401 81.4942 292.455 81.4013 292.47 81.3043C292.488 81.2048 292.444 81.0894 292.34 80.9582C292.238 80.8283 292.053 80.6694 291.786 80.4816C291.554 80.3132 291.355 80.1461 291.187 79.9802C291.024 79.8132 290.909 79.6469 290.84 79.481C290.771 79.3152 290.757 79.1483 290.798 78.9804C290.839 78.8125 290.947 78.6447 291.12 78.4769C291.288 78.314 291.494 78.1802 291.739 78.0756C291.983 77.9709 292.251 77.9012 292.541 77.8665C292.831 77.8317 293.135 77.8366 293.452 77.8813C293.771 77.9273 294.088 78.0181 294.4 78.1538C294.842 78.3459 295.163 78.5673 295.361 78.8179C295.565 79.0674 295.652 79.3251 295.623 79.5911C295.596 79.8546 295.459 80.106 295.212 80.3454L294.036 79.8347C294.146 79.7286 294.212 79.6143 294.234 79.4919C294.263 79.3684 294.236 79.248 294.155 79.1304C294.076 79.0105 293.931 78.9046 293.72 78.8127C293.518 78.7251 293.325 78.677 293.141 78.6685C292.962 78.6588 292.801 78.6782 292.657 78.7264C292.516 78.7761 292.399 78.8466 292.305 78.9379C292.236 79.0045 292.19 79.072 292.166 79.1405C292.149 79.2078 292.157 79.2814 292.193 79.3611C292.231 79.4384 292.301 79.5259 292.402 79.6237C292.507 79.7229 292.649 79.8364 292.828 79.9642C293.165 80.2035 293.427 80.4367 293.612 80.6636C293.803 80.8895 293.895 81.1153 293.888 81.3411C293.883 81.5644 293.758 81.7957 293.511 82.0351C293.327 82.2128 293.109 82.3538 292.855 82.458C292.607 82.5613 292.333 82.6262 292.032 82.6528C291.734 82.677 291.423 82.6615 291.098 82.6063C290.777 82.5525 290.453 82.4549 290.128 82.3137C289.65 82.106 289.311 81.8659 289.112 81.5935C288.915 81.3185 288.835 81.0425 288.871 80.7652C288.914 80.4869 289.048 80.2379 289.275 80.0183L290.412 80.5121C290.254 80.6831 290.178 80.8413 290.183 80.9866C290.195 81.1309 290.259 81.2606 290.375 81.3756C290.498 81.4896 290.647 81.5848 290.823 81.6611C291.034 81.7529 291.233 81.8089 291.42 81.8292C291.609 81.8469 291.779 81.835 291.93 81.7935C292.084 81.7494 292.21 81.6793 292.31 81.5831ZM299.925 80.6608L299.252 81.3123L296.276 80.0195L296.948 79.368L299.925 80.6608ZM298.819 78.76L299.995 79.2707L295.992 83.1503C295.864 83.2737 295.789 83.3786 295.766 83.465C295.749 83.5504 295.771 83.6225 295.832 83.6815C295.894 83.7404 295.982 83.7946 296.096 83.8441C296.177 83.8794 296.259 83.9096 296.341 83.9347C296.424 83.9598 296.492 83.9785 296.545 83.9909L295.847 84.6742C295.726 84.654 295.592 84.6243 295.444 84.5851C295.299 84.5472 295.144 84.4923 294.978 84.4202C294.708 84.303 294.506 84.1633 294.372 84.0013C294.24 83.8369 294.201 83.6465 294.254 83.4303C294.308 83.2141 294.476 82.969 294.759 82.6951L298.819 78.76Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M177.479 71.6217L175.355 73.68C175.15 73.7374 174.878 73.7799 174.538 73.8076C174.205 73.8342 173.817 73.8144 173.377 73.7482C172.937 73.682 172.455 73.5352 171.931 73.3077C171.485 73.1141 171.136 72.8801 170.882 72.6055C170.631 72.3284 170.485 72.0202 170.444 71.6808C170.407 71.3428 170.479 70.9829 170.661 70.6009C170.846 70.2165 171.149 69.8195 171.572 69.4098L171.958 69.0359C172.378 68.6287 172.819 68.2949 173.281 68.0345C173.749 67.773 174.224 67.5863 174.707 67.4743C175.19 67.3624 175.669 67.3274 176.144 67.3693C176.625 67.4102 177.093 67.5295 177.548 67.7273C178.13 67.9802 178.536 68.2633 178.763 68.5767C178.997 68.889 179.084 69.22 179.025 69.5695C178.966 69.9191 178.792 70.2724 178.503 70.6296L177.303 70.1083C177.457 69.9038 177.554 69.7027 177.593 69.5052C177.635 69.3091 177.596 69.1239 177.474 68.9496C177.358 68.7742 177.136 68.6151 176.808 68.4724C176.525 68.3495 176.234 68.2821 175.935 68.2703C175.636 68.2585 175.334 68.3005 175.028 68.3963C174.725 68.4935 174.42 68.6401 174.115 68.836C173.809 69.032 173.506 69.2756 173.205 69.5668L172.812 69.9481C172.506 70.2443 172.275 70.5248 172.12 70.7896C171.968 71.0558 171.888 71.3019 171.881 71.5276C171.878 71.7548 171.948 71.9586 172.091 72.1389C172.237 72.3168 172.454 72.4679 172.74 72.5922C173.02 72.7137 173.267 72.796 173.481 72.8392C173.698 72.8799 173.884 72.8982 174.039 72.894C174.2 72.8888 174.334 72.8755 174.441 72.854L175.545 71.7842L174.067 71.142L174.781 70.4498L177.479 71.6217ZM180.027 75.3499L183.186 72.2885L184.367 72.8013L180.234 76.8068L179.121 76.3236L180.027 75.3499ZM181.052 74.5891L181.455 74.7533C181.178 75.0223 180.883 75.2534 180.57 75.4465C180.26 75.6372 179.938 75.7811 179.602 75.8783C179.269 75.973 178.927 76.0122 178.576 75.9957C178.228 75.9768 177.877 75.8904 177.522 75.7364C177.265 75.6248 177.059 75.494 176.903 75.344C176.747 75.1939 176.652 75.0258 176.618 74.8395C176.587 74.6547 176.628 74.4488 176.739 74.2221C176.851 73.9953 177.043 73.7499 177.315 73.4858L179.985 70.8982L181.161 71.409L178.483 74.004C178.333 74.1496 178.23 74.2816 178.174 74.4001C178.12 74.5162 178.101 74.6207 178.118 74.7139C178.135 74.807 178.183 74.8885 178.262 74.9584C178.34 75.0283 178.438 75.0887 178.555 75.1396C178.89 75.2851 179.205 75.3502 179.498 75.3348C179.798 75.3184 180.076 75.2427 180.333 75.1077C180.594 74.9742 180.833 74.8013 181.052 74.5891ZM187.992 74.376L187.32 75.0275L184.344 73.7347L185.016 73.0832L187.992 74.376ZM186.887 72.4752L188.063 72.9859L184.059 76.8655C183.932 76.9889 183.857 77.0938 183.833 77.1802C183.816 77.2656 183.838 77.3377 183.9 77.3967C183.961 77.4556 184.049 77.5098 184.163 77.5593C184.244 77.5946 184.326 77.6248 184.409 77.6499C184.491 77.675 184.559 77.6937 184.612 77.7061L183.914 78.3894C183.794 78.3692 183.659 78.3395 183.511 78.3003C183.367 78.2624 183.212 78.2075 183.046 78.1354C182.776 78.0182 182.573 77.8785 182.439 77.7165C182.307 77.5521 182.268 77.3617 182.322 77.1455C182.375 76.9293 182.543 76.6842 182.826 76.4103L186.887 72.4752ZM190.89 78.8943L192.11 79.4242C191.707 79.7601 191.252 80.0183 190.746 80.1986C190.242 80.3765 189.708 80.4575 189.145 80.4417C188.582 80.4258 188.014 80.2936 187.442 80.0449C187.003 79.8542 186.669 79.6233 186.439 79.3522C186.213 79.0787 186.088 78.7777 186.064 78.4493C186.043 78.1184 186.127 77.7673 186.317 77.3959C186.511 77.026 186.807 76.6473 187.207 76.2598L187.669 75.8119C188.069 75.4244 188.497 75.1029 188.954 74.8474C189.414 74.5933 189.886 74.4103 190.369 74.2984C190.854 74.1841 191.335 74.1446 191.812 74.1802C192.292 74.2171 192.755 74.3324 193.201 74.526C193.767 74.7718 194.163 75.0585 194.391 75.3859C194.618 75.7134 194.695 76.0632 194.622 76.4354C194.552 76.8089 194.356 77.1864 194.033 77.5679L192.813 77.0381C193.02 76.792 193.153 76.5623 193.213 76.3489C193.277 76.1369 193.247 75.9418 193.125 75.7636C193.005 75.5829 192.774 75.4184 192.433 75.27C192.153 75.1485 191.868 75.082 191.579 75.0706C191.289 75.0592 190.995 75.0996 190.697 75.1918C190.4 75.2841 190.099 75.427 189.796 75.6204C189.498 75.8129 189.202 76.0523 188.906 76.3385L188.437 76.7939C188.156 77.0653 187.933 77.3256 187.765 77.5745C187.604 77.8224 187.506 78.0536 187.473 78.2681C187.444 78.4839 187.487 78.6796 187.603 78.855C187.719 79.0303 187.92 79.1802 188.206 79.3045C188.554 79.4557 188.878 79.536 189.18 79.5453C189.484 79.5561 189.775 79.5052 190.051 79.3929C190.333 79.2794 190.613 79.1133 190.89 78.8943ZM198.324 76.4295L192.456 82.1156L191.285 81.607L197.153 75.9209L198.324 76.4295ZM194.47 79.8758L194.094 79.7068C194.382 79.4318 194.696 79.1983 195.036 79.0062C195.379 78.8155 195.729 78.6727 196.086 78.5776C196.449 78.4815 196.805 78.4417 197.156 78.4581C197.509 78.4721 197.84 78.5462 198.149 78.6804C198.409 78.7934 198.615 78.9223 198.768 79.067C198.923 79.2131 199.015 79.3799 199.043 79.5672C199.073 79.7521 199.028 79.9577 198.908 80.1841C198.793 80.4094 198.594 80.6591 198.312 80.933L195.657 83.5058L194.476 82.993L197.139 80.4128C197.337 80.2203 197.458 80.051 197.5 79.905C197.546 79.7604 197.524 79.633 197.435 79.5229C197.349 79.4103 197.205 79.3102 197.003 79.2226C196.791 79.1308 196.571 79.0816 196.342 79.0752C196.117 79.0701 195.893 79.0998 195.671 79.1642C195.449 79.2287 195.235 79.3217 195.03 79.4433C194.828 79.5663 194.641 79.7104 194.47 79.8758ZM199.098 85.1079C198.708 84.9383 198.404 84.7369 198.188 84.5036C197.978 84.2693 197.853 84.0165 197.812 83.7452C197.775 83.4753 197.82 83.1964 197.948 82.9087C198.075 82.6209 198.28 82.34 198.563 82.0661L198.716 81.918C199.039 81.6046 199.392 81.3469 199.775 81.145C200.157 80.9431 200.549 80.7986 200.95 80.7117C201.353 80.6223 201.75 80.5931 202.142 80.624C202.534 80.6549 202.901 80.7446 203.243 80.8929C203.62 81.0568 203.901 81.2483 204.084 81.4675C204.268 81.6867 204.362 81.9241 204.367 82.1799C204.377 82.4346 204.304 82.7014 204.148 82.9804C203.996 83.2607 203.77 83.5453 203.472 83.834L203.079 84.2153L199 82.4436L199.661 81.8032L202.578 83.0705L202.651 83.0002C202.81 82.8369 202.923 82.668 202.99 82.4934C203.061 82.3203 203.062 82.1566 202.995 82.0024C202.928 81.8482 202.765 81.7146 202.504 81.6016C202.309 81.5168 202.102 81.4733 201.883 81.471C201.67 81.4677 201.452 81.5034 201.229 81.5781C201.005 81.6528 200.78 81.762 200.551 81.9058C200.328 82.0485 200.11 82.2236 199.896 82.4309L199.743 82.5789C199.563 82.7542 199.425 82.9305 199.332 83.1079C199.244 83.2842 199.205 83.4547 199.214 83.6195C199.223 83.7842 199.282 83.9368 199.391 84.0773C199.503 84.2153 199.672 84.333 199.896 84.4305C200.179 84.5534 200.476 84.6197 200.786 84.6294C201.096 84.6391 201.414 84.6003 201.74 84.513L201.89 85.2375C201.646 85.3139 201.373 85.3706 201.071 85.4074C200.772 85.4418 200.454 85.4376 200.116 85.3947C199.782 85.3533 199.443 85.2577 199.098 85.1079ZM205.018 86.6499C205.21 86.7333 205.412 86.7798 205.623 86.7894C205.84 86.798 206.05 86.771 206.251 86.7083C206.456 86.647 206.633 86.5506 206.783 86.4191L207.89 86.9002C207.616 87.1565 207.272 87.3484 206.858 87.4759C206.444 87.6034 206.011 87.6601 205.559 87.6461C205.109 87.6296 204.69 87.5366 204.299 87.3671C203.896 87.1919 203.598 86.9874 203.406 86.7538C203.216 86.5177 203.118 86.264 203.11 85.9927C203.103 85.7215 203.173 85.443 203.322 85.1573C203.474 84.8731 203.693 84.5928 203.978 84.3164L204.112 84.1868C204.397 83.9104 204.713 83.6724 205.06 83.473C205.413 83.2724 205.784 83.1227 206.174 83.0238C206.563 82.9249 206.961 82.8886 207.367 82.9149C207.776 82.9388 208.181 83.0376 208.581 83.2114C209.004 83.3951 209.308 83.6203 209.494 83.8871C209.683 84.1514 209.752 84.4367 209.7 84.7429C209.653 85.048 209.479 85.3512 209.178 85.6527L208.07 85.1716C208.213 85.0193 208.302 84.8648 208.336 84.7082C208.376 84.5506 208.355 84.402 208.273 84.2627C208.194 84.1247 208.047 84.0091 207.833 83.9158C207.595 83.8127 207.36 83.7642 207.128 83.7704C206.898 83.7742 206.674 83.8199 206.456 83.9076C206.241 83.9929 206.034 84.1048 205.834 84.2433C205.64 84.3808 205.458 84.5322 205.288 84.6975L205.154 84.8271C204.983 84.9925 204.836 85.1606 204.711 85.3317C204.586 85.5027 204.504 85.669 204.465 85.8305C204.431 85.991 204.454 86.1422 204.534 86.284C204.616 86.4234 204.777 86.5454 205.018 86.6499ZM214.479 83.4465L208.611 89.1326L207.43 88.6197L213.298 82.9336L214.479 83.4465ZM216.023 86.5513L211.731 87.4855L209.463 87.916L209.935 87.0273L211.808 86.5484L214.603 85.9346L216.023 86.5513ZM210.724 90.0502L210.952 87.4258L212.339 87.1223L212.085 90.6415L210.724 90.0502ZM221.301 86.8389L222.394 87.3136L220.158 92.3631L226.498 89.0959L227.591 89.5707L219.316 93.7823L218.447 93.405L221.301 86.8389ZM220.804 86.6227L221.843 87.0741L218.31 90.7508L216.461 92.5425L215.242 92.0127L220.804 86.6227ZM227.049 89.3354L228.093 89.7889L222.531 95.1789L221.306 94.647L223.155 92.8552L227.049 89.3354ZM229.26 92.3009L225.127 96.3064L223.946 95.7935L228.08 91.788L229.26 92.3009ZM229.086 90.7028C229.226 90.5671 229.401 90.4802 229.61 90.4422C229.824 90.4032 230.037 90.4296 230.249 90.5214C230.457 90.6118 230.574 90.7288 230.6 90.8724C230.629 91.0136 230.573 91.152 230.433 91.2877C230.295 91.421 230.121 91.5059 229.909 91.5425C229.697 91.579 229.487 91.5521 229.278 91.4617C229.067 91.3699 228.947 91.2534 228.918 91.1123C228.893 90.9726 228.949 90.8361 229.086 90.7028ZM229.229 97.1659C229.421 97.2492 229.622 97.2957 229.834 97.3054C230.051 97.3139 230.26 97.2869 230.461 97.2242C230.666 97.1629 230.843 97.0666 230.993 96.9351L232.101 97.4161C231.827 97.6725 231.483 97.8643 231.068 97.9918C230.654 98.1193 230.221 98.176 229.769 98.162C229.32 98.1455 228.9 98.0525 228.51 97.883C228.106 97.7078 227.809 97.5034 227.616 97.2697C227.427 97.0336 227.328 96.7799 227.321 96.5087C227.313 96.2374 227.384 95.9589 227.533 95.6732C227.685 95.389 227.903 95.1087 228.188 94.8323L228.322 94.7027C228.607 94.4263 228.924 94.1884 229.271 93.9889C229.624 93.7884 229.995 93.6386 230.384 93.5397C230.774 93.4408 231.172 93.4045 231.578 93.4309C231.987 93.4547 232.391 93.5535 232.791 93.7273C233.214 93.911 233.519 94.1362 233.705 94.403C233.894 94.6673 233.962 94.9526 233.91 95.2588C233.864 95.5639 233.69 95.8672 233.388 96.1686L232.28 95.6875C232.424 95.5352 232.512 95.3808 232.547 95.2241C232.587 95.0665 232.566 94.918 232.484 94.7786C232.405 94.6406 232.258 94.525 232.043 94.4317C231.806 94.3286 231.571 94.2801 231.338 94.2864C231.108 94.2901 230.884 94.3358 230.666 94.4236C230.451 94.5088 230.244 94.6207 230.045 94.7592C229.851 94.8967 229.669 95.0481 229.498 95.2135L229.364 95.343C229.194 95.5084 229.046 95.6766 228.921 95.8476C228.797 96.0186 228.715 96.1849 228.675 96.3464C228.641 96.5069 228.664 96.6581 228.744 96.7999C228.826 96.9393 228.988 97.0613 229.229 97.1659ZM236.163 96.4035L232.816 99.6464L231.641 99.1356L235.774 95.1302L236.896 95.6176L236.163 96.4035ZM238.592 96.3165L237.726 97.1415C237.665 97.1005 237.594 97.0592 237.515 97.0175C237.439 96.9773 237.36 96.9395 237.279 96.9042C237.077 96.8166 236.877 96.7618 236.678 96.7398C236.482 96.7153 236.29 96.7212 236.101 96.7575C235.919 96.7926 235.742 96.855 235.569 96.9445C235.397 97.034 235.233 97.147 235.078 97.2834L234.795 97.1816C235.054 96.9299 235.328 96.7108 235.614 96.5244C235.901 96.3379 236.193 96.1915 236.491 96.0851C236.793 95.9802 237.09 95.9251 237.383 95.92C237.678 95.9163 237.958 95.9717 238.222 96.0861C238.293 96.1172 238.365 96.1553 238.436 96.2005C238.51 96.2471 238.562 96.2858 238.592 96.3165ZM236.838 98.557L236.926 98.4718C237.224 98.1831 237.555 97.9393 237.92 97.7406C238.288 97.5393 238.671 97.3926 239.067 97.3004C239.47 97.2072 239.874 97.1756 240.281 97.2059C240.694 97.235 241.092 97.3329 241.476 97.4997C241.863 97.6678 242.154 97.8694 242.35 98.1044C242.551 98.3384 242.662 98.5939 242.683 98.8708C242.706 99.1453 242.644 99.4312 242.497 99.7285C242.353 100.023 242.132 100.315 241.834 100.604L241.746 100.689C241.448 100.978 241.117 101.221 240.751 101.42C240.386 101.619 240.002 101.765 239.6 101.858C239.2 101.949 238.795 101.981 238.386 101.953C237.979 101.923 237.583 101.824 237.2 101.657C236.812 101.489 236.518 101.288 236.317 101.054C236.121 100.819 236.012 100.564 235.989 100.29C235.969 100.013 236.031 99.7272 236.175 99.4323C236.319 99.1375 236.54 98.8457 236.838 98.557ZM238.101 98.9826L238.014 99.0677C237.828 99.2479 237.676 99.4288 237.56 99.6104C237.443 99.792 237.374 99.9658 237.353 100.132C237.333 100.298 237.368 100.451 237.459 100.591C237.551 100.731 237.709 100.849 237.933 100.947C238.151 101.041 238.375 101.089 238.606 101.089C238.84 101.09 239.071 101.053 239.3 100.978C239.529 100.902 239.751 100.794 239.965 100.655C240.183 100.517 240.384 100.358 240.57 100.178L240.658 100.093C240.842 99.9154 240.989 99.7363 241.1 99.5557C241.216 99.3741 241.285 99.1983 241.305 99.0283C241.328 98.8597 241.294 98.7055 241.203 98.5657C241.117 98.4249 240.964 98.3065 240.743 98.2104C240.521 98.1144 240.293 98.0668 240.056 98.0677C239.825 98.0676 239.594 98.1066 239.363 98.1848C239.131 98.263 238.909 98.3717 238.694 98.5109C238.482 98.6477 238.285 98.8049 238.101 98.9826ZM246.584 97.3914L247.759 97.9021L242.774 102.733L241.779 103.539L240.716 103.077L246.584 97.3914ZM247.441 103.045L247.361 103.122C247.055 103.419 246.73 103.672 246.385 103.883C246.046 104.093 245.694 104.252 245.33 104.358C244.969 104.466 244.608 104.514 244.247 104.504C243.891 104.492 243.546 104.414 243.211 104.268C242.882 104.126 242.644 103.954 242.497 103.755C242.35 103.555 242.283 103.333 242.295 103.088C242.311 102.844 242.392 102.581 242.538 102.298C242.684 102.015 242.885 101.72 243.141 101.413L243.396 101.165C243.739 100.892 244.083 100.659 244.429 100.466C244.777 100.27 245.121 100.121 245.462 100.019C245.809 99.9159 246.151 99.8697 246.488 99.8804C246.829 99.8926 247.162 99.9693 247.487 100.111C247.825 100.258 248.072 100.436 248.227 100.647C248.386 100.858 248.457 101.093 248.441 101.35C248.427 101.605 248.334 101.876 248.161 102.162C247.992 102.449 247.752 102.744 247.441 103.045ZM246.185 102.612L246.265 102.534C246.451 102.354 246.606 102.176 246.73 102.001C246.857 101.824 246.937 101.655 246.971 101.495C247.008 101.336 246.985 101.188 246.904 101.053C246.828 100.916 246.678 100.799 246.453 100.702C246.245 100.611 246.038 100.561 245.833 100.55C245.627 100.539 245.425 100.559 245.228 100.609C245.03 100.659 244.838 100.733 244.652 100.831C244.47 100.93 244.295 101.047 244.128 101.182L243.436 101.852C243.274 102.05 243.161 102.247 243.094 102.443C243.034 102.639 243.043 102.821 243.122 102.992C243.204 103.159 243.383 103.303 243.659 103.423C243.877 103.518 244.095 103.564 244.314 103.563C244.532 103.561 244.746 103.52 244.956 103.44C245.172 103.358 245.382 103.246 245.587 103.102C245.795 102.96 245.994 102.797 246.185 102.612ZM251.724 102.058L247.591 106.064L246.41 105.551L250.543 101.545L251.724 102.058ZM251.55 100.46C251.69 100.324 251.865 100.237 252.073 100.199C252.288 100.16 252.501 100.187 252.712 100.279C252.921 100.369 253.038 100.486 253.064 100.63C253.093 100.771 253.037 100.909 252.897 101.045C252.759 101.178 252.584 101.263 252.372 101.3C252.16 101.336 251.95 101.309 251.742 101.219C251.531 101.127 251.411 101.011 251.382 100.869C251.357 100.73 251.413 100.593 251.55 100.46ZM250.675 104.567L250.763 104.482C251.061 104.193 251.393 103.95 251.758 103.751C252.126 103.55 252.508 103.403 252.905 103.311C253.307 103.217 253.712 103.186 254.119 103.216C254.531 103.245 254.93 103.343 255.313 103.51C255.7 103.678 255.992 103.88 256.187 104.115C256.389 104.349 256.5 104.604 256.52 104.881C256.543 105.156 256.481 105.441 256.334 105.739C256.19 106.034 255.969 106.325 255.671 106.614L255.584 106.699C255.286 106.988 254.954 107.232 254.589 107.431C254.223 107.629 253.84 107.775 253.437 107.869C253.037 107.959 252.633 107.991 252.223 107.963C251.816 107.933 251.421 107.834 251.037 107.668C250.65 107.5 250.356 107.299 250.154 107.065C249.959 106.829 249.849 106.575 249.827 106.3C249.806 106.023 249.868 105.737 250.012 105.443C250.156 105.148 250.377 104.856 250.675 104.567ZM251.939 104.993L251.851 105.078C251.665 105.258 251.514 105.439 251.397 105.621C251.28 105.802 251.212 105.976 251.191 106.142C251.17 106.308 251.205 106.461 251.297 106.601C251.388 106.741 251.546 106.859 251.77 106.957C251.988 107.052 252.213 107.099 252.443 107.099C252.677 107.101 252.909 107.064 253.138 106.988C253.366 106.912 253.588 106.805 253.802 106.665C254.02 106.528 254.222 106.369 254.408 106.189L254.496 106.103C254.679 105.926 254.826 105.747 254.937 105.566C255.054 105.384 255.122 105.209 255.142 105.039C255.165 104.87 255.131 104.716 255.04 104.576C254.954 104.435 254.801 104.317 254.58 104.221C254.359 104.125 254.13 104.077 253.893 104.078C253.663 104.078 253.432 104.117 253.2 104.195C252.969 104.273 252.746 104.382 252.532 104.521C252.32 104.658 252.122 104.815 251.939 104.993ZM259.017 106.405L255.724 109.596L254.548 109.086L258.682 105.08L259.789 105.561L259.017 106.405ZM257.753 107.363L257.357 107.185C257.642 106.909 257.951 106.673 258.284 106.479C258.618 106.284 258.961 106.138 259.315 106.042C259.671 105.943 260.028 105.903 260.385 105.922C260.748 105.94 261.102 106.024 261.447 106.174C261.687 106.278 261.879 106.401 262.021 106.541C262.169 106.681 262.258 106.839 262.287 107.016C262.32 107.195 262.283 107.39 262.178 107.601C262.076 107.814 261.895 108.047 261.635 108.299L258.881 110.968L257.705 110.457L260.379 107.866C260.58 107.671 260.699 107.501 260.736 107.356C260.776 107.212 260.748 107.086 260.653 106.977C260.564 106.867 260.422 106.769 260.227 106.684C260.006 106.588 259.784 106.538 259.562 106.535C259.343 106.533 259.127 106.566 258.915 106.634C258.703 106.703 258.499 106.8 258.303 106.926C258.107 107.052 257.924 107.198 257.753 107.363ZM261.272 108.548L260.625 108.401C260.875 108.159 261.154 107.95 261.463 107.774C261.779 107.596 262.106 107.463 262.447 107.375C262.793 107.286 263.143 107.25 263.497 107.268C263.851 107.286 264.193 107.367 264.525 107.511C264.795 107.628 265.007 107.761 265.16 107.91C265.318 108.058 265.411 108.223 265.439 108.406C265.466 108.59 265.421 108.794 265.303 109.018C265.187 109.239 264.992 109.483 264.717 109.75L262.043 112.341L260.862 111.828L263.54 109.233C263.749 109.031 263.871 108.857 263.908 108.712C263.948 108.568 263.919 108.445 263.823 108.343C263.729 108.237 263.584 108.142 263.389 108.058C263.207 107.979 263.019 107.935 262.826 107.926C262.638 107.916 262.45 107.936 262.262 107.986C262.076 108.034 261.898 108.105 261.73 108.2C261.565 108.296 261.412 108.412 261.272 108.548ZM265.504 113.951C265.113 113.782 264.81 113.58 264.594 113.347C264.383 113.113 264.258 112.86 264.218 112.589C264.181 112.319 264.226 112.04 264.353 111.752C264.481 111.464 264.686 111.184 264.968 110.91L265.121 110.762C265.445 110.448 265.798 110.19 266.18 109.989C266.563 109.787 266.955 109.642 267.355 109.555C267.758 109.466 268.156 109.437 268.548 109.468C268.94 109.498 269.307 109.588 269.648 109.736C270.026 109.9 270.306 110.092 270.49 110.311C270.674 110.53 270.768 110.768 270.772 111.023C270.783 111.278 270.71 111.545 270.554 111.824C270.401 112.104 270.176 112.389 269.878 112.678L269.484 113.059L265.405 111.287L266.066 110.647L268.984 111.914L269.057 111.844C269.216 111.68 269.329 111.512 269.396 111.337C269.466 111.164 269.468 111 269.401 110.846C269.334 110.692 269.17 110.558 268.91 110.445C268.715 110.36 268.508 110.317 268.289 110.315C268.075 110.311 267.857 110.347 267.634 110.422C267.411 110.496 267.185 110.606 266.957 110.749C266.734 110.892 266.516 111.067 266.302 111.274L266.149 111.422C265.968 111.598 265.831 111.774 265.737 111.951C265.65 112.128 265.61 112.298 265.619 112.463C265.628 112.628 265.688 112.78 265.797 112.921C265.909 113.059 266.077 113.177 266.302 113.274C266.585 113.397 266.881 113.463 267.192 113.473C267.502 113.483 267.82 113.444 268.146 113.357L268.295 114.081C268.052 114.157 267.779 114.214 267.477 114.251C267.178 114.285 266.859 114.281 266.522 114.238C266.188 114.197 265.848 114.101 265.504 113.951Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M151.518 102.233L149.708 101.447L150.397 100.765L151.978 101.452C152.245 101.567 152.501 101.636 152.748 101.657C153 101.678 153.234 101.652 153.448 101.581C153.666 101.507 153.858 101.389 154.027 101.226C154.212 101.046 154.318 100.88 154.345 100.726C154.371 100.573 154.316 100.43 154.181 100.296C154.049 100.164 153.838 100.035 153.549 99.909L152.363 99.394L147.565 104.044L146.34 103.512L151.902 98.1217L154.313 99.1686C154.703 99.3381 155.022 99.5177 155.269 99.7073C155.519 99.8983 155.69 100.101 155.78 100.315C155.875 100.528 155.884 100.75 155.806 100.981C155.732 101.213 155.564 101.455 155.305 101.706C155.075 101.929 154.795 102.102 154.465 102.226C154.136 102.348 153.776 102.408 153.383 102.405C152.99 102.402 152.579 102.324 152.149 102.169L151.518 102.233ZM148.951 104.645L146.809 103.715L148.12 103.218L149.711 103.909C149.987 104.029 150.254 104.095 150.511 104.106C150.77 104.115 151.009 104.078 151.227 103.994C151.451 103.909 151.65 103.782 151.823 103.615C152.004 103.439 152.12 103.27 152.171 103.106C152.225 102.94 152.199 102.784 152.095 102.639C151.993 102.491 151.801 102.356 151.518 102.233L150.142 101.635L150.851 100.962L152.642 101.74L152.656 102.116C153.036 102.295 153.289 102.5 153.415 102.73C153.544 102.961 153.571 103.2 153.496 103.446C153.421 103.692 153.268 103.926 153.039 104.148C152.685 104.491 152.289 104.736 151.852 104.881C151.417 105.029 150.953 105.083 150.461 105.044C149.971 105.003 149.468 104.87 148.951 104.645ZM157.929 102.744L153.796 106.75L152.615 106.237L156.748 102.232L157.929 102.744ZM157.755 101.146C157.895 101.011 158.07 100.924 158.278 100.886C158.493 100.847 158.706 100.873 158.917 100.965C159.126 101.055 159.243 101.172 159.269 101.316C159.298 101.457 159.242 101.596 159.102 101.731C158.964 101.865 158.79 101.949 158.577 101.986C158.365 102.023 158.155 101.996 157.947 101.905C157.736 101.813 157.616 101.697 157.587 101.556C157.562 101.416 157.618 101.28 157.755 101.146ZM156.88 105.254L156.968 105.168C157.266 104.88 157.598 104.636 157.963 104.437C158.331 104.236 158.713 104.089 159.11 103.997C159.512 103.904 159.917 103.872 160.324 103.902C160.736 103.932 161.135 104.03 161.518 104.196C161.906 104.364 162.197 104.566 162.392 104.801C162.594 105.035 162.705 105.291 162.725 105.567C162.748 105.842 162.686 106.128 162.54 106.425C162.396 106.72 162.174 107.012 161.877 107.3L161.789 107.386C161.491 107.674 161.159 107.918 160.794 108.117C160.428 108.316 160.045 108.462 159.642 108.555C159.242 108.646 158.838 108.677 158.428 108.649C158.021 108.619 157.626 108.521 157.242 108.354C156.855 108.186 156.561 107.985 156.359 107.751C156.164 107.516 156.055 107.261 156.032 106.987C156.011 106.71 156.073 106.424 156.217 106.129C156.361 105.834 156.582 105.542 156.88 105.254ZM158.144 105.679L158.056 105.764C157.87 105.945 157.719 106.125 157.602 106.307C157.485 106.489 157.417 106.662 157.396 106.829C157.375 106.995 157.411 107.148 157.502 107.287C157.593 107.427 157.751 107.546 157.975 107.643C158.193 107.738 158.418 107.785 158.648 107.785C158.882 107.787 159.114 107.75 159.343 107.674C159.572 107.599 159.793 107.491 160.008 107.352C160.225 107.214 160.427 107.055 160.613 106.875L160.701 106.79C160.884 106.612 161.031 106.433 161.142 106.252C161.259 106.071 161.327 105.895 161.347 105.725C161.37 105.556 161.336 105.402 161.245 105.262C161.16 105.122 161.006 105.003 160.785 104.907C160.564 104.811 160.335 104.763 160.098 104.764C159.868 104.764 159.637 104.803 159.405 104.881C159.174 104.96 158.951 105.068 158.737 105.208C158.525 105.344 158.327 105.502 158.144 105.679ZM167.782 104.59L161.915 110.276L160.744 109.768L166.611 104.082L167.782 104.59ZM163.929 108.037L163.552 107.868C163.841 107.593 164.155 107.359 164.494 107.167C164.837 106.976 165.187 106.833 165.544 106.738C165.907 106.642 166.264 106.602 166.615 106.619C166.968 106.633 167.299 106.707 167.608 106.841C167.868 106.954 168.074 107.083 168.226 107.228C168.382 107.374 168.473 107.541 168.501 107.728C168.532 107.913 168.487 108.118 168.367 108.345C168.252 108.57 168.053 108.82 167.77 109.094L165.115 111.667L163.935 111.154L166.597 108.574C166.796 108.381 166.916 108.212 166.959 108.066C167.004 107.921 166.983 107.794 166.894 107.684C166.807 107.571 166.663 107.471 166.462 107.383C166.25 107.292 166.03 107.242 165.801 107.236C165.576 107.231 165.352 107.261 165.13 107.325C164.908 107.389 164.694 107.482 164.489 107.604C164.286 107.727 164.1 107.871 163.929 108.037ZM170.775 109.503L167.482 112.695L166.306 112.184L170.439 108.178L171.547 108.659L170.775 109.503ZM169.511 110.461L169.115 110.284C169.4 110.007 169.709 109.772 170.042 109.577C170.375 109.382 170.719 109.236 171.073 109.14C171.429 109.041 171.786 109.001 172.143 109.02C172.506 109.038 172.859 109.122 173.204 109.272C173.445 109.377 173.636 109.499 173.779 109.64C173.927 109.779 174.016 109.937 174.045 110.114C174.077 110.293 174.041 110.488 173.936 110.7C173.834 110.913 173.653 111.145 173.393 111.397L170.639 114.066L169.463 113.555L172.137 110.964C172.338 110.769 172.457 110.599 172.493 110.454C172.533 110.31 172.506 110.184 172.411 110.075C172.322 109.965 172.18 109.867 171.985 109.782C171.764 109.686 171.542 109.637 171.32 109.633C171.1 109.631 170.885 109.664 170.673 109.733C170.46 109.801 170.256 109.898 170.061 110.024C169.865 110.15 169.682 110.296 169.511 110.461ZM173.029 111.646L172.383 111.499C172.632 111.257 172.912 111.048 173.221 110.872C173.536 110.694 173.864 110.561 174.205 110.473C174.551 110.384 174.901 110.349 175.255 110.366C175.608 110.384 175.951 110.465 176.283 110.609C176.553 110.727 176.764 110.859 176.917 111.008C177.076 111.156 177.169 111.321 177.196 111.505C177.224 111.688 177.178 111.892 177.06 112.116C176.945 112.337 176.749 112.581 176.474 112.848L173.8 115.439L172.62 114.926L175.297 112.331C175.506 112.129 175.629 111.955 175.666 111.81C175.705 111.667 175.677 111.543 175.58 111.441C175.486 111.336 175.342 111.241 175.147 111.156C174.964 111.077 174.777 111.033 174.583 111.024C174.396 111.014 174.208 111.034 174.019 111.084C173.833 111.132 173.656 111.203 173.487 111.298C173.322 111.394 173.169 111.51 173.029 111.646ZM185.913 116.711L183.789 118.77C183.584 118.827 183.311 118.87 182.972 118.897C182.638 118.924 182.251 118.904 181.811 118.838C181.37 118.772 180.888 118.625 180.364 118.397C179.919 118.204 179.569 117.97 179.315 117.695C179.064 117.418 178.918 117.11 178.878 116.77C178.84 116.433 178.912 116.073 179.095 115.691C179.279 115.306 179.583 114.909 180.006 114.499L180.392 114.126C180.812 113.718 181.253 113.385 181.715 113.124C182.183 112.863 182.658 112.676 183.141 112.564C183.624 112.452 184.103 112.417 184.578 112.459C185.058 112.5 185.526 112.619 185.982 112.817C186.564 113.07 186.969 113.353 187.197 113.666C187.43 113.979 187.518 114.31 187.458 114.659C187.399 115.009 187.225 115.362 186.937 115.719L185.736 115.198C185.891 114.993 185.988 114.792 186.027 114.595C186.069 114.399 186.029 114.214 185.908 114.039C185.792 113.864 185.57 113.705 185.241 113.562C184.958 113.439 184.667 113.372 184.369 113.36C184.07 113.348 183.767 113.39 183.461 113.486C183.158 113.583 182.854 113.73 182.548 113.926C182.242 114.122 181.939 114.365 181.639 114.657L181.245 115.038C180.94 115.334 180.709 115.614 180.553 115.879C180.401 116.146 180.322 116.392 180.315 116.617C180.311 116.844 180.381 117.048 180.525 117.229C180.671 117.406 180.887 117.558 181.173 117.682C181.453 117.803 181.7 117.886 181.915 117.929C182.132 117.97 182.318 117.988 182.473 117.984C182.634 117.978 182.768 117.965 182.875 117.944L183.979 116.874L182.5 116.232L183.215 115.539L185.913 116.711ZM188.461 120.44L191.62 117.378L192.801 117.891L188.667 121.896L187.555 121.413L188.461 120.44ZM189.486 119.679L189.889 119.843C189.611 120.112 189.316 120.343 189.004 120.536C188.694 120.727 188.371 120.871 188.035 120.968C187.702 121.063 187.36 121.102 187.01 121.085C186.662 121.067 186.311 120.98 185.956 120.826C185.699 120.714 185.492 120.584 185.336 120.434C185.18 120.284 185.085 120.115 185.051 119.929C185.021 119.744 185.061 119.539 185.173 119.312C185.284 119.085 185.476 118.84 185.749 118.576L188.419 115.988L189.595 116.499L186.917 119.094C186.767 119.239 186.663 119.371 186.607 119.49C186.553 119.606 186.535 119.71 186.552 119.804C186.569 119.897 186.617 119.978 186.695 120.048C186.774 120.118 186.872 120.178 186.989 120.229C187.324 120.375 187.638 120.44 187.932 120.425C188.232 120.408 188.51 120.332 188.767 120.197C189.027 120.064 189.267 119.891 189.486 119.679ZM196.426 119.466L195.753 120.117L192.777 118.824L193.449 118.173L196.426 119.466ZM195.321 117.565L196.496 118.076L192.493 121.955C192.366 122.079 192.29 122.184 192.267 122.27C192.25 122.355 192.272 122.427 192.333 122.486C192.395 122.545 192.483 122.6 192.597 122.649C192.678 122.684 192.76 122.715 192.842 122.74C192.925 122.765 192.993 122.783 193.046 122.796L192.348 123.479C192.227 123.459 192.093 123.429 191.945 123.39C191.8 123.352 191.645 123.297 191.479 123.225C191.209 123.108 191.007 122.968 190.873 122.806C190.741 122.642 190.702 122.451 190.755 122.235C190.809 122.019 190.977 121.774 191.26 121.5L195.321 117.565ZM201.368 119.607L203.88 120.698C204.42 120.933 204.817 121.195 205.07 121.483C205.323 121.772 205.426 122.081 205.378 122.411C205.336 122.739 205.133 123.08 204.769 123.433C204.491 123.702 204.181 123.91 203.84 124.059C203.499 124.207 203.136 124.3 202.754 124.337C202.374 124.372 201.98 124.357 201.572 124.291L201.06 124.267L198.801 123.285L199.552 122.544L201.245 123.28C201.538 123.407 201.822 123.473 202.099 123.479C202.376 123.485 202.633 123.441 202.87 123.348C203.114 123.253 203.325 123.12 203.503 122.947C203.697 122.76 203.816 122.575 203.861 122.395C203.912 122.213 203.876 122.042 203.754 121.882C203.635 121.719 203.422 121.572 203.116 121.439L201.828 120.879L197.03 125.529L195.805 124.997L201.368 119.607ZM199.86 126.758L200.69 123.612L201.977 124.166L201.217 127.278L201.168 127.326L199.86 126.758ZM204.233 128.765C203.843 128.595 203.54 128.394 203.324 128.161C203.113 127.926 202.988 127.674 202.947 127.402C202.91 127.132 202.955 126.853 203.083 126.566C203.21 126.278 203.415 125.997 203.698 125.723L203.851 125.575C204.174 125.262 204.527 125.004 204.91 124.802C205.293 124.6 205.684 124.456 206.085 124.369C206.488 124.279 206.886 124.25 207.278 124.281C207.67 124.312 208.037 124.402 208.378 124.55C208.755 124.714 209.036 124.905 209.22 125.125C209.403 125.344 209.497 125.581 209.502 125.837C209.512 126.092 209.44 126.358 209.284 126.637C209.131 126.918 208.906 127.202 208.608 127.491L208.214 127.872L204.135 126.101L204.796 125.46L207.714 126.728L207.786 126.657C207.945 126.494 208.058 126.325 208.126 126.15C208.196 125.977 208.198 125.814 208.131 125.659C208.064 125.505 207.9 125.372 207.64 125.259C207.445 125.174 207.237 125.13 207.018 125.128C206.805 125.125 206.587 125.16 206.364 125.235C206.141 125.31 205.915 125.419 205.686 125.563C205.464 125.706 205.245 125.881 205.032 126.088L204.879 126.236C204.698 126.411 204.561 126.588 204.467 126.765C204.379 126.941 204.34 127.112 204.349 127.277C204.358 127.441 204.417 127.594 204.527 127.734C204.639 127.872 204.807 127.99 205.031 128.088C205.314 128.21 205.611 128.277 205.921 128.286C206.232 128.296 206.55 128.257 206.875 128.17L207.025 128.895C206.781 128.971 206.508 129.028 206.207 129.064C205.907 129.099 205.589 129.095 205.252 129.052C204.918 129.01 204.578 128.915 204.233 128.765ZM211.859 127.284L206.931 132.06L205.755 131.549L211.478 126.004L212.561 126.474L211.859 127.284ZM214.065 129.974L213.985 130.052C213.684 130.343 213.36 130.594 213.012 130.803C212.669 131.012 212.315 131.171 211.948 131.279C211.587 131.387 211.228 131.437 210.87 131.428C210.511 131.419 210.166 131.342 209.835 131.198C209.506 131.055 209.265 130.884 209.112 130.686C208.965 130.486 208.895 130.264 208.901 130.021C208.908 129.777 208.978 129.518 209.111 129.243C209.249 128.967 209.44 128.682 209.683 128.387L209.992 128.087C210.338 127.812 210.684 127.576 211.032 127.381C211.383 127.187 211.732 127.04 212.08 126.941C212.427 126.841 212.771 126.798 213.112 126.81C213.453 126.822 213.786 126.899 214.111 127.04C214.443 127.184 214.686 127.361 214.841 127.572C214.999 127.78 215.073 128.012 215.063 128.268C215.055 128.522 214.965 128.794 214.793 129.084C214.624 129.371 214.381 129.668 214.065 129.974ZM212.809 129.541L212.889 129.463C213.08 129.278 213.235 129.097 213.352 128.919C213.472 128.739 213.546 128.567 213.573 128.404C213.6 128.241 213.572 128.092 213.487 127.959C213.409 127.825 213.264 127.712 213.053 127.621C212.845 127.53 212.638 127.48 212.432 127.469C212.229 127.456 212.029 127.474 211.831 127.524C211.633 127.574 211.442 127.65 211.257 127.752C211.074 127.851 210.896 127.969 210.723 128.104L209.982 128.823C209.838 129.017 209.736 129.209 209.678 129.398C209.62 129.587 209.631 129.764 209.711 129.927C209.798 130.09 209.978 130.231 210.251 130.349C210.462 130.441 210.679 130.485 210.9 130.481C211.12 130.477 211.341 130.435 211.56 130.355C211.785 130.274 212.003 130.163 212.214 130.022C212.425 129.882 212.623 129.721 212.809 129.541ZM214.757 130.393L214.845 130.307C215.143 130.019 215.474 129.775 215.84 129.576C216.208 129.375 216.59 129.228 216.986 129.136C217.389 129.043 217.794 129.011 218.2 129.042C218.613 129.071 219.011 129.169 219.395 129.335C219.782 129.503 220.074 129.705 220.269 129.94C220.471 130.174 220.581 130.43 220.602 130.706C220.625 130.981 220.563 131.267 220.416 131.564C220.272 131.859 220.051 132.151 219.753 132.439L219.665 132.525C219.367 132.813 219.036 133.057 218.671 133.256C218.305 133.455 217.921 133.601 217.519 133.694C217.119 133.785 216.714 133.816 216.305 133.788C215.898 133.758 215.503 133.66 215.119 133.493C214.732 133.325 214.437 133.124 214.236 132.89C214.041 132.655 213.931 132.4 213.908 132.126C213.888 131.849 213.95 131.563 214.094 131.268C214.238 130.973 214.459 130.681 214.757 130.393ZM216.021 130.818L215.933 130.903C215.747 131.084 215.596 131.264 215.479 131.446C215.362 131.628 215.293 131.801 215.273 131.968C215.252 132.134 215.287 132.287 215.379 132.426C215.47 132.566 215.628 132.685 215.852 132.782C216.07 132.877 216.295 132.924 216.525 132.924C216.759 132.926 216.991 132.889 217.219 132.813C217.448 132.738 217.67 132.63 217.884 132.491C218.102 132.353 218.304 132.194 218.49 132.014L218.577 131.929C218.761 131.751 218.908 131.572 219.019 131.391C219.136 131.21 219.204 131.034 219.224 130.864C219.247 130.695 219.213 130.541 219.122 130.401C219.036 130.261 218.883 130.142 218.662 130.046C218.441 129.95 218.212 129.902 217.975 129.903C217.745 129.903 217.514 129.942 217.282 130.02C217.051 130.099 216.828 130.207 216.613 130.347C216.402 130.483 216.204 130.641 216.021 130.818ZM223.157 132.181L219.811 135.424L218.635 134.913L222.768 130.908L223.891 131.395L223.157 132.181ZM225.586 132.094L224.721 132.919C224.659 132.878 224.589 132.837 224.509 132.795C224.433 132.755 224.354 132.717 224.273 132.682C224.071 132.594 223.871 132.539 223.672 132.517C223.476 132.493 223.284 132.499 223.096 132.535C222.914 132.57 222.736 132.633 222.564 132.722C222.391 132.812 222.228 132.924 222.073 133.061L221.789 132.959C222.049 132.707 222.322 132.488 222.609 132.302C222.895 132.115 223.188 131.969 223.486 131.863C223.787 131.758 224.084 131.703 224.377 131.698C224.673 131.694 224.953 131.749 225.216 131.864C225.288 131.895 225.359 131.933 225.43 131.978C225.505 132.025 225.557 132.063 225.586 132.094ZM228.96 133.597L228.288 134.249L225.311 132.956L225.984 132.304L228.96 133.597ZM227.855 131.696L229.031 132.207L225.027 136.087C224.9 136.21 224.825 136.315 224.801 136.401C224.784 136.487 224.806 136.559 224.868 136.618C224.929 136.677 225.017 136.731 225.131 136.78C225.212 136.816 225.294 136.846 225.377 136.871C225.459 136.896 225.527 136.915 225.58 136.927L224.882 137.61C224.762 137.59 224.627 137.561 224.479 137.521C224.335 137.484 224.179 137.429 224.014 137.357C223.744 137.239 223.541 137.1 223.407 136.938C223.275 136.773 223.236 136.583 223.29 136.367C223.343 136.15 223.511 135.905 223.794 135.631L227.855 131.696Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.964 55.9041L264.243 87.733\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.647 85.2823L233.926 117.111\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n })))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M324.167 63.6922L312.534 65.9391L317.777 93.0818C318.398 96.294 321.505 98.3951 324.717 97.7746C327.929 97.1542 330.03 94.0471 329.41 90.8349L324.167 63.6922Z\",\n fill: \"#CDD7E2\",\n fillOpacity: 0.44\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M321.217 74.005C322.838 72.854 323.996 72.8235 324.531 73.3648C323.937 85.0434 315.526 75.6478 315.485 75.4323C315.443 75.2168 316.54 73.5116 318.524 74.5252C320.106 75.3338 320.234 74.7026 321.217 74.005Z\",\n fill: \"#59B3E7\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M320.007 75.5277C319.525 75.304 318.518 74.5636 317.578 75.647C317.163 76.1254 316.747 76.1423 316.381 75.9451C316.173 75.8329 315.61 76.08 315.655 76.3124L318.754 92.3546C319.375 95.5699 321.891 97.2028 324.509 96.6973C327.126 96.1917 328.853 93.7391 328.232 90.5238L325.315 75.4228C325.306 75.3765 325.296 75.3226 325.265 75.1609C325.244 75.0531 325.244 75.0531 325.227 74.9684L325.094 74.2769C324.997 73.9342 324.87 73.675 324.734 73.4824C324.445 73.0731 323.969 73.3586 323.814 73.8351C323.289 75.447 322.276 76.5797 320.007 75.5277Z\",\n fill: \"url(#paint0_linear_4188_79173)\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 15.7968,\n height: 2.8522,\n rx: 1.4261,\n transform: \"matrix(-0.981851 0.189651 0.189651 0.981852 325.672 60.4964)\",\n fill: \"#1F72A2\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n width: 11.8476,\n height: 1.4261,\n transform: \"matrix(-0.981851 0.189651 0.189651 0.981852 324.167 63.6922)\",\n fill: \"#CFD7DF\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 1.48095,\n cy: 1.48095,\n r: 1.48095,\n transform: \"matrix(-0.981851 0.189651 0.189651 0.981852 321.125 56.619)\",\n fill: \"url(#paint1_linear_4188_79173)\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 2.194,\n cy: 2.194,\n r: 2.194,\n transform: \"matrix(-0.981851 0.189651 0.189651 0.981852 324.472 50.8162)\",\n fill: \"url(#paint2_linear_4188_79173)\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 3.4007,\n cy: 3.4007,\n r: 3.4007,\n transform: \"matrix(-0.981851 0.189651 0.189651 0.981852 319.278 44.7489)\",\n fill: \"url(#paint3_linear_4188_79173)\"\n })), _circle4 || (_circle4 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 129.51,\n cy: 144.51,\n r: 13.2603,\n transform: \"rotate(-3.61411 129.51 144.51)\",\n fill: \"#1F72A2\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M123.997 144.859L135.025 144.162\",\n stroke: \"white\",\n strokeWidth: 1.81574,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.162 138.996L129.859 150.025\",\n stroke: \"white\",\n strokeWidth: 1.81574,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_4188_79173\",\n x: -5.34169,\n y: -3.44723,\n width: 251.493,\n height: 179.108,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 10.8945\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 8.17085\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4188_79173\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4188_79173\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter1_d_4188_79173\",\n x: 77.7384,\n y: 8.05143,\n width: 266.246,\n height: 185.376,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: -10,\n dy: 9.89\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 8.17085\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4188_79173\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4188_79173\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_4188_79173\",\n x1: 320.077,\n y1: 73.7552,\n x2: 324.509,\n y2: 96.6973,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3B94C8\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#2073A3\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_4188_79173\",\n x1: 2.78473,\n y1: 4.21922,\n x2: 0.464155,\n y2: 0.421922,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3B94C8\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#2073A3\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_4188_79173\",\n x1: -1.47673,\n y1: 1.68769,\n x2: 2.194,\n y2: 4.388,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3B94C8\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#2073A3\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_4188_79173\",\n x1: 10.607,\n y1: -0.652557,\n x2: 3.4007,\n y2: 6.8014,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3B94C8\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#2073A3\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_4188_79173\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 150.152,\n height: 133.457,\n rx: 12.7102,\n transform: \"matrix(0.917214 0.398396 -0.718137 0.695902 199.921 14.5031)\",\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMicrobiome, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Microbiome.40e93c28.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '10px 10px 0 0',\n margin: 0,\n marginTop: 'auto'\n },\n },\n },\n dialogCloseButton: {\n position: 'absolute',\n top: 6,\n right: 6,\n },\n content: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: 'center',\n maxWidth: 550,\n paddingRight: 0,\n paddingLeft: 0,\n paddingTop: '0 !important',\n },\n imageSection: {\n padding: '40px 108px',\n background: 'linear-gradient(180deg, rgba(91, 174, 212, 0.12) 0%, rgba(91, 174, 212, 0) 93.9%)',\n [theme.breakpoints.down(\"xs\")]: {\n padding: 40\n },\n },\n action: {\n display: 'flex',\n justifyContent: 'flex-end',\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: 30,\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: 70,\n paddingRight: theme.spacing(3),\n paddingLeft: theme.spacing(3),\n },\n },\n }),\n);\n","import React from 'react';\nimport { Box, IconButton, Dialog, DialogActions, DialogContent, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport Cancel from \"@img/icons/cancel.svg\";\nimport clsx from \"clsx\";\nimport { useFacade, TutorialModel } from \"./tutorialDialog.hooks\";\nimport { useStyles } from \"./tutorialDialog.styles\";\nimport { WildHealthButton } from \"../../components/wildHealthButton/WildHealthButton\";\n\nexport interface TutorialDialogProps {\n opened: boolean;\n tutorialContent: TutorialModel[];\n handleClose: () => void;\n}\n\nexport const TutorialDialog: React.FC<TutorialDialogProps> = (props: TutorialDialogProps) => {\n const [\n {\n currentStep,\n },\n handleGoNext,\n handleSkip,\n handleClose\n ] = useFacade(props);\n \n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n <Dialog\n onClose={() => handleClose()}\n open={props.opened}\n className={classes.dialog}\n >\n <DialogContent className={classes.content}>\n <IconButton\n id=\"supplements-tutorial-close\"\n onClick={() => handleClose()}\n className={classes.dialogCloseButton}\n >\n <img src={Cancel} alt='Cancel' />\n </IconButton>\n <Box display=\"flex\" justifyContent=\"center\" width={1} className={classes.imageSection}>\n {currentStep?.featuredImage}\n </Box>\n <Box textAlign=\"center\" px={isSmallScreen ? 2 : 7.5}>\n <Box mb={2} className=\"wh-tw-text-lg wh-tw-font-medium wh-tw-text-black\" px={isSmallScreen ? 2 : 7.5}>\n {currentStep?.title}\n </Box>\n <Box textAlign=\"center\" className=\"wh-tw-text-base wh-tw-font-normal wh-tw-text-gray1\">\n {currentStep?.content}\n </Box>\n {props.tutorialContent && props.tutorialContent.length > 1 &&\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" gridGap={10} mt={4}>\n {props.tutorialContent.map(content => (\n <Box key={content.id} className={clsx(\"wh-tw-w-1.5 wh-tw-h-1.5 wh-tw-bg-gray2 wh-tw-rounded-full\", currentStep?.id === content.id && 'wh-tw-bg-primary')}></Box>\n ))}\n </Box>\n }\n </Box>\n </DialogContent>\n\n <DialogActions className={classes.action}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent={isSmallScreen ? \"center\" : \"flex-end\"} width={1}>\n {\n currentStep?.id !== props.tutorialContent[props.tutorialContent.length - 1].id && (\n <Box px={4} mr={3} className=\"wh-tw-text-primaryV wh-tw-font-medium wh-tw-cursor-pointer\" onClick={() => handleSkip()}>Skip</Box>\n )\n }\n \n {\n currentStep?.id !== props.tutorialContent[props.tutorialContent.length - 1].id ? (\n <WildHealthButton\n id=\"tutorial-next-button\"\n onClick={() => handleGoNext()}\n size='large'\n fullWidth={isSmallScreen}\n >\n Next\n </WildHealthButton>\n ) : (\n <WildHealthButton\n id=\"tutorial-close-button\"\n onClick={() => handleClose()}\n size='large'\n fullWidth={isSmallScreen}\n >\n Done\n </WildHealthButton>\n )\n }\n </Box>\n </DialogActions>\n </Dialog>\n );\n}\n","import { useEffect, useState } from 'react';\nimport { TutorialDialogProps } from './TutorialDialog';\n\nexport interface TutorialModel {\n id: number,\n featuredImage: JSX.Element,\n title: string,\n content: string,\n}\n\ninterface TutorialDialogState {\n currentStep: TutorialModel;\n}\n\nexport function useFacade(props: TutorialDialogProps): [\n TutorialDialogState,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n currentStep: null\n } as TutorialDialogState);\n\n const handleGoNext = () => {\n const currentIndex = props.tutorialContent.findIndex(c => c.id === state.currentStep.id);\n\n if(currentIndex + 1 === props.tutorialContent.length) {\n return;\n }\n\n setState({...state, currentStep: props.tutorialContent[currentIndex + 1]})\n }\n\n const handleGoBack = () => {\n const currentIndex = props.tutorialContent.findIndex(c => c.id === state.currentStep.id);\n\n if(currentIndex === 0) {\n return;\n }\n\n setState({...state, currentStep: props.tutorialContent[currentIndex - 1]})\n }\n\n const handleSkip = () => {\n setState({...state, currentStep: props.tutorialContent[props.tutorialContent.length - 1]})\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n currentStep: null\n }))\n props.handleClose()\n }\n\n useEffect(() => {\n if (props.opened && props.tutorialContent.length) {\n setState(state => ({\n ...state,\n currentStep: props.tutorialContent[0]\n }))\n }\n }, [props.opened, props.tutorialContent]);\n\n return [\n state,\n handleGoNext,\n handleSkip,\n handleClose\n ];\n}","import { Box, CircularProgress, IconButton, ListItemIcon, Popover, Table, TableBody, TableContainer, TableHead, TableRow, Typography, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport MoreVertIcon from '@material-ui/icons/MoreVert';\nimport InfoIcon from '@material-ui/icons/Info';\nimport React from \"react\";\nimport { WildHealthMenuItem } from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport { CommonPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { FileInputType } from \"../../models/input.models\";\nimport { InputsComponentProps } from \"../inputsComponentProps\";\nimport { useFacade } from \"./uploadInputsFilesComponent.hooks\";\nimport moment from 'moment';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { ReactComponent as Microbiome } from \"@img/Microbiome.svg\";\nimport { TutorialModel } from \"../../../common/dialogs/tutorialDialog/tutorialDialog.hooks\";\nimport { TutorialDialog } from \"../../../common/dialogs/tutorialDialog/TutorialDialog\";\n\ninterface UploadInputsFilesComponentProps extends InputsComponentProps {\n title: string;\n fileType: FileInputType;\n canDownload: boolean;\n canUpload?: boolean;\n}\n\nexport const UploadInputsFilesComponent: React.FC<UploadInputsFilesComponentProps> = (props: UploadInputsFilesComponentProps) => {\n const { patientId, title, fileType, canDownload, canUpload } = props;\n\n const [\n {\n isDownloading,\n isUploading,\n isActionsOpen,\n isDialogOpened,\n actionsAnchorEl,\n selectedFile,\n files,\n },\n handleToggleActions,\n handleFileUpload,\n handleDownload,\n handleDelete,\n handleView,\n handleToggleDialog\n ] = useFacade(patientId, fileType);\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const getAction = (id: number) => patientId ? (event: React.MouseEvent<HTMLButtonElement>) => handleToggleActions(id, event.currentTarget) : () => handleDownload(id);\n const actionsIcon = patientId ? <MoreVertIcon /> : <GetAppIcon />;\n\n const tutorialContent: TutorialModel[] = [\n {\n id: 1,\n featuredImage: <Microbiome />,\n title: 'All microbiome results on one page',\n content: 'Upload all your microbiome results documents and store them in one place. Get started by using the “Upload File” button and select the test you want to add from your computer.'\n },\n ]\n\n const renderTable = () => {\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <TableRow>\n <WildHealthTableCell align=\"left\">\n File Name\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n Date Of Upload\n </WildHealthTableCell>\n {\n canDownload &&\n <WildHealthTableCell style={{ width: 120 }} align=\"left\">\n Action\n </WildHealthTableCell>\n }\n </TableRow>\n </TableHead>\n <TableBody>\n {\n files.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell align=\"left\">\n {fileType === FileInputType.LabResults ? <Box className={commonClasses.pointer} onClick={() => handleView(item.id)}>{item.file.name}</Box> : item.file.name}\n </WildHealthTableCell>\n <WildHealthTableCell align=\"left\">\n {moment(toCurrentTimeZone(new Date(fileType === FileInputType.LabResults ? item.uploadedAt ?? item.observationDate : item.uploadedAt))).format(\"MM/DD/yyyy\")}\n </WildHealthTableCell>\n {\n canDownload &&\n <WildHealthTableCell align=\"left\">\n <IconButton\n id={`upload-inputs-files-${item.id}`}\n disabled={isDownloading}\n onClick={getAction(item.id)}\n >\n {isDownloading && item.id === selectedFile.id ? <CircularProgress size={24} className={commonClasses.colorMain} /> : actionsIcon}\n </IconButton>\n\n </WildHealthTableCell>\n }\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n const displayUploadFileButton = () => {\n if (isUploading) {\n return (\n <Box width=\"70px\" display=\"flex\" justifyContent=\"center\">\n <CircularProgress size={24} className={commonClasses.colorMain} />\n </Box>\n )\n }\n return (\n <WildHealthButton\n id=\"upload-inputs-files-upload\"\n size=\"large\"\n onClick={() => handleFileUpload(fileType)}\n >\n Upload File\n </WildHealthButton>\n )\n }\n\n return (\n <Box p={4}>\n <Box display='flex' justifyContent='space-between'>\n <Box fontSize={18} fontWeight={500}>\n {title}\n </Box>\n\n <Box display='flex' alignItems='center' gridGap={24}>\n {fileType === FileInputType.MicrobiomeData && (\n <Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={handleToggleDialog}>\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">{isSmallScreen ? 'Help' : 'Do you need help?'}</Box>\n </Box>\n )}\n {canUpload && displayUploadFileButton()}\n </Box>\n </Box>\n\n <Box mt={3}>\n {\n files && files.length ? renderTable() :\n <CommonPlaceHolder message={`No ${title} yet.`} />\n }\n </Box>\n\n {\n patientId &&\n <Popover\n keepMounted\n anchorEl={actionsAnchorEl}\n open={isActionsOpen}\n onClose={() => handleToggleActions()}\n >\n <WildHealthMenuItem\n id=\"upload-inputs-files-download\"\n onClick={() => handleDownload(selectedFile.id)}\n disabled={!selectedFile || !selectedFile.file || isUploading || isDownloading}\n >\n <ListItemIcon>\n {isDownloading ? <CircularProgress size={24} className={commonClasses.colorMain} /> : <GetAppIcon />}\n </ListItemIcon>\n <Typography variant=\"inherit\" noWrap>\n Download\n </Typography>\n </WildHealthMenuItem>\n <WildHealthMenuItem\n id=\"upload-inputs-files-delete\"\n onClick={() => handleDelete(selectedFile.id, selectedFile.file.name)}\n disabled={!selectedFile || !selectedFile.file || isUploading}\n >\n <ListItemIcon>\n <DeleteIcon />\n </ListItemIcon>\n <Typography variant=\"inherit\" noWrap>\n Delete\n </Typography>\n </WildHealthMenuItem>\n </Popover>\n }\n <TutorialDialog\n opened={isDialogOpened}\n tutorialContent={tutorialContent}\n handleClose={handleToggleDialog}\n />\n </Box>\n )\n};","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { FileInputModel, FileInputType } from \"../../models/input.models\";\nimport { inputsService } from \"../../services/inputs.service\";\nimport { patientInputsService } from \"../../services/patientInputs.service\";\nimport { inputsQuery } from \"../../stores/inputsStore\";\nimport { TutorialStatusModel } from \"../../../../models/application.models\";\nimport { applicationQuery } from \"../../../../stores/applicationStore\";\nimport { applicationService } from \"../../../../services/application.service\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\n\ninterface UploadInputsFilesComponentState {\n isDownloading: boolean;\n isUploading: boolean;\n isActionsOpen: boolean;\n isDialogOpened: boolean;\n actionsAnchorEl: HTMLButtonElement;\n selectedFile: FileInputModel;\n files: FileInputModel[];\n tutorialStatus: TutorialStatusModel;\n}\n\nexport function useFacade(patientId: number, fileType: FileInputType): [\n UploadInputsFilesComponentState,\n (fileId?: number, target?: HTMLButtonElement) => void,\n (type: FileInputType) => void,\n (fileId: number) => void,\n (fileId: number, fileName: string) => void,\n (fileId: number) => void,\n () => void\n] {\n const [state, setState] = useState({\n isDownloading: false,\n isUploading: false,\n isActionsOpen: false,\n isDialogOpened: false,\n actionsAnchorEl: null,\n selectedFile: null,\n files: [],\n tutorialStatus: null\n } as UploadInputsFilesComponentState);\n\n const handleToggleActions = (fileId?: number, target?: HTMLButtonElement) => {\n setState(state => ({\n ...state,\n actionsAnchorEl: target,\n isActionsOpen: !state.isActionsOpen,\n selectedFile: state.files.find(i => i.id === fileId),\n }));\n }\n\n const handleFileUpload = (type: FileInputType) => {\n setState(state => ({\n ...state,\n isUploading: true\n }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isUploading: false\n }));\n }\n\n const action = patientId ? inputsService.upload(type, patientId) : patientInputsService.upload(type);\n\n action.subscribe(() => {\n cb();\n\n if (type === FileInputType.LabResults) {\n inputsService.getLabInputs(patientId).subscribe();\n }\n }, cb);\n }\n\n const handleDownload = (fileId: number) => {\n setState(state => ({\n ...state,\n isDownloading: true,\n isActionsOpen: false,\n }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isDownloading: false,\n }));\n }\n\n const input = state.files.find(i => i.id === fileId);\n if (input) {\n setState(state => ({\n ...state,\n selectedFile: input,\n }));\n\n const action = patientId ? inputsService.download(input, patientId) : patientInputsService.download(input);\n action.subscribe(cb, cb);\n }\n }\n\n const handleView = (fileId: number) => {\n\n const cb = () => {\n setState(state => ({\n ...state,\n isActionsOpen: false,\n }));\n }\n\n const input = state.files.find(i => i.id === fileId);\n if (input) {\n setState(state => ({\n ...state,\n selectedFile: input,\n }));\n\n const action = patientId ? inputsService.viewinline(input, patientId) : patientInputsService.viewinline(input);\n action.subscribe(cb, cb);\n }\n }\n\n const handleDelete = (fileId: number, fileName: string) => {\n confirmService.confirm(`Are you sure you want to delete this file: ${fileName}?`).subscribe(() => {\n inputsService.deleteUpload(fileId, patientId);\n setState(state => ({\n ...state,\n isActionsOpen: false\n }));\n })\n }\n\n const handleToggleDialog = () => {\n setState({\n ...state,\n isDialogOpened: !state.isDialogOpened,\n });\n if (state.tutorialStatus && !state.tutorialStatus?.isAcknowledged) {\n applicationService.closeTutorial(state.tutorialStatus.id).subscribe()\n }\n }\n\n /**\n * Loads all uploads\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<FileInputModel[]>(inputsQuery.uploads$, uploads => {\n const files = uploads.filter(x => x.type === fileType);\n\n setState(state => ({\n ...state,\n files: files,\n }));\n }),\n onEmit<TutorialStatusModel>(applicationQuery.tutorialStatus$, tutorialStatus => {\n if (tutorialStatus?.tutorialName === `${MenuItemTypes.DataFilesInputs}-${fileType}-tutorial`) {\n setState(state => ({ ...state, tutorialStatus, isDialogOpened: !tutorialStatus.isAcknowledged}))\n }\n })\n ];\n\n if (fileType === FileInputType.MicrobiomeData && authQuery.getType() === UserType.Patient) {\n applicationService.checkFirstVisit(`${MenuItemTypes.DataFilesInputs}-${fileType}-tutorial`).subscribe()\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId, fileType]);\n\n return [\n state,\n handleToggleActions,\n handleFileUpload,\n handleDownload,\n handleDelete,\n handleView,\n handleToggleDialog\n ];\n}","import React from \"react\";\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { FileInputType } from \"../../models/input.models\";\nimport { InputsComponentProps } from \"../inputsComponentProps\";\nimport { UploadInputsDialog } from \"../uploadInputsDialog/UploadInputsDialog\";\nimport { useFacade } from \"./dataFilesComponent.hooks\";\nimport { UploadInputsFilesComponent } from \"../uploadInputsFilesComponent/UploadInputsFilesComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { isFeatureFlag } from '../../../common/components/featureFlags/featureFlags';\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { useFlags } from 'launchdarkly-react-client-sdk';\n\nexport const DataFilesComponent: React.FC<InputsComponentProps> = (props: InputsComponentProps) => {\n const { patientId } = props;\n\n const [\n {\n isLoading,\n },\n ] = useFacade(patientId);\n\n const featureFlags = useFlags();\n const canEmployeeUpload = isElementEnabled([PermissionType.LabsModification], UserType.Employee);\n const canPatientUpload = isElementEnabled([], UserType.Patient);\n const canDownloadLabs = true;\n const canDownloadMicrobiome = true;\n const canDownloadDna = isFeatureFlag(featureFlags, FeatureFlag.DnaCanDownload);\n\n const tabs = [\n {\n title: 'Lab',\n content: <UploadInputsFilesComponent patientId={patientId} title=\"Lab Files\" fileType={FileInputType.LabResults} canDownload={canDownloadLabs} canUpload={canEmployeeUpload} />,\n },\n {\n title: 'DNA',\n content: <UploadInputsFilesComponent patientId={patientId} title=\"DNA Files\" fileType={FileInputType.DNAReport} canDownload={canDownloadDna} canUpload={canEmployeeUpload || canPatientUpload} />,\n },\n {\n title: 'Microbiome',\n content: <UploadInputsFilesComponent patientId={patientId} title=\"Microbiome Files\" fileType={FileInputType.MicrobiomeData} canDownload={canDownloadMicrobiome} canUpload={canEmployeeUpload || canPatientUpload} />,\n },\n ];\n\n return (\n isLoading ?\n <WildHealthLinearProgress/> :\n <>\n <WildHealthTabControl items={tabs} />\n {\n (canEmployeeUpload || canPatientUpload) &&\n <UploadInputsDialog />\n }\n </>\n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { inputsService } from \"../../services/inputs.service\";\nimport { patientInputsService } from \"../../services/patientInputs.service\";\n\ninterface DataFilesComponentState {\n isLoading: boolean;\n}\n\nexport function useFacade(patientId: number): [DataFilesComponentState] {\n const [state, setState] = useState({\n isLoading: true,\n } as DataFilesComponentState);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n ];\n\n const action = patientId ? inputsService.getUploads(patientId) : patientInputsService.getUploads();\n action.subscribe(() => setState(state => ({...state, isLoading: false})));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state];\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {rangeValidationRule} from \"../../../common/validation/general-validation-rules\";\n\nexport const generalInputsComponentValidator = new GeneralValidator({\n \"exerciseActivitiesFrequency\": [rangeValidationRule(0, 7, \"Value should be in range 0 - 7.\")],\n \"meditationFrequency\": [rangeValidationRule(0, 7, \"Value should be in range 0 - 7.\")],\n \"rem\": [rangeValidationRule(0, null, \"Value should be positive number.\")],\n \"deepSleep\": [rangeValidationRule(0, 5, \"Value should be in range from 0 - 5.\")],\n \"sleep\": [rangeValidationRule(0, null, \"Value should be positive number.\")],\n \"chronologicalAge\": [rangeValidationRule(0, null, \"Value should be positive number.\")],\n \"realAge\": [rangeValidationRule(0, null, \"Value should be positive number.\")],\n \"biologicalAge\": [rangeValidationRule(0, null, \"Value should be positive number.\")],\n \"mesa\": [rangeValidationRule(0, 100, \"Value should be in range 0 - 100.\")],\n});","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEdit1 = function SvgEdit1(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 15,\n viewBox: \"0 0 16 15\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M13.0294 1.23479C12.9712 1.23479 12.9136 1.24632 12.8598 1.2687C12.8061 1.29109 12.7573 1.3239 12.7163 1.36523L12.7139 1.36768L12.7139 1.36768L5.73191 8.32891L5.37692 10.4873L7.50072 10.105L14.4656 3.11936L14.468 3.11692C14.5094 3.07593 14.5422 3.02715 14.5645 2.97341C14.5869 2.91967 14.5985 2.86203 14.5985 2.80382C14.5985 2.7456 14.5869 2.68796 14.5645 2.63422C14.5422 2.58048 14.5094 2.5317 14.468 2.49071L14.4662 2.48892L13.3443 1.36703L13.3425 1.36523C13.3015 1.3239 13.2528 1.29109 13.199 1.2687C13.1453 1.24632 13.0877 1.23479 13.0294 1.23479ZM12.385 0.128879C12.5892 0.0438022 12.8082 0 13.0294 0C13.2507 0 13.4697 0.0438019 13.6739 0.128879C13.8777 0.213767 14.0626 0.33807 14.2182 0.494643C14.2185 0.494993 14.2189 0.495344 14.2192 0.495694L15.3376 1.61401C15.3379 1.61432 15.3382 1.61462 15.3385 1.61493C15.4951 1.77053 15.6195 1.95554 15.7044 2.15935C15.7894 2.36356 15.8333 2.58259 15.8333 2.80382C15.8333 3.02504 15.7894 3.24407 15.7044 3.44828C15.6195 3.65189 15.4954 3.83674 15.339 3.99223C15.3385 3.9927 15.338 3.99316 15.3376 3.99362L8.2382 11.1142C8.14905 11.2036 8.03463 11.2635 7.91036 11.2859L4.73519 11.8574C4.5378 11.8929 4.33544 11.8304 4.19256 11.6896C4.04967 11.5489 3.98406 11.3475 4.01661 11.1496L4.5458 7.93206C4.56681 7.80434 4.62743 7.68644 4.7191 7.59505L11.8396 0.495694C11.8401 0.495227 11.8406 0.494759 11.841 0.494292C11.9965 0.337883 12.1814 0.213703 12.385 0.128879ZM0.833252 14.3826C0.833252 14.0416 1.10967 13.7652 1.45065 13.7652H13.0929C13.4339 13.7652 13.7103 14.0416 13.7103 14.3826C13.7103 14.7236 13.4339 15 13.0929 15H1.45065C1.10967 15 0.833252 14.7236 0.833252 14.3826Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEdit1, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Edit1.7f8c6b98.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, Divider, FormControl, Grid, MenuItem, Select, TextField } from '@material-ui/core';\nimport React from 'react';\nimport { PermissionType, Practice } from '../../../auth/models/auth.enums';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { OptionalComponent } from '../../../common/components/OptionalComponent';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { getNumericKeys } from \"../../../common/helpers/enum-mapper\";\nimport {\n diabetesNames,\n dietNames,\n ethnicityNames,\n exerciseNames,\n optimizationNames\n} from \"../../constants/inputs.constants\";\nimport {\n DiabetesType, DietType, Ethnicity, ExerciseType,\n Optimization, SmokingCategory, YesNo\n} from \"../../models/input.models\";\nimport { InputsComponentProps } from \"../inputsComponentProps\";\nimport { useFacade } from \"./generalInputsComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { RoutesConstants } from \"../../../../constants/route.constants\";\nimport CachedIcon from '@material-ui/icons/Cached';\n\nexport const GeneralInputsComponent: React.FC<InputsComponentProps> = (props: InputsComponentProps) => {\n const { patientId } = props;\n const [\n {\n inputs,\n errors,\n isSaving,\n isVitalSaving,\n isCalculating,\n errorMesa\n },\n handleChanges,\n handleNumericChanges,\n handleSubmit,\n handleCalculateMesa\n ] = useFacade(patientId);\n const commonClasses = commonUseStyles();\n\n if (!inputs) {\n return (\n <WildHealthLinearProgress />\n );\n }\n\n return (\n <Box p={5}>\n <Box>\n <Grid container>\n <Grid item xs={5}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\">\n <Box pr={2}>\n <span className=\"text-medium\">Client Exercise Goal:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"exerciseGoal\"\n value={inputs.exerciseGoal}\n onChange={(v) => handleChanges(\"exerciseGoal\", v.target.value)}>\n {\n getNumericKeys(ExerciseType).map((exerciseType, i) => {\n return <MenuItem key={i} value={exerciseType}>{exerciseNames[exerciseType]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Client Diet Choice:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"dietChoice\"\n value={inputs.dietChoice}\n onChange={(v) => handleChanges(\"dietChoice\", v.target.value)}>\n {\n getNumericKeys(DietType).map((dietType, i) => {\n return <MenuItem key={i} value={dietType}>{dietNames[dietType]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Exercise Activities per week (0-7):</span>\n </Box>\n <Box width=\"150px\">\n <TextField\n error={!!errors[\"exerciseActivitiesFrequency\"]}\n helperText={errors[\"exerciseActivitiesFrequency\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.exerciseActivitiesFrequency ?? ''}\n onChange={(v) => handleNumericChanges(\"exerciseActivitiesFrequency\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">MindFullness Activities per week (0-7):</span>\n </Box>\n <Box width=\"150px\">\n <TextField\n error={!!errors[\"meditationFrequency\"]}\n helperText={errors[\"meditationFrequency\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.meditationFrequency ?? ''}\n onChange={(v) => handleNumericChanges(\"meditationFrequency\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">REM:</span>\n </Box>\n <Box width=\"150px\">\n <TextField\n error={!!errors[\"rem\"]}\n helperText={errors[\"rem\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.rem ?? ''}\n onChange={(v) => handleNumericChanges(\"rem\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Ethnicity:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"ethnicity\"\n value={inputs.ethnicity}\n onChange={(v) => handleChanges(\"ethnicity\", v.target.value)}>\n {\n getNumericKeys(Ethnicity).map((eth, i) => {\n return <MenuItem key={i} value={eth}>{ethnicityNames[eth]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Smoking Status:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"smokingCategory\"\n value={inputs.smokingCategory}\n onChange={(v) => handleChanges(\"smokingCategory\", v.target.value)}>\n {\n getNumericKeys(SmokingCategory).map((category, i) => {\n return <MenuItem key={i} value={category}>{SmokingCategory[category]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Diabetes Status:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"diabetesType\"\n value={inputs.diabetesType}\n onChange={(v) => handleChanges(\"diabetesType\", v.target.value)}>\n {\n getNumericKeys(DiabetesType).map((type, i) => {\n return <MenuItem key={i} value={type}>{diabetesNames[type]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">\n MESA CVD Risk (%):\n </span>\n </Box>\n <Box width=\"150px\">\n <TextField\n error={!!errors[\"mesa\"]}\n helperText={errors[\"mesa\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.mesa ?? ''}\n disabled={true}\n variant=\"outlined\"\n size=\"small\"\n />\n \n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"flex-end\">\n <Box mr=\"20px\">\n <span>\n <a id=\"general-inputs-calculate-mesa\" target=\"_blank\" rel=\"noopener noreferrer\" href={RoutesConstants.mesaRiskUrl}>\n (calculate online)\n </a>\n </span>\n </Box>\n <Box width=\"150px\" mt={1}>\n {\n errorMesa &&\n <Box className=\"wh-tw-text-bad wh-tw-text-xs\" mb={1}>{errorMesa}</Box>\n }\n <WildHealthButton\n id=\"calculate-mesa-score\"\n disabled={isSaving || isVitalSaving}\n loading={isCalculating}\n onClick={() => handleCalculateMesa()}\n color=\"secondary\"\n border=\"none\"\n fullWidth\n >\n <CachedIcon />\n <Box ml={1}>Calculate</Box>\n </WildHealthButton>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={7}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\">\n <Box pr={2}>\n <span className=\"text-medium\">Deep Sleep (hours):</span>\n </Box>\n <Box width=\"120px\">\n <TextField\n error={!!errors[\"deepSleep\"]}\n helperText={errors[\"deepSleep\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.deepSleep ?? ''}\n onChange={(v) => handleNumericChanges(\"deepSleep\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Sleep:</span>\n </Box>\n <Box width=\"120px\">\n <TextField\n error={!!errors[\"sleep\"]}\n helperText={errors[\"sleep\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.sleep ?? ''}\n onChange={(v) => handleNumericChanges(\"sleep\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Chronological Age:</span>\n </Box>\n <Box width=\"120px\">\n <TextField\n type=\"number\"\n value={inputs.chronologicalAge ?? ''}\n variant=\"outlined\"\n size=\"small\"\n disabled\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Age Bio:</span>\n </Box>\n <Box width=\"120px\">\n <TextField\n error={!!errors[\"realAge\"]}\n helperText={errors[\"realAge\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.realAge ?? ''}\n onChange={(v) => handleNumericChanges(\"realAge\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" justifyContent=\"flex-end\">\n <Box mr=\"140px\">\n <span>\n <a id=\"general-inputs-calculate-age\" target=\"_blank\" rel=\"noopener noreferrer\" href={RoutesConstants.ageBioUrl}>\n (calculate online)\n </a>\n </span>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Epigenetic Age:</span>\n </Box>\n <Box width=\"120px\">\n <TextField\n error={!!errors[\"biologicalAge\"]}\n helperText={errors[\"biologicalAge\"]}\n type=\"number\"\n InputProps={{ className: 'input' }}\n value={inputs.biologicalAge ?? ''}\n onChange={(v) => handleNumericChanges(\"biologicalAge\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Fasting Regularly:</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"fastingRegularly\"\n value={inputs.fastingRegularly}\n onChange={(v) => handleChanges(\"fastingRegularly\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Cancer Screening Completed:</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"cancerScreeningCompleted\"\n value={inputs.cancerScreeningCompleted}\n onChange={(v) => handleChanges(\"cancerScreeningCompleted\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Angina or Heart Attack in a 1st Degree Relative < 60:</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"familyHeartAttack\"\n value={inputs.familyHeartAttack}\n onChange={(v) => handleChanges(\"familyHeartAttack\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Chronic Kidney Disease (stage 4 or 5):</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"chronicKidneyDisease\"\n value={inputs.chronicKidneyDisease}\n onChange={(v) => handleChanges(\"chronicKidneyDisease\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Atrial Fibrillation:</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"atrialFibrillation\"\n value={inputs.atrialFibrillation}\n onChange={(v) => handleChanges(\"atrialFibrillation\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">On Blood Pressure Treatment:</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"bloodPressureTreatment\"\n value={inputs.bloodPressureTreatment}\n onChange={(v) => handleChanges(\"bloodPressureTreatment\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Rheumatoid Arthritis:</span>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"rheumatoidArthritis\"\n value={inputs.rheumatoidArthritis}\n onChange={(v) => handleChanges(\"rheumatoidArthritis\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return <MenuItem key={i} value={yn}>{YesNo[yn]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n\n <Box mt={5}>\n <Divider className=\"tab-divider\" />\n </Box>\n\n <OptionalComponent practiceId={Practice.WildHealth}>\n <>\n <Box my={2} display=\"flex\" justifyContent=\"flex-start\" className={clsx(commonClasses.primaryTitle, 'text-medium')}>\n Optimization\n </Box>\n\n <Box mt={5}>\n <Grid container>\n <Grid item xs={5}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\">\n <Box pr={2}>\n <span className=\"text-medium\">Brain Optimization:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"brainOptimization\"\n value={inputs.brainOptimization}\n onChange={(v) => handleChanges(\"brainOptimization\", v.target.value)}>\n {\n getNumericKeys(Optimization).map((optimization, i) => {\n return <MenuItem key={i} value={optimization}>{optimizationNames[optimization]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Mind Optimization:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"mindOptimization\"\n value={inputs.mindOptimization}\n onChange={(v) => handleChanges(\"mindOptimization\", v.target.value)}>\n {\n getNumericKeys(Optimization).map((optimization, i) => {\n return <MenuItem key={i} value={optimization}>{optimizationNames[optimization]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Body Optimization:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"bodyOptimization\"\n value={inputs.bodyOptimization}\n onChange={(v) => handleChanges(\"bodyOptimization\", v.target.value)}>\n {\n getNumericKeys(Optimization).map((optimization, i) => {\n return <MenuItem key={i} value={optimization}>{optimizationNames[optimization]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={7}>\n <Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\">\n <Box pr={2}>\n <span className=\"text-medium\">Gut Optimization:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"gutOptimization\"\n value={inputs.gutOptimization}\n onChange={(v) => handleChanges(\"gutOptimization\", v.target.value)}>\n {\n getNumericKeys(Optimization).map((optimization, i) => {\n return <MenuItem key={i} value={optimization}>{optimizationNames[optimization]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Longevity Optimization:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"longevityOptimization\"\n value={inputs.longevityOptimization}\n onChange={(v) => handleChanges(\"longevityOptimization\", v.target.value)}>\n {\n getNumericKeys(Optimization).map((optimization, i) => {\n return <MenuItem key={i} value={optimization}>{optimizationNames[optimization]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-end\" mt={2}>\n <Box pr={2}>\n <span className=\"text-medium\">Bio Hacking Optimization:</span>\n </Box>\n <Box width=\"150px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"bioHackingOptimization\"\n value={inputs.bioHackingOptimization}\n onChange={(v) => handleChanges(\"bioHackingOptimization\", v.target.value)}>\n {\n getNumericKeys(Optimization).map((optimization, i) => {\n return <MenuItem key={i} value={optimization}>{optimizationNames[optimization]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </>\n </OptionalComponent>\n\n <Box my={2} display=\"flex\" justifyContent=\"flex-end\">\n <ProtectedElement\n element={\n <Box mt={5}>\n <WildHealthButton\n id=\"general-inputs-save\"\n disabled={isSaving || isVitalSaving || isCalculating}\n loading={isSaving || isVitalSaving}\n onClick={() => handleSubmit()}\n >\n Save Changes\n </WildHealthButton>\n </Box>}\n permissions={[PermissionType.LabsModification]}\n />\n </Box>\n </Box>\n );\n}","import {useState, useEffect} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {inputsQuery} from \"../../stores/inputsStore\";\nimport {onEmit} from '../../../common/helpers/on-emit';\nimport {inputsService} from \"../../services/inputs.service\";\nimport {generalInputsComponentValidator} from \"./generalInputsComponent.validator\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {GeneralInputsModel} from \"../../models/input.models\";\n\ninterface GeneralInputsComponentState extends IErrorState {\n inputs: GeneralInputsModel;\n isSaving: boolean;\n isVitalSaving: boolean;\n isCalculating: boolean;\n errorMesa: string;\n}\n\nexport function useFacade(patientId: number): [GeneralInputsComponentState, Function, Function, Function, Function] {\n const [state, setState] = useState({\n inputs: null,\n errors: {},\n isSaving: false,\n isVitalSaving: false,\n isCalculating: false,\n errorMesa:\"\"\n } as GeneralInputsComponentState);\n\n const handleChanges = (field: string, value: any) => {\n generalInputsComponentValidator.validateAndSetState(state, setState, field, value);\n typeof state.inputs[field] === \"boolean\"\n ? state.inputs[field] = !state.inputs[field]\n : state.inputs[field] = value;\n\n setState({...state, inputs: {...state.inputs}});\n }\n\n const handleNumericChanges = (field: string, value: any) => {\n generalInputsComponentValidator.validateAndSetState(state, setState, field, value);\n state.inputs[field] = value.toString().length ? Number(value) : null;\n setState({...state, inputs: {...state.inputs}});\n }\n\n const handleSubmit = () => {\n generalInputsComponentValidator.validateObjectAndSetState(state, setState, state.inputs);\n if (!generalInputsComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({...state, isSaving: true}))\n const cb = () => {\n setState(state => ({\n ...state,\n isSaving: false,\n }));\n }\n\n inputsService.updateGeneralInputs(state.inputs, patientId).subscribe(cb, cb);\n }\n\n const handleCalculateMesa = () => {\n setState(state => ({...state, isCalculating: true}))\n inputsService.getMesaScore(patientId).subscribe((mesa)=>{\n let result = parseFloat(mesa.result);\n setState(state => ({\n ...state,\n inputs:{\n ...state.inputs,\n mesa: result\n },\n errorMesa: '',\n isCalculating: false\n }));\n }, (error)=>{\n setState(state => ({\n ...state,\n errorMesa: error.response.data.messages[0],\n isCalculating: false\n }));\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<GeneralInputsModel>(inputsQuery.generalInputs$, inputs => {\n setState(state => ({...state, inputs}));\n })\n ];\n\n inputsService.getGeneralInputs(patientId);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleChanges, handleNumericChanges, handleSubmit, handleCalculateMesa];\n}","import { Switch, createStyles, makeStyles, withStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n '& .MuiDialog-paper': {\n borderRadius: 20,\n },\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '28px 28px 0 0',\n margin: 0,\n marginTop: 'auto',\n width: '100%'\n },\n },\n },\n dialogContent: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: 'center',\n maxWidth: 415,\n paddingTop: 30,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginLeft: 0,\n maxWidth: '100%',\n },\n },\n })\n);\n\nexport const ShowUntestedSwitcher = withStyles((theme: Theme) =>\n createStyles({\n root: {\n width: 60,\n height: 30,\n padding: 0,\n },\n switchBase: {\n padding: 2,\n color: colors.mint500,\n '&$checked': {\n transform: 'translateX(30px)',\n color: theme.palette.common.white,\n '& + $track': {\n backgroundColor: colors.mint500,\n opacity: 1,\n border: 'none',\n },\n },\n '&$focusVisible $thumb': {\n color: '#52d869',\n border: '6px solid #fff',\n },\n },\n thumb: {\n width: 26,\n height: 26,\n },\n track: {\n borderRadius: 36 / 2,\n border: `1px solid ${colors.mint500}`,\n boxShadow: 'inset 0px 4px 4px rgba(0, 0, 0, 0.0)',\n backgroundColor: '#fff',\n opacity: 1,\n transition: theme.transitions.create(['background-color', 'border']),\n },\n checked: {},\n focusVisible: {},\n }),\n)(Switch);\n","import {LabInputsDatasetViewModel} from \"../models/input.models\";\n\nexport const sortLabInputDataSets = (prev: LabInputsDatasetViewModel, next: LabInputsDatasetViewModel) =>\n (prev.date > next.date)\n ? -1\n : (next.date > prev.date)\n ? 1\n : (next.id < prev.id)\n ? -1\n : 1;","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {rangeValidationRule} from \"../../../common/validation/general-validation-rules\";\nimport {LabInputNames} from \"../../constants/inputs.constants\";\nimport { LabRangeModel, LabRangeType, LabValidationSource } from \"../../models/input.models\";\n\nexport const labInputsComponentValidator = new GeneralValidator({\n //Lipids\n [LabInputNames.TotalCholesterol]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.HdlCholesterol]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.LdlCholesterol]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Triglycerides]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.LdlP]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.SmallLdlP]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.LpA]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n\n //Hormones\n [LabInputNames.Dhea]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Igf]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.TestosteroneTotal]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.TestosteroneFree]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Shbg]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Estradio]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Progesterone]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Lh]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Fsh]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Tsh]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.FreeT4]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.FreeT3]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Cortisol]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n\n //Methylation\n [LabInputNames.Homocysteine]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Ast]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Alt]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.B12]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Folate]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.FolateRbc]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Tmao]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.UricAcid]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n\n //Inflammation\n [LabInputNames.Crp]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.AgRatio]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.LpPla2]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.OxLdl]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n\n //Vitamins and MicroNutrients\n [LabInputNames.Ferritin]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.Omega3]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.VitaminD]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.CoQ10]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n\n //Insulin resistance / Metabolism\n [LabInputNames.FastingGlucose]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.FastingInsulin]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n [LabInputNames.HgbA1C]: [rangeValidationRule(0, null, \"Value should be positive number.\")],\n});\n\nexport const WhOptimalRanges = new Map<string, LabRangeModel>([\n [LabInputNames.AgRatio, {from: 1, to: null, dimension: '', type: LabRangeType.MoreThen, source: LabValidationSource.Custom}],\n [LabInputNames.Crp, {from: null, to: 1, dimension: 'mg/L', type: LabRangeType.LessThanOrEqual, source: LabValidationSource.Custom}],\n [LabInputNames.LpPla2, {from: null, to: 200, dimension: 'nmol/min/mL', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.OxLdl, {from: null, to: 60, dimension: 'U/L', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.FastingGlucose, {from: null, to: 100, dimension: 'mg/dL', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.FastingInsulin, {from: null, to: 5, dimension: 'mIU/mL', type: LabRangeType.LessThanOrEqual, source: LabValidationSource.Custom}],\n [LabInputNames.HgbA1C, {from: null, to: 5.5, dimension: '%', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.LpA, {from: null, to: 75, dimension: 'nmol/L', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.SmallLdlP, {from: null, to: 527, dimension: 'nmol/L', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.LdlP, {from: null, to: 1000, dimension: 'nmol/L', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.HdlCholesterol, {from: 50, to: null, dimension: 'mg/dL', type: LabRangeType.MoreThen, source: LabValidationSource.Custom}],\n [LabInputNames.TotalCholesterol, {from: null, to: 200, dimension: 'mg/dL', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.LdlCholesterol, {from: null, to: 100, dimension: 'mg/dL', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.ApolipoproteinB, {from: null, to: 90, dimension: 'mg/dL', type: LabRangeType.LessThanOrEqual, source: LabValidationSource.Custom}],\n [LabInputNames.Triglycerides, {from: null, to: 150, dimension: 'mg/dL', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.UricAcid, {from: null, to: 5, dimension: 'mg/dL', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.FolateRbc, {from: 280, to: null, dimension: 'ng/mL', type: LabRangeType.MoreThen, source: LabValidationSource.Custom}],\n [LabInputNames.Folate, {from: 12, to: 25, dimension: 'ng/mL', type: LabRangeType.FromTo, source: LabValidationSource.Custom}],\n [LabInputNames.B12, {from: 500, to: 1500, dimension: 'pg/mL', type: LabRangeType.FromTo, source: LabValidationSource.Custom}],\n [LabInputNames.Alt, {from: null, to: 20, dimension: 'U/L', type: LabRangeType.LessThanOrEqual, source: LabValidationSource.Custom}],\n [LabInputNames.Ast, {from: null, to: 20, dimension: 'U/L', type: LabRangeType.LessThanOrEqual, source: LabValidationSource.Custom}],\n [LabInputNames.Homocysteine, {from: null, to: 7, dimension: 'umol/L', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.Tmao, {from: null, to: 5, dimension: 'uM', type: LabRangeType.LessThen, source: LabValidationSource.Custom}],\n [LabInputNames.Ferritin, {from: 30, to: 100, dimension: '', type: LabRangeType.FromTo, source: LabValidationSource.Custom}],\n [LabInputNames.VitaminD, {from: 50, to: 100, dimension: 'ng/mL', type: LabRangeType.FromTo, source: LabValidationSource.Custom}],\n [LabInputNames.CoQ10, {from: 0.75, to: null, dimension: 'ug/mL', type: LabRangeType.MoreThen, source: LabValidationSource.Custom}],\n [LabInputNames.Omega3, {from: 5.5, to: null, dimension: '', type: LabRangeType.MoreThen, source: LabValidationSource.Custom}],\n]);","import { Slider, createStyles, makeStyles, withStyles, Theme } from \"@material-ui/core\";\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n fontSize: 14,\n '& ::-webkit-scrollbar': {\n height: 12,\n },\n '& ::-webkit-scrollbar-track': {\n '-webkit-border-radius': '3px',\n borderRadius: '3px',\n },\n '& ::-webkit-scrollbar-thumb': {\n '-webkit-border-radius': '3px',\n borderRadius: '3px',\n background: '#dfe0dc',\n borderRight: `${colors.white} 2px solid`\n },\n },\n stickyLeft: {\n position: 'sticky',\n left: 0,\n backgroundColor: colors.white,\n zIndex: 1\n },\n tableToolbar: {\n borderBottom: '1px solid #f6f8fb'\n },\n addLabButton: {\n borderRadius: '2px !important',\n height: 34,\n backgroundColor: colors.white,\n border: '1px solid #cdcdcd !important',\n cursor: 'pointer',\n textTransform: 'none',\n fontWeight: 400\n },\n shadowRight: {\n boxShadow: '0px 9px 15px rgba(168, 173, 198, 0.20) !important'\n },\n popoverDivider: {\n color: `${colors.separators} !important`,\n background: `${colors.separators} !important`\n },\n sideMobile: {\n width: 400,\n height: '100%'\n },\n sideContainer: {\n height: '100%',\n width: '100%',\n overflow: 'auto',\n padding: 20\n },\n })\n)\n\ntype Props = {\n isDanger?: boolean;\n isRevert?: boolean;\n};\n\nexport const BiomarkerSlider = withStyles(() => ({\n root: {\n color: (props: Props) => props.isDanger ? colors.rose100 : colors.mint200,\n height: 18,\n },\n thumb: {\n height: '24px !important',\n width: '24px !important',\n backgroundColor: (props: Props) => props.isDanger ? colors.rose500 : colors.mint500,\n border: \"2px solid #fff\",\n marginTop: -2,\n marginLeft: -12,\n \"&:focus, &:hover, &$active\": {\n boxShadow: \"inherit\"\n },\n },\n active: {},\n valueLabel: {\n left: \"calc(-50% + 4px)\"\n },\n track: {\n height: 18,\n borderRadius: 50,\n width: '50% !important',\n right: (props: Props) => props.isRevert ? '0% !important' : 'inherit !important',\n left: (props: Props) => props.isRevert ? 'inherit !important' : '0% !important',\n display: 'block !important',\n color: (props: Props) => props.isDanger ? colors.rose100 : colors.mint200,\n borderTopRightRadius: (props: Props) => !props.isRevert ? 0 : 50,\n borderBottomRightRadius: (props: Props) => !props.isRevert ? 0 : 50,\n borderTopLeftRadius: (props: Props) => props.isRevert ? 0 : 50,\n borderBottomLeftRadius: (props: Props) => props.isRevert ? 0 : 50\n },\n rail: {\n height: 18,\n borderRadius: 50\n }\n})\n)(Slider);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.navy900,\n padding: 8,\n },\n arrow: {\n color: colors.navy900,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n)","import React from 'react';\n\nexport const renderEmptyValue = (message: string): JSX.Element => {\n return (<span key={message} className=\"text-accent-secondary\">{message}</span>)\n}","import React from 'react';\nimport {Box, Tooltip} from '@material-ui/core';\nimport WarningIcon from '@material-ui/icons/Warning';\nimport warning from \"@img/icons/warning.svg\";\nimport clsx from 'clsx';\nimport { useStyles } from \"./LabInputValueComponent.styles\";\nimport {LabInputNotificationType, LabInputValueModel} from \"../../models/input.models\";\nimport {renderEmptyValue} from \"../../../common/helpers/empty-value\";\n\ninterface LabInputValueComponentProps {\n inputId: number;\n value: LabInputValueModel;\n onMouseOverValue?: (event: React.MouseEvent<HTMLElement, MouseEvent>, id: number) => void;\n onMouseOutValue?: (id: number) => void;\n}\n\nexport const LabInputValueComponent: React.FC<LabInputValueComponentProps> = (props: LabInputValueComponentProps) => {\n const {\n value,\n } = props;\n\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const outOfNorm = value.notification?.notificationType === LabInputNotificationType.Error;\n\n const renderNotificationImage = (notificationType: LabInputNotificationType) => {\n switch (notificationType) {\n case LabInputNotificationType.Empty: return <></>;\n case LabInputNotificationType.Error: return <img src={warning} alt=\"img\"/>;\n case LabInputNotificationType.Warning: return <WarningIcon className=\"wh-tw-text-average1\" />;\n }\n }\n\n return (\n <Box height=\"100%\">\n {\n value.isInitialized\n ? <Box display=\"flex\" justifyContent=\"center\">\n <Tooltip placement=\"top\" arrow classes={customTooltipClasses} title={outOfNorm ? 'Out of Range' : 'In Range'}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" className={clsx(outOfNorm && \"wh-tw-w-fit wh-tw-rounded-full wh-tw-border wh-tw-border-error wh-tw-border-solid wh-tw-px-2 wh-tw-py-0.5\")}>\n <Box>\n <span className={clsx(outOfNorm && \"wh-tw-text-bad\")}>\n {\n value.value\n }\n </span>\n </Box>\n {\n outOfNorm &&\n <Box ml={1}>\n {\n renderNotificationImage(value.notification?.notificationType)\n }\n </Box>\n }\n </Box>\n </Tooltip>\n </Box>\n : <Tooltip placement=\"top\" arrow classes={customTooltipClasses} title=\"No Result\">\n <Box>\n {renderEmptyValue(\"-\")}\n </Box>\n </Tooltip>\n }\n </Box>\n )\n}","import React from \"react\";\nimport moment from 'moment';\nimport { AreaChart, Area, ResponsiveContainer, XAxis, YAxis, CartesianGrid, Tooltip } from \"recharts\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { InputModel } from \"../../models/input.models\";\n\ninterface LabResultsGraphComponentProps {\n data: InputModel[];\n renderRange?: boolean;\n minValue?: number;\n maxValue?: number;\n}\n\nfunction CustomTooltip({ payload, active }: {payload?: any, active?: boolean}) {\n if (active) {\n return (\n <div className=\"wh-tw-bg-navy900 wh-tw-p-2 wh-tw-rounded-lg\">\n <div className=\"wh-tw-text-white wh-tw-text-xs\">{`${payload[0].value}`}</div>\n </div>\n );\n }\n\n return null;\n}\n\nexport const LabResultsGraphComponent: React.FC<LabResultsGraphComponentProps> = (\n props: LabResultsGraphComponentProps\n) => {\n const { data, renderRange, minValue, maxValue } = props;\n \n const graphData: object[] = data.map((value) => {\n return {\n min: minValue,\n max: maxValue,\n value: value.value,\n date: moment(value.date).format(\"MM/DD\")\n };\n });\n\n const CheckIsNormal = (value: number): boolean => {\n if (minValue !== null && value <= minValue) {\n return false;\n }\n\n return !(maxValue !== null && value >= maxValue);\n };\n\n const CustomizedDot = (props) => {\n const { cx, cy, value } = props;\n\n if (CheckIsNormal(value[1])) {\n return (\n <circle\n key={`${cx}-${value[1]}`}\n cx={cx}\n cy={cy}\n r={2}\n stroke={colors.navy900}\n strokeWidth={3.5}\n fill={colors.navy900}\n />\n );\n }\n\n return (\n <circle\n cx={cx}\n cy={cy}\n r={2}\n stroke={colors.bad}\n strokeWidth={3.5}\n fill={colors.bad}\n />\n );\n };\n\n return (\n <ResponsiveContainer\n width={\"100%\"}\n height={160}\n >\n <AreaChart\n data={graphData}\n margin={{\n top: 5,\n right: 0,\n left: -25,\n bottom: 5,\n }}\n >\n {renderRange && minValue !== null && (\n <Area\n key='min-value'\n isAnimationActive={false}\n type='step'\n dataKey='min'\n stroke={colors.gray2}\n strokeWidth={1}\n strokeDasharray='10 10'\n fill={colors.white}\n fillOpacity={0}\n />\n )}\n {renderRange && maxValue !== null && (\n <Area\n key='max-value'\n isAnimationActive={false}\n type='step'\n dataKey='max'\n stroke={colors.gray2}\n strokeWidth={1}\n strokeDasharray='10 10'\n fill={colors.white}\n fillOpacity={0}\n />\n )}\n <Area\n key='value'\n isAnimationActive={false}\n type='linear'\n dataKey='value'\n stroke={colors.navy900}\n strokeWidth={2}\n fill={colors.white}\n fillOpacity={0.25}\n dot={CustomizedDot}\n />\n <CartesianGrid stroke={colors.gray200} vertical={false} />\n <XAxis dataKey=\"date\" padding={{ left: 30, right: 30 }} axisLine={false} tickLine={false} tick={{fontSize: 10}} />\n <YAxis axisLine={false} tickLine={false} tick={{fontSize: 10}} />\n <Tooltip content={<CustomTooltip />} cursor={false} />\n </AreaChart>\n </ResponsiveContainer>\n );\n};\n","import {useEffect, useState} from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport moment from \"moment\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { LabGroup } from \"../../models/input.models\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { AddOnProvider, AddOnModel } from \"../../../addons/models/addOns.models\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\nexport interface LabInputSectionViewModel {\n group: LabGroup;\n expanded: boolean;\n}\n\ninterface SelectDataDialogComponentState extends IErrorState {\n isLoading: boolean;\n canSubmit: boolean;\n selectedDate: Date;\n sections: LabInputSectionViewModel[];\n gender: Gender;\n search: string;\n filteredItems: AddOnModel[];\n}\n\nlet stateContext: SelectDataDialogComponentState;\n\nexport const useFacade = (open: boolean, isEditMode: boolean, handleSubmit: Function, handleClose: Function, disableDates: Date[], handleChangeDate: Function): [\n SelectDataDialogComponentState,\n Function,\n Function,\n Function,\n Function,\n Function,\n (search: string) => void\n] => {\n const [state, setState] = useState({\n isLoading: false,\n canSubmit: false,\n selectedDate: null,\n sections: [\n {\n group: LabGroup.Lipids,\n expanded: false\n },\n {\n group: LabGroup.Methylation,\n expanded: false\n },\n {\n group: LabGroup.VitaminsAndMicronutrients,\n expanded: false\n },\n {\n group: LabGroup.InsulinResistanceAndMetabolism,\n expanded: false\n },\n {\n group: LabGroup.Hormones,\n expanded: false\n },\n {\n group: LabGroup.Inflammation,\n expanded: false\n },\n {\n group: LabGroup.CBC,\n expanded: false\n },\n {\n group: LabGroup.Metabolic,\n expanded: false\n },\n {\n group: LabGroup.Other,\n expanded: false\n }\n ],\n errors: {},\n gender: Gender.None,\n search: '',\n filteredItems: [],\n } as SelectDataDialogComponentState);\n\n stateContext = state;\n\n const dateFormat = 'YYYY-MM-DD';\n\n const toStringDate = (momentDate: moment.Moment): string => momentDate.format(dateFormat);\n\n const getDisableDates = (dates: Date[]): string[] => dates?.map(date => toStringDate(moment(date))) ?? [];\n\n const isDateInDisabledRange = (day: moment.Moment): boolean => getDisableDates(disableDates).includes(toStringDate(day));\n\n const dateAvailable = () => {\n GeneralValidator.removeError(state, 'selectedDate');\n setState(state => ({ ...state, canSubmit: true}));\n }\n\n const dateUnavailable = (error: string) => {\n GeneralValidator.addError(state, 'selectedDate', error);\n setState(state => ({ ...state, canSubmit: false}));\n }\n\n const handleDateChanges = async (date: Date) => {\n const now = new Date();\n const formatted = new Date(date.getFullYear(), date.getMonth(), date.getDate(), now.getHours(), now.getMinutes(), now.getSeconds());\n setState(state => ({...state, selectedDate: formatted, canSubmit: false}));\n\n isDateInDisabledRange(moment(date))\n ? dateUnavailable('Selected date is currently in use.')\n : dateAvailable();\n\n setState(state => ({ ...state, canSubmit: true}));\n handleChangeDate(formatted)\n }\n\n const handleExpand = (group: LabGroup) => {\n const section = state.sections.find(x => x.group === group);\n section.expanded = !section.expanded;\n setState({ ...state, sections: state.sections });\n }\n\n const handleCloseDialog = () => {\n setState(state => ({\n ...state,\n selectedDate: new Date()\n }))\n\n handleClose();\n }\n\n const handleSubmitForm = (event: any) => {\n event.preventDefault();\n\n if (!GeneralValidator.isValidState(state)) {\n return;\n }\n\n handleSubmit();\n handleCloseDialog();\n }\n\n const handleOnFilter = (search: string) => {\n setState(state => ({...state, search: search}));\n }\n\n const selectAddOns = (gender?: Gender, search?: string) => {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n addOnsService.selectOrdering(\n authQuery.getCurrentPracticeId(),\n gender ?? state.gender,\n AddOnProvider.LabCorp,\n null,\n null,\n search ?? state.search\n ).subscribe(\n response => {\n setState(state => ({\n ...state,\n filteredItems: response.data,\n isLoading: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n filteredItems: [],\n isLoading: false\n }));\n }\n );\n }\n\n const useEffectCB = () => {\n if (open) {\n if (isEditMode) {\n dateAvailable();\n } else {\n handleDateChanges(new Date());\n }\n const sections = state.sections;\n sections.forEach((section) => section.expanded = true);\n \n setState(state => ({\n ...state,\n sections: sections\n }));\n }\n\n return () => {\n };\n };\n\n useEffect(useEffectCB, [open, isEditMode]);\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (open) {\n selectAddOns(stateContext.gender, stateContext.search);\n }\n }, 1000);\n\n return () => clearTimeout(delayDebounceFn)\n }, [stateContext.search]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientModel>(patientsQuery.targetPatient$, patient => {\n if (patient) {\n setState(state => ({\n ...state,\n gender: patient.gender\n }));\n\n selectAddOns(patient.gender);\n }\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n isDateInDisabledRange,\n handleDateChanges,\n handleCloseDialog,\n handleSubmitForm,\n handleExpand,\n handleOnFilter\n ]\n}","import React from \"react\";\nimport { LabRangeModel, InputModel } from \"../models/input.models\";\nimport { LabResultsGraphComponent } from \"../components/labResultsGraphComponent/LabResultsGraphComponent\";\nimport { renderEmptyValue } from \"../../common/helpers/empty-value\";\n\nexport const renderLabResultValuesGraph = (\n values: InputModel[],\n range?: LabRangeModel,\n renderRange = false\n) => {\n const initializedValues = values\n .filter((x) => x.isInitialized)\n .sort((a, b) => new Date(a.date).getTime() - new Date(b.date).getTime());\n\n if (initializedValues.length < 2) {\n return renderEmptyValue(\"Insufficient data for trending\");\n }\n\n return (\n <LabResultsGraphComponent\n data={initializedValues}\n renderRange={renderRange}\n minValue={range?.from}\n maxValue={range?.to}\n />\n );\n};\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.navy900,\n padding: 8,\n },\n arrow: {\n color: colors.navy900,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n)","import React from 'react';\nimport { Box, Tooltip } from '@material-ui/core';\nimport { useStyles } from \"./LabInputRangeComponent.styles\";\nimport { LabValidationSource, LabRangeModel } from \"../../models/input.models\";\nimport { renderLabInputRange } from \"../../helpers/render-lab-input-range\";\n\ninterface LabInputRangeComponentProps {\n range: LabRangeModel;\n}\n\nexport const LabInputRangeComponent: React.FC<LabInputRangeComponentProps> = (props: LabInputRangeComponentProps) => {\n const {\n range,\n } = props;\n\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n return (\n <Tooltip placement=\"top\" arrow classes={customTooltipClasses} title={range.source === LabValidationSource.Custom ? 'Wild Health Optimal Range' : 'Lab Provider Range'}>\n <Box className=\"wh-tw-w-fit wh-tw-text-gray600 md:wh-tw-text-gray900\">\n {renderLabInputRange(range)}\n </Box>\n </Tooltip>\n )\n}","import React, { useRef } from 'react';\nimport moment from 'moment';\nimport {\n Box,\n Paper,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n Drawer,\n IconButton,\n Divider\n} from '@material-ui/core';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport { ReactComponent as EditIcon } from '@img/icons/Edit1.svg';\nimport { useStyles, BiomarkerSlider } from \"./LabInputsSectionComponent.styles\";\nimport { useFacade } from \"./labInputsSectionComponent.hooks\";\nimport {\n LabInputModel,\n LabInputsDatasetEditableViewModel,\n LabInputValueModel,\n LabInputNotificationType\n} from \"../../models/input.models\";\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { LabInputValueComponent } from \"../labInputValueComponent/LabInputValueComponent\";\nimport { CommonPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder\";\nimport { renderLabInputRange, getMaxValueByRange } from \"../../helpers/render-lab-input-range\";\nimport clsx from \"clsx\";\nimport { renderLabResultValuesGraph } from '../../helpers/render-lab-result-values-graph';\nimport { LabInputRangeComponent } from '../LabInputRangeComponent/LabInputRangeComponent';\nimport { getDataSetByLabLatestValue, getRange } from '../../helpers/labInputs.extensions';\n\ninterface LabInputsSectionComponentProps {\n isHightlighted?: boolean;\n showUntestedValue?: boolean;\n inputs: LabInputModel[];\n patientId: number;\n dataSets: LabInputsDatasetEditableViewModel[];\n hiddenDataSets: string[];\n getCurrentDataSet: Function;\n handleEditLab: Function;\n handleHighlightLab: (id: number, status: boolean) => void;\n}\n\nexport const LabInputsSectionComponent: React.FC<LabInputsSectionComponentProps> = (props: LabInputsSectionComponentProps) => {\n const {\n isHightlighted = false,\n showUntestedValue = true,\n inputs,\n dataSets,\n hiddenDataSets,\n handleEditLab,\n handleHighlightLab\n } = props;\n\n const [\n {\n isSideAreaOpen,\n selectedLabInputId\n },\n handleToggleDescription\n ] = useFacade(inputs);\n\n const classes = useStyles();\n\n const paperContainerRef = useRef(null);\n\n\n if (!dataSets) {\n return (<WildHealthLinearProgress />);\n }\n\n const getDataSetValue = (dataSet: LabInputsDatasetEditableViewModel, inputName: string): LabInputValueModel => {\n return dataSet.values.find(x => x.name === inputName)\n }\n\n const getRecentValue = (input: LabInputModel, dataSetId: string) => {\n const inputValue = input.values.find(x => x.dataSetId === dataSetId);\n if (inputValue === undefined || !inputValue.isInitialized) {\n return { isError: false, value: 0 };\n }\n\n const notification = inputValue.notification;\n\n if (notification?.notificationType === LabInputNotificationType.Error) {\n return { isError: true, value: inputValue.value };\n }\n return { isError: false, value: inputValue.value };\n }\n\n const renderValue = (input: LabInputModel, dataset: LabInputsDatasetEditableViewModel): JSX.Element => {\n const inputValue = getDataSetValue(dataset, input.name);\n\n return (\n <LabInputValueComponent\n inputId={inputValue.id}\n value={inputValue}\n />\n );\n }\n\n const renderSideArea = () => {\n const targetLabInput = inputs.find(x => x.id === selectedLabInputId);\n if (targetLabInput) {\n const dataSetByLatestValue = getDataSetByLabLatestValue(dataSets, targetLabInput);\n const range = getRange(targetLabInput);\n return (\n <Box className={clsx('flat-scroll', classes.sideContainer)} display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" pb={2}>\n <Box display=\"flex\" alignItems=\"center\" gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={() => handleToggleDescription(0, false)}>\n <ChevronLeftIcon className=\"wh-tw-text-gray900\" />\n <Box className=\"wh-tw-font-medium wh-tw-text-xl wh-tw-text-gray600 wh-tw-font-poppins\">Labs</Box>\n </Box>\n <IconButton\n id={`task-${targetLabInput.id}`}\n size=\"small\"\n onClick={() => handleToggleDescription(0, false)}\n >\n <CloseIcon className=\"wh-tw-text-gray900\" />\n </IconButton>\n </Box>\n <Box pt={3}>\n <Box className=\"wh-tw-font-medium wh-tw-text-lg wh-tw-font-beVietnamPro\">{targetLabInput.displayName}</Box>\n {targetLabInput.description && <Box mt={1.5} className=\"wh-tw-text-sm wh-tw-text-gray600 wh-tw-font-beVietnamPro\">{targetLabInput.description}</Box>}\n {range && <Box mt={1.5} className=\"wh-tw-text-sm wh-tw-text-gray600 wh-tw-font-medium wh-tw-font-beVietnamPro\">In Range {renderLabInputRange(range)}</Box>}\n </Box>\n <Box pt={3}>\n <Box className=\"wh-tw-font-medium wh-tw-text-lg wh-tw-font-beVietnamPro\">Most Recent Value</Box>\n {range && (\n <Box mt={1.5}>\n <BiomarkerSlider\n aria-label=\"biomarker slider\"\n defaultValue={getRecentValue(targetLabInput, dataSetByLatestValue.id).value}\n track={false}\n disabled\n isDanger={getRecentValue(targetLabInput, dataSetByLatestValue.id).isError}\n min={0}\n max={getMaxValueByRange(range) * 2}\n isRevert={getRecentValue(targetLabInput, dataSetByLatestValue.id).value > getMaxValueByRange(range)}\n // isRevert={getRecentValue(targetLabInput, dataSetByLatestValue.id).value > getMaxValueByRange(range) || (getRecentValue(targetLabInput, dataSetByLatestValue.id).value >= getMinValueByRange(range) && getRecentValue(targetLabInput, dataSetByLatestValue.id).value <= getMaxValueByRange(range))}\n />\n </Box>\n )}\n <Box display=\"flex\" justifyContent=\"space-between\" mt={1.5}>\n <Box>Range {range ? renderLabInputRange(range) : ''}</Box>\n <Box className=\"wh-tw-text-sm wh-tw-text-gray900 wh-tw-font-beVietnamPro\">{renderValue(targetLabInput, dataSetByLatestValue)}</Box>\n </Box>\n </Box>\n {targetLabInput.values.length > 1 && (\n <Box pt={3}>\n <Box className=\"wh-tw-font-medium wh-tw-text-lg wh-tw-font-beVietnamPro\">Past Values</Box>\n <Box mt={1.5} display=\"flex\" justifyContent=\"center\">\n {\n renderLabResultValuesGraph(targetLabInput.values)\n }\n </Box>\n {\n dataSets.map((dataSet) => {\n const inputValue = targetLabInput.values.find(x => x.dataSetId === dataSet.id);\n if (inputValue === undefined || !inputValue.isInitialized) {\n return;\n }\n return (\n <React.Fragment key={dataSet.id}>\n <Box py={1.5} key={dataSet.id} display=\"flex\" justifyContent=\"space-between\">\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-beVietnamPro\">{moment(dataSet.date).format(\"MM/DD/YYYY\")}</Box>\n <Box className=\"wh-tw-text-sm wh-tw-text-gray900 wh-tw-font-beVietnamPro\">{renderValue(targetLabInput, dataSet)}</Box>\n </Box>\n <Divider />\n </React.Fragment>\n );\n })\n }\n </Box>\n )}\n <Box pt={3}>\n <Box mt={1.5} className=\"wh-tw-text-sm wh-tw-text-gray900 wh-tw-font-beVietnamPro\">If you have any questions about these values, schedule a call with your provider to discuss them!</Box>\n </Box>\n </Box>\n )\n }\n\n return <></>\n }\n\n const pxString = (value: number): string => `${value}px`;\n\n const renderValuesView = () => {\n if (!dataSets.length) {\n return (\n <Box p={2}>\n <CommonPlaceHolder message=\"No results\" />\n </Box>\n );\n }\n\n const dataLength = dataSets.filter(x => x.selected).length;\n const tableContainerWidth = paperContainerRef.current ? paperContainerRef.current.offsetWidth : 0;\n const nameWidth = 200;\n const highlightWidth = 124;\n const rangeWidth = 200;\n const valueWidth = 120;\n const tableWidth = dataLength * valueWidth + nameWidth + highlightWidth + rangeWidth;\n\n const isScrollable = tableWidth > tableContainerWidth;\n\n if (isHightlighted) {\n return (\n <TableContainer className={classes.root}>\n <Table style={{ minWidth: pxString(valueWidth + nameWidth * 2 + highlightWidth + rangeWidth) }}>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell\n style={{ minWidth: pxString(nameWidth) }}\n className={clsx(classes.stickyLeft, { [classes.shadowRight]: isScrollable })}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Biomarker</Box>\n </WildHealthTableCell>\n <WildHealthTableCell\n style={{ minWidth: pxString(highlightWidth) }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Highlight</Box>\n </WildHealthTableCell>\n <WildHealthTableCell\n style={{ minWidth: pxString(rangeWidth) }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Range</Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ minWidth: pxString(nameWidth) }} align=\"center\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\"> Recent Result </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ minWidth: pxString(nameWidth) }} />\n <WildHealthTableCell style={{ width: '100%' }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Date</Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n inputs.map((input, index) => {\n const dataSetByLatestValue = getDataSetByLabLatestValue(dataSets, input);\n const range = getRange(input);\n return (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell className={clsx(classes.stickyLeft, \"wh-tw-cursor-pointer\", { [classes.shadowRight]: isScrollable })} onClick={() => handleToggleDescription(input.id, true)}>\n <span>{input.displayName}</span>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <IconButton id=\"lab-input-highlight\" onClick={() => handleHighlightLab(input.id, !input.isHighlighted)}>\n {\n input.isHighlighted ? <CheckCircleIcon className=\"wh-tw-text-primaryV\" /> : <RadioButtonUncheckedIcon className=\"wh-tw-text-primaryV\" />\n }\n </IconButton>\n </WildHealthTableCell>\n <WildHealthTableCell>\n {\n range ? <LabInputRangeComponent range={range} /> : ''\n }\n </WildHealthTableCell>\n <WildHealthTableCell align=\"center\">\n {renderValue(input, dataSetByLatestValue)}\n </WildHealthTableCell>\n <WildHealthTableCell />\n <WildHealthTableCell>\n {\n moment(dataSetByLatestValue.date).format(\"MM/DD/YYYY\")\n }\n </WildHealthTableCell>\n </WildHealthTableRow>\n );\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n }\n\n return (<>\n <TableContainer className={classes.root}>\n <Table style={{ minWidth: pxString(tableWidth) }}>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell\n style={{ minWidth: pxString(nameWidth), width: pxString(nameWidth) }}\n className={clsx(classes.stickyLeft, { [classes.shadowRight]: isScrollable })}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Biomarker</Box>\n </WildHealthTableCell>\n <WildHealthTableCell\n style={{ minWidth: pxString(highlightWidth), width: pxString(highlightWidth) }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Highlight</Box>\n </WildHealthTableCell>\n <WildHealthTableCell\n style={{ minWidth: pxString(rangeWidth), width: pxString(rangeWidth) }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Range</Box>\n </WildHealthTableCell>\n {\n dataSets.filter(x => !hiddenDataSets.includes(x.id)).map((dataset, index) => {\n return (\n <WildHealthTableCell key={index} style={{ minWidth: pxString(valueWidth) }} align=\"center\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\" className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">\n {\n moment(dataset.date).format(\"MM/DD/YYYY\")\n }\n <Box ml={1} onClick={() => inputs.length > 0 && handleEditLab(dataset.date, inputs[0].group)}>\n <EditIcon className=\"wh-tw-cursor-pointer wh-tw-fill-gray600\" fontSize='small' />\n </Box>\n </Box>\n </WildHealthTableCell>\n )\n })\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n inputs.map((input, index) => {\n if (!showUntestedValue && !input.values.length) {\n return <></>\n }\n const range = getRange(input);\n return (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell className={clsx(classes.stickyLeft, \"wh-tw-cursor-pointer\", { [classes.shadowRight]: isScrollable })} onClick={() => handleToggleDescription(input.id, true)}>\n <span>{input.displayName}</span>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <IconButton id=\"lab-input-highlight\" onClick={() => handleHighlightLab(input.id, !input.isHighlighted)}>\n {\n input.isHighlighted ? <CheckCircleIcon className=\"wh-tw-text-primaryV\" /> : <RadioButtonUncheckedIcon className=\"wh-tw-text-primaryV\" />\n }\n </IconButton>\n </WildHealthTableCell>\n <WildHealthTableCell>\n {\n range ? <LabInputRangeComponent range={range} /> : ''\n }\n </WildHealthTableCell>\n {\n dataSets.filter(x => !hiddenDataSets.includes(x.id)).map((dataset, index) => {\n return (\n <WildHealthTableCell key={index} align=\"center\">\n {renderValue(input, dataset)}\n </WildHealthTableCell>\n );\n })\n }\n </WildHealthTableRow>\n );\n })\n }\n </TableBody>\n </Table>\n </TableContainer>\n </>);\n }\n\n return (<>\n <Paper ref={paperContainerRef}>\n {\n renderValuesView()\n }\n </Paper>\n <Drawer\n id=\"side-area-drawer\"\n anchor='right'\n open={isSideAreaOpen}\n onClose={() => handleToggleDescription(0, false)}\n >\n <Box className={classes.sideMobile}>\n {renderSideArea()}\n </Box>\n </Drawer>\n </>)\n}","import {useState} from \"react\";\nimport {\n LabInputModel,\n} from \"../../models/input.models\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\n\ninterface LabInputsSectionComponentState {\n isSideAreaOpen: boolean;\n selectedLabInputId: number;\n}\n\nexport function useFacade(inputs: LabInputModel[]): [\n LabInputsSectionComponentState,\n (id: number, open: boolean) => void\n] {\n const [state, setState] = useState({\n isSideAreaOpen: false,\n selectedLabInputId: 0\n } as LabInputsSectionComponentState);\n\n const handleToggleSideArea = (id: number, open: boolean) => {\n const selectedLabInput = inputs.find(x => x.id === id)\n if (selectedLabInput) {\n Track(\"lab_selected\", {\n lab_name: selectedLabInput.name,\n platform: PlatformName(),\n });\n }\n setState(state => ({ ...state, isSideAreaOpen: open, selectedLabInputId: id }))\n }\n\n return [state,\n handleToggleSideArea\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 20,\n },\n },\n navigateButton: {\n minWidth: \"40px !important\",\n width: 40,\n height: 40,\n margin: 3,\n borderRadius: 4,\n },\n navigationIcon: {\n width: 14,\n height: 14,\n [theme.breakpoints.down(\"xs\")]: {\n color: colors.main,\n },\n },\n dateTitle: {\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 22,\n fontWeight: 500,\n color: \"#3F4157\",\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 20,\n fontWeight: 600,\n color: colors.black,\n },\n },\n calander: {\n [theme.breakpoints.down(\"xs\")]: {\n \"& .react-calendar__tile--range\": {\n background: colors.white,\n },\n \"& .react-calendar__tile\": {\n fontSize: 20,\n },\n \"& .react-calendar__month-view__weekdays__weekday\": {\n fontSize: 13,\n fontWeight: 600,\n color: \"#3c3c434d\",\n },\n \"& .react-calendar__month-view__days__day--weekend \": {\n color: colors.black,\n },\n \"& .react-calendar__month-view__days__day\": {\n color: colors.black,\n },\n },\n },\n })\n);\n","import { Box, Button } from \"@material-ui/core\";\nimport moment from \"moment\";\nimport React, { useState } from \"react\";\nimport Calendar from \"react-calendar\";\nimport { useStyles } from \"./SelectDataDialogComponent.styles\";\nimport ArrowBackIosRoundedIcon from \"@material-ui/icons/ArrowBackIosRounded\";\nimport ArrowForwardIosRoundedIcon from \"@material-ui/icons/ArrowForwardIosRounded\";\n\ninterface SelectDataRangePopoverComponentProps {\n handleDateChanges: Function;\n}\n\ninterface SelectDataRangePopoverComponentState {\n activeStartDate: Date;\n}\n\nexport const IOSCalender: React.FC<SelectDataRangePopoverComponentProps> = (\n props: SelectDataRangePopoverComponentProps\n) => {\n const { handleDateChanges } = props;\n\n const classes = useStyles();\n const [state, setState] = useState({\n activeStartDate: new Date(),\n } as SelectDataRangePopoverComponentState);\n\n const handleShowPreviousMonthView = () => {\n state.activeStartDate.setMonth(state.activeStartDate.getMonth() - 1);\n setState((state) => ({ ...state }));\n };\n\n const handleShowNextMonthView = () => {\n state.activeStartDate.setMonth(state.activeStartDate.getMonth() + 1);\n setState((state) => ({ ...state }));\n };\n\n const handleCanMoveNext = () => {\n const today = new Date();\n return !(\n state.activeStartDate.getFullYear() === today.getFullYear() &&\n state.activeStartDate.getMonth() === today.getMonth()\n );\n };\n\n return (\n <Box display='flex'>\n <Box>\n <Box display='flex' justifyContent='space-between' alignItems='center'>\n <Box>\n <span className={classes.dateTitle}>\n {moment(state.activeStartDate).format(\"MMMM yyyy\")}\n </span>\n </Box>\n <Box>\n <Button\n id='select-data-range-prev-month'\n onClick={handleShowPreviousMonthView}\n className={classes.navigateButton}\n >\n <ArrowBackIosRoundedIcon className={classes.navigationIcon} />\n </Button>\n <Button\n id='select-data-range-next-month'\n disabled={!handleCanMoveNext()}\n className={classes.navigateButton}\n onClick={handleShowNextMonthView}\n >\n <ArrowForwardIosRoundedIcon className={classes.navigationIcon} />\n </Button>\n </Box>\n </Box>\n <Box maxWidth='400px'>\n <Calendar\n onChange={(momentDate) =>\n handleDateChanges(momentDate && moment(momentDate).toDate())\n }\n activeStartDate={state.activeStartDate}\n calendarType='US'\n showNavigation={false}\n maxDate={new Date()}\n className={classes.calander}\n />\n </Box>\n </Box>\n </Box>\n );\n};\n","import React from \"react\";\nimport {Box, TextField, FormControl, Select, MenuItem} from \"@material-ui/core\";\nimport { LabRangeType, LabInputValueModel, labRangeTypesNames, LabValidationSource } from \"../../models/input.models\";\nimport { renderLabInputRange } from \"../../helpers/render-lab-input-range\";\nimport { getNumericKeys } from \"../../../common/helpers/enum-mapper\";\n\ninterface UpdateLabInputRangeComponentProps {\n input: LabInputValueModel;\n handleChanges: Function;\n disabled: boolean;\n}\n\nexport const UpdateLabInputRangeComponent: React.FC<UpdateLabInputRangeComponentProps> = (props: UpdateLabInputRangeComponentProps) => {\n const {\n input,\n handleChanges,\n disabled\n } = props;\n\n const range = input.range ?? {\n from: null,\n to: null,\n dimension: '',\n type: LabRangeType.None,\n source: LabValidationSource.ValueScope\n };\n\n if (disabled) {\n return (\n <Box width=\"175px\" height=\"100%\" display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" className=\"wh-tw-text-sm wh-tw-font-beVietnamPro\">\n <span>\n {\n renderLabInputRange(range)\n }\n </span>\n </Box>\n )\n }\n\n const renderRangeInput = () => {\n if (range.type === LabRangeType.LessThen || range.type === LabRangeType.LessThanOrEqual) {\n return (\n <Box width={0.4} px={1}>\n <TextField\n size=\"small\"\n id=\"to\"\n placeholder=\"Min\"\n variant=\"outlined\"\n value={range.to ?? ''}\n onChange={(e) => handleChanges(input, 'to', e.target.value)}\n />\n </Box>\n )\n }\n if (range.type === LabRangeType.MoreThen || range.type === LabRangeType.MoreThanOrEqual) {\n return (\n <Box width={0.4} px={1}>\n <TextField\n size=\"small\"\n id=\"from\"\n placeholder=\"Max\"\n variant=\"outlined\"\n value={range.from ?? ''}\n onChange={(e) => handleChanges(input, 'from', e.target.value)}\n />\n </Box>\n )\n }\n return (\n <Box width={0.4} px={1} display=\"flex\" alignItems=\"center\" gridGap={12}>\n <Box width={0.5}>\n <TextField\n size=\"small\"\n id=\"from\"\n placeholder=\"Min\"\n variant=\"outlined\"\n value={range.from ?? ''}\n onChange={(e) => handleChanges(input, 'from', e.target.value)}\n />\n </Box>\n <Box width={0.5}>\n <TextField\n size=\"small\"\n id=\"to\"\n placeholder=\"Max\"\n variant=\"outlined\"\n value={range.to ?? ''}\n onChange={(e) => handleChanges(input, 'to', e.target.value)}\n />\n </Box>\n </Box>\n )\n }\n\n return (\n <Box height=\"100%\" display=\"flex\" alignItems=\"center\">\n <Box width={0.4} pr={1}>\n <FormControl\n variant=\"outlined\"\n color='primary'\n required\n size=\"small\"\n fullWidth>\n <Select\n id=\"range-type\"\n value={range.type}\n renderValue={() => {\n if (range.type === LabRangeType.None) {\n return <Box className=\"wh-tw-text-mediumGray\">Range Type</Box>;\n }\n\n return <Box className=\"wh-tw-text-black\">{labRangeTypesNames[range.type]}</Box>\n }}\n displayEmpty\n onChange={(e) => handleChanges(input, 'type', e.target.value)}\n >\n {\n getNumericKeys(labRangeTypesNames).map((value, i) => {\n return <MenuItem key={i} value={value}>{labRangeTypesNames[value]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n {renderRangeInput()}\n <Box width={0.2} pl={1} display=\"flex\" alignContent=\"center\">\n <TextField\n size=\"small\"\n id=\"dimension\"\n placeholder=\"Unit\"\n variant=\"outlined\"\n value={range.dimension ?? ''}\n onChange={(e) => handleChanges(input, 'dimension', e.target.value)}\n />\n </Box>\n </Box>\n );\n}\n","import React from \"react\";\nimport { Box, Collapse, TextField, Paper, Table, TableBody, TableContainer, TableHead, CircularProgress } from \"@material-ui/core\";\nimport { Autocomplete } from '@material-ui/lab';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport AddIcon from '@material-ui/icons/Add';\nimport { ReactComponent as CalendarIcon } from '@img/icons/CalendarIcon.svg';\nimport { isIOS } from \"react-device-detect\";\nimport moment from \"moment\";\nimport { useFacade } from \"./addLabDialogComponent.hooks\";\nimport { IOSCalender } from \"../../../common/components/selectDataSetDialogComponent/IOSCalender\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { colors } from '../../../common/constants/colors';\nimport { LabInputsDatasetEditableViewModel, labInputGroupNames, LabInputValueModel, LabValidationSource, LabGroup } from \"../../models/input.models\";\nimport { UpdateLabInputRangeComponent } from \"../updateLabInputRangeComponent/UpdateLabInputRangeComponent\";\n\ninterface AddLabDialogComponentProps {\n open: boolean;\n title: string;\n message: string;\n actionName: string;\n disableDates: Date[];\n dataSet: LabInputsDatasetEditableViewModel;\n isEditMode: boolean;\n handleSubmit: Function;\n handleClose: Function;\n handleChange: Function;\n handleRangeChanges: Function;\n handleNameChange: Function;\n handleChangeDate: Function;\n handleAddNewMiscLab: () => void;\n}\n\nexport const AddLabDialogComponent: React.FC<AddLabDialogComponentProps> = (\n props: AddLabDialogComponentProps\n) => {\n const {\n open,\n title,\n message,\n actionName,\n disableDates,\n dataSet,\n isEditMode,\n handleSubmit,\n handleClose,\n handleChange,\n handleRangeChanges,\n handleNameChange,\n handleChangeDate,\n handleAddNewMiscLab\n } = props;\n\n const [\n { isLoading, selectedDate, canSubmit, sections, filteredItems, errors },\n isDateInDisabledRange,\n handleDateChanges,\n handleCloseDialog,\n handleSubmitForm,\n handleExpand,\n handleOnFilter\n ] = useFacade(open, isEditMode, handleSubmit, handleClose, disableDates, handleChangeDate);\n\n const onChanges = (inputValue: LabInputValueModel, v: string) => {\n switch (v.length) {\n case 0: return handleChange(inputValue, null);\n default: handleChange(inputValue, Number(v));\n }\n }\n\n const renderInput = (params) => {\n return (\n <TextField\n {...params}\n variant=\"outlined\"\n placeholder=\"Lab Name or Test Code\"\n onChange={(e) => handleOnFilter(e.currentTarget.value)}\n InputProps={{\n ...params.InputProps,\n className: 'input',\n endAdornment: (\n <React.Fragment>\n {isLoading ? <CircularProgress className=\"wh-tw-text-primaryV\" size={20} /> : null}\n </React.Fragment>\n ),\n }}\n />\n )\n }\n\n return (\n <Box p=\"30px\">\n <Box display='flex' justifyContent='space-between'>\n <Box className=\"wh-tw-text-2xl wh-tw-font-medium wh-tw-font-poppins\">{isEditMode ? `Edit ${title}` : `Add ${title}`}</Box>\n <Box display='flex' justifyContent='flex-end'>\n <Box>\n <WildHealthButton\n id='add-lab-cancel'\n color='tertiary'\n size=\"medium\"\n onClick={() => handleCloseDialog()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n id={`add-lab-submit-${actionName}`}\n size=\"medium\"\n color=\"primaryV\"\n onClick={(e) => handleSubmitForm(e)}\n disabled={!canSubmit}\n >\n {actionName}\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n {!isEditMode && (\n <Box>\n {isIOS ? (\n <IOSCalender handleDateChanges={handleDateChanges} />\n ) : (\n <Box py={1}>\n <Box>\n <span className=\"wh-tw-text-xxs wh-tw-font-medium wh-tw-font-beVietnamPro\">\n {message} <span className=\"wh-tw-text-primaryV\">*</span>\n </span>\n </Box>\n <Box mt={2} width=\"300px\">\n <WildHealthDatePicker\n placeholder='MMM DD, yyyy'\n openTo='year'\n format='MMM DD, yyyy'\n inputProps={{ disabled: true }}\n inputVariant='outlined'\n error={!!errors[\"selectedDate\"]}\n helperText={errors[\"selectedDate\"]}\n value={selectedDate}\n onChange={(momentDate) => handleDateChanges(momentDate?.toDate())}\n shouldDisableDate={(day: moment.Moment) => isDateInDisabledRange(day)}\n useKeyboardDatePicker\n name='selectedDate'\n keyboardIcon={<CalendarIcon fill={colors.gray500}/>}\n fullWidth\n />\n </Box>\n </Box>\n )}\n </Box>\n )}\n <Box>\n {\n sections.map((section, index) => {\n const inputValues = dataSet.draftValues.filter(x => x.group === section.group)\n\n return (\n <Box py={2} key={index}>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"stretch\" mt={1}>\n <Box id={`lab-inputs-expand-${section.group}`} onClick={() => handleExpand(section.group)} className=\"wh-tw-cursor-pointer\">\n {section.expanded ? <ExpandMoreIcon /> : <ExpandLessIcon />}\n </Box>\n <Box ml={1}>\n <span className=\"wh-tw-text-lg wh-tw-font-medium wh-tw-font-beVietnamPro\">{labInputGroupNames[section.group]}</span>\n </Box>\n </Box>\n <Collapse in={section.expanded} timeout=\"auto\" unmountOnExit>\n <Box mt={2}>\n <Paper>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell\n style={{ minWidth: 300, width: 300 }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Biomarker</Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Range</Box>\n </WildHealthTableCell>\n <WildHealthTableCell\n style={{ width: '35%' }}>\n <Box className=\"wh-tw-text-black wh-tw-text-sm wh-tw-font-semibold wh-tw-font-beVietnamPro\">Result</Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n inputValues.map((inputValue, index) => {\n return (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {inputValue.name\n ? <span>{inputValue.name}</span>\n : <Box>\n <Autocomplete\n size='small'\n fullWidth\n disableClearable\n noOptionsText={'No result'}\n options={filteredItems}\n filterOptions={x => x}\n getOptionLabel={(option) => option.name}\n forcePopupIcon={false}\n onChange={(e, value) => handleNameChange(inputValue, typeof (value) === 'object' ? value.name : +value)}\n renderInput={(params) => renderInput(params)}\n />\n </Box>\n }\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box>\n <UpdateLabInputRangeComponent\n input={inputValue}\n disabled={inputValue?.range?.source === LabValidationSource.Custom}\n handleChanges={handleRangeChanges} />\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box>\n <TextField\n variant=\"outlined\"\n size=\"small\"\n type=\"number\"\n placeholder=\"Lab Result\"\n value={inputValue.value ?? ''}\n onChange={(v) => onChanges(inputValue, v.target.value)}\n InputProps={{inputProps: {min: 0}}}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n );\n })\n }\n {section.group === LabGroup.Other && (\n <WildHealthTableRow>\n <WildHealthTableCell colSpan={3}>\n <Box display=\"flex\" alignItems=\"center\" gridGap={8} py={0.5} className=\"wh-tw-text-primaryV wh-tw-cursor-pointer\" onClick={handleAddNewMiscLab}>\n Add Misc Lab\n <AddIcon className=\"wh-tw-text-primaryV\" />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )}\n </TableBody>\n </Table>\n </TableContainer>\n </Paper>\n </Box>\n </Collapse>\n </Box>\n )\n })\n }\n </Box>\n <Box display='flex' alignItems=\"center\">\n <Box>\n <WildHealthButton\n id='add-lab-cancel'\n color='tertiary'\n size=\"medium\"\n onClick={() => handleCloseDialog()}\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n id={`add-lab-submit-${actionName}`}\n size=\"medium\"\n color=\"primaryV\"\n onClick={(e) => handleSubmitForm(e)}\n disabled={!canSubmit}\n >\n {actionName}\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n );\n};\n","import { IconButton } from \"@material-ui/core\";\nimport { createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n checkboxDropdownWrapper: {\n cursor: \"pointer\",\n },\n placeHolder: {\n display: \"flex\",\n alignItems: \"center\",\n border: `solid 1px ${colors.gray400}`,\n borderRadius: 4,\n fontFamily: \"Be Vietnam Pro\",\n fontSize: 16,\n height: `48px !important`\n },\n placeHolderOpen: {\n borderColor: colors.main,\n },\n menuPaper: {\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15) !important\",\n },\n [theme.breakpoints.down(\"xs\")]: {\n placeHolder: {\n border: 0,\n fontSize: 16,\n },\n placeHolderOpen: {\n borderColor: \"none\",\n },\n },\n })\n);\n\nexport const FilterButton = withStyles((theme: Theme) => ({\n root: {\n border: `solid 1px ${colors.main}`,\n borderRadius: 50,\n \"&:hover\": {\n backgroundColor: `${colors.main}11`,\n },\n \"&:disabled\": {\n color: colors.gray2,\n backgroundColor: colors.disabled,\n border: `1px solid ${colors.gray1}44`,\n },\n },\n}))(IconButton);","import { Button, Theme, withStyles } from \"@material-ui/core\";\nimport { colors } from \"../../constants/colors\";\n\nexport const OptionsButton = withStyles((theme: Theme) => ({\n root: {\n height: 34,\n color: colors.gray1,\n backgroundColor: \"transparent\",\n border: `1px solid ${colors.gray400}`,\n textTransform: \"none\",\n borderRadius: 4,\n \"&:hover\": {\n backgroundColor: `${colors.main}11`,\n },\n \"&:disabled\": {\n color: colors.gray2,\n backgroundColor: colors.disabled,\n border: `1px solid ${colors.gray1}44`,\n },\n [theme.breakpoints.down(\"xs\")]: {\n height: 24,\n color: colors.black,\n border: 0,\n },\n },\n}))(Button);\n","import React from 'react';\nimport { CheckboxDropdownItem } from '../../models/checkboxDropdown.models';\nimport { Box, Menu, MenuItem, } from '@material-ui/core';\nimport { useFacade } from \"./checkboxDropdown.hooks\";\nimport { useStyles, FilterButton } from \"./checkboxDropdown.styles\";\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport { OptionsButton } from '../wildHealthButton/OptionsButton';\nimport clsx from 'clsx';\n\ninterface CheckboxDropdownProps {\n placeHolder: JSX.Element | string,\n items: CheckboxDropdownItem[],\n handleCheck: (key: string, value: boolean) => void,\n isMobile?: boolean;\n width?: number;\n height?: number;\n}\n\nexport const CheckboxDropdown: React.FC<CheckboxDropdownProps> = (props: CheckboxDropdownProps) => {\n const {\n placeHolder,\n items,\n handleCheck,\n isMobile,\n width = 150,\n } = props;\n\n const classes = useStyles();\n\n const [\n {\n anchorEl,\n },\n handleOpen,\n handleClose] = useFacade();\n\n return (\n <>\n <Box className={classes.checkboxDropdownWrapper}>\n {isMobile ? (\n <FilterButton\n id=\"checkbox-dropdown-open\"\n onClick={(event) => handleOpen(event)}\n >\n {placeHolder}\n </FilterButton>\n ) : (\n <OptionsButton\n id=\"checkbox-dropdown-open\"\n fullWidth\n className={clsx(classes.placeHolder, { [classes.placeHolderOpen]: Boolean(anchorEl) })}\n onClick={(event) => handleOpen(event)}\n variant='outlined'\n >\n {placeHolder}\n </OptionsButton>\n )}\n\n <Menu\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'center',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'center',\n }}\n anchorEl={anchorEl}\n open={Boolean(anchorEl)}\n onClose={() => handleClose()}\n >\n {\n items.map((item, index) => {\n return (\n <MenuItem id={`checkbox-dropdown-check${item.name}`} key={index} onClick={() => handleCheck(item.key, !item.selected)} style={{ width: `${width}px` }}>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\">\n <Box width=\"30%\" mt=\"3.5px\">\n {\n item.selected ? <CheckCircleIcon className=\"wh-tw-text-primaryV\" /> : <RadioButtonUncheckedIcon className=\"wh-tw-text-primaryV\" />\n }\n </Box>\n <Box ml={2} width=\"70%\">\n <span>{item.name}</span>\n </Box>\n </Box>\n </MenuItem>\n )\n })\n }\n </Menu>\n </Box>\n </>\n )\n}","import { useState } from \"react\";\n\ninterface CheckboxDropdownState {\n anchorEl: HTMLElement | null\n}\n\nexport function useFacade():\n [\n CheckboxDropdownState,\n (event: React.MouseEvent<HTMLElement>) => void,\n () => void\n ] \n{\n const [state, setState] = useState({\n } as CheckboxDropdownState);\n\n const handleOpen = (event: React.MouseEvent<HTMLElement>) => {\n setState({...state, anchorEl: event.currentTarget});\n };\n \n const handleClose = () => {\n setState({...state, anchorEl: null});\n };\n\n return [state, handleOpen, handleClose];\n}","import React from \"react\";\nimport { Box, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { CheckboxDropdown } from \"../../../common/components/checkBoxDropdown/CheckboxDropdown\";\nimport { CheckboxDropdownItem } from \"../../../common/models/checkboxDropdown.models\";\n\ninterface ManageLabInputDatesComponentProps {\n items: CheckboxDropdownItem[];\n handleChanges: Function;\n}\n\nexport const ManageLabInputDatesComponent: React.FC<ManageLabInputDatesComponentProps> = (props: ManageLabInputDatesComponentProps) => {\n const {\n items,\n handleChanges\n } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n <CheckboxDropdown\n placeHolder={isSmallScreen ? <FilterListIcon className=\"wh-tw-text-primaryV\" /> :\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" className='wh-tw-w-48'>\n <Box className=\"wh-tw-text-black\">\n <span>Filter Labs</span>\n </Box>\n <FilterListIcon className=\"wh-tw-text-black\" />\n </Box>\n }\n handleCheck={(key, value) => handleChanges(key, value)}\n items={items}\n isMobile={isSmallScreen}\n width={200}\n height={48}\n />\n )\n}\n","import React from 'react';\nimport { Box, Collapse, Paper, Dialog, DialogContent, DialogActions } from '@material-ui/core';\nimport AddIcon from \"@material-ui/icons/Add\";\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport moment from 'moment';\nimport { useStyles, ShowUntestedSwitcher } from \"./labInputsComponent.styles\";\nimport { useFacade } from \"./labInputsComponent.hooks\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { labInputGroupNames } from '../../models/input.models';\nimport { LabInputsSectionComponent } from \"../labInputsSectionComponent/LabInputsSectionComponent\";\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { AddLabDialogComponent } from '../addLabDialogComponent/AddLabDialogComponent';\nimport { ManageLabInputDatesComponent } from '../manageLabInputDatesComponent/ManageLabInputDatesComponent';\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\n\ninterface LabInputsComponentProps {\n patientId: number;\n}\n\nexport const LabInputsComponent: React.FC<LabInputsComponentProps> = (props: LabInputsComponentProps) => {\n const { patientId } = props;\n\n const [\n {\n isLoading,\n isEditMode,\n isSaving,\n isDeleting,\n isHighlightExpand,\n showUntestedValue,\n labInputs,\n sections,\n dataSets,\n isAddLabsDialogOpen,\n hiddenDataSets,\n isActionsOpen,\n selectedDataSetId,\n selectedDataSet\n },\n handleExpand,\n handleCancel,\n handleEditMode,\n handleSaveChanges,\n handleValueChange,\n handleRangeChanges,\n handleNameChange,\n getCurrentDataSet,\n handleAddLabDialogToggle,\n handleDateChanges,\n getDropDownItems,\n handleColumnCheck,\n handleToggleActions,\n handleHighlightExpand,\n handleHighlight,\n handleSelect,\n handleDelete,\n handleToggleShowUntested,\n handleAddNewMiscLab\n ] = useFacade(patientId);\n\n const classes = useStyles();\n\n const dropDownItems = getDropDownItems();\n\n const renderButtons = () => {\n return <>\n <Box display=\"flex\" justifyContent=\"flex-end\">\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"center\">\n <Box className=\"wh-tw-text-sm wh-tw-font-medium wh-tw-font-beVietnamPro\">\n Show Untested Labs\n </Box>\n <Box mx={2}>\n <ShowUntestedSwitcher\n checked={showUntestedValue}\n onChange={() => handleToggleShowUntested()}\n name=\"selectStragyToggle\"\n />\n </Box>\n </Box>\n {\n dropDownItems.length > 0 &&\n <Box px={1}>\n <ManageLabInputDatesComponent items={dropDownItems} handleChanges={handleColumnCheck} />\n </Box>\n }\n <Box px={1}>\n <WildHealthButton id=\"upload-inputs-file-view\" color=\"secondary\" size=\"large\" loading={isDeleting} disabled={isDeleting || !dataSets || !dataSets.length} onClick={() => handleToggleActions()}>\n Delete Lab\n </WildHealthButton>\n </Box>\n <Box px={1}>\n <WildHealthButton\n id=\"lab-inputs-add-new\"\n color=\"primaryV\"\n size=\"large\"\n loading={isSaving}\n disabled={isLoading || isSaving}\n onClick={() => handleAddLabDialogToggle(true)}>\n <Box my={0.3} display=\"flex\" alignItems=\"center\">\n <Box ml={1}>\n <span>Add Lab</span>\n </Box>\n <Box ml={1} display=\"flex\" alignItems=\"flex-end\">\n <AddIcon />\n </Box>\n </Box>\n </WildHealthButton>\n </Box>\n </Box>\n </>\n }\n\n const renderContent = () => {\n if (isLoading || isSaving || isDeleting) {\n return <WildHealthLinearProgress />\n }\n\n if (!labInputs || !labInputs.length) {\n return (<CommonPlaceHolder message=\"No available data.\" />)\n }\n\n const highlightedLabs = labInputs.filter(x => x.isHighlighted);\n\n return (\n <Box>\n {\n highlightedLabs && highlightedLabs.length > 0 && (\n <Box py={2}>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"stretch\" mt={1}>\n <Box id={`highlighted-lab-inputs-expand`} onClick={() => handleHighlightExpand()} className=\"wh-tw-cursor-pointer\">\n {isHighlightExpand ? <ExpandMoreIcon /> : <ChevronRightIcon />}\n </Box>\n <Box ml={1}>\n <span className=\"wh-tw-text-lg wh-tw-font-medium wh-tw-font-beVietnamPro\">Highlights</span>\n </Box>\n </Box>\n <Collapse in={isHighlightExpand} timeout=\"auto\" unmountOnExit>\n <Box mt={2}>\n <LabInputsSectionComponent\n patientId={patientId}\n isHightlighted\n inputs={highlightedLabs}\n dataSets={dataSets}\n getCurrentDataSet={getCurrentDataSet}\n hiddenDataSets={hiddenDataSets}\n handleEditLab={handleEditMode}\n handleHighlightLab={handleHighlight}\n />\n </Box>\n </Collapse>\n </Box>\n )\n }\n {\n sections.map((section, index) => {\n const inputs = labInputs.filter(x => x.group === section.group);\n\n return (\n <Box py={2} key={index}>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"stretch\" mt={1}>\n <Box id={`lab-inputs-expand-${section.group}`} onClick={() => handleExpand(section.group)} className=\"wh-tw-cursor-pointer\">\n {section.expanded ? <ExpandMoreIcon /> : <ChevronRightIcon />}\n </Box>\n <Box ml={1}>\n <span className=\"wh-tw-text-lg wh-tw-font-medium wh-tw-font-beVietnamPro\">{labInputGroupNames[section.group]}</span>\n </Box>\n </Box>\n <Collapse in={section.expanded} timeout=\"auto\" unmountOnExit>\n <Box mt={2}>\n <LabInputsSectionComponent\n showUntestedValue={showUntestedValue}\n patientId={patientId}\n inputs={inputs}\n dataSets={dataSets}\n getCurrentDataSet={getCurrentDataSet}\n hiddenDataSets={hiddenDataSets}\n handleEditLab={handleEditMode}\n handleHighlightLab={handleHighlight}\n />\n </Box>\n </Collapse>\n </Box>\n )\n })\n }\n </Box>\n )\n }\n\n return (\n <Paper elevation={0}>\n {isAddLabsDialogOpen \n ? <AddLabDialogComponent\n title='Lab Panel'\n message='LAB COLLECTION DATE'\n actionName={'Save Changes'}\n open={isAddLabsDialogOpen}\n isEditMode={isEditMode}\n handleClose={() => handleCancel()}\n handleSubmit={handleSaveChanges}\n disableDates={dataSets && dataSets.length > 0 ? dataSets.filter(x => !x.new).map(ds => ds.date) : []}\n dataSet={selectedDataSet}\n handleRangeChanges={handleRangeChanges}\n handleNameChange={handleNameChange}\n handleChange={handleValueChange}\n handleChangeDate={handleDateChanges}\n handleAddNewMiscLab={handleAddNewMiscLab}\n />\n : <Box p=\"30px\">\n <Box display=\"flex\" justifyContent=\"space-between\">\n <span className=\"wh-tw-text-2xl wh-tw-font-medium wh-tw-font-poppins\">Labs</span>\n {\n renderButtons()\n }\n </Box>\n <Box pt={3}>\n {\n renderContent()\n }\n </Box>\n </Box>\n }\n <Dialog\n open={isActionsOpen}\n onClose={() => handleToggleActions()}\n className={classes.dialog}\n >\n <DialogTitle\n id='dialog-title'\n onClose={() => handleToggleActions()}\n >\n </DialogTitle>\n <DialogContent className={classes.dialogContent}>\n <Box mb={2} px={1.5} className=\"wh-tw-text-xl wh-tw-font-medium wh-tw-font-poppins\">Select which lab panel you want to delete</Box>\n <Box mb={1.5} px={1.5} className=\"wh-tw-text-gray600 wh-tw-font-beVietnamPro\">This will delete the entire lab panel, and cannot be undone.</Box>\n <Box width={1} px={1.5}>\n {\n dataSets && dataSets.length > 0 && dataSets.map((item) => \n <Box display=\"flex\" alignItems=\"center\" mb={0.5} className=\"wh-tw-cursor-pointer\" key={item.id} onClick={() => handleSelect(item.id)}>\n {\n selectedDataSetId === item.id ? <CheckCircleIcon className=\"wh-tw-text-primaryV\" /> : <RadioButtonUncheckedIcon className=\"wh-tw-text-primaryV\" />\n }\n <Box ml={0.5} className=\"wh-tw-font-medium wh-tw-font-beVietnamPro\">{moment(toCurrentTimeZone(new Date(item.date))).format(\"MM/DD/yyyy\")}</Box>\n </Box>\n )\n }\n </Box>\n </DialogContent>\n <DialogActions>\n <Box mb={4}>\n <WildHealthButton id={`delete-lab-button`} color=\"secondary\" border=\"none\" borderRadius={50} size=\"large\" disabled={!selectedDataSetId} onClick={() => handleDelete()}>\n Delete Lab Panel\n </WildHealthButton>\n </Box>\n <Box mb={4} px={1.5}>\n <WildHealthButton id={`cancel-dialog`} borderRadius={50} size=\"large\" onClick={() => handleToggleActions()}>\n Cancel\n </WildHealthButton>\n </Box>\n </DialogActions>\n </Dialog>\n </Paper>\n );\n}","import { useCallback, useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { LabGroup, LabInputModel, LabInputsDatasetEditableViewModel, LabInputsViewMode, LabInputValueModel, UpdateLabInputsModel, FileInputModel, FileInputType, LabRangeModel, LabRangeType, LabValidationSource } from \"../../models/input.models\";\nimport { inputsService } from \"../../services/inputs.service\";\nimport { inputsQuery } from \"../../stores/inputsStore\";\nimport { sortLabInputDataSets } from \"../../helpers/sort-lab-input-data-sets\";\nimport moment from \"moment\";\nimport { CheckboxDropdownItem } from \"../../../common/models/checkboxDropdown.models\";\nimport { WhOptimalRanges } from \"./labInputsComponent.validator\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\nimport { getRange } from \"../../helpers/labInputs.extensions\";\n\ninterface LabInputSectionViewModel {\n group: LabGroup;\n expanded: boolean;\n}\n\ninterface PatientLabInputsComponentState {\n isLoading: boolean;\n isEditMode: boolean;\n isSaving: boolean;\n isDeleting: boolean;\n isHighlightExpand: boolean;\n showUntestedValue: boolean;\n labInputs: LabInputModel[];\n sections: LabInputSectionViewModel[];\n dataSets: LabInputsDatasetEditableViewModel[];\n isAddLabsDialogOpen: boolean;\n viewMode: LabInputsViewMode;\n displayRange: boolean;\n hiddenDataSets: string[];\n files: FileInputModel[];\n isActionsOpen: boolean;\n selectedDataSetId: string;\n selectedDataSet: LabInputsDatasetEditableViewModel;\n}\n\nexport function useFacade(patientId: number): [\n PatientLabInputsComponentState,\n (group: LabGroup) => void,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n () => void,\n () => void,\n (id: number, status: boolean) => void,\n (dataSetId: string) => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n viewMode: LabInputsViewMode.Graph,\n isLoading: true,\n isEditMode: false,\n isSaving: false,\n isDeleting: false,\n isHighlightExpand: true,\n showUntestedValue: false,\n labInputs: [],\n isAddLabsDialogOpen: false,\n hiddenDataSets: [],\n displayRange: true,\n sections: [\n {\n group: LabGroup.Lipids,\n expanded: true\n },\n {\n group: LabGroup.Methylation,\n expanded: true\n },\n {\n group: LabGroup.VitaminsAndMicronutrients,\n expanded: true\n },\n {\n group: LabGroup.InsulinResistanceAndMetabolism,\n expanded: true\n },\n {\n group: LabGroup.Hormones,\n expanded: true\n },\n {\n group: LabGroup.Inflammation,\n expanded: true\n },\n {\n group: LabGroup.CBC,\n expanded: true\n },\n {\n group: LabGroup.Metabolic,\n expanded: true\n },\n {\n group: LabGroup.Other,\n expanded: true\n }\n ],\n files: [],\n isActionsOpen: false,\n dataSets: [],\n selectedDataSetId: null,\n selectedDataSet: null\n } as PatientLabInputsComponentState);\n\n const AllKey = \"ALL\";\n const RangeKey = \"RANGE\";\n\n const createDefaultValue = (name: string, date: Date, dataSetId: string, range: LabRangeModel, group: LabGroup, isNewMisc: boolean): LabInputValueModel => ({\n id: null,\n name: name,\n value: null,\n isChanged: false,\n isChangedInThisSession: false,\n isInitialized: false,\n editable: true,\n notification: null,\n date: date,\n dataSetId: dataSetId,\n isPresent: false,\n range: range,\n group: group,\n isNewMisc: isNewMisc\n } as LabInputValueModel)\n\n const getDataSets = useCallback((inputs: LabInputModel[]): LabInputsDatasetEditableViewModel[] => {\n const allDataSets = inputs.map(x => x.values.map(t => {\n return {\n id: t.dataSetId,\n date: t.date,\n selected: true,\n values: [],\n draftValues: []\n } as LabInputsDatasetEditableViewModel\n })).flat();\n\n if (!allDataSets.length) {\n return [];\n }\n\n const dataSets = Array.from(new Set(allDataSets.map(x => x.id)))\n .map(id => {\n return {\n id: id,\n date: allDataSets.find(x => x.id === id).date,\n selected: true,\n values: [],\n new: false,\n draftValues: []\n } as LabInputsDatasetEditableViewModel\n }).sort(sortLabInputDataSets);\n\n dataSets.forEach(dataSet => {\n inputs.forEach(input => {\n let value = input.values.find(x => x.dataSetId === dataSet.id);\n if (!value) {\n value = createDefaultValue(input.name, dataSet.date, dataSet.id, getRange(input), input.group, false);\n } else {\n value.isPresent = true;\n value.group = input.group;\n value.isNewMisc = false;\n }\n\n dataSet.values.push(value);\n })\n\n dataSet.draftValues = dataSet.values.map(value => Object.assign({}, value))\n });\n\n return dataSets.sort(sortLabInputDataSets);\n }, []);\n\n const getDropDownItems = (): CheckboxDropdownItem[] => {\n let dataSets = state.dataSets;\n\n if (!dataSets.length) {\n return [];\n }\n\n dataSets.forEach(c => c.selected = !state.hiddenDataSets.includes(c.id));\n\n dataSets = dataSets.sort(sortLabInputDataSets);\n\n return [\n {\n key: AllKey,\n name: \"View All Labs\",\n selected: state.dataSets.every(x => x.selected === true)\n },\n ].concat(state.dataSets.map((dataSet) => {\n return {\n key: dataSet.id,\n name: moment(dataSet.date).format(\"MM/DD/YYYY\"),\n selected: dataSet.selected\n } as CheckboxDropdownItem\n }))\n }\n\n const handleColumnCheck = (dataSetId: string, value: boolean) => {\n switch (dataSetId) {\n case RangeKey:\n setState({ ...state, displayRange: value });\n return;\n case AllKey:\n setState({\n ...state,\n displayRange: true,\n hiddenDataSets: []\n });\n return;\n default:\n const hiddenDataSets = state.hiddenDataSets.some(id => id === dataSetId)\n ? state.hiddenDataSets.filter(id => id !== dataSetId)\n : [...state.hiddenDataSets, dataSetId]\n setState({\n ...state,\n hiddenDataSets: hiddenDataSets\n });\n return;\n }\n }\n\n const getCurrentDataSet = () => {\n return state.dataSets[0];\n }\n\n const handleValueChange = (inputValue: LabInputValueModel, value: number | null) => {\n inputValue.value = value;\n\n if (value === null) {\n inputValue.isInitialized = false;\n }\n\n if (value !== null && !inputValue.isInitialized) {\n inputValue.isInitialized = true;\n }\n\n inputValue.isChanged = true;\n inputValue.isChangedInThisSession = true;\n\n inputValue.value = value;\n\n setState({ ...state, selectedDataSet: state.selectedDataSet });\n }\n\n const handleRangeChanges = (inputValue: LabInputValueModel, key: string, value: string) => {\n inputValue.range = {\n ...inputValue.range,\n [key]: value\n };\n\n inputValue.isChanged = true;\n inputValue.isChangedInThisSession = true;\n\n setState({ ...state, selectedDataSet: state.selectedDataSet });\n }\n\n const handleNameChange = (inputValue: LabInputValueModel, value: string) => {\n inputValue.name = value;\n\n setState({ ...state, selectedDataSet: state.selectedDataSet });\n }\n\n const handleExpand = (group: LabGroup) => {\n const section = state.sections.find(x => x.group === group);\n section.expanded = !section.expanded;\n setState({ ...state, sections: state.sections });\n }\n\n const handleHighlightExpand = () => {\n setState(state => ({ ...state, isHighlightExpand: !state.isHighlightExpand }));\n }\n\n const handleHighlight = (id: number, status: boolean) => {\n const input = state.labInputs.find(x => x.id === id);\n if (status) {\n Track(\"lab_marker_highlighted\", {\n lab_name: input?.name,\n platform: PlatformName(),\n });\n } else {\n Track(\"lab_marker_unhighlighted\", {\n lab_name: input?.name,\n platform: PlatformName(),\n });\n }\n\n inputsService.UpdateLabInputHighlights(id, patientId, status).subscribe();\n }\n\n const handleSelect = (dataSetId: string) => {\n setState({\n ...state,\n selectedDataSetId: state.selectedDataSetId === dataSetId ? null : dataSetId\n });\n }\n\n const handleDelete = () => {\n setState(state => ({ ...state, isDeleting: true, isActionsOpen: false }));\n const cb = () => setState(state => ({ ...state, isDeleting: false }))\n inputsService.deleteLabInputs(state.selectedDataSetId, patientId).subscribe(cb, cb);\n }\n\n const handleEditMode = (date: Date, group: LabGroup) => {\n setState(state => ({\n ...state,\n isEditMode: true,\n isAddLabsDialogOpen: true,\n selectedDataSet: state.dataSets.find(x => !x.new && x.date === date)\n }));\n }\n\n const handleAddLabDialogToggle = (open: boolean) => {\n const formattedDate = moment().startOf('day').toDate();\n const dataSetId = new Date().getTime().toString();\n\n const range = {\n from: null,\n to: null,\n dimension: '',\n type: LabRangeType.None,\n source: LabValidationSource.ValueScope\n };\n const values = state.labInputs.map(x => createDefaultValue(x.name, formattedDate, null, getRange(x)?.source === LabValidationSource.Custom ? getRange(x) : WhOptimalRanges.get(x.name) ?? range, x.group, false));\n const draftValues = values.map(value => Object.assign({}, value));\n\n const newDataSet = {\n id: dataSetId,\n date: formattedDate,\n selected: true,\n values: values,\n new: true,\n draftValues: draftValues\n };\n\n setState(state => ({\n ...state,\n isAddLabsDialogOpen: open,\n selectedDataSet: newDataSet,\n }));\n }\n\n const handleAddNewMiscLab = () => {\n const selectedDataSet = state.selectedDataSet;\n const date = selectedDataSet.values[0]?.date ?? selectedDataSet.date;\n const existingDataSetId = selectedDataSet.values[0]?.dataSetId ?? null;\n\n const value = createDefaultValue('', date, existingDataSetId, null, LabGroup.Other, true);\n\n setState(state => ({\n ...state,\n selectedDataSet: {\n ...selectedDataSet,\n values: [...selectedDataSet.values, value],\n draftValues: [...selectedDataSet.draftValues, value]\n },\n }));\n }\n\n const handleDateChanges = (date: Date) => {\n const formattedDate = moment(date).startOf('day').toDate();\n const dataSetId = date.getTime().toString();\n\n setState(state => ({\n ...state,\n selectedDataSet: {\n ...state.selectedDataSet,\n id: dataSetId,\n date: formattedDate,\n draftValues: state.selectedDataSet.draftValues.map(d => ({...d, date: formattedDate})),\n values: state.selectedDataSet.values.map(v => ({...v, date: formattedDate}))\n },\n }));\n }\n\n const handleSaveChanges = () => {\n setState(state => ({ ...state, isSaving: true }))\n const cb = () => {\n setState(state => ({\n ...state,\n isSaving: false,\n }));\n }\n const allValues = state.selectedDataSet.draftValues.flat();\n const createdValues = allValues.filter(x => !x.isPresent && !x.dataSetId && x.isInitialized);\n const newOtherValues = allValues.filter(x => !x.isPresent && x.isInitialized && x.isNewMisc);\n const appendedValues = allValues.filter(x => !x.isPresent && x.dataSetId && x.isInitialized);\n const updatedValues = allValues.filter(x => x.isPresent && x.isChanged && x.isInitialized && x.isChangedInThisSession && !x.isNewMisc);\n const deletedValues = allValues.filter(x => x.isPresent && !x.isInitialized && !x.isNewMisc);\n\n if (newOtherValues.length > 0) {\n newOtherValues.forEach(x => {\n Track(\"other_lab_marker_added\", {\n lab_name: x.name,\n platform: PlatformName(),\n });\n })\n }\n\n const model = {\n ranges: [],\n toCreate: createdValues.map(x => {\n return {\n date: x.date,\n name: x.name,\n value: x.value,\n labInputRange: x.range\n }\n }),\n toUpdate: updatedValues.map(x => {\n return {\n id: x.id,\n value: x.value,\n labInputRange: x.range\n }\n }),\n newLabInputs: newOtherValues.map(x => {\n return {\n name: x.name,\n range: x.range,\n isHighlighted: false\n }\n }),\n updatedLabInputs: [],\n toAppend: appendedValues.map(x => {\n return {\n dataSetId: x.dataSetId,\n name: x.name,\n value: x.value,\n labInputRange: x.range\n }\n }),\n toDelete: deletedValues.map(x => x.id),\n toCorrect: [],\n labInputMutations: []\n } as UpdateLabInputsModel;\n\n inputsService.updateLabInputs(model, patientId).subscribe(cb, cb);\n }\n\n const handleCancel = () => {\n setState(state => ({\n ...state,\n isAddLabsDialogOpen: false,\n isEditMode: false,\n selectedDataSet: null\n }));\n }\n\n const handleToggleActions = () => {\n setState(state => ({\n ...state,\n isActionsOpen: !state.isActionsOpen,\n deleteDataSets: []\n }));\n }\n\n const handleToggleShowUntested = () => {\n setState(state => ({\n ...state,\n showUntestedValue: !state.showUntestedValue,\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<LabInputModel[]>(inputsQuery.labInputs$, labInputs => {\n setState(state => ({\n ...state,\n labInputs: labInputs,\n dataSets: labInputs && labInputs.length ? getDataSets(labInputs) : []\n }));\n }),\n onEmit<FileInputModel[]>(inputsQuery.uploads$, files => {\n setState(state => ({\n ...state,\n files: files.filter(x => x.type === FileInputType.LabResults)\n }));\n })\n ];\n setState(state => ({ ...state, isLoading: true }))\n\n inputsService.getUploads(patientId).subscribe();\n inputsService.getLabInputs(patientId).subscribe(\n () => setState(state => ({ ...state, isLoading: false })),\n () => setState(state => ({ ...state, isLoading: false }))\n );\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpand,\n handleCancel,\n handleEditMode,\n handleSaveChanges,\n handleValueChange,\n handleRangeChanges,\n handleNameChange,\n getCurrentDataSet,\n handleAddLabDialogToggle,\n handleDateChanges,\n getDropDownItems,\n handleColumnCheck,\n handleToggleActions,\n handleHighlightExpand,\n handleHighlight,\n handleSelect,\n handleDelete,\n handleToggleShowUntested,\n handleAddNewMiscLab\n ];\n}\n","import { InputBase } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n label: {\n color: colors.gray1,\n minHeight: 38,\n },\n message: {\n minHeight: 30,\n },\n errorMessage: {\n color: colors.bad,\n },\n warningMessage: {\n color: colors.average2,\n },\n })\n);\n\nexport const WildHealthTextField = withStyles((theme) => ({\n root: {\n borderRadius: 4,\n backgroundColor: colors.white,\n border: `1px solid ${colors.gray1}`,\n '&.modified': {\n backgroundColor: '#ffe86355',\n },\n '&.initialized': {\n backgroundColor: '#d2d2d255',\n },\n '&.error': {\n borderColor: `${colors.bad} !important`,\n },\n },\n input: {\n fontSize: 22,\n position: 'relative',\n padding: 12,\n '&:focus': {\n borderColor: theme.palette.primary.main,\n },\n },\n }))(InputBase);","import { Box, IconButton, Tooltip } from \"@material-ui/core\";\nimport EditIcon from '@material-ui/icons/Edit';\nimport ErrorIcon from '@material-ui/icons/Error';\nimport WarningIcon from '@material-ui/icons/Warning';\nimport clsx from 'clsx';\nimport React from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { InputModel, LabInputNotificationType } from \"../../models/input.models\";\nimport { useStyles, WildHealthTextField } from \"./inputComponent.styles\";\n\ninterface InputComponentProps extends IErrorState {\n input: InputModel;\n label: string;\n handleChanges: Function;\n handleEdit: Function;\n}\n\nexport const InputComponent: React.FC<InputComponentProps> = (props: InputComponentProps) => {\n const {\n input,\n label,\n errors,\n handleChanges,\n handleEdit\n } = props;\n\n const classes = useStyles();\n\n const isDisabled = (input: InputModel): boolean => {\n return !input.isInitialized ? false : !input.editable;\n }\n\n const getValue = (input: InputModel) => (!input.isInitialized) ? '' : input.value;\n\n const processValue = (value: string): number | null => value.length ? Number(value) : null;\n\n const textFieldClasses = clsx(\n input.isChanged ? 'modified' : input.isInitialized ? 'initialized' : '',\n errors[input.name] ? 'error' : ''\n );\n\n return (\n <Box m={1}>\n <Box\n display=\"flex\"\n alignItems=\"flex-top\"\n justifyContent=\"space-between\"\n >\n <Box className={classes.label}>\n {label}\n </Box>\n <Box mb={1}>\n {\n input.isInitialized &&\n <IconButton\n id={`input-${input.id}`}\n size=\"small\"\n className=\"icon-button\"\n onClick={() => handleEdit(input)}\n disabled={!input.isInitialized}\n >\n <EditIcon/>\n </IconButton>\n }\n </Box>\n </Box>\n <WildHealthTextField\n fullWidth\n type=\"number\"\n id={input.name}\n value={getValue(input)}\n error={!!errors[input.name]}\n disabled={isDisabled(input)}\n className={textFieldClasses}\n onChange={(v) => handleChanges(input, processValue(v.target.value))}\n />\n <Box display=\"flex\" alignItems=\"flex-top\" mt={1}>\n <Box>\n <Tooltip title={input.notification ? input.notification.message : ''}>\n {\n input.notification?.notificationType === LabInputNotificationType.Error ?\n <ErrorIcon style={{color: \"red\"}}/> :\n input.notification?.notificationType === LabInputNotificationType.Warning ?\n <WarningIcon style={{color: \"#ffc02b\"}}/> : <></>\n }\n </Tooltip>\n </Box>\n <Box className={clsx(classes.message, classes.errorMessage)}>\n {errors[input.name] ?? ' '}\n </Box>\n </Box>\n </Box>\n );\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {rangeValidationRule} from \"../../../common/validation/general-validation-rules\";\nimport {MicrobiomeInputNames} from \"../../constants/inputs.constants\";\n\nexport const microbiomeInputsComponentValidator = new GeneralValidator({\n [MicrobiomeInputNames.InflammationScore]: [rangeValidationRule(0, 100, \"Value should be in range [0..100].\")],\n [MicrobiomeInputNames.DiversityScore]: [rangeValidationRule(0, 100, \"Value should be in range [0..100].\")],\n});","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {InputModel, MicrobiomeInputModel} from \"../../models/input.models\";\nimport {inputsQuery} from \"../../stores/inputsStore\";\nimport {inputsService} from \"../../services/inputs.service\";\nimport {microbiomeInputsComponentValidator} from \"./microbiomeInputsComponent.validator\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\n\ninterface MicrobiomeInputsComponentState extends IErrorState{\n inputs: MicrobiomeInputModel[];\n isLoading: boolean;\n isChanged: boolean;\n}\n\nexport function useFacade(patientId: number): [MicrobiomeInputsComponentState, Function, Function, Function] {\n const [state, setState] = useState({\n inputs: [],\n isLoading: true,\n isChanged: false,\n errors: {}\n } as MicrobiomeInputsComponentState);\n\n const validateInput = (name: string, value: number | null) => {\n const error = microbiomeInputsComponentValidator.validate(name, value?.toString());\n error\n ? setState({...state, errors: GeneralValidator.addError(state, name, error)})\n : setState({...state, errors: GeneralValidator.removeError(state, name)});\n }\n\n const validateForm = () => {\n state.inputs.forEach(input => {\n const name = input.name;\n const value = input.value;\n validateInput(name, value);\n });\n }\n\n const handleEdit = (input: InputModel) => {\n input.editable = !input.editable;\n setState({...state});\n }\n\n const handleChanges = (input: InputModel, value: number) => {\n validateInput(input.name, value);\n\n if (input.value !== value || (value === 0 && input.isInitialized === false)) {\n input.isChanged = true;\n input.editable = true;\n }\n\n if (value === null) {\n input.isInitialized = false;\n input.value = 0;\n } else {\n input.value = value;\n input.isInitialized = true;\n }\n\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleSubmit = () => {\n validateForm();\n if (!microbiomeInputsComponentValidator.stateIsValid(state)) {\n return;\n }\n\n inputsService.updateMicrobiomeInputs(state.inputs, patientId).subscribe(() => setState(state => ({...state, isChanged: false})));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<MicrobiomeInputModel[]>(inputsQuery.microbiomeInputs$, inputs => {\n setState(state => ({...state, inputs}));\n })\n ];\n\n inputsService.getMicrobiomeInputs(patientId).subscribe(() => setState(state => ({...state, isLoading: false})));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleEdit, handleChanges, handleSubmit];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n maWidth: 600,\n minWidth: 200,\n [theme.breakpoints.down('sm')]: {\n maWidth: 300,\n },\n },\n action: {\n width: 585,\n [theme.breakpoints.down('sm')]: {\n width: 250,\n },\n },\n })\n);\n","import { Box, Grid } from '@material-ui/core';\nimport React from 'react';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { MicrobiomeInputNames } from \"../../constants/inputs.constants\";\nimport { InputComponent } from \"../inputComponent/InputComponent\";\nimport { InputsComponentProps } from \"../inputsComponentProps\";\nimport { useFacade } from \"./microbiomeInputsComponent.hooks\";\nimport { useStyles } from \"./microbiomeInputsComponent.styles\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const MicrobiomeInputsComponent: React.FC<InputsComponentProps> = (props: InputsComponentProps) => {\n const { patientId } = props;\n const classes = useStyles();\n\n const [\n {\n inputs,\n isLoading,\n isChanged,\n errors\n },\n handleEdit,\n handleChanges,\n handleSubmit\n ] = useFacade(patientId);\n\n if (isLoading || !inputs || !inputs.length) {\n return <WildHealthLinearProgress />;\n }\n\n const inflammation = inputs.find(x => x.name === MicrobiomeInputNames.InflammationScore);\n const diversity = inputs.find(x => x.name === MicrobiomeInputNames.DiversityScore);\n\n return (\n <Box p={5}>\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"flex-start\"\n className={classes.content}\n >\n <InputComponent\n key={inflammation.id}\n label=\"Inflammation Score\"\n errors={errors}\n input={inflammation}\n handleChanges={handleChanges}\n handleEdit={handleEdit}\n />\n\n <InputComponent\n key={diversity.id}\n label=\"Diversity Score\"\n errors={errors}\n input={diversity}\n handleChanges={handleChanges}\n handleEdit={handleEdit}\n />\n </Grid>\n\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"flex-start\"\n className={classes.content}\n >\n {\n isChanged &&\n <Box mt={5} m={1} display=\"flex\" justifyContent=\"flex-end\" className={classes.action}>\n <ProtectedElement\n element=\n {<WildHealthButton\n id=\"microbiome-inputs-save\"\n onClick={() => handleSubmit()}\n disabled={!isChanged}\n >\n Save Changes\n </WildHealthButton>}\n permissions={[PermissionType.LabsModification]}\n />\n </Box>\n }\n </Grid>\n </Box>\n );\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: '1.6rem',\n fontWeight: 500,\n lineHeight: 1.18,\n letterSpacing: 0.17,\n color: '#292929 !important'\n },\n inProgress: {\n background: '#00000000',\n margin: '6px 8px',\n },\n })\n);\n","import { Box, Button, ButtonGroup } from '@material-ui/core';\nimport ArrowBackIosRoundedIcon from \"@material-ui/icons/ArrowBackIosRounded\";\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { SelectShortcutComponent } from '../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent';\nimport { useStyles } from './createNote.styles';\n\nexport interface CreateNoteProps {\n isLoading: boolean;\n noteName: string;\n children: JSX.Element | JSX.Element[];\n handleGoBack: (boolean?) => void;\n goBackTitle: string;\n titleTextBox?: JSX.Element;\n}\n\nexport const CreateNote: React.FC<CreateNoteProps> = (props: CreateNoteProps) => {\n const {\n isLoading,\n noteName,\n children,\n handleGoBack,\n goBackTitle,\n titleTextBox\n } = props;\n\n const classes = useStyles();\n\n if (isLoading) {\n return (\n <WildHealthLinearProgress />\n );\n }\n\n return (\n <>\n <Box display=\"flex\" alignItems=\"center\">\n <ButtonGroup\n size=\"large\"\n variant=\"text\"\n color=\"default\"\n aria-label=\"large outlined primary button group\"\n >\n <Button\n id=\"create-note-go-back\"\n onClick={() => handleGoBack()}\n startIcon={<ArrowBackIosRoundedIcon />}\n >\n {goBackTitle}\n </Button>\n <Button disabled className={classes.title}>\n {noteName}\n </Button>\n </ButtonGroup>\n {titleTextBox}\n </Box>\n\n <Box>\n {children}\n\n <SelectShortcutComponent />\n </Box>\n </>\n );\n}\n","import { notWhitespaceValidationRule, stringLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport class MedicationComponentFieldNames {\n static readonly itemName: string = 'name';\n static readonly dosage: string = 'dosage';\n static readonly instructions: string = 'instructions';\n static readonly startDate: string = 'startDate';\n}\n\nexport const medicationComponentValidator = new GeneralValidator({\n [MedicationComponentFieldNames.itemName]: [stringLengthValidationRule(1, 250), notWhitespaceValidationRule()],\n [MedicationComponentFieldNames.dosage]: [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n [MedicationComponentFieldNames.instructions]: [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n});\n","import { useEffect, useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { MedicationItem } from \"../../../notes/models/notes.models\";\nimport { MedicationComponentProps } from \"./medicationComponent.props\";\nimport { medicationComponentValidator } from \"./medicationComponent.validator\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\n\ninterface MedicationComponentState extends IErrorState {\n model: MedicationItem;\n}\n\nconst initModel = () => ({\n id: 0,\n name: '',\n dosage: '',\n instructions: '',\n startDate: new Date(),\n isInCurrent: false,\n isStopped: false,\n});\n\nexport function useFacade(props: MedicationComponentProps): [\n MedicationComponentState,\n (field: string, value: any) => void,\n () => void,\n () => void,\n] {\n\n const [state, setState] = useState({\n model: Object.assign({}, initModel()),\n errors: {}\n } as MedicationComponentState);\n\n const handleChanges = (field: string, value: any) => {\n medicationComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = state.model;\n model[field] = value;\n\n setState({\n ...state,\n model: model\n });\n }\n\n const handleSubmit = () => {\n medicationComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!medicationComponentValidator.stateIsValid(state)) {\n return;\n }\n\n const model = {...state.model};\n model.startDate = toCurrentTimeZone(state.model.startDate)\n\n props.handleSave(model);\n handleClose();\n }\n\n const handleClose = () => {\n props.handleClose();\n }\n\n useEffect(() => {\n if (!props.isOpened) {\n setState(state => ({...state, model: {...state.model, ...Object.assign({}, props.initModel)}, errors: {}}));\n }\n \n return () => {};\n }, [props.isOpened, props.initModel]);\n\n return [\n state,\n handleChanges,\n handleClose,\n handleSubmit\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n margin: 0,\n padding: theme.spacing(2),\n },\n field: {\n width: 250,\n margin: 5,\n },\n }),\n);\n","import React from 'react';\nimport { Box, Dialog, DialogActions, DialogContent, Grid, TextField, Typography } from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport moment from \"moment\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./medicationComponent.hooks\";\nimport { useStyles } from \"./medicationComponent.styles\";\nimport { MedicationComponentFieldNames } from \"./medicationComponent.validator\";\nimport { MedicationComponentProps } from \"./medicationComponent.props\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\n\nexport const MedicationAddNewDialogComponent: React.FC<MedicationComponentProps> = (props: MedicationComponentProps) => {\n const {\n isOpened,\n } = props;\n\n const classes = useStyles();\n const [\n {\n model,\n errors,\n },\n handleChange,\n handleClose,\n handleSubmit,\n ] = useFacade(props);\n\n const getDate = (date) => {\n return date\n ? moment(toCurrentTimeZone(date)).format('YYYY-MM-DD')\n : new Date()\n }\n\n return (\n <Dialog\n onClose={() => handleClose()}\n open={isOpened}\n >\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Typography variant=\"h6\">New Medication</Typography>\n </Grid>\n </MuiDialogTitle>\n\n <DialogContent dividers>\n <Box mb={1} display=\"flex\" flexDirection=\"column\">\n <TextField\n required\n fullWidth\n size=\"small\"\n label=\"Name\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors[MedicationComponentFieldNames.itemName]}\n helperText={errors[MedicationComponentFieldNames.itemName]}\n onChange={(event) => handleChange(MedicationComponentFieldNames.itemName, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Strength\"\n variant=\"outlined\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors[MedicationComponentFieldNames.dosage]}\n helperText={errors[MedicationComponentFieldNames.dosage]}\n onChange={(event) => handleChange(MedicationComponentFieldNames.dosage, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Dosing Instructions\"\n variant=\"outlined\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors[MedicationComponentFieldNames.instructions]}\n helperText={errors[MedicationComponentFieldNames.instructions]}\n onChange={(event) => handleChange(MedicationComponentFieldNames.instructions, event.target.value)}\n />\n <Box width={1} p={0.5}>\n <WildHealthDatePicker\n id={`start-date`}\n fullWidth\n label=\"Start Date\"\n size=\"small\"\n placeholder=\"yyyy-mm-dd\"\n openTo=\"date\"\n format=\"MM/DD/yyyy\"\n value={getDate(model.startDate)}\n error={!!errors[`startDate`]}\n helperText={errors[`startDate`]}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleChange(MedicationComponentFieldNames.startDate, momentDate)}\n />\n </Box>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <WildHealthButton\n id=\"medication-add-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n >\n Cancel\n </WildHealthButton>\n <WildHealthButton\n id=\"medication-add-create\"\n onClick={() => handleSubmit()}\n autoFocus\n >\n Create\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n );\n}\n","import React from 'react';\nimport { Box, Dialog, DialogActions, DialogContent, Grid, TextField, Typography } from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport moment from \"moment\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./medicationComponent.hooks\";\nimport { useStyles } from \"./medicationComponent.styles\";\nimport { MedicationComponentFieldNames } from \"./medicationComponent.validator\";\nimport { MedicationComponentProps } from \"./medicationComponent.props\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\nexport const MedicationEditDialogComponent: React.FC<MedicationComponentProps> = (props: MedicationComponentProps) => {\n const {\n isOpened,\n } = props;\n\n const classes = useStyles();\n const [\n {\n model,\n errors,\n },\n handleChanges,\n handleClose,\n handleSubmit,\n ] = useFacade(props);\n\n const getDate = (date) => {\n return date\n ? moment(toCurrentTimeZone(date)).format('YYYY-MM-DD')\n : new Date()\n }\n\n return (\n <Dialog\n onClose={() => handleClose()}\n open={isOpened}\n >\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Typography variant=\"h6\">Edit Medication</Typography>\n </Grid>\n </MuiDialogTitle>\n\n <DialogContent dividers>\n <Box mb={1} display=\"flex\" flexDirection=\"column\">\n <TextField\n required\n fullWidth\n size=\"small\"\n label=\"Name\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors[MedicationComponentFieldNames.itemName]}\n helperText={errors[MedicationComponentFieldNames.itemName]}\n onChange={(event) => handleChanges(MedicationComponentFieldNames.itemName, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Strength\"\n variant=\"outlined\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors[MedicationComponentFieldNames.dosage]}\n helperText={errors[MedicationComponentFieldNames.dosage]}\n onChange={(event) => handleChanges(MedicationComponentFieldNames.dosage, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Dosing Instructions\"\n variant=\"outlined\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors[MedicationComponentFieldNames.instructions]}\n helperText={errors[MedicationComponentFieldNames.instructions]}\n onChange={(event) => handleChanges(MedicationComponentFieldNames.instructions, event.target.value)}\n />\n <Box width={1} p={0.5}>\n <WildHealthDatePicker\n id={`start-date`}\n fullWidth\n label=\"Start Date\"\n size=\"small\"\n placeholder=\"yyyy-mm-dd\"\n openTo=\"date\"\n format=\"MM/DD/yyyy\"\n value={getDate(model.startDate)}\n error={!!errors[`startDate`]}\n helperText={errors[`startDate`]}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleChanges(MedicationComponentFieldNames.startDate, momentDate)}\n />\n </Box>\n </Box>\n </DialogContent>\n\n <DialogActions>\n <WildHealthButton\n id=\"medication-edit-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n >\n Cancel\n </WildHealthButton>\n <WildHealthButton\n id=\"medication-edit\"\n onClick={() => handleSubmit()}\n autoFocus\n >\n Edit\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n );\n}\n","import React from \"react\";\nimport { Box, IconButton, Popover, Table, TableBody, TableContainer, TableFooter, TableHead } from \"@material-ui/core\";\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport { Add } from \"@material-ui/icons\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { useFacade } from './medicationsComponent.hooks';\nimport { MedicationAddNewDialogComponent } from '../MedicationsEditDialogComponent/MedicationAddNewDialogComponent';\nimport { MedicationEditDialogComponent } from '../MedicationsEditDialogComponent/MedicationEditDialogComponent';\nimport { MedicationItem } from \"../../../notes/models/notes.models\";\nimport { WildHealthMenuItem } from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\n\ninterface MedicationsComponentProps {\n items: MedicationItem[];\n handleAddMedications: (medication: MedicationItem) => void;\n handleEditMedications: (medication: MedicationItem) => void;\n handleRemoveMedications: (id: number) => void;\n}\n\nexport const MedicationsComponent: React.FC<MedicationsComponentProps> = (props: MedicationsComponentProps) => {\n const {\n items,\n handleAddMedications,\n handleEditMedications,\n handleRemoveMedications,\n } = props;\n\n const [\n {\n isMenuOpened,\n isAddNewOpened,\n isEditorOpened,\n anchorEl,\n selectedId,\n },\n handleAddNewToggle,\n handleEditToggle,\n handleToggleActions,\n ] = useFacade();\n\n const classes = commonUseStyles();\n\n const selectedItem = items.find(i => i.id === selectedId);\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>\n Name\n </WildHealthTableCell>\n <WildHealthTableCell>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell>\n Start Date\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '20%' }}></WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {item.isStopped ? <s>{item.name}</s> : item.name}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.dosage}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.instructions}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {displayDataValue(item.startDate)}\n </WildHealthTableCell>\n <WildHealthTableCell>\n <IconButton\n id=\"medications-more-actions\"\n size=\"small\"\n onClick={(e) => handleToggleActions(item.id, e.currentTarget)}\n >\n <MoreHorizIcon />\n </IconButton>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n <TableFooter>\n <Box display='flex' alignItems='stretch' py={1}>\n <Box onClick={() => handleAddNewToggle(true)}>\n <Add className={clsx(classes.colorMain, classes.backgroundGray3, classes.pointer)} />\n </Box>\n <Box className={classes.colorMain} ml={2}>\n <span>Add Medication</span>\n </Box>\n </Box>\n </TableFooter>\n </Table>\n </TableContainer>\n\n <Popover\n keepMounted\n anchorEl={anchorEl}\n open={isMenuOpened}\n onClose={() => handleToggleActions()}\n getContentAnchorEl={null}\n >\n <WildHealthMenuItem id=\"medications-edit\" onClick={() => handleEditToggle(true)}>\n Edit\n </WildHealthMenuItem>\n <WildHealthMenuItem id=\"medications-delete\" onClick={() => { handleRemoveMedications(selectedId); handleToggleActions(0); }}>\n Delete\n </WildHealthMenuItem>\n </Popover>\n\n <MedicationAddNewDialogComponent\n isOpened={isAddNewOpened}\n initModel={{\n id: 0,\n name: '',\n dosage: '',\n instructions: '',\n startDate: new Date(),\n isInCurrent: false,\n isStopped: false,\n source: null\n }}\n handleSave={handleAddMedications}\n handleClose={() => handleAddNewToggle(false)}\n />\n <MedicationEditDialogComponent\n isOpened={isEditorOpened}\n initModel={selectedItem}\n handleSave={handleEditMedications}\n handleClose={() => handleEditToggle(false)}\n />\n </Box>\n )\n}\n","import { useState } from \"react\";\n\ninterface MedicationsComponentState {\n isMenuOpened: boolean;\n isAddNewOpened: boolean;\n isEditorOpened: boolean;\n selectedId: number;\n anchorEl: any;\n}\n\nexport function useFacade(): [\n MedicationsComponentState,\n (isOpen: boolean) => void,\n (isOpen: boolean) => void,\n (id?: number, anchorEl?: Element) => void\n] {\n const [state, setState] = useState({\n isMenuOpened: false,\n isAddNewOpened: false,\n isEditorOpened: false,\n selectedId: 0,\n anchorEl: null,\n } as MedicationsComponentState);\n\n const handleAddNewToggle = (isOpen: boolean) => {\n setState(state => ({...state, isAddNewOpened: isOpen}));\n }\n\n const handleEditToggle = (isOpen: boolean) => {\n setState(state => ({\n ...state,\n isEditorOpened: isOpen,\n isMenuOpened: false\n }));\n }\n\n const handleToggleActions = (id?: number, anchorEl?: Element) => {\n setState(state => ({\n ...state,\n isMenuOpened: !state.isMenuOpened,\n selectedId: id ?? state.selectedId,\n anchorEl: anchorEl\n }))\n }\n\n return [\n state,\n handleAddNewToggle,\n handleEditToggle,\n handleToggleActions\n ];\n}","import { Box, Switch, Table, TableBody, TableContainer, TableHead } from \"@material-ui/core\";\nimport React from \"react\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { MedicationItem } from \"../../../notes/models/notes.models\";\n\ninterface MedicationsDCComponentProps {\n items: MedicationItem[];\n handleMedicationsIsStoppedChange: (id: number, isChecked: boolean) => void;\n}\n\nexport const MedicationsDCComponent: React.FC<MedicationsDCComponentProps> = (props: MedicationsDCComponentProps) => {\n const {\n items,\n handleMedicationsIsStoppedChange,\n } = props;\n\n if (!items || !items.length) {\n return (\n <Box m={1}>\n <WildHealthPlaceHolder message=\"No data\"/>\n </Box>\n );\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>\n Name\n </WildHealthTableCell>\n <WildHealthTableCell>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{width: '20%'}}>\n D/C\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {item.isStopped ? <s>{item.name}</s> : item.name}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.dosage}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.instructions}\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box minHeight='30px'>\n <Switch\n size=\"small\"\n color=\"primary\"\n name=\"checkedB\"\n checked={item.isStopped}\n inputProps={{ 'aria-label': 'primary checkbox' }}\n onChange={(e) => handleMedicationsIsStoppedChange(item.id, e.target.checked)}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n}\n","import {Box, Switch, Table, TableBody, TableContainer, TableHead} from \"@material-ui/core\";\nimport React from \"react\";\nimport {WildHealthExternalLinkButton} from \"../../../common/components/WildHealthLinkButton\";\nimport {WildHealthPlaceHolder} from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport {WildHealthTableCell} from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport {WildHealthTableRow} from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport {SupplementItem} from \"../../../notes/models/notes.models\";\nimport {SupplementSource, supplementSources} from \"../../models/patientSupplementModel\";\n\ninterface SupplementsDCComponentProps {\n items: SupplementItem[];\n handleMedicationsIsStoppedChange: (id: number, isChecked: boolean) => void;\n}\n\nexport const SupplementsDCComponent: React.FC<SupplementsDCComponentProps> = (props: SupplementsDCComponentProps) => {\n const {\n items,\n handleMedicationsIsStoppedChange,\n } = props;\n\n if (!items || !items.length) {\n return (\n <Box m={1}>\n <WildHealthPlaceHolder message=\"No data\"/>\n </Box>\n );\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>\n Name\n </WildHealthTableCell>\n <WildHealthTableCell>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell>\n Source\n </WildHealthTableCell>\n <WildHealthTableCell>\n Purchase Link\n </WildHealthTableCell>\n <WildHealthTableCell style={{width: '20%'}}>\n D/C\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {item.isStopped ? <s>{item.name}</s> : item.name}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.dosage}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.instructions}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {supplementSources.get(item.source ?? SupplementSource.Supplement)}\n </WildHealthTableCell>\n <WildHealthTableCell>\n <WildHealthExternalLinkButton id={`supplements-dcc-link-purchase-${item.id}`} link={item.purchaseLink}/>\n </WildHealthTableCell>\n <WildHealthTableCell style={{width: '20%'}}>\n <Box minHeight='30px'>\n <Switch\n size=\"small\"\n color=\"primary\"\n name=\"checkedB\"\n checked={item.isStopped}\n inputProps={{ 'aria-label': 'primary checkbox' }}\n onChange={(e) => handleMedicationsIsStoppedChange(item.id, e.target.checked)}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n}\n","import { notWhitespaceValidationRule, stringLengthValidationRule, linkValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport class SupplementComponentFieldNames {\n static readonly itemName: string = 'name';\n static readonly dosage: string = 'dosage';\n static readonly instructions: string = 'instructions';\n static readonly purchaseLink: string = 'purchaseLink';\n}\n\nexport const supplementComponentValidator = new GeneralValidator({\n [SupplementComponentFieldNames.itemName]: [stringLengthValidationRule(1, 250), notWhitespaceValidationRule()],\n [SupplementComponentFieldNames.dosage]: [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n [SupplementComponentFieldNames.instructions]: [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n [SupplementComponentFieldNames.purchaseLink]: [stringLengthValidationRule(0, 1000), notWhitespaceValidationRule(), linkValidationRule]\n});\n","import { useEffect, useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { SupplementItem } from \"../../../notes/models/notes.models\";\nimport { SupplementComponentProps } from \"./supplementComponent.props\";\nimport { supplementComponentValidator } from \"./supplementComponent.validator\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {defaultDosage} from \"../../constants/medicationsAndSupplementsContants\";\n\ninterface SupplementComponentState extends IErrorState {\n model: SupplementItem;\n}\n\nconst initModel = () => ({\n id: 0,\n name: '',\n dosage: '',\n instructions: authQuery.isEmployeeUser() ? defaultDosage : '',\n purchaseLink: '',\n isInCurrent: false,\n isStopped: false,\n});\n\nexport function useFacade(props: SupplementComponentProps): [\n SupplementComponentState,\n (field: string, value: string) => void,\n () => void,\n () => void,\n] {\n\n const [state, setState] = useState({\n model: Object.assign({}, initModel()),\n errors: {}\n } as SupplementComponentState);\n\n const handleChange = (field: string, value: string) => {\n supplementComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = state.model;\n model[field] = value;\n\n setState({\n ...state,\n model: model\n });\n }\n\n const handleSubmit = () => {\n supplementComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!supplementComponentValidator.stateIsValid(state)) {\n return;\n }\n\n props.handleSave(state.model);\n handleClose();\n }\n\n const handleClose = () => {\n props.handleClose();\n }\n\n useEffect(() => {\n if (!props.isOpened) {\n setState(state => ({...state, model: {...state.model, ...Object.assign({}, props.initModel)}, errors: {}}));\n }\n\n return () => {};\n }, [props.isOpened, props.initModel]);\n\n return [\n state,\n handleChange,\n handleClose,\n handleSubmit\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n margin: 0,\n padding: theme.spacing(2),\n },\n field: {\n width: 250,\n margin: 5,\n },\n }),\n);\n","import { Box, Dialog, DialogActions, DialogContent, Grid, TextField, Typography } from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./supplementComponent.hooks\";\nimport { useStyles } from \"./supplementComponent.styles\";\nimport { SupplementComponentFieldNames } from \"./supplementComponent.validator\";\nimport { SupplementComponentProps } from \"./supplementComponent.props\";\n\n\nexport const SupplementAddNewDialogComponent: React.FC<SupplementComponentProps> = (props: SupplementComponentProps) => {\n const {\n isOpened,\n } = props;\n\n const classes = useStyles();\n const [\n {\n model,\n errors,\n },\n handleChange,\n handleClose,\n handleSubmit,\n ] = useFacade(props);\n\n return (\n <Dialog\n onClose={() => handleClose()}\n open={isOpened}\n >\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Typography variant=\"h6\">New Supplement</Typography>\n </Grid>\n </MuiDialogTitle>\n\n <DialogContent dividers>\n <Box mb={1} display=\"flex\" flexDirection=\"column\">\n <TextField\n required\n fullWidth\n size=\"small\"\n label=\"Name\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.itemName]}\n helperText={errors[SupplementComponentFieldNames.itemName]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.itemName, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Strength\"\n variant=\"outlined\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.dosage]}\n helperText={errors[SupplementComponentFieldNames.dosage]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.dosage, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Dosing Instructions\"\n variant=\"outlined\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.instructions]}\n helperText={errors[SupplementComponentFieldNames.instructions]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.instructions, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Purchase Link\"\n variant=\"outlined\"\n value={model.purchaseLink}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.purchaseLink]}\n helperText={errors[SupplementComponentFieldNames.purchaseLink]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.purchaseLink, event.target.value)}\n />\n </Box>\n </DialogContent>\n\n <DialogActions>\n <WildHealthButton\n id=\"supplements-add-new-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n >\n Cancel\n </WildHealthButton>\n <WildHealthButton\n id=\"supplements-add-new-create\"\n onClick={() => handleSubmit()}\n autoFocus\n >\n Create\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n );\n}\n","import { Box, Dialog, DialogActions, DialogContent, Grid, TextField, Typography } from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./supplementComponent.hooks\";\nimport { useStyles } from \"./supplementComponent.styles\";\nimport { SupplementComponentFieldNames } from \"./supplementComponent.validator\";\nimport { SupplementComponentProps } from \"./supplementComponent.props\";\n\nexport const SupplementEditDialogComponent: React.FC<SupplementComponentProps> = (props: SupplementComponentProps) => {\n const {\n isOpened,\n } = props;\n\n const classes = useStyles();\n const [\n {\n model,\n errors,\n },\n handleChange,\n handleClose,\n handleSubmit,\n ] = useFacade(props);\n\n return (\n <Dialog\n onClose={() => handleClose()}\n open={isOpened}\n >\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Grid\n container\n direction=\"row\"\n justify=\"center\"\n alignItems=\"center\"\n >\n <Typography variant=\"h6\">Edit Supplement</Typography>\n </Grid>\n </MuiDialogTitle>\n\n <DialogContent dividers>\n <Box mb={1} display=\"flex\" flexDirection=\"column\">\n <TextField\n required\n fullWidth\n size=\"small\"\n label=\"Name\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.itemName]}\n helperText={errors[SupplementComponentFieldNames.itemName]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.itemName, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Strength\"\n variant=\"outlined\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.dosage]}\n helperText={errors[SupplementComponentFieldNames.dosage]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.dosage, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Dosing Instructions\"\n variant=\"outlined\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.instructions]}\n helperText={errors[SupplementComponentFieldNames.instructions]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.instructions, event.target.value)}\n />\n <TextField\n fullWidth\n size=\"small\"\n label=\"Purchase Link\"\n variant=\"outlined\"\n value={model.purchaseLink}\n className={clsx(classes.field, 'input')}\n error={!!errors[SupplementComponentFieldNames.purchaseLink]}\n helperText={errors[SupplementComponentFieldNames.purchaseLink]}\n onChange={(event) => handleChange(SupplementComponentFieldNames.purchaseLink, event.target.value)}\n />\n </Box>\n </DialogContent>\n\n <DialogActions>\n <WildHealthButton\n id=\"supplements-edit-cancel\"\n onClick={() => handleClose()}\n color=\"tertiary\"\n >\n Cancel\n </WildHealthButton>\n <WildHealthButton\n id=\"supplements-edit-submit\"\n onClick={() => handleSubmit()}\n autoFocus\n >\n Edit\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n );\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '55px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16\n },\n height: '75vh'\n },\n iframe: {\n height: '70vh'\n },\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"space-between\",\n alignItems: \"center\",\n margin: 0,\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(5),\n paddingTop: theme.spacing(4),\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n action: {\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(2.5),\n },\n select: {\n width: 510,\n margin: 5,\n },\n field: {\n width: 468,\n margin: 5,\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n },\n role: {\n width: 140,\n },\n permission: {\n width: 250,\n },\n permissionCheck: {\n color: colors.main,\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n },\n }),\n);\n","import {useEffect, useState} from \"react\";\nimport {ExternalAuthProvider} from \"../../../auth/models/auth.enums\";\nimport {ExternalAuthorizationProviderModel} from \"../../../auth/models/auth.models\";\nimport {Client} from \"@fullscript/fullscript-js/dist/client\";\nimport {patientStore} from \"../../../patients/stores/patientsStore\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {authService} from \"../../../auth/services/auth.service\";\nimport {thirdPartyIntegrationService} from \"../../../auth/services/thirdPartyIntegration.service\";\nimport {EventListenerPayload, Fullscript} from \"@fullscript/fullscript-js\";\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {useHistory} from \"react-router\";\nimport {Feature} from \"@fullscript/fullscript-js/dist/feature\";\nimport {supplementsService} from \"../../services/supplements.service\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\n\ninterface RecommendFullscriptSupplementsComponentState {\n isLoading: boolean;\n patient: PatientModel;\n provider: ExternalAuthorizationProviderModel;\n client: Client;\n feature: Feature;\n}\n\nlet stateContext: RecommendFullscriptSupplementsComponentState;\n\nexport function useFacade(patientId: number, isOpen: boolean, onOrdered?: (supplements: FullscriptSupplementModel[]) => void): [\n RecommendFullscriptSupplementsComponentState\n] {\n const history = useHistory();\n const [state, setState] = useState({\n isLoading: true,\n patient: null,\n provider: null,\n externalAuth: null,\n client: null,\n feature: null\n } as RecommendFullscriptSupplementsComponentState);\n\n stateContext = state;\n\n const handleTreatmentPlanActivated = (payload: EventListenerPayload<\"treatmentPlan.activated\">) => {\n supplementsService.byTreatmentPlan(payload.data.treatmentPlan.id).subscribe(supplements => {\n if (onOrdered) {\n supplements.forEach(x => {\n x.date = new Date();\n });\n\n onOrdered(supplements);\n }\n })\n };\n\n const initClient = (patient: PatientModel, sessionToken: string, provider: ExternalAuthorizationProviderModel) => {\n const env = provider.baseUrl.includes('snd')\n ? \"us-snd\"\n : \"us\";\n\n const fullscriptClient = Fullscript({\n publicKey: provider.publicKey,\n env: env\n });\n\n const feature = fullscriptClient.create(\"treatmentPlan\", {\n secretToken: sessionToken,\n patient: {\n id: patient.universalId,\n firstName: patient.firstName,\n lastName: patient.lastName,\n email: patient.email,\n }\n });\n\n feature.mount(\"treatment-plan-container\").then();\n feature.on(\"treatmentPlan.activated\", handleTreatmentPlanActivated);\n\n setState(state => ({\n ...state,\n isLoading: false,\n patient: patient,\n provider: provider,\n client: fullscriptClient,\n feature: feature\n }));\n }\n\n useEffect(() => {\n if (!isOpen) {\n stateContext?.feature?.off(\"treatmentPlan.activated\", handleTreatmentPlanActivated);\n\n setState(state => ({\n ...state,\n isLoading: true,\n patient: null,\n provider: null,\n client: null,\n feature: null\n }));\n } else {\n thirdPartyIntegrationService.getSessionToken(ExternalAuthProvider.fullscript).subscribe(\n sessionToken => {\n if (sessionToken && sessionToken.length) {\n authService.getExternalAuthorizationProviders().subscribe(providers => {\n const provider = providers?.find(x => x.provider === ExternalAuthProvider.fullscript);\n const patient = patientStore.getValue().targetPatient;\n\n initClient(patient, sessionToken, provider);\n });\n } else {\n navigationService.toThirdPartyIntegrationLoginPage(history, ExternalAuthProvider.fullscript);\n }\n },\n () => {\n navigationService.toThirdPartyIntegrationLoginPage(history, ExternalAuthProvider.fullscript);\n }\n );\n }\n\n return () => {};\n }, [patientId, isOpen]);\n\n return [\n state\n ];\n}","import Axios from 'axios-observable';\nimport {Observable} from \"rxjs\";\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {ExternalAuthModel, LoginWithAuth2Model} from '../models/auth.models';\nimport {AuthStore, authStore} from '../stores/auth';\nimport {ExternalAuthProvider} from '../models/auth.enums';\n\n/**\n * Provides method for working with third party integrations\n */\nexport class ThirdPartyIntegrationService {\n private url = `${process.env.REACT_APP_API_URL}ThirdPartyIntegration/`;\n\n constructor(private authStore: AuthStore) {\n }\n\n public get(provider: ExternalAuthProvider): Observable<ExternalAuthModel> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.get<ExternalAuthModel>(`${this.url}?provider=${provider}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.authStore.addExternalAuth(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getSessionToken(provider: ExternalAuthProvider): Observable<string> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.get<string>(`${this.url}/sessionToken?provider=${provider}`, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public create(model: LoginWithAuth2Model): Observable<ExternalAuthModel> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post<ExternalAuthModel>(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n this.authStore.addExternalAuth(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public refresh(id: number): Observable<ExternalAuthModel> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post<ExternalAuthModel>(`${this.url}${id}/refresh`, null, config)\n .pipe()\n .subscribe(\n (response) => {\n this.authStore.addExternalAuth(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public fullscript(): Observable<ExternalAuthModel> {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.get<ExternalAuthModel>(`${this.url}/Fullscript`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.authStore.addExternalAuth(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const thirdPartyIntegrationService = new ThirdPartyIntegrationService(authStore);\n","import {\n Box, IconButton, Dialog, DialogActions, DialogContent, Typography,\n Button, useMediaQuery, useTheme,\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport Cancel from \"@img/icons/cancel.svg\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {useStyles} from \"./recommendFullscriptSupplementsComponent.styles\";\nimport {useFacade} from \"./recommendFullscriptSupplementsComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\n\nexport interface RecommendFullscriptSupplementsComponentProps {\n open: boolean;\n handleClose: () => void;\n onOrdered?: (supplements: FullscriptSupplementModel[]) => void;\n patientId?: number;\n}\n\nexport const RecommendFullscriptSupplementsComponent: React.FC<RecommendFullscriptSupplementsComponentProps> = (props: RecommendFullscriptSupplementsComponentProps) => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const {\n open,\n handleClose,\n patientId\n } = props;\n\n const [\n {\n isLoading\n }\n ] = useFacade(patientId, open, props.onOrdered);\n\n return (\n <>\n <Dialog\n maxWidth=\"md\"\n fullWidth\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleClose()}\n open={open}\n >\n {\n !isSmallScreen &&\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Typography variant=\"h6\">Recommend Fullscript Supplements</Typography>\n <Box pl={1} pr={1}>\n <IconButton id=\"patient-supplements-update-close\" onClick={() => {\n handleClose()\n }} >\n <img src={Cancel} alt='Cancel' />\n </IconButton>\n </Box>\n\n </MuiDialogTitle>\n }\n <DialogContent className={classes.dialogContent}>\n {\n isSmallScreen &&\n <Box py={1} display=\"flex\" justifyContent=\"space-between\">\n <Button onClick={() => handleClose()}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorGray1, commonClasses.capitalize)}>\n Cancel\n </span>\n </Button>\n </Box>\n }\n <>\n {\n isLoading\n ? <WildHealthLinearProgress/>\n : <Box width=\"100%\" height=\"100%\" id=\"treatment-plan-container\">\n\n </Box>\n }\n </>\n </DialogContent>\n {\n !isSmallScreen &&\n <DialogActions className={classes.action}>\n <WildHealthButton\n id=\"patient-supplements-update-cancel\"\n onClick={() => { handleClose() }}\n color=\"tertiary\"\n size='large'\n >\n Cancel\n </WildHealthButton>\n </DialogActions>\n }\n </Dialog>\n </>\n );\n}\n","import {Box, IconButton, Popover, Table, TableBody, TableContainer, TableHead} from \"@material-ui/core\";\nimport {Add} from \"@material-ui/icons\";\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport {WildHealthExternalLinkButton} from \"../../../common/components/WildHealthLinkButton\";\nimport {WildHealthMenuItem} from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport {WildHealthTableCell} from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport {WildHealthTableRow} from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport {SupplementItem} from \"../../../notes/models/notes.models\";\nimport {SupplementAddNewDialogComponent} from '../supplementsEditDialogComponent/SupplementAddNewDialogComponent';\nimport {SupplementEditDialogComponent} from '../supplementsEditDialogComponent/SupplementEditDialogComponent';\nimport {useFacade} from './supplementsComponent.hooks';\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {defaultDosage} from \"../../constants/medicationsAndSupplementsContants\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {\n RecommendFullscriptSupplementsComponent\n} from \"../recommendFullscriptSupplementsComponent/RecommendFullscriptSupplementsComponent\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {SupplementSource} from \"../../models/patientSupplementModel\";\n\ninterface SupplementsComponentProps {\n patientId: number;\n items: SupplementItem[];\n fullscriptSupplements: FullscriptSupplementModel[];\n handleAddSupplements: (medication: SupplementItem) => void;\n handleFullscriptSupplements: (supplements: FullscriptSupplementModel[]) => void;\n handleEditSupplements: (medication: SupplementItem) => void;\n handleRemoveSupplements: (id: number) => void;\n}\n\nexport const SupplementsComponent: React.FC<SupplementsComponentProps> = (props: SupplementsComponentProps) => {\n const {\n items,\n fullscriptSupplements,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditSupplements,\n handleRemoveSupplements,\n } = props;\n\n const [\n {\n isMenuOpened,\n isAddNewOpened,\n isRecommendationOpened,\n isEditorOpened,\n anchorEl,\n selectedId,\n },\n handleAddNewToggle,\n toggleRecommendation,\n handleEditToggle,\n handleToggleActions,\n ] = useFacade();\n\n const classes = commonUseStyles();\n\n const selectedItem = items.find(i => i.id === selectedId);\n\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>\n Name\n </WildHealthTableCell>\n <WildHealthTableCell>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell>\n Purchase Link\n </WildHealthTableCell>\n <WildHealthTableCell style={{width: '20%'}}></WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {item.isStopped ? <s>{item.name}</s> : item.name}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.dosage}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.instructions}\n </WildHealthTableCell>\n <WildHealthTableCell>\n <WildHealthExternalLinkButton id={`supplements-link-purchase-${item.id}`} link={item.purchaseLink}/>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <IconButton\n id={`supplements-more-actions-${item.id}`}\n size=\"small\"\n onClick={(e) => handleToggleActions(item.id, e.currentTarget)}\n >\n <MoreHorizIcon />\n </IconButton>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n {\n (fullscriptSupplements ?? []).map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {item.name}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.dosage}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.instructions}\n </WildHealthTableCell>\n <WildHealthTableCell>\n\n </WildHealthTableCell>\n <WildHealthTableCell>\n\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"space-between\" mt={1}>\n <Box display='flex' alignItems='stretch' py={1}>\n <Box onClick={() => handleAddNewToggle(true)}>\n <Add className={clsx(classes.colorMain, classes.backgroundGray3, classes.pointer)} />\n </Box>\n <Box className={classes.colorMain} ml={2}>\n <span>Add Supplement</span>\n </Box>\n </Box>\n <Box>\n <FeatureComponent featureFlag={FeatureFlag.FullscriptIntegration}>\n <WildHealthButton\n id={`patient-supplements-fullscript`}\n size=\"large\"\n onClick={() => toggleRecommendation(true)}\n >\n Recommend with Fullscript\n </WildHealthButton>\n </FeatureComponent>\n </Box>\n </Box>\n <Popover\n keepMounted\n anchorEl={anchorEl}\n open={isMenuOpened}\n onClose={() => handleToggleActions()}\n getContentAnchorEl={null}\n >\n <WildHealthMenuItem id=\"supplements-edit\" onClick={() => handleEditToggle(true)}>\n Edit\n </WildHealthMenuItem>\n <WildHealthMenuItem id=\"supplements-delete\" onClick={() => { handleRemoveSupplements(selectedId); handleToggleActions(0); }}>\n Delete\n </WildHealthMenuItem>\n </Popover>\n\n <SupplementAddNewDialogComponent\n isOpened={isAddNewOpened}\n initModel={{\n id: 0,\n name: '',\n dosage: '',\n instructions: authQuery.isEmployeeUser() ? defaultDosage : '',\n purchaseLink: '',\n isInCurrent: false,\n isStopped: false,\n source: SupplementSource.Notes\n }}\n handleSave={handleAddSupplements}\n handleClose={() => handleAddNewToggle(false)}\n />\n <SupplementEditDialogComponent\n isOpened={isEditorOpened}\n initModel={selectedItem}\n handleSave={handleEditSupplements}\n handleClose={() => handleEditToggle(false)}\n />\n <RecommendFullscriptSupplementsComponent\n open={isRecommendationOpened}\n patientId={props.patientId}\n onOrdered={handleFullscriptSupplements}\n handleClose={() => toggleRecommendation(false)}\n />\n </Box>\n )\n}\n","import { useState } from \"react\";\n\ninterface supplementsComponentState {\n isMenuOpened: boolean;\n isAddNewOpened: boolean;\n isRecommendationOpened: boolean;\n isEditorOpened: boolean;\n selectedId: number;\n anchorEl: any;\n}\n\nexport function useFacade(): [\n supplementsComponentState,\n (isOpen: boolean) => void,\n (isOpen: boolean) => void,\n (isOpen: boolean) => void,\n (id?: number, anchorEl?: Element) => void\n] {\n const [state, setState] = useState({\n isMenuOpened: false,\n isAddNewOpened: false,\n isRecommendationOpened: false,\n isEditorOpened: false,\n selectedId: 0,\n anchorEl: null,\n } as supplementsComponentState);\n\n const handleAddNewToggle = (isOpen: boolean) => {\n setState(state => ({...state, isAddNewOpened: isOpen}));\n }\n\n const toggleRecommendation = (isOpen: boolean) => {\n setState(state => ({...state, isRecommendationOpened: isOpen}));\n }\n\n const handleEditToggle = (isOpen: boolean) => {\n setState(state => ({\n ...state,\n isEditorOpened: isOpen,\n isMenuOpened: false\n }));\n }\n\n const handleToggleActions = (id?: number, anchorEl?: Element) => {\n setState(state => ({\n ...state,\n isMenuOpened: !state.isMenuOpened,\n selectedId: id ?? state.selectedId,\n anchorEl: anchorEl\n }))\n }\n\n return [\n state,\n handleAddNewToggle,\n toggleRecommendation,\n handleEditToggle,\n handleToggleActions\n ];\n}","import { stringLengthValidationRule, maxLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport class CreateFollowUpComponentFieldNames {\n static readonly internalNote: string = 'internalContent';\n static readonly goalName: string = 'goal.name';\n static readonly interventionName: string = 'intervention.name';\n static readonly nextStepName: string = 'nextStep.name';\n static readonly noteTitle: string = 'title';\n}\n\nexport const createFollowUpComponentValidator = new GeneralValidator({\n //[CreateFollowUpComponentFieldNames.internalNote]: [stringLengthValidationRule(0, 500)],\n [CreateFollowUpComponentFieldNames.goalName]: [stringLengthValidationRule(1, 250)],\n [CreateFollowUpComponentFieldNames.interventionName]: [stringLengthValidationRule(1, 500)],\n [CreateFollowUpComponentFieldNames.nextStepName]: [stringLengthValidationRule(1, 500)],\n [CreateFollowUpComponentFieldNames.noteTitle]: [maxLengthValidationRule(40)],\n});","import { Box, FormControl, MenuItem, Select} from '@material-ui/core';\nimport {NextTimeSpan} from '../../models/notes.models';\nimport React from 'react';\n\ninterface SelectIntervalComponentProps {\n handleChange: (value: NextTimeSpan) => void,\n selected: NextTimeSpan,\n items: NextTimeSpan[],\n disabled?: boolean;\n}\n\nexport const SelectIntervalComponent: React.FC<SelectIntervalComponentProps> = (props: SelectIntervalComponentProps) => {\n const {\n handleChange,\n selected,\n items,\n disabled = false\n } = props;\n\n return (\n <Box>\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{width: \"100%\"}}\n value={selected}\n disabled={disabled}\n onChange={(event) => handleChange(event.target.value as NextTimeSpan)}>\n {\n items.map((item, i) => {\n return <MenuItem key={i} value={item}>{NextTimeSpan[item].toString()}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n );\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n appointmentCard: {\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid #EAEFF5 !important\",\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15) !important\",\n boxSizing:\"border-box\",\n borderRadius: \"2px !important\",\n minWidth:\"336px\"\n },\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important',\n paddingBottom: '30px !important'\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n paddingBottom: 30\n },\n dialogActions: {\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40\n },\n })\n);\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n appointmentCard: {\n backgroundColor: \"#FFFFFF\",\n border: \"1px solid #EAEFF5 !important\",\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15) !important\",\n boxSizing:\"border-box\",\n borderRadius: \"2px !important\",\n minWidth:\"336px\"\n },\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important',\n paddingBottom: '30px !important'\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40,\n paddingBottom: 30\n },\n dialogActions: {\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40\n },\n })\n);\n","import React from 'react';\nimport {\n Box,\n Dialog,\n DialogActions,\n DialogContent,\n DialogContentText,\n TextField,\n useMediaQuery,\n useTheme\n} from \"@material-ui/core\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { DialogTitle } from '../../../common/components/dialogTitle/DialogTitle';\nimport {useStyles} from \"./configureNoteAppointmentDialog.styles\";\nimport {useFacade} from \"./configureNoteAppointmentDialog.hooks\";\nimport {\n SelectAppointmentTypeComponent\n} from \"../../../appointments/components/selectAppointmentType/SelectAppointmentTypeComponent\";\nimport {WildHealthDatePicker} from \"../../../common/components/WildHealthDatePicker\";\nimport moment from \"moment\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {durations} from \"../../../appointments/models/times.models\";\nimport {SelectDurationComponent} from \"../../../appointments/components/selectDuration/SelectDurationComonent\";\n\ninterface ConfigureNoteAppointmentDialogProps {\n patientId: number;\n isOpen: boolean;\n handleCloseDialog: Function;\n handleConfigureAppointment: Function;\n}\n\nexport const ConfigureNoteAppointmentDialog: React.FC<ConfigureNoteAppointmentDialogProps> = (props: ConfigureNoteAppointmentDialogProps) =>{\n const [\n state,\n handleAppointmentType,\n handleAppointmentDate,\n handleAppointmentTime,\n handleAppointmentDuration,\n canConfirm,\n toConfiguration\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n const getTime = () => {\n return moment(state.appointmentDate).format('HH:mm');\n }\n\n return (\n <Dialog\n fullWidth\n fullScreen={fullScreen}\n maxWidth=\"sm\"\n open={props.isOpen}\n onClose={() => props.handleCloseDialog()}\n >\n <DialogTitle\n id=\"dialog-title\"\n classes={{ root: classes.dialogTitle }}\n onClose={() => props.handleCloseDialog()}\n >\n <span className=\"wh-tw-text-2xl wh-tw-font-medium\">Appointment Details</span>\n </DialogTitle>\n\n <DialogContent className={classes.dialogContent}>\n <DialogContentText>\n <Box width={1}>\n {\n state.appointmentTypes.length > 0\n ? <SelectAppointmentTypeComponent\n types={state.appointmentTypes}\n handleChange={handleAppointmentType}\n value={state.appointmentType}\n /> : <WildHealthLinearProgress/>\n }\n </Box>\n <Box width={1} mt={4}>\n <Box>\n <span className=\"wh-tw-text-gray1 wh-tw-text-sm\">Appointment Date</span>\n </Box>\n <Box mt={1}>\n <WildHealthDatePicker\n required\n fullWidth\n size=\"small\"\n openTo=\"year\"\n format=\"MM/DD/yyyy\"\n id='AppointmentDate'\n placeholder=\"mm-dd-yyyy\"\n value={state.appointmentDate}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n useKeyboardDatePicker\n onChange={(momentDate) => handleAppointmentDate(momentDate)}\n />\n </Box>\n </Box>\n <Box width={1} mt={4}>\n <Box>\n <span className=\"wh-tw-text-gray1 wh-tw-text-sm\">Appointment Time</span>\n </Box>\n <Box mt={1}>\n <TextField\n id=\"time\"\n size=\"small\"\n type=\"time\"\n fullWidth\n variant=\"outlined\"\n value={getTime()}\n onChange={(e)=>{ handleAppointmentTime(e.target.value)}}\n InputLabelProps={{\n shrink: true,\n }}\n inputProps={{\n step: 300, // 5 min\n }}\n />\n </Box>\n </Box>\n <Box width={1} mt={4}>\n <SelectDurationComponent\n durations={durations.filter(x => x.patientMode)}\n selected={state.appointmentDuration}\n handleChange={(v) => handleAppointmentDuration(v)}\n />\n </Box>\n </DialogContentText>\n </DialogContent>\n\n <DialogActions classes={{ root: classes.dialogActions }}>\n <WildHealthButton id=\"cancel-select\" size='large' color='tertiary' onClick={() => {props.handleCloseDialog(); }}>\n Cancel\n </WildHealthButton>\n <WildHealthButton id=\"confirm-select\" size='large' onClick={() => props.handleConfigureAppointment(toConfiguration())} disabled={!canConfirm()}>\n Confirm\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n )\n}\n","import {useEffect, useState} from 'react';\nimport {AppointmentTypeModel} from \"../../../appointments/models/appointments.models\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Subscription } from \"recompose\";\nimport { appointmentsQuery } from \"../../../appointments/stores/appointments\";\nimport { PatientModel } from '../../../patients/models/patient.model';\nimport { patientsQuery } from '../../../patients/stores/patientsStore';\nimport {AppointmentConfigurationModel} from \"../../models/notes.models\";\nimport {DurationModel, durations} from \"../../../appointments/models/times.models\";\n\nexport interface ConfigureNoteAppointmentDialogState {\n isOpen: boolean;\n appointmentTypes: AppointmentTypeModel[];\n appointmentType: AppointmentTypeModel;\n appointmentDate: Date;\n appointmentDuration: DurationModel;\n patient: PatientModel;\n}\n\nexport function useFacade(patientId: number): [\n ConfigureNoteAppointmentDialogState,\n (value: AppointmentTypeModel) => void,\n (value: any) => void,\n (value: string) => void,\n (value: number) => void,\n () => boolean,\n () => AppointmentConfigurationModel\n] {\n const [state, setState] = useState({\n isOpen: false,\n appointmentTypes:[],\n appointmentType: null,\n appointmentDate: new Date(),\n appointmentDuration: durations.filter(x => x.patientMode)[0],\n patient: null,\n } as ConfigureNoteAppointmentDialogState);\n\n const handleAppointmentType = (type: AppointmentTypeModel) => {\n setState(state => ({...state, appointmentType: type}));\n }\n\n const handleAppointmentDate = (date: Date) => {\n setState(state => ({...state, appointmentDate: date}));\n }\n\n const handleAppointmentTime = (time: string) => {\n const hoursMinutes = time.split(\":\");\n const dateResult = new Date(state.appointmentDate);\n dateResult.setHours(+hoursMinutes[0], +hoursMinutes[1]);\n handleAppointmentDate(new Date(dateResult));\n }\n\n const handleAppointmentDuration = (value: number) => {\n const duration = durations.filter(x => x.patientMode).find(x => x.value === value);\n setState(state => ({...state, appointmentDuration: duration}));\n }\n\n const canConfirm = () => {\n return state.appointmentDuration != null && state.appointmentType != null\n }\n\n const toConfiguration = () => {\n return {\n configurationId: state.appointmentType?.configurations[0]?.id,\n visitDate: state.appointmentDate,\n duration: state.appointmentDuration.value\n } as AppointmentConfigurationModel\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === patientId) {\n setState(state => ({...state, patient: targetPatient}));\n }\n }),\n onEmit<AppointmentTypeModel[]>(appointmentsQuery.allAppointmentTypes$, appointmentTypes => {\n setState(state => ({\n ...state,\n appointmentTypes: appointmentTypes,\n appointmentType: state.appointmentType ?? appointmentTypes[0]\n }));\n })\n ];\n\n appointmentsService.getAllAppointmentTypes();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleAppointmentType,\n handleAppointmentDate,\n handleAppointmentTime,\n handleAppointmentDuration,\n canConfirm,\n toConfiguration\n ];\n}","import React from 'react';\nimport { useFacade } from './selectAppointmentToNotesDialog.hooks';\nimport {Box, Dialog, DialogActions, DialogContent, DialogContentText, Grid, useMediaQuery, useTheme} from \"@material-ui/core\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport clsx from 'clsx';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { useStyles } from './selectAppointmentToNotesDialog.styles';\nimport { AppointmentPurposeType } from '../../../appointments/models/appointments.enums';\nimport { DialogTitle } from '../../../common/components/dialogTitle/DialogTitle';\nimport {ConfigureNoteAppointmentDialog} from \"../configureNoteAppointmentComponent/ConfigureNoteAppointmentDialog\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport moment from \"moment\";\n\ninterface SelectAppointmentToNotesProps {\n patientId: number;\n isOpen: boolean;\n handleSelectAppointmentDialog: Function;\n handleChangeSelectAppointment: Function;\n handleSubmitSelectAppointment: Function;\n handleConfigureAppointment?: Function;\n}\n\nexport const SelectAppointmentToNotesDialog: React.FC<SelectAppointmentToNotesProps> = (props: SelectAppointmentToNotesProps) =>{\n const [state, handleAppointment, handleNoAppointment] = useFacade(props.patientId);\n\n const commonClasses = commonUseStyles();\n\n const classes = useStyles();\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('xs'));\n\n return (\n <>\n <Dialog\n fullWidth\n fullScreen={fullScreen}\n maxWidth=\"md\"\n open={props.isOpen}\n onClose={() => props.handleSelectAppointmentDialog(false)}\n >\n <DialogTitle\n id=\"dialog-title\"\n classes={{ root: classes.dialogTitle }}\n onClose={() => props.handleSelectAppointmentDialog(false)}\n >\n <span className={clsx(commonClasses.size24, commonClasses.textMedium)}>Select Appointment</span>\n <br />\n <span className={clsx(commonClasses.size16, commonClasses.textRegular, commonClasses.colorGray1)}>Please choose the appointment below to attach the note to. </span>\n </DialogTitle>\n\n <DialogContent className={classes.dialogContent}>\n <DialogContentText>\n {\n props.isOpen && \n <Grid container spacing={4}>\n {\n state.appointments.map((appointment, i) => (\n <Grid item md={6} xs={12} key={i}>\n <Box pb={2} display=\"flex\" onClick={() => {props.handleChangeSelectAppointment(appointment.id); handleAppointment(appointment.id)}} className={classes.appointmentCard}>\n <Box mr={2} mt={1}>\n <WildHealthRadio \n checked={appointment.id === state.appointmentId}\n value={appointment.id}\n />\n </Box>\n <Box display=\"flex\" flexDirection=\"column\" pt={2}>\n <div className={clsx(commonClasses.size18, commonClasses.textMedium, commonClasses.colorBlack)}>\n {moment(appointment.startDate).format('dddd DD MMMM yyyy') }\n </div>\n <br />\n <div className={clsx(commonClasses.textMedium, commonClasses.colorBlack)}>{state.patient.firstName} {state.patient.lastName}</div>\n <div>{AppointmentPurposeType[appointment.purpose]} | {appointment.location.name}</div>\n </Box>\n </Box>\n </Grid>\n ))\n }\n {\n props.handleConfigureAppointment != null && patientsQuery.getTargetPatient()?.isPremium && <Grid md={12} xs={12} item>\n <Box>\n <a className={commonClasses.colorAccent1} onClick={() => handleNoAppointment(true)}>No appointment</a>\n </Box>\n </Grid>\n }\n </Grid>\n }\n\n </DialogContentText>\n </DialogContent>\n\n <DialogActions classes={{ root: classes.dialogActions }}>\n <WildHealthButton id=\"cancel-select\" size='large' color='tertiary' onClick={() => {props.handleSelectAppointmentDialog(false); handleAppointment(null) }}>\n Cancel\n </WildHealthButton>\n <WildHealthButton id=\"confirm-select\" size='large' disabled={!state.appointmentId} onClick={() => props.handleSubmitSelectAppointment(state.appointmentId)}>\n Confirm\n </WildHealthButton>\n </DialogActions>\n </Dialog>\n <ConfigureNoteAppointmentDialog\n patientId={props.patientId}\n isOpen={state.appointmentConfigurationOpen}\n handleCloseDialog={() => handleNoAppointment(false)}\n handleConfigureAppointment={props.handleConfigureAppointment}\n />\n </>\n )\n}\n","import {useEffect, useState} from 'react';\nimport { PatientAppointmentModel } from \"../../../appointments/models/appointments.models\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Subscription } from \"recompose\";\nimport { AppointmentStatus } from '../../../appointments/models/appointments.enums';\nimport { PatientModel } from '../../../patients/models/patient.model';\nimport { patientsQuery } from '../../../patients/stores/patientsStore';\n\nexport interface SelectAppointmentToNotesState {\n appointmentConfigurationOpen: boolean;\n isOpen: boolean;\n appointments: PatientAppointmentModel[];\n patient: PatientModel;\n appointmentId : number| null;\n}\n\nexport function useFacade(patientId: number): [SelectAppointmentToNotesState, Function, Function] {\n const [state, setState] = useState({\n appointmentConfigurationOpen: false,\n isOpen: false,\n appointments:[],\n patient: null,\n appointmentId: null\n } as SelectAppointmentToNotesState);\n\n const handleAppointment = (appointmentId: number | null) => {\n setState(state => ({...state, appointmentId: appointmentId}));\n }\n\n const handleNoAppointment = (value: boolean) => {\n setState(state => ({...state, appointmentConfigurationOpen: value}));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === patientId) {\n setState(state => ({...state, patient: targetPatient}));\n }\n })\n ];\n \n const daysBefore = 31;\n const daysAfter = 30;\n \n let dateBefore = new Date(new Date().setDate(new Date().getDate() - daysAfter));\n let dateAfter = new Date(new Date().setDate(new Date().getDate() + daysBefore));\n \n appointmentsService\n .getPatientAppointmentsById(patientId, dateBefore, dateAfter)\n .subscribe(appointments => {\n const sorted = appointments.filter((appointment) => appointment.status !== AppointmentStatus.Canceled && !appointment.note);\n\n setState(state => ({...state, appointments: sorted}));\n });\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n\n useEffect(useEffectCB, []);\n\n return [state,handleAppointment, handleNoAppointment];\n}","import React, {useState} from \"react\";\nimport {Edit} from '@material-ui/icons';\nimport {WildHealthRadio} from \"../../../common/components/WildHealthRadio\";\nimport {Box, IconButton, TextField} from \"@material-ui/core\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport moment from \"moment\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nenum StateMode {\n View = 1,\n Edit = 2\n}\n\nenum DateMode {\n Weeks = 1,\n Months = 2\n}\n\ninterface GoalsCompletionDateComponentState {\n stateMode: StateMode\n dateMode: DateMode;\n value: number;\n}\n\ninterface GoalsCompletionDateComponentProps {\n visitDate: Date;\n completionDate: Date | null;\n handleChanges: (date: Date) => void;\n}\n\nexport const GoalsCompletionDateComponent: React.FC<GoalsCompletionDateComponentProps> = (props: GoalsCompletionDateComponentProps) => {\n const {\n visitDate,\n completionDate,\n handleChanges\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const [state, setState] = useState({\n stateMode: StateMode.View,\n dateMode: DateMode.Weeks,\n value: 0\n } as GoalsCompletionDateComponentState);\n\n const handleValueChanges = (value: number) => {\n if (value < 0) {\n return;\n }\n\n setState(state => ({\n ...state,\n value: Number(value)\n }));\n }\n\n const handleStateModChanges = (mode: StateMode) => {\n setState(state => ({\n ...state,\n stateMode: mode\n }));\n }\n\n const handleDateModChanges = (mode: DateMode) => {\n setState(state => ({\n ...state,\n dateMode: mode\n }));\n }\n\n const handleSubmit = () => {\n const mewCompletionDate = state.dateMode === DateMode.Weeks\n ? moment(visitDate).add(state.value, 'weeks').toDate()\n : moment(visitDate).add(state.value, 'months').toDate();\n\n handleChanges(mewCompletionDate);\n\n setState(state => ({\n ...state,\n value: 0,\n dateMode: DateMode.Months,\n stateMode: StateMode.View\n }))\n }\n\n const renderViewComponent = () => {\n return (\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n {\n completionDate !== null\n ? moment(completionDate).format('L') + ' - '\n : 'No completion date'\n }\n </Box>\n {\n completionDate &&\n <Box className={commonClasses.subtitle} ml={1}>\n {\n moment(completionDate).startOf('day').fromNow()\n }\n </Box>\n }\n <Box ml={2}>\n <IconButton color=\"primary\" onClick={() => handleStateModChanges(StateMode.Edit)}>\n <Edit />\n </IconButton>\n </Box>\n </Box>\n )\n }\n\n const renderEditComponent = () => {\n return (\n <Box>\n <Box display=\"flex\">\n <Box width=\"75px\">\n <TextField\n id='enter-goal-completion-date'\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={Number(state.value).toString()}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleValueChanges(Number(e.target.value))}\n />\n </Box>\n <Box display=\"flex\" alignItems=\"center\" mx={2}>\n <Box>\n <WildHealthRadio\n checked={state.dateMode === DateMode.Weeks}\n onChange={() => handleDateModChanges(DateMode.Weeks)}\n />\n </Box>\n <Box>\n <span>Weeks</span>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <WildHealthRadio\n checked={state.dateMode === DateMode.Months}\n onChange={() => handleDateModChanges(DateMode.Months)}\n />\n </Box>\n <Box>\n <span>Months</span>\n </Box>\n </Box>\n </Box>\n <Box display=\"flex\" mt={2}>\n <Box>\n <WildHealthButton\n width={111}\n id='cancel-note-completion-date'\n onClick={() => { handleStateModChanges(StateMode.View) }}\n color='tertiary'\n >\n Cancel\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={150}\n id='save-note-completion-date'\n style={{ whiteSpace: 'nowrap' }}\n onClick={() => handleSubmit()}\n >\n <span>Save Changes</span>\n </WildHealthButton>\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <>\n {\n state.stateMode === StateMode.View\n ? renderViewComponent()\n : renderEditComponent()\n }\n </>\n );\n}","import React from 'react';\nimport { Box, IconButton, TextField, Tooltip } from \"@material-ui/core\";\nimport { useFacade } from './textFieldNoteComponent.hooks';\nimport { TextMarkdownComponent } from '../textMarkdownComponent/TextMarkdownComponent';\nimport VisibilityOutlinedIcon from '@material-ui/icons/Visibility';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { colors } from '../../../common/constants/colors';\n\ninterface TextFieldNoteProps {\n rows: number;\n disabled?: boolean;\n uppercase?: boolean;\n title?: string;\n label?: string;\n content: string;\n placeholder?: string;\n className?: any;\n handleChanged: Function;\n handleKeyDown?: Function;\n error?: boolean;\n helperText?: string;\n key2?: number | string;\n key3?: number;\n id?: string;\n isFollowUp?: boolean;\n}\n\nexport const TextFieldNoteComponent: React.FC<TextFieldNoteProps> = (props: TextFieldNoteProps) => {\n const {\n rows,\n disabled = false,\n uppercase,\n title,\n label,\n content,\n placeholder = '',\n className,\n handleChanged,\n handleKeyDown = () => { },\n error = false,\n helperText = '',\n key2,\n key3,\n id,\n isFollowUp = false,\n } = props;\n\n const [{\n isEdit\n },\n handleEdit,\n ] = useFacade();\n\n return (<Box width='100%'>\n <Box className={className} mb={2} display=\"flex\" alignItems=\"center\">\n {title && <Box mr={1} className={uppercase ? 'uppercase' : ''}>{title}</Box>}\n <IconButton\n aria-label=\"toggle edit visibility\"\n onClick={() => handleEdit()}\n edge=\"end\"\n size='small'\n >\n {\n isEdit\n ? <Tooltip placement=\"top\" arrow title=\"View Markdown\"><VisibilityOutlinedIcon style={{ color: colors.main, fontSize: 20 }} /></Tooltip>\n : <Tooltip placement=\"top\" arrow title=\"Edit Text\"><EditIcon style={{ color: colors.main, fontSize: 20 }} /></Tooltip>\n }\n </IconButton>\n </Box>\n <Box>\n {isEdit\n ? <TextField\n fullWidth\n id={id}\n rows={rows}\n rowsMax={15}\n multiline\n type='text'\n size=\"small\"\n label={label}\n placeholder={placeholder}\n variant=\"outlined\"\n disabled={disabled}\n value={content}\n InputProps={{\n className: 'input',\n\n }}\n onKeyDown={(e) => { isFollowUp ? handleKeyDown(e, id, key2, key3) : handleKeyDown(e, handleChanged) }}\n onChange={(e) => {\n handleChanged(e.target.value, key2, key3);\n }}\n error={error}\n helperText={helperText}\n\n />\n : <Box>\n <TextMarkdownComponent content={content} />\n </Box>}\n </Box>\n </Box>\n )\n}\n","import { useState } from 'react';\n\nexport interface TextFieldNoteState {\n isEdit: boolean;\n}\n\nexport function useFacade(): [TextFieldNoteState, Function] {\n const [state, setState] = useState({\n isEdit: true,\n } as TextFieldNoteState);\n\n const handleEdit = () => {\n setState(state => ({ ...state, isEdit: !state.isEdit }));\n }\n\n return [state, handleEdit];\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n goal: {\n background: colors.bg,\n borderRadius: '5px'\n },\n subtitle: {\n fontSize: 12,\n color: colors.gray1,\n textTransform: 'uppercase',\n },\n goalSideBar: {\n borderTopLeftRadius: '10px',\n borderBottomLeftRadius: '10px',\n background: colors.main,\n color: colors.white,\n width: '38px',\n },\n goalTitle: {\n transform: 'rotate(-90deg)',\n whiteSpace: 'nowrap'\n },\n item: {\n padding: '6.5px 12px 6.5px 12px',\n backgroundColor: colors.separators,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderRadius: '2px'\n },\n editIcon: {\n color: colors.main,\n cursor: 'pointer',\n marginLeft: '2rem'\n },\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n deleteGoalIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n deleteInterventionIcon: {\n display: 'flex',\n alignItems: 'center',\n background: colors.gray3,\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14,\n width: '20px',\n height: '20px',\n borderRadius: '2px !important'\n },\n addText: {\n color: colors.main\n },\n rootView: {\n fontSize: 14,\n minHeight: 28,\n borderRadius: 2,\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n paddingRight: 10,\n paddingLeft: 10,\n backgroundColor: colors.separators,\n },\n tooltip: {\n position: 'absolute',\n background: colors.lightBlack,\n color: colors.white,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n borderRadius: 2,\n padding: 16,\n fontStyle: 'normal',\n fontWeight: 400,\n fontSize: 14,\n display: 'none',\n width: 'max-content',\n maxWidth: '35vw',\n marginLeft: '-40px',\n zIndex: 1,\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n iconInfo: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n interventionDot: {\n paddingRight: '6px',\n paddingLeft: '6px',\n },\n interventionName: {\n whiteSpace: 'pre-line',\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '35vw',\n maxWidth: '35vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n","import React, { useState } from 'react';\nimport { Box, Checkbox, Grid, IconButton, TextField, Tooltip } from '@material-ui/core';\nimport { Add, Delete } from '@material-ui/icons';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { insertString } from '../../../common/helpers/insert-string';\nimport { selectShortcutService } from '../../../healthReport/services/selectShortcut.service';\nimport { GoalCategory, GoalCommonModel, GoalModel } from '../../models/notes.models';\nimport { useStyles } from './GoalsComponent.styles';\nimport CheckBoxOutlineBlankIcon from \"@material-ui/icons/CheckBoxOutlineBlank\";\nimport {colors} from \"../../../common/constants/colors\";\nimport CheckBoxIcon from \"@material-ui/icons/CheckBox\";\nimport RemoveIcon from '@material-ui/icons/Remove';\nimport AddIcon from '@material-ui/icons/Add';\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {GoalsCompletionDateComponent} from \"../goalCompletionDateComponent/GoalCompletionDateComponent\";\nimport InfoIcon from '@material-ui/icons/Info';\nimport moment from 'moment';\nimport { ReactComponent as StartOutlined } from '@img/icons/StarOutlined.svg'\nimport { ReactComponent as StarChecked } from '@img/icons/starChecked.svg'\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport interface GoalsComponentProps {\n commonGoals: GoalCommonModel[];\n visitDate: Date;\n dataKey: string;\n goals: GoalModel[];\n handleGoalsChanges: (key: string, values: GoalModel[]) => void;\n handleValidateGoals: (goalName: string, id:number) => boolean;\n}\n\nenum DataType {\n Goal = 1,\n Intervention = 2\n}\n\ninterface GoalsComponentState {\n enteringData: DataType;\n valueToAdd: string;\n targetId: number | null;\n}\n\nexport const GoalsComponent: React.FC<GoalsComponentProps> = (props: GoalsComponentProps) => {\n let {\n commonGoals = null,\n visitDate,\n dataKey,\n goals,\n handleGoalsChanges,\n handleValidateGoals\n } = props;\n\n const [state, setState] = useState({\n enteringData: DataType.Goal,\n valueToAdd: null,\n targetId: null\n } as GoalsComponentState)\n\n const [focus, setFocus] = useState(true)\n const [isSubmitted, setSubmitted] = useState(true)\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />;\n const starIcon = <StartOutlined></StartOutlined>;\n const statIconChecked = <StarChecked style={{ fill: colors.main }}></StarChecked>;\n\n const handleAddCommonGoals = (goal: GoalCommonModel) => {\n const goalId = Date.now() + Math.floor(Math.random() * 100)\n \n goals.push({\n ...goal,\n id: goalId,\n date: null,\n isTopGoal: false,\n category: GoalCategory.Other,\n completionDate: goal.completionValue ? moment(visitDate).add(goal.completionValue, 'months').toDate() : null,\n interventions: goal.interventions.map((el, i )=> {\n return {\n ...el,\n id: goalId + i,\n }\n })\n });\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleCompleteGoal = (goalId: number, isCompleted: boolean) => {\n const goal = goals.find(x => x.id === goalId);\n\n if (!goal) {\n return;\n }\n\n goal.isCompleted = isCompleted;\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleTopGoal = (goalId: number, isCompleted: boolean) => {\n const goal = goals.find(x => x.id === goalId);\n\n if (!goal) {\n return;\n }\n\n goal.isTopGoal = isCompleted;\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleDeleteGoal = (id: number) => {\n goals = goals.filter(x => x.id !== id);\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleDeleteIntervention = (goalId: number, id: number) => {\n const goal = goals.find(x => x.id === goalId);\n\n goal.interventions = goal.interventions.filter(x => x.id !== id);\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleEnableAdd = (dataType: DataType, goalId: number) => {\n setState(state => ({\n ...state,\n valueToAdd: '',\n enteringData: dataType,\n targetId: goalId\n }));\n setSubmitted(false);\n }\n\n const handleAddChanges = (value: string) => {\n setState(state => ({ ...state, valueToAdd: value }));\n }\n\n const handleEditGoal = (id: number, value: string) => {\n const goal = goals.find(x => x.id === id);\n\n if (!goal) {\n return;\n }\n\n goal.name = value;\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleCompletionDateChanges = (id: number, completionDate: Date) => {\n const goal = goals.find(x => x.id === id);\n\n if (!goal) {\n return;\n }\n\n goal.completionDate = completionDate;\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleEditIntervention = (id: number, value: string) => {\n const interventions = goals.map(x => x.interventions).flat();\n const intervention = interventions.find(x => x.id === id);\n\n if (!intervention) {\n return;\n }\n\n intervention.name = value;\n\n handleGoalsChanges(dataKey, goals);\n }\n\n const handleAddSubmit = () => {\n if (isSubmitted) {\n return;\n }\n\n if (state.valueToAdd !== null && state.valueToAdd !== '') {\n if (state.enteringData === DataType.Goal) {\n goals.push({\n id: Date.now(),\n date: null,\n isCompleted: false,\n isTopGoal: false,\n category: GoalCategory.Other,\n completionDate: null,\n name: state.valueToAdd,\n interventions: []\n });\n }\n else {\n const goal = goals.find(x => x.id === state.targetId);\n goal.interventions.push({\n id: Date.now(),\n name: state.valueToAdd,\n })\n }\n\n handleGoalsChanges(dataKey, goals);\n }\n\n setState(state => ({\n ...state,\n valueToAdd: null,\n targetId: null\n }));\n\n setSubmitted(true);\n }\n\n const handleOnAddKeyDown = (event: any, id: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setFocus(false);\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleAddChanges(insertString(value, data, cursorPos + 1));\n setFocus(true);\n })\n }, 1)\n }\n }\n\n if (event.keyCode === 13 && !event.shiftKey) {\n handleAddSubmit()\n }\n }\n\n const handleOnEditKeyDown = (event: any, id: number, dataType: DataType) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(event.target.id) as any).value;\n const cursorPos = (document.getElementById(event.target.id) as any).selectionStart;\n setFocus(false);\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n if (data) {\n const modifiedValue = insertString(value, data, cursorPos + 1);\n switch (dataType) {\n case DataType.Goal: handleEditGoal(id, modifiedValue); break;\n case DataType.Intervention: handleEditIntervention(id, modifiedValue); break;\n }\n }\n })\n }, 1)\n }\n }\n }\n\n\n const renderViewElement = (goal: GoalCommonModel) =>\n <Box display='flex' key={goal.id} mr={1.5} mb={1.5} className={classes.rootView}>\n {goal.interventions.length\n ?\n <Box width='28px' minWidth='28px' display='flex' alignItems='center' mr={1} justifyContent='flex-end'>\n <Box position='relative' pt={0.5}>\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box>\n <Box>Interventions ({goal.interventions.length}):</Box>\n {goal.interventions.map(intervention => {\n return <Box key={intervention.id}>\n <span className={classes.interventionDot}>•</span>\n <span className={classes.interventionName}>{intervention.name}</span>\n </Box>\n })}\n </Box>\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className={classes.iconInfo} fontSize='small' style={{ fill: colors.gray2 }} />\n </Tooltip>\n </Box>\n </Box>\n : <></>}\n <Box>\n {goal.name}\n </Box>\n <Box\n className={classes.button}\n onClick={() => handleAddCommonGoals(goal)}>\n <AddIcon fontSize='small' />\n </Box>\n </Box>\n\n const renderCommonGoals = () => {\n return <Box mb={3} mt={1}>\n <Box color={colors.gray1}>Most Common Goals</Box>\n <Box mt={1.5} display='flex' flexWrap='wrap'>\n {commonGoals.map(goal => renderViewElement(goal))}\n </Box>\n </Box>\n }\n \n return (\n <Box mt={2}>\n <Grid container>\n {commonGoals && renderCommonGoals()}\n {\n goals.map((goal, i) => (\n <Box display=\"flex\" width={1}>\n <Box className={classes.goalSideBar} my={3} display=\"flex\" alignItems=\"center\">\n <Box className={classes.goalTitle}>\n Goal {i + 1}\n </Box>\n </Box>\n <Box mb={3} py={1} className={classes.goal} flexGrow={1}>\n <Grid md={12} sm={12}>\n <Box display='flex' justifyContent='space-between' px={2}>\n <Box display=\"flex\">\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={goal.isCompleted ?? false}\n onChange={() => handleCompleteGoal(goal.id, !(goal.isCompleted ?? false))}\n />\n </Box>\n <Box>\n <span>\n Mark goal as completed\n </span>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\" ml={3}>\n <Box>\n <Checkbox\n icon={starIcon}\n color=\"primary\"\n checkedIcon={statIconChecked}\n checked={goal.isTopGoal ?? false}\n onChange={() => handleTopGoal(goal.id, !(goal.isTopGoal ?? false))}\n />\n </Box>\n <Box>\n <span>\n Mark as top goal\n </span>\n </Box>\n </Box>\n </Box>\n <Box>\n <IconButton className={classes.deleteGoalIcon} onClick={() => handleDeleteGoal(goal.id)}>\n <Delete />\n </IconButton>\n </Box>\n </Box>\n </Grid>\n <Grid md={12} xs={12}>\n <Grid container>\n <Grid md={7} xs={12}>\n <Box p={2}>\n <span className={classes.subtitle}>{`Goal ${i + 1}`}</span>\n </Box>\n <Box px={2}>\n <Box width={0.9}>\n {\n handleValidateGoals(goal.name, goal.id) &&\n <Box>\n <span className={commonClasses.error}>Goal name mush be lower than 255 symbols.</span>\n </Box>\n }\n <TextField\n id={`${dataKey}-goal-edit-${goal.id}`}\n onKeyDown={(e) => handleOnEditKeyDown(e, goal.id, DataType.Goal)}\n fullWidth\n minRows={1}\n maxRows={15}\n multiline\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={goal.name}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleEditGoal(goal.id, e.target.value)}\n />\n </Box>\n </Box>\n <Box p={2}>\n <span className={classes.subtitle}>Interventions</span>\n </Box>\n {\n goal.interventions.map((intervention) => (\n <>\n <Box mb={2} px={2} display='flex' justifyContent=\"space-between\" width={1} alignItems=\"center\">\n <Box width={0.9}>\n <TextField\n id={`${dataKey}-intervention-edit-${intervention.id}`}\n onKeyDown={(e) => handleOnEditKeyDown(e, intervention.id, DataType.Intervention)}\n fullWidth\n multiline\n minRows={1}\n maxRows={15}\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={intervention.name}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleEditIntervention(intervention.id, e.target.value)}\n />\n </Box>\n <Box width={0.1}>\n <IconButton className={classes.deleteInterventionIcon} onClick={() => handleDeleteIntervention(goal.id, intervention.id)}>\n <RemoveIcon />\n </IconButton>\n </Box>\n </Box>\n </>\n ))\n }\n {\n state.valueToAdd !== null && state.enteringData === DataType.Intervention && state.targetId === goal.id\n ? <Box px={2} width={0.9}>\n <TextField\n autoFocus\n id={`${dataKey}-intervention-add-${goal.id}`}\n onBlur={() => {\n focus && handleAddSubmit()\n }}\n multiline\n minRows={1}\n maxRows={15}\n onKeyDown={(e) => handleOnAddKeyDown(e, `${dataKey}-intervention-add-${goal.id}`)}\n label='Add Intervention'\n fullWidth\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={state.valueToAdd}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleAddChanges(e.target.value)}\n />\n </Box>\n : <Box px={2} display='flex' alignItems='stretch'>\n <Box onClick={() => handleEnableAdd(DataType.Intervention, goal.id)}>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>{'Add Intervention'}</span>\n </Box>\n </Box>\n }\n </Grid>\n <Grid md={5} xs={12}>\n <Box p={2}>\n <Box>\n <span className={classes.subtitle}>completion date</span>\n </Box>\n <Box>\n <GoalsCompletionDateComponent\n visitDate={visitDate}\n completionDate={goal.completionDate}\n handleChanges={(date) => handleCompletionDateChanges(goal.id, date)}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Grid>\n </Box>\n </Box>\n ))\n }\n </Grid>\n <Grid md={6} xs={12}>\n <Box>\n {\n state.valueToAdd !== null && state.enteringData === DataType.Goal\n ? <Box>\n <TextField\n id={`${dataKey}-goal-add`}\n onBlur={() => {\n focus && handleAddSubmit()\n }}\n autoFocus\n onKeyDown={(e) => handleOnAddKeyDown(e, `${dataKey}-goal-add`)}\n label='Add New Goal'\n multiline\n minRows={1}\n maxRows={15}\n fullWidth\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={state.valueToAdd}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleAddChanges(e.target.value)}\n />\n </Box>\n : <Box>\n <WildHealthButton\n size=\"medium\"\n width={215}\n style={{ whiteSpace: 'nowrap' }}\n id='add-new-goal'\n onClick={() => { handleEnableAdd(DataType.Goal, null) }}\n color=\"secondary\"\n >\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n Add new goal\n </Box>\n <Box ml={2} mt={1}>\n <AddIcon />\n </Box>\n </Box>\n </WildHealthButton>\n </Box>\n }\n </Box>\n </Grid>\n <Grid md={6} xs={12} />\n </Box>\n );\n}","import {selectShortcutService} from \"../../healthReport/services/selectShortcut.service\";\nimport {insertString} from \"./insert-string\";\n\nexport const handleShortcutInsert = (event: any, handleChanges: Function) => {\n if (event.keyCode === 51 && event.altKey) {\n const value = (document.getElementById(event.target.id) as any).value;\n const cursorPos = (document.getElementById(event.target.id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleChanges(insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n\n event.stopPropagation();\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n subtitle: {\n fontSize: 12,\n color: colors.gray1,\n textTransform: 'uppercase'\n }\n })\n);\n","import React from \"react\";\nimport {Box} from \"@material-ui/core\";\nimport {handleShortcutInsert} from \"../../../common/helpers/handle-shortcut-insert\";\nimport {TextFieldNoteComponent} from \"../textFieldNoteComponent/TextFieldNoteComponent\";\nimport {useStyles} from \"./EducationsComponent.styles\";\n\nexport interface EducationsComponentProps {\n dataKey: string;\n education: string;\n handleEducationChanges: (key: string, education: string) => void;\n}\n\nexport const EducationsComponent: React.FC<EducationsComponentProps> = (props: EducationsComponentProps) => {\n let {\n dataKey,\n education,\n handleEducationChanges,\n } = props;\n\n const classes = useStyles();\n\n const handleChanges = (value: string) => {\n handleEducationChanges(dataKey, value);\n }\n\n return (\n <Box py={2}>\n <TextFieldNoteComponent\n id={`education-text-input-${dataKey}`}\n rows={3}\n title='ADD NEW EDUCATION'\n className={classes.subtitle}\n content={education ?? ''}\n handleChanged={handleChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n );\n}","import {Box} from '@material-ui/core';\nimport React from 'react';\nimport {navigationService} from '../../../../services/navigation.service';\nimport {WildHealthButton} from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {GoalCommonModel, GoalModel, NotePlanModel, NotesType, GoalCategory} from '../../models/notes.models';\nimport {GoalsComponent} from '../goalsComponent/GoalsComponent';\nimport {handleShortcutInsert} from \"../../../common/helpers/handle-shortcut-insert\";\nimport {TextFieldNoteComponent} from '../textFieldNoteComponent/TextFieldNoteComponent';\nimport {WildHealthTabControl} from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport {EducationsComponent} from \"../educationsComponent/EducationsComponent\";\nimport { notesQuery } from '../../stores/notes';\n\nexport interface NotePlanComponentProps {\n patientId: number,\n notesType: number,\n visitDate: Date,\n data: NotePlanModel,\n\n handleGoalsChanges: (key: string, values: GoalModel[]) => void,\n handleEducationChanges: (key: string, education: string) => void,\n handlePlanTextChanges?: (value: string) => void,\n handleLabTextChanges?: (value: string) => void,\n handleCoachOtherTextChanges?: (value: string) => void,\n handleValidateGoals: (goalName: string, id:number) => boolean,\n}\n\nexport const NotePlanComponent: React.FC<NotePlanComponentProps> = (props: NotePlanComponentProps) => {\n const {\n data,\n notesType,\n visitDate,\n handleGoalsChanges,\n handleEducationChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleCoachOtherTextChanges,\n handleValidateGoals\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const renderSection = (title: string, goalsDataKey: string, goals: GoalModel[], educationsDataKey: string, education: string, commonGoals?: GoalCommonModel[]) => {\n if(goals === undefined || goals === null){\n goals = [];\n }\n \n return (\n <>\n <Box pb={2}>\n <span className={commonClasses.textMedium}>{title}</span>\n </Box>\n <WildHealthTabControl items={[\n {\n title: 'Goals',\n content: <GoalsComponent\n commonGoals={commonGoals}\n visitDate={visitDate}\n dataKey={goalsDataKey}\n goals={goals}\n handleValidateGoals={handleValidateGoals}\n handleGoalsChanges={handleGoalsChanges}\n />,\n keepMounted: false,\n },\n {\n title: 'Education',\n content: <EducationsComponent\n dataKey={educationsDataKey}\n education={education}\n handleEducationChanges={handleEducationChanges}\n />,\n keepMounted: false,\n },\n ]}/>\n </>\n )\n }\n\n return (\n <Box>\n {notesType !== NotesType.FollowUp && <Box>\n <TextFieldNoteComponent\n id=\"plan-text-input\"\n rows={3}\n title=''\n content={data.planText}\n handleChanged={handlePlanTextChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>}\n {notesType !== NotesType.Soap && <><Box mt={5}>\n {\n renderSection(\n 'Diet',\n 'dietGoals',\n data.dietGoals,\n 'dietEducations',\n data.dietEducations,\n notesQuery.getCommonGoals(GoalCategory.Diet),\n )\n }\n </Box>\n <Box mt={5}>\n {\n renderSection(\n 'Exercise/Recovery',\n 'exerciseGoals',\n data.exerciseGoals,\n 'exerciseEducations',\n data.exerciseEducations,\n notesQuery.getCommonGoals(GoalCategory.Exercise)\n )\n }\n </Box>\n <Box mt={5}>\n {\n renderSection(\n 'Sleep',\n 'sleepGoals',\n data.sleepGoals,\n 'sleepEducations',\n data.sleepEducations,\n notesQuery.getCommonGoals(GoalCategory.Sleep),\n )\n }\n </Box>\n <Box mt={5}>\n {\n renderSection(\n 'Neuro',\n 'neuroGoals',\n data.neuroGoals,\n 'neuroEducations',\n data.neuroEducations,\n notesQuery.getCommonGoals(GoalCategory.Neuro)\n )\n }\n </Box>\n\n <Box mt={5}>\n {\n renderSection(\n 'Longevity',\n 'longevityGoals',\n data.longevityGoals,\n 'longevityEducations',\n data.longevityEducations,\n notesQuery.getCommonGoals(GoalCategory.Longevity)\n )\n }\n </Box>\n\n <Box mt={5}>\n {\n renderSection(\n 'Mindfulness',\n 'mindfulnessGoals',\n data.mindfulnessGoals,\n 'mindfulnessEducations',\n data.mindfulnessEducations,\n notesQuery.getCommonGoals(GoalCategory.Mindfulness)\n )\n }\n </Box>\n {notesType !== NotesType.FollowUp && <Box mt={5}>\n <TextFieldNoteComponent\n id=\"coach-text-input-others\"\n rows={3}\n title='Other'\n className={commonClasses.textMedium}\n content={data.coachOtherText}\n handleChanged={handleCoachOtherTextChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n }\n </>}\n {notesType !== NotesType.FollowUp && <Box mt={5}>\n <Box>\n <span className={commonClasses.textMedium}>Labs</span>\n </Box>\n <Box mt={3}>\n <WildHealthButton\n id='note-order-labs-button'\n onClick={() => {\n navigationService.toPatientOrdersNewTab(props.patientId)\n }}\n >\n Order Labs\n </WildHealthButton>\n </Box>\n <Box mt={3}>\n <TextFieldNoteComponent\n id=\"labs-text-input\"\n rows={3}\n title=''\n content={data.labsText}\n handleChanged={handleLabTextChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n </Box>}\n </Box>\n );\n}","import Axios from 'axios-observable';\nimport {Observable, Subject} from 'rxjs';\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {GoalModel, GoalCommonModel, GoalCategory, InterventionModel} from '../models/notes.models';\nimport {NotesStore, notesStore} from '../stores/notes';\nimport {PaginationModel} from \"../../common/pagination/models/pagination-models\";\nimport {CallbackModel} from \"../../common/models/callback.model\";\n\n/**\n * Provides method for working with notes and identity\n */\nexport class GoalsService {\n private url = `${process.env.REACT_APP_API_URL}Goals`;\n\n public onView = new Subject<CallbackModel<GoalModel>>();\n\n constructor(private store: NotesStore) {\n }\n\n private getConfig = () => ({headers: authHeader()});\n\n public openView(goal: GoalModel): Observable<void> {\n return new Observable(observer => {\n this.onView.next({\n data: goal,\n callback: () => {\n observer.next();\n observer.complete();\n }\n });\n });\n }\n\n public getCurrentGoalsByPatient(): Observable<GoalModel[]> {\n const url = `${this.url}/my/current`;\n\n return new Observable((observer) => {\n Axios.get<GoalModel[]>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({currentGoals: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getPastGoalsByPatient(query: string, skip: number, take: number): Observable<PaginationModel<GoalModel>> {\n const url = `${this.url}/my/past?query=${query}&skip=${skip}&take=${take}`;\n\n return new Observable((observer) => {\n Axios.get<PaginationModel<GoalModel>>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({pastGoals: response.data.data, pastGoalsTotal: response.data.totalCount});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getCurrentGoalsByEmployee(patientId: number): Observable<GoalModel[]> {\n const url = `${this.url}/current?patientId=${patientId}`;\n\n return new Observable((observer) => {\n Axios.get<GoalModel[]>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({currentGoals: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getPastGoalsByEmployee(patientId: number, query: string, skip: number, take: number): Observable<PaginationModel<GoalModel>> {\n const url = `${this.url}/past?patientId=${patientId}&query=${query}&skip=${skip}&take=${take}`;\n\n return new Observable((observer) => {\n Axios.get<PaginationModel<GoalModel>>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({pastGoals: response.data.data, pastGoalsTotal: response.data.totalCount});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getAllCommonGoals(): Observable<GoalCommonModel[]> {\n const url = `${this.url}/Common`;\n\n return new Observable((observer) => {\n Axios.get<GoalCommonModel[]>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({commonGoals: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getCommonGoalsByCategory(category: GoalCategory): Observable<GoalCommonModel[]> {\n const url = `${this.url}/Common/${category}`;\n\n return new Observable((observer) => {\n Axios.get<GoalCommonModel[]>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getCommonGoalById(id: number): Observable<GoalCommonModel> {\n const url = `${this.url}/Common/Goal/${id}`;\n \n return new Observable(observer => {\n Axios.get<GoalCommonModel>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ targetCommonGoal: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public createCommonGoal(model: GoalCommonModel): Observable<GoalCommonModel> {\n const url = `${this.url}/Common/Goal`;\n \n return new Observable(observer => {\n Axios.post<GoalCommonModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.addCommonGoal(response.data);\n snackService.success(\"Common Goal successfully created!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public updateCommonGoal(model: GoalCommonModel): Observable<GoalCommonModel> {\n const url = `${this.url}/Common/UpdateGoal`;\n \n return new Observable(observer => {\n Axios.put<GoalCommonModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateCommonGoal(response.data);\n snackService.success(\"Common Goal successfully updated!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public createIntervention(model: InterventionModel): Observable<InterventionModel> {\n const url = `${this.url}/Common/Intervention`;\n \n return new Observable(observer => {\n Axios.post<InterventionModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.addIntervention(response.data);\n snackService.success(\"Intervention successfully created!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public updateIntervention(model: InterventionModel): Observable<InterventionModel> {\n const url = `${this.url}/Common/UpdateIntervention`;\n \n return new Observable(observer => {\n Axios.post<InterventionModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateIntervention(response.data);\n snackService.success(\"Intervention successfully updated!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public deleteCommonGoal(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/Common/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeCommonGoal(id);\n snackService.success('Common Goal successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteIntervention(goalId: number, interventionId: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/Common/${goalId}/Interventions/${interventionId}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeIntervention(interventionId);\n snackService.success('Intervention successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const goalsService = new GoalsService(notesStore);\n","import Axios from 'axios-observable';\nimport {Observable} from 'rxjs';\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {MdmCommonModel, MdmReasonModel} from '../models/notes.models';\nimport {NotesStore, notesStore} from '../stores/notes';\n\n/**\n * Provides method for working with MDM plans\n */\nexport class MdmPlansService {\n private url = `${process.env.REACT_APP_API_URL}MdmPlans`;\n\n constructor(private store: NotesStore) {\n }\n\n private getConfig = () => ({headers: authHeader()});\n\n public getAllCommonMdms(): Observable<MdmCommonModel[]> {\n const url = `${this.url}/Common`;\n\n return new Observable((observer) => {\n Axios.get<MdmCommonModel[]>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({commonMdms: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getCommonMdmById(id: number): Observable<MdmCommonModel> {\n const url = `${this.url}/Common/MdmPlan/${id}`;\n \n return new Observable(observer => {\n Axios.get<MdmCommonModel>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({ targetCommonMdm: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public createCommonMdmPlan(model: MdmCommonModel): Observable<MdmCommonModel> {\n const url = `${this.url}/Common/MdmPlan`;\n \n return new Observable(observer => {\n Axios.post<MdmCommonModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.addCommonMdm(response.data);\n snackService.success(\"Common Mdm Plan successfully created!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public updateCommonMdmPlan(model: MdmCommonModel): Observable<MdmCommonModel> {\n const url = `${this.url}/Common/UpdateMdmPlan`;\n \n return new Observable(observer => {\n Axios.put<MdmCommonModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateCommonMdm(response.data);\n snackService.success(\"Common Mdm Plan successfully updated!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public createMdmReason(model: MdmReasonModel): Observable<MdmReasonModel> {\n const url = `${this.url}/Common/MdmPlanReason`;\n \n return new Observable(observer => {\n Axios.post<MdmReasonModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.addReason(response.data);\n snackService.success(\"Mdm Reason successfully created!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public updateMdmReason(model: MdmReasonModel): Observable<MdmReasonModel> {\n const url = `${this.url}/Common/UpdateMdmPlanReason`;\n \n return new Observable(observer => {\n Axios.post<MdmReasonModel>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateReason(response.data);\n snackService.success(\"Mdm Reason successfully updated!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public deleteCommonMdmPlan(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/Common/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeCommonMdm(id);\n snackService.success('Common Mdm Plan successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteMdmReason(mdmId: number, reasonId: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/Common/${mdmId}/Reasons/${reasonId}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeReason(reasonId);\n snackService.success('Mdm Reason successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const mdmPlansService = new MdmPlansService(notesStore);\n","import Axios from 'axios-observable';\nimport {Observable} from 'rxjs';\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {SupplementItem} from '../models/notes.models';\nimport {NotesStore, notesStore} from '../stores/notes';\n\n/**\n * Provides method for working with Common supplements\n */\nexport class CommonSupplementsService {\n private url = `${process.env.REACT_APP_API_URL}Supplements`;\n\n constructor(private store: NotesStore) {\n }\n\n private getConfig = () => ({headers: authHeader()});\n\n public getAllCommonSupplements(): Observable<SupplementItem[]> {\n const url = `${this.url}/Common`;\n\n return new Observable((observer) => {\n Axios.get<SupplementItem[]>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({commonSupplements: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getCommonSupplementById(id: number): Observable<SupplementItem> {\n const url = `${this.url}/Common/${id}`;\n \n return new Observable(observer => {\n Axios.get<SupplementItem>(url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public createCommonSupplement(model: SupplementItem): Observable<SupplementItem> {\n const url = `${this.url}/Common`;\n \n return new Observable(observer => {\n Axios.post<SupplementItem>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.addCommonSupplement(response.data);\n snackService.success(\"Common Supplement successfully created!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public updateCommonSupplement(model: SupplementItem): Observable<SupplementItem> {\n const url = `${this.url}/Common`;\n \n return new Observable(observer => {\n Axios.put<SupplementItem>(url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateCommonSupplement(response.data);\n snackService.success(\"Common Supplement successfully updated!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public deleteCommonSupplement(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/Common/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeCommonSupplement(id);\n snackService.success('Common Supplement successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const commonSupplementsService = new CommonSupplementsService(notesStore);\n","import { Box, Table, TableBody, TableContainer, TableHead } from \"@material-ui/core\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport {RxntMedicationModel} from \"../../models/patientMedicationModel\";\nimport {toCurrentTimeZone} from \"../../../timezones/helpers/timezone\";\nimport moment from \"moment\";\nimport React from \"react\";\n\ninterface RxntMedicationsDCComponentProps {\n items: RxntMedicationModel[];\n}\n\nexport const RxntMedicationsDCComponent: React.FC<RxntMedicationsDCComponentProps> = (props: RxntMedicationsDCComponentProps) => {\n const {\n items\n } = props;\n\n if (!items || !items.length) {\n return (\n <Box m={1}>\n <WildHealthPlaceHolder message=\"No data\"/>\n </Box>\n );\n }\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n return (\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '40%' }}>\n <Box pl={2}>\n Name\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Number of refills\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Start Date\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Last Prescription Date\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n {item.name}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.dosingInstructions}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {item.numberOfRefills}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {displayDataValue(item.startDate)}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {displayDataValue(item.lastDatePrescribed)}\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n </Table>\n </TableContainer>\n )\n}\n","import React from \"react\";\nimport {Box} from \"@material-ui/core\";\nimport {useFacade} from \"./manageRxntButtonComponent.hooks\";\nimport {SecondaryButton} from \"../../../common/components/wildHealthButton/SecondaryButton\";\nimport AddIcon from \"@material-ui/icons/Add\";\n\ninterface ManageRxntButtonComponentProps {\n patientId: number;\n title?: string\n}\n\nexport const ManageRxntButtonComponent: React.FC<ManageRxntButtonComponentProps> = (props: ManageRxntButtonComponentProps) => {\n const {\n patientId,\n title\n } = props;\n\n const [\n handleLoginToRxNT\n ] = useFacade(patientId);\n\n return (\n <Box>\n <SecondaryButton id={`login-rxnt-button`} size=\"medium\" onClick={() => handleLoginToRxNT(patientId)}>\n <AddIcon/> {title ?? 'Manage RxNT'}\n </SecondaryButton>\n </Box>\n )\n}","import {RoutesConstants} from \"../../../../constants/route.constants\";\n\nexport function useFacade(patientId: number): [Function] {\n\n const handleLoginToRxNT = () => {\n window.open(RoutesConstants.loginRxNT + `?patientId=${patientId}`, \"_blank\")\n }\n\n return [handleLoginToRxNT];\n}","import React from \"react\";\nimport { Box, Table, TableBody, TableContainer, TableFooter, TableHead } from \"@material-ui/core\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport {ManageRxntButtonComponent} from \"../manageRxntButton/ManageRxntButtonComponent\";\nimport moment from \"moment\";\nimport {RxntMedicationModel} from \"../../models/patientMedicationModel\";\n\ninterface MedicationsRxntComponentProps {\n patientId: number;\n items: RxntMedicationModel[];\n}\n\nexport const MedicationsRxNTComponent: React.FC<MedicationsRxntComponentProps> = (props: MedicationsRxntComponentProps) => {\n const {\n items,\n patientId\n } = props;\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '40%' }}>\n <Box pl={2}>\n Name\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Number of refills\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Start Date\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Last Prescription Date\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n items.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <Box pl={2}>\n {\n item.name\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.dosingInstructions}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.numberOfRefills}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {displayDataValue(item.startDate)}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {displayDataValue(item.lastDatePrescribed)}\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n <TableFooter>\n <Box display='flex' alignItems='stretch' py={1}>\n <ManageRxntButtonComponent patientId={patientId}/>\n </Box>\n </TableFooter>\n </Table>\n </TableContainer>\n </Box>\n )\n}\n","import { Box, Button, Checkbox, CircularProgress, Divider, FormControlLabel, Grid, TextField } from \"@material-ui/core\";\nimport AddIcon from '@material-ui/icons/Add';\nimport DeleteOutlineIcon from '@material-ui/icons/DeleteOutline';\nimport { MaterialUiPickersDate } from \"@material-ui/pickers/typings/date\";\nimport clsx from \"clsx\";\nimport { default as React, useEffect, useMemo, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { interval } from 'rxjs';\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { PatientAppointmentModel } from \"../../../appointments/models/appointments.models\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { appointmentsQuery } from \"../../../appointments/stores/appointments\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthRadio } from \"../../../common/components/WildHealthRadio\";\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { useStylesSimpleTabs } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport { insertString } from \"../../../common/helpers/insert-string\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { selectShortcutService } from \"../../../healthReport/services/selectShortcut.service\";\nimport { MedicationsComponent } from \"../../../patientSupplements/components/medicationsComponent/MedicationsComponent\";\nimport {\n MedicationsDCComponent\n} from '../../../patientSupplements/components/medicationsSupplementsDCComponent/MedicationsDCComponent';\nimport {\n SupplementsDCComponent\n} from '../../../patientSupplements/components/medicationsSupplementsDCComponent/SupplementsDCComponent';\nimport { SupplementsComponent } from \"../../../patientSupplements/components/supplementsComponent/SupplementsComponent\";\nimport { medicationsService } from \"../../../patientSupplements/services/medications.service\";\nimport { supplementsService } from \"../../../patientSupplements/services/supplements.service\";\nimport {\n AppointmentConfigurationModel,\n FollowUpContent,\n GoalCategory,\n GoalModel,\n InterventionModel,\n MedicationItem,\n MedicationsSupplementsItem,\n NextTimeModel,\n NextTimeSpan,\n nextTimeSpanNames,\n NoteGoalsVersion,\n NoteModel,\n NotesGroupModel,\n NotesType,\n SaveNoteModel,\n SignOffNoteModel,\n StepModel,\n SupplementItem\n} from \"../../models/notes.models\";\nimport { notesService, SignOffModel } from \"../../services/notes.service\";\nimport { notesQuery } from \"../../stores/notes\";\nimport { CreateFollowUpComponentFieldNames, createFollowUpComponentValidator } from \"./createFollowUpComponent.validator\";\nimport monthlyCalendar from \"@img/icons/monthlyCalendar.svg\";\nimport timeCircle from \"@img/icons/timeCircle.svg\";\nimport moment from \"moment\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { SelectIntervalComponent } from '../selectIntervalComponent/SelectIntervalComponent';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { snackService } from \"../../../common/snack/state\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { SubscriptionModel } from \"../../../payment/models/subscription.models\";\nimport { SelectAppointmentToNotesDialog } from \"../SelectAppointmentToNotesComponent/SelectAppointmentToNotesDialog\";\nimport { OptionalComponent } from \"../../../common/components/OptionalComponent\";\nimport { TextFieldNoteComponent } from \"../textFieldNoteComponent/TextFieldNoteComponent\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { NotePlanComponent } from \"../notePlanComponent/NotePlanComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { ReactComponent as CalendarIcon } from \"@img/icons/CalendarIcon.svg\";\nimport { SignOffDialogComponent } from \"../signOffDIalogComponent/SignOffDialogComponent\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {canDiscardNote, isFutureAppointment} from \"../../helpers/noteHelpers\";\nimport { goalsService } from \"../../services/goals.service\";\nimport { mdmPlansService } from \"../../services/mdmPlans.service\";\nimport { commonSupplementsService } from \"../../services/commonSupplements.service\";\nimport {SelectDurationComponent} from \"../../../appointments/components/selectDuration/SelectDurationComonent\";\nimport {durations} from \"../../../appointments/models/times.models\";\nimport {FullscriptSupplementModel} from \"../../../patientSupplements/models/fullscriptSupplementModels\";\nimport {\n RxntMedicationsDCComponent\n} from \"../../../patientSupplements/components/medicationsSupplementsDCComponent/RxntMedicationsDCComponent\";\nimport {\n MedicationsRxNTComponent\n} from \"../../../patientSupplements/components/medicationsRxNTComponent/MedicationsRxNTComponent\";\n\nlet stateContext: CreateFollowUpComponentState = null;\n\ninterface CreateFollowUpComponentState extends IErrorState {\n isLoading: boolean;\n isChanged: boolean;\n isAutoSaving: boolean;\n isProcessing: boolean,\n isPrefilled: boolean;\n isNew: boolean;\n note: NoteModel;\n patientSubscription: SubscriptionModel;\n prewNote: any;\n title: string;\n internalContent: string;\n content: FollowUpContent;\n visitDate: Date;\n\n appointments: PatientAppointmentModel[];\n\n enableCoachNextAppointment: boolean;\n selectedCoachNextTimeMode: NextTimeModel;\n selectedCoachNextTimeSpan: NextTimeSpan;\n selectedCoachNextTimeQuantity: number;\n enableProviderNextAppointment: boolean;\n selectedProviderNextTimeMode: NextTimeModel;\n selectedProviderNextTimeSpan: NextTimeSpan;\n selectedProviderNextTimeQuantity: number;\n isFirstSaveOriginalNote: boolean;\n originalNote?: NoteModel;\n isCommonMdmLoading: boolean;\n isCommonGoalLoading: boolean;\n isCommonSupplementLoading: boolean;\n selectedTab: number;\n}\n\nconst coachNextAppointmentTimes =\n [\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 1,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 2,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 3,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Week,\n quantity: 1,\n isManual: true\n },\n ] as NextTimeModel[];\n\nconst defaultCoachAppointmentTime = coachNextAppointmentTimes[0];\n\nconst providerNextAppointmentTimes =\n [\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 3,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 6,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Year,\n quantity: 1,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 1,\n isManual: true\n },\n ] as NextTimeModel[];\n\nconst defaultProviderAppointmentTime = providerNextAppointmentTimes[0];\n\nlet ignoreChangesEvent = false;\n\nconst manualTimeSpans = [NextTimeSpan.Week, NextTimeSpan.Month, NextTimeSpan.Year];\n\nexport function useFacade(patientId: number, note: NoteModel | null, classes: any, commonClasses: any, handleGoToNotes: Function, appointmentId: number | null, appointmentConfiguration: AppointmentConfigurationModel | null, originalNote: NoteModel | null): [\n CreateFollowUpComponentState,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n string,\n JSX.Element,\n] {\n const noteName = \"Follow-Up\";\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [isOpen, setIsOpen] = useState(false);\n const [state, setState] = useState({\n isLoading: true,\n isChanged: false,\n isAutoSaving: false,\n isProcessing: false,\n isPrefilled: false,\n isNew: true,\n note: note,\n patientSubscription: null,\n prewNote: {},\n title: note?.title || '',\n internalContent: '',\n content: {\n todayCoachingContent: '',\n goalsVersion: NoteGoalsVersion.New,\n appointmentConfiguration: appointmentConfiguration,\n goals: [],\n steps: [],\n plan: {\n dietGoals: [],\n exerciseGoals: [],\n sleepGoals: [],\n neuroGoals: [],\n longevityGoals: [],\n mindfulnessGoals: [],\n labsGoals: [],\n },\n medicationsSupplements: {\n medications: [],\n supplements: [],\n rxntMedications: [],\n fullscriptSupplements: []\n },\n },\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n visitDate: appointmentConfiguration?.visitDate ?? new Date(),\n\n appointments: [],\n\n enableCoachNextAppointment: false,\n selectedCoachNextTimeMode: defaultCoachAppointmentTime,\n selectedCoachNextTimeSpan: defaultCoachAppointmentTime.timeSpan,\n selectedCoachNextTimeQuantity: defaultCoachAppointmentTime.quantity,\n selectedProviderNextTimeMode: defaultProviderAppointmentTime,\n enableProviderNextAppointment: false,\n selectedProviderNextTimeSpan: defaultProviderAppointmentTime.timeSpan,\n selectedProviderNextTimeQuantity: defaultProviderAppointmentTime.quantity,\n errors: {},\n isFirstSaveOriginalNote: !!originalNote,\n originalNote: originalNote,\n isCommonMdmLoading: true,\n isCommonGoalLoading: true,\n isCommonSupplementLoading: true,\n selectedTab: 0\n } as CreateFollowUpComponentState);\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.main }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />;\n\n stateContext = state;\n\n const isCanCompleteNote = () => {\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const handleSaveAsDraft = () => {\n if (!createFollowUpComponentValidator.stateIsValid(state)) {\n return;\n }\n\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoToNotes()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n }\n );\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoToNotes()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n }\n );\n }\n\n const handleSaveAndComplete = () => {\n validateContent(state.content);\n\n if (!createFollowUpComponentValidator.stateIsValid(state)) {\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsCompleted(getData(state)).subscribe(\n () => handleGoToNotes(),\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n });\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoToNotes();\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoToNotes());\n }\n\n const handleInternalNotesChanged = (value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.internalNote, value);\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent: value\n }));\n }\n\n const handleInternalNotesTextChanged = (value: string) => {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.internalNote, value);\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent: value\n }));\n }\n\n const handleTodayCoachingContentChanged = (value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.internalNote, value);\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n todayCoachingContent: value\n }\n }));\n }\n\n const handleTodayCoachingContentTextChanged = (value: string) => {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.internalNote, value);\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n todayCoachingContent: value\n }\n }));\n }\n\n\n const handleOnKeyDownInternal = (event: any, id: string) => {\n ignoreChangesEvent = false;\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleInternalNotesTextChanged(insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n\n const handleOnKeyDownTodayCoaching = (event: any, id: string) => {\n ignoreChangesEvent = false;\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleTodayCoachingContentTextChanged(insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n\n const handleOnInternalNotesChanged = (value: string) => {\n handleInternalNotesChanged(value);\n }\n\n const getNextAppointmentDate = (isProvider: boolean): Date => {\n const nextAppointmentEnabled = isProvider ? state.enableProviderNextAppointment : state.enableCoachNextAppointment;\n if (!nextAppointmentEnabled) {\n return null;\n }\n\n const date = new Date();\n const targetTimeSpan = isProvider ? state.selectedProviderNextTimeSpan : state.selectedCoachNextTimeSpan;\n const targetQuantity = isProvider ? state.selectedProviderNextTimeQuantity : state.selectedCoachNextTimeQuantity;\n\n switch (targetTimeSpan) {\n case NextTimeSpan.Week:\n return moment(date).add(targetQuantity, 'w').toDate();\n case NextTimeSpan.Month:\n return moment(date).add(targetQuantity, 'M').toDate();\n case NextTimeSpan.Year:\n return moment(date).add(targetQuantity, 'y').toDate();\n }\n\n return null;\n }\n\n const getData = (state: CreateFollowUpComponentState): SaveNoteModel => {\n return {\n id: state.note?.id,\n content: JSON.stringify(state.content),\n internalContent: state.internalContent,\n name: noteName,\n title: state.title,\n type: NotesType.FollowUp,\n visitDate: state.visitDate,\n patientId: patientId,\n logs: [],\n nextCoachAppointmentDate: getNextAppointmentDate(false),\n nextProviderAppointmentDate: getNextAppointmentDate(true),\n appointmentId: state.note ? state.note.appointment?.id : appointmentId,\n version: state.note?.version,\n originalNoteId: state.originalNote?.id\n }\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: noteName,\n title: state.originalNote.title,\n type: NotesType.FollowUp,\n visitDate: state.visitDate,\n patientId: patientId,\n internalContent: state.internalContent,\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: getNextAppointmentDate(false),\n nextProviderAppointmentDate: getNextAppointmentDate(true),\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleNoteTitleChange = (value: string) => {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.noteTitle, value);\n setState(state => ({\n ...state,\n isChanged: true,\n title: value\n }));\n }\n\n const titleTextBox = (\n <TextField\n label='Enter title'\n type='text'\n size=\"small\"\n variant=\"outlined\"\n id='title'\n value={state.title}\n helperText={state.errors['title']}\n error={!!state.errors['title']}\n disabled={state.isProcessing}\n InputProps={{ className: 'input' }}\n onChange={(e) => {\n handleNoteTitleChange(e.target.value);\n }}\n />\n )\n\n const handleVisitDateChanges = (momentDate: MaterialUiPickersDate) => {\n setState({\n ...state,\n isChanged: true,\n visitDate: momentDate?.toDate()\n });\n }\n\n const handleAddNewGoal = () => {\n const id = Date.now();\n state.content.goals.push({\n id: id,\n name: '',\n date: null,\n category: GoalCategory.Other,\n isCompleted: null,\n isTopGoal: false,\n completionDate: null,\n interventions: []\n });\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleGoalNameChange = (goal: GoalModel, value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n goal.name = value;\n setState(state => ({ ...state, isChanged: true }));\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.goalName, value, goal.id.toString());\n }\n\n const handleGoalNameTextChange = (goal: GoalModel, value: string) => {\n goal.name = value;\n setState(state => ({ ...state, isChanged: true }));\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.goalName, value, goal.id.toString());\n }\n\n const handleOnKeyDownGoal = (event: any, id: string, goalId: number,) => {\n ignoreChangesEvent = false;\n const goal = state.content.goals.find(i => i.id === goalId);\n if (goal) {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = goal.name;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleGoalNameTextChange(goal, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n }\n\n const handleOnGoalNameChange = (value: string, goalId: number,) => {\n const goal = state.content.goals.find(i => i.id === goalId);\n if (goal) {\n handleGoalNameChange(goal, value);\n }\n }\n\n const handleRemoveGoal = (goalId: number) => {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.goalName, ' ', goalId.toString());\n state.content.goals = state.content.goals.filter(i => i.id !== goalId);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleAddNewIntervention = (goalId: number) => {\n const goal = state.content.goals.find(i => i.id === goalId);\n if (goal) {\n const id = Date.now();\n goal.interventions.push({ id: id, name: '' });\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleInterventionChange = (goalId: number, intervention: InterventionModel, value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n intervention.name = value;\n setState(state => ({ ...state, isChanged: true }));\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.interventionName, value, goalId.toString() + intervention.id.toString());\n }\n\n const handleValidateGoals = (goalName: string, id: number) => {\n return false;\n }\n\n const handleInterventionTextChange = (goalId: number, intervention: InterventionModel, value: string) => {\n intervention.name = value;\n setState(state => ({ ...state, isChanged: true }));\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.interventionName, value, goalId.toString() + intervention.id.toString());\n }\n\n const handleOnKeyDownGoalInervention = (event: any, id: string, goalId: number, interventionId: number) => {\n ignoreChangesEvent = false;\n const goal = state.content.goals.find(i => i.id === goalId);\n if (goal) {\n const intervention = goal.interventions.find(i => i.id === interventionId);\n if (intervention) {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = intervention.name;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleInterventionTextChange(goalId, intervention, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n }\n }\n\n const handleOnInterventionChange = (value: string, goalId: number, interventionId: number) => {\n const goal = state.content.goals.find(i => i.id === goalId);\n if (goal) {\n const intervention = goal.interventions.find(i => i.id === interventionId);\n if (intervention) {\n handleInterventionChange(goalId, intervention, value);\n }\n }\n }\n\n const handleRemoveIntervention = (goalId: number, interventionId: number) => {\n const goal = state.content.goals.find(i => i.id === goalId);\n if (goal) {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.interventionName, ' ', goalId.toString() + interventionId.toString());\n goal.interventions = goal.interventions.filter(i => i.id !== interventionId);\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleAddNewNextStep = () => {\n const id = Date.now();\n state.content.steps.push({ id: id, name: '' });\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleNextStepChange = (step: StepModel, value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n step.name = value;\n setState(state => ({ ...state, isChanged: true }));\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.nextStepName, value, step.id.toString());\n }\n\n const handleNextStepTextChange = (step: StepModel, value: string) => {\n step.name = value;\n setState(state => ({ ...state, isChanged: true }));\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.nextStepName, value, step.id.toString());\n }\n\n\n const handleOnKeyDownNextStep = (event: any, id: string, stepId: number) => {\n ignoreChangesEvent = false;\n const step = state.content.steps.find(i => i.id === stepId);\n if (step) {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = step.name;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleNextStepTextChange(step, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n }\n\n const handleOnNextStepChange = (value: string, stepId: number) => {\n const step = state.content.steps.find(i => i.id === stepId);\n if (step) {\n handleNextStepChange(step, value);\n }\n }\n\n\n const handleRemoveNextStep = (stepId: number) => {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.nextStepName, ' ', stepId.toString());\n state.content.steps = state.content.steps.filter(i => i.id !== stepId);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMedicationsIsStoppedChange = (list: MedicationsSupplementsItem[], id: number, isChecked: boolean) => {\n const item = list.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleAddMedications = (medication: MedicationItem) => {\n medication.id = Date.now();\n state.content.medicationsSupplements.medications.push(medication);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleAddSupplements = (supplement: SupplementItem) => {\n state.content.medicationsSupplements.supplements.push({\n ...supplement,\n id: Date.now() + Math.floor(Math.random() * 100),\n });\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleFullscriptSupplements = (supplements: FullscriptSupplementModel[]) => {\n // init array if it's null. required for notes compatibility\n // which created before feature released\n if (!state.content.medicationsSupplements.fullscriptSupplements) {\n state.content.medicationsSupplements.fullscriptSupplements = [];\n }\n state.content.medicationsSupplements.fullscriptSupplements.push(...supplements);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleEditMedications = (medication: MedicationItem) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === medication.id);\n if (item) {\n item.name = medication.name;\n item.dosage = medication.dosage;\n item.instructions = medication.instructions;\n item.startDate = medication.startDate;\n\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleEditSupplements = (supplement: SupplementItem) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === supplement.id);\n if (item) {\n item.name = supplement.name;\n item.dosage = supplement.dosage;\n item.instructions = supplement.instructions;\n item.purchaseLink = supplement.purchaseLink;\n\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleRemoveMedications = (id: number) => {\n state.content.medicationsSupplements.medications = state.content.medicationsSupplements.medications.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleRemoveSupplements = (id: number) => {\n state.content.medicationsSupplements.supplements = state.content.medicationsSupplements.supplements.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const getTimeLabel = (quantity: number, timeSpan: NextTimeSpan, isManual: boolean, displayQuantity: boolean): string => {\n return isManual\n ? 'Manual'\n : `${displayQuantity ? `${quantity} ` : ''} ${nextTimeSpanNames[timeSpan]}${quantity > 1 ? 's' : ''}`;\n }\n\n const handleCoachNextAppointmentChange = (value: boolean) => {\n setState({ ...state, enableCoachNextAppointment: value });\n }\n\n const handleCoachNextTimeModeChange = (timeModel: NextTimeModel) => {\n setState({ ...state, selectedCoachNextTimeMode: timeModel, selectedCoachNextTimeQuantity: timeModel.quantity, selectedCoachNextTimeSpan: timeModel.timeSpan })\n }\n\n const handleCoachNextTimeSpanChange = (timeSpan: NextTimeSpan) => {\n setState({ ...state, selectedCoachNextTimeSpan: timeSpan });\n }\n\n const handleCoachNextTimeQuantityChange = (quantity: number) => {\n if (!quantity) {\n setState({ ...state, selectedCoachNextTimeQuantity: 0 });\n } else {\n setState({ ...state, selectedCoachNextTimeQuantity: Math.trunc(quantity) });\n }\n }\n\n const handleAppointmentChanges = (appointmentId: number) => {\n if (state.note?.appointment?.id === appointmentId) {\n return;\n }\n\n const model = getData(state);\n\n model.appointmentId = appointmentId;\n\n notesService.saveAsDraft(model, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n const handleSelectAppointmentSubmit = (appointmentId: number) => {\n if (!appointmentId) {\n if (!patientsQuery.getTargetPatient()?.isPremium) {\n snackService.error(\"There was an error while attaching a note.\");\n }\n } else {\n handleAppointmentChanges(appointmentId);\n }\n\n setIsOpen(false);\n }\n\n const handleChangeTab = (tab: number) => {\n setState(state => ({\n ...state,\n selectedTab: tab,\n }));\n }\n\n const finalVisitDate = state.note?.appointment\n ? state.note.appointment.date\n : state.note?.visitDate\n ? state.note.visitDate\n : state.visitDate;\n\n const getTime = () => {\n return moment(finalVisitDate).format('HH:mm');\n }\n\n const handleTimeChanges = (time: string) => {\n const hoursMinutes = time.split(\":\");\n const dateResult = new Date(finalVisitDate);\n dateResult.setHours(+hoursMinutes[0], +hoursMinutes[1]);\n\n setState({\n ...state,\n isChanged: true,\n visitDate: new Date(dateResult),\n note: {\n ...state.note,\n visitDate: new Date(dateResult)\n }\n });\n }\n\n const handleChangeDuration = (durationValue: number) => {\n const selectedDuration = durations.find(x => x.value === durationValue);\n const content = state.content;\n content.appointmentConfiguration.duration = selectedDuration.value;\n setState(state => ({ ...state, content: content, isChanged: true }));\n }\n\n const noteTitle = (\n <Box>\n <Box display=\"flex\" justifyContent=\"space-between\" mb={2} mt={2}>\n <Box />\n <Box display=\"flex\" alignItems=\"center\">\n {\n state.note?.appointment\n ? <>\n <Box mr={1}>Appointment Date:</Box>\n <WildHealthButton\n width={256}\n size=\"medium\"\n style={{ whiteSpace: 'nowrap' }}\n color=\"datePicker\"\n id='sing-physical-history'\n onClick={() => setIsOpen(true)}\n >\n <span>{moment(finalVisitDate).format(\"MM/DD/yyyy\")}</span>\n <CalendarIcon />\n </WildHealthButton>\n </>\n : <>\n <Box>\n <Box pb={1}>\n <span className=\"wh-tw-text-sm wh-tw-font-gray1\">Appointment Date</span>\n </Box>\n <WildHealthDatePicker\n required\n size=\"small\"\n openTo=\"year\"\n format=\"MM/DD/yyyy\"\n id='AppointmentDate'\n placeholder=\"mm-dd-yyyy\"\n useKeyboardDatePicker\n value={finalVisitDate}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleVisitDateChanges(momentDate)}\n />\n </Box>\n <Box ml={3}>\n <Box pb={1}>\n <span className=\"wh-tw-text-sm wh-tw-font-gray1\">Time</span>\n </Box>\n <TextField\n id=\"time\"\n size=\"small\"\n className={classes.timePicker}\n type=\"time\"\n fullWidth\n variant=\"outlined\"\n value={getTime()}\n onChange={(e)=>{ handleTimeChanges(e.target.value)}}\n InputLabelProps={{\n shrink: true,\n }}\n inputProps={{\n step: 300, // 5 min\n }}\n />\n </Box>\n <Box ml={3}>\n <SelectDurationComponent\n durations={durations.filter(x => x.patientMode)}\n selected={durations.find(x => x.value === state.content?.appointmentConfiguration?.duration)}\n handleChange={(v) => handleChangeDuration(v)}\n />\n </Box>\n </>\n }\n </Box>\n </Box>\n <TextFieldNoteComponent\n isFollowUp\n rows={10}\n uppercase={true}\n id='internal-notes'\n title='Internal Notes'\n content={state.internalContent}\n className={classes.title}\n handleChanged={handleOnInternalNotesChanged}\n handleKeyDown={handleOnKeyDownInternal}\n error={!!state.errors[CreateFollowUpComponentFieldNames.internalNote]}\n helperText={state.errors[CreateFollowUpComponentFieldNames.internalNote]}\n />\n <OptionalComponent>\n <SelectAppointmentToNotesDialog\n handleSubmitSelectAppointment={(appointmentId) => handleSelectAppointmentSubmit(appointmentId)}\n handleChangeSelectAppointment={() => { }}\n handleSelectAppointmentDialog={(isOpen) => setIsOpen(isOpen)}\n isOpen={isOpen}\n patientId={patientId} />\n </OptionalComponent>\n </Box>\n );\n\n const todayCoaching = (\n <>\n <Box className={classes.title}>\n <span className=\"wh-tw-uppercase\">\n {'Today’s Coaching'}\n </span>\n </Box>\n <Box>\n <TextFieldNoteComponent\n isFollowUp\n rows={10}\n id='today-coaching-notes'\n content={state.content.todayCoachingContent}\n className={classes.title}\n handleChanged={handleTodayCoachingContentChanged}\n handleKeyDown={handleOnKeyDownTodayCoaching}\n />\n </Box>\n </>\n )\n\n const recommendedListTabs = [\n {\n title: 'Medications',\n content: (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n <MedicationsComponent\n items={state.content.medicationsSupplements.medications.filter(i => !i.isInCurrent)}\n handleAddMedications={handleAddMedications}\n handleEditMedications={handleEditMedications}\n handleRemoveMedications={handleRemoveMedications}\n />\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n <MedicationsRxNTComponent\n patientId={patientId}\n items={state.content.medicationsSupplements.rxntMedications?.filter(i => !i.isInCurrent) ?? []}\n />\n </FeatureComponent>\n </>\n ),\n keepMounted: true,\n },\n {\n title: 'Supplements',\n content: (\n <SupplementsComponent\n patientId={patientId}\n items={state.content.medicationsSupplements.supplements.filter(i => !i.isInCurrent)}\n fullscriptSupplements={state.content.medicationsSupplements.fullscriptSupplements}\n handleAddSupplements={handleAddSupplements}\n handleFullscriptSupplements={handleFullscriptSupplements}\n handleEditSupplements={handleEditSupplements}\n handleRemoveSupplements={handleRemoveSupplements}\n />\n ),\n keepMounted: true,\n },\n ];\n\n const currentListTabs = [\n {\n title: 'Medications',\n content: (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n <MedicationsDCComponent\n items={state.content.medicationsSupplements.medications.filter(i => i.isInCurrent)}\n handleMedicationsIsStoppedChange={(id: number, isChecked: boolean) => handleMedicationsIsStoppedChange(state.content.medicationsSupplements.medications, id, isChecked)}\n />\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n <RxntMedicationsDCComponent items={state.content.medicationsSupplements.rxntMedications}/>\n </FeatureComponent>\n </>\n ),\n keepMounted: true,\n },\n {\n title: 'Supplements',\n content: (\n <SupplementsDCComponent\n items={state.content.medicationsSupplements.supplements.filter(i => i.isInCurrent)}\n handleMedicationsIsStoppedChange={(id: number, isChecked: boolean) => handleMedicationsIsStoppedChange(state.content.medicationsSupplements.supplements, id, isChecked)}\n />\n ),\n keepMounted: true,\n },\n ];\n\n\n const handleGoalsChanges = (field: string, goals: GoalModel[]) => {\n state.content.plan[field] = goals;\n setState({ ...state, isChanged: true });\n }\n\n const handleEducationChanges = (field: string, educations: string) => {\n state.content.plan[field] = educations;\n setState({ ...state, isChanged: true });\n }\n\n const goals = (\n <Box my={2}>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box className={classes.title}>\n <span className='uppercase'>Goals</span>\n </Box>\n\n {state.content?.goalsVersion !== NoteGoalsVersion.New\n && <Button id=\"create-follow-up-add-goal\" onClick={() => handleAddNewGoal()}>\n <AddIcon />\n Add New Goal\n </Button>}\n </Box>\n {state.content?.goalsVersion === NoteGoalsVersion.New\n ? <NotePlanComponent\n notesType={NotesType.FollowUp}\n handleValidateGoals={handleValidateGoals}\n data={state.content.plan}\n visitDate={state.visitDate}\n patientId={patientId}\n handleGoalsChanges={handleGoalsChanges}\n handleEducationChanges={handleEducationChanges}\n />\n : <Box>\n {\n state.content?.goals?.length ?\n state.content.goals.map((goal, goalIndex) =>\n <Box mt={5} key={goalIndex}>\n <Grid container spacing={1}>\n <Grid key={goal.id} item xs={6}>\n <Box display=\"flex\">\n <TextFieldNoteComponent\n isFollowUp\n uppercase\n className={classes.sectionTitle}\n rows={1}\n title={`Goal ${goalIndex + 1}`}\n label=\"Goal Name\"\n id={`goal-${goal.id}-name`}\n content={goal.name}\n handleChanged={handleOnGoalNameChange}\n handleKeyDown={handleOnKeyDownGoal}\n error={!!state.errors[CreateFollowUpComponentFieldNames.goalName + goal.id]}\n helperText={state.errors[CreateFollowUpComponentFieldNames.goalName + goal.id]}\n key={`goal-${goal.id}-name`}\n key2={goal.id}\n />\n <Box>\n <Button\n id=\"create-follow-up-add-goal\"\n onClick={() => handleRemoveGoal(goal.id)}\n color='secondary'\n >\n <DeleteOutlineIcon />\n </Button>\n </Box>\n </Box>\n </Grid>\n <Grid item xs={6} />\n\n </Grid>\n\n <Box my={2}>\n <Button id=\"create-follow-up-add-intervention\" onClick={() => handleAddNewIntervention(goal.id)}>\n <AddIcon />\n Add Intervention\n </Button>\n </Box>\n\n <Grid\n container\n spacing={1}\n direction=\"row\"\n justify=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {\n goal.interventions.map((intervention, interventionIndex) =>\n <Grid item xs={6} key={interventionIndex}>\n <Box mr={1}>\n <Box key={intervention.id} display=\"flex\" mb={2}>\n <TextFieldNoteComponent\n isFollowUp\n uppercase\n className={classes.sectionTitle}\n rows={5}\n title={`Intervention ${interventionIndex + 1}`}\n label=\"Intervention Name\"\n id={`intervention-${intervention.id}-name`}\n content={intervention.name}\n handleChanged={handleOnInterventionChange}\n handleKeyDown={handleOnKeyDownGoalInervention}\n error={!!state.errors[CreateFollowUpComponentFieldNames.interventionName + goal.id + intervention.id]}\n helperText={state.errors[CreateFollowUpComponentFieldNames.interventionName + goal.id + intervention.id]}\n key={`intervention-${intervention.id}-name`}\n key2={goal.id}\n key3={intervention.id}\n />\n <Box>\n\n <Box mb={1}>\n <Button\n id=\"create-follow-up-remove-intervention\"\n onClick={() => handleRemoveIntervention(goal.id, intervention.id)}\n color='secondary'\n >\n <DeleteOutlineIcon />\n </Button>\n </Box>\n </Box>\n </Box>\n </Box>\n </Grid>\n )\n }\n </Grid>\n </Box>\n ) :\n <Box my={2}>\n <WildHealthPlaceHolder message=\"No goals yet.\" />\n </Box>\n }\n </Box>\n }\n <Divider className={classes.divider} />\n </Box>\n );\n\n let coachAppointment;\n\n const displayAppointmentDate = (appointment: PatientAppointmentModel) => {\n return (\n <Box display=\"flex\" alignItems=\"center\" mt={2}>\n <Box>\n <img alt=\"Monthly calendar\" src={monthlyCalendar} />\n </Box>\n <Box ml={1}>\n <span>{moment(appointment.startDate).format('dddd DD, MMMM yyyy')}</span>\n </Box>\n <Box ml={2}>\n <img alt=\"Time circle\" src={timeCircle} />\n </Box>\n <Box ml={1}>\n <span>{moment(appointment.startDate).format('HH:mm')}</span>\n </Box>\n </Box>\n )\n }\n\n\n const renderNextAppointmentDates = () => {\n return (\n (state.prewNote.nextCoachAppointmentDate && moment(state.prewNote.nextCoachAppointmentDate) > moment(new Date()))\n || (state.prewNote.nextProviderAppointmentDate && moment(state.prewNote.nextProviderAppointmentDate) > moment(new Date()))\n ?\n <Box mb={4}>\n <Box mb={2}>\n <span className={clsx(commonClasses.textMedium, commonClasses.size16, commonClasses.colorGray1)}>Previous Note Appointment Times</span>\n </Box>\n {state.patientSubscription && <Box display='flex' justifyContent='space-between' width={0.25}>\n <Box>\n <span>Plan start date:</span>\n </Box>\n <Box>\n <span>{moment(toCurrentTimeZone(state.patientSubscription.startDate)).format('MM-DD-YYYY')}</span>\n </Box>\n </Box>\n }\n {state.prewNote.nextCoachAppointmentDate &&\n <Box display='flex' justifyContent='space-between' width={0.25}>\n <Box>\n <span>Coach Visit:</span>\n </Box>\n <Box>\n <span>{moment(toCurrentTimeZone(state.prewNote.nextCoachAppointmentDate)).format('MM-DD-YYYY')}</span>\n </Box>\n </Box>\n }\n {state.prewNote.nextProviderAppointmentDate &&\n <Box display='flex' justifyContent='space-between' width={0.25}>\n <Box>\n <span>Provider Visit:</span>\n </Box>\n <Box>\n <span>{moment(toCurrentTimeZone(state.prewNote.nextProviderAppointmentDate)).format('MM-DD-YYYY')}</span>\n </Box>\n </Box>\n }\n </Box>\n : <></>\n )\n }\n\n const nextAppointments = (\n <Box my={2}>\n <Box mb={2}>\n <span className={clsx(commonClasses.textMedium, commonClasses.size16)}>Next Appointment</span>\n </Box>\n {renderNextAppointmentDates()}\n <Divider />\n <Box mt={2}>\n <Box display=\"flex\" alignItems=\"center\">\n <FormControlLabel\n control={\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.enableCoachNextAppointment}\n onChange={(e) => handleCoachNextAppointmentChange(e.target.checked)}\n />\n }\n label={<Box component=\"div\" fontWeight={400}>Coach Visit</Box>}\n />\n </Box>\n {\n Boolean(coachAppointment)\n ? <>\n {\n displayAppointmentDate(coachAppointment)\n }\n </>\n : <>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n {\n coachNextAppointmentTimes.map((time, index) => (\n <Box key={index} display=\"flex\" alignItems=\"center\" mr={2}>\n <Box>\n <WildHealthRadio\n checked={(time.timeSpan === state.selectedCoachNextTimeMode.timeSpan && time.quantity === state.selectedCoachNextTimeMode.quantity) || (time.isManual && state.selectedCoachNextTimeMode.isManual)}\n onChange={() => handleCoachNextTimeModeChange(time)}\n disabled={!state.enableCoachNextAppointment}\n />\n </Box>\n <Box>\n <span>{getTimeLabel(time.quantity, time.timeSpan, time.isManual, true)}</span>\n </Box>\n </Box>\n ))\n }\n </Box>\n {\n state.selectedCoachNextTimeMode.isManual &&\n <Box ml={1} mt={1} display=\"flex\" alignItems=\"center\">\n <Box width={150}>\n <TextField\n InputProps={{ inputProps: { min: 1 } }}\n value={state.selectedCoachNextTimeQuantity}\n onChange={(v) => handleCoachNextTimeQuantityChange(+v.target.value as number)}\n variant=\"outlined\"\n size=\"small\"\n disabled={!state.enableCoachNextAppointment}\n />\n </Box>\n <Box ml={1} width={150}>\n <SelectIntervalComponent\n handleChange={handleCoachNextTimeSpanChange}\n disabled={!state.enableCoachNextAppointment}\n items={manualTimeSpans}\n selected={state.selectedCoachNextTimeSpan}\n />\n </Box>\n </Box>\n }\n </>\n }\n\n </Box>\n </Box>\n )\n\n const renderViewElement = (supplement: SupplementItem) =>\n <Box display='flex' key={supplement.id} mr={1.5} mb={1.5} className={classes.rootView}>\n <Box>\n {supplement.name}\n </Box>\n <Box\n id=\"select-common-supplements-follow-up\"\n className={classes.button}\n onClick={() => {\n handleChangeTab(1)\n handleAddSupplements(supplement)\n }}>\n <AddIcon fontSize='small' />\n </Box>\n </Box>\n\n const renderCommonSupplements = () => {\n return <Box mb={3} mt={1}>\n <Box className={commonClasses.colorGray1}>Common Supplements</Box>\n <Box mt={1.5} display='flex' flexWrap='wrap'>\n {notesQuery.getCommonSupplements().map(supplement => renderViewElement(supplement))}\n </Box>\n </Box>\n }\n\n const supplements = (\n <Box my={2}>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box className={classes.title}>\n <span className='uppercase'>Supplements</span>\n </Box>\n\n <Box />\n </Box>\n {renderCommonSupplements()}\n <Box my={1}>\n <Grid container>\n <Grid item xs={12} sm={6}>\n <Box>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box alignItems=\"center\" className={classes.sectionTitle} py={1}>\n <span className='uppercase'>Recommended List</span>\n </Box>\n </Box>\n <Box className={classes.recommendedList}>\n <WildHealthTabControl items={recommendedListTabs} className={useStylesSimpleTabs()} initTab={state.selectedTab} onChangeCB={handleChangeTab} />\n </Box>\n </Box>\n </Grid>\n\n <Grid item xs={12} sm={6}>\n <Box>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box className={classes.sectionTitle} py={1}>\n <span className='uppercase'>Current List</span>\n </Box>\n </Box>\n <WildHealthTabControl items={currentListTabs} className={useStylesSimpleTabs()} />\n </Box>\n </Grid>\n </Grid>\n </Box>\n <Divider className={classes.divider} />\n </Box>\n );\n\n const nextSteps = (\n <Box my={2}>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box className={classes.title}>\n <span className='uppercase'>Next Steps</span>\n </Box>\n\n <Button id=\"create-follow-up-add-new-step\" onClick={() => handleAddNewNextStep()}>\n <AddIcon />\n Add New Step\n </Button>\n </Box>\n <Box>\n {\n state.content.steps.length ?\n state.content.steps.map((item, index) =>\n <Box key={index} my={2} display='flex'>\n <TextFieldNoteComponent\n isFollowUp\n rows={1}\n uppercase\n title={`step ${index + 1}`}\n label=\"Next Step Name\"\n id={`next-step-${item.id}-name`}\n content={item.name}\n handleChanged={handleOnNextStepChange}\n handleKeyDown={handleOnKeyDownNextStep}\n error={!!state.errors[CreateFollowUpComponentFieldNames.nextStepName + item.id]}\n helperText={state.errors[CreateFollowUpComponentFieldNames.nextStepName + item.id]}\n key={`next-step-${item.id}-name`}\n key2={item.id}\n />\n <Box mt={5.5}>\n <Button\n id=\"create-follow-up-remove-next-step\"\n onClick={() => handleRemoveNextStep(item.id)}\n color='secondary'\n >\n <DeleteOutlineIcon />\n </Button>\n </Box>\n </Box>\n ) :\n <Box my={2}>\n <WildHealthPlaceHolder message=\"No next steps yet.\" />\n </Box>\n }\n </Box>\n </Box>\n );\n\n const endOfTemplate = (\n <>\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(stateContext.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n <SignOffDialogComponent />\n </>\n );\n\n const validateContent = (content: FollowUpContent) => {\n if (state.content?.goalsVersion !== NoteGoalsVersion.New) {\n content.goals && content.goals.forEach((goal) => {\n createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.goalName, goal.name, goal.id.toString());\n\n goal.interventions.forEach((item) => createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.interventionName, item.name, goal.id.toString() + item.id.toString()));\n });\n }\n\n content.steps.forEach((item) => createFollowUpComponentValidator.validateAndSetState(state, setState, CreateFollowUpComponentFieldNames.nextStepName, item.name, item.id.toString()));\n }\n\n const autoSave = () => {\n if (stateContext.isChanged\n && !stateContext.isAutoSaving\n && !stateContext.isProcessing\n && !state.isFirstSaveOriginalNote\n && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n if (!createFollowUpComponentValidator.stateIsValid(stateContext)) {\n return;\n }\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getData(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(note => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isAutoSaving: false,\n }));\n });\n }\n }\n\n const getContent = (noteId: number) => {\n notesService.getContentByEmployee(noteId, patientId).subscribe(result => {\n state.isLoading = false\n setState(state => ({\n ...state,\n isLoading: false,\n isNew: false,\n isPrefilled: true,\n content: JSON.parse(result.content),\n internalContent: result.internalContent,\n }));\n })\n }\n\n const getMedicationsSupplements = () => {\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as FollowUpContent\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n content: content,\n internalContent: result.internalContent,\n title: originalNote.title\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n });\n }\n\n else {\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isLoading: false,\n isAutoSaving: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n\n medicationsService.get(patientId).subscribe(medications => {\n state.content.medicationsSupplements.medications = medications.map(i => {\n return {\n id: i.id,\n name: i.name,\n dosage: i.dosage,\n instructions: i.instructions,\n isStopped: false,\n isInCurrent: true\n } as MedicationItem\n });\n\n setState(state => ({ ...state }));\n\n supplementsService.get(patientId).subscribe(supplements => {\n state.content.medicationsSupplements.supplements = supplements.map(i => {\n return {\n id: i.id,\n name: i.name,\n dosage: i.dosage,\n isStopped: false,\n purchaseLink: i.purchaseLink,\n source: i.source,\n isInCurrent: true\n } as SupplementItem\n });\n\n setState(state => ({\n ...state,\n isLoading: false\n }));\n });\n });\n }\n\n const isNoteWithAppointment = (type: number) => {\n switch (type) {\n case NotesType.FollowUp:\n case NotesType.Soap:\n case NotesType.HistoryAndPhysicalInitial:\n case NotesType.HistoryAndPhysicalFollowUp:\n return true;\n default:\n return false;\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<NotesGroupModel[]>(notesQuery.notesGroups$, notesGroups => {\n if (notesGroups.some(group => group.notes.some(note => note.patientId !== patientId))) {\n return;\n }\n\n if (state.originalNote) {\n return;\n }\n\n let notes: NoteModel[] = [];\n notesGroups.forEach(group => {\n notes.push(...group.notes.filter(n => n.isCompleted && isNoteWithAppointment(n.type)));\n });\n\n const previousNote = notes && notes.length\n ? notes.sort((a, b) => (a.visitDate < b.visitDate) ? 1 : ((b.visitDate < a.visitDate) ? -1 : 0))[0] : null;\n\n const previousFollowUpNotes = notes &&\n notes.filter(x => x.type === NotesType.FollowUp)\n .sort((a, b) => new Date(b.visitDate).getTime() - new Date(a.visitDate).getTime())\n\n const previousFollowUpNote = previousFollowUpNotes &&\n previousFollowUpNotes.length && previousFollowUpNotes[0];\n\n if (previousNote) {\n setState(state => ({ ...state, prewNote: previousNote }));\n }\n\n if (previousFollowUpNote) {\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n }\n\n if (!stateContext.note && !stateContext.isPrefilled) {\n goalsService.getCurrentGoalsByEmployee(patientId).subscribe(\n (goals) => {\n setState((state) => ({\n ...state,\n isPrefilled: true,\n isChanged: true,\n content: {\n ...state.content,\n goalsVersion: NoteGoalsVersion.New,\n plan: {\n ...state.content.plan,\n mindfulnessGoals: goals.filter(x => x.category === GoalCategory.Mindfulness),\n longevityGoals: goals.filter(x => x.category === GoalCategory.Longevity),\n exerciseGoals: goals.filter(x => x.category === GoalCategory.Exercise),\n sleepGoals: goals.filter(x => x.category === GoalCategory.Sleep),\n neuroGoals: goals.filter(x => x.category === GoalCategory.Neuro),\n dietGoals: goals.filter(x => x.category === GoalCategory.Diet)\n }\n }\n }))\n }\n );\n\n notesService.getByEmployee(patientId).subscribe((notes) => {\n const noteType = [\n NotesType.HistoryAndPhysicalInitial,\n NotesType.HistoryAndPhysicalFollowUp,\n NotesType.HistoryAndPhysicalGroupVisit,\n NotesType.FollowUp\n ];\n\n const lastNote = notes\n .filter(x => noteType.includes(x.type))\n .filter(x => x.isCompleted)\n .sort((a1, a2) => handleCompare(a1, a2, SortingDirection.Asc, 'visitDate'))\n .find(x => true);\n\n const lastFollowUpNote = notes\n .filter(x => noteType.includes(NotesType.FollowUp))\n .filter(x => x.isCompleted)\n .sort((a1, a2) => handleCompare(a1, a2, SortingDirection.Asc, 'visitDate'))\n .find(x => true);\n\n if (lastFollowUpNote) {\n notesService.getContentByEmployee(lastFollowUpNote.id, patientId).subscribe((content) => {\n const internalContent: FollowUpContent = JSON.parse(content.content);\n setState((state) => ({\n ...state,\n isPrefilled: true,\n isChanged: true,\n content: {\n ...state.content,\n todayCoachingContent: internalContent?.todayCoachingContent ?? ''\n }\n }))\n }) \n }\n\n if (lastNote) {\n notesService.getContentByEmployee(lastNote.id, patientId).subscribe((content) => {\n const internalContent: FollowUpContent = JSON.parse(content.content);\n setState((state) => ({\n ...state,\n isPrefilled: true,\n isChanged: true,\n content: {\n ...state.content,\n goalsVersion: NoteGoalsVersion.New,\n plan: {\n ...state.content.plan,\n longevityEducations: internalContent?.plan?.longevityEducations ?? state.content.plan.longevityEducations,\n exerciseEducations: internalContent?.plan?.exerciseEducations ?? state.content.plan.exerciseEducations,\n sleepEducations: internalContent?.plan?.sleepEducations ?? state.content.plan.sleepEducations,\n neuroEducations: internalContent?.plan?.neuroEducations ?? state.content.plan.neuroEducations,\n dietEducations: internalContent?.plan?.dietEducations ?? state.content.plan.dietEducations,\n mindfulnessEducations: internalContent?.plan?.mindfulnessEducations ?? state.content.plan.mindfulnessEducations\n }\n }\n }))\n })\n }\n });\n }\n }),\n onEmit<PatientAppointmentModel[]>(appointmentsQuery.patientAppointments$, appointments => {\n setState(state => ({ ...state, appointments: appointments }));\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient) {\n if (note) {\n targetPatient.id === note.patientId && setState(state => ({ ...state, patientSubscription: targetPatient.subscription }))\n return\n }\n setState(state => ({ ...state, patientSubscription: targetPatient.subscription }))\n }\n }),\n ];\n \n const commonGoalCB = () => setState(state => ({ ...state, isCommonGoalLoading: false }));\n\n const commonMDMCB = () => setState(state => ({ ...state, isCommonMdmLoading: false }));\n\n const commonSupplementCB = () => setState(state => ({ ...state, isCommonSupplementLoading: false }));\n \n mdmPlansService.getAllCommonMdms().subscribe(commonMDMCB, commonMDMCB);\n \n goalsService.getAllCommonGoals().subscribe(commonGoalCB, commonGoalCB);\n\n commonSupplementsService.getAllCommonSupplements().subscribe(commonSupplementCB, commonSupplementCB);\n\n if (stateContext.note && !originalNote) {\n getContent(stateContext.note.id);\n } else {\n getMedicationsSupplements();\n }\n\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe();\n notesService.getByEmployee(patientId).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId, note]);\n\n return [\n state,\n noteTitle,\n todayCoaching,\n goals,\n supplements,\n nextSteps,\n endOfTemplate,\n nextAppointments,\n noteName,\n titleTextBox\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: '1.6rem',\n fontWeight: 500,\n lineHeight: 1.18,\n letterSpacing: 0.17,\n color: '#292929 !important'\n },\n subTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: 1.38,\n letterSpacing: 0.8,\n color: 'rgba(0, 0, 0, 0.56)',\n },\n regular: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 15,\n fontWeight: 300,\n lineHeight: 1.33,\n letterSpacing: 0.15,\n },\n recommendedList: {\n borderRight: '2px solid #f9f9fb',\n },\n inputRoot: {\n color: 'inherit',\n },\n inputField: {\n transition: theme.transitions.create('width'),\n padding: theme.spacing(1, 1, 1, 0),\n paddingLeft: `10px`,\n borderRadius: theme.shape.borderRadius,\n height: 24,\n },\n input: {\n position: 'relative',\n border: '1px solid rgba(0, 0, 0, 0.23)',\n borderRadius: theme.shape.borderRadius,\n marginLeft: 0,\n width: '100% !important',\n [theme.breakpoints.up('sm')]: {\n marginLeft: theme.spacing(1),\n width: 'auto',\n },\n },\n divider: {\n backgroundColor: \"#f9f9fb\",\n margin: 'auto',\n height: 2,\n },\n rootView: {\n fontSize: 14,\n minHeight: 28,\n borderRadius: 2,\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n paddingRight: 10,\n paddingLeft: 10,\n backgroundColor: colors.separators,\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n })\n);\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {AppointmentConfigurationModel, NoteModel} from \"../../models/notes.models\";\nimport { CreateNote } from '../createNote/CreateNote';\nimport { useFacade } from './createFollowUpComponent.hooks';\nimport { useStyles } from './createFollowUpComponent.styles';\n\nexport interface CreateFollowUpComponentProps {\n note?: NoteModel,\n patientId: number;\n appointmentId?: number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n handleGoBack: (boolean?) => void;\n goBackTitle: string;\n originalNote?: NoteModel,\n}\n\nexport const CreateFollowUpComponent: React.FC<CreateFollowUpComponentProps> = (props: CreateFollowUpComponentProps) => {\n const {\n note,\n patientId,\n appointmentConfiguration,\n appointmentId = null,\n handleGoBack,\n goBackTitle,\n originalNote\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n \n const [\n {\n isLoading,\n isCommonMdmLoading,\n isCommonGoalLoading,\n isCommonSupplementLoading,\n },\n noteTitle,\n todayCoaching,\n goals,\n supplements,\n nextSteps,\n endOfTemplate,\n nextAppointments,\n noteName,\n titleTextBox,\n ] = useFacade(patientId, note, classes, commonClasses, handleGoBack, appointmentId, appointmentConfiguration, originalNote);\n\n return (\n <Box m={5} mt={0} pt={3}>\n <CreateNote\n isLoading={isLoading || isCommonMdmLoading || isCommonGoalLoading || isCommonSupplementLoading}\n noteName={noteName}\n handleGoBack={handleGoBack}\n goBackTitle={goBackTitle}\n titleTextBox={titleTextBox}\n >\n <Box>\n <Box mt={5}>\n {noteTitle}\n </Box>\n <Box mt={7}>\n {goals}\n </Box>\n <Box mt={7}>\n {supplements}\n </Box>\n <Box mt={7}>\n {todayCoaching}\n </Box>\n <Box mt={7}>\n {nextSteps}\n </Box>\n <Box mt={7}>\n {nextAppointments}\n </Box>\n <Box mt={7}>\n {endOfTemplate}\n </Box>\n </Box>\n </CreateNote>\n </Box>\n );\n}\n","import {Query} from '@datorama/akita';\nimport { PatientAllergiesState, PatientAllergiesStore, patientAllergiesStore } from './patientAllergies.store';\n\n/**\n * Provides allergies queries\n */\nexport class PatientAllergiesQuery extends Query<PatientAllergiesState> {\n\n patientAllergies$ = this.select(state => state.patientAllergies);\n rxntAllergies$ = this.select(state => state.rxntAllergies);\n editModel$ = this.select(state => state.editModel);\n\n constructor(protected store: PatientAllergiesStore) {\n super(store);\n }\n}\n\nexport const patientAllergiesQuery = new PatientAllergiesQuery(patientAllergiesStore);","import { notWhitespaceValidationRule, stringLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const patientMedicationUpdateComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 250), notWhitespaceValidationRule()],\n 'dosage': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n 'instructions': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n});\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { newPatientMedicationModel, PatientMedicationModel } from \"../../models/patientMedicationModel\";\nimport { medicationsService } from \"../../services/medications.service\";\nimport { patientsMedicationsService } from \"../../services/patientMedications.service\";\nimport { patientMedicationsQuery } from \"../../stores/patientMedicationsStore/patientMedications.query\";\nimport { PatientMedicationUpdateProps } from \"./PatientMedicationUpdateComponent\";\nimport { patientMedicationUpdateComponentValidator } from \"./patientMedicationUpdateComponent.validator\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\ninterface PatientMedicationUpdateComponentState extends IErrorState {\n model: PatientMedicationModel;\n}\n\nconst getInitialState = () => ({\n model: newPatientMedicationModel(),\n errors: {}\n});\n\nexport function useFacade(props: PatientMedicationUpdateProps): [\n PatientMedicationUpdateComponentState,\n Function,\n Function,\n Function\n] {\n\n const [state, setState] = useState(getInitialState() as PatientMedicationUpdateComponentState);\n\n const handleChanges = (field: string, value: string) => {\n patientMedicationUpdateComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = {...state.model};\n model[field] = value\n setState({...state, model: model})\n }\n\n const handleSave = (patientId: number) => {\n patientMedicationUpdateComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!patientMedicationUpdateComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({\n ...state, \n ...Object.assign({}, getInitialState())\n }));\n props.handleClose();\n const model = {...state.model};\n model.startDate = state.model.startDate ? toCurrentTimeZone(state.model.startDate) : null;\n\n const service = props.patientId ? medicationsService : patientsMedicationsService;\n const action = model.id ? service.edit : service.create;\n action(model, patientId).subscribe();\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n ...getInitialState()\n }))\n\n props.handleClose();\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientMedicationModel>(patientMedicationsQuery.editModel$, editModel => {\n setState(state => ({...state, model: editModel }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleClose,\n handleChanges,\n handleSave\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '55px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"space-between\",\n alignItems: \"center\",\n margin: 0,\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(5),\n paddingTop: theme.spacing(4),\n },\n action: {\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(2.5),\n },\n field: {\n width: 468,\n margin: 5,\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n },\n }),\n);\n","import React from 'react';\nimport {\n Box, IconButton, Dialog, DialogActions, DialogContent, TextField, Typography,\n Button, useMediaQuery, useTheme,\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport moment from \"moment\";\nimport Cancel from \"@img/icons/cancel.svg\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./patientMedicationUpdateComponent.hooks\";\nimport { useStyles } from \"./patientMedicationUpdateComponent.styles\";\nimport { PatientMedicationModel } from \"../../models/patientMedicationModel\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { WildHealthDatePicker } from '../../../common/components/WildHealthDatePicker';\n\nexport interface PatientMedicationUpdateProps {\n opened: boolean;\n handleClose: () => void;\n patientId?: number;\n model?: PatientMedicationModel;\n}\n\nexport const PatientMedicationUpdateComponent: React.FC<PatientMedicationUpdateProps> = (props: PatientMedicationUpdateProps) => {\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n model,\n errors,\n },\n handleClose,\n handleChanges,\n handleSave\n ] = useFacade(props);\n\n const getDate = (date) => {\n return date\n ? moment(toCurrentTimeZone(date)).format('YYYY-MM-DD')\n : null\n }\n\n return (\n <>\n <Dialog\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleClose()}\n open={props.opened}\n >\n {\n !isSmallScreen &&\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Typography variant=\"h6\">{model.id > 0 ? 'Edit Medication' : 'Add Medication'}</Typography>\n <Box pl={1} pr={1}>\n <IconButton id=\"patient-medication-update-close\" onClick={() => {\n handleClose()\n }} >\n <img src={Cancel} alt='cancel' />\n </IconButton>\n </Box>\n </MuiDialogTitle>\n }\n <DialogContent className={classes.dialogContent}>\n {\n isSmallScreen &&\n <Box py={1} display=\"flex\" justifyContent=\"space-between\">\n <Button onClick={() => handleClose()}>\n <span className=\"wh-tw-text-sm wh-tw-font-medium wh-tw-text-gray1 wh-tw-capitalize\">\n Cancel\n </span>\n </Button>\n <Box>\n <span className=\"wh-tw-text-xl wh-tw-font-medium wh-tw-text-black\">\n {model.id > 0 ? 'Edit Medication' : 'Add Medication'}\n </span>\n </Box>\n <Button onClick={() => handleSave(props.patientId)}>\n <span className=\"wh-tw-text-sm wh-tw-font-medium wh-tw-text-primaryV wh-tw-capitalize\">\n {model.id > 0 ? 'Save' : 'Add'}\n </span>\n </Button>\n </Box>\n }\n <Box p={!isSmallScreen && 1.5} pt={0.5} display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" pl={0.5} className=\"wh-tw-text-sm wh-tw-text-gray1\">\n Name of Medication\n <Box pl={0.5} className=\"wh-tw-text-bad\">*</Box>\n </Box>\n <TextField\n required\n fullWidth\n id=\"name\"\n size=\"small\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} className=\"wh-tw-text-sm wh-tw-text-gray1\">Strength</Box>\n <TextField\n fullWidth\n size=\"small\"\n id=\"dosage\"\n variant=\"outlined\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors['dosage']}\n helperText={errors['dosage']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} className=\"wh-tw-text-sm wh-tw-text-gray1\">Dosing Instructions</Box>\n <TextField\n fullWidth\n size=\"small\"\n id=\"instructions\"\n variant=\"outlined\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors['instructions']}\n helperText={errors['instructions']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} className=\"wh-tw-text-sm wh-tw-text-gray1\">Start Date</Box>\n <Box width={1} p={0.5}>\n <WildHealthDatePicker\n id={`start-date`}\n fullWidth\n size=\"small\"\n placeholder=\"MM/DD/YYYY\"\n openTo=\"date\"\n format=\"MM/DD/yyyy\"\n value={getDate(model.startDate)}\n error={!!errors[`startDate`]}\n helperText={errors[`startDate`]}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) =>\n handleChanges(`startDate`, momentDate\n )}\n />\n </Box>\n </Box>\n </DialogContent>\n {\n !isSmallScreen &&\n <DialogActions className={classes.action}>\n <WildHealthButton\n id=\"patient-medication-update-cancel\"\n onClick={() => {\n handleClose()\n }}\n color=\"tertiary\"\n size='large'\n >\n Cancel\n </WildHealthButton>\n <Box pl={0.5}>\n <WildHealthButton\n id=\"patient-medication-update-save\"\n onClick={() => {\n handleSave(props.patientId)\n }}\n autoFocus\n size='large'\n >\n {model.id > 0 ? 'Save Changes' : 'Add Medication'}\n </WildHealthButton>\n </Box>\n </DialogActions>\n }\n </Dialog>\n </>\n );\n}\n","import React from \"react\";\nimport { Box } from \"@material-ui/core\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport emptyMeds from \"@img/placeholders/EmptyMeds.png\";\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport { CommonPlaceHolderProps } from \"./CommonPlaceHolder\";\n\ninterface SupplementsPlaceHolderProps extends CommonPlaceHolderProps {\n}\n\nexport const SupplementsPlaceHolder: React.FC<SupplementsPlaceHolderProps> = (props: SupplementsPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n <Box mt={3}>\n <WildHealthPlaceHolderBase message={props.message}>\n <img\n src={emptyMeds}\n alt=\"img\" className={classes.image} />\n </WildHealthPlaceHolderBase>\n </Box>\n );\n}\n","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n width: \"100%\",\n maxWidth: \"90vw\",\n overflowX: \"auto\"\n },\n row: {\n backgroundColor: colors.white,\n },\n actions: {\n width: '30%',\n paddingTop: '6px',\n paddingBottom: '6px',\n },\n fixedButton: {\n fill: colors.main,\n width: 58,\n height: 58\n },\n placeholderImage: {\n width: \"100%\",\n maxWidth: 300,\n },\n smallRoot: {\n flex: 1,\n overflow: \"auto\",\n width: '100%',\n minHeight: \"calc(100vh - 303px)\",\n maxHeight: \"calc(100vh - 303px)\",\n backgroundColor: colors.white,\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '25vw',\n maxWidth: '25vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n itemDot: {\n paddingRight: '6px',\n paddingLeft: '6px',\n },\n itemName: {\n whiteSpace: 'pre-line',\n },\n itemReaction: {\n fontWeight: 200,\n }\n }),\n);\n","import React from \"react\";\nimport {\n Box, Grid, Menu, MenuItem, IconButton, TableContainer, Table, TableFooter, TableHead, TableBody, Divider,\n useMediaQuery, useTheme, Tooltip,\n} from \"@material-ui/core\";\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport InfoIcon from '@material-ui/icons/Info';\nimport emptyMedications from \"@img/placeholders/EmptyReport.png\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { useFacade } from \"./patientMedicationsComponent.hooks\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { PatientMedicationUpdateComponent } from '../patientMedicationUpdateComponent/PatientMedicationUpdateComponent'\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { PatientMedicationModel } from \"../../models/patientMedicationModel\";\nimport { SupplementsPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/SupplementsPlaceHolder\";\nimport { useStyles } from \"./patientMedicationsComponent.styles\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\n\ninterface PatientMedicationsComponentProps {\n patientId?: number;\n fullWidth?: boolean;\n handleToggleDialog: () => void;\n}\n\nexport const PatientMedicationsComponent: React.FC<PatientMedicationsComponentProps> = (props: PatientMedicationsComponentProps) => {\n const {\n patientId,\n handleToggleDialog\n } = props;\n\n const [\n state,\n handleEdit,\n handleDelete,\n handleCloseDialog,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleActions,\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n const renderTable = () => {\n if (!state.isLoading && (!state.medications || !state.medications.length)) {\n return isSmallScreen ? (\n <Box minHeight=\"calc(100vh - 303px)\" height={1}>\n <WildHealthPlaceHolderBase message=\"You have no medication listed at the moment.\">\n <img className={classes.placeholderImage}\n src={emptyMedications}\n alt=\"img\" />\n </WildHealthPlaceHolderBase>\n </Box>\n ) : (\n <SupplementsPlaceHolder message={`You have no medication listed at the moment.`} />\n );\n }\n\n return (\n <Box minHeight=\"300px\">\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '30%' }}>\n <Box pl={2}>\n Name\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '20%' }}>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '20%' }}>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '20%' }}>\n Start Date\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '10%' }}>\n <ProtectedElement\n element={<span>Action</span>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={<span>Action</span>}\n permissions={[]}\n userType={UserType.Patient}\n />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.medicationsPart.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <Box pl={2}>\n {\n item.name\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.dosage}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.instructions}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {displayDataValue(item.startDate)}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell className={classes.actions}>\n <Box display='flex' alignItems='center'>\n <ProtectedElement\n element={renderToggleButtonCell(item)}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderToggleButtonCell(item)}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n {!isSmallScreen &&\n <TableFooter>\n <WildHealthTableRow className={classes.row}>\n <WildHealthTableCell colSpan={6}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableFooter>\n }\n </Table>\n </TableContainer>\n </Box>\n )\n }\n\n const renderCreateButton = (title: string, size: any) => (\n <WildHealthButton\n id={`patient-medications-edit-${title}`}\n size={size}\n onClick={() => handleEdit()}\n >\n {title}\n </WildHealthButton>\n )\n\n const renderToggleButtonCell = (item: PatientMedicationModel) => (\n <IconButton id={`patient-medications-more-acrions-${item.id}`} onClick={(e) => {\n handleToggleActions(item.id, e.currentTarget)\n }}>\n <MoreHorizIcon />\n </IconButton>\n )\n\n const renderMenuItems = () => (\n <Menu\n keepMounted\n anchorEl={state.anchorEl}\n open={state.isMenuOpened}\n onClose={() => {\n handleToggleActions(0)\n }}\n >\n <MenuItem id=\"patient-medications-edit\" onClick={() => {\n handleEdit()\n }}>\n Edit\n </MenuItem>\n <MenuItem id=\"patient-medications-delete\" onClick={() => {\n handleDelete()\n }}>\n Delete\n </MenuItem>\n </Menu>\n );\n\n return (\n state.isLoading ?\n <WildHealthLinearProgress /> :\n <>\n <Box className={clsx(isSmallScreen && classes.smallRoot, \"flat-scroll\")}>\n {!isSmallScreen && (\n <Box p={4} pb={0} display='flex' justifyContent='space-between'>\n <Box fontSize={20} fontWeight={500}>List of Medications</Box>\n <Box display='flex' alignItems='center' gridGap={24}>\n <Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={handleToggleDialog}>\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">Do you need help?</Box>\n </Box>\n <ProtectedElement\n element={<Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" >\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box>\n {state.allergies.length\n ? state.allergies.map(allergy => {\n return <Box key={allergy.id}>\n <span className={classes.itemDot}>•</span>\n <span className={classes.itemName}>{allergy.name}</span>\n <span className={classes.itemReaction}>{`- ${allergy.reaction}`}</span>\n </Box>\n })\n : <span className={classes.itemName}>No known drug allergies</span>}\n </Box>\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n </Tooltip>\n\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">See Allergy List</Box>\n </Box>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <Box>\n <ProtectedElement\n element={renderCreateButton('Add Medication', \"large\")}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderCreateButton('Add Medication', \"large\")}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </Box>\n </Box>\n )}\n\n <Box mt={3}>\n <Grid container>\n <Grid item sm={12} md={12} xs={12}>\n {\n renderTable()\n }\n <ProtectedElement\n element={renderMenuItems()}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderMenuItems()}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Grid>\n </Grid>\n </Box>\n <Box>\n <PatientMedicationUpdateComponent\n opened={state.isEditorOpened}\n handleClose={() => handleCloseDialog()}\n patientId={props.patientId}\n />\n </Box>\n </Box>\n {isSmallScreen && (\n <>\n {state.medications && state.medications.length > 0 && <Divider className={commonClasses.renderDivider} orientation=\"horizontal\" />}\n <Box className={commonClasses.bgWhiteMain}>\n <Box display=\"flex\" flexDirection=\"row\" justifyContent=\"flex-end\">\n {state.medications && state.medications.length > 0 && (\n <Box flex={1} margin=\"auto\" pl={2}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </Box>\n )}\n <IconButton aria-label={`patient-medications-add`} onClick={() => handleEdit()}>\n <AddCircleIcon className={classes.fixedButton} />\n </IconButton>\n </Box>\n </Box>\n </>\n )}\n </>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { PatientMedicationModel } from \"../../models/patientMedicationModel\";\nimport { medicationsService } from \"../../services/medications.service\";\nimport { patientsMedicationsService } from \"../../services/patientMedications.service\";\nimport { patientMedicationsQuery } from \"../../stores/patientMedicationsStore/patientMedications.query\";\nimport { patientMedicationsStore } from \"../../stores/patientMedicationsStore/patientMedications.store\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { PatientAllergyModel } from \"../../models/patientAllergiesModel\";\nimport { patientAllergiesQuery } from \"../../stores/patientAllergyStore/patientAllergies.query\";\n\ninterface PatientMedicationsState extends IErrorState {\n isLoading: boolean;\n totalCount: number;\n selectedPage: number;\n pageSize: number;\n isEditorOpened: boolean;\n isMenuOpened: boolean;\n selectedId: number;\n medications: PatientMedicationModel[];\n medicationsPart: PatientMedicationModel[];\n anchorEl: any;\n editModel: PatientMedicationModel;\n allergies: PatientAllergyModel[];\n}\n\nexport function useFacade(patientId: number | null): [\n PatientMedicationsState,\n Function,\n Function,\n Function,\n (value: any) => void,\n (page: number) => void,\n () => number[],\n Function,\n] {\n const [state, setState] = useState({\n isLoading: true,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[2],\n isMenuOpened: false,\n isEditorOpened: false,\n selectedId: 0,\n medications: [],\n medicationsPart: [],\n anchorEl: null,\n errors: {},\n allergies: [],\n } as PatientMedicationsState);\n\n const handlePageSizeChange = (value: any) => {\n\n if (value === state.pageSize) {\n return;\n }\n\n const start = 0;\n const end = 1 * value > state.totalCount ? state.totalCount : state.selectedPage * value;\n const medicationsPartView = state.medications.slice(start, end)\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1,\n medicationsPart: medicationsPartView\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n const start = (page - 1) * state.pageSize;\n const end = page * state.pageSize > state.totalCount ? state.totalCount : page * state.pageSize;\n const medicationsPartView = state.medications.slice(start, end)\n\n setState(state => ({\n ...state,\n selectedPage: page,\n medicationsPart: medicationsPartView\n }));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handleEdit = () => {\n setState({\n ...state,\n isEditorOpened: true,\n isMenuOpened: false\n });\n\n patientMedicationsStore.setEditModel(state.medications.find(c => c.id === state.selectedId));\n }\n\n const handleDelete = () => {\n const service = patientId ? medicationsService : patientsMedicationsService;\n service.delete(state.selectedId).subscribe();\n\n handleToggleActions(state.selectedId, state.anchorEl);\n }\n\n const handleCloseDialog = () => {\n setState({\n ...state,\n isEditorOpened: false,\n selectedId: 0\n });\n\n patientMedicationsStore.setEditModel();\n }\n\n const handleToggleActions = (id: number, anchorEl: Element) => {\n setState(state => ({\n ...state,\n isMenuOpened: !state.isMenuOpened,\n selectedId: id,\n anchorEl: anchorEl\n }))\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientMedicationModel[]>(patientMedicationsQuery.patientMedications$, medications => {\n const medicationsPartView = medications.slice(0, pageSizes[2])\n\n setState(state => ({\n ...state,\n medications: medications,\n totalCount: medications.length,\n selectedPage: 1,\n pageSize: pageSizes[2],\n medicationsPart: medicationsPartView,\n }));\n }),\n onEmit<PatientAllergyModel[]>(patientAllergiesQuery.patientAllergies$, allergies => {\n if (allergies) {\n setState(state => ({\n ...state,\n allergies\n }));\n }\n })\n ];\n\n patientId\n ? medicationsService.get(patientId).subscribe(() => setState((state) => ({ ...state, isLoading: false })))\n : patientsMedicationsService.get().subscribe(() => setState((state) => ({ ...state, isLoading: false })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleEdit,\n handleDelete,\n handleCloseDialog,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleActions,\n ];\n}","import { notWhitespaceValidationRule, stringLengthValidationRule, linkValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const patientSupplementsUpdateComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 250), notWhitespaceValidationRule()],\n 'dosage': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n 'instructions': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n 'purchaseLink': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule(), linkValidationRule]\n});\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {newPatientSupplementModel, PatientSupplementModel, SupplementSource} from \"../../models/patientSupplementModel\";\nimport {patientsSupplementsService} from \"../../services/patientSupplements.service\";\nimport {supplementsService} from \"../../services/supplements.service\";\nimport {patientSupplementsQuery} from \"../../stores/patientSupplementsStore/patientSupplements.query\";\nimport {PatientSupplementsUpdateProps} from \"./PatientSupplementsUpdateComponent\";\nimport {patientSupplementsUpdateComponentValidator} from \"./patientSupplementsUpdateComponent.validator\";\n\ninterface PatientSupplementsUpdateComponentState extends IErrorState {\n model: PatientSupplementModel;\n isLoading: boolean;\n}\n\nconst getInitialState = (): PatientSupplementsUpdateComponentState => ({\n model: newPatientSupplementModel(SupplementSource.Supplement),\n isLoading: false,\n errors: {}\n});\n\nexport function useFacade(props: PatientSupplementsUpdateProps): [\n PatientSupplementsUpdateComponentState,\n Function,\n Function,\n Function\n] {\n const [state, setState] = useState(getInitialState());\n\n const handleChanges = (field: string, value: string) => {\n patientSupplementsUpdateComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = { ...state.model };\n model[field] = value\n setState({ ...state, model: model })\n }\n\n const handleSave = (patientId: number) => {\n patientSupplementsUpdateComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!patientSupplementsUpdateComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({\n ...state,\n ...Object.assign({}, getInitialState())\n }));\n props.handleClose();\n\n const service = props.patientId ? supplementsService : patientsSupplementsService;\n const action = state.model.id ? service.edit : service.create;\n action(state.model, patientId).subscribe();\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n ...getInitialState()\n }))\n\n props.handleClose();\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientSupplementModel>(patientSupplementsQuery.editModel$, editModel => {\n setState(state => ({ ...state, model: editModel }));\n if (!Boolean(editModel.id)) {\n setState(state => ({ ...state, isLoading: true }))\n supplementsService.getDefaultLink().subscribe(link => {\n setState(state => ({ ...state, model: { ...state.model, purchaseLink: link }, isLoading: false }))\n })\n }\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleClose,\n handleChanges,\n handleSave\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '55px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"space-between\",\n alignItems: \"center\",\n margin: 0,\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(5),\n paddingTop: theme.spacing(4),\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n action: {\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(2.5),\n },\n select: {\n width: 510,\n margin: 5,\n },\n field: {\n width: 468,\n margin: 5,\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n },\n role: {\n width: 140,\n },\n permission: {\n width: 250,\n },\n permissionCheck: {\n color: colors.main,\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n },\n }),\n);\n","import {\n Box, IconButton, Dialog, DialogActions, DialogContent, TextField, Typography,\n Button, useMediaQuery, useTheme,\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./patientSupplementsUpdateComponent.hooks\";\nimport { useStyles } from \"./patientSupplementsUpdateComponent.styles\";\nimport { PatientSupplementModel } from \"../../models/patientSupplementModel\";\nimport { colors } from '../../../common/constants/colors';\nimport Cancel from \"@img/icons/cancel.svg\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport interface PatientSupplementsUpdateProps {\n opened: boolean;\n handleClose: () => void;\n patientId?: number;\n model?: PatientSupplementModel;\n}\n\nexport const PatientSupplementsUpdateComponent: React.FC<PatientSupplementsUpdateProps> = (props: PatientSupplementsUpdateProps) => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n model,\n errors,\n isLoading\n },\n handleClose,\n handleFieldChange,\n handleSave\n ] = useFacade(props);\n\n const linkInput = (\n <>\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Add a Link to Order Online</Box>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n id=\"purchaseLink\"\n value={model.purchaseLink}\n className={clsx(classes.field, 'input')}\n error={!!errors['purchaseLink']}\n helperText={errors['purchaseLink']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n </>)\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return (<WildHealthLinearProgress />)\n }\n\n return (\n <Box p={!isSmallScreen && 1.5} pt={0.5} display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" pl={0.5} fontSize={14} color={colors.gray1}>\n Name of Supplement\n <Box pl={0.5} color={colors.bad}>*</Box>\n </Box>\n <TextField\n required\n fullWidth\n id=\"name\"\n size=\"small\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Strength</Box>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n id=\"dosage\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors['dosage']}\n helperText={errors['dosage']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Dosing Instructions</Box>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n id=\"instructions\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors['instructions']}\n helperText={errors['instructions']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n <ProtectedElement\n element={linkInput}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n )\n }\n\n return (\n <>\n <Dialog\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleClose()}\n open={props.opened}\n >\n {\n !isSmallScreen &&\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Typography variant=\"h6\">{model.id > 0 ? 'Edit Supplement' : 'Add Supplement'}</Typography>\n <Box pl={1} pr={1}>\n <IconButton id=\"patient-supplements-update-close\" onClick={() => {\n handleClose()\n }} >\n <img src={Cancel} alt='Cancel' />\n </IconButton>\n </Box>\n\n </MuiDialogTitle>\n }\n <DialogContent className={classes.dialogContent}>\n {\n isSmallScreen &&\n <Box py={1} display=\"flex\" justifyContent=\"space-between\">\n <Button onClick={() => handleClose()}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorGray1, commonClasses.capitalize)}>\n Cancel\n </span>\n </Button>\n <Box>\n <span className={clsx(commonClasses.size20, commonClasses.textMedium, commonClasses.colorBlack)}>\n {model.id > 0 ? 'Edit Supplement' : 'Add Supplement'}\n </span>\n </Box>\n <Button onClick={() => handleSave(props.patientId)}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain, commonClasses.capitalize)}>\n {model.id > 0 ? 'Save' : 'Add'}\n </span>\n </Button>\n </Box>\n }\n {\n renderContent()\n }\n </DialogContent>\n {\n !isSmallScreen &&\n <DialogActions className={classes.action}>\n <WildHealthButton\n id=\"patient-supplements-update-cancel\"\n onClick={() => { handleClose() }}\n color=\"tertiary\"\n size='large'\n >\n Cancel\n </WildHealthButton>\n <Box pl={0.5}>\n <WildHealthButton\n id=\"patient-supplements-update-save\"\n onClick={() => { handleSave(props.patientId) }}\n autoFocus\n size='large'\n >\n {model.id > 0 ? 'Save Changes' : 'Add Supplement'}\n </WildHealthButton>\n </Box>\n </DialogActions>\n }\n </Dialog>\n </>\n );\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: \"100%\",\n maxWidth: \"90vw\",\n overflowX: \"auto\"\n },\n row: {\n backgroundColor: colors.white,\n },\n actions: {\n width: '30%',\n paddingTop: '6px',\n paddingBottom: '6px',\n },\n siteLink: {\n color: colors.main,\n paddingLeft: '4px',\n },\n link: {\n borderRadius: 2,\n textTransform: 'none',\n boxSizing: 'border-box',\n color: colors.white,\n fontWeight: 500,\n fontSize: 14,\n lineHeight: '16.41px',\n height: 34,\n minWidth: 100,\n padding: 9,\n paddingLeft: 14,\n paddingRight: 14,\n marginLeft: 8,\n border: 'none',\n background: colors.main,\n textAlign: 'center',\n '&:hover': {\n backgroundColor: colors.mainDark,\n color: colors.white,\n textDecoration: 'none',\n },\n '&:disabled': {\n color: colors.gray2,\n backgroundColor: colors.disabled,\n cursor: 'not-allowed',\n },\n [theme.breakpoints.down(\"xs\")]: {\n height: 'auto',\n },\n },\n fixedButton: {\n fill: colors.main,\n width: 58,\n height: 58\n },\n description: {\n fontSize: 14,\n color: colors.gray1,\n overflow: 'hidden'\n },\n descriptionCollapsed: {\n height: '82px'\n },\n descriptionExpanded: {\n minHeight: '82px'\n },\n placeholderImage: {\n width: \"100%\",\n maxWidth: 300,\n },\n smallRoot: {\n flex: 1,\n overflow: \"auto\",\n width: '100%',\n minHeight: \"calc(100vh - 303px)\",\n maxHeight: \"calc(100vh - 303px)\",\n backgroundColor: colors.white,\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '25vw',\n maxWidth: '25vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n itemDot: {\n paddingRight: '6px',\n paddingLeft: '6px',\n },\n itemName: {\n whiteSpace: 'pre-line',\n },\n itemReaction: {\n fontWeight: 200,\n }\n }),\n);\n","import {Store, StoreConfig} from '@datorama/akita';\n\nexport enum SuppsMeddsTabs {\n Supps = 0,\n Medds = 1,\n}\n\n/**\n * Represents coaches state\n */\nexport interface MeddsSuppsState {\n tab: SuppsMeddsTabs;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): MeddsSuppsState {\n return {\n tab: 0,\n };\n}\n\n/**\n * Provides coaches states management\n */\n@StoreConfig({name: 'meddsSupps', resettable: true })\nexport class MeddsSuppsStore extends Store<MeddsSuppsState> {\n constructor() {\n super(createInitialState());\n }\n\n setTab(tab: SuppsMeddsTabs) {\n this.update({tab: tab});\n }\n}\n\nexport const meddsSuppsStore = new MeddsSuppsStore();","import {\n Box, Divider,\n Grid, IconButton, Menu,\n MenuItem, Table, TableFooter, TableBody, TableContainer, TableHead, Link,\n useMediaQuery, useTheme, Tooltip,\n} from \"@material-ui/core\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport LaunchIcon from '@material-ui/icons/Launch';\nimport React from \"react\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { SupplementsPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/SupplementsPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { PatientSupplementModel } from \"../../models/patientSupplementModel\";\nimport { PatientSupplementsUpdateComponent } from \"../patientSupplementsUpdateComponent/PatientSupplementsUpdateComponent\";\nimport { useFacade } from \"./patientSupplementsComponent.hooks\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { useStyles } from \"./patientSupplementsComponent.styles\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport InfoIcon from '@material-ui/icons/Info';\nimport clsx from \"clsx\";\nimport emptySupplements from \"@img/placeholders/EmptyReport.png\";\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\n\ninterface PatientSupplementsComponentProps {\n patientId?: number;\n fullWidth?: boolean;\n handleToggleDialog: () => void;\n}\n\nexport const PatientSupplementsComponent: React.FC<PatientSupplementsComponentProps> = (props: PatientSupplementsComponentProps) => {\n const {\n patientId,\n handleToggleDialog\n } = props;\n\n const [\n state,\n handleEdit,\n handleDelete,\n handleCloseDialog,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleActions,\n handleReadMore,\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n\n const renderTable = () => {\n if (!state.isLoading && (!state.supplements || !state.supplements.length)) {\n return isSmallScreen ? (\n <Box mt=\"52px\">\n <WildHealthPlaceHolderBase message=\"You have no supplements listed at the moment.\">\n <img className={classes.placeholderImage}\n src={emptySupplements}\n alt=\"img\" />\n </WildHealthPlaceHolderBase>\n </Box>\n ) : (\n <SupplementsPlaceHolder message={`You have no supplements listed at the moment.`} />\n )\n }\n\n return (\n <Box minHeight=\"300px\">\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '30%' }}>\n <Box pl={2}>\n Name\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '25%' }}>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '25%' }}>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '20%' }}>\n <Box display='flex' alignItems='center'>\n <ProtectedElement\n element={<span>Action</span>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={<span>Action</span>}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </WildHealthTableCell>\n\n\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.supplementsPart.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <Box pl={2}>\n {\n item.name\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.dosage}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.instructions}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell className={classes.actions}>\n <Box display='flex' alignItems='center' justifyContent=\"space-between\">\n <ProtectedElement\n element={renderToggleButtonCell(item)}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderToggleButtonCell(item)}\n permissions={[]}\n userType={UserType.Patient}\n />\n <ProtectedElement\n element={item.purchaseLink && renderCreateLink('Purchase Here', item.purchaseLink)}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n {!isSmallScreen &&\n <TableFooter>\n <WildHealthTableRow className={classes.row}>\n <WildHealthTableCell colSpan={6}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableFooter>\n }\n </Table>\n </TableContainer>\n </Box>\n )\n }\n\n const renderInfoText = () => {\n if (!state.isLoading && (!state.supplements || !state.supplements.length)) {\n return (\n <>\n <Box pt={2} p={isSmallScreen && 2}>\n <ProtectedElement\n element={\n <>\n <Box className={clsx(classes.description, isSmallScreen && !state.isFullText ? classes.descriptionCollapsed : classes.descriptionExpanded)}>\n We take supplement quality very seriously and have identified the list of supplements from reliable sources for you below.\n We have also negotiated a significant discount for our clients that order through Thorne. In order to receive this discount, use the affiliate links below and the discount will appear at checkout.\n If you have an existing Thorne account, you will need to create a new account with an alternative email to be eligible to receive the discount.\n Any additional problems, please contact us at\n <a id=\"patient-supplements-link-email\" href={`mailto:${TitlesService.supplementsEmail}`} className={classes.siteLink}>{TitlesService.supplementsEmail}</a>.\n </Box>\n {isSmallScreen && <Box id=\"supplement-description-read-more\" onClick={() => handleReadMore()} className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain)}>\n <span>{state.isFullText ? 'read less' : 'read more'}</span>\n </Box>}\n </>\n }\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </>\n )\n }\n };\n\n const renderCreateButton = (title: string, size: any) => (\n <WildHealthButton\n id={`patient-supplements-${{ title }}`}\n size={size}\n onClick={() => handleEdit()}\n >\n {title}\n </WildHealthButton>\n );\n\n const renderCreateLink = (title: string, link: string) => {\n const correctedLink = link.startsWith('http://') || link.startsWith('https://') ? link : `http://${link}`;\n return isMiddleScreen ? (\n <IconButton id={`patient-supplements-link-${title}`} onClick={() => window.open(correctedLink, '_blank')}>\n <LaunchIcon className={commonClasses.colorMain} />\n </IconButton>\n ) : (\n <Link id={`patient-supplements-link-${title}`} href={correctedLink} className={classes.link} target=\"_blank\">{title}</Link>\n )\n };\n\n const renderToggleButtonCell = (item: PatientSupplementModel) => (\n <IconButton id={`patient-supplements-more-actions-${item.id}`} onClick={(e) => {\n handleToggleActions(item.id, e.currentTarget)\n }}>\n <MoreHorizIcon />\n </IconButton>\n )\n\n const renderMenuItems = () => (\n <Menu\n keepMounted\n anchorEl={state.anchorEl}\n open={state.isMenuOpened}\n onClose={() => {\n handleToggleActions(0)\n }}\n >\n <MenuItem id=\"patient-supplements-edit\" onClick={() => {\n handleEdit()\n }}>\n Edit\n </MenuItem>\n <MenuItem id=\"patient-supplements-delete\" onClick={() => {\n handleDelete()\n }}>\n Delete\n </MenuItem>\n </Menu>\n );\n\n\n return (\n state.isLoading ?\n <WildHealthLinearProgress /> :\n <>\n <Box className={clsx(isSmallScreen && classes.smallRoot, \"flat-scroll\")}>\n {isSmallScreen ? renderInfoText() : (\n <Box p={4} pb={0} display='flex' flexDirection='column'>\n <Box display='flex' justifyContent='space-between'>\n <Box fontSize={20} fontWeight={500}>List of Supplements</Box>\n <Box display='flex' alignItems='center' gridGap={24}>\n <Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={handleToggleDialog}>\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">Do you need help?</Box>\n </Box>\n <ProtectedElement\n element={<Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" >\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box>\n {state.allergies.length\n ? state.allergies.map(allergy => {\n return <Box key={allergy.id}>\n <span className={classes.itemDot}>•</span>\n <span className={classes.itemName}>{allergy.name}</span>\n <span className={classes.itemReaction}>{`- ${allergy.reaction}`}</span>\n </Box>\n })\n : <span className={classes.itemName}>No known drug allergies</span>}\n </Box>\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n </Tooltip>\n\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">See Allergy List</Box>\n </Box>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <Box>\n <ProtectedElement\n element={renderCreateButton('Add Supplements', \"large\")}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderCreateButton('Add Supplements', \"large\")}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </Box>\n </Box>\n <Box width='80%'>\n {\n renderInfoText()\n }\n </Box>\n </Box>\n )}\n\n <Box mt={3}>\n <Grid container>\n <Grid item sm={12} md={12} xs={12}>\n {\n renderTable()\n }\n <ProtectedElement\n element={renderMenuItems()}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderMenuItems()}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Grid>\n </Grid>\n </Box>\n <Box>\n <PatientSupplementsUpdateComponent\n opened={state.isEditorOpened}\n handleClose={() => handleCloseDialog()}\n patientId={props.patientId}\n />\n </Box>\n </Box>\n {isSmallScreen && (\n <>\n {state.supplements && state.supplements.length > 0 && <Divider className={commonClasses.renderDivider} orientation=\"horizontal\" />}\n <Box className={commonClasses.bgWhiteMain}>\n <Box display=\"flex\" flexDirection=\"row\" justifyContent=\"flex-end\">\n {state.supplements && state.supplements.length > 0 && (\n <Box flex={1} margin=\"auto\" pl={2}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </Box>\n )}\n <IconButton aria-label={`patient-supplements-add`} onClick={() => handleEdit()}>\n <AddCircleIcon className={classes.fixedButton} />\n </IconButton>\n </Box>\n </Box>\n </>\n )}\n </>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PatientSupplementModel } from \"../../models/patientSupplementModel\";\nimport { patientSupplementsQuery } from \"../../stores/patientSupplementsStore/patientSupplements.query\";\nimport { patientsSupplementsService } from \"../../services/patientSupplements.service\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { supplementsService } from \"../../services/supplements.service\";\nimport { patientSupplementsStore } from \"../../stores/patientSupplementsStore/patientSupplements.store\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { PatientAllergyModel } from \"../../models/patientAllergiesModel\";\nimport { patientAllergiesQuery } from \"../../stores/patientAllergyStore/patientAllergies.query\";\n\ninterface PatientSupplementsState extends IErrorState {\n isLoading: boolean;\n totalCount: number;\n selectedPage: number;\n pageSize: number;\n isEditorOpened: boolean;\n isMenuOpened: boolean;\n selectedId: number;\n supplements: PatientSupplementModel[];\n supplementsPart: PatientSupplementModel[];\n anchorEl: any;\n isFullText: boolean;\n allergies: PatientAllergyModel[];\n}\n\nexport function useFacade(patientId: number | null): [\n PatientSupplementsState,\n Function,\n Function,\n Function,\n (value: any) => void,\n (page: number) => void,\n () => number[],\n Function,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[2],\n isMenuOpened: false,\n isEditorOpened: false,\n selectedId: 0,\n supplements: [],\n supplementsPart: [],\n anchorEl: null,\n errors: {},\n isFullText: false,\n allergies: [],\n } as PatientSupplementsState);\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n const start = 0;\n const end = 1 * value > state.totalCount ? state.totalCount : state.selectedPage * value;\n const supplementsPartView = state.supplements.slice(start, end)\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1,\n supplementsPart: supplementsPartView\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n const start = (page - 1) * state.pageSize;\n const end = page * state.pageSize > state.totalCount ? state.totalCount : page * state.pageSize;\n const supplementsPartView = state.supplements.slice(start, end)\n\n setState(state => ({\n ...state,\n selectedPage: page,\n supplementsPart: supplementsPartView\n }));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handleEdit = () => {\n setState({\n ...state,\n isEditorOpened: true,\n isMenuOpened: false\n });\n\n patientSupplementsStore.setEditModel(state.supplements.find(c => c.id === state.selectedId));\n }\n\n const handleDelete = () => {\n const service = patientId ? supplementsService : patientsSupplementsService;\n service.delete(state.selectedId).subscribe();\n\n handleToggleActions(state.selectedId, state.anchorEl);\n }\n\n const handleCloseDialog = () => {\n setState({\n ...state,\n isEditorOpened: false,\n selectedId: 0\n });\n\n patientSupplementsStore.setEditModel();\n }\n\n const handleToggleActions = (id: number, anchorEl: Element) => {\n setState(state => ({\n ...state,\n isMenuOpened: !state.isMenuOpened,\n selectedId: id,\n anchorEl: anchorEl\n }))\n }\n\n const handleReadMore = () => {\n setState({ ...state, isFullText: !state.isFullText });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientSupplementModel[]>(patientSupplementsQuery.patientSupplements$, supplements => {\n const supplementsPartView = supplements.slice(0, pageSizes[2])\n\n setState(state => ({\n ...state,\n supplements: supplements,\n totalCount: supplements.length,\n selectedPage: 1,\n pageSize: pageSizes[2],\n supplementsPart: supplementsPartView,\n anchorElements: supplements.map(() => null)\n }));\n }),\n onEmit<PatientAllergyModel[]>(patientAllergiesQuery.patientAllergies$, allergies => {\n if (allergies) {\n setState(state => ({\n ...state,\n allergies\n }));\n }\n })\n ];\n\n patientId\n ? supplementsService.get(patientId).subscribe(() => setState((state) => ({ ...state, isLoading: false })))\n : patientsSupplementsService.get().subscribe(() => setState((state) => ({ ...state, isLoading: false })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleEdit,\n handleDelete,\n handleCloseDialog,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleActions,\n handleReadMore,\n ];\n}","import {Query} from '@datorama/akita';\nimport {MeddsSuppsState, meddsSuppsStore, MeddsSuppsStore} from \"./meddsSupps.store\";\n\n/**\n * Provides coaches queries\n */\nexport class MeddsSuppsQuery extends Query<MeddsSuppsState> {\n tab$ = this.select(state => state.tab);\n\n constructor(protected store: MeddsSuppsStore) {\n super(store);\n }\n}\n\nexport const meddsSuppsQuery = new MeddsSuppsQuery(meddsSuppsStore);","var _g, _g2, _g3, _circle, _path, _path2, _g4, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSupplements1StStep = function SvgSupplements1StStep(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 334,\n height: 189,\n viewBox: \"0 0 334 189\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_4183_78729)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 129.826,\n height: 133.457,\n rx: 12.7102,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 11 91.356)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.5875 75.0707L81.4663 75.6609L76.9914 78.6441L76.1126 78.0539L80.5875 75.0707ZM75.6193 71.8701L77.4031 78.3697L76.6595 78.8654L75.9573 78.3938L74.2045 71.8972L74.9348 71.4103L75.6193 71.8701ZM74.5232 71.6848L75.4064 72.278L71.1396 75.1225L70.2564 74.5293L74.5232 71.6848ZM79.6879 73.7201L79.5863 73.6519C79.2419 73.4206 78.9726 73.1726 78.7785 72.908C78.5815 72.6414 78.4685 72.372 78.4395 72.0997C78.4105 71.8236 78.4729 71.5535 78.6266 71.2895C78.7803 71.0215 79.0313 70.7715 79.3795 70.5393C79.7306 70.3052 80.1052 70.1382 80.5033 70.0383C80.9014 69.9345 81.3067 69.8928 81.7193 69.9132C82.1289 69.9317 82.5326 70.0073 82.9303 70.1401C83.325 70.271 83.6946 70.4521 84.039 70.6834L84.1406 70.7516C84.485 70.983 84.7543 71.231 84.9484 71.4956C85.1424 71.7602 85.254 72.0306 85.283 72.3068C85.309 72.5809 85.2467 72.851 85.0959 73.117C84.9422 73.381 84.6912 73.6291 84.343 73.8612C83.9919 74.0953 83.6173 74.2643 83.2192 74.3681C82.8212 74.468 82.4173 74.5088 82.0076 74.4903C81.595 74.4699 81.1914 74.3942 80.7967 74.2634C80.4019 74.1326 80.0323 73.9515 79.6879 73.7201ZM80.653 72.9408L80.7546 73.009C80.9695 73.1533 81.1948 73.275 81.4304 73.374C81.666 73.473 81.9032 73.5395 82.1418 73.5735C82.3805 73.6074 82.6148 73.6029 82.8448 73.5599C83.0748 73.5169 83.2916 73.4275 83.4952 73.2918C83.6929 73.16 83.8228 73.0182 83.885 72.8664C83.9501 72.7127 83.9577 72.5559 83.9079 72.3961C83.858 72.2363 83.7596 72.0773 83.6125 71.9193C83.4683 71.7593 83.2888 71.6071 83.0739 71.4628L82.9723 71.3946C82.7604 71.2522 82.5366 71.1335 82.3009 71.0384C82.0653 70.9394 81.8252 70.8729 81.5806 70.839C81.339 70.803 81.1032 70.8066 80.8733 70.8496C80.6433 70.8886 80.428 70.975 80.2273 71.1088C80.0267 71.2426 79.8953 71.3873 79.8331 71.543C79.771 71.6948 79.7663 71.8515 79.819 72.0134C79.8718 72.1752 79.9718 72.3351 80.1188 72.4931C80.263 72.6492 80.4411 72.7984 80.653 72.9408ZM81.7297 66.4076L88.5127 70.9633L87.4415 71.6774L80.6586 67.1217L81.7297 66.4076ZM87.1415 68.751L87.04 68.6828C86.6955 68.4515 86.4262 68.2035 86.2322 67.9389C86.0352 67.6723 85.9221 67.4029 85.8931 67.1307C85.8641 66.8545 85.9265 66.5844 86.0802 66.3204C86.2339 66.0524 86.4849 65.8024 86.8331 65.5703C87.1842 65.3362 87.5588 65.1692 87.9569 65.0693C88.355 64.9654 88.7603 64.9237 89.1729 64.9441C89.5826 64.9626 89.9862 65.0382 90.3839 65.1711C90.7786 65.3019 91.1482 65.483 91.4927 65.7143L91.5942 65.7826C91.9387 66.0139 92.2079 66.2619 92.402 66.5265C92.5961 66.7911 92.7076 67.0615 92.7366 67.3377C92.7627 67.6119 92.7003 67.8819 92.5495 68.1479C92.3958 68.412 92.1449 68.66 91.7967 68.8922C91.4455 69.1262 91.0709 69.2952 90.6728 69.3991C90.2748 69.499 89.8709 69.5397 89.4613 69.5212C89.0487 69.5008 88.645 69.4252 88.2503 69.2943C87.8556 69.1635 87.486 68.9824 87.1415 68.751ZM88.1067 67.9717L88.2082 68.0399C88.4231 68.1842 88.6484 68.3059 88.884 68.4049C89.1196 68.504 89.3568 68.5704 89.5955 68.6044C89.8341 68.6383 90.0685 68.6338 90.2984 68.5908C90.5284 68.5478 90.7452 68.4584 90.9488 68.3227C91.1465 68.1909 91.2764 68.0491 91.3386 67.8974C91.4037 67.7436 91.4113 67.5869 91.3615 67.427C91.3117 67.2672 91.2132 67.1082 91.0661 66.9502C90.922 66.7902 90.7424 66.638 90.5275 66.4937L90.426 66.4255C90.214 66.2831 89.9902 66.1644 89.7546 66.0693C89.5189 65.9703 89.2788 65.9038 89.0343 65.8699C88.7926 65.834 88.5569 65.8375 88.3269 65.8805C88.0969 65.9195 87.8816 66.006 87.681 66.1397C87.4803 66.2735 87.3489 66.4182 87.2867 66.5739C87.2246 66.7257 87.2199 66.8825 87.2727 67.0443C87.3254 67.2061 87.4254 67.366 87.5725 67.524C87.7166 67.6801 87.8947 67.8293 88.1067 67.9717ZM96.2673 65.7936L95.2006 66.5047L89.9632 62.9871C89.607 62.7478 89.3746 62.5029 89.266 62.2522C89.1573 61.9976 89.1666 61.7452 89.2938 61.4949C89.418 61.2427 89.6513 61.0024 89.9936 60.7743C90.0998 60.7034 90.2119 60.6385 90.3299 60.5796C90.4449 60.5186 90.5644 60.4646 90.6883 60.4175L91.4831 60.9869C91.4094 61.0163 91.3341 61.0527 91.2574 61.0959C91.1837 61.1372 91.107 61.1844 91.0273 61.2375C90.865 61.3457 90.7557 61.4599 90.6995 61.5801C90.6433 61.6964 90.6417 61.8138 90.6945 61.9322C90.7503 62.0486 90.8621 62.1632 91.0299 62.2759L96.2673 65.7936ZM92.4762 61.9264L93.2534 62.4484L90.465 64.3074L89.6877 63.7853L92.4762 61.9264ZM95.4462 59.9464L96.2234 60.4684L93.5234 62.2684L92.7462 61.7464L95.4462 59.9464ZM92.355 60.4411L93.4217 59.7299L98.0496 62.8382C98.1968 62.9371 98.3308 62.9995 98.4516 63.0253C98.5724 63.0472 98.6844 63.0415 98.7877 63.0081C98.8909 62.9748 98.9941 62.9237 99.0974 62.8548C99.1712 62.8057 99.2376 62.7555 99.2966 62.7043C99.3556 62.6531 99.4014 62.6108 99.4339 62.5773L100.251 63.1201C100.189 63.1969 100.109 63.2816 100.012 63.3741C99.9172 63.4647 99.7947 63.5601 99.6442 63.6605C99.3993 63.8237 99.1397 63.9396 98.8655 64.0082C98.5883 64.0748 98.298 64.0772 97.9946 64.0156C97.6911 63.9539 97.3759 63.8134 97.0492 63.5939L92.355 60.4411Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.161 96.3231L113.591 100.642L112.48 101.382L104.984 100.216L109.59 103.309L108.479 104.05L102.049 99.7312L103.16 98.9906L110.674 100.157L106.059 97.0578L107.161 96.3231ZM117.008 98.4819C116.654 98.7179 116.276 98.8928 115.875 99.0065C115.474 99.1163 115.069 99.1678 114.659 99.1612C114.252 99.1526 113.854 99.0888 113.466 98.9698C113.077 98.8508 112.719 98.6816 112.392 98.4621L112.215 98.3435C111.842 98.0923 111.558 97.8286 111.364 97.5521C111.169 97.2757 111.062 97.0003 111.042 96.7262C111.019 96.45 111.083 96.1849 111.234 95.9307C111.384 95.6765 111.615 95.4462 111.925 95.2396C112.267 95.0114 112.624 94.8503 112.995 94.7563C113.367 94.6623 113.741 94.6294 114.118 94.6576C114.496 94.682 114.868 94.7625 115.237 94.8992C115.608 95.0339 115.965 95.217 116.31 95.4483L116.765 95.7538L113.064 98.2207L112.301 97.7075L114.947 95.943L114.863 95.8866C114.666 95.7621 114.448 95.667 114.21 95.6015C113.974 95.5341 113.734 95.5129 113.489 95.5382C113.244 95.5634 113.004 95.6547 112.768 95.812C112.591 95.9301 112.471 96.061 112.409 96.2049C112.347 96.3448 112.341 96.4927 112.391 96.6486C112.441 96.8045 112.541 96.9664 112.691 97.1343C112.841 97.2983 113.039 97.4633 113.287 97.6294L113.463 97.748C113.672 97.8884 113.895 98.0002 114.13 98.0834C114.366 98.1627 114.606 98.2095 114.851 98.2237C115.095 98.238 115.335 98.2177 115.571 98.1628C115.804 98.106 116.023 98.0098 116.226 97.874C116.483 97.7029 116.66 97.5158 116.758 97.3129C116.855 97.1099 116.884 96.896 116.843 96.6711L117.948 96.6611C117.995 96.8308 118.005 97.0172 117.978 97.2203C117.948 97.4214 117.856 97.6303 117.703 97.847C117.552 98.0617 117.32 98.2733 117.008 98.4819ZM115.704 92.838L118.201 93.2949L117.546 91.6105L118.718 90.8285L119.612 93.3713L123.554 93.9993L122.381 94.7813L119.756 94.3212L120.434 96.0796L119.256 96.8645L118.328 94.227L114.536 93.617L115.704 92.838ZM120.591 89.5804L125.369 92.7895L124.298 93.5036L119.52 90.2945L120.591 89.5804ZM118.195 89.4993C118.033 89.3906 117.952 89.2652 117.952 89.1232C117.952 88.9773 118.048 88.8404 118.24 88.7125C118.429 88.5866 118.633 88.5238 118.851 88.5242C119.066 88.5226 119.254 88.5762 119.416 88.6849C119.575 88.7917 119.653 88.9171 119.65 89.061C119.647 89.205 119.551 89.3399 119.362 89.4658C119.17 89.5937 118.967 89.6584 118.751 89.66C118.539 89.6597 118.354 89.6061 118.195 89.4993ZM128.293 89.3333L124.641 86.8804L125.712 86.1663L130.49 89.3755L129.481 90.0483L128.293 89.3333ZM127.45 88.5656L127.799 88.3207C128.12 88.5362 128.381 88.7585 128.581 88.9876C128.778 89.2148 128.903 89.4448 128.955 89.6776C129.005 89.9084 128.971 90.1381 128.852 90.3667C128.731 90.5933 128.51 90.8138 128.188 91.0282C127.955 91.1836 127.707 91.3035 127.445 91.3879C127.182 91.4722 126.91 91.5142 126.627 91.5137C126.347 91.5112 126.055 91.4594 125.752 91.3583C125.448 91.2572 125.139 91.1009 124.824 90.8893L121.737 88.8161L122.804 88.105L125.899 90.1841C126.073 90.3008 126.239 90.3849 126.399 90.4364C126.555 90.486 126.703 90.5109 126.845 90.5112C126.986 90.5114 127.119 90.4899 127.243 90.4468C127.367 90.4036 127.482 90.3466 127.588 90.2758C127.892 90.0732 128.072 89.8743 128.129 89.6791C128.185 89.48 128.148 89.2877 128.019 89.102C127.893 88.9145 127.703 88.7356 127.45 88.5656ZM128.843 85.3789L132.65 87.9355L131.583 88.6467L126.805 85.4375L127.81 84.7677L128.843 85.3789ZM129.912 86.3274L129.544 86.5664C129.214 86.3449 128.951 86.1127 128.754 85.8698C128.557 85.6269 128.435 85.3831 128.388 85.1385C128.339 84.8918 128.376 84.6523 128.5 84.4198C128.624 84.1833 128.843 83.9608 129.156 83.7523C129.374 83.6067 129.605 83.4957 129.85 83.4192C130.095 83.3388 130.351 83.2998 130.62 83.3022C130.891 83.3027 131.168 83.3505 131.451 83.4456C131.736 83.5388 132.029 83.6862 132.33 83.8879L135.514 86.0264L134.447 86.7375L131.356 84.6613C131.123 84.5051 130.905 84.4062 130.702 84.3644C130.502 84.3207 130.308 84.3233 130.123 84.3723C129.937 84.4173 129.756 84.4988 129.578 84.6169C129.378 84.7506 129.245 84.8904 129.18 85.0363C129.118 85.1801 129.109 85.3261 129.153 85.4741C129.197 85.6221 129.285 85.7682 129.417 85.9124C129.549 86.0566 129.714 86.1949 129.912 86.3274ZM132.599 84.1576L132.209 84.5652C131.921 84.3714 131.688 84.162 131.512 83.9368C131.335 83.7077 131.228 83.4758 131.19 83.241C131.152 83.0023 131.194 82.7677 131.315 82.5372C131.436 82.3066 131.647 82.091 131.948 81.8904C132.193 81.7271 132.446 81.6043 132.705 81.5219C132.965 81.4355 133.233 81.3946 133.51 81.399C133.787 81.4034 134.074 81.4582 134.372 81.5632C134.666 81.6663 134.973 81.8246 135.291 82.0381L138.382 84.1143L137.311 84.8284L134.215 82.7492C133.974 82.5871 133.751 82.4851 133.548 82.4434C133.348 82.3996 133.159 82.4033 132.982 82.4542C132.802 82.5032 132.624 82.5868 132.447 82.7048C132.281 82.8149 132.166 82.9331 132.101 83.0592C132.036 83.1814 132.015 83.3076 132.039 83.4378C132.059 83.566 132.116 83.6913 132.21 83.8138C132.307 83.9342 132.437 84.0489 132.599 84.1576Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M140.949 121.204L147.378 125.522L146.276 126.257L139.846 121.939L140.949 121.204ZM142.971 119.855L143.855 120.448L138.725 123.868L137.841 123.275L142.971 119.855ZM150.677 122.626L147.721 118.899L148.863 118.138L152.449 123.117C152.522 123.225 152.593 123.35 152.66 123.49C152.728 123.63 152.766 123.78 152.775 123.94C152.789 124.1 152.751 124.261 152.659 124.425C152.57 124.59 152.406 124.753 152.167 124.912C152.073 124.975 151.973 125.03 151.866 125.077C151.766 125.124 151.669 125.168 151.574 125.207L150.757 124.664C150.79 124.646 150.828 124.625 150.872 124.599C150.92 124.572 150.957 124.549 150.983 124.531C151.16 124.413 151.286 124.3 151.359 124.192C151.436 124.085 151.464 123.976 151.444 123.864C151.427 123.749 151.365 123.621 151.259 123.479L150.677 122.626ZM145.685 120.256L150.4 121.9L151.712 122.527L151.162 123.147L144.534 121.024L145.685 120.256ZM148.611 115.623L155.394 120.178L154.323 120.892L147.54 116.337L148.611 115.623ZM158.762 118.051C158.408 118.287 158.03 118.462 157.629 118.576C157.228 118.686 156.823 118.737 156.413 118.731C156.007 118.722 155.609 118.658 155.22 118.539C154.831 118.42 154.473 118.251 154.147 118.031L153.97 117.913C153.596 117.662 153.312 117.398 153.118 117.121C152.924 116.845 152.817 116.57 152.797 116.295C152.774 116.019 152.837 115.754 152.988 115.5C153.139 115.246 153.369 115.015 153.679 114.809C154.021 114.581 154.378 114.42 154.75 114.326C155.121 114.232 155.496 114.199 155.873 114.227C156.25 114.251 156.623 114.332 156.991 114.469C157.362 114.603 157.72 114.786 158.064 115.018L158.519 115.323L154.819 117.79L154.055 117.277L156.702 115.512L156.618 115.456C156.421 115.331 156.203 115.236 155.964 115.171C155.728 115.103 155.488 115.082 155.244 115.107C154.999 115.133 154.758 115.224 154.522 115.381C154.345 115.499 154.226 115.63 154.164 115.774C154.102 115.914 154.095 116.062 154.145 116.218C154.195 116.374 154.295 116.536 154.445 116.704C154.595 116.868 154.794 117.033 155.041 117.199L155.218 117.317C155.427 117.458 155.649 117.57 155.885 117.653C156.12 117.732 156.36 117.779 156.605 117.793C156.85 117.807 157.09 117.787 157.326 117.732C157.559 117.675 157.777 117.579 157.981 117.443C158.237 117.272 158.414 117.085 158.512 116.882C158.61 116.679 158.638 116.465 158.597 116.24L159.702 116.23C159.749 116.4 159.759 116.587 159.732 116.79C159.703 116.991 159.611 117.2 159.457 117.416C159.307 117.631 159.075 117.843 158.762 118.051ZM158.722 112.93L162.48 115.454L161.414 116.165L156.635 112.956L157.64 112.286L158.722 112.93ZM159.724 113.858L159.375 114.085C159.039 113.856 158.776 113.616 158.584 113.365C158.396 113.112 158.283 112.862 158.245 112.616C158.21 112.367 158.255 112.129 158.379 111.9C158.5 111.67 158.704 111.459 158.99 111.268C159.221 111.115 159.461 110.998 159.712 110.917C159.962 110.833 160.225 110.794 160.499 110.8C160.776 110.805 161.063 110.859 161.361 110.964C161.655 111.067 161.966 111.229 162.293 111.448L165.379 113.521L164.308 114.236L161.217 112.159C160.987 112.005 160.772 111.906 160.572 111.862C160.372 111.815 160.18 111.814 159.997 111.861C159.815 111.905 159.63 111.988 159.444 112.112C159.261 112.234 159.136 112.369 159.068 112.517C159 112.664 158.982 112.816 159.014 112.972C159.049 113.126 159.127 113.279 159.247 113.431C159.368 113.583 159.527 113.725 159.724 113.858ZM163.929 111.362L163.827 111.294C163.483 111.063 163.213 110.815 163.019 110.55C162.822 110.284 162.709 110.014 162.68 109.742C162.651 109.466 162.714 109.196 162.867 108.932C163.021 108.664 163.272 108.414 163.62 108.182C163.971 107.947 164.346 107.78 164.744 107.681C165.142 107.577 165.547 107.535 165.96 107.555C166.37 107.574 166.773 107.65 167.171 107.782C167.566 107.913 167.935 108.094 168.28 108.326L168.381 108.394C168.726 108.625 168.995 108.873 169.189 109.138C169.383 109.402 169.495 109.673 169.524 109.949C169.55 110.223 169.487 110.493 169.337 110.759C169.183 111.023 168.932 111.271 168.584 111.503C168.233 111.738 167.858 111.906 167.46 112.01C167.062 112.11 166.658 112.151 166.248 112.133C165.836 112.112 165.432 112.036 165.037 111.906C164.643 111.775 164.273 111.594 163.929 111.362ZM164.894 110.583L164.995 110.651C165.21 110.796 165.435 110.917 165.671 111.016C165.907 111.115 166.144 111.182 166.382 111.216C166.621 111.25 166.855 111.245 167.085 111.202C167.315 111.159 167.532 111.07 167.736 110.934C167.934 110.802 168.063 110.66 168.126 110.509C168.191 110.355 168.198 110.198 168.149 110.038C168.099 109.878 168 109.72 167.853 109.561C167.709 109.401 167.529 109.249 167.315 109.105L167.213 109.037C167.001 108.894 166.777 108.776 166.542 108.681C166.306 108.582 166.066 108.515 165.821 108.481C165.58 108.445 165.344 108.449 165.114 108.492C164.884 108.531 164.669 108.617 164.468 108.751C164.267 108.885 164.136 109.029 164.074 109.185C164.012 109.337 164.007 109.494 164.06 109.656C164.112 109.817 164.212 109.977 164.359 110.135C164.504 110.291 164.682 110.441 164.894 110.583ZM165.97 104.05L172.753 108.605L171.682 109.32L164.899 104.764L165.97 104.05Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M69.4572 102.312L135.932 57.9952\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.502 125.85L170.977 81.533\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter1_d_4183_78729)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_4183_78729)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 129.826,\n height: 133.457,\n rx: 12.7102,\n transform: \"matrix(0.965264 -0.261278 0.609715 0.792621 116.313 36.9207)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M165.371 43.1895L166.521 42.8782L172.325 47.0281L170.84 41.7093L171.99 41.398L173.857 48.3098L172.943 48.5572L165.371 43.1895ZM164.847 43.3313L165.941 43.0352L169.284 47.0822L170.853 49.1229L169.57 49.4704L164.847 43.3313ZM171.42 41.5522L172.519 41.2548L177.241 47.3939L175.952 47.7427L174.382 45.702L171.42 41.5522ZM181.076 45.2503L179.403 43.0746C179.277 42.9116 179.133 42.7807 178.971 42.6821C178.808 42.5835 178.628 42.5218 178.431 42.497C178.238 42.4713 178.031 42.4881 177.812 42.5474C177.61 42.6021 177.457 42.6774 177.353 42.7735C177.249 42.8695 177.193 42.9765 177.185 43.0943C177.176 43.2121 177.218 43.3314 177.311 43.4523L176.079 43.7859C175.94 43.606 175.859 43.4173 175.836 43.22C175.812 43.0226 175.85 42.8305 175.951 42.6437C176.051 42.4569 176.212 42.2876 176.435 42.1357C176.657 41.9839 176.943 41.8607 177.292 41.7661C177.71 41.6531 178.124 41.6107 178.534 41.6388C178.948 41.666 179.337 41.7713 179.701 41.9545C180.067 42.1341 180.384 42.3981 180.652 42.7467L182.212 44.7748C182.372 44.9828 182.533 45.1651 182.695 45.3216C182.858 45.4745 183.02 45.6021 183.181 45.7044L183.233 45.7719L181.965 46.1152C181.823 46.0213 181.669 45.8947 181.505 45.7353C181.343 45.5722 181.2 45.4105 181.076 45.2503ZM179.826 43.3422L180.319 43.9676L179.431 44.2081C179.202 44.2702 179.014 44.3431 178.867 44.4269C178.719 44.5079 178.612 44.5979 178.548 44.6968C178.483 44.7958 178.458 44.901 178.474 45.0123C178.489 45.1236 178.543 45.2397 178.636 45.3606C178.729 45.4814 178.849 45.5832 178.995 45.6659C179.139 45.7457 179.298 45.7961 179.471 45.8172C179.648 45.8372 179.831 45.8218 180.019 45.7708C180.272 45.7023 180.461 45.6003 180.584 45.465C180.709 45.326 180.778 45.1798 180.793 45.0265C180.805 44.8704 180.771 44.7352 180.691 44.6209L181.439 44.9636C181.487 45.09 181.512 45.2326 181.514 45.3916C181.516 45.5506 181.484 45.7123 181.416 45.8767C181.349 46.0374 181.234 46.1858 181.069 46.3219C180.909 46.4571 180.685 46.5637 180.397 46.6415C180.034 46.7397 179.665 46.7682 179.29 46.7271C178.913 46.6831 178.566 46.5817 178.25 46.4229C177.931 46.2612 177.672 46.0511 177.473 45.7925C177.287 45.5508 177.178 45.3223 177.145 45.1071C177.113 44.8882 177.156 44.6863 177.274 44.5015C177.396 44.3157 177.59 44.1478 177.855 43.9979C178.118 43.8452 178.451 43.7142 178.855 43.6049L179.826 43.3422ZM184.366 39.9533L185.49 39.6489L188.902 44.0845C189.218 44.4949 189.38 44.8722 189.388 45.2164C189.397 45.5605 189.268 45.8585 189.003 46.1104C188.74 46.365 188.358 46.56 187.858 46.6953C187.646 46.7527 187.39 46.7913 187.091 46.8112C186.796 46.8301 186.483 46.8162 186.154 46.7695C185.83 46.7248 185.518 46.6342 185.219 46.4979L185.338 45.7421C185.686 45.8823 186.014 45.9649 186.323 45.99C186.632 46.0151 186.918 45.992 187.182 45.9206C187.466 45.8437 187.674 45.7348 187.805 45.594C187.942 45.455 188.002 45.2877 187.984 45.0922C187.966 44.8967 187.865 44.6795 187.681 44.4406L185.047 41.0169L184.366 39.9533ZM182.385 43.3065L182.317 43.218C182.051 42.8722 181.86 42.5435 181.745 42.2318C181.627 41.9173 181.585 41.6315 181.619 41.3744C181.65 41.1145 181.761 40.8927 181.951 40.7089C182.138 40.5224 182.404 40.3823 182.75 40.2887C183.11 40.1914 183.457 40.1619 183.793 40.2001C184.132 40.2375 184.463 40.3327 184.788 40.486C185.111 40.6364 185.426 40.8364 185.733 41.0859C186.042 41.3317 186.35 41.6154 186.655 41.9369L186.872 42.2194C187.078 42.5575 187.232 42.8759 187.334 43.1744C187.435 43.473 187.474 43.7443 187.451 43.9883C187.428 44.2323 187.329 44.4425 187.154 44.6188C186.983 44.7942 186.725 44.9287 186.379 45.0223C186.04 45.114 185.689 45.1393 185.327 45.0982C184.968 45.0561 184.611 44.9575 184.256 44.8023C183.904 44.6462 183.569 44.4415 183.25 44.1882C182.929 43.9321 182.641 43.6382 182.385 43.3065ZM183.555 42.883L183.623 42.9716C183.783 43.1796 183.956 43.367 184.142 43.534C184.332 43.7 184.531 43.8379 184.74 43.9479C184.95 44.0541 185.165 44.1247 185.387 44.1599C185.61 44.1913 185.832 44.1769 186.055 44.1167C186.346 44.0379 186.545 43.9229 186.652 43.7717C186.762 43.6195 186.801 43.4443 186.768 43.246C186.737 43.0439 186.66 42.8305 186.536 42.6057L185.949 41.8426C185.801 41.6823 185.64 41.5393 185.464 41.4135C185.292 41.2868 185.112 41.1844 184.924 41.1063C184.734 41.0254 184.535 40.9773 184.329 40.9618C184.12 40.9435 183.907 40.964 183.688 41.0233C183.465 41.0835 183.302 41.1752 183.198 41.2984C183.094 41.4216 183.042 41.5664 183.042 41.7329C183.045 41.8984 183.092 42.0795 183.181 42.2761C183.27 42.4727 183.395 42.675 183.555 42.883ZM188.75 39.9432L191.511 43.5314L190.273 43.8663L186.764 39.3042L187.929 38.9887L188.75 39.9432ZM189.405 41.1414L189.002 41.2456C188.756 40.9214 188.583 40.6101 188.482 40.3115C188.384 40.012 188.356 39.7393 188.398 39.4935C188.444 39.2467 188.562 39.0347 188.753 38.8575C188.941 38.6775 189.201 38.5425 189.533 38.4527C189.8 38.3804 190.065 38.346 190.329 38.3494C190.593 38.3492 190.854 38.3957 191.112 38.4889C191.373 38.5812 191.628 38.7244 191.877 38.9186C192.123 39.11 192.367 39.3617 192.607 39.6737L194.874 42.621L193.631 42.9574L191.361 40.0059C191.192 39.7866 191.02 39.6244 190.844 39.5192C190.669 39.4103 190.488 39.3491 190.299 39.3355C190.112 39.3182 189.911 39.3387 189.695 39.3971C189.483 39.4546 189.321 39.5425 189.21 39.661C189.098 39.7795 189.033 39.9178 189.014 40.0757C188.998 40.2328 189.023 40.4026 189.089 40.5851C189.155 40.7677 189.261 40.9531 189.405 41.1414ZM198.651 41.7004C198.24 41.8116 197.827 41.8574 197.41 41.8376C196.995 41.8141 196.595 41.7341 196.208 41.5975C195.825 41.46 195.469 41.273 195.138 41.0366C194.807 40.8001 194.522 40.5258 194.282 40.2138L194.152 40.0451C193.877 39.6882 193.692 39.3478 193.596 39.0239C193.5 38.7001 193.486 38.4051 193.554 38.1387C193.62 37.8695 193.765 37.6384 193.988 37.4454C194.212 37.2524 194.504 37.1073 194.863 37.01C195.26 36.9025 195.65 36.8632 196.032 36.8923C196.414 36.9213 196.78 37.0092 197.128 37.1559C197.478 37.2989 197.806 37.4938 198.111 37.7405C198.42 37.9863 198.701 38.2736 198.954 38.6025L199.289 39.0368L194.996 40.1988L194.435 39.4693L197.505 38.6382L197.444 38.5581C197.296 38.3772 197.12 38.2178 196.915 38.0798C196.713 37.9409 196.492 37.8445 196.252 37.7906C196.012 37.7367 195.755 37.7468 195.481 37.8209C195.275 37.8765 195.12 37.9626 195.016 38.0792C194.912 38.1921 194.859 38.3304 194.857 38.4941C194.855 38.6577 194.898 38.843 194.987 39.0499C195.077 39.253 195.213 39.4727 195.394 39.7088L195.524 39.8774C195.678 40.077 195.853 40.2537 196.05 40.4076C196.248 40.5577 196.461 40.6784 196.688 40.7697C196.916 40.861 197.15 40.9182 197.391 40.9412C197.63 40.9614 197.867 40.9396 198.104 40.8757C198.401 40.795 198.629 40.674 198.786 40.5127C198.943 40.3513 199.038 40.1575 199.071 39.9312L200.122 40.2733C200.112 40.4491 200.062 40.629 199.972 40.813C199.88 40.9942 199.727 41.1631 199.512 41.3197C199.301 41.4753 199.014 41.6022 198.651 41.7004ZM203.942 38.6739C203.864 38.5727 203.763 38.4897 203.638 38.4249C203.512 38.3572 203.335 38.3133 203.109 38.2931C202.886 38.272 202.585 38.2787 202.206 38.3133C201.871 38.3396 201.552 38.3495 201.249 38.3432C200.947 38.333 200.668 38.2982 200.412 38.2387C200.155 38.1791 199.922 38.0892 199.714 37.969C199.506 37.8488 199.328 37.6931 199.181 37.5019C199.038 37.3164 198.953 37.1273 198.925 36.9346C198.896 36.7419 198.926 36.5572 199.013 36.3807C199.101 36.2042 199.248 36.0437 199.456 35.8993C199.667 35.7539 199.936 35.6368 200.265 35.5478C200.731 35.4218 201.179 35.3785 201.611 35.4179C202.043 35.4536 202.433 35.557 202.78 35.728C203.124 35.8963 203.401 36.1168 203.611 36.3894L202.374 36.7244C202.281 36.6035 202.156 36.5013 202.001 36.4177C201.847 36.3303 201.672 36.2742 201.475 36.2494C201.276 36.2218 201.065 36.2381 200.842 36.2983C200.63 36.3558 200.475 36.4316 200.378 36.5258C200.282 36.6163 200.234 36.7143 200.232 36.82C200.234 36.9248 200.275 37.0291 200.355 37.1331C200.414 37.209 200.484 37.2733 200.566 37.3258C200.649 37.3747 200.752 37.4128 200.877 37.4402C200.999 37.4649 201.15 37.4783 201.33 37.4807C201.513 37.4821 201.733 37.4719 201.989 37.45C202.47 37.4082 202.907 37.4037 203.3 37.4365C203.694 37.4655 204.043 37.5478 204.346 37.6832C204.646 37.8158 204.901 38.0185 205.111 38.2911C205.267 38.4935 205.357 38.6934 205.38 38.8908C205.405 39.0844 205.366 39.2699 205.262 39.4474C205.157 39.622 204.991 39.7805 204.766 39.9231C204.544 40.0646 204.262 40.1818 203.919 40.2744C203.416 40.4106 202.934 40.4529 202.472 40.4013C202.009 40.3468 201.597 40.2289 201.239 40.0475C200.881 39.8624 200.606 39.6447 200.414 39.3945L201.61 39.0707C201.769 39.2553 201.948 39.3886 202.147 39.4704C202.348 39.5485 202.553 39.5897 202.763 39.594C202.975 39.5945 203.173 39.5698 203.358 39.5197C203.58 39.4595 203.748 39.3851 203.862 39.2966C203.974 39.2052 204.037 39.1067 204.05 39.0011C204.062 38.8926 204.026 38.7836 203.942 38.6739ZM205.002 34.3673L208.512 38.9295L207.269 39.2658L203.76 34.7037L205.002 34.3673ZM202.757 33.5285C202.638 33.3739 202.601 33.2293 202.646 33.0947C202.693 32.9565 202.828 32.8572 203.05 32.797C203.269 32.7377 203.482 32.7429 203.689 32.8126C203.893 32.8795 204.055 32.9903 204.174 33.1449C204.291 33.2966 204.325 33.4403 204.276 33.5758C204.227 33.7112 204.093 33.8086 203.874 33.8679C203.651 33.9282 203.438 33.9248 203.233 33.8579C203.032 33.7901 202.873 33.6803 202.757 33.5285ZM212.383 36.5825L209.701 33.0956L210.943 32.7592L214.453 37.3214L213.282 37.6383L212.383 36.5825ZM211.828 35.5866L212.237 35.4656C212.473 35.772 212.649 36.0656 212.766 36.3464C212.881 36.6245 212.926 36.8822 212.902 37.1197C212.876 37.3544 212.77 37.5612 212.585 37.7403C212.398 37.9166 212.118 38.0552 211.745 38.1562C211.474 38.2294 211.201 38.2643 210.926 38.2608C210.65 38.2573 210.378 38.2103 210.11 38.1199C209.845 38.0285 209.585 37.8866 209.33 37.6943C209.074 37.5019 208.831 37.2554 208.6 36.9546L206.332 34.0074L207.57 33.6724L209.844 36.6281C209.971 36.7939 210.102 36.9266 210.237 37.026C210.369 37.1227 210.502 37.1936 210.636 37.2389C210.77 37.2841 210.903 37.3059 211.034 37.3044C211.165 37.3028 211.292 37.2854 211.415 37.252C211.768 37.1566 212.002 37.0253 212.117 36.8582C212.234 36.6874 212.261 36.4934 212.197 36.2763C212.137 36.0582 212.014 35.8283 211.828 35.5866ZM214.163 33.0086L216.959 36.6431L215.721 36.9781L212.212 32.4159L213.377 32.1004L214.163 33.0086ZM214.874 34.2476L214.45 34.3573C214.207 34.0425 214.032 33.7386 213.922 33.4456C213.812 33.1527 213.774 32.8828 213.808 32.636C213.839 32.3863 213.951 32.1711 214.142 31.9901C214.335 31.8054 214.613 31.664 214.976 31.5658C215.229 31.4972 215.484 31.4656 215.741 31.4709C215.998 31.4725 216.254 31.5171 216.507 31.6047C216.764 31.6914 217.012 31.8248 217.25 32.0049C217.491 32.1841 217.722 32.4171 217.942 32.7038L220.281 35.7439L219.043 36.0788L216.773 33.1273C216.602 32.9053 216.427 32.7421 216.247 32.6379C216.071 32.5327 215.888 32.4738 215.696 32.4611C215.505 32.4448 215.308 32.4644 215.102 32.52C214.869 32.583 214.699 32.6733 214.591 32.7908C214.486 32.9075 214.431 33.0429 214.426 33.1972C214.42 33.3515 214.457 33.518 214.537 33.6969C214.617 33.8757 214.729 34.0593 214.874 34.2476ZM218.112 33.0451L217.613 33.3076C217.401 33.0321 217.247 32.7596 217.151 32.49C217.057 32.2167 217.029 31.9628 217.068 31.7281C217.108 31.4898 217.222 31.2806 217.41 31.1006C217.598 30.9205 217.867 30.7833 218.216 30.6888C218.5 30.6119 218.778 30.5756 219.051 30.58C219.324 30.5807 219.592 30.6272 219.853 30.7195C220.114 30.8118 220.369 30.9551 220.618 31.1493C220.864 31.3407 221.104 31.5882 221.338 31.8917L223.608 34.8432L222.366 35.1796L220.092 32.2239C219.915 31.9934 219.736 31.826 219.557 31.7217C219.381 31.6166 219.201 31.56 219.017 31.5521C218.831 31.5413 218.635 31.5637 218.429 31.6193C218.238 31.6712 218.091 31.7466 217.989 31.8455C217.889 31.9406 217.829 32.0536 217.81 32.1845C217.788 32.3125 217.803 32.4496 217.853 32.5956C217.907 32.7407 217.993 32.8905 218.112 33.0451Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M201.094 79.5762L199.201 74.0263L200.623 73.6413L202.665 80.5059L201.705 80.7658L201.094 79.5762ZM195.416 75.0507L201.227 79.54L202.357 80.5893L201.392 80.8506L193.999 75.4343L195.416 75.0507ZM203.874 74.6665L207.384 79.2286L206.141 79.565L202.632 75.0028L203.874 74.6665ZM201.629 73.8276C201.51 73.673 201.473 73.5284 201.518 73.3939C201.565 73.2556 201.7 73.1563 201.922 73.0961C202.141 73.0368 202.354 73.042 202.561 73.1117C202.765 73.1787 202.927 73.2894 203.046 73.444C203.163 73.5958 203.197 73.7394 203.148 73.8749C203.099 74.0104 202.965 74.1078 202.746 74.1671C202.523 74.2273 202.31 74.224 202.105 74.1571C201.904 74.0892 201.745 73.9794 201.629 73.8276ZM207.777 73.6102L208.348 74.3523L205.216 75.2001L204.645 74.458L207.777 73.6102ZM204.689 73.096L205.926 72.7611L209.325 77.1799C209.434 77.3204 209.541 77.4221 209.647 77.4851C209.755 77.5442 209.863 77.5744 209.971 77.5757C210.08 77.5769 210.194 77.5612 210.314 77.5288C210.399 77.5057 210.478 77.4792 210.55 77.4495C210.623 77.4197 210.679 77.3941 210.721 77.3727L211.323 78.1472C211.24 78.2003 211.137 78.2552 211.015 78.3119C210.897 78.3677 210.75 78.4193 210.576 78.4665C210.292 78.5434 210.009 78.5708 209.727 78.5486C209.443 78.5235 209.167 78.4335 208.899 78.2786C208.631 78.1236 208.377 77.8901 208.137 77.5781L204.689 73.096ZM214.67 76.151L212.996 73.9753C212.871 73.8123 212.727 73.6815 212.564 73.5829C212.401 73.4843 212.221 73.4226 212.025 73.3978C211.831 73.372 211.625 73.3888 211.406 73.4481C211.204 73.5028 211.051 73.5782 210.947 73.6742C210.843 73.7703 210.787 73.8772 210.778 73.995C210.769 74.1128 210.811 74.2322 210.904 74.3531L209.672 74.6866C209.534 74.5067 209.453 74.3181 209.429 74.1207C209.405 73.9233 209.444 73.7312 209.544 73.5445C209.644 73.3577 209.806 73.1884 210.028 73.0365C210.25 72.8846 210.536 72.7614 210.885 72.6669C211.303 72.5539 211.717 72.5114 212.127 72.5396C212.541 72.5668 212.93 72.672 213.295 72.8553C213.66 73.0348 213.977 73.2989 214.245 73.6474L215.805 75.6755C215.965 75.8835 216.126 76.0658 216.288 76.2224C216.451 76.3752 216.613 76.5028 216.775 76.6052L216.827 76.6726L215.558 77.0159C215.416 76.9221 215.263 76.7954 215.099 76.636C214.936 76.4729 214.793 76.3112 214.67 76.151ZM213.419 74.2429L213.913 74.8684L213.024 75.1088C212.795 75.1709 212.607 75.2439 212.461 75.3277C212.312 75.4087 212.205 75.4986 212.141 75.5976C212.076 75.6966 212.052 75.8017 212.067 75.913C212.082 76.0244 212.137 76.1405 212.23 76.2613C212.323 76.3822 212.442 76.484 212.589 76.5666C212.733 76.6465 212.891 76.6969 213.065 76.7179C213.241 76.738 213.424 76.7225 213.612 76.6716C213.866 76.603 214.054 76.5011 214.177 76.3658C214.302 76.2268 214.372 76.0806 214.386 75.9273C214.398 75.7711 214.365 75.6359 214.285 75.5216L215.032 75.8644C215.08 75.9907 215.105 76.1334 215.107 76.2924C215.11 76.4514 215.077 76.6131 215.009 76.7775C214.942 76.9382 214.827 77.0866 214.663 77.2227C214.502 77.3579 214.278 77.4644 213.99 77.5422C213.628 77.6405 213.259 77.669 212.884 77.6278C212.507 77.5839 212.16 77.4825 211.843 77.3236C211.524 77.162 211.266 76.9519 211.067 76.6933C210.881 76.4515 210.771 76.2231 210.738 76.0079C210.706 75.789 210.749 75.5871 210.868 75.4022C210.989 75.2164 211.183 75.0486 211.448 74.8987C211.711 74.746 212.045 74.615 212.449 74.5056L213.419 74.2429ZM216.352 72.4099L219.148 76.0444L217.91 76.3794L214.401 71.8172L215.566 71.5017L216.352 72.4099ZM217.063 73.6489L216.639 73.7586C216.396 73.4438 216.221 73.1399 216.111 72.8469C216.001 72.5539 215.963 72.284 215.997 72.0372C216.028 71.7876 216.14 71.5724 216.331 71.3914C216.524 71.2067 216.802 71.0653 217.165 70.9671C217.418 70.8985 217.673 70.8669 217.93 70.8722C218.187 70.8738 218.443 70.9184 218.696 71.006C218.953 71.0927 219.201 71.2261 219.439 71.4062C219.68 71.5854 219.911 71.8184 220.131 72.1051L222.47 75.1451L221.232 75.4801L218.962 72.5286C218.791 72.3066 218.616 72.1434 218.437 72.0392C218.261 71.934 218.077 71.8751 217.885 71.8624C217.694 71.8461 217.497 71.8657 217.291 71.9213C217.058 71.9843 216.888 72.0745 216.78 72.1921C216.675 72.3087 216.62 72.4442 216.615 72.5985C216.609 72.7528 216.647 72.9193 216.726 73.0982C216.806 73.277 216.918 73.4605 217.063 73.6489ZM220.301 72.4464L219.802 72.7089C219.59 72.4334 219.436 72.1609 219.34 71.8913C219.246 71.618 219.218 71.364 219.257 71.1294C219.297 70.891 219.411 70.6819 219.599 70.5018C219.787 70.3218 220.056 70.1846 220.405 70.09C220.689 70.0131 220.968 69.9769 221.24 69.9813C221.513 69.982 221.781 70.0285 222.042 70.1208C222.303 70.2131 222.558 70.3564 222.807 70.5506C223.053 70.742 223.293 70.9894 223.527 71.293L225.797 74.2445L224.555 74.5808L222.281 71.6252C222.104 71.3947 221.925 71.2273 221.746 71.123C221.57 71.0179 221.39 70.9613 221.206 70.9533C221.02 70.9426 220.824 70.965 220.619 71.0206C220.427 71.0725 220.28 71.1479 220.178 71.2468C220.078 71.3419 220.018 71.4549 219.999 71.5858C219.977 71.7138 219.992 71.8509 220.042 71.9969C220.096 72.142 220.182 72.2918 220.301 72.4464ZM224.886 68.9791L228.395 73.5412L227.153 73.8776L223.643 69.3154L224.886 68.9791ZM222.64 68.1402C222.521 67.9856 222.484 67.841 222.53 67.7065C222.576 67.5682 222.711 67.4689 222.934 67.4087C223.153 67.3494 223.365 67.3546 223.572 67.4243C223.777 67.4912 223.938 67.602 224.057 67.7566C224.174 67.9084 224.208 68.052 224.159 68.1875C224.11 68.323 223.976 68.4204 223.757 68.4797C223.535 68.5399 223.321 68.5366 223.117 68.4696C222.916 68.4018 222.757 68.292 222.64 68.1402ZM228.218 69.2539L230.978 72.8421L229.741 73.1771L226.231 68.6149L227.397 68.2994L228.218 69.2539ZM228.873 70.4521L228.469 70.5563C228.224 70.2322 228.051 69.9208 227.949 69.6222C227.851 69.3227 227.823 69.05 227.866 68.8042C227.912 68.5574 228.03 68.3454 228.22 68.1682C228.409 67.9882 228.669 67.8533 229.001 67.7634C229.268 67.6911 229.533 67.6567 229.796 67.6602C230.061 67.6599 230.322 67.7064 230.58 67.7996C230.841 67.8919 231.096 68.0352 231.345 68.2294C231.591 68.4208 231.834 68.6725 232.074 68.9845L234.341 71.9317L233.099 72.2681L230.828 69.3166C230.66 69.0974 230.487 68.9351 230.311 68.83C230.137 68.721 229.955 68.6598 229.767 68.6462C229.58 68.6289 229.378 68.6495 229.163 68.7078C228.951 68.7653 228.789 68.8533 228.677 68.9717C228.566 69.0902 228.5 69.2285 228.481 69.3865C228.466 69.5435 228.491 69.7133 228.557 69.8959C228.623 70.0784 228.728 70.2638 228.873 70.4521ZM241.225 67.6537L242.509 67.3063C242.777 67.7194 242.916 68.1148 242.925 68.4926C242.932 68.8677 242.795 69.2021 242.512 69.496C242.229 69.7899 241.787 70.0183 241.184 70.1814C240.722 70.3065 240.254 70.3516 239.781 70.3168C239.305 70.2791 238.839 70.1709 238.383 69.992C237.925 69.8104 237.489 69.5601 237.074 69.2411C236.662 68.9212 236.286 68.5405 235.947 68.0992L235.555 67.589C235.215 67.1477 234.978 66.7296 234.844 66.3346C234.713 65.9387 234.684 65.5781 234.756 65.2528C234.827 64.9248 234.996 64.6428 235.266 64.4069C235.538 64.17 235.909 63.9881 236.378 63.8612C236.974 63.6999 237.546 63.6537 238.095 63.7224C238.645 63.7911 239.154 63.9537 239.625 64.2102C240.098 64.4657 240.519 64.7918 240.886 65.1883L239.602 65.5357C239.365 65.2808 239.115 65.0749 238.854 64.918C238.596 64.7603 238.318 64.6623 238.02 64.6242C237.72 64.5832 237.39 64.6114 237.03 64.7087C236.736 64.7884 236.514 64.9028 236.364 65.0521C236.214 65.2013 236.132 65.383 236.119 65.5971C236.106 65.8113 236.16 66.0564 236.282 66.3326C236.404 66.605 236.591 66.9043 236.842 67.2303L237.241 67.749C237.479 68.0582 237.728 68.3305 237.987 68.5658C238.248 68.7975 238.516 68.9847 238.792 69.1276C239.07 69.2695 239.355 69.3604 239.647 69.4004C239.938 69.4404 240.234 69.4197 240.536 69.3381C240.902 69.239 241.161 69.111 241.314 68.9543C241.469 68.7967 241.535 68.6107 241.511 68.3965C241.488 68.1786 241.393 67.931 241.225 67.6537Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.783 115.404L217.067 115.056C217.335 115.469 217.474 115.865 217.483 116.243C217.491 116.618 217.353 116.952 217.07 117.246C216.788 117.54 216.345 117.768 215.742 117.931C215.28 118.056 214.813 118.102 214.339 118.067C213.863 118.029 213.398 117.921 212.942 117.742C212.483 117.56 212.047 117.31 211.632 116.991C211.22 116.671 210.845 116.29 210.505 115.849L210.113 115.339C209.773 114.898 209.536 114.479 209.402 114.084C209.271 113.689 209.242 113.328 209.315 113.003C209.385 112.675 209.555 112.393 209.824 112.157C210.097 111.92 210.468 111.738 210.937 111.611C211.532 111.45 212.105 111.404 212.654 111.472C213.203 111.541 213.713 111.704 214.183 111.96C214.657 112.216 215.077 112.542 215.444 112.938L214.16 113.286C213.923 113.031 213.673 112.825 213.412 112.668C213.154 112.51 212.876 112.412 212.578 112.374C212.278 112.333 211.948 112.361 211.588 112.459C211.294 112.538 211.072 112.653 210.922 112.802C210.772 112.951 210.691 113.133 210.677 113.347C210.664 113.561 210.719 113.806 210.84 114.082C210.963 114.355 211.149 114.654 211.4 114.98L211.799 115.499C212.037 115.808 212.286 116.08 212.545 116.316C212.806 116.547 213.074 116.735 213.35 116.877C213.629 117.019 213.914 117.11 214.205 117.15C214.496 117.19 214.793 117.17 215.094 117.088C215.46 116.989 215.719 116.861 215.872 116.704C216.028 116.547 216.094 116.361 216.069 116.146C216.046 115.928 215.951 115.681 215.783 115.404ZM217.7 114.605L217.625 114.508C217.372 114.179 217.196 113.858 217.096 113.545C216.994 113.23 216.973 112.939 217.032 112.671C217.092 112.4 217.237 112.164 217.467 111.963C217.698 111.758 218.015 111.6 218.419 111.491C218.827 111.381 219.235 111.342 219.644 111.373C220.054 111.402 220.452 111.491 220.837 111.642C221.219 111.789 221.578 111.989 221.913 112.242C222.245 112.491 222.538 112.781 222.791 113.109L222.866 113.206C223.119 113.535 223.295 113.856 223.395 114.169C223.495 114.481 223.514 114.773 223.454 115.044C223.392 115.312 223.247 115.549 223.019 115.753C222.789 115.954 222.472 116.11 222.069 116.219C221.661 116.329 221.252 116.37 220.842 116.342C220.433 116.31 220.037 116.22 219.654 116.073C219.27 115.922 218.911 115.722 218.578 115.472C218.246 115.223 217.953 114.934 217.7 114.605ZM218.863 114.173L218.937 114.27C219.095 114.475 219.27 114.662 219.462 114.831C219.654 115 219.858 115.138 220.073 115.246C220.289 115.354 220.512 115.424 220.744 115.457C220.976 115.489 221.21 115.473 221.446 115.409C221.675 115.347 221.843 115.254 221.951 115.13C222.061 115.005 222.118 114.859 222.122 114.692C222.126 114.524 222.083 114.342 221.994 114.146C221.908 113.948 221.786 113.747 221.628 113.541L221.553 113.444C221.398 113.242 221.223 113.058 221.03 112.893C220.838 112.724 220.632 112.585 220.411 112.475C220.193 112.364 219.968 112.293 219.737 112.26C219.506 112.224 219.275 112.237 219.042 112.301C218.809 112.364 218.638 112.459 218.53 112.587C218.423 112.711 218.369 112.858 218.367 113.028C218.366 113.198 218.41 113.382 218.499 113.578C218.586 113.772 218.707 113.97 218.863 114.173ZM228.133 114.578C227.722 114.689 227.308 114.734 226.892 114.715C226.477 114.691 226.076 114.611 225.69 114.475C225.307 114.337 224.95 114.15 224.619 113.914C224.288 113.677 224.003 113.403 223.763 113.091L223.633 112.922C223.359 112.565 223.173 112.225 223.077 111.901C222.981 111.577 222.967 111.282 223.035 111.016C223.101 110.747 223.246 110.516 223.47 110.322C223.694 110.129 223.985 109.984 224.345 109.887C224.742 109.78 225.131 109.74 225.514 109.769C225.896 109.798 226.261 109.886 226.61 110.033C226.96 110.176 227.287 110.371 227.593 110.618C227.902 110.863 228.183 111.151 228.436 111.48L228.77 111.914L224.477 113.076L223.916 112.346L226.987 111.515L226.925 111.435C226.778 111.254 226.601 111.095 226.396 110.957C226.194 110.818 225.973 110.722 225.733 110.668C225.493 110.614 225.236 110.624 224.962 110.698C224.757 110.754 224.602 110.84 224.497 110.956C224.394 111.069 224.341 111.207 224.339 111.371C224.336 111.535 224.38 111.72 224.468 111.927C224.558 112.13 224.694 112.35 224.876 112.586L225.006 112.755C225.159 112.954 225.334 113.131 225.531 113.285C225.73 113.435 225.942 113.556 226.17 113.647C226.397 113.738 226.631 113.795 226.872 113.818C227.111 113.839 227.349 113.817 227.585 113.753C227.883 113.672 228.11 113.551 228.267 113.39C228.425 113.228 228.519 113.035 228.552 112.808L229.603 113.15C229.594 113.326 229.544 113.506 229.454 113.69C229.362 113.871 229.208 114.04 228.994 114.197C228.783 114.352 228.496 114.479 228.133 114.578ZM229.724 109.71L232.484 113.298L231.246 113.633L227.737 109.071L228.902 108.755L229.724 109.71ZM230.379 110.908L229.975 111.012C229.73 110.688 229.556 110.377 229.455 110.078C229.357 109.778 229.329 109.506 229.371 109.26C229.417 109.013 229.536 108.801 229.726 108.624C229.914 108.444 230.174 108.309 230.506 108.219C230.773 108.147 231.039 108.112 231.302 108.116C231.566 108.116 231.827 108.162 232.085 108.255C232.347 108.348 232.601 108.491 232.85 108.685C233.097 108.877 233.34 109.128 233.58 109.44L235.847 112.388L234.604 112.724L232.334 109.772C232.165 109.553 231.993 109.391 231.817 109.286C231.642 109.177 231.461 109.116 231.272 109.102C231.085 109.085 230.884 109.105 230.668 109.164C230.456 109.221 230.294 109.309 230.183 109.428C230.071 109.546 230.006 109.684 229.987 109.842C229.971 109.999 229.996 110.169 230.062 110.352C230.128 110.534 230.234 110.72 230.379 110.908ZM240.785 110.073L241.408 110.882L237.269 112.003L236.647 111.193L240.785 110.073ZM238.272 106.983L237.69 111.889L236.889 112.105L236.387 111.452L236.964 106.573L237.786 106.351L238.272 106.983ZM237.308 106.48L237.931 107.29L234.064 108.336L233.442 107.527L237.308 106.48ZM243.629 109.68L242.012 105.207L243.336 104.848L245.152 110.709C245.188 110.836 245.215 110.976 245.234 111.13C245.254 111.285 245.242 111.439 245.199 111.593C245.162 111.749 245.074 111.89 244.935 112.016C244.799 112.145 244.592 112.247 244.314 112.322C244.205 112.351 244.092 112.372 243.977 112.383C243.867 112.395 243.761 112.405 243.659 112.413L243.057 111.638C243.093 111.632 243.136 111.624 243.186 111.613C243.24 111.602 243.282 111.593 243.313 111.584C243.518 111.529 243.673 111.461 243.778 111.382C243.884 111.306 243.946 111.211 243.962 111.098C243.982 110.984 243.964 110.842 243.909 110.674L243.629 109.68ZM239.65 105.846L243.596 108.904L244.641 109.915L243.923 110.329L238.315 106.208L239.65 105.846ZM245.996 105.249L248.792 108.884L247.554 109.219L244.045 104.656L245.211 104.341L245.996 105.249ZM246.707 106.488L246.283 106.598C246.041 106.283 245.865 105.979 245.755 105.686C245.646 105.393 245.608 105.123 245.641 104.876C245.672 104.627 245.784 104.412 245.976 104.231C246.169 104.046 246.446 103.905 246.809 103.806C247.063 103.738 247.318 103.706 247.574 103.711C247.832 103.713 248.087 103.758 248.341 103.845C248.598 103.932 248.845 104.065 249.083 104.245C249.324 104.425 249.555 104.658 249.775 104.944L252.114 107.984L250.877 108.319L248.606 105.368C248.435 105.146 248.26 104.983 248.081 104.878C247.905 104.773 247.721 104.714 247.529 104.702C247.339 104.685 247.141 104.705 246.935 104.76C246.703 104.823 246.532 104.914 246.424 105.031C246.319 105.148 246.264 105.283 246.259 105.438C246.254 105.592 246.291 105.759 246.37 105.937C246.45 106.116 246.562 106.3 246.707 106.488ZM249.945 105.286L249.446 105.548C249.234 105.273 249.08 105 248.984 104.731C248.89 104.457 248.862 104.203 248.901 103.969C248.941 103.73 249.055 103.521 249.243 103.341C249.432 103.161 249.7 103.024 250.049 102.929C250.334 102.852 250.612 102.816 250.884 102.821C251.157 102.821 251.425 102.868 251.686 102.96C251.947 103.052 252.202 103.196 252.451 103.39C252.697 103.581 252.937 103.829 253.171 104.132L255.441 107.084L254.199 107.42L251.925 104.464C251.748 104.234 251.569 104.067 251.39 103.962C251.214 103.857 251.034 103.801 250.85 103.793C250.664 103.782 250.468 103.804 250.263 103.86C250.071 103.912 249.924 103.987 249.822 104.086C249.722 104.181 249.662 104.294 249.643 104.425C249.621 104.553 249.636 104.69 249.686 104.836C249.74 104.981 249.826 105.131 249.945 105.286ZM259.229 106.16C258.818 106.272 258.405 106.317 257.988 106.298C257.573 106.274 257.172 106.194 256.786 106.057C256.403 105.92 256.046 105.733 255.716 105.496C255.385 105.26 255.099 104.986 254.859 104.674L254.73 104.505C254.455 104.148 254.27 103.808 254.174 103.484C254.077 103.16 254.064 102.865 254.132 102.599C254.198 102.329 254.342 102.098 254.566 101.905C254.79 101.712 255.081 101.567 255.441 101.47C255.838 101.362 256.228 101.323 256.61 101.352C256.992 101.381 257.357 101.469 257.706 101.616C258.056 101.759 258.384 101.954 258.689 102.2C258.998 102.446 259.279 102.734 259.532 103.062L259.866 103.497L255.574 104.659L255.012 103.929L258.083 103.098L258.021 103.018C257.874 102.837 257.698 102.678 257.492 102.54C257.29 102.401 257.069 102.304 256.829 102.25C256.589 102.197 256.332 102.207 256.059 102.281C255.853 102.336 255.698 102.423 255.593 102.539C255.49 102.652 255.437 102.79 255.435 102.954C255.432 103.118 255.476 103.303 255.565 103.51C255.655 103.713 255.791 103.933 255.972 104.169L256.102 104.337C256.255 104.537 256.431 104.714 256.628 104.868C256.826 105.018 257.039 105.138 257.266 105.23C257.493 105.321 257.728 105.378 257.969 105.401C258.208 105.421 258.445 105.4 258.681 105.336C258.979 105.255 259.207 105.134 259.364 104.973C259.521 104.811 259.616 104.617 259.648 104.391L260.7 104.733C260.69 104.909 260.64 105.089 260.55 105.273C260.458 105.454 260.305 105.623 260.09 105.78C259.879 105.935 259.592 106.062 259.229 106.16ZM268.424 102.581L271.377 103.331L271.004 104.16L268.097 103.414L268.424 102.581ZM268.545 99.6244L268.804 99.9617C269.161 100.426 269.407 100.861 269.543 101.27C269.68 101.678 269.71 102.048 269.635 102.381C269.56 102.714 269.386 103 269.112 103.241C268.836 103.479 268.466 103.66 268.004 103.785C267.546 103.909 267.074 103.955 266.591 103.923C266.108 103.887 265.629 103.778 265.152 103.594C264.676 103.411 264.22 103.156 263.782 102.829C263.348 102.502 262.953 102.106 262.596 101.642L262.337 101.305C261.98 100.841 261.736 100.406 261.606 99.9998C261.473 99.5908 261.444 99.2199 261.519 98.8872C261.596 98.5507 261.77 98.2641 262.043 98.0272C262.317 97.7866 262.683 97.6043 263.142 97.4801C263.604 97.355 264.078 97.3099 264.564 97.3448C265.051 97.3759 265.532 97.4852 266.007 97.6725C266.48 97.8569 266.932 98.1134 267.362 98.4418C267.794 98.7664 268.188 99.1606 268.545 99.6244ZM267.51 100.312L267.244 99.9663C266.98 99.6233 266.707 99.3323 266.424 99.0931C266.142 98.8502 265.854 98.6615 265.56 98.527C265.268 98.3888 264.974 98.3053 264.679 98.2765C264.385 98.244 264.094 98.2666 263.807 98.3445C263.526 98.4205 263.31 98.5349 263.159 98.6879C263.006 98.8381 262.919 99.0245 262.9 99.247C262.879 99.4667 262.929 99.7198 263.05 100.006C263.169 100.29 263.36 100.603 263.624 100.946L263.89 101.292C264.154 101.635 264.429 101.927 264.714 102.169C264.999 102.411 265.291 102.602 265.589 102.742C265.888 102.879 266.185 102.963 266.479 102.996C266.774 103.024 267.062 103.001 267.343 102.925C267.63 102.847 267.851 102.733 268.004 102.583C268.155 102.43 268.238 102.243 268.254 102.021C268.268 101.797 268.212 101.542 268.088 101.256C267.966 100.97 267.774 100.655 267.51 100.312ZM270.79 95.4863L275.529 101.646L274.291 101.981L270.48 97.0272L269.039 98.0335L268.394 97.1945L270.641 95.5266L270.79 95.4863ZM280.243 96.0403L281.015 97.0438C281.384 97.5244 281.642 97.9506 281.787 98.3222C281.934 98.6901 281.98 99.0086 281.927 99.2778C281.873 99.547 281.734 99.7716 281.508 99.9515C281.286 100.131 280.99 100.27 280.62 100.37C280.326 100.45 280.028 100.493 279.727 100.5C279.43 100.506 279.13 100.47 278.826 100.392C278.522 100.315 278.219 100.192 277.915 100.022C277.612 99.8496 277.309 99.6277 277.006 99.3567C276.705 99.0847 276.407 98.7562 276.111 98.3711L275.339 97.3676C274.967 96.8841 274.712 96.4608 274.573 96.0976C274.432 95.7316 274.39 95.4154 274.445 95.149C274.499 94.8798 274.638 94.6571 274.862 94.4809C275.09 94.3038 275.388 94.1652 275.758 94.0652C276.056 93.9845 276.353 93.9413 276.651 93.9355C276.95 93.926 277.248 93.959 277.546 94.0346C277.847 94.1092 278.148 94.2315 278.449 94.4016C278.75 94.5678 279.051 94.7869 279.351 95.0589C279.649 95.328 279.947 95.6552 280.243 96.0403ZM279.888 97.5221L278.889 96.2234C278.7 95.9789 278.518 95.7685 278.341 95.5922C278.162 95.4132 277.988 95.2682 277.82 95.1575C277.654 95.043 277.489 94.9584 277.327 94.9037C277.163 94.8463 277.004 94.8164 276.849 94.8142C276.692 94.8091 276.535 94.8279 276.377 94.8705C276.186 94.9224 276.038 94.9996 275.935 95.1022C275.83 95.202 275.777 95.3319 275.776 95.4918C275.775 95.6517 275.83 95.8473 275.942 96.0786C276.055 96.3061 276.229 96.5731 276.465 96.8795L277.464 98.1781C277.654 98.4255 277.839 98.6387 278.018 98.8177C278.197 98.9968 278.373 99.1445 278.545 99.2609C278.715 99.3745 278.882 99.4619 279.044 99.5231C279.209 99.5806 279.369 99.6118 279.526 99.6169C279.686 99.621 279.844 99.6023 279.998 99.5606C280.193 99.5077 280.342 99.43 280.445 99.3274C280.548 99.2248 280.599 99.0921 280.598 98.9294C280.595 98.7639 280.534 98.5645 280.417 98.3314C280.3 98.0982 280.123 97.8285 279.888 97.5221Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M168.251 65.899L245.368 45.0247\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M193.991 99.3603L271.108 78.4861\",\n stroke: \"#EAEFF5\",\n strokeWidth: 0.907872,\n strokeLinecap: \"round\"\n })))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter2_d_4183_78729)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 293.907,\n y: 54.7487,\n width: 17.3961,\n height: 38.6118,\n rx: 8.69803,\n transform: \"rotate(18.6707 293.907 54.7487)\",\n fill: \"#1F72A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M302.216 57.4021C297.665 55.8642 292.61 58.4368 291.072 62.9877L287.525 73.4842L304.09 78.9581L307.605 68.6487C309.245 63.7283 306.767 58.9399 302.216 57.4021Z\",\n fill: \"#EFF3F6\"\n }))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 195.709,\n cy: 144.131,\n r: 13.2603,\n transform: \"rotate(12.6634 195.709 144.131)\",\n fill: \"#1F72A2\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M190.318 142.92L201.1 145.342\",\n stroke: \"white\",\n strokeWidth: 1.81574,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M196.92 138.74L194.498 149.522\",\n stroke: \"white\",\n strokeWidth: 1.81574,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter3_d_4183_78729)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 41.3682,\n y: 93.4315,\n width: 12.2042,\n height: 25.693,\n rx: 6.10209,\n transform: \"rotate(48.7502 41.3682 93.4315)\",\n fill: \"#CCD6E1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.091 102.424L26.5947 106.278C24.0684 108.505 23.7579 112.701 26.1768 115.12C28.3908 117.658 32.2335 117.91 34.7598 115.683L40.0835 110.774C37.7583 106.966 34.3026 103.709 31.091 102.424Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_4183_78729\",\n x: -5.34169,\n y: 13.8945,\n width: 251.493,\n height: 179.108,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 10.8945\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 8.17085\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78729\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78729\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter1_d_4183_78729\",\n x: 99.9715,\n y: -2.4472,\n width: 239.37,\n height: 172.385,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 10.8945\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 8.17085\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78729\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78729\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter2_d_4183_78729\",\n x: 272.449,\n y: 54.8764,\n width: 35.6627,\n height: 49.0387,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: -5.71051,\n dy: 3.63149\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2.85526\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.658824 0 0 0 0 0.678431 0 0 0 0 0.776471 0 0 0 0.28 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78729\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78729\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter3_d_4183_78729\",\n x: 23.6134,\n y: 95.9405,\n width: 29.6476,\n height: 29.4317,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: 2.72362,\n dy: 4.53936\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1.81574\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.0582292 0 0 0 0 0.2496 0 0 0 0 0.358333 0 0 0 0.09 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78729\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78729\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_4183_78729\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 129.826,\n height: 133.457,\n rx: 12.7102,\n transform: \"matrix(0.965264 -0.261278 0.609715 0.792621 116.313 36.9207)\",\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSupplements1StStep, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Supplements1stStep.c87c49b5.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _g2, _g3, _g4, _g5, _g6, _path, _path2, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSupplements2NdStep = function SvgSupplements2NdStep(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 209,\n height: 181,\n viewBox: \"0 0 209 181\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 118.734,\n height: 34.557,\n rx: 11.2622,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 72.3418 140.343)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M107.097 139.969L105.878 140.782L105.107 140.254L106.319 139.446C106.672 139.211 106.89 138.962 106.974 138.7C107.061 138.437 107.021 138.168 106.854 137.895C106.69 137.621 106.41 137.35 106.013 137.084L105.704 136.876C105.396 136.67 105.088 136.51 104.78 136.398C104.475 136.284 104.174 136.218 103.876 136.2C103.581 136.18 103.294 136.207 103.014 136.282C102.737 136.355 102.472 136.476 102.218 136.645L100.94 137.497L100.157 136.972L101.436 136.119C101.815 135.867 102.225 135.679 102.667 135.555C103.106 135.43 103.557 135.372 104.022 135.379C104.49 135.385 104.951 135.459 105.405 135.599C105.859 135.74 106.291 135.948 106.7 136.223L107.002 136.425C107.411 136.7 107.72 136.99 107.929 137.294C108.137 137.599 108.245 137.907 108.252 138.22C108.257 138.531 108.164 138.836 107.972 139.135C107.781 139.43 107.49 139.708 107.097 139.969ZM100.726 136.593L106.423 140.419L105.438 141.075L99.7412 137.249L100.726 136.593ZM108.341 136.37L108.251 136.309C107.946 136.104 107.708 135.885 107.536 135.65C107.361 135.414 107.261 135.175 107.235 134.934C107.21 134.689 107.265 134.45 107.401 134.216C107.537 133.979 107.76 133.757 108.068 133.551C108.379 133.344 108.711 133.196 109.064 133.107C109.417 133.015 109.776 132.978 110.141 132.997C110.504 133.013 110.862 133.08 111.214 133.198C111.564 133.314 111.892 133.474 112.197 133.679L112.287 133.739C112.592 133.944 112.831 134.164 113.003 134.399C113.175 134.633 113.273 134.873 113.299 135.117C113.322 135.36 113.267 135.6 113.133 135.835C112.997 136.069 112.775 136.289 112.466 136.495C112.155 136.702 111.823 136.852 111.47 136.944C111.118 137.032 110.76 137.069 110.397 137.052C110.031 137.034 109.674 136.967 109.324 136.851C108.974 136.735 108.647 136.575 108.341 136.37ZM109.197 135.679L109.287 135.74C109.477 135.868 109.677 135.975 109.885 136.063C110.094 136.151 110.304 136.21 110.516 136.24C110.727 136.27 110.935 136.266 111.139 136.228C111.343 136.19 111.535 136.11 111.715 135.99C111.89 135.873 112.005 135.748 112.06 135.613C112.118 135.477 112.125 135.338 112.081 135.197C112.037 135.055 111.949 134.914 111.819 134.774C111.691 134.632 111.532 134.497 111.342 134.37L111.252 134.309C111.064 134.183 110.866 134.078 110.657 133.994C110.448 133.906 110.235 133.847 110.019 133.817C109.804 133.785 109.596 133.788 109.392 133.826C109.188 133.861 108.997 133.937 108.819 134.056C108.642 134.174 108.525 134.303 108.47 134.441C108.415 134.575 108.411 134.714 108.458 134.857C108.504 135.001 108.593 135.143 108.723 135.283C108.851 135.421 109.009 135.553 109.197 135.679ZM116.383 132.244C116.289 132.181 116.181 132.14 116.058 132.121C115.933 132.1 115.772 132.112 115.576 132.159C115.383 132.204 115.132 132.295 114.824 132.431C114.549 132.547 114.284 132.645 114.028 132.725C113.772 132.802 113.528 132.851 113.295 132.874C113.063 132.896 112.842 132.886 112.633 132.844C112.424 132.801 112.231 132.721 112.054 132.601C111.882 132.486 111.757 132.351 111.678 132.197C111.6 132.043 111.573 131.88 111.597 131.707C111.621 131.534 111.699 131.357 111.833 131.178C111.969 130.996 112.163 130.822 112.414 130.654C112.769 130.417 113.134 130.255 113.507 130.166C113.881 130.074 114.238 130.051 114.577 130.097C114.914 130.141 115.209 130.248 115.462 130.418L114.517 131.049C114.404 130.973 114.271 130.922 114.117 130.896C113.963 130.866 113.8 130.868 113.628 130.903C113.453 130.936 113.28 131.009 113.11 131.122C112.948 131.23 112.839 131.337 112.784 131.444C112.729 131.547 112.716 131.643 112.745 131.732C112.776 131.82 112.84 131.896 112.936 131.961C113.007 132.008 113.084 132.042 113.167 132.063C113.251 132.081 113.349 132.084 113.461 132.072C113.571 132.058 113.701 132.027 113.853 131.978C114.007 131.928 114.189 131.857 114.398 131.767C114.79 131.596 115.156 131.469 115.495 131.386C115.835 131.299 116.151 131.27 116.444 131.298C116.733 131.325 117.005 131.423 117.258 131.593C117.446 131.719 117.577 131.862 117.653 132.021C117.728 132.177 117.748 132.344 117.711 132.522C117.671 132.698 117.577 132.878 117.428 133.061C117.281 133.243 117.077 133.421 116.816 133.595C116.431 133.851 116.038 134.023 115.636 134.11C115.231 134.194 114.852 134.211 114.5 134.16C114.147 134.105 113.855 134 113.623 133.844L114.536 133.235C114.722 133.345 114.91 133.407 115.1 133.419C115.291 133.428 115.475 133.405 115.653 133.349C115.83 133.29 115.99 133.214 116.131 133.12C116.301 133.006 116.421 132.896 116.492 132.79C116.56 132.682 116.585 132.581 116.567 132.489C116.546 132.394 116.485 132.313 116.383 132.244ZM116.061 128.328L120.295 131.171L119.345 131.804L115.112 128.96L116.061 128.328ZM113.938 128.256C113.794 128.159 113.723 128.048 113.723 127.923C113.723 127.793 113.808 127.672 113.978 127.559C114.145 127.447 114.326 127.391 114.519 127.392C114.71 127.39 114.877 127.438 115.02 127.534C115.161 127.629 115.23 127.74 115.227 127.867C115.224 127.995 115.139 128.115 114.972 128.226C114.802 128.339 114.622 128.397 114.431 128.398C114.243 128.398 114.079 128.35 113.938 128.256ZM118.937 127.62L122.267 129.856L121.322 130.486L117.088 127.643L117.979 127.049L118.937 127.62ZM119.825 128.442L119.515 128.643C119.218 128.44 118.985 128.227 118.815 128.005C118.649 127.781 118.548 127.559 118.515 127.341C118.484 127.121 118.523 126.909 118.633 126.707C118.741 126.503 118.921 126.316 119.175 126.147C119.379 126.011 119.592 125.907 119.814 125.836C120.036 125.761 120.269 125.727 120.512 125.732C120.757 125.736 121.012 125.785 121.275 125.878C121.536 125.969 121.811 126.112 122.101 126.306L124.836 128.143L123.887 128.776L121.148 126.937C120.945 126.8 120.754 126.712 120.577 126.673C120.399 126.631 120.229 126.631 120.067 126.673C119.905 126.711 119.742 126.785 119.577 126.895C119.415 127.003 119.304 127.122 119.244 127.253C119.183 127.384 119.167 127.519 119.196 127.657C119.227 127.793 119.296 127.929 119.403 128.063C119.51 128.198 119.65 128.324 119.825 128.442ZM124.285 122.845L125.144 122.272L129.26 125.037C129.641 125.293 129.884 125.564 129.988 125.851C130.092 126.138 130.068 126.424 129.916 126.71C129.766 126.999 129.501 127.27 129.119 127.524C128.957 127.632 128.753 127.737 128.507 127.838C128.264 127.937 127.998 128.013 127.708 128.067C127.423 128.121 127.136 128.133 126.846 128.102L126.733 127.434C127.065 127.454 127.364 127.43 127.631 127.364C127.897 127.299 128.131 127.198 128.332 127.064C128.549 126.92 128.693 126.77 128.764 126.614C128.84 126.459 128.843 126.301 128.773 126.142C128.702 125.983 128.556 125.829 128.335 125.68L125.157 123.546L124.285 122.845ZM123.566 126.22L123.484 126.165C123.163 125.949 122.91 125.727 122.725 125.498C122.538 125.267 122.422 125.038 122.378 124.813C122.331 124.586 122.362 124.368 122.469 124.16C122.574 123.951 122.758 123.758 123.022 123.582C123.297 123.399 123.58 123.276 123.873 123.214C124.168 123.15 124.474 123.136 124.79 123.173C125.103 123.209 125.424 123.288 125.753 123.411C126.082 123.53 126.42 123.682 126.767 123.866L127.029 124.042C127.298 124.268 127.517 124.492 127.686 124.714C127.855 124.937 127.965 125.154 128.014 125.365C128.063 125.577 128.039 125.781 127.942 125.978C127.848 126.174 127.669 126.36 127.405 126.536C127.146 126.708 126.858 126.828 126.542 126.896C126.229 126.962 125.901 126.98 125.559 126.949C125.22 126.917 124.88 126.84 124.541 126.717C124.199 126.592 123.874 126.427 123.566 126.22ZM124.429 125.535L124.511 125.59C124.704 125.719 124.903 125.828 125.106 125.916C125.313 126.002 125.519 126.062 125.725 126.095C125.931 126.125 126.132 126.124 126.328 126.091C126.524 126.055 126.707 125.98 126.877 125.866C127.099 125.718 127.234 125.566 127.281 125.408C127.331 125.249 127.315 125.091 127.231 124.934C127.148 124.773 127.023 124.615 126.856 124.461L126.148 123.986C125.978 123.893 125.802 123.818 125.619 123.762C125.439 123.704 125.259 123.669 125.079 123.656C124.896 123.642 124.716 123.657 124.538 123.702C124.358 123.746 124.184 123.823 124.017 123.935C123.847 124.048 123.736 124.171 123.683 124.304C123.631 124.437 123.628 124.573 123.675 124.713C123.724 124.851 123.814 124.99 123.944 125.13C124.075 125.27 124.236 125.405 124.429 125.535ZM127.806 118.539L133.504 122.365L132.519 123.021L126.822 119.195L127.806 118.539ZM132.241 118.751L135.57 120.987L134.625 121.617L130.391 118.774L131.282 118.18L132.241 118.751ZM133.128 119.573L132.819 119.774C132.521 119.571 132.288 119.358 132.118 119.136C131.952 118.912 131.851 118.691 131.818 118.472C131.787 118.252 131.826 118.041 131.937 117.838C132.044 117.634 132.224 117.447 132.478 117.278C132.682 117.142 132.895 117.038 133.117 116.967C133.339 116.892 133.572 116.858 133.815 116.864C134.06 116.867 134.315 116.916 134.578 117.009C134.839 117.1 135.115 117.243 135.404 117.438L138.139 119.275L137.19 119.907L134.451 118.068C134.248 117.931 134.057 117.843 133.88 117.805C133.702 117.762 133.532 117.762 133.37 117.804C133.208 117.842 133.045 117.916 132.88 118.026C132.718 118.134 132.607 118.253 132.547 118.384C132.486 118.515 132.47 118.65 132.499 118.788C132.53 118.924 132.599 119.06 132.706 119.195C132.813 119.329 132.954 119.455 133.128 119.573ZM140.338 116.274C140.244 116.211 140.136 116.17 140.013 116.151C139.888 116.13 139.727 116.142 139.531 116.189C139.338 116.234 139.087 116.325 138.779 116.461C138.504 116.577 138.239 116.675 137.983 116.755C137.727 116.832 137.483 116.881 137.25 116.904C137.018 116.926 136.797 116.916 136.588 116.874C136.379 116.831 136.186 116.751 136.009 116.631C135.837 116.516 135.711 116.381 135.633 116.227C135.555 116.073 135.528 115.91 135.552 115.737C135.576 115.564 135.654 115.387 135.788 115.208C135.924 115.026 136.118 114.852 136.369 114.684C136.724 114.447 137.089 114.285 137.462 114.196C137.836 114.104 138.193 114.081 138.532 114.127C138.869 114.171 139.164 114.278 139.417 114.448L138.472 115.079C138.359 115.003 138.226 114.952 138.072 114.926C137.918 114.896 137.755 114.898 137.583 114.933C137.408 114.966 137.235 115.039 137.065 115.152C136.903 115.26 136.794 115.368 136.739 115.474C136.684 115.577 136.671 115.673 136.7 115.762C136.731 115.85 136.795 115.926 136.891 115.991C136.962 116.038 137.039 116.072 137.122 116.093C137.206 116.111 137.304 116.114 137.416 116.102C137.526 116.088 137.656 116.057 137.808 116.008C137.962 115.958 138.144 115.887 138.353 115.797C138.745 115.626 139.111 115.499 139.45 115.416C139.79 115.329 140.106 115.3 140.399 115.328C140.688 115.355 140.96 115.453 141.213 115.623C141.401 115.749 141.532 115.892 141.608 116.051C141.683 116.207 141.703 116.374 141.666 116.552C141.626 116.728 141.532 116.908 141.383 117.092C141.236 117.273 141.032 117.451 140.771 117.625C140.386 117.881 139.993 118.053 139.591 118.14C139.186 118.225 138.807 118.241 138.454 118.19C138.102 118.135 137.81 118.03 137.578 117.874L138.491 117.265C138.677 117.375 138.864 117.437 139.055 117.449C139.246 117.458 139.43 117.435 139.608 117.379C139.785 117.32 139.945 117.244 140.086 117.15C140.256 117.036 140.376 116.926 140.447 116.82C140.515 116.712 140.54 116.611 140.522 116.519C140.501 116.424 140.44 116.343 140.338 116.274ZM140.949 111.735L141.638 112.198L139.246 113.793L138.557 113.33L140.949 111.735ZM138.21 112.174L139.155 111.544L143.256 114.298C143.386 114.385 143.505 114.441 143.612 114.464C143.719 114.483 143.819 114.478 143.91 114.448C144.001 114.419 144.093 114.373 144.184 114.312C144.25 114.269 144.309 114.224 144.361 114.179C144.413 114.134 144.454 114.096 144.483 114.067L145.207 114.548C145.152 114.616 145.081 114.691 144.995 114.773C144.911 114.853 144.802 114.937 144.669 115.026C144.452 115.171 144.222 115.274 143.979 115.334C143.733 115.393 143.476 115.396 143.207 115.341C142.938 115.286 142.659 115.162 142.37 114.967L138.21 112.174ZM143.434 111.158L146.862 113.46L145.916 114.09L141.683 111.246L142.585 110.645L143.434 111.158ZM143.899 109.732L144.767 110.326C144.699 110.358 144.629 110.394 144.555 110.436C144.485 110.476 144.417 110.518 144.352 110.562C144.189 110.67 144.07 110.78 143.994 110.894C143.916 111.006 143.878 111.118 143.88 111.232C143.883 111.342 143.922 111.452 143.997 111.562C144.073 111.673 144.181 111.78 144.322 111.885L144.122 112.04C143.856 111.861 143.635 111.678 143.461 111.491C143.286 111.303 143.165 111.117 143.097 110.932C143.032 110.745 143.031 110.565 143.094 110.394C143.16 110.221 143.299 110.064 143.51 109.923C143.568 109.885 143.635 109.847 143.71 109.811C143.789 109.772 143.851 109.746 143.899 109.732ZM150.307 109.827L147.071 107.654L148.02 107.021L152.254 109.865L151.36 110.461L150.307 109.827ZM149.56 109.147L149.87 108.93C150.154 109.121 150.385 109.318 150.562 109.521C150.737 109.722 150.848 109.926 150.894 110.132C150.938 110.337 150.908 110.541 150.803 110.743C150.696 110.944 150.5 111.139 150.215 111.329C150.008 111.467 149.788 111.573 149.556 111.648C149.323 111.723 149.082 111.76 148.831 111.759C148.583 111.757 148.324 111.711 148.056 111.622C147.787 111.532 147.513 111.394 147.234 111.206L144.499 109.369L145.444 108.739L148.187 110.581C148.341 110.685 148.488 110.759 148.629 110.805C148.767 110.849 148.899 110.871 149.024 110.871C149.15 110.871 149.267 110.852 149.377 110.814C149.487 110.776 149.589 110.725 149.683 110.663C149.952 110.483 150.112 110.307 150.162 110.134C150.212 109.957 150.179 109.787 150.065 109.623C149.953 109.456 149.785 109.298 149.56 109.147ZM154.283 107.611C154.438 107.508 154.546 107.396 154.609 107.274C154.672 107.148 154.687 107.023 154.653 106.899C154.622 106.773 154.538 106.659 154.403 106.558L155.293 105.964C155.562 106.152 155.73 106.373 155.797 106.628C155.865 106.884 155.835 107.142 155.71 107.404C155.581 107.664 155.36 107.899 155.046 108.108C154.722 108.324 154.385 108.476 154.035 108.562C153.682 108.647 153.328 108.677 152.973 108.652C152.618 108.627 152.272 108.556 151.935 108.438C151.601 108.319 151.288 108.161 150.996 107.965L150.859 107.873C150.567 107.677 150.332 107.466 150.155 107.242C149.978 107.015 149.871 106.782 149.835 106.545C149.799 106.307 149.846 106.071 149.977 105.837C150.106 105.601 150.331 105.376 150.652 105.162C150.992 104.935 151.358 104.782 151.75 104.703C152.139 104.621 152.527 104.612 152.913 104.676C153.3 104.736 153.653 104.87 153.974 105.079L153.084 105.672C152.92 105.572 152.74 105.504 152.544 105.467C152.348 105.426 152.149 105.422 151.948 105.455C151.75 105.486 151.564 105.559 151.392 105.674C151.201 105.802 151.082 105.933 151.035 106.07C150.985 106.204 150.991 106.34 151.053 106.476C151.113 106.611 151.21 106.744 151.343 106.875C151.476 107.003 151.629 107.125 151.804 107.243L151.941 107.335C152.116 107.452 152.3 107.556 152.493 107.648C152.686 107.739 152.883 107.805 153.084 107.845C153.285 107.882 153.488 107.885 153.691 107.854C153.893 107.821 154.09 107.74 154.283 107.611ZM155.131 102.281L155.819 102.744L153.427 104.338L152.738 103.876L155.131 102.281ZM152.392 102.719L153.337 102.089L157.438 104.843C157.568 104.931 157.687 104.986 157.794 105.009C157.901 105.029 158 105.023 158.092 104.994C158.183 104.964 158.275 104.919 158.366 104.858C158.431 104.814 158.49 104.77 158.543 104.725C158.595 104.679 158.635 104.642 158.664 104.612L159.388 105.093C159.333 105.161 159.262 105.236 159.176 105.318C159.092 105.398 158.984 105.483 158.851 105.572C158.634 105.717 158.404 105.819 158.161 105.88C157.915 105.939 157.658 105.941 157.389 105.887C157.12 105.832 156.841 105.707 156.551 105.513L152.392 102.719ZM156.872 101.12L161.106 103.964L160.157 104.596L155.923 101.753L156.872 101.12ZM154.749 101.048C154.606 100.952 154.534 100.841 154.534 100.715C154.534 100.586 154.619 100.464 154.789 100.351C154.957 100.24 155.137 100.184 155.33 100.184C155.521 100.183 155.688 100.23 155.831 100.327C155.972 100.421 156.041 100.532 156.038 100.66C156.036 100.787 155.951 100.907 155.783 101.019C155.613 101.132 155.433 101.189 155.242 101.191C155.054 101.19 154.89 101.143 154.749 101.048ZM159.891 102.003L159.801 101.943C159.496 101.738 159.257 101.518 159.085 101.284C158.911 101.048 158.81 100.809 158.785 100.568C158.759 100.323 158.814 100.084 158.951 99.8497C159.087 99.6123 159.309 99.3907 159.618 99.185C159.929 98.9776 160.261 98.8296 160.613 98.7411C160.966 98.6491 161.325 98.6121 161.691 98.6302C162.054 98.6466 162.412 98.7136 162.764 98.8313C163.114 98.9472 163.441 99.1077 163.746 99.3127L163.836 99.3731C164.142 99.5781 164.38 99.7979 164.552 100.032C164.724 100.267 164.823 100.506 164.849 100.751C164.872 100.994 164.816 101.233 164.683 101.469C164.547 101.703 164.324 101.923 164.016 102.128C163.705 102.336 163.373 102.486 163.02 102.578C162.667 102.666 162.309 102.702 161.946 102.686C161.581 102.668 161.223 102.601 160.873 102.485C160.524 102.369 160.196 102.208 159.891 102.003ZM160.746 101.313L160.836 101.373C161.027 101.501 161.226 101.609 161.435 101.697C161.644 101.785 161.854 101.843 162.065 101.873C162.277 101.904 162.484 101.9 162.688 101.861C162.892 101.823 163.084 101.744 163.264 101.624C163.44 101.507 163.555 101.381 163.61 101.247C163.668 101.111 163.674 100.972 163.63 100.83C163.586 100.689 163.499 100.548 163.368 100.408C163.241 100.266 163.082 100.131 162.891 100.003L162.801 99.9428C162.613 99.8167 162.415 99.7115 162.206 99.6272C161.997 99.5395 161.785 99.4806 161.568 99.4505C161.354 99.4187 161.145 99.4218 160.941 99.4599C160.737 99.4945 160.547 99.5711 160.369 99.6896C160.191 99.8081 160.075 99.9364 160.02 100.074C159.965 100.209 159.96 100.348 160.007 100.491C160.054 100.634 160.142 100.776 160.273 100.916C160.401 101.055 160.558 101.187 160.746 101.313ZM164.306 97.3739L167.636 99.6103L166.691 100.24L162.457 97.3969L163.347 96.8034L164.306 97.3739ZM165.194 98.1959L164.884 98.3972C164.587 98.194 164.353 97.9812 164.184 97.759C164.017 97.535 163.917 97.3138 163.883 97.0953C163.852 96.875 163.892 96.6636 164.002 96.4611C164.109 96.2568 164.29 96.0702 164.544 95.9011C164.747 95.7651 164.96 95.6615 165.183 95.5902C165.405 95.5155 165.637 95.4809 165.88 95.4866C166.126 95.4905 166.38 95.539 166.644 95.6321C166.905 95.7234 167.18 95.8663 167.47 96.0608L170.205 97.8978L169.256 98.5305L166.517 96.6909C166.313 96.5542 166.123 96.4665 165.945 96.4278C165.768 96.3855 165.598 96.3852 165.436 96.4269C165.274 96.4651 165.11 96.539 164.946 96.6489C164.784 96.7569 164.672 96.8764 164.612 97.0074C164.552 97.1384 164.536 97.2729 164.564 97.411C164.596 97.5474 164.665 97.6829 164.771 97.8177C164.878 97.9524 165.019 98.0785 165.194 98.1959ZM172.404 94.8975C172.31 94.8344 172.201 94.7932 172.079 94.7737C171.953 94.7526 171.793 94.7654 171.597 94.8122C171.403 94.8573 171.153 94.9478 170.844 95.0836C170.57 95.2002 170.304 95.2985 170.048 95.3784C169.792 95.4549 169.548 95.5042 169.316 95.5266C169.083 95.5489 168.862 95.5389 168.654 95.4966C168.445 95.4543 168.252 95.3736 168.074 95.2544C167.902 95.1388 167.777 95.004 167.699 94.8501C167.621 94.6962 167.594 94.5327 167.617 94.3598C167.641 94.1868 167.72 94.0104 167.853 93.8307C167.989 93.6492 168.183 93.4747 168.434 93.3074C168.79 93.0703 169.154 92.9076 169.528 92.8191C169.901 92.7271 170.258 92.7041 170.597 92.7502C170.934 92.7944 171.229 92.9015 171.482 93.0715L170.537 93.7016C170.425 93.6263 170.292 93.5753 170.138 93.5489C169.984 93.5189 169.82 93.5212 169.648 93.5559C169.473 93.5888 169.3 93.6619 169.131 93.7752C168.968 93.8833 168.86 93.9906 168.805 94.0971C168.75 94.2001 168.737 94.2962 168.765 94.3853C168.796 94.4728 168.86 94.5489 168.957 94.6137C169.027 94.661 169.104 94.6952 169.188 94.7164C169.271 94.734 169.369 94.7368 169.481 94.7247C169.591 94.7109 169.722 94.6797 169.873 94.631C170.028 94.5806 170.209 94.5102 170.418 94.4196C170.81 94.249 171.176 94.1221 171.516 94.0388C171.855 93.952 172.172 93.9228 172.464 93.9513C172.754 93.978 173.025 94.0764 173.278 94.2463C173.466 94.3724 173.598 94.5151 173.673 94.6743C173.749 94.8299 173.768 94.9968 173.731 95.175C173.692 95.3515 173.597 95.5313 173.448 95.7145C173.302 95.896 173.098 96.0739 172.836 96.2482C172.452 96.5045 172.058 96.6759 171.656 96.7626C171.251 96.8476 170.872 96.8644 170.52 96.8131C170.167 96.7583 169.875 96.653 169.643 96.497L170.557 95.8878C170.742 95.9982 170.93 96.0597 171.121 96.0723C171.311 96.0814 171.495 96.0581 171.673 96.0025C171.851 95.9433 172.01 95.8667 172.151 95.7726C172.321 95.6593 172.442 95.5494 172.512 95.4429C172.58 95.3347 172.605 95.2343 172.587 95.1416C172.567 95.0472 172.505 94.9658 172.404 94.8975Z\",\n fill: \"#7C8A9D\"\n })))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter1_d_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip1_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 81.6708,\n height: 34.557,\n rx: 11.2622,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 93.6077 88.0623)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.241 85.8059C128.123 85.7271 128.001 85.6692 127.873 85.6323C127.748 85.5936 127.603 85.5785 127.438 85.587C127.274 85.5954 127.075 85.63 126.843 85.6908C126.61 85.7481 126.332 85.8341 126.008 85.9489C125.652 86.0741 125.309 86.1792 124.977 86.2643C124.645 86.3458 124.326 86.3977 124.021 86.4199C123.713 86.4403 123.423 86.4224 123.151 86.366C122.877 86.3078 122.623 86.1999 122.388 86.0422C122.156 85.8863 121.993 85.7122 121.899 85.5198C121.808 85.3256 121.784 85.122 121.826 84.9089C121.868 84.6922 121.975 84.4757 122.148 84.2593C122.318 84.0412 122.554 83.8319 122.854 83.6314C123.278 83.349 123.721 83.1584 124.183 83.0596C124.648 82.9591 125.095 82.9424 125.523 83.0095C125.954 83.0749 126.328 83.2145 126.647 83.4282L125.67 84.0793C125.482 83.9531 125.276 83.8689 125.052 83.8266C124.827 83.7807 124.592 83.7838 124.346 83.8358C124.103 83.8861 123.859 83.9931 123.613 84.157C123.381 84.3121 123.222 84.4648 123.139 84.6149C123.055 84.7651 123.035 84.9057 123.079 85.0368C123.123 85.168 123.221 85.2844 123.372 85.386C123.479 85.4578 123.602 85.507 123.74 85.5334C123.876 85.5581 124.033 85.5619 124.21 85.5447C124.385 85.5258 124.583 85.4868 124.802 85.4278C125.022 85.3687 125.266 85.2896 125.535 85.1905C125.945 85.0426 126.325 84.9288 126.676 84.849C127.023 84.7675 127.347 84.7226 127.647 84.7144C127.948 84.7062 128.228 84.7372 128.489 84.8076C128.748 84.8762 128.992 84.9876 129.221 85.1418C129.461 85.303 129.63 85.4806 129.726 85.6748C129.819 85.8672 129.844 86.069 129.799 86.2804C129.754 86.4883 129.643 86.7004 129.465 86.9168C129.287 87.1297 129.045 87.3381 128.739 87.5421C128.465 87.7251 128.158 87.881 127.818 88.0097C127.481 88.1367 127.129 88.2226 126.764 88.2674C126.395 88.3105 126.035 88.2994 125.683 88.2341C125.327 88.1671 124.999 88.032 124.696 87.8287L125.68 87.1725C125.866 87.2969 126.055 87.3819 126.248 87.4277C126.444 87.4717 126.641 87.4834 126.84 87.4628C127.035 87.4404 127.229 87.3918 127.42 87.317C127.613 87.2404 127.797 87.1438 127.972 87.027C128.202 86.8736 128.362 86.7236 128.451 86.5769C128.543 86.4286 128.569 86.2888 128.53 86.1577C128.491 86.0265 128.395 85.9093 128.241 85.8059ZM129.185 81.4744L129.873 81.937L127.481 83.5319L126.792 83.0694L129.185 81.4744ZM126.446 81.9127L127.391 81.2826L131.491 84.0368C131.622 84.1244 131.741 84.1797 131.848 84.2026C131.955 84.222 132.054 84.2169 132.145 84.1874C132.237 84.1578 132.328 84.1125 132.42 84.0515C132.485 84.008 132.544 83.9635 132.596 83.9182C132.649 83.8728 132.689 83.8353 132.718 83.8056L133.442 84.2866C133.387 84.3547 133.316 84.4297 133.23 84.5117C133.146 84.5919 133.038 84.6765 132.904 84.7654C132.687 84.9101 132.457 85.0128 132.214 85.0735C131.969 85.1325 131.712 85.1347 131.443 85.08C131.174 85.0254 130.895 84.9009 130.605 84.7064L126.446 81.9127ZM131.669 80.8968L135.097 83.199L134.152 83.8291L129.918 80.9855L130.82 80.3842L131.669 80.8968ZM132.134 79.4716L133.003 80.0655C132.935 80.0968 132.864 80.1334 132.791 80.1752C132.72 80.2153 132.652 80.2571 132.587 80.3007C132.425 80.4088 132.306 80.5195 132.23 80.633C132.151 80.7447 132.113 80.8574 132.116 80.9709C132.118 81.081 132.157 81.1912 132.233 81.3014C132.308 81.4117 132.416 81.5193 132.557 81.6244L132.357 81.7787C132.091 81.6 131.871 81.417 131.696 81.2297C131.521 81.0424 131.4 80.8561 131.333 80.6708C131.268 80.4837 131.267 80.3045 131.33 80.1334C131.395 79.9605 131.534 79.8035 131.746 79.6623C131.803 79.6239 131.87 79.5865 131.946 79.5499C132.024 79.5116 132.087 79.4855 132.134 79.4716ZM138.858 80.7964C138.544 81.0056 138.21 81.1605 137.854 81.2613C137.499 81.3585 137.14 81.4042 136.777 81.3984C136.416 81.3908 136.064 81.3342 135.719 81.2288C135.375 81.1233 135.058 80.9734 134.768 80.7789L134.612 80.6738C134.28 80.4513 134.029 80.2175 133.857 79.9726C133.685 79.7276 133.59 79.4837 133.572 79.2407C133.552 78.996 133.608 78.7611 133.742 78.5359C133.875 78.3107 134.079 78.1066 134.354 77.9236C134.657 77.7214 134.973 77.5786 135.303 77.4953C135.632 77.412 135.964 77.3828 136.298 77.4079C136.632 77.4294 136.962 77.5008 137.288 77.6219C137.617 77.7413 137.934 77.9035 138.24 78.1085L138.643 78.3792L135.364 80.565L134.687 80.1103L137.032 78.5468L136.958 78.4969C136.783 78.3865 136.59 78.3022 136.379 78.2442C136.17 78.1844 135.957 78.1657 135.74 78.1881C135.523 78.2104 135.31 78.2913 135.101 78.4308C134.944 78.5353 134.838 78.6514 134.783 78.7788C134.728 78.9028 134.723 79.0339 134.767 79.172C134.811 79.3102 134.9 79.4536 135.033 79.6024C135.166 79.7477 135.342 79.8939 135.561 80.041L135.717 80.1462C135.902 80.2706 136.099 80.3696 136.308 80.4434C136.517 80.5137 136.73 80.5551 136.947 80.5677C137.163 80.5803 137.376 80.5623 137.585 80.5137C137.792 80.4634 137.985 80.3781 138.165 80.2579C138.393 80.1062 138.55 79.9405 138.636 79.7606C138.723 79.5808 138.748 79.3912 138.712 79.1919L139.691 79.1831C139.733 79.3335 139.741 79.4986 139.718 79.6786C139.691 79.8568 139.61 80.0419 139.474 80.2339C139.34 80.4241 139.135 80.6117 138.858 80.7964ZM138.823 76.2588L142.152 78.4953L141.207 79.1254L136.973 76.2819L137.864 75.6883L138.823 76.2588ZM139.71 77.0808L139.401 77.2821C139.103 77.0789 138.87 76.8662 138.7 76.6439C138.534 76.42 138.434 76.1987 138.4 75.9802C138.369 75.76 138.409 75.5486 138.519 75.3461C138.626 75.1418 138.806 74.9551 139.06 74.786C139.264 74.6501 139.477 74.5465 139.699 74.4752C139.921 74.4004 140.154 74.3659 140.397 74.3715C140.642 74.3755 140.897 74.4239 141.16 74.517C141.421 74.6083 141.697 74.7512 141.986 74.9457L144.721 76.7827L143.772 77.4155L141.033 75.5758C140.83 75.4392 140.639 75.3515 140.462 75.3127C140.284 75.2705 140.114 75.2702 139.952 75.3118C139.79 75.35 139.627 75.424 139.462 75.5338C139.3 75.6419 139.189 75.7614 139.129 75.8924C139.068 76.0233 139.053 76.1579 139.081 76.296C139.112 76.4323 139.181 76.5679 139.288 76.7026C139.395 76.8374 139.536 76.9634 139.71 77.0808ZM144.17 71.4841L145.029 70.9115L149.145 73.6762C149.526 73.932 149.769 74.2033 149.873 74.4901C149.977 74.7768 149.953 75.0634 149.801 75.3497C149.651 75.6378 149.386 75.9091 149.004 76.1636C148.842 76.2717 148.638 76.3762 148.392 76.4771C148.149 76.5763 147.883 76.6527 147.593 76.7064C147.308 76.7601 147.021 76.7718 146.731 76.7416L146.618 76.073C146.95 76.0928 147.249 76.0697 147.516 76.0038C147.782 75.9378 148.016 75.8377 148.217 75.7035C148.434 75.5588 148.578 75.4088 148.649 75.2534C148.725 75.098 148.728 74.9407 148.658 74.7816C148.588 74.6224 148.442 74.4684 148.22 74.3194L145.043 72.1855L144.17 71.4841ZM143.451 74.8591L143.369 74.8039C143.048 74.5884 142.795 74.366 142.61 74.1368C142.423 73.9058 142.307 73.6775 142.263 73.452C142.216 73.2248 142.247 73.0073 142.354 72.7995C142.459 72.5899 142.643 72.3972 142.907 72.2211C143.182 72.0381 143.466 71.9154 143.758 71.853C144.053 71.7888 144.359 71.7754 144.675 71.8126C144.988 71.8481 145.309 71.9273 145.638 72.0502C145.967 72.1696 146.305 72.3213 146.652 72.5054L146.914 72.6815C147.183 72.9074 147.402 73.1314 147.571 73.3537C147.741 73.5759 147.85 73.7928 147.899 74.0043C147.948 74.2159 147.925 74.4203 147.828 74.6176C147.733 74.8132 147.554 74.999 147.29 75.175C147.031 75.3476 146.744 75.4677 146.427 75.5353C146.114 75.6012 145.786 75.6189 145.444 75.5886C145.105 75.5566 144.765 75.4791 144.426 75.3562C144.084 75.2316 143.759 75.0659 143.451 74.8591ZM144.314 74.1738L144.397 74.229C144.59 74.3586 144.788 74.4673 144.991 74.5551C145.198 74.641 145.404 74.7008 145.61 74.7344C145.816 74.7644 146.017 74.763 146.213 74.7302C146.409 74.6938 146.592 74.619 146.762 74.5057C146.984 74.3575 147.119 74.2048 147.166 74.0476C147.216 73.8887 147.2 73.7305 147.116 73.5731C147.033 73.4122 146.908 73.2547 146.741 73.1006L146.033 72.6249C145.863 72.532 145.687 72.4574 145.504 72.4012C145.324 72.3432 145.144 72.308 144.964 72.2954C144.781 72.2811 144.601 72.2965 144.423 72.3417C144.243 72.3851 144.069 72.4625 143.902 72.5741C143.732 72.6874 143.621 72.8104 143.568 72.9431C143.516 73.0758 143.513 73.2121 143.56 73.352C143.609 73.4902 143.699 73.6293 143.829 73.7693C143.96 73.9093 144.121 74.0442 144.314 74.1738ZM147.955 68.961L148.643 69.4235L146.251 71.0184L145.562 70.5559L147.955 68.961ZM145.216 69.3993L146.161 68.7692L150.262 71.5234C150.392 71.611 150.511 71.6662 150.618 71.6891C150.725 71.7085 150.824 71.7035 150.916 71.6739C151.007 71.6444 151.099 71.5991 151.19 71.5381C151.255 71.4945 151.314 71.45 151.367 71.4047C151.419 71.3593 151.459 71.3218 151.488 71.2922L152.212 71.7731C152.157 71.8412 152.086 71.9162 152 71.9982C151.916 72.0784 151.808 72.163 151.675 72.2519C151.458 72.3966 151.228 72.4993 150.985 72.56C150.739 72.619 150.482 72.6212 150.213 72.5666C149.944 72.5119 149.665 72.3874 149.375 72.1929L145.216 69.3993ZM147.841 66.6592L153.851 70.6959L152.91 71.3234L146.9 67.2867L147.841 66.6592ZM151.413 69.2789L151.104 69.4802C150.814 69.2822 150.584 69.0738 150.415 68.8551C150.248 68.6346 150.146 68.4151 150.107 68.1966C150.068 67.9746 150.101 67.7623 150.206 67.5598C150.308 67.3555 150.483 67.1706 150.732 67.005C150.941 66.8655 151.158 66.7593 151.383 66.6863C151.61 66.6115 151.849 66.5761 152.1 66.5801C152.348 66.5822 152.605 66.6307 152.871 66.7256C153.137 66.8169 153.415 66.9598 153.705 67.1543L156.424 68.9808L155.475 69.6135L152.748 67.7817C152.544 67.6451 152.353 67.5565 152.172 67.516C151.995 67.4738 151.824 67.4726 151.659 67.5125C151.492 67.5507 151.327 67.6238 151.165 67.7318C150.995 67.8451 150.879 67.9681 150.816 68.1008C150.756 68.2318 150.741 68.3655 150.772 68.5018C150.803 68.6382 150.874 68.7729 150.983 68.9059C151.095 69.0371 151.239 69.1615 151.413 69.2789Z\",\n fill: \"#7C8A9D\"\n })))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter2_d_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip2_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 179.873,\n height: 34.557,\n rx: 11.2622,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 16.519 101.776)\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M48.448 95.6614L54.1452 99.4879L53.1608 100.144L46.5187 99.1104L50.5998 101.851L49.6154 102.508L43.9182 98.6813L44.9026 98.025L51.5605 99.0588L47.4715 96.3125L48.448 95.6614ZM56.767 96.6037L54.7479 95.2476C54.5966 95.146 54.4388 95.0767 54.2743 95.0397C54.1098 95.0027 53.9414 95.0015 53.769 95.0362C53.5991 95.0691 53.4306 95.1413 53.2632 95.2529C53.109 95.3557 53.0017 95.4622 52.9415 95.5721C52.8812 95.6821 52.864 95.7878 52.89 95.8892C52.9159 95.9906 52.985 96.079 53.0972 96.1544L52.1559 96.7819C51.9889 96.6697 51.8677 96.5341 51.7923 96.3749C51.7168 96.2158 51.6949 96.0436 51.7266 95.8584C51.7582 95.6732 51.846 95.4855 51.99 95.2953C52.134 95.105 52.3393 94.921 52.606 94.7432C52.925 94.5306 53.2608 94.3782 53.6135 94.2862C53.9689 94.1925 54.3254 94.1712 54.6831 94.2225C55.0408 94.2703 55.3814 94.4029 55.7049 94.6201L57.587 95.8842C57.78 96.0139 57.9665 96.1217 58.1466 96.2076C58.3267 96.29 58.4989 96.3515 58.6634 96.392L58.726 96.434L57.7573 97.0798C57.6111 97.0411 57.4467 96.9779 57.264 96.8902C57.0814 96.7991 56.9157 96.7035 56.767 96.6037ZM55.1787 95.3532L55.7695 95.7395L55.0911 96.1919C54.9159 96.3086 54.7786 96.4229 54.6791 96.5345C54.5771 96.6445 54.5129 96.7501 54.4866 96.8514C54.4603 96.9527 54.4693 97.048 54.5136 97.1372C54.5578 97.2264 54.636 97.3086 54.7482 97.384C54.8604 97.4593 54.9895 97.5111 55.1357 97.5393C55.2793 97.5658 55.4269 97.5634 55.5784 97.5322C55.7326 97.4993 55.8815 97.4349 56.0253 97.339C56.2188 97.21 56.3483 97.0713 56.4139 96.9229C56.4794 96.7709 56.4966 96.6285 56.4655 96.4957C56.4318 96.3611 56.3654 96.257 56.2663 96.1834L56.9909 96.2607C57.0665 96.3534 57.1276 96.4662 57.1744 96.5991C57.2212 96.732 57.2392 96.8771 57.2285 97.0344C57.2178 97.1881 57.1627 97.3453 57.0632 97.5059C56.9663 97.6648 56.808 97.8174 56.5884 97.9638C56.3112 98.1486 56.0094 98.2765 55.6828 98.3476C55.3536 98.417 55.0337 98.4295 54.723 98.3853C54.4096 98.3393 54.133 98.2357 53.893 98.0745C53.6687 97.9239 53.5122 97.7628 53.4237 97.5914C53.3353 97.4165 53.3147 97.2347 53.362 97.0461C53.412 96.8557 53.5272 96.6601 53.7077 96.4595C53.8857 96.2571 54.1289 96.053 54.4374 95.8473L55.1787 95.3532ZM57.1258 92.9868L60.4987 95.2522L59.5535 95.8823L55.3198 93.0388L56.21 92.4453L57.1258 92.9868ZM58.0723 93.8273L57.7468 94.0391C57.4547 93.8428 57.2213 93.6371 57.0467 93.4218C56.8721 93.2066 56.7641 92.9906 56.7226 92.7738C56.6786 92.5553 56.7116 92.343 56.8217 92.137C56.9317 91.9275 57.1253 91.7303 57.4025 91.5456C57.596 91.4166 57.8011 91.3182 58.018 91.2504C58.2349 91.1791 58.4622 91.1446 58.6998 91.1467C58.9401 91.1472 59.1855 91.1895 59.4361 91.2738C59.6893 91.3564 59.9489 91.487 60.215 91.6657L63.0362 93.5606L62.091 94.1907L59.352 92.3511C59.1459 92.2126 58.9528 92.1249 58.7726 92.0879C58.5951 92.0492 58.424 92.0515 58.2594 92.0949C58.0948 92.1348 57.9341 92.2071 57.7772 92.3116C57.5994 92.4302 57.4817 92.5541 57.424 92.6833C57.369 92.8107 57.3609 92.9401 57.3998 93.0712C57.4388 93.2023 57.5169 93.3318 57.6342 93.4595C57.7515 93.5873 57.8976 93.7099 58.0723 93.8273ZM60.4535 91.9047L60.1082 92.2658C59.8525 92.0941 59.6465 91.9086 59.4902 91.7091C59.3338 91.5061 59.2388 91.3006 59.2053 91.0926C59.1717 90.881 59.2086 90.6731 59.316 90.4689C59.4234 90.2646 59.6105 90.0736 59.8772 89.8958C60.0942 89.7511 60.3177 89.6422 60.5476 89.5692C60.7776 89.4927 61.0153 89.4565 61.2608 89.4604C61.5063 89.4643 61.7608 89.5128 62.0244 89.6059C62.2854 89.6972 62.5568 89.8375 62.8385 90.0267L65.5775 91.8663L64.6284 92.4991L61.8855 90.6568C61.6716 90.5131 61.4746 90.4228 61.2944 90.3858C61.1169 90.347 60.9498 90.3502 60.793 90.3954C60.6336 90.4388 60.4755 90.5128 60.3186 90.6174C60.1722 90.715 60.0702 90.8197 60.0125 90.9314C59.9549 91.0397 59.9364 91.1515 59.9571 91.2669C59.9752 91.3805 60.0259 91.4915 60.1093 91.6C60.1953 91.7068 60.31 91.8083 60.4535 91.9047ZM68.4992 90.0233C68.1854 90.2325 67.8509 90.3874 67.4955 90.4882C67.1402 90.5854 66.781 90.6311 66.418 90.6252C66.0576 90.6176 65.7051 90.5611 65.3606 90.4557C65.016 90.3502 64.699 90.2003 64.4094 90.0058L64.2529 89.9007C63.9216 89.6781 63.67 89.4444 63.4981 89.1995C63.3261 88.9545 63.2312 88.7106 63.2134 88.4676C63.1929 88.2229 63.2494 87.988 63.383 87.7628C63.5166 87.5376 63.7207 87.3335 63.9952 87.1504C64.2985 86.9482 64.6147 86.8055 64.9439 86.7222C65.2731 86.6388 65.6049 86.6097 65.9391 86.6347C66.2734 86.6563 66.6036 86.7276 66.9298 86.8488C67.2587 86.9682 67.5757 87.1304 67.8809 87.3354L68.284 87.606L65.0053 89.7919L64.3283 89.3372L66.6736 87.7737L66.5993 87.7237C66.4245 87.6133 66.2314 87.5291 66.0199 87.4711C65.8111 87.4113 65.5983 87.3926 65.3815 87.4149C65.1647 87.4373 64.9517 87.5182 64.7425 87.6576C64.5857 87.7622 64.4797 87.8782 64.4246 88.0057C64.3696 88.1297 64.3641 88.2608 64.4083 88.3989C64.4524 88.537 64.541 88.6805 64.6739 88.8293C64.8069 88.9745 64.9829 89.1208 65.202 89.2679L65.3585 89.373C65.5438 89.4974 65.7408 89.5965 65.9496 89.6703C66.1584 89.7405 66.3711 89.782 66.5879 89.7946C66.8046 89.8072 67.0175 89.7892 67.2265 89.7406C67.4329 89.6903 67.6263 89.605 67.8067 89.4847C68.0342 89.3331 68.1912 89.1673 68.2777 88.9875C68.3642 88.8076 68.3893 88.6181 68.3531 88.4188L69.3324 88.41C69.374 88.5603 69.3828 88.7255 69.359 88.9055C69.3326 89.0837 69.2513 89.2688 69.1152 89.4608C68.9817 89.651 68.7763 89.8385 68.4992 90.0233ZM70.6063 85.7436L70.5163 85.6832C70.2111 85.4782 69.9725 85.2585 69.8005 85.024C69.6259 84.7878 69.5258 84.5491 69.5001 84.3079C69.4744 84.0632 69.5297 83.8239 69.6659 83.5899C69.8021 83.3525 70.0245 83.1309 70.333 82.9252C70.6441 82.7178 70.976 82.5698 71.3288 82.4813C71.6815 82.3893 72.0406 82.3524 72.4062 82.3705C72.7692 82.3868 73.1269 82.4538 73.4793 82.5715C73.829 82.6875 74.1565 82.8479 74.4617 83.0529L74.5517 83.1134C74.8569 83.3183 75.0955 83.5381 75.2675 83.7725C75.4394 84.007 75.5382 84.2466 75.5639 84.4913C75.587 84.7343 75.5318 84.9736 75.3982 85.2093C75.262 85.4432 75.0396 85.663 74.7311 85.8687C74.4199 86.0761 74.088 86.2258 73.7353 86.3179C73.3826 86.4064 73.0247 86.4425 72.6617 86.4261C72.2961 86.408 71.9385 86.341 71.5887 86.225C71.239 86.1091 70.9115 85.9486 70.6063 85.7436ZM71.4614 85.0531L71.5514 85.1135C71.7419 85.2414 71.9415 85.3492 72.1503 85.437C72.359 85.5247 72.5692 85.5836 72.7807 85.6137C72.9921 85.6438 73.1998 85.6398 73.4035 85.6017C73.6073 85.5636 73.7994 85.4844 73.9798 85.3641C74.155 85.2473 74.2701 85.1217 74.3252 84.9872C74.3829 84.851 74.3896 84.7121 74.3455 84.5705C74.3013 84.4288 74.2141 84.288 74.0837 84.148C73.956 84.0062 73.7969 83.8714 73.6065 83.7435L73.5165 83.683C73.3287 83.5569 73.1304 83.4517 72.9216 83.3674C72.7128 83.2797 72.5001 83.2208 72.2834 83.1907C72.0693 83.1589 71.8604 83.162 71.6566 83.2001C71.4528 83.2347 71.262 83.3113 71.0842 83.4298C70.9065 83.5484 70.79 83.6766 70.7349 83.8146C70.6799 83.949 70.6757 84.088 70.7225 84.2313C70.7692 84.3747 70.8578 84.5164 70.9881 84.6564C71.1159 84.7947 71.2736 84.9269 71.4614 85.0531ZM78.6924 83.1231L77.7472 83.7532L73.1065 80.6363C72.7909 80.4243 72.5849 80.2073 72.4887 79.9852C72.3924 79.7596 72.4007 79.5359 72.5133 79.3142C72.6234 79.0907 72.8301 78.8778 73.1334 78.6756C73.2275 78.6129 73.3269 78.5554 73.4314 78.5031C73.5334 78.4491 73.6392 78.4012 73.749 78.3595L74.4532 78.864C74.3879 78.8901 74.3212 78.9223 74.2533 78.9606C74.1879 78.9972 74.1199 79.0391 74.0494 79.0861C73.9056 79.182 73.8087 79.2832 73.7589 79.3897C73.7091 79.4927 73.7077 79.5967 73.7545 79.7016C73.8039 79.8048 73.903 79.9063 74.0517 80.0062L78.6924 83.1231ZM75.3332 79.6965L76.0219 80.159L73.5511 81.8062L72.8624 81.3437L75.3332 79.6965ZM83.8844 77.698C83.767 77.6191 83.6444 77.5613 83.5165 77.5243C83.3912 77.4857 83.2463 77.4706 83.0817 77.479C82.9172 77.4875 82.7187 77.5221 82.4861 77.5829C82.2536 77.6401 81.9753 77.7262 81.6513 77.8409C81.2959 77.9662 80.9523 78.0713 80.6204 78.1563C80.2886 78.2379 79.9699 78.2898 79.6643 78.312C79.3561 78.3324 79.0663 78.3145 78.7948 78.2581C78.5206 78.1999 78.2662 78.092 78.0314 77.9343C77.7993 77.7784 77.6363 77.6042 77.5426 77.4118C77.4516 77.2177 77.4271 77.0141 77.4693 76.8009C77.5114 76.5843 77.6189 76.3678 77.7916 76.1514C77.9617 75.9333 78.1971 75.724 78.4978 75.5235C78.9214 75.2411 79.3644 75.0505 79.8268 74.9517C80.2918 74.8512 80.7385 74.8344 81.1666 74.9016C81.5974 74.967 81.972 75.1066 82.2902 75.3203L81.3137 75.9713C81.1258 75.8452 80.9197 75.761 80.6951 75.7186C80.4706 75.6728 80.2356 75.6759 79.99 75.7279C79.747 75.7782 79.5027 75.8852 79.2569 76.0491C79.0242 76.2042 78.8659 76.3568 78.7821 76.507C78.6983 76.6571 78.6784 76.7978 78.7226 76.9289C78.7668 77.0601 78.8645 77.1764 79.0158 77.2781C79.1228 77.3499 79.2454 77.399 79.3838 77.4255C79.5196 77.4502 79.6763 77.454 79.8539 77.4368C80.0289 77.4179 80.2261 77.3789 80.4456 77.3198C80.6651 77.2608 80.9094 77.1817 81.1786 77.0826C81.5888 76.9347 81.969 76.8209 82.3191 76.7411C82.6666 76.6596 82.9905 76.6147 83.2909 76.6065C83.5912 76.5983 83.8719 76.6293 84.1329 76.6997C84.3914 76.7683 84.6354 76.8797 84.8649 77.0338C85.1049 77.195 85.2731 77.3727 85.3694 77.5668C85.463 77.7592 85.4875 77.9611 85.4427 78.1725C85.398 78.3804 85.2866 78.5925 85.1087 78.8089C84.9307 79.0218 84.6888 79.2302 84.3829 79.4342C84.1083 79.6172 83.8012 79.7731 83.4615 79.9018C83.1244 80.0288 82.773 80.1147 82.4073 80.1595C82.0389 80.2026 81.6786 80.1915 81.3261 80.1262C80.971 80.0592 80.6422 79.924 80.3396 79.7208L81.324 79.0645C81.5092 79.1889 81.6984 79.274 81.8916 79.3198C82.0874 79.3638 82.2846 79.3755 82.4831 79.3549C82.679 79.3325 82.8723 79.2839 83.0631 79.2091C83.2565 79.1325 83.4408 79.0358 83.616 78.9191C83.846 78.7657 84.0056 78.6157 84.0946 78.469C84.1863 78.3206 84.2127 78.1809 84.1737 78.0497C84.1348 77.9186 84.0383 77.8014 83.8844 77.698ZM88.672 75.1347L85.436 72.9613L86.3851 72.3285L90.6189 75.1721L89.7247 75.7682L88.672 75.1347ZM87.9249 74.4545L88.2348 74.2374C88.5191 74.4284 88.7499 74.6254 88.9272 74.8284C89.1018 75.0297 89.2124 75.2335 89.2591 75.4398C89.3031 75.6443 89.2727 75.8478 89.1679 76.0504C89.0605 76.2512 88.8643 76.4465 88.5793 76.6365C88.3728 76.7742 88.1532 76.8805 87.9206 76.9552C87.6881 77.03 87.4464 77.0671 87.1957 77.0667C86.9476 77.0645 86.6892 77.0186 86.4203 76.929C86.1515 76.8395 85.8775 76.7009 85.5984 76.5135L82.8633 74.6764L83.8084 74.0463L86.5514 75.8886C86.7053 75.992 86.8527 76.0665 86.9937 76.1122C87.132 76.1561 87.2639 76.1782 87.3892 76.1784C87.5146 76.1786 87.6321 76.1596 87.7419 76.1213C87.8516 76.0831 87.9536 76.0326 88.0477 75.9698C88.317 75.7903 88.4766 75.614 88.5265 75.4411C88.5764 75.2647 88.5441 75.0943 88.4295 74.9298C88.3175 74.7636 88.1493 74.6051 87.9249 74.4545ZM89.1168 71.5966L94.1645 74.9868L93.2193 75.6169L87.3578 71.6801L88.2284 71.0997L89.1168 71.5966ZM93.1456 70.6022L93.2278 70.6574C93.5356 70.8641 93.7846 71.0804 93.9749 71.3061C94.1652 71.5284 94.2875 71.7523 94.342 71.9778C94.3965 72.1999 94.3752 72.4148 94.2782 72.6226C94.1812 72.8304 93.9994 73.0232 93.7327 73.201C93.4686 73.377 93.189 73.4989 92.8937 73.5665C92.5985 73.6307 92.2929 73.6476 91.977 73.6174C91.661 73.5871 91.3399 73.5184 91.0136 73.4112C90.6874 73.3006 90.3612 73.1585 90.035 72.9849L89.7181 72.772C89.4417 72.5409 89.2174 72.3133 89.0455 72.0893C88.8761 71.8636 88.7681 71.6441 88.7214 71.4308C88.6748 71.2175 88.7 71.0122 88.7969 70.8149C88.8939 70.6176 89.0731 70.4318 89.3346 70.2575C89.6013 70.0797 89.8901 69.957 90.201 69.8894C90.5092 69.82 90.8292 69.8022 91.1608 69.836C91.4898 69.868 91.8227 69.9498 92.1593 70.0815C92.4934 70.2114 92.8222 70.3849 93.1456 70.6022ZM92.2826 71.2875L92.2004 71.2323C92.0048 71.1009 91.8052 70.9914 91.6016 70.9036C91.3955 70.8141 91.1893 70.7526 90.983 70.7191C90.7768 70.6855 90.577 70.686 90.3837 70.7207C90.1903 70.7518 90.0087 70.824 89.8388 70.9373C89.6714 71.0488 89.5563 71.164 89.4934 71.2827C89.4279 71.3997 89.4042 71.5185 89.4223 71.6391C89.4404 71.7597 89.4937 71.8795 89.5823 71.9985C89.6683 72.1157 89.7791 72.2321 89.9147 72.3477L90.6738 72.8575C90.893 72.9628 91.1187 73.0427 91.3511 73.0973C91.5834 73.1518 91.8158 73.1645 92.0483 73.1352C92.2808 73.1023 92.5069 73.0127 92.7265 72.8663C92.8964 72.753 93.005 72.6317 93.0523 72.5025C93.0995 72.3733 93.0971 72.2405 93.0451 72.1041C92.9931 71.9642 92.9006 71.8251 92.7677 71.6868C92.6347 71.5485 92.473 71.4154 92.2826 71.2875ZM93.6348 68.5846L98.6825 71.9748L97.7373 72.6049L91.8758 68.6681L92.7465 68.0877L93.6348 68.5846ZM97.6637 67.5902L97.7458 67.6454C98.0536 67.8521 98.3027 68.0684 98.4929 68.2941C98.6832 68.5164 98.8056 68.7403 98.86 68.9658C98.9145 69.1879 98.8932 69.4028 98.7962 69.6106C98.6992 69.8184 98.5174 70.0111 98.2507 70.1889C97.9866 70.365 97.707 70.4868 97.4118 70.5545C97.1165 70.6186 96.811 70.6356 96.495 70.6053C96.1791 70.5751 95.8579 70.5064 95.5317 70.3992C95.2054 70.2886 94.8792 70.1464 94.5531 69.9729L94.2361 69.76C93.9597 69.5289 93.7355 69.3013 93.5635 69.0773C93.3941 68.8516 93.2861 68.6321 93.2395 68.4188C93.1928 68.2055 93.218 68.0002 93.315 67.8029C93.4119 67.6056 93.5911 67.4198 93.8526 67.2455C94.1193 67.0677 94.4081 66.945 94.719 66.8774C95.0273 66.808 95.3472 66.7902 95.6788 66.824C96.0079 66.856 96.3407 66.9378 96.6774 67.0695C97.0114 67.1994 97.3402 67.3729 97.6637 67.5902ZM96.8006 68.2755L96.7185 68.2203C96.5228 68.0889 96.3232 67.9793 96.1197 67.8916C95.9135 67.8021 95.7073 67.7406 95.501 67.707C95.2948 67.6735 95.095 67.674 94.9017 67.7086C94.7084 67.7398 94.5267 67.812 94.3568 67.9253C94.1895 68.0368 94.0743 68.152 94.0115 68.2707C93.946 68.3877 93.9223 68.5065 93.9403 68.6271C93.9584 68.7477 94.0117 68.8675 94.1003 68.9865C94.1863 69.1037 94.2971 69.2201 94.4327 69.3357L95.1918 69.8455C95.411 69.9508 95.6368 70.0307 95.8691 70.0852C96.1014 70.1398 96.3339 70.1524 96.5663 70.1231C96.7988 70.0903 97.0249 70.0007 97.2445 69.8543C97.4145 69.741 97.5231 69.6197 97.5703 69.4905C97.6175 69.3613 97.6151 69.2284 97.5631 69.092C97.5111 68.9521 97.4187 68.8131 97.2857 68.6748C97.1528 68.5365 96.9911 68.4034 96.8006 68.2755ZM95.6253 63.791L101.635 67.8277L100.686 68.4604L94.6762 64.4237L95.6253 63.791ZM104.62 65.9428C104.306 66.152 103.972 66.307 103.616 66.4077C103.261 66.505 102.902 66.5506 102.539 66.5448C102.178 66.5372 101.826 66.4806 101.481 66.3752C101.137 66.2698 100.82 66.1198 100.53 65.9253L100.374 65.8202C100.042 65.5977 99.7907 65.364 99.6188 65.119C99.4468 64.874 99.3519 64.6301 99.3341 64.3872C99.3136 64.1425 99.3701 63.9075 99.5037 63.6823C99.6373 63.4571 99.8413 63.253 100.116 63.07C100.419 62.8678 100.735 62.725 101.065 62.6417C101.394 62.5584 101.726 62.5292 102.06 62.5543C102.394 62.5758 102.724 62.6472 103.051 62.7683C103.379 62.8877 103.696 63.0499 104.002 63.2549L104.405 63.5256L101.126 65.7114L100.449 65.2567L102.794 63.6932L102.72 63.6433C102.545 63.5329 102.352 63.4487 102.141 63.3906C101.932 63.3309 101.719 63.3121 101.502 63.3345C101.285 63.3568 101.072 63.4377 100.863 63.5772C100.706 63.6818 100.6 63.7978 100.545 63.9253C100.49 64.0492 100.485 64.1803 100.529 64.3184C100.573 64.4566 100.662 64.6 100.795 64.7488C100.928 64.8941 101.104 65.0403 101.323 65.1875L101.479 65.2926C101.664 65.417 101.861 65.5161 102.07 65.5898C102.279 65.6601 102.492 65.7015 102.709 65.7141C102.925 65.7267 103.138 65.7087 103.347 65.6602C103.554 65.6098 103.747 65.5245 103.927 65.4043C104.155 65.2526 104.312 65.0869 104.398 64.907C104.485 64.7272 104.51 64.5376 104.474 64.3383L105.453 64.3295C105.495 64.4799 105.504 64.645 105.48 64.825C105.453 65.0032 105.372 65.1883 105.236 65.3803C105.102 65.5706 104.897 65.7581 104.62 65.9428ZM104.549 61.3711L107.922 63.6365L106.977 64.2666L102.743 61.423L103.634 60.8295L104.549 61.3711ZM105.496 62.2115L105.17 62.4233C104.878 62.2271 104.645 62.0213 104.47 61.8061C104.296 61.5908 104.188 61.3748 104.146 61.1581C104.102 60.9395 104.135 60.7273 104.245 60.5213C104.355 60.3117 104.549 60.1146 104.826 59.9298C105.02 59.8008 105.225 59.7025 105.442 59.6347C105.659 59.5634 105.886 59.5288 106.123 59.531C106.364 59.5314 106.609 59.5738 106.86 59.6581C107.113 59.7407 107.373 59.8713 107.639 60.05L110.46 61.9448L109.515 62.575L106.776 60.7353C106.569 60.5969 106.376 60.5092 106.196 60.4722C106.019 60.4334 105.848 60.4358 105.683 60.4792C105.518 60.5191 105.358 60.5913 105.201 60.6959C105.023 60.8144 104.905 60.9383 104.848 61.0675C104.793 61.195 104.785 61.3243 104.823 61.4554C104.862 61.5866 104.941 61.716 105.058 61.8438C105.175 61.9716 105.321 62.0942 105.496 62.2115ZM107.877 60.289L107.532 60.6501C107.276 60.4784 107.07 60.2928 106.914 60.0933C106.757 59.8903 106.662 59.6848 106.629 59.4768C106.595 59.2653 106.632 59.0574 106.74 58.8531C106.847 58.6488 107.034 58.4578 107.301 58.28C107.518 58.1353 107.741 58.0265 107.971 57.9535C108.201 57.877 108.439 57.8407 108.684 57.8446C108.93 57.8485 109.184 57.897 109.448 57.9901C109.709 58.0814 109.98 58.2217 110.262 58.4109L113.001 60.2506L112.052 60.8833L109.309 59.041C109.095 58.8974 108.898 58.807 108.718 58.77C108.541 58.7313 108.373 58.7345 108.217 58.7796C108.057 58.8231 107.899 58.8971 107.742 59.0016C107.596 59.0993 107.494 59.2039 107.436 59.3157C107.378 59.4239 107.36 59.5357 107.381 59.6511C107.399 59.7647 107.45 59.8758 107.533 59.9843C107.619 60.091 107.734 60.1926 107.877 60.289ZM115.923 58.4076C115.609 58.6167 115.274 58.7717 114.919 58.8724C114.564 58.9697 114.205 59.0154 113.842 59.0095C113.481 59.0019 113.129 58.9454 112.784 58.8399C112.44 58.7345 112.123 58.5845 111.833 58.39L111.677 58.2849C111.345 58.0624 111.094 57.8287 110.922 57.5837C110.75 57.3388 110.655 57.0948 110.637 56.8519C110.616 56.6072 110.673 56.3722 110.807 56.147C110.94 55.9218 111.144 55.7177 111.419 55.5347C111.722 55.3325 112.038 55.1897 112.368 55.1064C112.697 55.0231 113.028 54.994 113.363 55.019C113.697 55.0406 114.027 55.1119 114.353 55.233C114.682 55.3524 114.999 55.5146 115.305 55.7196L115.708 55.9903L112.429 58.1761L111.752 57.7215L114.097 56.1579L114.023 56.108C113.848 55.9976 113.655 55.9134 113.444 55.8554C113.235 55.7956 113.022 55.7769 112.805 55.7992C112.588 55.8216 112.375 55.9024 112.166 56.0419C112.009 56.1465 111.903 56.2625 111.848 56.39C111.793 56.514 111.788 56.645 111.832 56.7832C111.876 56.9213 111.965 57.0647 112.098 57.2135C112.23 57.3588 112.407 57.505 112.626 57.6522L112.782 57.7573C112.967 57.8817 113.164 57.9808 113.373 58.0545C113.582 58.1248 113.795 58.1662 114.011 58.1788C114.228 58.1914 114.441 58.1735 114.65 58.1249C114.857 58.0746 115.05 57.9893 115.23 57.869C115.458 57.7173 115.615 57.5516 115.701 57.3717C115.788 57.1919 115.813 57.0023 115.777 56.803L116.756 56.7942C116.798 56.9446 116.806 57.1098 116.783 57.2897C116.756 57.4679 116.675 57.653 116.539 57.845C116.405 58.0353 116.2 58.2228 115.923 58.4076ZM115.888 53.87L119.217 56.1064L118.272 56.7366L114.038 53.893L114.929 53.2995L115.888 53.87ZM116.775 54.692L116.466 54.8933C116.168 54.69 115.935 54.4773 115.765 54.2551C115.599 54.0311 115.498 53.8099 115.465 53.5914C115.434 53.3711 115.473 53.1597 115.584 52.9572C115.691 52.7529 115.871 52.5662 116.125 52.3972C116.329 52.2612 116.542 52.1576 116.764 52.0863C116.986 52.0116 117.219 51.977 117.462 51.9827C117.707 51.9866 117.962 52.0351 118.225 52.1282C118.486 52.2195 118.762 52.3624 119.051 52.5569L121.786 54.3939L120.837 55.0266L118.098 53.187C117.895 53.0503 117.704 52.9626 117.527 52.9238C117.349 52.8816 117.179 52.8813 117.017 52.923C116.855 52.9611 116.692 53.0351 116.527 53.1449C116.365 53.253 116.254 53.3725 116.194 53.5035C116.133 53.6345 116.117 53.769 116.146 53.9071C116.177 54.0435 116.246 54.179 116.353 54.3138C116.46 54.4485 116.601 54.5746 116.775 54.692ZM120.463 49.6103L121.151 50.0728L118.759 51.6677L118.07 51.2052L120.463 49.6103ZM117.723 50.0486L118.669 49.4185L122.769 52.1727C122.9 52.2603 123.019 52.3155 123.126 52.3384C123.233 52.3578 123.332 52.3528 123.423 52.3232C123.515 52.2937 123.606 52.2484 123.698 52.1874C123.763 52.1438 123.822 52.0993 123.874 52.054C123.927 52.0086 123.967 51.9711 123.996 51.9415L124.72 52.4224C124.665 52.4905 124.594 52.5655 124.508 52.6475C124.424 52.7277 124.316 52.8123 124.182 52.9012C123.965 53.0459 123.735 53.1486 123.492 53.2093C123.247 53.2683 122.989 53.2705 122.721 53.2159C122.452 53.1612 122.172 53.0367 121.883 52.8422L117.723 50.0486ZM122.211 46.486L126.174 52.1235L125.432 52.6176L121.474 46.9776L122.211 46.486ZM123.36 45.7199L124.239 45.1343L130.284 46.9848L127.537 42.9354L128.416 42.3497L131.932 47.6299L131.234 48.0953L123.36 45.7199ZM122.96 45.9866L123.796 45.4297L127.744 47.8875L129.638 49.1594L128.657 49.8131L122.96 45.9866ZM127.98 42.6399L128.82 42.0804L134.517 45.9069L133.532 46.5631L131.638 45.2912L127.98 42.6399ZM137.54 43.9959C137.227 44.205 136.892 44.36 136.537 44.4608C136.181 44.558 135.822 44.6037 135.459 44.5978C135.099 44.5902 134.746 44.5337 134.402 44.4282C134.057 44.3228 133.74 44.1728 133.451 43.9784L133.294 43.8732C132.963 43.6507 132.711 43.417 132.539 43.172C132.367 42.9271 132.272 42.6831 132.254 42.4402C132.234 42.1955 132.291 41.9606 132.424 41.7354C132.558 41.5102 132.762 41.306 133.036 41.123C133.34 40.9208 133.656 40.7781 133.985 40.6947C134.314 40.6114 134.646 40.5823 134.98 40.6073C135.314 40.6289 135.645 40.7002 135.971 40.8214C136.3 40.9408 136.617 41.103 136.922 41.3079L137.325 41.5786L134.046 43.7644L133.369 43.3098L135.715 41.7463L135.64 41.6963C135.466 41.5859 135.272 41.5017 135.061 41.4437C134.852 41.3839 134.639 41.3652 134.423 41.3875C134.206 41.4099 133.993 41.4908 133.784 41.6302C133.627 41.7348 133.521 41.8508 133.466 41.9783C133.411 42.1023 133.405 42.2333 133.449 42.3715C133.494 42.5096 133.582 42.6531 133.715 42.8018C133.848 42.9471 134.024 43.0933 134.243 43.2405L134.4 43.3456C134.585 43.47 134.782 43.5691 134.991 43.6429C135.199 43.7131 135.412 43.7546 135.629 43.7672C135.846 43.7798 136.059 43.7618 136.268 43.7132C136.474 43.6629 136.667 43.5776 136.848 43.4573C137.075 43.3057 137.232 43.1399 137.319 42.9601C137.405 42.7802 137.43 42.5907 137.394 42.3914L138.374 42.3826C138.415 42.5329 138.424 42.6981 138.4 42.878C138.374 43.0562 138.292 43.2413 138.156 43.4333C138.023 43.6236 137.817 43.8111 137.54 43.9959ZM141.61 40.0053L136.476 36.5573L137.425 35.9246L143.435 39.9613L142.576 40.5339L141.61 40.0053ZM137.655 41.0444L137.573 40.9893C137.252 40.7738 136.998 40.5523 136.81 40.3247C136.62 40.0955 136.501 39.869 136.455 39.6452C136.406 39.4197 136.433 39.2039 136.538 38.9979C136.64 38.7901 136.821 38.5999 137.08 38.4274C137.336 38.2565 137.61 38.1399 137.903 38.0775C138.196 38.0151 138.503 38.0008 138.824 38.0345C139.142 38.0665 139.47 38.1414 139.807 38.259C140.141 38.3749 140.48 38.5258 140.824 38.7117L141.087 38.8877C141.355 39.1136 141.574 39.3377 141.743 39.5599C141.913 39.7822 142.021 39.9999 142.068 40.2132C142.114 40.4265 142.089 40.6318 141.992 40.8291C141.898 41.0246 141.721 41.2087 141.462 41.3813C141.206 41.5521 140.921 41.6704 140.608 41.7363C140.297 41.8004 139.973 41.8156 139.636 41.7818C139.299 41.748 138.962 41.6688 138.626 41.5442C138.286 41.4178 137.963 41.2512 137.655 41.0444ZM138.518 40.3591L138.6 40.4143C138.793 40.544 138.99 40.6535 139.191 40.743C139.395 40.8307 139.598 40.8923 139.802 40.9276C140.003 40.9611 140.2 40.9623 140.394 40.9312C140.587 40.8966 140.768 40.8226 140.938 40.7093C141.153 40.5664 141.282 40.4172 141.327 40.2617C141.372 40.1063 141.354 39.949 141.273 39.7898C141.192 39.6271 141.067 39.4696 140.898 39.3173L140.19 38.8416C140.02 38.7487 139.844 38.6741 139.661 38.6179C139.481 38.5599 139.301 38.5247 139.121 38.5121C138.938 38.4978 138.759 38.5124 138.584 38.5558C138.409 38.5957 138.24 38.6696 138.078 38.7777C137.906 38.8928 137.796 39.0149 137.748 39.1441C137.701 39.2734 137.702 39.4071 137.752 39.5452C137.804 39.6816 137.896 39.8189 138.029 39.9572C138.162 40.0955 138.325 40.2295 138.518 40.3591ZM141.202 35.7843L145.435 38.6278L144.486 39.2606L140.252 36.417L141.202 35.7843ZM139.078 35.7125C138.935 35.6161 138.863 35.505 138.864 35.3792C138.864 35.2499 138.949 35.1286 139.119 35.0153C139.286 34.9037 139.466 34.8481 139.66 34.8484C139.85 34.847 140.017 34.8945 140.161 34.9908C140.302 35.0854 140.371 35.1965 140.368 35.3241C140.365 35.4517 140.28 35.5712 140.113 35.6828C139.943 35.7961 139.762 35.8534 139.572 35.8549C139.384 35.8545 139.219 35.8071 139.078 35.7125ZM147.531 36.3299C147.685 36.2271 147.794 36.1145 147.857 35.9923C147.92 35.8666 147.934 35.7417 147.901 35.6175C147.869 35.4917 147.786 35.3779 147.65 35.2763L148.541 34.6828C148.809 34.8703 148.977 35.0916 149.045 35.3469C149.112 35.6021 149.083 35.8607 148.957 36.1226C148.829 36.3828 148.608 36.6175 148.294 36.8266C147.97 37.0428 147.633 37.1942 147.283 37.281C146.93 37.366 146.576 37.396 146.221 37.3709C145.866 37.3459 145.52 37.2745 145.183 37.1568C144.849 37.0374 144.536 36.8796 144.244 36.6834L144.107 36.5914C143.815 36.3952 143.58 36.1851 143.403 35.9611C143.226 35.7336 143.119 35.501 143.083 35.2632C143.047 35.0255 143.094 34.7897 143.225 34.5557C143.353 34.32 143.578 34.095 143.9 33.8806C144.24 33.654 144.606 33.5008 144.998 33.4211C145.387 33.3396 145.775 33.3307 146.161 33.3943C146.548 33.4543 146.901 33.5886 147.222 33.7972L146.332 34.3907C146.167 34.2908 145.987 34.2223 145.792 34.1853C145.596 34.1447 145.397 34.1409 145.196 34.1738C144.998 34.2049 144.812 34.278 144.639 34.393C144.449 34.5202 144.33 34.652 144.282 34.7882C144.232 34.9227 144.239 35.0581 144.301 35.1946C144.361 35.3292 144.457 35.4622 144.59 35.5935C144.723 35.7213 144.877 35.8439 145.052 35.9613L145.189 36.0533C145.364 36.1706 145.548 36.2749 145.741 36.3661C145.934 36.4573 146.131 36.5232 146.332 36.5638C146.533 36.6008 146.735 36.6038 146.939 36.5727C147.14 36.5398 147.338 36.4589 147.531 36.3299ZM152.21 32.9748L150.191 31.6187C150.04 31.5171 149.882 31.4478 149.718 31.4108C149.553 31.3738 149.385 31.3726 149.212 31.4073C149.042 31.4402 148.874 31.5124 148.707 31.624C148.552 31.7268 148.445 31.8333 148.385 31.9432C148.325 32.0532 148.307 32.1589 148.333 32.2603C148.359 32.3617 148.428 32.4501 148.541 32.5255L147.599 33.153C147.432 33.0408 147.311 32.9052 147.236 32.746C147.16 32.5869 147.138 32.4147 147.17 32.2295C147.202 32.0443 147.289 31.8566 147.433 31.6664C147.577 31.4761 147.783 31.2921 148.049 31.1143C148.368 30.9017 148.704 30.7493 149.057 30.6573C149.412 30.5636 149.769 30.5423 150.126 30.5936C150.484 30.6414 150.825 30.774 151.148 30.9912L153.03 32.2553C153.223 32.385 153.41 32.4928 153.59 32.5787C153.77 32.6611 153.942 32.7226 154.107 32.7631L154.169 32.8051L153.201 33.4509C153.054 33.4122 152.89 33.349 152.707 33.2613C152.525 33.1702 152.359 33.0746 152.21 32.9748ZM150.622 31.7243L151.213 32.1106L150.534 32.563C150.359 32.6797 150.222 32.794 150.122 32.9056C150.02 33.0156 149.956 33.1212 149.93 33.2225C149.904 33.3238 149.913 33.4191 149.957 33.5083C150.001 33.5975 150.079 33.6797 150.192 33.7551C150.304 33.8304 150.433 33.8822 150.579 33.9104C150.723 33.9369 150.87 33.9345 151.022 33.9033C151.176 33.8704 151.325 33.806 151.469 33.7101C151.662 33.5811 151.792 33.4424 151.857 33.294C151.923 33.142 151.94 32.9996 151.909 32.8668C151.875 32.7322 151.809 32.6281 151.71 32.5545L152.434 32.6318C152.51 32.7245 152.571 32.8373 152.618 32.9702C152.665 33.1031 152.683 33.2482 152.672 33.4055C152.661 33.5592 152.606 33.7164 152.507 33.877C152.41 34.0359 152.251 34.1885 152.032 34.3349C151.755 34.5197 151.453 34.6476 151.126 34.7187C150.797 34.788 150.477 34.8006 150.166 34.7564C149.853 34.7104 149.576 34.6068 149.336 34.4456C149.112 34.295 148.956 34.1339 148.867 33.9625C148.779 33.7876 148.758 33.6058 148.805 33.4172C148.855 33.2268 148.971 33.0312 149.151 32.8306C149.329 32.6282 149.572 32.4241 149.881 32.2184L150.622 31.7243ZM152.708 28.113L153.397 28.5756L151.005 30.1705L150.316 29.7079L152.708 28.113ZM149.969 28.5513L150.915 27.9212L155.015 30.6754C155.146 30.763 155.264 30.8183 155.371 30.8412C155.478 30.8606 155.578 30.8555 155.669 30.826C155.761 30.7964 155.852 30.7511 155.944 30.6901C156.009 30.6465 156.068 30.6021 156.12 30.5567C156.172 30.5114 156.213 30.4739 156.242 30.4442L156.966 30.9252C156.911 30.9932 156.84 31.0683 156.754 31.1503C156.67 31.2305 156.562 31.3151 156.428 31.404C156.211 31.5486 155.981 31.6513 155.738 31.7121C155.493 31.7711 155.235 31.7733 154.966 31.7186C154.698 31.664 154.418 31.5394 154.129 31.345L149.969 28.5513ZM154.45 26.9522L158.683 29.7957L157.734 30.4284L153.501 27.5849L154.45 26.9522ZM152.327 26.8803C152.183 26.784 152.111 26.6729 152.112 26.5471C152.112 26.4178 152.197 26.2964 152.367 26.1831C152.534 26.0716 152.715 26.016 152.908 26.0163C153.099 26.0149 153.266 26.0624 153.409 26.1587C153.55 26.2533 153.619 26.3644 153.616 26.492C153.613 26.6196 153.528 26.7391 153.361 26.8507C153.191 26.964 153.011 27.0213 152.82 27.0227C152.632 27.0224 152.467 26.975 152.327 26.8803ZM157.469 27.8355L157.379 27.775C157.073 27.5701 156.835 27.3503 156.663 27.1159C156.488 26.8796 156.388 26.6409 156.362 26.3997C156.337 26.155 156.392 25.9157 156.528 25.6818C156.664 25.4443 156.887 25.2228 157.195 25.0171C157.506 24.8097 157.838 24.6617 158.191 24.5732C158.544 24.4811 158.903 24.4442 159.268 24.4623C159.631 24.4786 159.989 24.5457 160.342 24.6634C160.691 24.7793 161.019 24.9398 161.324 25.1448L161.414 25.2052C161.719 25.4102 161.958 25.6299 162.13 25.8644C162.302 26.0989 162.4 26.3384 162.426 26.5831C162.449 26.8261 162.394 27.0654 162.26 27.3011C162.124 27.535 161.902 27.7549 161.593 27.9605C161.282 28.168 160.95 28.3177 160.598 28.4097C160.245 28.4982 159.887 28.5343 159.524 28.5179C159.158 28.4998 158.801 28.4328 158.451 28.3169C158.101 28.2009 157.774 28.0405 157.469 27.8355ZM158.324 27.1449L158.414 27.2054C158.604 27.3333 158.804 27.4411 159.012 27.5288C159.221 27.6166 159.431 27.6755 159.643 27.7055C159.854 27.7356 160.062 27.7316 160.266 27.6935C160.47 27.6554 160.662 27.5762 160.842 27.4559C161.017 27.3392 161.132 27.2135 161.187 27.0791C161.245 26.9429 161.252 26.8039 161.208 26.6623C161.164 26.5207 161.076 26.3799 160.946 26.2398C160.818 26.0981 160.659 25.9632 160.469 25.8353L160.379 25.7749C160.191 25.6487 159.993 25.5435 159.784 25.4593C159.575 25.3716 159.362 25.3126 159.146 25.2826C158.932 25.2507 158.723 25.2539 158.519 25.292C158.315 25.3266 158.124 25.4031 157.946 25.5217C157.769 25.6402 157.652 25.7684 157.597 25.9064C157.542 26.0409 157.538 26.1798 157.585 26.3232C157.631 26.4666 157.72 26.6083 157.85 26.7483C157.978 26.8866 158.136 27.0188 158.324 27.1449ZM161.884 23.2059L165.213 25.4424L164.268 26.0725L160.034 23.229L160.925 22.6354L161.884 23.2059ZM162.771 24.0279L162.462 24.2292C162.164 24.026 161.931 23.8133 161.761 23.5911C161.595 23.3671 161.495 23.1458 161.461 22.9273C161.43 22.7071 161.47 22.4957 161.58 22.2932C161.687 22.0889 161.868 21.9022 162.121 21.7331C162.325 21.5972 162.538 21.4936 162.76 21.4223C162.982 21.3475 163.215 21.313 163.458 21.3186C163.703 21.3226 163.958 21.3711 164.221 21.4641C164.482 21.5555 164.758 21.6984 165.047 21.8928L167.782 23.7298L166.833 24.3626L164.094 22.5229C163.891 22.3863 163.7 22.2986 163.523 22.2598C163.345 22.2176 163.175 22.2173 163.013 22.2589C162.851 22.2971 162.688 22.3711 162.523 22.4809C162.361 22.589 162.25 22.7085 162.19 22.8395C162.129 22.9704 162.114 23.105 162.142 23.2431C162.173 23.3794 162.242 23.515 162.349 23.6497C162.456 23.7845 162.597 23.9105 162.771 24.0279Z\",\n fill: \"#7C8A9D\"\n })))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter3_d_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.7497,\n cy: 11.7497,\n r: 11.7497,\n transform: \"matrix(0.83205 0.5547 -0.830139 0.557556 24.5078 76.4304)\",\n fill: \"#1F72A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.3109 87.6091L22.5563 92.1457L21.2199 91.2548L26.4375 87.7505L24.3227 87.0221L25.3736 86.3163L29.1671 87.5132L29.3109 87.6091Z\",\n fill: \"white\"\n }))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter4_d_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.7497,\n cy: 11.7497,\n r: 11.7497,\n transform: \"matrix(0.83205 0.5547 -0.830139 0.557556 104.255 77.3165)\",\n fill: \"#1F72A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M104.709 93.2417L103.667 93.9413L99.0457 90.8602L99.9346 90.2632L104.458 90.1499C104.922 90.1326 105.309 90.104 105.621 90.0642C105.936 90.0223 106.196 89.9702 106.4 89.9078C106.61 89.8454 106.783 89.7686 106.918 89.6774C107.122 89.5406 107.263 89.4008 107.34 89.258C107.42 89.1131 107.433 88.9694 107.38 88.8268C107.331 88.6863 107.21 88.5521 107.018 88.4242C106.814 88.2881 106.588 88.2037 106.341 88.171C106.097 88.1404 105.848 88.1585 105.595 88.2251C105.345 88.2937 105.109 88.4027 104.886 88.5519L103.545 87.6579C103.947 87.3884 104.41 87.2057 104.935 87.1096C105.463 87.0116 106.001 87.0127 106.548 87.1131C107.098 87.2114 107.613 87.4204 108.092 87.74C108.566 88.0556 108.888 88.3734 109.058 88.6936C109.235 89.0138 109.263 89.326 109.143 89.6301C109.029 89.9343 108.775 90.219 108.38 90.4844C108.158 90.6336 107.904 90.756 107.62 90.8516C107.339 90.9452 107.027 91.0181 106.684 91.0703C106.348 91.1226 105.98 91.1584 105.582 91.1777C105.183 91.197 104.757 91.2081 104.302 91.2109L101.814 91.3113L104.709 93.2417Z\",\n fill: \"white\"\n }))), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter5_d_4183_78872)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11.7497,\n cy: 11.7497,\n r: 11.7497,\n transform: \"matrix(0.83205 0.5547 -0.830139 0.557556 80.3306 127.823)\",\n fill: \"#1F72A2\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.4396 139.627L81.1542 140.103C81.3831 140.256 81.6104 140.356 81.836 140.403C82.0648 140.448 82.2857 140.446 82.4988 140.399C82.7181 140.351 82.9234 140.262 83.1148 140.134C83.2876 140.018 83.4064 139.892 83.4711 139.758C83.5419 139.623 83.5463 139.486 83.4842 139.345C83.4253 139.203 83.2922 139.063 83.0849 138.924C82.921 138.815 82.737 138.736 82.5329 138.686C82.3289 138.637 82.1265 138.624 81.9257 138.647C81.7249 138.67 81.5412 138.738 81.3745 138.85L80.0335 137.956C80.4038 137.707 80.8253 137.556 81.298 137.504C81.7738 137.453 82.2574 137.489 82.7489 137.61C83.2405 137.731 83.6888 137.927 84.0941 138.197C84.5519 138.502 84.8785 138.819 85.0737 139.147C85.272 139.474 85.3251 139.796 85.2329 140.115C85.1408 140.433 84.8848 140.734 84.4651 141.015C84.2521 141.159 83.9958 141.264 83.6962 141.333C83.3997 141.4 83.0784 141.425 82.7323 141.409C82.3924 141.393 82.0431 141.33 81.6845 141.219C81.3289 141.106 80.9872 140.94 80.6593 140.721L79.7312 140.102L80.4396 139.627ZM79.4257 140.308L80.1155 139.844L81.0435 140.463C81.4117 140.708 81.6933 140.952 81.8884 141.194C82.0834 141.435 82.1966 141.672 82.2279 141.903C82.2623 142.133 82.221 142.351 82.1039 142.558C81.9899 142.763 81.8049 142.951 81.5487 143.123C81.2339 143.335 80.8927 143.483 80.5251 143.569C80.1607 143.652 79.7837 143.677 79.3943 143.645C79.008 143.615 78.6247 143.533 78.2444 143.399C77.8672 143.263 77.5069 143.081 77.1636 142.852C76.8789 142.662 76.6376 142.449 76.4394 142.214C76.2474 141.979 76.1188 141.734 76.0534 141.48C75.9943 141.225 76.0186 140.973 76.1263 140.723C76.2402 140.472 76.4638 140.235 76.7971 140.011L78.1382 140.905C77.9653 141.021 77.8543 141.154 77.8052 141.303C77.756 141.452 77.7686 141.603 77.843 141.756C77.9205 141.911 78.0536 142.051 78.2423 142.177C78.4558 142.319 78.6769 142.415 78.9056 142.464C79.1406 142.513 79.3692 142.517 79.5916 142.475C79.8202 142.434 80.0302 142.348 80.2215 142.22C80.4685 142.054 80.6211 141.892 80.6796 141.732C80.7411 141.571 80.7238 141.411 80.6278 141.252C80.5317 141.093 80.3692 140.937 80.1403 140.784L79.4257 140.308Z\",\n fill: \"white\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.8504 131.157C62.1944 131.029 62.3693 130.646 62.2411 130.302C62.113 129.958 61.7303 129.783 61.3864 129.912L61.8504 131.157ZM16.6389 117.524C16.4639 117.201 16.0605 117.082 15.7379 117.257C15.4152 117.432 15.2955 117.835 15.4705 118.158L16.6389 117.524ZM55.14 140.803C54.9361 141.108 55.0181 141.521 55.3233 141.725C55.6284 141.929 56.0411 141.847 56.2451 141.542L55.14 140.803ZM61.6885 132.201L62.2411 132.57L62.2413 132.57L61.6885 132.201ZM61.4969 128.716L61.0535 129.211L61.0541 129.211L61.4969 128.716ZM55.0304 122.031C54.757 121.786 54.3368 121.809 54.092 122.083C53.8471 122.356 53.8702 122.776 54.1436 123.021L55.0304 122.031ZM61.6184 130.534C61.3864 129.912 61.3865 129.912 61.3865 129.912C61.3864 129.912 61.3864 129.912 61.3863 129.912C61.386 129.912 61.3855 129.912 61.3848 129.912C61.3833 129.913 61.3809 129.914 61.3775 129.915C61.3708 129.917 61.3604 129.921 61.3463 129.926C61.3181 129.936 61.2752 129.952 61.2183 129.972C61.1044 130.012 60.9342 130.071 60.7124 130.145C60.2689 130.292 59.6193 130.498 58.8012 130.731C57.1643 131.196 54.8568 131.766 52.178 132.185C46.8022 133.027 40.0145 133.247 34.1508 130.872L33.6519 132.104C39.8438 134.611 46.9146 134.354 52.3835 133.498C55.127 133.069 57.4883 132.486 59.1646 132.009C60.0031 131.771 60.6713 131.559 61.1313 131.406C61.3614 131.33 61.5395 131.268 61.6609 131.225C61.7216 131.204 61.7681 131.187 61.7999 131.176C61.8158 131.17 61.828 131.165 61.8364 131.162C61.8407 131.161 61.844 131.159 61.8463 131.159C61.8475 131.158 61.8484 131.158 61.8491 131.158C61.8494 131.157 61.8498 131.157 61.8499 131.157C61.8502 131.157 61.8504 131.157 61.6184 130.534ZM34.1508 130.872C22.2441 126.05 17.6235 119.339 16.6389 117.524L15.4705 118.158C16.5958 120.232 21.4473 127.162 33.6519 132.104L34.1508 130.872ZM56.2451 141.542L62.2411 132.57L61.136 131.831L55.14 140.803L56.2451 141.542ZM62.2413 132.57C63.1662 131.183 63.1494 129.301 61.9398 128.22L61.0541 129.211C61.6492 129.743 61.7911 130.85 61.1357 131.832L62.2413 132.57ZM61.9403 128.221L55.0304 122.031L54.1436 123.021L61.0535 129.211L61.9403 128.221Z\",\n fill: \"#1F72A2\",\n fillOpacity: 0.13\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M199.488 74.4193C199.423 74.7806 199.078 75.0212 198.716 74.9566C198.355 74.892 198.115 74.5468 198.179 74.1855L199.488 74.4193ZM183.26 44.5207C182.9 44.4484 182.667 44.0981 182.739 43.7383C182.812 43.3785 183.162 43.1454 183.522 43.2177L183.26 44.5207ZM205.495 67.0285C205.742 66.757 206.162 66.737 206.434 66.984C206.705 67.2309 206.725 67.6512 206.478 67.9228L205.495 67.0285ZM200.085 73.9648L200.577 74.4119L200.576 74.4123L200.085 73.9648ZM197.462 74.6379L197.826 74.0822L197.827 74.0826L197.462 74.6379ZM191.576 71.5739C191.269 71.3726 191.183 70.9607 191.385 70.6537C191.586 70.3468 191.998 70.2611 192.305 70.4623L191.576 71.5739ZM198.833 74.3024C198.179 74.1855 198.179 74.1856 198.179 74.1857C198.179 74.1856 198.179 74.1856 198.179 74.1855C198.179 74.1854 198.179 74.185 198.179 74.1844C198.18 74.1833 198.18 74.1814 198.18 74.1787C198.181 74.1734 198.183 74.165 198.185 74.1536C198.189 74.1309 198.194 74.0962 198.202 74.0501C198.217 73.9579 198.238 73.8201 198.264 73.6412C198.315 73.2832 198.383 72.7608 198.449 72.109C198.581 70.8044 198.703 68.9859 198.664 66.9322C198.586 62.7997 197.858 57.8239 195.357 54.1374L196.457 53.3912C199.177 57.4013 199.913 62.6946 199.993 66.907C200.033 69.0258 199.907 70.8987 199.772 72.2424C199.704 72.9147 199.633 73.4556 199.58 73.83C199.553 74.0172 199.53 74.1629 199.514 74.2625C199.506 74.3124 199.499 74.3507 199.495 74.377C199.493 74.3902 199.491 74.4003 199.49 74.4074C199.489 74.411 199.489 74.4137 199.488 74.4157C199.488 74.4167 199.488 74.4175 199.488 74.4181C199.488 74.4184 199.488 74.4187 199.488 74.4189C199.488 74.4191 199.488 74.4193 198.833 74.3024ZM195.357 54.1374C190.24 46.5949 184.69 44.808 183.26 44.5207L183.522 43.2177C185.269 43.5687 191.131 45.5404 196.457 53.3912L195.357 54.1374ZM206.478 67.9228L200.577 74.4119L199.593 73.5177L205.495 67.0285L206.478 67.9228ZM200.576 74.4123C199.683 75.3928 198.203 75.9207 197.097 75.1932L197.827 74.0826C198.16 74.3014 198.928 74.248 199.594 73.5174L200.576 74.4123ZM197.097 75.1937L191.576 71.5739L192.305 70.4623L197.826 74.0822L197.097 75.1937Z\",\n fill: \"#1F72A2\",\n fillOpacity: 0.13\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_4183_78872\",\n x: 57.8618,\n y: 69.6548,\n width: 156.44,\n height: 114.089,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 9.65332\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 7.23999\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.03 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78872\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78872\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter1_d_4183_78872\",\n x: 79.1277,\n y: 37.9328,\n width: 125.601,\n height: 93.5302,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 9.65332\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 7.23999\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78872\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78872\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter2_d_4183_78872\",\n x: 2.03906,\n y: -2.82666,\n width: 207.311,\n height: 148.003,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 9.65332\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 7.23999\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.09 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78872\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78872\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter3_d_4183_78872\",\n x: -5.63291,\n y: 75.5443,\n width: 60.3261,\n height: 47.4031,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 9.74684\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5.31646\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.0774739 0 0 0 0 0.308323 0 0 0 0 0.441826 0 0 0 0.4 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78872\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78872\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter4_d_4183_78872\",\n x: 74.1139,\n y: 76.4304,\n width: 60.3261,\n height: 47.4031,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 9.74684\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5.31646\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.0774739 0 0 0 0 0.308323 0 0 0 0 0.441826 0 0 0 0.4 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78872\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78872\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter5_d_4183_78872\",\n x: 50.1898,\n y: 126.937,\n width: 60.3261,\n height: 47.4031,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 9.74684\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 5.31646\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.0774739 0 0 0 0 0.308323 0 0 0 0 0.441826 0 0 0 0.4 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_4183_78872\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_4183_78872\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_4183_78872\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 118.734,\n height: 34.557,\n rx: 11.2622,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 72.3418 140.343)\",\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip1_4183_78872\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 81.6708,\n height: 34.557,\n rx: 11.2622,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 93.6077 88.0623)\",\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip2_4183_78872\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 179.873,\n height: 34.557,\n rx: 11.2622,\n transform: \"matrix(0.83205 -0.5547 0.830139 0.557556 16.519 101.776)\",\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSupplements2NdStep, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Supplements2ndStep.d58dd8b0.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSuccess = function SvgSuccess(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 158,\n height: 158,\n viewBox: \"0 0 158 158\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M129.503 121.945C156.86 94.5247 156.86 50.0681 129.503 22.6482C102.145 -4.7718 57.7895 -4.77179 30.4319 22.6482C3.07423 50.0681 3.07423 94.5247 30.4319 121.945C57.7895 149.365 102.145 149.365 129.503 121.945Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M78.9879 143.402C117.678 143.402 149.042 111.967 149.042 73.1885C149.042 34.4104 117.678 2.97461 78.9879 2.97461C40.298 2.97461 8.93359 34.4104 8.93359 73.1885C8.93359 111.967 40.298 143.402 78.9879 143.402Z\",\n fill: \"url(#paint0_linear)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.18,\n filter: \"url(#filter0_f)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.503 64.7103C120.893 64.32 120.893 63.6881 120.503 63.2977L108.013 50.7793C107.622 50.3878 106.988 50.3877 106.597 50.7793L73.9249 83.5262C73.5342 83.9178 72.8998 83.9178 72.5091 83.5262L56.5919 67.5728C56.2012 67.1812 55.5668 67.1812 55.1761 67.5728L42.7215 80.0557C42.3324 80.4457 42.332 81.0771 42.7208 81.4675L59.3379 98.1571C59.3426 98.1619 59.3392 98.1699 59.3326 98.1699C59.3259 98.1699 59.3225 98.178 59.3272 98.1827L73.2042 112.091C73.2089 112.096 73.217 112.093 73.217 112.086C73.217 112.079 73.2251 112.076 73.2298 112.081L73.2425 112.094C73.2484 112.099 73.2579 112.099 73.2637 112.093L87.1195 98.1699L120.503 64.7103Z\",\n fill: \"url(#paint1_linear)\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.857 57.5358C121.246 57.1454 121.246 56.5135 120.857 56.1232L108.367 43.6048C107.976 43.2132 107.342 43.2132 106.951 43.6048L74.2784 76.3517C73.8877 76.7433 73.2533 76.7433 72.8626 76.3517L56.9454 60.3982C56.5547 60.0066 55.9203 60.0066 55.5296 60.3982L43.0751 72.8811C42.6859 73.2712 42.6856 73.9025 43.0743 74.293L59.6914 90.9826C59.6961 90.9873 59.6927 90.9954 59.6861 90.9954C59.6794 90.9954 59.6761 91.0034 59.6808 91.0082L73.5577 104.917C73.5625 104.921 73.5705 104.918 73.5705 104.911C73.5705 104.905 73.5786 104.901 73.5833 104.906L73.596 104.919C73.6019 104.925 73.6114 104.925 73.6172 104.919L87.4731 90.9954L120.857 57.5358Z\",\n fill: \"url(#paint2_linear)\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n opacity: 0.87,\n cx: 79,\n cy: 153.5,\n rx: 52,\n ry: 4.5,\n fill: \"#E2E9F1\",\n fillOpacity: 0.48\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_f\",\n x: 33.4297,\n y: 41.4856,\n width: 96.3657,\n height: 79.6122,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"BackgroundImageFix\",\n result: \"shape\"\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 4.5,\n result: \"effect1_foregroundBlur\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear\",\n x1: 131.018,\n y1: 3.06983,\n x2: 106.518,\n y2: 143.07,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F4F9FF\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#DBE6F2\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear\",\n x1: 77.5176,\n y1: 60.0698,\n x2: 84.9172,\n y2: 133.145,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.149304,\n stopColor: \"#2F6D91\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.364312,\n stopColor: \"#2E85B7\",\n stopOpacity: 0.506261\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.860631,\n stopColor: \"#1F72A2\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear\",\n x1: 85.5166,\n y1: 48.0698,\n x2: 77.5734,\n y2: 91.4888,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.149304,\n stopColor: \"#3E98CC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.772552,\n stopColor: \"#297EB0\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#1F72A2\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 158,\n height: 158,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSuccess, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/success.f6442fa9.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: \"100%\",\n maxWidth: \"90vw\",\n overflowX: \"auto\"\n },\n row: {\n backgroundColor: colors.white,\n },\n actions: {\n width: '30%',\n paddingTop: '6px',\n paddingBottom: '6px',\n },\n siteLink: {\n color: colors.main,\n paddingLeft: '4px',\n },\n link: {\n borderRadius: 2,\n textTransform: 'none',\n boxSizing: 'border-box',\n color: colors.white,\n fontWeight: 500,\n fontSize: 14,\n lineHeight: '16.41px',\n height: 34,\n minWidth: 100,\n padding: 9,\n paddingLeft: 14,\n paddingRight: 14,\n marginLeft: 8,\n border: 'none',\n background: colors.main,\n textAlign: 'center',\n '&:hover': {\n backgroundColor: colors.mainDark,\n color: colors.white,\n textDecoration: 'none',\n },\n '&:disabled': {\n color: colors.gray2,\n backgroundColor: colors.disabled,\n cursor: 'not-allowed',\n },\n [theme.breakpoints.down(\"xs\")]: {\n height: 'auto',\n },\n },\n fixedButton: {\n fill: colors.main,\n width: 58,\n height: 58\n },\n description: {\n fontSize: 14,\n color: colors.gray1,\n overflow: 'hidden'\n },\n descriptionCollapsed: {\n height: '82px'\n },\n descriptionExpanded: {\n minHeight: '82px'\n },\n placeholderImage: {\n width: \"100%\",\n maxWidth: 300,\n },\n smallRoot: {\n flex: 1,\n overflow: \"auto\",\n width: '100%',\n minHeight: \"calc(100vh - 303px)\",\n maxHeight: \"calc(100vh - 303px)\",\n backgroundColor: colors.white,\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '25vw',\n maxWidth: '25vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n itemDot: {\n paddingRight: '6px',\n paddingLeft: '6px',\n },\n itemName: {\n whiteSpace: 'pre-line',\n },\n itemReaction: {\n fontWeight: 200,\n }\n }),\n);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSupplementOrdered = function SvgSupplementOrdered(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 22,\n viewBox: \"0 0 20 22\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.30853 1.0097C9.70502 0.663434 10.295 0.663434 10.6915 1.0097L12.671 2.73845L15.283 2.50955C15.8071 2.46362 16.2833 2.81259 16.4012 3.3254L16.9921 5.89455L19.2397 7.25318C19.6897 7.52514 19.8708 8.08762 19.6665 8.57208L18.6422 11L19.6665 13.4279C19.8708 13.9124 19.6897 14.4749 19.2397 14.7468L16.9921 16.1054L16.4012 18.6746C16.2833 19.1874 15.8071 19.5364 15.283 19.4904L12.671 19.2615L10.6915 20.9903C10.295 21.3366 9.70502 21.3366 9.30853 20.9903L7.32904 19.2615L4.71704 19.4905C4.19293 19.5364 3.71675 19.1874 3.59882 18.6746L3.00796 16.1054L0.760311 14.7468C0.310379 14.4749 0.129189 13.9124 0.33357 13.4279L1.35786 11L0.33357 8.57208C0.129189 8.08762 0.31038 7.52514 0.760311 7.25318L3.00796 5.89455L3.59882 3.3254C3.71675 2.81259 4.19293 2.46362 4.71704 2.50955L7.32904 2.73845L9.30853 1.0097ZM10.1979 1.57688C10.0843 1.47765 9.91575 1.47765 9.80213 1.57688L7.70223 3.41079C7.62543 3.47786 7.52456 3.51092 7.42271 3.50199L4.65158 3.25914C4.50252 3.24608 4.36505 3.34532 4.33078 3.49433L3.7042 6.21881C3.68143 6.31781 3.61956 6.4037 3.53225 6.45647L1.14837 7.89744C1.01921 7.97551 0.966001 8.13824 1.02545 8.27916L2.11153 10.8535C2.15103 10.9472 2.15103 11.0528 2.11152 11.1465L1.02545 13.7208C0.966001 13.8618 1.01921 14.0245 1.14837 14.1026L3.53225 15.5435C3.61956 15.5963 3.68143 15.6822 3.7042 15.7812L4.33078 18.5057C4.36505 18.6547 4.50253 18.7539 4.65158 18.7409L7.4227 18.498C7.52455 18.4891 7.62542 18.5221 7.70223 18.5892L9.80213 20.4231C9.91575 20.5224 10.0843 20.5224 10.1979 20.4231L12.2978 18.5892C12.3746 18.5221 12.4755 18.4891 12.5773 18.498L15.3485 18.7409C15.4975 18.7539 15.635 18.6547 15.6693 18.5057L16.2958 15.7812C16.3186 15.6822 16.3805 15.5963 16.4678 15.5435L18.8517 14.1026C18.9808 14.0245 19.034 13.8618 18.9746 13.7208L17.8885 11.1465C17.849 11.0528 17.849 10.9472 17.8885 10.8535L18.9746 8.27916C19.034 8.13824 18.9808 7.97551 18.8517 7.89744L16.4678 6.45647C16.3805 6.40369 16.3186 6.31781 16.2958 6.21881L15.6693 3.49433C15.635 3.34532 15.4975 3.24608 15.3485 3.25914L12.5773 3.50199C12.4755 3.51092 12.3746 3.47786 12.2978 3.41079L10.1979 1.57688ZM9.75322 1.6246C9.89465 1.50109 10.1054 1.50109 10.2468 1.6246L12.3214 3.43642C12.3834 3.49052 12.4642 3.51682 12.5455 3.5097L15.2832 3.26978C15.4707 3.25334 15.6401 3.37821 15.6819 3.56011L16.301 6.25177C16.3196 6.33278 16.37 6.4023 16.4402 6.44473L18.7954 7.86835C18.9558 7.96529 19.0198 8.16517 18.9473 8.33694L17.8743 10.8803C17.8421 10.9568 17.8421 11.0432 17.8743 11.1197L18.9473 13.6631C19.0198 13.8348 18.9558 14.0347 18.7954 14.1317L16.4402 15.5553C16.37 15.5977 16.3196 15.6672 16.301 15.7482L15.6819 18.4399C15.6401 18.6218 15.4707 18.7467 15.2832 18.7302L12.5455 18.4903C12.4642 18.4832 12.3834 18.5095 12.3214 18.5636L10.2468 20.3754C10.1054 20.4989 9.89465 20.4989 9.75322 20.3754L7.67861 18.5636C7.61667 18.5095 7.53582 18.4832 7.45457 18.4903L4.71682 18.7302C4.52929 18.7467 4.35994 18.6218 4.31811 18.4399L3.69908 15.7482C3.68045 15.6672 3.63 15.5977 3.5598 15.5553L1.20463 14.1317C1.04425 14.0347 0.980253 13.8348 1.05272 13.6631L2.12572 11.1197C2.15797 11.0432 2.15797 10.9568 2.12572 10.8803L1.05272 8.33694C0.980255 8.16517 1.04425 7.96529 1.20463 7.86835L3.5598 6.44473C3.63 6.4023 3.68045 6.33278 3.69908 6.25177L4.31811 3.56011C4.35994 3.37821 4.52929 3.25334 4.71682 3.26978L7.45457 3.5097C7.53582 3.51682 7.61667 3.49052 7.67861 3.43642L9.75322 1.6246ZM4.97674 17.9521L4.43104 15.5793C4.36687 15.3003 4.19268 15.059 3.94786 14.911L1.87125 13.6558L2.8176 11.4126C2.92886 11.1489 2.92886 10.8511 2.8176 10.5874L1.87125 8.34423L3.94786 7.089C4.19268 6.94101 4.36687 6.69972 4.43104 6.4207L4.97674 4.04789L7.38911 4.2593C7.67405 4.28427 7.95666 4.19185 8.17221 4.00361L10 2.40732L11.8278 4.00361C12.0434 4.19185 12.326 4.28427 12.6109 4.2593L15.0233 4.04789L15.569 6.4207C15.6332 6.69972 15.8074 6.94101 16.0522 7.089L18.1288 8.34423L17.1824 10.5874C17.0712 10.8511 17.0712 11.1489 17.1824 11.4126L18.1288 13.6558L16.0522 14.911C15.8074 15.059 15.6332 15.3003 15.569 15.5793L15.0233 17.9521L12.6109 17.7407C12.326 17.7157 12.0434 17.8081 11.8278 17.9964L10 19.5927L8.17221 17.9964C7.95666 17.8081 7.67405 17.7157 7.38911 17.7407L4.97674 17.9521ZM12.7824 8.04299C13.0762 7.74756 13.5533 7.74755 13.8472 8.04299C14.1403 8.3377 14.1403 8.81497 13.8472 9.10967L9.07566 13.9064C8.78178 14.2018 8.30475 14.2018 8.01087 13.9064L6.10227 11.9877C5.80911 11.693 5.80911 11.2157 6.10227 10.921C6.39615 10.6256 6.87318 10.6256 7.16706 10.921L8.54326 12.3045L12.7824 8.04299ZM13.3144 8.57413L8.80929 13.1031C8.73896 13.1738 8.64329 13.2137 8.54326 13.2137C8.44323 13.2137 8.34756 13.1738 8.27723 13.1031L6.635 11.4522C6.63457 11.4526 6.63353 11.4529 6.63353 11.4544C6.63353 11.4558 6.63388 11.4561 6.6343 11.4565L8.54293 13.3753L13.3151 8.57854C13.3155 8.57811 13.3159 8.57774 13.3159 8.57633C13.3159 8.5749 13.3149 8.57456 13.3144 8.57413Z\",\n fill: \"#2B6B63\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSupplementOrdered, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/SupplementOrdered.718828df.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAddSupplement = function SvgAddSupplement(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 42,\n height: 42,\n viewBox: \"0 0 42 42\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1,\n y: 1,\n width: 40,\n height: 40,\n rx: 20,\n stroke: \"#388174\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M21 15.9375C21.3107 15.9375 21.5625 16.1893 21.5625 16.5V20.4375H25.5C25.8107 20.4375 26.0625 20.6893 26.0625 21C26.0625 21.3107 25.8107 21.5625 25.5 21.5625H21.5625V25.5C21.5625 25.8107 21.3107 26.0625 21 26.0625C20.6893 26.0625 20.4375 25.8107 20.4375 25.5V21.5625H16.5C16.1893 21.5625 15.9375 21.3107 15.9375 21C15.9375 20.6893 16.1893 20.4375 16.5 20.4375H20.4375V16.5C20.4375 16.1893 20.6893 15.9375 21 15.9375Z\",\n fill: \"#388174\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAddSupplement, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/AddSupplement.2e6d1195.svg\";\nexport { ForwardRef as ReactComponent };","import { notWhitespaceValidationRule, stringLengthValidationRule, linkValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const patientSupplementsUpdateFullscriptComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 250), notWhitespaceValidationRule()],\n 'dosage': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n 'instructions': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n 'purchaseLink': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule(), linkValidationRule]\n});\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {newPatientSupplementModel, PatientSupplementModel, SupplementSource} from \"../../models/patientSupplementModel\";\nimport {patientsSupplementsService} from \"../../services/patientSupplements.service\";\nimport {supplementsService} from \"../../services/supplements.service\";\nimport {patientSupplementsQuery} from \"../../stores/patientSupplementsStore/patientSupplements.query\";\nimport {PatientSupplementsUpdateProps} from \"./PatientSupplementsUpdateFullscriptComponent\";\nimport {\n patientSupplementsUpdateFullscriptComponentValidator\n} from \"./patientSupplementsUpdateFullscriptComponent.validator\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\n\ninterface PatientSupplementsUpdateFullscriptComponentState extends IErrorState {\n model: PatientSupplementModel;\n isFullscript: boolean;\n isLoading: boolean;\n}\n\nconst getInitialState = (source: SupplementSource, isFullscript: boolean): PatientSupplementsUpdateFullscriptComponentState => ({\n model: newPatientSupplementModel(source),\n isLoading: false,\n isFullscript: isFullscript,\n errors: {}\n});\n\nexport function useFacade(props: PatientSupplementsUpdateProps): [\n PatientSupplementsUpdateFullscriptComponentState,\n Function,\n Function,\n Function,\n Function,\n Function\n] {\n const [state, setState] = useState(getInitialState(props.source, props.fullscript));\n\n const handleSelect = (supplement: FullscriptSupplementModel) => {\n if (supplement) {\n setState(state => ({\n ...state,\n model: {\n ...state.model,\n name: supplement.name + ' (' + supplement.brand.name + ')'\n }\n }))\n }\n }\n\n const handleChanges = (field: string, value: string) => {\n patientSupplementsUpdateFullscriptComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = { ...state.model };\n model[field] = value\n setState({ ...state, model: model })\n }\n\n const handleSave = (patientId: number) => {\n patientSupplementsUpdateFullscriptComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!patientSupplementsUpdateFullscriptComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({\n ...state,\n ...Object.assign({}, getInitialState(props.source, props.fullscript))\n }));\n\n props.handleClose();\n\n const service = props.patientId ? supplementsService : patientsSupplementsService;\n const action = state.model.id ? service.edit : service.create;\n\n state.model.source = props.source;\n\n action(state.model, patientId).subscribe();\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n ...getInitialState(props.source, props.fullscript)\n }))\n\n props.handleClose();\n }\n\n const toggleFullscript = () => {\n setState(state => ({\n ...state,\n isFullscript: !state.isFullscript\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientSupplementModel>(patientSupplementsQuery.editModel$, editModel => {\n setState(state => ({ ...state, model: editModel }));\n if (!Boolean(editModel.id)) {\n setState(state => ({ ...state, isLoading: true }))\n supplementsService.getDefaultLink().subscribe(link => {\n setState(state => ({ ...state, model: { ...state.model, purchaseLink: link }, isLoading: false }))\n })\n }\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleSelect,\n handleClose,\n handleChanges,\n handleSave,\n toggleFullscript,\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '55px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"space-between\",\n alignItems: \"center\",\n margin: 0,\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(5),\n paddingTop: theme.spacing(4),\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n action: {\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(2.5),\n },\n select: {\n width: 510,\n margin: 5,\n },\n field: {\n margin: 5,\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n },\n role: {\n width: 140,\n },\n permission: {\n width: 250,\n },\n permissionCheck: {\n color: colors.main,\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n },\n }),\n);\n","import {Observable} from \"rxjs\";\nimport {useEffect, useState} from \"react\";\nimport {supplementsService} from \"../../services/supplements.service\";\nimport {SearchFullscriptSupplementComponentProps} from \"./SearchFullscriptSupplementComponent\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\n\ninterface SearchFullscriptSupplementComponentState {\n isLoading: boolean;\n searchQuery: string;\n supplements: FullscriptSupplementModel[];\n}\n\nlet stateContext: SearchFullscriptSupplementComponentState;\n\nexport function useFacade(props: SearchFullscriptSupplementComponentProps): [\n SearchFullscriptSupplementComponentState,\n (searchQuery: string) => void,\n (supplement: FullscriptSupplementModel) => void,\n] {\n const [state, setState] = useState({\n isLoading: false,\n searchQuery: '',\n supplements: []\n });\n\n const handleSearchQueryChanges = (searchQuery: string) => {\n setState(state => ({\n ...state,\n searchQuery: searchQuery\n }));\n }\n\n const handleSubmit = (supplement: FullscriptSupplementModel) => {\n props.handleSelect(supplement);\n }\n\n const getAutocomplete = (searchQuery: string): Observable<FullscriptSupplementModel[]> => {\n return new Observable<FullscriptSupplementModel[]>((observer) => {\n supplementsService.searchInFullscript(searchQuery).subscribe(response => {\n observer.next(response);\n observer.complete();\n })\n })\n }\n\n stateContext = state;\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (stateContext.searchQuery) {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n getAutocomplete(stateContext.searchQuery).subscribe(\n (supplements) => {\n\n setState(state => ({\n ...state,\n supplements: supplements,\n isLoading: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n supplements: [],\n isLoading: false\n }));\n })\n }\n }, 1500);\n\n return () => clearTimeout(delayDebounceFn)\n }, [state.searchQuery]);\n\n return [\n state,\n handleSearchQueryChanges,\n handleSubmit\n ]\n}","import React from \"react\";\nimport {Box, TextField, useMediaQuery, useTheme} from \"@material-ui/core\";\nimport {colors} from \"../../../common/constants/colors\";\nimport {useFacade} from \"./searchFullscriptSupplementComponent.hooks\";\nimport {Autocomplete} from \"@material-ui/lab\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\n\nexport interface SearchFullscriptSupplementComponentProps {\n initialValue?: string;\n handleSelect: Function;\n}\n\nexport const SearchFullscriptSupplementComponent: React.FC<SearchFullscriptSupplementComponentProps> = (props: SearchFullscriptSupplementComponentProps) => {\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n state,\n handleSearchQueryChanges,\n handleSubmit,\n ] = useFacade(props);\n\n return (\n <Box p={!isSmallScreen && 1.5} pt={0.5} display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" pl={0.5} fontSize={14} color={colors.gray1}>\n Name of Supplement\n <Box pl={0.5} color={colors.bad}>*</Box>\n </Box>\n <Box>\n <Autocomplete\n size=\"small\"\n freeSolo\n disableClearable\n fullWidth\n loading={state.isLoading}\n options={state.supplements}\n defaultValue={{name: props.initialValue, brand: null} as FullscriptSupplementModel}\n getOptionLabel={option => option.name + ` ${option.brand ? '(' + option.brand.name + ')' : ''}` }\n onChange={(e, value: FullscriptSupplementModel) => handleSubmit(value)}\n renderInput={(params) => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n autoFocus\n value={props.initialValue ?? ''}\n InputProps={{\n ...params.InputProps,\n className: 'input',\n type: 'text'\n }}\n onChange={(e) => handleSearchQueryChanges(e.target.value)}\n />\n )}\n />\n </Box>\n </Box>\n )\n}\n","import {\n Box, IconButton, Dialog, DialogActions, DialogContent, TextField, Typography,\n Button, useMediaQuery, useTheme,\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./patientSupplementsUpdateFullscriptComponent.hooks\";\nimport { useStyles } from \"./patientSupplementsUpdateFullscriptComponent.styles\";\nimport {PatientSupplementModel, SupplementSource} from \"../../models/patientSupplementModel\";\nimport { colors } from '../../../common/constants/colors';\nimport Cancel from \"@img/icons/cancel.svg\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {\n SearchFullscriptSupplementComponent\n} from \"../searchFullscriptSupplementComponent/SearchFullscriptSupplementComponent\";\n\nexport interface PatientSupplementsUpdateProps {\n opened: boolean;\n fullscript: boolean;\n source: SupplementSource;\n handleClose: () => void;\n patientId?: number;\n model?: PatientSupplementModel;\n}\n\nexport const PatientSupplementsUpdateFullscriptComponent: React.FC<PatientSupplementsUpdateProps> = (props: PatientSupplementsUpdateProps) => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n model,\n errors,\n isLoading,\n isFullscript\n },\n handleSelect,\n handleClose,\n handleFieldChange,\n handleSave,\n toggleFullscript\n ] = useFacade(props);\n\n const linkInput = (\n <>\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Add a Link to Order Online</Box>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n id=\"purchaseLink\"\n value={model.purchaseLink}\n className={clsx(classes.field, 'input')}\n error={!!errors['purchaseLink']}\n helperText={errors['purchaseLink']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n </>)\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return (<WildHealthLinearProgress />)\n }\n\n if (isFullscript) {\n return (\n <Box p={!isSmallScreen && 1.5} pt={0.5}>\n <Box>\n <SearchFullscriptSupplementComponent initialValue={model.name} handleSelect={handleSelect}/>\n </Box>\n <Box pl={1.5} className=\"wh-tw-cursor-pointer wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\" mt={2} onClick={() => toggleFullscript()}>\n <span>Didn't find your supplement?</span>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box p={!isSmallScreen && 1.5} pt={0.5}>\n <Box display=\"flex\" pl={0.5} fontSize={14} color={colors.gray1}>\n Name of Supplement\n <Box pl={0.5} color={colors.bad}>*</Box>\n </Box>\n <Box width={1}>\n <TextField\n required\n fullWidth\n id=\"name\"\n size=\"small\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n </Box>\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Strength</Box>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n id=\"dosage\"\n value={model.dosage}\n className={clsx(classes.field, 'input')}\n error={!!errors['dosage']}\n helperText={errors['dosage']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Dosing Instructions</Box>\n <TextField\n fullWidth\n size=\"small\"\n variant=\"outlined\"\n id=\"instructions\"\n value={model.instructions}\n className={clsx(classes.field, 'input')}\n error={!!errors['instructions']}\n helperText={errors['instructions']}\n onChange={(event) => handleFieldChange(event.target.id, event.target.value)}\n />\n <ProtectedElement\n element={linkInput}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n )\n }\n\n return (\n <>\n <Dialog\n maxWidth=\"sm\"\n fullWidth\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleClose()}\n open={props.opened}\n >\n {\n !isSmallScreen &&\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Typography variant=\"h6\">{model.id > 0 ? 'Edit Supplement' : 'Add Supplement'}</Typography>\n <Box pl={1} pr={1}>\n <IconButton id=\"patient-supplements-update-close\" onClick={() => {\n handleClose()\n }} >\n <img src={Cancel} alt='Cancel' />\n </IconButton>\n </Box>\n\n </MuiDialogTitle>\n }\n <DialogContent className={classes.dialogContent}>\n {\n isSmallScreen &&\n <Box py={1} display=\"flex\" justifyContent=\"space-between\">\n <Button onClick={() => handleClose()}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorGray1, commonClasses.capitalize)}>\n Cancel\n </span>\n </Button>\n <Box>\n <span className={clsx(commonClasses.size20, commonClasses.textMedium, commonClasses.colorBlack)}>\n {model.id > 0 ? 'Edit Supplement' : 'Add Supplement'}\n </span>\n </Box>\n <Button onClick={() => handleSave(props.patientId)}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain, commonClasses.capitalize)}>\n {model.id > 0 ? 'Save' : 'Add'}\n </span>\n </Button>\n </Box>\n }\n {\n renderContent()\n }\n </DialogContent>\n {\n !isSmallScreen &&\n <DialogActions className={classes.action}>\n <WildHealthButton\n id=\"patient-supplements-update-cancel\"\n onClick={() => { handleClose() }}\n color=\"tertiary\"\n size='large'\n >\n Cancel\n </WildHealthButton>\n <Box pl={0.5}>\n <WildHealthButton\n id=\"patient-supplements-update-save\"\n onClick={() => { handleSave(props.patientId) }}\n autoFocus\n size='large'\n >\n Confirm\n </WildHealthButton>\n </Box>\n </DialogActions>\n }\n </Dialog>\n </>\n );\n}\n","import {\n Box,\n Divider,\n Grid,\n IconButton,\n Menu,\n MenuItem,\n Table,\n TableBody,\n TableContainer,\n TableFooter,\n TableHead,\n Tooltip,\n useMediaQuery,\n useTheme,\n} from \"@material-ui/core\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport React from \"react\";\nimport {PermissionType, UserType} from \"../../../auth/models/auth.enums\";\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {SupplementsPlaceHolder} from \"../../../common/components/wildHealthPlaceHolder/SupplementsPlaceHolder\";\nimport {WildHealthTableCell} from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport {WildHealthTableRow} from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport {PatientSupplementModel, SupplementSource, supplementSources} from \"../../models/patientSupplementModel\";\nimport {useFacade} from \"./patientSupplementsFullscriptComponent.hooks\";\nimport {PaginationComponent} from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport {useStyles} from \"./patientSupplementsFullscriptComponent.styles\";\nimport {pageSizes} from \"../../../common/pagination/models/page-sizes\";\nimport {TitlesService} from \"../../../../constants/title.constants\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport InfoIcon from '@material-ui/icons/Info';\nimport clsx from \"clsx\";\nimport emptySupplements from \"@img/placeholders/EmptyReport.png\";\nimport {ReactComponent as SupplementOrderedIcon} from \"@img/icons/SupplementOrdered.svg\";\nimport {ReactComponent as AddSupplementIcon} from \"@img/icons/AddSupplement.svg\";\nimport {WildHealthPlaceHolderBase} from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport moment from \"moment\";\nimport {\n PatientSupplementsUpdateFullscriptComponent\n} from \"../patientSupplementsUpdateFullscriptComponent/PatientSupplementsUpdateFullscriptComponent\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {\n RecommendFullscriptSupplementsComponent\n} from \"../recommendFullscriptSupplementsComponent/RecommendFullscriptSupplementsComponent\";\n\ninterface PatientSupplementsComponentProps {\n patientId?: number;\n fullWidth?: boolean;\n hideTips?: boolean;\n handleToggleDialog: () => void;\n supplementSource?: SupplementSource;\n}\n\nexport const PatientSupplementsFullscriptComponent: React.FC<PatientSupplementsComponentProps> = (props: PatientSupplementsComponentProps) => {\n const {\n patientId,\n hideTips,\n handleToggleDialog,\n supplementSource = SupplementSource.Supplement\n } = props;\n\n const [\n state,\n handleEdit,\n handleDelete,\n handleCloseDialog,\n toggleRecommendation,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleActions,\n handleReadMore,\n handleFullscriptSupplements\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const renderOrderedAt = (supplement: PatientSupplementModel) => {\n if (supplement.source !== SupplementSource.Fullscript) {\n return <></>\n }\n\n if (!supplement.orderedAt) {\n return (\n <Box display=\"flex\" p={1} alignItems=\"center\" className=\"wh-tw-rounded wh-tw-text-gray600 wh-tw-bg-gray100\">\n <Box ml={1}>\n <span>\n Not Ordered\n </span>\n </Box>\n </Box>\n )\n }\n\n return <>\n <Box display=\"flex\" p={1} alignItems=\"center\" className=\"wh-tw-rounded wh-tw-text-primaryV wh-tw-bg-mint50\">\n <Box>\n <SupplementOrderedIcon/>\n </Box>\n <Box ml={1}>\n <span>\n {moment(supplement.orderedAt).format('L')}\n </span>\n </Box>\n </Box>\n </>\n }\n\n const renderPurchaseLink = (supplement: PatientSupplementModel) => {\n if (!supplement.purchaseLink) {\n return <></>\n }\n\n const wording = supplement.source === SupplementSource.Fullscript\n ? 'Purchase via Fullscript'\n : 'Purchase Here';\n\n return <Box>\n <ProtectedElement\n element={renderCreateLink(wording, supplement.purchaseLink)}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n }\n\n const renderTable = () => {\n if (!state.isLoading && (!state.supplements || !state.supplements.length)) {\n return isSmallScreen ? (\n <Box mt=\"52px\">\n <WildHealthPlaceHolderBase message=\"You have no supplements listed at the moment.\">\n <img className={classes.placeholderImage}\n src={emptySupplements}\n alt=\"img\" />\n </WildHealthPlaceHolderBase>\n </Box>\n ) : (\n <SupplementsPlaceHolder message={`You have no supplements listed at the moment.`} />\n )\n }\n\n return (\n <Box minHeight=\"300px\">\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '18%' }}>\n <Box pl={2}>\n Name\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '12%' }}>\n Strength\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '12%' }}>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '12%' }}>\n Source\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '12%' }}>\n Date\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '12%' }}>\n Status\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '12%' }}>\n Purchase Link\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '10%' }}>\n <Box display='flex' alignItems='center'>\n <ProtectedElement\n element={<span>Action</span>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={<span>Action</span>}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.supplementsPart.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <Box pl={2}>\n {\n item.name\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.dosage}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.instructions}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {supplementSources.get(item.source)}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {moment(item.createdAt ?? new Date()).format('L')}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {\n renderOrderedAt(item)\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {\n renderPurchaseLink(item)\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell className={classes.actions}>\n <Box display='flex' alignItems='center' justifyContent=\"space-between\">\n <ProtectedElement\n element={renderToggleButtonCell(item)}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderToggleButtonCell(item)}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n {!isSmallScreen &&\n <TableFooter>\n <WildHealthTableRow className={classes.row}>\n <WildHealthTableCell colSpan={12}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableFooter>\n }\n </Table>\n </TableContainer>\n </Box>\n )\n }\n\n const renderInfoText = () => {\n if (!state.isLoading && (!state.supplements || !state.supplements.length)) {\n return (\n <>\n <Box pt={2} p={isSmallScreen && 2}>\n <ProtectedElement\n element={\n <>\n <Box className={clsx(classes.description, isSmallScreen && !state.isFullText ? classes.descriptionCollapsed : classes.descriptionExpanded)}>\n We take supplement quality very seriously and have identified the list of supplements from reliable sources for you below.\n We have also negotiated a significant discount for our clients that order through Thorne. In order to receive this discount, use the affiliate links below and the discount will appear at checkout.\n If you have an existing Thorne account, you will need to create a new account with an alternative email to be eligible to receive the discount.\n Any additional problems, please contact us at\n <a id=\"patient-supplements-link-email\" href={`mailto:${TitlesService.supplementsEmail}`} className={classes.siteLink}>{TitlesService.supplementsEmail}</a>.\n </Box>\n {isSmallScreen && <Box id=\"supplement-description-read-more\" onClick={() => handleReadMore()} className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain)}>\n <span>{state.isFullText ? 'read less' : 'read more'}</span>\n </Box>}\n </>\n }\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </>\n )\n }\n };\n\n const renderCreateButton = (title: string, size: any) => (\n <WildHealthButton\n id={`patient-supplements-${{ title }}`}\n size={size}\n onClick={() => handleEdit()}\n >\n {title}\n </WildHealthButton>\n );\n\n const renderCreateLink = (title: string, link: string) => {\n const correctedLink = link.startsWith('http://') || link.startsWith('https://') ? link : `http://${link}`;\n return <a id={`patient-supplements-link-${title}`} href={correctedLink} className=\"wh-tw-text-primaryV\" target=\"_blank\">{title}</a>\n };\n\n const renderToggleButtonCell = (item: PatientSupplementModel) => (\n <IconButton id={`patient-supplements-more-actions-${item.id}`} onClick={(e) => {\n handleToggleActions(item.id, e.currentTarget)\n }}>\n <MoreHorizIcon />\n </IconButton>\n )\n\n const renderMenuItems = () => (\n <Menu\n keepMounted\n anchorEl={state.anchorEl}\n open={state.isMenuOpened}\n onClose={() => {\n handleToggleActions(0)\n }}\n >\n <MenuItem id=\"patient-supplements-edit\" onClick={() => {\n handleEdit()\n }}>\n Edit\n </MenuItem>\n <MenuItem id=\"patient-supplements-delete\" onClick={() => {\n handleDelete()\n }}>\n Delete\n </MenuItem>\n </Menu>\n );\n\n\n return (\n state.isLoading ?\n <WildHealthLinearProgress /> :\n <>\n <Box className={clsx(isSmallScreen && classes.smallRoot, \"flat-scroll\")}>\n {isSmallScreen ? renderInfoText() : (\n <Box p={4} pb={0} display='flex' flexDirection='column'>\n <Box display='flex' justifyContent='space-between'>\n <Box fontSize={20} fontWeight={500}>List of Supplements</Box>\n <Box display='flex' alignItems='center' gridGap={24}>\n {\n !hideTips &&\n <Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={handleToggleDialog}>\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">Do you need help?</Box>\n </Box>\n }\n <ProtectedElement\n element={<Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" >\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box>\n {state.allergies.length\n ? state.allergies.map((allergy, index) => {\n return <Box key={index}>\n <span className={classes.itemDot}>•</span>\n <span className={classes.itemName}>{allergy.name}</span>\n <span className={classes.itemReaction}>{`- ${allergy.description}`}</span>\n </Box>\n })\n : <span className={classes.itemName}>No known drug allergies</span>}\n </Box>\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n </Tooltip>\n\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">See Allergy List</Box>\n </Box>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <Box>\n <ProtectedElement\n element={<>\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <WildHealthButton\n id={`patient-supplements-fullscript`}\n size=\"large\"\n onClick={() => toggleRecommendation()}\n >\n Recommend with Fullscript\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <IconButton onClick={() => handleEdit()}>\n <AddSupplementIcon/>\n </IconButton>\n </Box>\n </Box>\n </>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderCreateButton('Add Supplements', \"large\")}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Box>\n </Box>\n </Box>\n <Box width='80%'>\n {\n renderInfoText()\n }\n </Box>\n </Box>\n )}\n\n <Box mt={3}>\n <Grid container>\n <Grid item sm={12} md={12} xs={12}>\n {\n renderTable()\n }\n <ProtectedElement\n element={renderMenuItems()}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <ProtectedElement\n element={renderMenuItems()}\n permissions={[]}\n userType={UserType.Patient}\n />\n </Grid>\n </Grid>\n </Box>\n <Box>\n <PatientSupplementsUpdateFullscriptComponent\n opened={state.isEditorOpened}\n fullscript={authQuery.isPatientUser()}\n source={supplementSource}\n handleClose={() => handleCloseDialog()}\n patientId={props.patientId}\n />\n <ProtectedElement\n element={\n <RecommendFullscriptSupplementsComponent\n open={state.isRecommendationOpen}\n patientId={props.patientId}\n handleClose={() => toggleRecommendation()}\n onOrdered={handleFullscriptSupplements}\n />\n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n\n </Box>\n </Box>\n {isSmallScreen && (\n <>\n {state.supplements && state.supplements.length > 0 && <Divider className={commonClasses.renderDivider} orientation=\"horizontal\" />}\n <Box className={commonClasses.bgWhiteMain}>\n <Box display=\"flex\" flexDirection=\"row\" justifyContent=\"flex-end\">\n {state.supplements && state.supplements.length > 0 && (\n <Box flex={1} margin=\"auto\" pl={2}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </Box>\n )}\n <IconButton aria-label={`patient-supplements-add`} onClick={() => handleEdit()}>\n <AddCircleIcon className={classes.fixedButton} />\n </IconButton>\n </Box>\n </Box>\n </>\n )}\n </>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PatientSupplementModel } from \"../../models/patientSupplementModel\";\nimport { patientSupplementsQuery } from \"../../stores/patientSupplementsStore/patientSupplements.query\";\nimport { patientsSupplementsService } from \"../../services/patientSupplements.service\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { supplementsService } from \"../../services/supplements.service\";\nimport { patientSupplementsStore } from \"../../stores/patientSupplementsStore/patientSupplements.store\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport {PatientAllergyModel, RxntAllergyModel} from \"../../models/patientAllergiesModel\";\nimport { patientAllergiesQuery } from \"../../stores/patientAllergyStore/patientAllergies.query\";\nimport {FullscriptSupplementModel} from \"../../models/fullscriptSupplementModels\";\n\ninterface PatientSupplementsState extends IErrorState {\n isLoading: boolean;\n totalCount: number;\n selectedPage: number;\n pageSize: number;\n isEditorOpened: boolean;\n isRecommendationOpen: boolean;\n isMenuOpened: boolean;\n selectedId: number;\n supplements: PatientSupplementModel[];\n supplementsPart: PatientSupplementModel[];\n anchorEl: any;\n isFullText: boolean;\n allergies: RxntAllergyModel[];\n}\n\nexport function useFacade(patientId: number | null): [\n PatientSupplementsState,\n Function,\n Function,\n Function,\n Function,\n (value: any) => void,\n (page: number) => void,\n () => number[],\n Function,\n () => void,\n (supplements: FullscriptSupplementModel[]) => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[2],\n isMenuOpened: false,\n isEditorOpened: false,\n isRecommendationOpen: false,\n selectedId: 0,\n supplements: [],\n supplementsPart: [],\n anchorEl: null,\n errors: {},\n isFullText: false,\n allergies: [],\n } as PatientSupplementsState);\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n const start = 0;\n const end = 1 * value > state.totalCount ? state.totalCount : state.selectedPage * value;\n const supplementsPartView = state.supplements.slice(start, end)\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1,\n supplementsPart: supplementsPartView\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n const start = (page - 1) * state.pageSize;\n const end = page * state.pageSize > state.totalCount ? state.totalCount : page * state.pageSize;\n const supplementsPartView = state.supplements.slice(start, end)\n\n setState(state => ({\n ...state,\n selectedPage: page,\n supplementsPart: supplementsPartView\n }));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handleEdit = () => {\n setState({\n ...state,\n isEditorOpened: true,\n isMenuOpened: false\n });\n\n patientSupplementsStore.setEditModel(state.supplements.find(c => c.id === state.selectedId));\n }\n\n const toggleRecommendation = () => {\n setState({\n ...state,\n isRecommendationOpen: !state.isRecommendationOpen\n });\n }\n\n const handleDelete = () => {\n const service = patientId ? supplementsService : patientsSupplementsService;\n service.delete(state.selectedId).subscribe();\n\n handleToggleActions(state.selectedId, state.anchorEl);\n }\n\n const handleCloseDialog = () => {\n setState({\n ...state,\n isEditorOpened: false,\n selectedId: 0\n });\n\n patientSupplementsStore.setEditModel();\n }\n\n const handleToggleActions = (id: number, anchorEl: Element) => {\n setState(state => ({\n ...state,\n isMenuOpened: !state.isMenuOpened,\n selectedId: id,\n anchorEl: anchorEl\n }))\n }\n\n const handleReadMore = () => {\n setState({ ...state, isFullText: !state.isFullText });\n }\n\n const handleFullscriptSupplements = (supplements: FullscriptSupplementModel[]) => {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n patientId\n ? supplementsService.get(patientId).subscribe(() => setState((state) => ({ ...state, isLoading: false })))\n : patientsSupplementsService.get().subscribe(() => setState((state) => ({ ...state, isLoading: false })));\n\n }, 5000)\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientSupplementModel[]>(patientSupplementsQuery.patientSupplements$, supplements => {\n const supplementsPartView = supplements.slice(0, pageSizes[2])\n\n setState(state => ({\n ...state,\n supplements: supplements,\n totalCount: supplements.length,\n selectedPage: 1,\n pageSize: pageSizes[2],\n supplementsPart: supplementsPartView,\n anchorElements: supplements.map(() => null)\n }));\n }),\n onEmit<RxntAllergyModel[]>(patientAllergiesQuery.rxntAllergies$, allergies => {\n if (allergies) {\n setState(state => ({\n ...state,\n allergies\n }));\n }\n })\n ];\n\n patientId\n ? supplementsService.get(patientId).subscribe(() => setState((state) => ({ ...state, isLoading: false })))\n : patientsSupplementsService.get().subscribe(() => setState((state) => ({ ...state, isLoading: false })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleEdit,\n handleDelete,\n handleCloseDialog,\n toggleRecommendation,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n handleToggleActions,\n handleReadMore,\n handleFullscriptSupplements\n ];\n}","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n width: \"100%\",\n maxWidth: \"90vw\",\n overflowX: \"auto\"\n },\n row: {\n backgroundColor: colors.white,\n },\n actions: {\n width: '30%',\n paddingTop: '6px',\n paddingBottom: '6px',\n },\n fixedButton: {\n fill: colors.main,\n width: 58,\n height: 58\n },\n placeholderImage: {\n width: \"100%\",\n maxWidth: 300,\n },\n smallRoot: {\n flex: 1,\n overflow: \"auto\",\n width: '100%',\n minHeight: \"calc(100vh - 303px)\",\n maxHeight: \"calc(100vh - 303px)\",\n backgroundColor: colors.white,\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '25vw',\n maxWidth: '25vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n itemDot: {\n paddingRight: '6px',\n paddingLeft: '6px',\n },\n itemName: {\n whiteSpace: 'pre-line',\n },\n itemReaction: {\n fontWeight: 200,\n }\n }),\n);\n","import React from \"react\";\nimport {\n Box, Grid, TableContainer, Table, TableFooter, TableHead, TableBody, Divider,\n useMediaQuery, useTheme, Tooltip,\n} from \"@material-ui/core\";\nimport InfoIcon from '@material-ui/icons/Info';\nimport emptyMedications from \"@img/placeholders/EmptyReport.png\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport { useFacade } from \"./patientMedicationsRxNTComponent.hooks\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { SupplementsPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/SupplementsPlaceHolder\";\nimport { useStyles } from \"./patientMedicationsRxNTComponent.styles\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport {ManageRxntButtonComponent} from \"../manageRxntButton/ManageRxntButtonComponent\";\n\ninterface PatientMedicationsRxNTComponentProps {\n patientId?: number;\n fullWidth?: boolean;\n handleToggleDialog: () => void;\n}\n\nexport const PatientMedicationsRxNTComponent: React.FC<PatientMedicationsRxNTComponentProps> = (props: PatientMedicationsRxNTComponentProps) => {\n const {\n patientId,\n handleToggleDialog\n } = props;\n\n const [\n state,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages,\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n const renderTable = () => {\n if (!state.isLoading && (!state.medications || !state.medications.length)) {\n return isSmallScreen ? (\n <Box minHeight=\"calc(100vh - 303px)\" height={1}>\n <WildHealthPlaceHolderBase message=\"You have no medication listed at the moment.\">\n <img className={classes.placeholderImage}\n src={emptyMedications}\n alt=\"img\" />\n </WildHealthPlaceHolderBase>\n </Box>\n ) : (\n <SupplementsPlaceHolder message={`You have no medication listed at the moment.`} />\n );\n }\n\n return (\n <Box minHeight=\"300px\">\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '40%' }}>\n <Box pl={2}>\n Name\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Dosing Instruction\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Number of refills\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Start Date\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '15%' }}>\n Last Prescription Date\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.medicationsPart.map((item, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>\n <Box pl={2}>\n {\n item.name\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.dosingInstructions}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.numberOfRefills}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {displayDataValue(item.startDate)}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {displayDataValue(item.lastDatePrescribed)}\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n </TableBody>\n {!isSmallScreen &&\n <TableFooter>\n <WildHealthTableRow className={classes.row}>\n <WildHealthTableCell colSpan={6}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableFooter>\n }\n </Table>\n </TableContainer>\n </Box>\n )\n }\n\n return (\n state.isLoading ?\n <WildHealthLinearProgress /> :\n <>\n <Box className={clsx(isSmallScreen && classes.smallRoot, \"flat-scroll\")}>\n {!isSmallScreen && (\n <Box p={4} pb={0} display='flex' justifyContent='space-between'>\n <Box fontSize={20} fontWeight={500}>List of Medications</Box>\n <Box display='flex' alignItems='center' gridGap={24}>\n <Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={handleToggleDialog}>\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">Do you need help?</Box>\n </Box>\n <ProtectedElement\n element={<Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" >\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box>\n {state.allergies.length\n ? state.allergies.map((allergy, index) => {\n return <Box key={index}>\n <span className={classes.itemDot}>•</span>\n <span className={classes.itemName}>{allergy.name}</span>\n <span className={classes.itemReaction}>{`- ${allergy.description}`}</span>\n </Box>\n })\n : <span className={classes.itemName}>No known drug allergies</span>}\n </Box>\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n </Tooltip>\n\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">See Allergy List</Box>\n </Box>}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n <Box>\n <ProtectedElement\n element={<ManageRxntButtonComponent patientId={patientId}/> }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </Box>\n </Box>\n </Box>\n )}\n\n <Box mt={3}>\n <Grid container>\n <Grid item sm={12} md={12} xs={12}>\n {\n renderTable()\n }\n </Grid>\n </Grid>\n </Box>\n </Box>\n {isSmallScreen && (\n <>\n {state.medications && state.medications.length > 0 && <Divider className={commonClasses.renderDivider} orientation=\"horizontal\" />}\n <Box className={commonClasses.bgWhiteMain}>\n <Box display=\"flex\" flexDirection=\"row\" justifyContent=\"flex-end\">\n {state.medications && state.medications.length > 0 && (\n <Box flex={1} margin=\"auto\" pl={2}>\n <PaginationComponent\n pageSizes={pageSizes}\n pageSize={state.pageSize}\n selectedPage={state.selectedPage}\n handlePageSizeChange={handlePageSizeChange}\n totalCount={state.totalCount}\n availablePages={getAllAvailablePages()}\n handlePageSelect={handlePageChange} />\n </Box>\n )}\n </Box>\n </Box>\n </>\n )}\n </>\n )\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {RxntMedicationModel} from \"../../models/patientMedicationModel\";\nimport { patientMedicationsQuery } from \"../../stores/patientMedicationsStore/patientMedications.query\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport {RxntAllergyModel} from \"../../models/patientAllergiesModel\";\nimport { patientAllergiesQuery } from \"../../stores/patientAllergyStore/patientAllergies.query\";\nimport {prescriptionService} from \"../../services/prescription.service\";\n\ninterface PatientMedicationsRxNTComponentState {\n isLoading: boolean;\n totalCount: number;\n selectedPage: number;\n pageSize: number;\n medications: RxntMedicationModel[];\n medicationsPart: RxntMedicationModel[];\n allergies: RxntAllergyModel[];\n}\n\nexport function useFacade(patientId: number | null): [\n PatientMedicationsRxNTComponentState,\n (value: any) => void,\n (page: number) => void,\n () => number[]\n] {\n const [state, setState] = useState({\n isLoading: true,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[2],\n medications: [],\n medicationsPart: [],\n allergies: [],\n } as PatientMedicationsRxNTComponentState);\n\n const handlePageSizeChange = (value: any) => {\n\n if (value === state.pageSize) {\n return;\n }\n\n const start = 0;\n const end = 1 * value > state.totalCount ? state.totalCount : state.selectedPage * value;\n const medicationsPartView = state.medications.slice(start, end)\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1,\n medicationsPart: medicationsPartView\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n const start = (page - 1) * state.pageSize;\n const end = page * state.pageSize > state.totalCount ? state.totalCount : page * state.pageSize;\n const medicationsPartView = state.medications.slice(start, end)\n\n setState(state => ({\n ...state,\n selectedPage: page,\n medicationsPart: medicationsPartView\n }));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<RxntMedicationModel[]>(patientMedicationsQuery.rxntMedications$, medications => {\n const medicationsPartView = medications.slice(0, pageSizes[2])\n\n setState(state => ({\n ...state,\n medications: medications,\n totalCount: medications.length,\n selectedPage: 1,\n pageSize: pageSizes[2],\n medicationsPart: medicationsPartView,\n }));\n }),\n onEmit<RxntAllergyModel[]>(patientAllergiesQuery.rxntAllergies$, allergies => {\n if (allergies) {\n setState(state => ({\n ...state,\n allergies\n }));\n }\n })\n ];\n\n patientId\n ? prescriptionService.getPatientActiveMeds(patientId).subscribe(() => setState((state) => ({ ...state, isLoading: false })))\n : prescriptionService.getMyActiveMeds().subscribe(() => setState((state) => ({ ...state, isLoading: false })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handlePageSizeChange,\n handlePageChange,\n getAllAvailablePages\n ];\n}","import {ClassNameMap} from \"@material-ui/core/styles/withStyles\";\nimport React from \"react\";\nimport {Box, useMediaQuery, useTheme} from \"@material-ui/core\";\nimport {WildHealthTabControl} from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport {TabItem} from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport {PatientMedicationsComponent} from \"../patientMedicationsComponent/PatientMedicationsComponent\";\nimport {PatientSupplementsComponent} from \"../patientSupplementsComponent/PatientSupplementsComponent\";\nimport {useFacade} from \"./patientMedicationsSupplementsTabsComponent.hooks\";\nimport \"./PatientMedicationsSupplementsTabsComponent.scss\";\nimport {\n useStyles,\n useStylesFullWidthTabs\n} from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from \"clsx\";\nimport {TutorialDialog} from \"../../../common/dialogs/tutorialDialog/TutorialDialog\";\nimport InfoIcon from '@material-ui/icons/Info';\nimport {ReactComponent as Supplements1stStep} from \"@img/Supplements1stStep.svg\";\nimport {ReactComponent as Supplements2ndStep} from \"@img/Supplements2ndStep.svg\";\nimport {ReactComponent as Success} from \"@img/success.svg\";\nimport {TutorialModel} from \"../../../common/dialogs/tutorialDialog/tutorialDialog.hooks\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {\n PatientSupplementsFullscriptComponent\n} from \"../patientSupplementsFullscriptComponent/PatientSupplementsFullscriptComponent\";\nimport {PatientMedicationsRxNTComponent} from \"../patientMedicationsRxNTComponent/PatientMedicationsRxNTComponent\";\nimport {SupplementSource} from \"../../models/patientSupplementModel\";\n\ninterface PatientMedicationsSupplementsTabsComponentProps {\n patientId?: number;\n className?: ClassNameMap<'tab' | 'selectedTab'>;\n fullWidth?: boolean;\n hideTips?: boolean;\n supplementSource?: SupplementSource;\n}\n\nexport const PatientMedicationsSupplementsTabsComponent: React.FC<PatientMedicationsSupplementsTabsComponentProps> = (props: PatientMedicationsSupplementsTabsComponentProps) => {\n const {\n patientId,\n fullWidth,\n className,\n hideTips,\n supplementSource\n } = props;\n\n const [\n {\n selectedTab,\n isDialogOpened\n },\n handleChangeTab,\n handleToggleDialog\n ] = useFacade(patientId);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const initialClassName = useStyles();\n const smallClassName = useStylesFullWidthTabs();\n const commonClasses = commonUseStyles();\n\n const tabs: TabItem[] = [\n {\n title: 'Supplements',\n content: <>\n <FeatureComponent featureFlag={FeatureFlag.FullscriptIntegration}>\n <PatientSupplementsFullscriptComponent supplementSource={supplementSource} patientId={patientId} fullWidth={fullWidth} hideTips={hideTips} handleToggleDialog={handleToggleDialog} />\n </FeatureComponent>\n <FeatureComponent notFeatureFlag={FeatureFlag.FullscriptIntegration}>\n <PatientSupplementsComponent patientId={patientId} fullWidth={fullWidth} handleToggleDialog={handleToggleDialog} />\n </FeatureComponent>\n </>,\n keepMounted: true,\n },\n {\n title: 'Medications',\n content: <>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n <PatientMedicationsRxNTComponent patientId={patientId} fullWidth={fullWidth} handleToggleDialog={handleToggleDialog} />\n </FeatureComponent>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n <PatientMedicationsComponent patientId={patientId} fullWidth={fullWidth} handleToggleDialog={handleToggleDialog} />\n </FeatureComponent>\n </>,\n keepMounted: true,\n },\n ];\n\n const tutorialContent: TutorialModel[] = [\n {\n id: 1,\n featuredImage: <Supplements1stStep />,\n title: 'Upload the lists of your supplements and medications',\n content: 'Get started by adding prescribed supplements and medications using the “Add” button. It will help you store necessary data about your medications.'\n },\n {\n id: 2,\n featuredImage: <Supplements2ndStep />,\n title: 'Provide your intake details',\n content: 'It’s crucial to know all details about your medications and supplements intake. Simply fill in the correct dosage instructions and strength of your medications.'\n },\n {\n id: 3,\n featuredImage: <Success />,\n title: 'Well done!',\n content: 'Click “Add” to create your first list of supplements and medications.'\n },\n ]\n\n return (\n <Box className={isSmallScreen && commonClasses.bgMain}>\n {isSmallScreen &&\n <Box pt=\"20px\" pb=\"10px\" px={2} display='flex' justifyContent='space-between' alignItems='center'>\n <Box className={clsx(commonClasses.size24, commonClasses.textSemiBold, commonClasses.colorBlack)}>\n Supplements/Meds\n </Box>\n <Box display='flex' alignItems='center' gridGap={8} className=\"wh-tw-cursor-pointer\" onClick={handleToggleDialog}>\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-primaryV\" />\n <Box className=\"wh-tw-text-primaryV wh-tw-text-sm wh-tw-font-medium\">Help</Box>\n </Box>\n </Box>\n }\n <WildHealthTabControl\n items={tabs}\n className={isSmallScreen ? smallClassName : className ?? initialClassName}\n initTab={selectedTab}\n onChangeCB={handleChangeTab}\n />\n <TutorialDialog\n opened={isDialogOpened}\n tutorialContent={tutorialContent}\n handleClose={handleToggleDialog}\n />\n </Box>\n )\n}\n","import { useEffect, useState } from 'react';\nimport { Subscription } from 'rxjs';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { meddsSuppsQuery } from '../../stores/meddsSuppsStore/meddsSupps.query';\nimport { meddsSuppsStore } from '../../stores/meddsSuppsStore/meddsSupps.store';\nimport { applicationService } from '../../../../services/application.service';\nimport { MenuItemTypes } from '../../../../models/menu.models';\nimport { TutorialStatusModel } from '../../../../models/application.models';\nimport { applicationQuery } from '../../../../stores/applicationStore';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { allergiesService } from '../../services/allergies.service';\n\ninterface PatientMedicationsSupplementsTabsComponentState {\n selectedTab: number;\n isDialogOpened: boolean;\n tutorialStatus: TutorialStatusModel;\n}\n\nexport function useFacade(patientId?: number): [\n PatientMedicationsSupplementsTabsComponentState,\n (tab: number) => void,\n () => void,\n] {\n const [state, setState] = useState({\n selectedTab: 0,\n isDialogOpened: false,\n tutorialStatus: null\n } as PatientMedicationsSupplementsTabsComponentState);\n\n const handleChangeTab = (tab: number) => {\n meddsSuppsStore.setTab(tab);\n }\n\n const handleToggleDialog = () => {\n setState({\n ...state,\n isDialogOpened: !state.isDialogOpened,\n });\n if (state.tutorialStatus && !state.tutorialStatus?.isAcknowledged) {\n applicationService.closeTutorial(state.tutorialStatus.id).subscribe()\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<number>(meddsSuppsQuery.tab$, tab =>\n setState(state => ({...state, selectedTab: tab}))\n ),\n onEmit<TutorialStatusModel>(applicationQuery.tutorialStatus$, tutorialStatus => {\n if (tutorialStatus?.tutorialName === `${MenuItemTypes.Supplements}-tutorial`) {\n setState(state => ({ ...state, tutorialStatus, isDialogOpened: !tutorialStatus.isAcknowledged}))\n }\n })\n ];\n\n if (authQuery.getType() === UserType.Patient) {\n applicationService.checkFirstVisit(`${MenuItemTypes.Supplements}-tutorial`).subscribe()\n }\n\n if (patientId) {\n allergiesService.get(patientId).subscribe()\n } \n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleChangeTab,\n handleToggleDialog\n ];\n}","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n stringLengthValidationRule, checkManyQuestionValidationRule, maxLengthValidationRule, requiredValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { InitialConsultNames } from \"../../constants/initialConsult.constants\";\n\nexport const createInitialConsultComponentValidator = new GeneralValidator({\n [InitialConsultNames.TOP_3_HEALTH_PRIORITIES]: [checkManyQuestionValidationRule],\n [InitialConsultNames.CURRENT_MEDICAL_CONDITIONS]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.HEALTH_FEARS]: [checkManyQuestionValidationRule],\n [InitialConsultNames.SPECIFIC_DIET]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.MEAL_CONSUMING_TIME_1]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.MEAL_CONSUMING_TYPE_1]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.MEAL_CONSUMING_TIME_2]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.MEAL_CONSUMING_TYPE_2]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.MEAL_CONSUMING_TIME_3]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.MEAL_CONSUMING_TYPE_3]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.LIST_OF_SNACKS]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.STOP_CONSUMING_FOOD]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.EXERCISE_FREQUENCY]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.AVAILABLE_EQUIPMENT]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.EXERCISE_TYPES]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.ACTIVITIES_BEFORE_SLEEP]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.FALL_ASLEEP_TIME]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.WAKE_UP_TIME]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.USE_ALARM_CLOCK]: [stringLengthValidationRule(0, 500)],\n [InitialConsultNames.FEEL_RESTED]: [stringLengthValidationRule(0, 500)],\n ['title']: [maxLengthValidationRule(40)],\n ['recommendations']: [requiredValidationRule()],\n});","\nimport { useFacade } from './wildHealthAutocompleteComponent.hooks'\nimport { Autocomplete } from '@material-ui/lab'\nimport { TextField } from '@material-ui/core'\nimport { Observable } from 'rxjs'\nimport React from 'react'\n\ninterface WildHealthAutocompleteComponentProps {\n id?: string\n value?: string\n getAutoComplete: (searchQuery: string) => Observable<string[]>\n saveChanges: (e: any, value: string) => void\n}\n\nexport const WildHealthAutocompleteComponent: React.FC<WildHealthAutocompleteComponentProps> = (props: WildHealthAutocompleteComponentProps) => {\n const [\n handleKeyDown,\n handleChanges,\n handleSubmit,\n state\n ] = useFacade(props.getAutoComplete, props.saveChanges, props.value)\n\n const elementId = props.id ?? 'autocomplete-input'\n\n return <Autocomplete\n id={elementId}\n freeSolo\n size=\"small\"\n disableClearable\n fullWidth\n options={state.options}\n value={state.value}\n onChange={(e, value) => handleChanges(value)}\n onKeyDown={(e) => handleKeyDown(e, elementId)}\n renderInput={(params) => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n value={state.value}\n autoFocus\n InputProps={{\n ...params.InputProps,\n className: 'input',\n type: 'search'\n }}\n onBlur={(e) => handleSubmit(e)}\n onChange={(e) => handleChanges(e.target.value)}\n />\n )}\n />\n}","import { selectShortcutService } from '../../../healthReport/services/selectShortcut.service'\nimport { insertString } from '../../helpers/insert-string'\nimport { UserType } from '../../../auth/models/auth.enums'\nimport { authQuery } from '../../../auth/stores/auth'\nimport { useEffect, useState } from 'react'\nimport { Observable } from 'rxjs'\n\n\ninterface WildHealthAutocompleteComponentState {\n options: string[]\n value: string\n}\n\nexport function useFacade(\n getAutoComplete: (searchQuery: string) => Observable<string[]>,\n saveChanges: (e: any, value: string) => void,\n initialValue: string):[\n Function,\n Function,\n Function,\n WildHealthAutocompleteComponentState\n ] {\n\n const [state, setState] = useState({\n value: '',\n options: []\n } as WildHealthAutocompleteComponentState)\n\n const handleChanges = (value: string) => {\n setState(state => ({ ...state, value: value }))\n }\n\n const handleKeyDown = (event: any, id: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType()\n if (UserType.Employee === userType) {\n const value = (document.getElementById(id) as any).value\n const cursorPos = (document.getElementById(id) as any).selectionStart\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleChanges(insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n if (event.keyCode === 13) {\n handleSubmit(event)\n }\n\n event.stopPropagation()\n }\n\n const handleSubmit = (e) => {\n saveChanges(e, state.value)\n\n setState(state => ({\n ...state,\n value: null,\n options: []\n }))\n }\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (getAutoComplete && state.value) {\n getAutoComplete(state.value).subscribe((options) => {\n setState(state => ({\n ...state,\n options: options\n }))\n })\n }\n }, 2000)\n\n return () => clearTimeout(delayDebounceFn)\n }, [state.value, getAutoComplete])\n\n useEffect(() => {\n if (initialValue) {\n setState(state => ({ ...state, value: initialValue }))\n }\n }, [initialValue])\n\n return [\n handleKeyDown,\n handleChanges,\n handleSubmit,\n state\n ]\n}","import { makeStyles } from '@material-ui/core/styles'\nimport { colors } from '../../../common/constants/colors'\n\nexport const useStyles = makeStyles({\n actions: {\n width: '30%',\n paddingTop: '6px',\n paddingBottom: '6px',\n },\n input:{\n height: '35px'\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n }\n})","import { WildHealthAutocompleteComponent } from '../../../common/components/wildhealthAutocomplete/WildHealthAutocompleteComponent'\nimport { HealthSummaryDataModel, HealthSummaryListDataModel, HealthSummaryMapModel } from '../../models/healthSummary.models'\nimport { Box, Button, IconButton, Menu, MenuItem, Table, TableBody, TableContainer, TableHead, TextField, Tooltip } from '@material-ui/core'\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell'\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow'\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent'\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models'\nimport { ProtectedElement } from '../../../common/components/ProtectedElement'\nimport { useStyles } from './healthSummaryListItemsComponent.styles'\nimport { PermissionType } from '../../../auth/models/auth.enums'\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz'\nimport React from 'react'\nimport InfoIcon from '@material-ui/icons/InfoRounded';\nimport { colors } from '../../../common/constants/colors'\nimport { Observable } from 'rxjs'\nimport AddIcon from '@material-ui/icons/Add'\nimport { HealthSummaryListItemsNoteComponentState } from '../../../notes/components/createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.hooks'\nimport {\n ManageRxntButtonComponent\n} from \"../../../patientSupplements/components/manageRxntButton/ManageRxntButtonComponent\";\n\nexport interface HealthSummaryListItemsNoteComponentProps {\n data: HealthSummaryDataModel[],\n map: HealthSummaryMapModel,\n getIcdCodesAutoComplete: (searchQuery: string) => Observable<string[]>,\n handleToggleActions: Function,\n handleEditRowValue: Function,\n handleEditRowName: Function,\n handleAddNewRow: Function,\n handleDelete: Function,\n handleEdit: Function,\n handleBlur: Function,\n saveValue: Function,\n state: HealthSummaryListItemsNoteComponentState,\n patientId: number;\n section: string,\n rxnt: boolean\n}\n\nexport const HealthSummaryListItemsNoteComponent: React.FC<HealthSummaryListItemsNoteComponentProps> = (props: HealthSummaryListItemsNoteComponentProps) => {\n const {\n data,\n map,\n getIcdCodesAutoComplete,\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n state,\n patientId,\n section,\n rxnt\n } = props\n\n const classes = useStyles();\n\n const getName = (key: string): string => {\n return map.items.find(x => x.key === key)?.name\n }\n\n const getNameBtn = (): string => {\n switch (section) {\n case 'allergies': return 'Add Allergy';\n case 'famHX': return 'Add Family Condition';\n case 'surgicalHX': return 'Add Surgical Condition';\n case 'currentMedicalConditions': return 'Add Medical Condition';\n default: return 'Add Condition';\n }\n }\n\n const getData = () => {\n return data?.map(x => ({\n name: x.name ? x.name : getName(x.key),\n key: x.key,\n value: x.value,\n tooltip: x.tooltip ? x.tooltip : ''\n }) as HealthSummaryListDataModel) ?? []\n }\n\n const renderToggleButtonCell = (key: string) => (\n <IconButton onClick={(e) => { handleToggleActions(key, e.currentTarget, section) }}>\n <MoreHorizIcon />\n </IconButton>\n )\n\n const renderMenuItems = (key: string) => {\n return (\n <Menu\n anchorEl={state.anchorEl}\n open={state.isMenuOpened && key === state.selectedKey}\n onClose={() => { handleToggleActions(0, '', '') }}\n >\n <MenuItem disabled={map.editRestricted || (map.key === 'PROBLEMS_LIST' && rxnt)} onClick={() => { handleEdit() }}>\n Edit\n </MenuItem>\n <MenuItem disabled={map.editRestricted} onClick={() => { handleDelete() }}>\n Delete\n </MenuItem>\n </Menu>\n )\n }\n\n const renderItemRow = (item: HealthSummaryListDataModel) => {\n return <WildHealthTableRow key={item.key}>\n <WildHealthTableCell>\n <Box ml={-1.5} display='flex'>\n <Box width='30px' minWidth='30px'>\n {item.tooltip && <Tooltip placement=\"top\" arrow\n title={item.tooltip}>\n <InfoIcon fontSize='small' style={{ fill: colors.gray2 }} />\n </Tooltip>}\n </Box>\n {\n item.name\n }\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n <Box display=\"flex\" flexWrap=\"wrap\">\n {item.value ?? '--'}\n </Box>\n </WildHealthTableCell>\n {!state.addNewRow && !map.editRestricted &&\n <FeatureComponent featureFlag={FeatureFlag.HealthSummaryEdit}>\n <WildHealthTableCell className={classes.actions}>\n <Box display='flex' alignItems='center'>\n <ProtectedElement\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n element={renderToggleButtonCell(item.key)}\n />\n </Box>\n <ProtectedElement\n element={renderMenuItems(item.key)}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n </WildHealthTableCell>\n </FeatureComponent>\n }\n </WildHealthTableRow>\n }\n\n const getEditCell = (type: string, value: string, handleEdit: Function) => {\n return <TextField\n onChange={(e) => { handleEdit(e.target.value) }}\n onBlur={(e) => { handleBlur(e) }}\n autoFocus={type === 'name'}\n placeholder=\"Type here...\"\n className={classes.input}\n id={`list-edit-${type}`}\n variant=\"outlined\"\n value={value}\n size=\"small\"\n fullWidth\n required\n />\n }\n\n const renderRowEditor = () => {\n if (map.key === 'PROBLEMS_LIST') {\n return <WildHealthTableRow >\n <WildHealthTableCell>\n <WildHealthAutocompleteComponent\n getAutoComplete={getIcdCodesAutoComplete}\n saveChanges={(e, value) => { saveValue(value) }}\n id={'auto-complete-value'}\n value={state.editRowValue}\n />\n </WildHealthTableCell>\n </WildHealthTableRow>\n }\n\n return (<WildHealthTableRow >\n <WildHealthTableCell>\n {getEditCell('name', state.editRowName, handleEditRowName)}\n </WildHealthTableCell>\n <WildHealthTableCell>\n {getEditCell('value', state.editRowValue, handleEditRowValue)}\n </WildHealthTableCell>\n </WildHealthTableRow>)\n }\n\n return <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>\n <Box ml={2}>\n {map.nameColumn}\n </Box>\n </WildHealthTableCell>\n <WildHealthTableCell>\n {map.valueColumn}\n </WildHealthTableCell>\n {!state.addNewRow &&\n <FeatureComponent featureFlag={FeatureFlag.HealthSummaryEdit}>\n <WildHealthTableCell>\n </WildHealthTableCell>\n </FeatureComponent>\n }\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n getData().map((item) =>\n state.isEditorOpened && state.selectedKey === item.key\n ? renderRowEditor()\n : renderItemRow(item))\n }\n {\n state.addNewRow && section === state.editSection && renderRowEditor()\n }\n </TableBody>\n </Table>\n </TableContainer>\n {section !== state.editSection && !map.editRestricted && <Button className={classes.button} onClick={() => {\n handleAddNewRow(section, map)\n }}>\n <AddIcon fontSize='small' />\n <Box className={classes.buttonText}>{getNameBtn()}</Box>\n </Button>}\n {\n rxnt && section === 'allergies' && <Box mt={1}>\n <ManageRxntButtonComponent patientId={patientId}/>\n </Box>\n }\n </Box>\n}","import {Box, CircularProgress, Grid, TextField} from \"@material-ui/core\";\nimport {MaterialUiPickersDate} from \"@material-ui/pickers/typings/date\";\nimport React, {useEffect, useMemo, useState} from \"react\";\nimport {Subscription} from \"recompose\";\nimport {interval, Observable} from 'rxjs';\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {PermissionType, UserType} from \"../../../auth/models/auth.enums\";\nimport {OptionalComponent} from '../../../common/components/OptionalComponent';\nimport {isElementEnabled} from \"../../../common/components/ProtectedElement\";\nimport {WildHealthDatePicker} from \"../../../common/components/WildHealthDatePicker\";\nimport {insertString} from \"../../../common/helpers/insert-string\";\nimport {onEmit} from '../../../common/helpers/on-emit';\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {selectShortcutService} from \"../../../healthReport/services/selectShortcut.service\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsService} from \"../../../patients/services/patients.service\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {\n PatientMedicationsSupplementsTabsComponent\n} from \"../../../patientSupplements/components/patientMedicationsSupplementsTabs/PatientMedicationsSupplementsTabsComponent\";\nimport {\n CheckAnswer,\n HealthGoalsQuestionNames,\n QuestionModel,\n QuestionnaireResultModel,\n QuestionnaireSection,\n QuestionnaireSubType,\n QuestionnaireType\n} from \"../../../questionnaire/models/questionnaire.models\";\nimport {questionnaireService} from \"../../../questionnaire/services/questionnaire.service\";\nimport {\n CheckManyToTextField,\n getInitQuestionnaires,\n InitialConsultToHealthLogQuestionNamesMap,\n InitialConsultToInitialQuestionNamesMap,\n KeyMap,\n} from \"../../constants/initialConsult.constants\";\nimport {\n AppointmentConfigurationModel,\n HealthSummaryNoteKeySectionNames,\n IccContent,\n NoteLogModel,\n NoteModel,\n NotesType,\n SaveNoteModel,\n SignOffNoteModel\n} from \"../../models/notes.models\";\nimport {notesService, SignOffModel} from \"../../services/notes.service\";\nimport {createInitialConsultComponentValidator} from \"./createInitialConsultComponent.validator\";\nimport {colors} from \"../../../common/constants/colors\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {DataSpecificationsEnum} from \"../../../common/constants/data-specifications\";\nimport {useHistory} from 'react-router';\nimport {snackService} from \"../../../common/snack/state\";\nimport {SelectAppointmentToNotesDialog} from \"../SelectAppointmentToNotesComponent/SelectAppointmentToNotesDialog\";\nimport {TextFieldNoteComponent} from \"../textFieldNoteComponent/TextFieldNoteComponent\";\nimport {ReactComponent as CalendarIcon} from \"@img/icons/CalendarIcon.svg\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport moment from \"moment\";\nimport {SignOffDialogComponent} from \"../signOffDIalogComponent/SignOffDialogComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {canDiscardNote, isFutureAppointment} from \"../../helpers/noteHelpers\";\nimport {HealthSummaryDataModel, HealthSummaryMapModel} from \"../../../healthSummary/models/healthSummary.models\";\nimport {healthSummaryQuery} from \"../../../healthSummary/stores\";\nimport {healthSummaryService} from \"../../../healthSummary/services/healthSummary.service\";\nimport {buildKey, getKey} from \"../../../healthSummary/helpers/healthSummaryHelper\";\nimport {\n HealthSummaryListItemsNoteComponent\n} from \"../../../healthSummary/components/listItemsComponent/HealthSummaryListItemsNoteComponent\";\nimport {icdCodesService} from \"../../services/icdCodes.service\";\nimport {durations} from \"../../../appointments/models/times.models\";\nimport {SelectDurationComponent} from \"../../../appointments/components/selectDuration/SelectDurationComonent\";\nimport {SupplementSource} from \"../../../patientSupplements/models/patientSupplementModel\";\nimport {isFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\nlet stateContext: CreateInitialConsultComponentState = null;\n\ninterface CreateInitialConsultComponentState extends IErrorState {\n isLoading: boolean;\n isChanged: boolean;\n isAutoSaving: boolean;\n isProcessing: boolean;\n isNew: boolean;\n note: NoteModel;\n title: string;\n recommendations: string;\n questionnaires: QuestionnaireSection[];\n logs: NoteLogModel[];\n internalContent: IccContent;\n visitDate: Date;\n isFirstSaveOriginalNote: boolean;\n originalNote: NoteModel;\n errorBloodPressure: string;\n map: HealthSummaryMapModel[];\n}\n\n\nexport interface HealthSummaryListItemsNoteComponentState {\n isEditorOpened: boolean\n isMenuOpened: boolean\n editRowValue: string\n selectedKey: string\n editRowName: string\n addNewRow: boolean\n anchorEl: any\n editSection: string\n currentMap: HealthSummaryMapModel\n draft: any[]\n}\n\nlet ignoreChangesEvent = false;\n\nexport function useFacade(patientId: number, note: NoteModel | null, classes: any, handleGoToNotes: Function, appointmentId: number | null, appointmentConfiguration: AppointmentConfigurationModel | null, originalNote: NoteModel): [\n CreateInitialConsultComponentState,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n string,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element\n] {\n const noteName = \"Initial Coach Consult\";\n const history = useHistory();\n const flags = useFlags();\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [isOpen, setIsOpen] = useState(false);\n const [state, setState] = useState({\n isLoading: true,\n isChanged: false,\n isAutoSaving: false,\n isProcessing: false,\n isNew: true,\n note: note,\n recommendations: null,\n questionnaires: getInitQuestionnaires(),\n logs: [],\n title: note?.title || '',\n internalContent: {\n currentMedicalConditions:[],\n appointmentConfiguration: appointmentConfiguration,\n internalContent: \"\",\n diastolicBloodPressure: 0,\n intention: \"\",\n systolicBloodPressure: 0\n },\n intention: '',\n visitDate: note?.visitDate ?? appointmentConfiguration?.visitDate ?? new Date(),\n isOrderedInitialLabsCollected: false,\n isFreeTrial: false,\n errors: {},\n isFirstSaveOriginalNote: originalNote ? true : false,\n originalNote: originalNote,\n systolicBloodPressure: 0,\n diastolicBloodPressure: 0,\n errorBloodPressure: '',\n currentMedicalConditions: [],\n map: null,\n } as CreateInitialConsultComponentState);\n\n const [editPmhState, setEditPmhState] = useState({\n isEditorOpened: false,\n isMenuOpened: false,\n selectedKey: null,\n addNewRow: false,\n anchorEl: null,\n editSection: '',\n currentMap: null,\n draft: [],\n } as HealthSummaryListItemsNoteComponentState)\n\n const setInitialState = () => {\n setEditPmhState({\n ...editPmhState,\n isEditorOpened: false,\n selectedKey: null,\n addNewRow: false,\n editRowValue: '',\n editRowName: '',\n editSection: '',\n currentMap: null,\n draft: []\n })\n }\n\n stateContext = state;\n\n const handleSaveAsDraft = () => {\n if (!createInitialConsultComponentValidator.stateIsValid(state)) {\n return;\n }\n\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack(history)\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n }\n );\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack(history)\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n }\n );\n }\n\n const isCanCompleteNote = () => {\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const handleChangeSystolic = (value: string) => {\n let parsedValue = parseInt(value);\n \n if(isNaN(parsedValue)){\n\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent:\n {\n ...state.internalContent,\n systolicBloodPressure: 0\n }\n }));\n\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent:{\n ...state.internalContent,\n systolicBloodPressure: parsedValue\n }\n }));\n }\n\n const handleValidateSystolic = () => {\n if(isNaN(state.internalContent.systolicBloodPressure)){\n setState(state => ({\n ...state,\n isChanged: true,\n errorBloodPressure: \"Please enter number. In field systolic.\"\n }));\n }\n else if(state.internalContent.systolicBloodPressure < state.internalContent.diastolicBloodPressure){\n setState(state => ({\n ...state,\n isChanged: true,\n errorBloodPressure: \"Diastolic can not be bigger than systolic.\"\n }));\n }\n else{\n setState(state => ({\n ...state,\n isChanged: true,\n errorBloodPressure: \"\"\n }));\n }\n }\n\n const handleValidateDiastolic = () => {\n if(isNaN(state.internalContent.diastolicBloodPressure)){\n setState(state => ({\n ...state,\n isChanged: true,\n errorBloodPressure: \"Please enter number. In field Diastolic.\"\n }));\n }\n else if(state.internalContent.systolicBloodPressure < state.internalContent.diastolicBloodPressure){\n setState(state => ({\n ...state,\n isChanged: true,\n errorBloodPressure: \"Diastolic can not be bigger than systolic.\"\n }));\n }\n else{\n setState(state => ({\n ...state,\n isChanged: true,\n errorBloodPressure: \"\"\n }));\n }\n }\n\n const handleChangeDiastolic = (value: string) => {\n let parsedValue = parseInt(value);\n\n if(isNaN(parsedValue)){\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent:\n {\n ...state.internalContent,\n diastolicBloodPressure: 0\n }\n }));\n\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent:\n {\n ...state.internalContent,\n diastolicBloodPressure: parsedValue\n }\n }));\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoBack(history);\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const validateNote = () => {\n createInitialConsultComponentValidator.validateAndSetState(state, setState, 'recommendations', state.recommendations);\n }\n\n const handleSaveAndComplete = () => {\n validateNote();\n\n if (!createInitialConsultComponentValidator.stateIsValid(state)) {\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsCompleted(getData(state)).subscribe(\n () => handleGoToNotes(),\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n });\n });\n }\n\n const handleAnswerChanges = (question: QuestionModel, answer: string) => {\n createInitialConsultComponentValidator.validateAndSetState(state, setState, question.name, answer);\n const log = state.logs.find(x => x.key === question.name);\n if (!log) {\n setState({\n ...state,\n isChanged: true,\n logs: [\n ...state.logs, {\n key: question.name,\n value: answer\n }\n ]\n })\n } else {\n log.value = answer;\n setState({\n ...state,\n isChanged: true,\n logs: [...state.logs]\n })\n }\n }\n\n const getAnswer = (question: QuestionModel): string => {\n return state.logs.find(x => x.key === question.name)?.value ?? question.default\n }\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const handleGoBack = (history) => {\n handleGoToNotes();\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoBack(history));\n }\n\n const handleInternalNotesChanged = (value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n setState({\n ...state,\n isChanged: true,\n internalContent:{\n ...state.internalContent,\n internalContent: value\n } \n });\n }\n\n const handleUpdateIntention = (value:string) => {\n setState({\n ...state,\n isChanged: true,\n internalContent:{\n ...state.internalContent,\n intention: value\n }\n });\n }\n\n const handleTextMessageChanged = (value: string) => {\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent:{\n ...state.internalContent,\n internalContent: value\n } \n }));\n }\n\n const handleKeyDown = (event: any) => {\n ignoreChangesEvent = false;\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = (document.getElementById('internal-notes') as any).data;\n const cursorPos = (document.getElementById('internal-notes') as any).selectionStart;\n setTimeout(() => {\n handleOnInternalNotesChanged(value, cursorPos);\n }, 1)\n }\n }\n }\n\n const handleOnInternalNotesChanged = (value: string, cursorPos: number) => {\n const cb = (data) => {\n value = state.internalContent.internalContent;\n if (data) {\n handleTextMessageChanged(insertString(value, data, cursorPos + 1));\n }\n }\n\n selectShortcutService.select().subscribe(cb);\n }\n\n const getData = (state: CreateInitialConsultComponentState): SaveNoteModel => {\n return {\n id: state.note?.id,\n content: getContent(state),\n internalContent: getInternalContent(state),\n name: noteName,\n title: state.title,\n type: NotesType.Initial,\n visitDate: state.visitDate,\n patientId: patientId,\n logs: state.logs,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n appointmentId: state.note ? state.note.appointment?.id : appointmentId,\n version: state.note?.version,\n originalNoteId: state.originalNote?.id\n }\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: noteName,\n title: state.originalNote.title,\n type: NotesType.Initial,\n visitDate: state.visitDate,\n patientId: patientId,\n internalContent: getInternalContent(state),\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleNoteTitleChange = (field: string, value: string) => {\n createInitialConsultComponentValidator.validateAndSetState(state, setState, field, value);\n setState(state => ({\n ...state,\n isChanged: true,\n title: value\n }));\n }\n\n const titleTextBox = (\n <TextField\n label='Enter title'\n type='text'\n size=\"small\"\n variant=\"outlined\"\n id='title'\n value={state.title}\n helperText={state.errors['title']}\n error={!!state.errors['title']}\n disabled={state.isProcessing}\n InputProps={{ className: 'input' }}\n onChange={(e) => {\n handleNoteTitleChange(e.target.id, e.target.value);\n }}\n />\n )\n\n const getContent = (state: CreateInitialConsultComponentState) => {\n return JSON.stringify(state.recommendations);\n }\n\n const getInternalContent = (state: CreateInitialConsultComponentState) => {\n return JSON.stringify(state.internalContent);\n }\n\n const handleVisitDateChanges = (momentDate: MaterialUiPickersDate) => {\n setState({\n ...state,\n isChanged: true,\n visitDate: momentDate?.toDate()\n });\n }\n\n const handleAppointmentChanges = (appointmentId: number) => {\n if (state.note?.appointment?.id === appointmentId) {\n return;\n }\n\n const model = getData(state);\n\n model.appointmentId = appointmentId;\n\n notesService.saveAsDraft(model, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n const handleSelectAppointmentSubmit = (appointmentId: number) => {\n if (!appointmentId) {\n if (!patientsQuery.getTargetPatient()?.isPremium) {\n snackService.error(\"There was an error while attaching a note.\");\n }\n } else {\n handleAppointmentChanges(appointmentId);\n }\n\n setIsOpen(false);\n }\n\n const finalVisitDate = state.note?.appointment\n ? state.note.appointment.date\n : state.note?.visitDate\n ? state.note.visitDate\n : state.visitDate;\n\n const getTime = () => {\n return moment(finalVisitDate).format('HH:mm');\n }\n\n const handleTimeChanges = (time: string) => {\n const hoursMinutes = time.split(\":\");\n const dateResult = new Date(finalVisitDate);\n dateResult.setHours(+hoursMinutes[0], +hoursMinutes[1]);\n\n setState({\n ...state,\n isChanged: true,\n visitDate: new Date(dateResult),\n note: {\n ...state.note,\n visitDate: new Date(dateResult)\n }\n });\n }\n\n const handleChangeDuration = (durationValue: number) => {\n const selectedDuration = durations.find(x => x.value === durationValue);\n const content = state.internalContent;\n content.appointmentConfiguration.duration = selectedDuration.value;\n setState(state => ({ ...state, internalContent: content, isChanged: true }));\n }\n\n const internalNotes = (\n <>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" mb={2} mt={2}>\n <Grid container spacing={2}>\n <Grid item lg={2} md={12}>\n <Box>\n <Box mr={1} mt={5}>\n <span className={classes.sectionTitle}>Notes</span>\n </Box>\n </Box>\n </Grid>\n <Grid item lg={10} md={12}>\n <Box display=\"flex\" alignItems=\"center\">\n {\n state.note?.appointment\n ? <>\n <Box mr={1}>Appointment Date:</Box>\n <WildHealthButton\n width={256}\n size=\"medium\"\n style={{ whiteSpace: 'nowrap' }}\n color=\"datePicker\"\n id='sing-physical-history'\n onClick={() => setIsOpen(true)}\n >\n <span>{moment(finalVisitDate).format(\"MM/DD/yyyy\")}</span>\n <CalendarIcon />\n </WildHealthButton>\n </>\n : <Grid container spacing={2}>\n <Grid item lg={4} md={12} sm={12} xs={12}>\n <Box pb={1}>\n <span className=\"wh-tw-text-gray1 wh-tw-text-sm\">Appointment Date</span>\n </Box>\n <WildHealthDatePicker\n required\n size=\"small\"\n openTo=\"year\"\n fullWidth\n format=\"MM/DD/yyyy\"\n id='AppointmentDate'\n placeholder=\"mm-dd-yyyy\"\n useKeyboardDatePicker\n value={finalVisitDate}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleVisitDateChanges(momentDate)}\n />\n </Grid>\n <Grid item lg={4} md={12} sm={12} xs={12}>\n <Box pb={1}>\n <span className=\"wh-tw-text-gray1 wh-tw-text-sm\">Time</span>\n </Box>\n <TextField\n id=\"time\"\n size=\"small\"\n className={classes.timePicker}\n type=\"time\"\n fullWidth\n variant=\"outlined\"\n value={getTime()}\n onChange={(e)=>{ handleTimeChanges(e.target.value)}}\n InputLabelProps={{\n shrink: true,\n }}\n inputProps={{\n step: 300, // 5 min\n }}\n />\n </Grid>\n <Grid item lg={4} md={12} sm={12} xs={12}>\n <SelectDurationComponent\n durations={durations.filter(x => x.patientMode)}\n selected={durations.find(x => x.value === state.internalContent?.appointmentConfiguration?.duration)}\n handleChange={(v) => handleChangeDuration(v)}\n />\n </Grid>\n </Grid>\n }\n </Box>\n </Grid>\n </Grid>\n\n </Box>\n <Box>\n <TextFieldNoteComponent\n rows={10}\n title='Internal Notes'\n id=\"internal-notes\"\n content={state.internalContent?.internalContent}\n handleChanged={handleInternalNotesChanged}\n handleKeyDown={handleKeyDown}\n />\n </Box>\n <OptionalComponent>\n <SelectAppointmentToNotesDialog\n handleSubmitSelectAppointment={(appointmentId) => handleSelectAppointmentSubmit(appointmentId)}\n handleChangeSelectAppointment={() => { }}\n handleSelectAppointmentDialog={(isOpen) => setIsOpen(isOpen)}\n isOpen={isOpen}\n patientId={patientId} />\n </OptionalComponent>\n </>\n );\n\n const bloodPressure = (\n <Box mt={2} width={220}>\n <Box> What is your blood pressure?</Box>\n <Box display=\"flex\" flexDirection=\"column\" mt={1}>\n <Box display=\"flex\">\n <TextField\n fullWidth\n required\n size=\"small\"\n id={`systolic_blood_pressure`}\n variant=\"outlined\"\n value={state.internalContent.systolicBloodPressure}\n onChange={(v) => {\n handleChangeSystolic(v.target.value)\n }}\n onBlur={() => handleValidateSystolic()}\n />\n <Box m={1} fontSize={20}>/</Box>\n <TextField\n fullWidth\n required\n size=\"small\"\n id={`diastolic_blood_pressure`}\n variant=\"outlined\"\n value={state.internalContent.diastolicBloodPressure}\n onChange={(v) => {\n handleChangeDiastolic(v.target.value)\n }}\n onBlur={() => handleValidateDiastolic()}\n />\n </Box>\n <Box>\n {\n state.errorBloodPressure != null && state.errorBloodPressure !== \"\" &&\n <Box color={colors.error}>{state.errorBloodPressure}</Box>\n }\n </Box>\n </Box>\n </Box>\n )\n\n const yourIntention = (\n <Box mt={3}>\n <Box>\n <Box mr={1}>\n <span className={classes.sectionTitle}>General</span>\n </Box>\n <TextFieldNoteComponent\n rows={3}\n title='What is your intention for the health journey?'\n id=\"intention-notes\"\n content={state.internalContent.intention}\n handleChanged={handleUpdateIntention}\n />\n </Box>\n </Box>\n );\n\n const getSectionData = (section: HealthSummaryMapModel, data: HealthSummaryDataModel[]) => {\n const keys = [...section.items.map(x => x.key), section.key]\n\n return data.filter(x => keys.includes(getKey(x.key)))\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable<string[]> => {\n return new Observable<string[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data.map((x) => x.code + ' ' + x.description));\n observer.complete();\n },\n () => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const getPmhAndHpiData = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n if (data.length) {\n setState((state) => ({\n ...state,\n internalContent:{\n ...state.internalContent,\n currentMedicalConditions: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST), data)\n }\n }))\n }\n })\n }\n\n const handleToggleActions = (key: string, anchorEl: Element, section: string,) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n isMenuOpened: !editPmhState.isMenuOpened,\n anchorEl: anchorEl,\n selectedKey: key,\n editSection: section,\n }))\n }\n\n const handleEditRowValue = (value: string) => {\n\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n const handleEditRowName = (value: string) => {\n\n setEditPmhState({\n ...editPmhState,\n editRowName: value\n })\n }\n\n const handleAddNewRow = (section: string, map: HealthSummaryMapModel) => {\n setEditPmhState({\n ...editPmhState,\n addNewRow: true,\n editSection: section,\n currentMap: map,\n })\n }\n\n const handleDelete = () => {\n const newData = state.internalContent.currentMedicalConditions.filter(el => el.key !== editPmhState.selectedKey)\n state.internalContent.currentMedicalConditions = newData\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n\n setEditPmhState({\n ...editPmhState,\n isMenuOpened: false,\n selectedKey: null,\n anchorEl: null,\n editSection: ''\n })\n }\n\n const handleEdit = () => {\n const dataItem = state.internalContent.currentMedicalConditions.find(el => el.key === editPmhState.selectedKey)\n\n setEditPmhState({\n ...editPmhState,\n editRowName: dataItem.name,\n editRowValue: dataItem.value,\n isEditorOpened: true,\n isMenuOpened: false\n })\n }\n\n const handleBlur = (e, value) => {\n if (value) {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n if (e?.currentTarget?.id.includes('list-edit') && e?.relatedTarget) {\n return\n }\n\n if (editPmhState.editRowName && editPmhState.editRowValue) {\n saveChanges({name: editPmhState.editRowName, value: editPmhState.editRowValue})\n return\n }\n\n if (editPmhState.addNewRow && !editPmhState.editRowName && !editPmhState.editRowValue) {\n setInitialState()\n return\n }\n }\n\n const saveChanges = ({name, value}) => {\n\n if (!name || !value) {\n setInitialState()\n return\n }\n\n const isNew = !editPmhState.selectedKey\n\n const model = {\n key: isNew ? buildKey(editPmhState.currentMap.key) : editPmhState.selectedKey,\n name: name ?? editPmhState.editRowName,\n value: value ?? editPmhState.editRowValue,\n } as HealthSummaryDataModel\n\n if (isNew) {\n const emptyModel = {\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: Math.floor(Math.random() * 10000),\n tooltip: ''\n }\n const newData = [...state.internalContent.currentMedicalConditions, {...emptyModel, ...model}]\n state.internalContent.currentMedicalConditions = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n\n } else {\n const updateItems = state.internalContent.currentMedicalConditions.map(el => {\n if (el.key === editPmhState.selectedKey) {\n return {\n ...el,\n ...model,\n }\n }\n return el\n })\n state.internalContent.currentMedicalConditions = updateItems\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n setInitialState()\n }\n\n const parseValue = (value: string) => {\n if (!value) {\n return ''\n }\n\n const arr = value.split(' ')\n\n if (!arr || !arr.length) {\n return ''\n }\n\n return arr;\n }\n\n const saveValue = (value: string) => {\n\n const parsedValue = parseValue(value)\n\n if (!parsedValue) {\n if (!editPmhState.isEditorOpened) {\n setInitialState()\n }\n return\n }\n\n const editValue = parsedValue.length > 1 ? parsedValue[0] : ''\n const editName = parsedValue.length > 1 ? value.replace(editValue, '').trim() : value\n\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: editValue,\n editRowName: editName\n }))\n\n const result = {name: editName, value: editValue}\n\n saveChanges(result)\n }\n\n const problemList = () => {\n const map = state.map?.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST);\n\n if (!map) {\n return <></>\n }\n\n return (\n <Box mt={3} ml={-6.25}>\n <Box ml={7}><strong>Problem List</strong></Box>\n <Box px={3}>\n <HealthSummaryListItemsNoteComponent\n data={state.internalContent.currentMedicalConditions}\n map={map}\n getIcdCodesAutoComplete={getIcdCodesAutoComplete}\n handleToggleActions={handleToggleActions}\n handleEditRowValue={handleEditRowValue}\n handleEditRowName={handleEditRowName}\n handleAddNewRow={handleAddNewRow}\n handleDelete={handleDelete}\n handleEdit={handleEdit}\n handleBlur={handleBlur}\n saveValue={saveValue}\n state={editPmhState}\n patientId={patientId}\n section={'currentMedicalConditions'}\n rxnt={isFeatureFlag(flags, FeatureFlag.RxntIntegration)}\n />\n </Box>\n </Box>\n )\n }\n\n const medicationSupplements = (\n <Box width={1} mt={5}>\n <PatientMedicationsSupplementsTabsComponent supplementSource={SupplementSource.Notes} hideTips patientId={patientId} fullWidth />\n </Box>\n );\n\n const handleOnRecommendationAddChange = (value: string) => {\n createInitialConsultComponentValidator.validateAndSetState(state, setState, 'recommendations', value);\n\n if (ignoreChangesEvent) {\n return;\n }\n\n setState({\n ...state,\n isChanged: true,\n recommendations: value\n });\n }\n\n const handleOnRecommendationChange = (event: any, id: string) => {\n ignoreChangesEvent = false;\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n if(data){\n setState({\n ...state,\n isChanged: true,\n recommendations: insertString(value, data, cursorPos + 1)\n });\n }\n })\n }, 1)\n }\n }\n }\n\n const recommendationsHeader = (\n <>\n <Grid item xs={7}>\n <Box mt={3}>\n <span className={classes.sectionTitle}>What are SNPs?</span>\n </Box>\n <Box mt={2}>\n <span className=\"wh-tw-text-gray600\">A SNP (Single Nucleotide Polymorphism) is a small change in the genetic code where one base (A, T, C, or G) is swapped for another. These variations are the most common type of genetic difference between people. While most SNPs have no effect, some can influence how we look, how our bodies function, or our risk of certain diseases.</span>\n </Box>\n <Box mt={1.5}>\n <span className=\"wh-tw-text-gray600\">Imagine a gene as a tower made of LEGO blocks. Each block (nucleotide) has a specific place in the structure. A SNP would be like swapping out one specific LEGO block for a slightly different one. Most of the time, the tower still stands as intended, but occasionally, that one block could be crucial for the stability of the entire structure. </span>\n </Box>\n <Box mt={5}>\n <span className={classes.sectionTitle}>\n {'Today’s Coaching'}\n </span>\n <span>(10 minutes)</span>\n </Box>\n </Grid>\n </>\n );\n\n const recommendations = \n (\n <Grid key='recommendation' item xs={7}>\n <Box>\n <TextFieldNoteComponent\n isFollowUp\n rows={10}\n title=''\n id={`recommendation-text-area`}\n content={state.recommendations}\n error={!!state.errors['recommendations']}\n helperText={state.errors['recommendations']}\n handleChanged={handleOnRecommendationAddChange}\n handleKeyDown={handleOnRecommendationChange}\n />\n </Box>\n </Grid>\n );\n\n const scriptsGoal = (\n <>\n <Box mt={2}>\n <span className={classes.sectionTitle}>Goals of this visit are</span>\n </Box>\n <Box pl={2} mt={2}>\n <ol className=\"wh-tw-list-decimal\">\n <li className=\"wh-tw-mb-3\">Welcome and Build Rapport\n <Box pl={2} mt={1}>\n <ul className=\"wh-tw-list-disc\">\n <li>Tell them about yourself.</li>\n <li>What brought them to Wild Health + Intention Statement</li>\n </ul>\n </Box>\n </li>\n <li className=\"wh-tw-mb-3\">Genetics Explanation and education for what to expect in DNA review:\n <Box pl={2} mt={1}>\n <ul className=\"wh-tw-list-disc\">\n <li>A SNP (Single Nucleotide Polymorphism) is a small change in the genetic code where one base (A, T, C, or G) is swapped for another. These variations are the most common type of genetic difference between people. While most SNPs have no effect, some can influence how we look, how our bodies function, or our risk of certain diseases. SNPs are a key part of what makes each person genetically unique.</li>\n </ul>\n </Box>\n </li>\n </ol>\n </Box>\n <Box mt={2}>\n <Box mt={1}>\n <span>\n <span className=\"wh-tw-text-error\">*</span> Document Pharmacy and BP when possible\n </span>\n </Box>\n <Box mt={1}>\n <span>\n <span className=\"wh-tw-text-error\">*</span> Rebook patient OR educate them on self-scheduling\n </span>\n </Box>\n <Box mt={1}>\n <span>\n <span className=\"wh-tw-text-error\">*</span> Complete text in the free text box. Publish note within 24 hours \n </span>\n </Box>\n </Box>\n </>\n )\n\n const endOfTemplate = (\n <>\n <Box py={10}>\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(stateContext.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n <SignOffDialogComponent />\n </Box>\n </>\n );\n\n\n const fillArrayWithNoteLogs = (array: NoteLogModel[], questionnaire: QuestionnaireResultModel, namesMap: KeyMap[]) => {\n namesMap.forEach(name => {\n const question = questionnaire.answers.find(a => a.key === name.Key1);\n if (question) {\n if (CheckManyToTextField.find(i => i === name.Key2)) {\n const answer: CheckAnswer = JSON.parse(question.value);\n if (answer) {\n let value = answer.v.join('\\n');\n if (answer.o) {\n value += `\\n${answer.o}`;\n }\n array.push({ key: name.Key2, value: value });\n }\n } else {\n array.push({ key: name.Key2, value: question.value });\n }\n }\n });\n }\n\n const autoSave = () => {\n if (stateContext.isChanged && !stateContext.isAutoSaving && !state.isFirstSaveOriginalNote && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n if (!createInitialConsultComponentValidator.stateIsValid(stateContext)) {\n return;\n }\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getData(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(note => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n title: note.title,\n visitDate: note.visitDate,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n })\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n isFreeTrial: targetPatient.subscription?.paymentPlan?.isTrial ?? false\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n setState(state => ({\n ...state,\n map: map\n }))\n\n if (map && map.length && (!note && !originalNote)) {\n getPmhAndHpiData(map)\n }\n })\n ];\n\n if (note && !originalNote) {\n notesService.getContentByEmployee(note.id, patientId).subscribe(result =>\n setState(state => ({\n ...state,\n isLoading: false,\n isNew: false,\n recommendations: JSON.parse(result.content),\n internalContent: JSON.parse(result.internalContent),\n logs: result.logs\n })));\n } else {\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content);\n const internalContent = JSON.parse(result.internalContent);\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n recommendations: content,\n internalContent: internalContent,\n isNew: false,\n logs: result.logs,\n title: originalNote.title\n }));\n\n setState(state => ({\n ...state,\n isLoading: false\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n });\n }\n else {\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n\n questionnaireService.getLatestResults(patientId, [QuestionnaireType.HealthLog, QuestionnaireType.Initial, QuestionnaireType.HealthForms]).subscribe(questionnaireResults => {\n const answers: NoteLogModel[] = [];\n\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const initial = results?.filter(q => q.questionnaire.type === QuestionnaireType.Initial)?.pop();\n const healthLog = results?.filter(q => q.questionnaire.type === QuestionnaireType.HealthLog)?.pop();\n\n if (initial) {\n fillArrayWithNoteLogs(answers, initial, InitialConsultToInitialQuestionNamesMap);\n }\n if (healthLog) {\n fillArrayWithNoteLogs(answers, healthLog, InitialConsultToHealthLogQuestionNamesMap);\n }\n }\n\n questionnaireService.getLatestHealthFormsResults(patientId).subscribe(questionnaireResults => {\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const goalsQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.GoalsIncomplete)?.pop();\n\n if (goalsQuestionnaire) {\n const intention = goalsQuestionnaire.answers.find(x => x.key === HealthGoalsQuestionNames.YOUR_INTENTION);\n setState(state => ({\n ...state,\n internalContent: {\n ...state.internalContent,\n intention: intention?.value ?? '',\n }\n }));\n }\n }\n\n setState(state => ({\n ...state,\n isLoading: false\n }));\n });\n });\n }\n }\n\n healthSummaryService.getMap();\n patientsService.get(patientId, DataSpecificationsEnum.PatientInitialConsultSpecification);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId, note]);\n\n return [\n state,\n internalNotes,\n medicationSupplements,\n scriptsGoal,\n recommendationsHeader,\n recommendations,\n endOfTemplate,\n noteName,\n titleTextBox,\n yourIntention,\n bloodPressure,\n problemList()\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: '1.6rem',\n color: '#292929 !important'\n },\n smallTitle: {\n fontSize: '1.2rem',\n fontWeight: 400,\n },\n endOfNoteTitle: {\n fontFamily: 'Poppins',\n textTransform: 'uppercase',\n fontSize: 20,\n fontWeight: 500,\n lineHeight: 1.2,\n },\n sectionTitle: {\n fontFamily: 'Poppins',\n textTransform: 'uppercase',\n maxWidth: 500,\n fontSize: 22,\n fontWeight: 500,\n lineHeight: 1.2,\n },\n endSectionTitle: {\n fontFamily: 'Poppins',\n textTransform: 'uppercase',\n maxWidth: 500,\n fontSize: 18,\n fontWeight: 500,\n lineHeight: 1,\n },\n textArea: {\n height: 100,\n width: '100%',\n resize: 'none',\n },\n recommendationTextArea: {\n height: 200,\n width: '100%',\n resize: 'none',\n }\n })\n);\n","import { Box, Grid } from '@material-ui/core';\nimport React from 'react';\nimport {AppointmentConfigurationModel, NoteModel} from \"../../models/notes.models\";\nimport { CreateNote } from '../createNote/CreateNote';\nimport { useFacade } from './createInitialConsultComponent.hooks';\nimport { useStyles } from './createInitialConsultComponent.styles';\n\nexport interface InitialConsultComponentProps {\n note?: NoteModel,\n patientId: number;\n appointmentId?: number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n handleGoBack: (boolean?) => void;\n goBackTitle: string;\n originalNote?: NoteModel;\n}\n\nexport const CreateInitialConsultComponent: React.FC<InitialConsultComponentProps> = (props: InitialConsultComponentProps) => {\n const {\n note,\n patientId,\n appointmentId,\n appointmentConfiguration,\n handleGoBack,\n goBackTitle,\n originalNote\n } = props;\n\n const classes = useStyles();\n\n const [\n {\n isLoading,\n map,\n internalContent\n },\n internalNotes,\n medicationSupplements,\n scriptsGoal,\n recommendationsHeader,\n recommendations,\n endOfTemplate,\n noteName,\n titleTextBox,\n yourIntention,\n bloodPressure,\n problemList\n ] = useFacade(patientId, note, classes, handleGoBack, appointmentId, appointmentConfiguration, originalNote);\n\n return (\n <Box m={5} mt={0} pt={3}>\n <CreateNote\n isLoading={isLoading}\n noteName={noteName}\n handleGoBack={handleGoBack}\n goBackTitle={goBackTitle}\n titleTextBox={titleTextBox}\n >\n <Box mt={5}>\n <Grid\n container\n spacing={5}\n direction='row'\n justify='center'\n alignItems='flex-start'\n >\n <Grid item xs={7}>\n {internalNotes}\n {yourIntention}\n {bloodPressure}\n {\n map && internalContent.currentMedicalConditions &&\n problemList\n }\n {medicationSupplements}\n </Grid>\n\n <Grid item xs={5}>\n {\n scriptsGoal\n }\n </Grid>\n <Grid item xs={12}>\n {recommendationsHeader}\n {recommendations}\n </Grid>\n <Grid item xs={12}>\n {endOfTemplate}\n </Grid>\n </Grid>\n </Box>\n </CreateNote>\n </Box>\n );\n}\n","import { Box, Button, ButtonGroup, CircularProgress, Grid } from \"@material-ui/core\";\nimport { MaterialUiPickersDate } from \"@material-ui/pickers/typings/date\";\nimport React, { Dispatch, SetStateAction, useEffect, useMemo, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { interval } from 'rxjs';\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { insertString } from \"../../../common/helpers/insert-string\";\nimport { selectShortcutService } from \"../../../healthReport/services/selectShortcut.service\";\nimport { NoteModel, NotesType, SaveNoteModel } from \"../../models/notes.models\";\nimport { notesService } from \"../../services/notes.service\";\nimport { TextFieldNoteComponent } from \"../textFieldNoteComponent/TextFieldNoteComponent\";\nimport { useStyles } from \"./createNote.styles\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\n\ninterface CreateNoteProps {\n patientId: number;\n note: NoteModel | null;\n getData?: (data: any) => SaveNoteModel;\n handleGoToNotes: Function;\n type: NotesType;\n getValidateResult: () => boolean;\n originalNote: NoteModel | null;\n}\n\nexport interface CreateNoteState {\n isLoading: boolean;\n inProgress: boolean;\n isChanged: boolean;\n isAutoSaving: boolean;\n isNew: boolean;\n note: NoteModel;\n internalContent: string;\n visitDate: Date;\n}\n\nlet stateContext: CreateNoteState = null;\nlet ignoreChangesEvent = false;\n\nexport function useFacade(props: CreateNoteProps): [\n CreateNoteState,\n Dispatch<SetStateAction<CreateNoteState>>,\n JSX.Element,\n JSX.Element,\n (state: CreateNoteState) => SaveNoteModel,\n] {\n const {\n patientId,\n note,\n getData: baseData,\n handleGoToNotes,\n type,\n getValidateResult: noteTitleValidate,\n originalNote\n } = props;\n\n const autoSaveTimer = useMemo(() => interval(5000), []);\n\n const [state, setState] = useState({\n isLoading: true,\n inProgress: false,\n isChanged: false,\n isAutoSaving: false,\n isNew: true,\n note: note,\n internalContent: '',\n visitDate: new Date(),\n } as CreateNoteState);\n\n stateContext = state;\n\n const classes = useStyles();\n\n const getData = (state: CreateNoteState): SaveNoteModel | null => {\n return baseData ? baseData({\n id: state.note?.id,\n internalContent: state.internalContent,\n patientId: patientId,\n visitDate: state.visitDate,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null\n }) : null;\n }\n\n const handleVisitDateChanges = (momentDate: MaterialUiPickersDate) => {\n setState({\n ...state,\n isChanged: true,\n visitDate: momentDate.toDate()\n });\n }\n\n const handleSaveAsDraft = () => {\n if (!noteTitleValidate()) return;\n setState(state => ({ ...state, inProgress: true }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoToNotes();\n setState(state => ({ ...state, inProgress: false }));\n },\n () => {\n setState(state => ({ ...state, inProgress: false }));\n }\n );\n \n const result = getData(state);\n result.files.map((x) => x.noteId = result.id);\n\n notesService.saveFiles(result.files).subscribe();\n }\n\n const handleSaveAndComplete = () => {\n if (!noteTitleValidate()) return;\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({ ...state, inProgress: true }));\n notesService.saveAsCompleted(getData(state)).subscribe(\n () => {\n handleGoToNotes();\n setState(state => ({ ...state, inProgress: false }));\n },\n () => {\n setState(state => ({ ...state, inProgress: false }));\n }\n );\n\n \n const result = getData(state);\n result.files.map((x) => x.noteId = result.id);\n\n notesService.saveFiles(result.files).subscribe();\n });\n }\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n notesService.delete(state.note).subscribe(() => handleGoToNotes());\n });\n }\n\n const handleInternalNotesChanged = (value: string) => {\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent: value\n }));\n }\n\n\n const handleKeyDown = (event: any) => {\n ignoreChangesEvent = false;\n\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = (document.getElementById('internal-notes') as any).value;\n const cursorPos = (document.getElementById('internal-notes') as any).selectionStart;\n setTimeout(() => {\n handleOnInternalNotesChanged(value, cursorPos);\n }, 1)\n }\n }\n }\n\n const handleOnInternalNotesChanged = (value: string, cursorPos: number) => {\n const cb = (data) => {\n value = state.internalContent;\n if (data) {\n handleInternalNotesChanged(insertString(value, data, cursorPos + 1));\n }\n }\n\n selectShortcutService.select().subscribe(cb);\n }\n\n const noteTitle = (\n <Box>\n {\n type === NotesType.Internal && <Box display=\"flex\" justifyContent=\"space-between\" mb={2} mt={2}>\n <Box />\n <Box display=\"flex\">\n <Grid\n container\n direction='row'\n justify='flex-start'\n alignItems='center'\n >\n <span>Note Date:</span>\n </Grid>\n <WildHealthDatePicker\n required\n size=\"small\"\n openTo=\"year\"\n format=\"MM/DD/yyyy\"\n id='NoteDate'\n placeholder=\"mm-dd-yyyy\"\n value={state.visitDate}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n onChange={(momentDate) => handleVisitDateChanges(momentDate)}\n />\n </Box>\n </Box>\n }\n <TextFieldNoteComponent\n rows={10}\n disabled={state.inProgress}\n uppercase={true}\n title='Notes'\n id='internal-notes'\n content={state.internalContent}\n className={classes.title}\n handleChanged={handleInternalNotesChanged}\n handleKeyDown={handleKeyDown}\n />\n </Box>\n );\n\n const endOfTemplate = (\n <Box display=\"flex\" justifyContent=\"center\" py={10}>\n {\n state.inProgress ?\n <Button disabled={state.inProgress} variant='outlined'>\n <Grid\n container\n direction=\"row\"\n alignItems=\"center\"\n className={classes.inProgress}\n >\n <CircularProgress size={24} style={{ color: colors.main }} />\n <Box ml={2}>Processing</Box>\n </Grid>\n </Button>\n :\n <ButtonGroup>\n <Button onClick={handleSaveAsDraft} disabled={state.inProgress || !isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee) || state.isLoading}>\n Save As Draft\n </Button>\n <Button onClick={handleSaveAndComplete} color='primary' disabled={state.inProgress || !isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee) || state.isLoading}>\n Sign and Complete\n </Button>\n <Button onClick={handleDiscard} color='secondary' disabled={state.inProgress}>\n Discard\n </Button>\n </ButtonGroup>\n }\n </Box>\n );\n\n const autoSave = () => {\n if (!stateContext.inProgress && stateContext.isChanged && !stateContext.isAutoSaving && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee) && !originalNote) {\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getData(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(note => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n visitDate: note.visitDate,\n },\n isChanged: false,\n isLoading: false,\n isAutoSaving: false\n }));\n })\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n ];\n\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId, note]);\n return [\n state,\n setState,\n noteTitle,\n endOfTemplate,\n getData,\n ];\n}\n","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n maxLengthValidationRule,\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const createNoteValidator = new GeneralValidator({\n 'title': [maxLengthValidationRule(40)],\n});","import {\n Box,\n Button,\n Grid,\n IconButton,\n List,\n ListItem,\n ListItemAvatar,\n ListItemSecondaryAction,\n ListItemText,\n TextField\n} from \"@material-ui/core\";\nimport AddIcon from '@material-ui/icons/Add';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport PermMediaIcon from '@material-ui/icons/PermMedia';\nimport clsx from 'clsx';\nimport React, {useEffect, useState} from \"react\";\nimport {snackService} from \"../../../common/snack/state\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {AttachmentModel, InternalNoteContent, NoteLogModel, NoteModel, NotesType} from \"../../models/notes.models\";\nimport {notesService} from \"../../services/notes.service\";\nimport {CreateNoteState, useFacade as useBaseFacade} from \"../createNote/createNote.hooks\";\nimport {createNoteValidator} from \"../createNote/createNote.validator\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\n\ninterface CreateSimpleComponentState extends IErrorState {\n content: InternalNoteContent;\n logs: NoteLogModel[];\n title: string;\n originalNote?: NoteModel;\n}\n\nexport function useFacade(patientId: number, note: NoteModel | null, type: NotesType, classes: any, handleGoToNotes: Function, originalNote: NoteModel | null): [\n CreateSimpleComponentState & CreateNoteState,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n string,\n JSX.Element,\n] {\n const noteName = `${NotesType[type]} Note`;\n\n const [state, setState] = useState({\n title: note?.title || '',\n content: {\n attachmentsEmployee: [],\n },\n logs: [],\n errors: {},\n originalNote: originalNote\n } as CreateSimpleComponentState);\n\n const commonClasses = commonUseStyles();\n\n const fileTypes = type === NotesType.Internal\n ? [\n \"application/pdf\",\n 'image/jpeg',\n 'image/png',\n ]\n : [\n 'image/jpeg',\n 'image/png',\n ]\n\n const getData = (state: CreateSimpleComponentState) => {\n return {\n name: noteName,\n title: state.title,\n logs: state.logs,\n type: type,\n files: state.content.attachmentsEmployee,\n version: note?.version,\n originalNoteId: state.originalNote?.id\n }\n }\n\n const getValidateResult = () => {\n createNoteValidator.validateObjectAndSetState(state, setState, state);\n return createNoteValidator.stateIsValid(state);\n }\n\n const [\n baseState,\n baseSetState,\n noteTitle,\n endOfTemplate,\n baseGetData,\n ] = useBaseFacade({ patientId, note, handleGoToNotes, type, getData: (data) => ({ ...data, ...getData(state) }), getValidateResult, originalNote});\n\n const { inProgress } = baseState;\n\n const handleNoteTitleChange = (field: string, value: string) => {\n createNoteValidator.validateAndSetState(state, setState, field, value);\n setState(state => ({\n ...state,\n isChanged: true,\n title: value\n }));\n }\n\n const titleTextBox = (\n <TextField\n label='Enter title'\n type='text'\n size=\"small\"\n variant=\"outlined\"\n id='title'\n value={state.title}\n helperText={state.errors['title']}\n error={!!state.errors['title']}\n disabled={inProgress}\n InputProps={{ className: 'input' }}\n onChange={(e) => {\n handleNoteTitleChange(e.target.id, e.target.value);\n }}\n />\n )\n\n const validateFileType = (file: File) => {\n const isValid = fileTypes.includes(file.type);\n if (!isValid) {\n snackService.warning(`File ${file.name} have wrong format.`);\n }\n return isValid;\n }\n\n const validateFileSize = (file: File) => {\n const isValid = file.size / 1048576 <= 5; // is less then 5 MB\n if (!isValid) {\n snackService.warning(`File ${file.name} is too large (limit 5 MB).`);\n }\n return isValid;\n }\n\n const handleCreateAttachment = (event?:any) => {\n event.preventDefault();\n\n const items = Array.from(event.target.files).filter(file => validateFileType(file as File) && validateFileSize(file as File)).map((item, index)=>{\n const file = item as File;\n const attachmentModel = {\n tempId: Date.now() + index,\n file: file,\n ForDelete: false,\n noteId: baseState?.note?.id,\n fileName: file.name,\n fileSize: file.size\n } as AttachmentModel;\n\n return attachmentModel;\n });\n\n if(items === null || items === undefined || items.length <= 0){\n return;\n }\n\n state.content.attachmentsEmployee = [...state.content.attachmentsEmployee, ...items];\n setState(state => ({ ...state, isChanged: true }));\n\n event.target.value = '';\n }\n\n const handleRemoveAttachment = (item: AttachmentModel) => {\n if(!(item?.id)){\n state.content.attachmentsEmployee = state.content.attachmentsEmployee.filter(i => i.tempId !== item.tempId);\n setState(state => ({ ...state, isChanged: true }));\n }\n else{\n const result = state.content.attachmentsEmployee.find(i => i.id === item.id);\n result.ForDelete = true;\n setState(state => ({ ...state, isChanged: true }));\n } \n }\n\n const getFileSize = (size: number) => {\n if (size < 1024) {\n return size + ' bytes';\n } else if (size > 1024 && size < 1048576) {\n return (size / 1024).toFixed(1) + ' KB';\n } else if (size > 1048576) {\n return (size / 1048576).toFixed(1) + ' MB';\n }\n }\n\n const attachment = (\n <Box mt={3}>\n <Box className={classes.title} mb={2}>\n <span className='uppercase'>Attachments:</span>\n </Box>\n <Box display='flex'>\n <Button\n className={clsx(classes.addButton, commonClasses.whButton)}\n disabled={inProgress}\n >\n <label htmlFor='upload-photo'>\n <Grid\n container\n direction=\"row\"\n alignItems=\"center\"\n className={classes.addAttachment}\n >\n <AddIcon />\n Add Attachment\n </Grid>\n </label>\n </Button>\n\n <Box m={1}>\n <span>Note: File should have size less then 5 MB and file type png/jpeg {type === NotesType.Internal && 'or pdf'} </span>\n </Box>\n\n <input\n multiple\n type=\"file\"\n name=\"file\"\n id=\"upload-photo\"\n className={classes.fileInput}\n accept={fileTypes.join(', ')}\n onChange={handleCreateAttachment}\n />\n </Box>\n <List>\n {\n state.content.attachmentsEmployee?.map((item, index) =>\n !item.ForDelete &&\n <ListItem key={index}>\n <ListItemAvatar>\n <PermMediaIcon />\n </ListItemAvatar>\n { <ListItemText\n primary={decodeURIComponent(item.fileName)}\n secondary={getFileSize(item.fileSize)}\n /> }\n { <ListItemSecondaryAction>\n <IconButton\n id={`create-simple-remove-attachment-${item.fileSize}`}\n edge=\"end\"\n onClick={() => handleRemoveAttachment(item)}\n >\n <DeleteIcon />\n </IconButton>\n </ListItemSecondaryAction> }\n </ListItem>\n )\n }\n </List>\n </Box>\n )\n\n const useEffectCB = () => {\n const errorCB = () => baseSetState(baseState => ({ ...baseState, isLoading: false }));\n\n if(originalNote && !note){\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n baseSetState(baseState => ({\n ...baseState,\n isLoading: false,\n isNew: false,\n internalContent: result.internalContent,\n \n }));\n\n let attachments = result?.attachmentsEmployee?.map((item,index)=>{\n const file = item as File;\n\n return {\n tempId: Date.now() + index,\n id: item.attachmentId,\n file: file,\n ForDelete: false,\n noteId: originalNote.id,\n fileName: item.fileName,\n fileSize: item.fileSize\n } as AttachmentModel;\n });\n\n setState(state => ({ ...state, \n content: {\n attachmentsEmployee:attachments\n },\n title: originalNote.title\n }));\n\n let content = baseGetData({ ...baseState })\n\n content.id = null;\n\n notesService.saveAsDraft(content, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n baseSetState(baseState => ({\n ...baseState,\n note: note,\n isLoading: false\n }));\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n });\n }\n else if (note) {\n notesService.getContentByEmployee(note.id, patientId).subscribe(result => {\n baseSetState(baseState => ({\n ...baseState,\n isLoading: false,\n isNew: false,\n internalContent: result.internalContent,\n }));\n\n let attachments = result?.attachmentsEmployee?.map((item,index)=>{\n\n const file = item as File;\n return {\n tempId: Date.now() + index,\n id: item.attachmentId,\n file: file,\n ForDelete: false,\n noteId: note.id,\n fileName: item.fileName,\n fileSize: item.fileSize\n } as AttachmentModel;\n });\n\n setState(state => ({ ...state, \n content: {\n attachmentsEmployee:attachments\n } \n }));\n }, errorCB);\n } else {\n notesService.saveAsDraft(baseGetData({ ...baseState }), patientsQuery.getTargetPatientIsPremium()).subscribe((note) => {\n baseSetState(baseState => ({\n ...baseState,\n note: note,\n isLoading: false\n }));\n }, errorCB);\n }\n\n return () => { };\n }\n\n useEffect(useEffectCB, [patientId, note]);\n\n return [\n { ...state, ...baseState },\n noteTitle,\n attachment,\n endOfTemplate,\n noteName,\n titleTextBox\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: '1.6rem',\n fontWeight: 500,\n lineHeight: 1.18,\n letterSpacing: 0.17,\n color: '#292929 !important'\n },\n addButton: {\n padding: 0,\n },\n addAttachment: {\n background: '#00000000',\n margin: '6px 8px',\n cursor: 'pointer',\n },\n fileInput: {\n opacity: 0,\n position: 'absolute',\n zIndex: -1,\n },\n })\n);\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { CreateNote } from '../createNote/CreateNote';\nimport { NoteModel, NotesType } from \"../../models/notes.models\";\nimport { useFacade } from './createSimpleComponent.hooks';\nimport { useStyles } from './createSimpleComponent.styles';\n\nexport interface CreateSimpleComponentProps {\n note?: NoteModel,\n patientId: number;\n appointmentId?: number | null;\n type: NotesType;\n handleGoBack: (boolean?) => void;\n goBackTitle: string;\n originalNote?: NoteModel;\n}\n\nexport const CreateSimpleComponent: React.FC<CreateSimpleComponentProps> = (props: CreateSimpleComponentProps) => {\n const {\n note,\n patientId,\n type,\n handleGoBack,\n goBackTitle,\n originalNote\n } = props;\n\n const classes = useStyles();\n\n const [\n {\n isLoading\n },\n noteTitle,\n attachment,\n endOfTemplate,\n noteName,\n titleTextBox,\n ] = useFacade(patientId, note, type, classes, handleGoBack, originalNote);\n\n return (\n <Box m={5} mt={0} pt={3}>\n <CreateNote\n isLoading={isLoading}\n noteName={noteName}\n handleGoBack={handleGoBack}\n goBackTitle={goBackTitle}\n titleTextBox={titleTextBox}\n >\n\n <Box mt={5}>\n {noteTitle}\n {attachment}\n </Box>\n <Box mt={7}>\n {endOfTemplate}\n </Box>\n\n </CreateNote>\n </Box>\n );\n}\n","import { ListItemText } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n width: '100%',\n maxWidth: 1070,\n },\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: '1.6rem',\n fontWeight: 500,\n lineHeight: 1.18,\n letterSpacing: 0.17,\n color: '#292929 !important'\n },\n subTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: 1.38,\n letterSpacing: 0.8,\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: 1.38,\n letterSpacing: 0.8,\n color: 'rgba(0, 0, 0, 0.56)',\n },\n regular: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 15,\n fontWeight: 300,\n lineHeight: 1.33,\n letterSpacing: 0.15,\n },\n divider: {\n backgroundColor: \"#f9f9fb\",\n margin: 'auto',\n height: 2,\n },\n internalNote: {\n // wordBreak: 'break-all',\n display: 'flex',\n flexWrap: 'wrap',\n },\n attachments: {\n display: 'flex',\n flexWrap: 'wrap',\n justifyContent: 'space-around',\n overflow: 'hidden',\n backgroundColor: theme.palette.background.paper,\n },\n icon: {\n color: 'white',\n },\n titleIcon: {\n fill: colors.gray1,\n transform: 'rotate(45deg)',\n },\n fileButton: {\n width: 100,\n height: 100,\n \"&:hover\": {\n \"& $fileIcon\": {\n display: \"none\",\n },\n \"& $downloadIcon\": {\n display: \"inline-block\",\n },\n },\n },\n fileIcon: {\n width: 80,\n height: 80,\n color: colors.gray2,\n display: 'inline-block',\n },\n downloadIcon: {\n width: 80,\n height: 80,\n color: colors.gray2,\n display: 'none',\n },\n document: {\n padding: '0 8px',\n borderRadius: 2,\n display: 'flex',\n alignItems: 'center',\n background: colors.gray8,\n width: '100%',\n height: 44,\n },\n imageFile: {\n backgroundRepeat: 'no-repeat',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n borderRadius: 2,\n backgroundSize: 60,\n height: 60,\n minWidth: 60,\n\n \"&:hover\": {\n \"& $downloadIcon\": {\n display: \"inline-block\",\n },\n },\n },\n renderText: {\n display: 'flex',\n flexWrap: 'wrap',\n },\n colorMain: {\n color: colors.main\n }\n })\n);\n\nexport const FileName = withStyles({\n root: {\n \"& .MuiListItemText-primary\": {\n textOverflow: 'ellipsis',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n maxWidth: 225,\n },\n }\n})(ListItemText);\n","import { Box, Button, ButtonGroup, Divider, FormControl, GridList, GridListTile, GridListTileBar, IconButton, MenuItem, Select, CircularProgress } from '@material-ui/core';\nimport ArrowBackIosRoundedIcon from \"@material-ui/icons/ArrowBackIosRounded\";\nimport React from 'react';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder';\nimport { AttachmentModel, NoteModel, NotesType } from \"../../models/notes.models\";\nimport { NoteSignatureComponent } from \"../noteSignature/NoteSignatureComponent\";\nimport { useFacade } from './simpleComponent.hooks';\nimport { useStyles } from './simpleComponent.styles';\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\nimport DescriptionIcon from '@material-ui/icons/Description';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport { TextMarkdownComponent } from '../textMarkdownComponent/TextMarkdownComponent';\nimport { notesService } from '../../services/notes.service';\nimport { confirmService } from '../../../../services/confirm.service';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { WildHealthStatusLabel } from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport moment from 'moment';\n\n\ninterface SimpleComponentProps {\n note: NoteModel;\n patientId: number;\n handleGoToNotes: () => void;\n handleGoToEditNote: (note: NoteModel) => void;\n isFilesDifferent: () => boolean;\n}\n\nexport const SimpleComponent: React.FC<SimpleComponentProps> = (props: SimpleComponentProps) => {\n const {\n note,\n patientId,\n handleGoToNotes,\n handleGoToEditNote\n } = props;\n\n const [\n {\n content,\n internalContent,\n noteId,\n originalContent,\n originalInternalContent,\n isPdfDownloading\n },\n handleDownloadPdf,\n handleChooseNote,\n isFilesDifferent\n ] = useFacade(patientId, note);\n\n const classes = useStyles();\n\n const isLoading = !content || !note;\n\n if (isLoading) {\n return (<WildHealthLinearProgress />)\n }\n\n const getFileSize = (size: number) => {\n if (size < 1024) {\n return size + ' bytes';\n } else if (size > 1024 && size < 1048576) {\n return (size / 1024).toFixed(1) + ' KB';\n } else if (size > 1048576) {\n return (size / 1048576).toFixed(1) + ' MB';\n }\n }\n\n const renderTitle = () => {\n return <span>{note.name}</span>\n }\n\n const openAttachment = (item) => {\n notesService.download(item.id, item.fileName).subscribe();\n }\n\n const renderFile = (item: AttachmentModel, index: number) => {\n return (\n <GridListTile key={index}>\n <Box display='flex' alignItems='center' justifyContent='center' height=\"80%\">\n <IconButton id=\"simple-download-file\" className={classes.fileButton} size='small' onClick={() => openAttachment(item)}>\n <DescriptionIcon className={classes.fileIcon} />\n <GetAppIcon className={classes.downloadIcon} />\n </IconButton>\n </Box>\n <GridListTileBar\n title={decodeURIComponent(item.fileName)}\n subtitle={getFileSize(item.fileSize)}\n actionIcon={<Box m={1} className={classes.icon}><AttachFileIcon /></Box>}\n />\n </GridListTile>\n )\n }\n\n const renderInternalNote = () => {\n return (\n <Box>\n <Box my={2} className={classes.title}>\n <span className='uppercase'>Notes</span>\n </Box>\n <Box my={2}>\n {\n internalContent ?\n <TextMarkdownComponent content={internalContent} classLink={classes.renderText} /> :\n <WildHealthPlaceHolder message=\"No Notes.\" />\n }\n </Box>\n </Box>\n )\n }\n\n const handleEditNote = () => { \n confirmService.confirm('Are you sure?','Are you sure you wish to amend this note? All changes will be logged.')\n .subscribe(()=>{\n handleGoToEditNote(note);\n });\n }\n\n const displayEditButton = () => {\n\n return(\n <Button id=\"edit_current_note\" onClick={() => handleEditNote()}>\n <Box display=\"flex\" alignItems=\"center\" mt={1}>\n <Box>\n <EditIcon />\n </Box>\n </Box>\n </Button>\n );\n }\n\n const displaySelectVersion = () => {\n if(note.amendedNotes?.length === 0 || note.amendedNotes == null || note.amendedNotes.every(x => x.completedAt === null)){\n return\n }\n\n return(\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-start\" ml={2}>\n <Box pr={2}>\n <WildHealthStatusLabel color='normal'>Amended Note</WildHealthStatusLabel>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"choseNoteVersion\"\n value={noteId}\n onChange={(v) => handleChooseNote(v.target.value)}>\n <MenuItem key={0} value={note.id}>Original</MenuItem>\n {\n note.amendedNotes.filter(x => x.completedAt != null).map((note, i) => {\n return <MenuItem key={i+1} value={note.id}>Amended - {moment(note.completedAt).format(\"MM/DD/YYYY\")}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n );\n }\n\n const displayDownloadPdfButton = () => {\n if (isPdfDownloading === true) {\n return (\n <Button>\n <Box width=\"70px\" display=\"flex\" justifyContent=\"center\">\n <CircularProgress size={24} className={classes.colorMain} />\n </Box>\n </Button>\n );\n }\n\n return (\n <Button id=\"blank-note-download-pdf\" onClick={() => handleDownloadPdf(note)}>\n <Box display=\"flex\" alignItems=\"center\" mt={1}>\n <Box>\n <GetAppIcon />\n </Box>\n <Box mt={-1}>\n PDF\n </Box>\n </Box>\n </Button>\n );\n }\n\n const renderAttachments = () => {\n return (\n <Box>\n <Box my={2} className={classes.title}>\n <span className='uppercase'>Attachments:</span>\n </Box>\n <Box my={2}>\n {\n content?.length ?\n <div className={classes.attachments}>\n <GridList className={classes.list} cellHeight={400}>\n {\n content?.map((item, index) => { return renderFile(item, index) })\n }\n </GridList>\n </div> :\n <WildHealthPlaceHolder message=\"No attachments.\" />\n }\n </Box>\n </Box>\n )\n }\n\n const renderNote = () => {\n return (\n <>\n <Box mt={5}>\n {renderInternalNote()}\n {renderAttachments()}\n </Box>\n <Box>\n {\n (originalInternalContent != internalContent || isFilesDifferent(originalContent, content)) &&\n (\n <Box mt={3}>\n <Box py={2}>\n <Divider />\n </Box>\n {\n originalInternalContent != internalContent &&\n <Box>Internal Content was updated.</Box>\n }\n {\n isFilesDifferent(originalContent, content) &&\n <Box>Files was updated.</Box>\n }\n </Box>\n )\n }\n </Box>\n <Box mt={7}>\n <NoteSignatureComponent note={note} noteId={noteId} />\n </Box>\n </>\n )\n }\n\n return (\n <Box m={5} mt={0} pt={3}>\n <Box display=\"flex \" alignItems=\"center\">\n <ButtonGroup size=\"large\" variant=\"text\" color=\"default\"\n aria-label=\"large outlined primary button group\">\n <Button\n id=\"simple-go-to-notes\"\n onClick={() => handleGoToNotes()}\n startIcon={<ArrowBackIosRoundedIcon />}\n >\n To Notes\n </Button>\n <Button disabled className={classes.title}>\n {\n isLoading\n ? 'Loading . . .'\n : renderTitle()\n }\n </Button>\n {\n displayEditButton()\n }\n {\n displaySelectVersion()\n }\n {\n displayDownloadPdfButton()\n }\n </ButtonGroup>\n </Box>\n\n <Box mt={5}>\n <Box mt={5}>\n {\n isLoading\n ? <WildHealthLinearProgress />\n : renderNote()\n }\n </Box>\n </Box>\n </Box>\n );\n}\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"recompose\";\nimport {GetMaximumVersionOfNote, handleDownloadNoteByEmployeePdfBd} from \"../../helpers/noteHelpers\";\nimport {AttachmentModel, downloadNoteOptions, NoteModel, NotesType} from \"../../models/notes.models\";\nimport {notesService} from \"../../services/notes.service\";\nimport {notesStore} from \"../../stores/notes\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {UserType} from \"../../../auth/models/auth.enums\";\nimport {internalNotePdfService} from \"../../services/notes-pdf.service\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\ninterface SimpleComponentState {\n note: NoteModel;\n content: AttachmentModel[];\n internalContent: string;\n isPdfDownloading: boolean;\n originalContent: AttachmentModel[];\n originalInternalContent: string;\n noteId: number;\n}\n\nexport function useFacade(patientId: number, note: NoteModel): [SimpleComponentState, (note: NoteModel) => void, Function, Function] {\n const [state, setState] = useState({\n note: note,\n content: null,\n internalContent: '',\n isPdfDownloading: false,\n noteId: GetMaximumVersionOfNote(note)?.id\n } as SimpleComponentState);\n\n const flags = useFlags();\n\n const getCurrentNote = (noteId: number) => {\n return note.id === noteId\n ? note\n : note.amendedNotes.find(x => x.id === noteId);\n }\n\n const isFilesDifferent = (original: AttachmentModel[], current: AttachmentModel[]) =>{\n if(!original || !current){\n return false;\n }\n\n let isDifferent = false;\n\n original.map(x => {\n let result = current.find(y => y.fileName === x.fileName);\n if(!result){\n isDifferent = true;\n }\n });\n\n if(original.length !== current.length){\n isDifferent = true;\n }\n\n return isDifferent;\n }\n\n const handleDownloadPdf = (note: NoteModel) => {\n const cb = () => setState({ ...state, isPdfDownloading: false });\n if (note.type !== NotesType.Internal) {\n confirmService.confirmAndSelectedNoteViewType(\n 'Select the view type of the note',\n downloadNoteOptions,\n ).subscribe(\n (type) => {\n setState(state => ({ ...state, isPdfDownloading: true }));\n const isEmployeeView = type === UserType.Employee\n notesService.downloadNote(state.noteId, note.name, isEmployeeView).subscribe(\n cb,\n () => {\n const currentNote = getCurrentNote(state.noteId);\n internalNotePdfService.downloadNotePdf(currentNote, state.internalContent, state.content, isEmployeeView, state.noteId, state.originalInternalContent !== state.internalContent, isFilesDifferent(state.originalContent, state.content)).subscribe(cb, cb);\n }\n )\n },\n () => { }\n );\n } else {\n setState(state => ({ ...state, isPdfDownloading: true }));\n notesService.downloadNote(state.noteId, note.name, true).subscribe(\n cb,\n () => {\n const currentNote = getCurrentNote(state.noteId);\n handleDownloadNoteByEmployeePdfBd(currentNote, UserType.Employee, flags).subscribe(cb, cb);\n }\n )\n }\n }\n\n const handleChooseNote = (noteIdNew: number) => {\n setState(state => ({\n ...state,\n noteId: noteIdNew,\n isContentLoading: true\n }));\n \n notesService.getContentByEmployee(noteIdNew, patientId).subscribe(\n (result) => {\n let attachments = result?.attachmentsEmployee?.map((item,index)=>{\n const file = item as File;\n return {\n tempId: Date.now() + index,\n id: item.attachmentId,\n file: file,\n ForDelete: false,\n noteId: GetMaximumVersionOfNote(note).id,\n fileName: item.fileName,\n fileSize: item.fileSize\n } as AttachmentModel;\n });\n\n setState(state => ({\n ...state,\n isContentLoading: false,\n content:attachments,\n internalContent: result.internalContent,\n }))\n }\n );\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [];\n\n if (note) {\n subscriptions.push(\n \n notesService.getContentByEmployee(GetMaximumVersionOfNote(note).id, patientId).subscribe(result =>{\n \n let attachments = result?.attachmentsEmployee?.map((item,index)=>{\n const file = item as File;\n return {\n tempId: Date.now() + index,\n id: item.attachmentId,\n file: file,\n ForDelete: false,\n noteId: GetMaximumVersionOfNote(note).id,\n fileName: item.fileName,\n fileSize: item.fileSize\n } as AttachmentModel;\n });\n \n setState(state => ({\n ...state,\n content: attachments,\n noteId: GetMaximumVersionOfNote(note).id,\n internalContent: result.internalContent,\n }))\n }\n ),\n notesService.getContentByEmployee(note.id, patientId).subscribe(result =>{\n \n let attachments = result?.attachmentsEmployee?.map((item,index)=>{\n const file = item as File;\n return {\n tempId: Date.now() + index,\n id: item.attachmentId,\n file: file,\n ForDelete: false,\n noteId: GetMaximumVersionOfNote(note).id,\n fileName: item.fileName,\n fileSize: item.fileSize\n } as AttachmentModel;\n });\n \n setState(state => ({\n ...state,\n originalContent:attachments,\n noteId: GetMaximumVersionOfNote(note).id,\n originalInternalContent: result.internalContent,\n }))\n }\n )\n );\n }\n\n return () => {\n notesStore.resetTargetContent()\n subscriptions.map(it => it.unsubscribe())\n };\n }, [note, patientId]);\n\n return [state, handleDownloadPdf, handleChooseNote, isFilesDifferent];\n}","import React from \"react\"\nimport { Box } from '@material-ui/core';\nimport { WildHealthPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder';\n\nexport const EmptyVisitNotesComponent: React.FC = () => {\n return (\n <Box>\n <Box>\n <WildHealthPlaceHolder message=\"No visit notes yet.\" />\n </Box>\n </Box>\n );\n}\n","import React from \"react\"\nimport { Box } from '@material-ui/core';\nimport { WildHealthPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder';\n\nexport const EmptyInternalNotesComponent: React.FC = () => {\n return (\n <Box>\n <Box>\n <WildHealthPlaceHolder message=\"No internal notes yet.\" />\n </Box>\n </Box>\n );\n}\n","import { createStyles, makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n reviewedBy: {\n background: colors.gray3,\n color: colors.gray1,\n borderRadius: '2px',\n padding: '5px'\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n }\n }),\n);\n","import {\n Box,\n CircularProgress,\n IconButton,\n ListItem,\n ListItemIcon,\n ListItemSecondaryAction,\n ListItemText, Tooltip\n} from '@material-ui/core';\nimport DeleteIcon from \"@material-ui/icons/Delete\";\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport EditIcon from '@material-ui/icons/Edit';\nimport SpeakerNotesIcon from '@material-ui/icons/SpeakerNotes';\nimport moment from 'moment';\nimport React, {useState} from 'react';\nimport {confirmService} from '../../../../services/confirm.service';\nimport {PermissionType} from '../../../auth/models/auth.enums';\nimport {ProtectedElement} from '../../../common/components/ProtectedElement';\nimport {noteDeleteReasons, NoteDeletionReason, NoteModel} from '../../models/notes.models';\nimport {notesService} from '../../services/notes.service';\nimport {\n GetCurrentDraft,\n GetMaximumVersionOfNote\n} from '../../helpers/noteHelpers';\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport {useStyles} from \"./manageNoteCardComponent.styles\";\n\ninterface ManageNoteCardComponentProps {\n patientId: number;\n keyIndex?: string;\n note: NoteModel;\n handleGoToNote: (note: NoteModel) => void;\n handleDownloadNotePdf: (note: NoteModel) => void;\n downloadingNoteId: Number | null;\n handleGoToEditNote: (note: NoteModel) => void;\n}\n\nexport const ManageNoteCardComponent: React.FC<ManageNoteCardComponentProps> = (props: ManageNoteCardComponentProps) => {\n const {\n patientId,\n keyIndex,\n note,\n handleGoToNote,\n handleDownloadNotePdf,\n downloadingNoteId,\n handleGoToEditNote\n } = props;\n\n const [isDeleting, setIsDeleting] = useState(false);\n\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const handleNoteDelete = (note: NoteModel) => {\n if (!note.isCompleted) {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setIsDeleting(() => true);\n notesService.delete(note, NoteDeletionReason.MissingContent).subscribe(\n () => {\n notesService.getByEmployee(patientId).subscribe(() => {\n setIsDeleting(() => false);\n });\n },\n () => {\n setIsDeleting(() => false);\n });\n });\n } else {\n confirmService.confirmAndSelectedNoteViewType(\n 'Delete Note',\n noteDeleteReasons,\n 'Are you sure you want to delete this note? This action cannot be undone.',\n 'Delete'\n ).subscribe(\n (type) => {\n setIsDeleting(() => true);\n notesService.delete(note, type).subscribe(\n () => {\n notesService.getByEmployee(patientId).subscribe(() => {\n setIsDeleting(() => false);\n });\n },\n () => {\n setIsDeleting(() => false);\n });\n },\n () => { }\n );\n }\n }\n\n const handleEditNote = (note: NoteModel) => {\n confirmService.confirm('Are you sure?', 'Are you sure you wish to amend this note? All changes will be logged.')\n .subscribe(() => {\n handleGoToEditNote(note);\n });\n }\n\n const renderSpinner = () => {\n return (\n <Box display=\"flex\" justifyContent=\"flex-end\" ml={1.5}>\n <CircularProgress size={24} className=\"wh-tw-text-main\"/>\n </Box>\n )\n }\n\n const showDownloadButton = () => {\n if (downloadingNoteId === note.id) {\n return renderSpinner();\n }\n\n return (\n <>\n <IconButton edge=\"end\" onClick={() => handleEditNote(note)}>\n <EditIcon/>\n </IconButton>\n <IconButton edge=\"end\" onClick={() => {\n handleDownloadNotePdf(note)\n }}>\n <GetAppIcon/>\n </IconButton>\n </>\n );\n }\n\n let title = GetMaximumVersionOfNote(note)?.title;\n\n const currentDraftNote = GetCurrentDraft(note);\n\n const renderActionButtons = () => {\n return (\n <Box display=\"flex\" alignItems=\"center\" gridGap={5}>\n {\n note.isCompleted && showDownloadButton()\n }\n <ProtectedElement\n element={\n isDeleting\n ? renderSpinner()\n : <IconButton id=\"managed-notes-card-delete\" edge=\"end\" onClick={() => handleNoteDelete(note)}>\n <DeleteIcon/>\n </IconButton>\n }\n permissions={[PermissionType.VisitNoteCreation]}\n />\n </Box>\n )\n }\n\n const renderSecondaryText = () => {\n if (currentDraftNote.assignedAt && currentDraftNote.completedAt === null && !!currentDraftNote.assignedTo) {\n return <Box pr='50px'>\n {moment(note.visitDate).format(\"ll\")}\n <Box maxWidth='max-content' className={classes.reviewedBy}>\n Under Review by {currentDraftNote.assignedTo?.firstName} {currentDraftNote.assignedTo?.lastName}\n </Box>\n </Box>\n }\n\n if (note.deletedBy) {\n return <Box maxWidth='max-content' display=\"flex\" alignItems=\"center\">\n <Box>\n Deleted by {currentDraftNote.deletedBy?.firstName} {currentDraftNote.deletedBy?.lastName} on {moment(note.deletedAt).format('ll')} at {moment(note.deletedAt).format('LT')}\n </Box>\n <Box ml={1}>\n <Tooltip placement=\"bottom\" arrow title={<Box>{noteDeleteReasons.get(note.deletionReason)}</Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className=\"wh-tw-w-5 wh-tw-h-5 wh-tw-text-gray2\"/>\n </Tooltip>\n </Box>\n </Box>\n }\n\n return <Box>{moment(note.visitDate).format(\"ll\")}</Box>\n }\n\n return (\n <ListItem\n id=\"managed-notes-card-to-note\"\n button\n key={keyIndex}\n onClick={() => handleGoToNote(note)}\n >\n <ListItemIcon>\n <SpeakerNotesIcon/>\n </ListItemIcon>\n <ListItemText\n primary={<Box pr='50px'>{`${note.name} ${note.isCompleted ? '' : '(draft)'} ${title ? ' - ' + title : ''}`}</Box>}\n secondary={renderSecondaryText()}\n />\n <ListItemSecondaryAction>\n {\n !note.deletedBy && renderActionButtons()\n }\n </ListItemSecondaryAction>\n </ListItem>\n );\n}\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: '1.6rem',\n },\n card: {\n boxShadow: \"0 2px 10px 0 rgba(0, 0, 0, 0.03)\",\n display: \"inline-block\",\n position: \"relative\",\n borderRadius: \"4px\",\n width: '100%',\n },\n cardDivider: {\n backgroundColor: \"#f9f9fb\",\n margin: 'auto',\n height: 2,\n },\n })\n);\n","import {\n Box,\n Card,\n CardContent,\n CardHeader,\n Divider,\n Grid,\n List,\n Menu,\n MenuItem,\n Typography\n} from '@material-ui/core';\nimport React from 'react';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { EmployeeType } from '../../../employee/models/employee.enums';\nimport { EmployeeShortModel } from '../../../employee/models/employee.models';\nimport { NoteModel, NotesGroupModel, NotesType } from '../../models/notes.models';\nimport { EmptyVisitNotesComponent } from '../emptyVisitNotes/EmptyVisitNotesComponent';\nimport { EmptyInternalNotesComponent } from '../emptyInternalNotes/EmptyInternalNotesComponent';\nimport { ManageNoteCardComponent } from '../manageNoteCard/ManageNoteCardComponent';\nimport { useFacade } from './managedNotesCardsComponent.hooks';\nimport { useStyles } from './managedNotesCardsComponent.styles';\nimport AddIcon from '@material-ui/icons/Add';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { useHistory, useLocation } from 'react-router';\nimport { RoutesConstants } from '../../../../constants/route.constants';\n\ninterface ManagedNotesCardsComponentProps {\n patientId: number;\n handleGoToCreateNote: (type: NotesType) => void;\n handleGoToNote: (note: NoteModel) => void;\n handleDownloadNotePdf: (note: NoteModel) => void;\n downloadingNoteId: Number | null;\n handleEditNote: (note: NoteModel) => void;\n}\n\nexport const ManagedNotesCardsComponent: React.FC<ManagedNotesCardsComponentProps> = (props: ManagedNotesCardsComponentProps) => {\n const {\n patientId,\n handleGoToCreateNote,\n handleGoToNote,\n handleDownloadNotePdf,\n downloadingNoteId,\n handleEditNote\n } = props;\n\n const [\n {\n isLoading,\n internalNotesGroups,\n visitNotesGroups,\n createNote\n },\n handleCreateNoteToggle,\n handleGetCurrentNote\n ] = useFacade(patientId);\n const classes = useStyles();\n const location = useLocation();\n const _history = useHistory();\n const locationSearch = location?.search;\n\n if (locationSearch) { \n visitNotesGroups.forEach(group => group.notes.find(note => {\n if(note.id === +locationSearch.replace(/[^0-9]/g, '')) {\n _history.push({\n pathname: `${RoutesConstants.managePatientProfile}/${patientId}`,\n search: '',\n });\n handleGoToNote(note)\n return\n }\n if (note.amendedNotes?.length) {\n note.amendedNotes.find(amendedNote => {\n if(amendedNote.id === +locationSearch.replace(/[^0-9]/g, '')) {\n _history.push({\n pathname: `${RoutesConstants.managePatientProfile}/${patientId}`,\n search: '',\n });\n handleGoToNote(note)\n return\n }\n })\n }\n }))\n }\n\n let employeeTypeMap = {};\n employeeTypeMap[EmployeeType.HealthCoach] = 'Health Coach';\n employeeTypeMap[EmployeeType.Provider] = 'Precision Provider';\n\n const employeeDisplayName = (employee: EmployeeShortModel) => {\n return `${employeeTypeMap[employee.type]}: ${employee.firstName} ${employee.lastName}`\n }\n\n const renderNoteGroups = (groups: NotesGroupModel[]) => {\n return (\n <Grid\n container\n direction=\"row\"\n justify=\"flex-start\"\n alignItems=\"flex-start\"\n >\n {\n groups.map(item =>\n <Grid item key={item.employee.id} xs={12} md={6}>\n <Card className={classes.card}>\n <CardHeader\n title={employeeDisplayName(item.employee)}\n />\n\n <Divider className={classes.cardDivider} />\n\n <CardContent>\n <List>\n {\n item.notes.map(item =>\n !item.originalNoteId &&\n <React.Fragment key={`${item.employee.id}-${item.id}`}>\n <ManageNoteCardComponent\n patientId={patientId}\n keyIndex={`${item.employee.id}-${item.id}`}\n note={handleGetCurrentNote(item)}\n handleGoToNote={handleGoToNote}\n handleDownloadNotePdf={handleDownloadNotePdf}\n downloadingNoteId={downloadingNoteId}\n handleGoToEditNote={handleEditNote}\n />\n </React.Fragment>\n )\n }\n </List>\n </CardContent>\n </Card>\n </Grid>\n )\n }\n </Grid>\n )\n };\n\n const renderNotes = () => {\n return (\n <Box>\n <Box>\n <Typography className={classes.title} color=\"textPrimary\">Internal Notes</Typography>\n </Box>\n <Box>\n {\n (!internalNotesGroups || !internalNotesGroups.length) ?\n <EmptyInternalNotesComponent /> :\n renderNoteGroups(internalNotesGroups)\n }\n </Box>\n <Box mt={2}>\n <Typography className={classes.title} color=\"textPrimary\">Visit Notes</Typography>\n </Box>\n <Box>\n {\n (!visitNotesGroups || !visitNotesGroups.length) ?\n <EmptyVisitNotesComponent /> :\n renderNoteGroups(visitNotesGroups)\n }\n </Box>\n </Box>\n )\n };\n\n return (\n <Box m={5} mt={0} pt={3}>\n <Box display=\"flex\">\n <Box>\n <ProtectedElement\n element={\n <WildHealthButton\n id=\"managed-notes-create\"\n onClick={(event) => handleCreateNoteToggle(true, event)}\n >\n <Grid\n container\n direction=\"row\"\n alignItems=\"center\"\n >\n <AddIcon />\n Create a Note\n </Grid>\n </WildHealthButton>}\n permissions={[PermissionType.VisitNoteCreation]}\n />\n </Box>\n </Box>\n\n <Box mt={3}>\n {\n isLoading\n ? <WildHealthLinearProgress />\n : renderNotes()\n }\n </Box>\n\n <Menu\n keepMounted\n open={createNote.isOpen}\n anchorEl={createNote.anchorEl}\n onClose={() => handleCreateNoteToggle(false)}\n >\n <MenuItem id=\"managed-notes-create-initial-coaching\" onClick={() => handleGoToCreateNote(NotesType.Initial)}>\n Initial Coaching Consult\n </MenuItem>\n <MenuItem id=\"managed-notes-create-initial-follow-up\" onClick={() => handleGoToCreateNote(NotesType.FollowUp)}>\n Follow-Up\n </MenuItem>\n <FeatureComponent featureFlag={FeatureFlag.SoapNote}>\n <MenuItem id=\"managed-notes-create-initial-follow-up\" onClick={() => handleGoToCreateNote(NotesType.Soap)}>\n SOAP\n </MenuItem>\n </FeatureComponent>\n <MenuItem id=\"managed-notes-create-blank\" onClick={() => handleGoToCreateNote(NotesType.Blank)}>\n Blank\n </MenuItem>\n <MenuItem id=\"managed-notes-create-internal-note\" onClick={() => handleGoToCreateNote(NotesType.Internal)}>\n Internal Note\n </MenuItem>\n <FeatureComponent featureFlag={FeatureFlag.ImhNote}>\n <MenuItem id=\"managed-notes-create-initial-history-and-physical\" onClick={() => handleGoToCreateNote(NotesType.HistoryAndPhysicalInitial)}>\n Initial Medical History and Physical\n </MenuItem>\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.FmhNote}>\n <MenuItem id=\"managed-notes-create-follow-up-history-and-physical\" onClick={() => handleGoToCreateNote(NotesType.HistoryAndPhysicalFollowUp)}>\n Follow-Up Medical History and Physical\n </MenuItem>\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.FmhNote}>\n <MenuItem id=\"managed-notes-create-group-visit-history-and-physical\" onClick={() => handleGoToCreateNote(NotesType.HistoryAndPhysicalGroupVisit)}>\n Group Visit Medical History and Physical\n </MenuItem>\n </FeatureComponent>\n </Menu>\n </Box>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { NoteModel, NotesGroupModel, NotesType } from \"../../models/notes.models\";\nimport { notesService } from \"../../services/notes.service\";\nimport { notesQuery } from \"../../stores/notes\";\n\ninterface MenuButton {\n anchorEl: HTMLElement;\n isOpen: boolean;\n}\n\ninterface ManagedNotesCardsComponentState {\n isLoading: boolean;\n internalNotesGroups: NotesGroupModel[];\n visitNotesGroups: NotesGroupModel[];\n createNote: MenuButton;\n}\n\nexport function useFacade(patientId: number): [ManagedNotesCardsComponentState, (toShow: boolean, event?: React.MouseEvent<HTMLButtonElement>) => void, Function] {\n const [state, setState] = useState({\n isLoading: true,\n internalNotesGroups: [],\n visitNotesGroups: [],\n createNote: { anchorEl: null, isOpen: false },\n } as ManagedNotesCardsComponentState);\n\n const handleCreateNoteToggle = (toShow: boolean, event?: React.MouseEvent<HTMLButtonElement>) => {\n const anchorEl = event != null && event.currentTarget != null ? event.currentTarget : null;\n setState({...state, createNote: { anchorEl: anchorEl, isOpen: toShow }});\n }\n \n const handleGetCurrentNote = (note : NoteModel) =>{\n let result = note.amendedNotes.find(x => x.completedAt == null && authQuery.getEmployeeId() == x.employee?.id);\n\n if(result != null ) {\n return result;\n }\n\n return note;\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit<NotesGroupModel[]>(notesQuery.notesGroups$, notesGroups => {\n const internal = notesGroups.map(i => { return { employee: i.employee, notes: i.notes.filter(n => n.type === NotesType.Internal )}}).filter(i => i.notes.length > 0);\n const visit = notesGroups.map(i => { return { employee: i.employee, notes: i.notes.filter(n => n.type !== NotesType.Internal )}}).filter(i => i.notes.length > 0);\n\n setState(state => ({\n ...state,\n internalNotesGroups: internal,\n visitNotesGroups: visit,\n }));\n })\n ];\n\n notesService.getByEmployee(patientId).subscribe(() => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n });\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [state, handleCreateNoteToggle, handleGetCurrentNote];\n}","import { NextTimeModel, NextTimeSpan } from \"../../models/notes.models\";\n\nexport const coachNextAppointmentTimes = \n[\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 1,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 2,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 3,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Week,\n quantity: 1,\n isManual: true\n },\n] as NextTimeModel[];\n\nexport const providerNextAppointmentTimes = \n[\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 3,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 6,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Year,\n quantity: 1,\n isManual: false,\n },\n {\n timeSpan: NextTimeSpan.Month,\n quantity: 1,\n isManual: true\n },\n] as NextTimeModel[];\n\nexport const manualTimeSpans = [NextTimeSpan.Week, NextTimeSpan.Month, NextTimeSpan.Year];\n","import moment from \"moment\";\nimport { useState, useEffect } from \"react\";\nimport { Subscription } from \"rxjs/internal/Subscription\";\nimport { Roles } from \"../../../auth/models/auth.enums\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { SubscriptionModel } from \"../../../payment/models/subscription.models\";\nimport { NextTimeModel, NextTimeSpan, NoteModel, NotesGroupModel, NotesType } from \"../../models/notes.models\";\nimport { notesService } from \"../../services/notes.service\";\nimport { notesQuery } from \"../../stores/notes\";\nimport { coachNextAppointmentTimes, providerNextAppointmentTimes } from \"./nextAppointmentDateComponent.static\";\n\n\ninterface NextAppointmentDateComponentState {\n prewNote: NoteModel;\n patientSubscription: SubscriptionModel;\n enableCoachNextAppointment: boolean;\n selectedCoachNextTimeMode: NextTimeModel;\n selectedCoachNextTimeSpan: NextTimeSpan;\n selectedCoachNextTimeQuantity: number;\n enableProviderNextAppointment: boolean;\n selectedProviderNextTimeMode: NextTimeModel;\n selectedProviderNextTimeSpan: NextTimeSpan;\n selectedProviderNextTimeQuantity: number;\n}\n\nconst defaultProviderAppointmentTime = providerNextAppointmentTimes[0];\n\nconst defaultCoachAppointmentTime = coachNextAppointmentTimes[0];\n\nexport function useFacade(handleChanges: (date: Date, role: Roles) => void, patientId: number, noteType: number): [\n NextAppointmentDateComponentState,\n (value: boolean) => void,\n (timeModel: NextTimeModel) => void,\n (timeSpan: NextTimeSpan) => void,\n (quantity: number) => void,\n (value: boolean) => void,\n (timeModel: NextTimeModel) => void,\n (timeSpan: NextTimeSpan) => void,\n (quantity: number) => void,\n] {\n const [state, setState] = useState({\n prewNote: {},\n patientSubscription: null,\n enableCoachNextAppointment: false,\n selectedCoachNextTimeMode: defaultCoachAppointmentTime,\n selectedCoachNextTimeSpan: defaultCoachAppointmentTime.timeSpan,\n selectedCoachNextTimeQuantity: defaultCoachAppointmentTime.quantity,\n selectedProviderNextTimeMode: defaultProviderAppointmentTime,\n enableProviderNextAppointment: false,\n selectedProviderNextTimeSpan: defaultProviderAppointmentTime.timeSpan,\n selectedProviderNextTimeQuantity: defaultProviderAppointmentTime.quantity,\n\n } as NextAppointmentDateComponentState)\n\n const getNextAppointmentDate = (role: Roles): Date => {\n const nextAppointmentEnabled = role === Roles.Provider ? state.enableProviderNextAppointment : state.enableCoachNextAppointment;\n if (!nextAppointmentEnabled) {\n return null;\n }\n\n const date = new Date();\n const targetTimeSpan = role === Roles.Provider ? state.selectedProviderNextTimeSpan : state.selectedCoachNextTimeSpan;\n const targetQuantity = role === Roles.Provider ? state.selectedProviderNextTimeQuantity : state.selectedCoachNextTimeQuantity;\n\n switch (targetTimeSpan) {\n case NextTimeSpan.Week:\n return moment(date).add(targetQuantity, 'w').toDate();\n case NextTimeSpan.Month:\n return moment(date).add(targetQuantity, 'M').toDate();\n case NextTimeSpan.Year:\n return moment(date).add(targetQuantity, 'y').toDate();\n default:\n return null;\n }\n }\n\n const handleCoachNextAppointmentChange = (value: boolean) => {\n state.enableCoachNextAppointment = value;\n handleChanges(getNextAppointmentDate(Roles.Coach), Roles.Coach);\n }\n\n const handleCoachNextTimeModeChange = (timeModel: NextTimeModel) => {\n state.selectedCoachNextTimeMode = timeModel;\n state.selectedCoachNextTimeQuantity = timeModel.quantity;\n state.selectedCoachNextTimeSpan = timeModel.timeSpan;\n handleChanges(getNextAppointmentDate(Roles.Coach), Roles.Coach);\n }\n\n const handleCoachNextTimeSpanChange = (timeSpan: NextTimeSpan) => {\n state.selectedCoachNextTimeSpan = timeSpan;\n handleChanges(getNextAppointmentDate(Roles.Coach), Roles.Coach);\n }\n\n const handleCoachNextTimeQuantityChange = (quantity: number) => {\n if (!quantity) {\n state.selectedCoachNextTimeQuantity = 0;\n } else {\n state.selectedCoachNextTimeQuantity = Math.trunc(quantity);\n }\n handleChanges(getNextAppointmentDate(Roles.Coach), Roles.Coach);\n }\n\n const handleProviderNextAppointmentChange = (value: boolean) => {\n state.enableProviderNextAppointment = value;\n handleChanges(getNextAppointmentDate(Roles.Provider), Roles.Provider);\n }\n\n const handleProviderNextTimeModeChange = (timeModel: NextTimeModel) => {\n state.selectedProviderNextTimeMode = timeModel;\n state.selectedProviderNextTimeQuantity = timeModel.quantity;\n state.selectedProviderNextTimeSpan = timeModel.timeSpan;\n handleChanges(getNextAppointmentDate(Roles.Provider), Roles.Provider);\n }\n\n const handleProviderNextTimeSpanChange = (timeSpan: NextTimeSpan) => {\n state.selectedProviderNextTimeSpan = timeSpan;\n handleChanges(getNextAppointmentDate(Roles.Provider), Roles.Provider);\n }\n\n const handleProviderNextTimeQuantityChange = (quantity: number) => {\n if (!quantity) {\n state.selectedProviderNextTimeQuantity = 0\n } else {\n state.selectedProviderNextTimeQuantity = Math.trunc(quantity)\n }\n\n handleChanges(getNextAppointmentDate(Roles.Provider), Roles.Provider);\n }\n\n const isNoteWithAppointment = (type: number) => {\n switch (type) {\n case NotesType.FollowUp:\n case NotesType.Soap:\n case NotesType.HistoryAndPhysicalInitial:\n case NotesType.HistoryAndPhysicalFollowUp:\n case NotesType.HistoryAndPhysicalGroupVisit:\n return true;\n default:\n return false;\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<NotesGroupModel[]>(notesQuery.notesGroups$, notesGroups => {\n if (notesGroups.some(group => group.notes.some(note => note.patientId !== patientId))) {\n return;\n }\n\n let notes: NoteModel[] = [];\n notesGroups.forEach(group => {\n notes.push(...group.notes.filter(n => n.isCompleted && isNoteWithAppointment(n.type)));\n });\n\n const previousNote = notes && notes.length\n ? notes.sort((a, b) => (a.visitDate < b.visitDate) ? 1 : ((b.visitDate < a.visitDate) ? -1 : 0))[0] : null;\n\n if (previousNote) {\n setState(state => ({ ...state, prewNote: previousNote }));\n }\n\n if (previousNote) {\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n }\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient && targetPatient.id === patientId) {\n setState(state => ({ ...state, patientSubscription: targetPatient.subscription }))\n }\n }),\n ];\n\n notesService.getByEmployee(patientId).subscribe(() => { });\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleCoachNextAppointmentChange,\n handleCoachNextTimeModeChange,\n handleCoachNextTimeSpanChange,\n handleCoachNextTimeQuantityChange,\n handleProviderNextAppointmentChange,\n handleProviderNextTimeModeChange,\n handleProviderNextTimeSpanChange,\n handleProviderNextTimeQuantityChange\n ];\n}","import { Box, Checkbox, FormControlLabel, TextField } from '@material-ui/core';\nimport React from 'react';\nimport { NextTimeSpan, nextTimeSpanNames, NoteModel } from '../../models/notes.models';\nimport monthlyCalendar from \"@img/icons/monthlyCalendar.svg\";\nimport timeCircle from \"@img/icons/timeCircle.svg\";\nimport moment from \"moment\";\nimport { PatientAppointmentModel } from '../../../appointments/models/appointments.models';\nimport { SelectIntervalComponent } from '../selectIntervalComponent/SelectIntervalComponent';\nimport { AppointmentPurposeType } from '../../../appointments/models/appointments.enums';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { isCoachRole, isProviderRole } from '../../../common/constants/roles';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport clsx from 'clsx';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { useFacade } from './nextAppointmentDateComponent.hooks';\nimport { Roles } from '../../../auth/models/auth.enums';\nimport { coachNextAppointmentTimes, manualTimeSpans, providerNextAppointmentTimes } from './nextAppointmentDateComponent.static';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\nexport interface NextAppointmentDateComponentProps {\n note?: NoteModel;\n noteType: number;\n patientId: number;\n appointments: PatientAppointmentModel[];\n handleChanges: (date: Date, role: Roles) => void\n}\n\nexport const NextAppointmentDateComponent: React.FC<NextAppointmentDateComponentProps> = (props: NextAppointmentDateComponentProps) => {\n const {\n note = null,\n appointments,\n noteType,\n patientId,\n handleChanges\n } = props;\n\n const [\n state,\n handleCoachNextAppointmentChange,\n handleCoachNextTimeModeChange,\n handleCoachNextTimeSpanChange,\n handleCoachNextTimeQuantityChange,\n handleProviderNextAppointmentChange,\n handleProviderNextTimeModeChange,\n handleProviderNextTimeSpanChange,\n handleProviderNextTimeQuantityChange\n ] = useFacade(handleChanges, patientId, noteType);\n\n const commonClasses = commonUseStyles();\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.main }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />;\n\n const coachAppointment = appointments.find(x => x.employees.find(c => isCoachRole(c.roleId)) !== undefined && x.purpose === AppointmentPurposeType.FollowUp);\n const providerAppointment = appointments.find(x => x.employees.find(c => isProviderRole(c.roleId)) !== undefined && x.purpose === AppointmentPurposeType.FollowUp);\n\n const getTimeLabel = (quantity: number, timeSpan: NextTimeSpan, isManual: boolean, displayQuantity: boolean): string => {\n return isManual\n ? 'Manual'\n : `${displayQuantity ? `${quantity} ` : ''} ${nextTimeSpanNames[timeSpan]}${quantity > 1 ? 's' : ''}`;\n }\n\n const displayAppointmentDate = (appointment: PatientAppointmentModel) => {\n return (\n <Box display=\"flex\" alignItems=\"center\" mt={2}>\n <Box>\n <img alt=\"Monthly calendar\" src={monthlyCalendar} />\n </Box>\n <Box ml={1}>\n <span>{moment(appointment.startDate).format('dddd DD, MMMM yyyy')}</span>\n </Box>\n <Box ml={2}>\n <img alt=\"Time circle\" src={timeCircle} />\n </Box>\n <Box ml={1}>\n <span>{moment(appointment.startDate).format('HH:mm')}</span>\n </Box>\n </Box>\n )\n }\n\n const renderPreviousNoteAppointmentTimes = () => {\n const noteForView = state.prewNote\n return (\n noteForView.isCompleted || (noteForView.nextCoachAppointmentDate && moment(noteForView.nextCoachAppointmentDate) > moment(new Date()))\n || ((noteForView.nextProviderAppointmentDate) && moment(noteForView.nextProviderAppointmentDate) > moment(new Date()))\n ?\n <Box mb={4}>\n <Box mb={2}>\n <span className={clsx(commonClasses.textMedium, commonClasses.size16, commonClasses.colorGray1)}>\n {`${note && note.isCompleted ? '' : 'Previous'} Note Appointment Times`}\n </span>\n </Box>\n {state.patientSubscription && <Box display='flex' justifyContent='space-between' width={0.25}>\n <Box>\n <span>Plan start date:</span>\n </Box>\n <Box>\n <span>{moment(toCurrentTimeZone(state.patientSubscription.startDate)).format('MM-DD-YYYY')}</span>\n </Box>\n </Box>}\n {noteForView.nextCoachAppointmentDate &&\n <Box display='flex' justifyContent='space-between' width={0.25}>\n <Box>\n <span>Coach Visit:</span>\n </Box>\n <Box>\n <span>{moment(toCurrentTimeZone(noteForView.nextCoachAppointmentDate)).format('MM-DD-YYYY')}</span>\n </Box>\n </Box>\n }\n {noteForView.nextProviderAppointmentDate &&\n <Box display='flex' justifyContent='space-between' width={0.25}>\n <Box>\n <span>Provider Visit:</span>\n </Box>\n <Box>\n <span>{moment(toCurrentTimeZone(noteForView.nextProviderAppointmentDate)).format('MM-DD-YYYY')}</span>\n </Box>\n </Box>\n }\n </Box>\n : <></>\n )\n }\n\n const renderNextAppointmentDates = () => {\n return (\n <>\n <Box>\n <Box display=\"flex\" alignItems=\"center\">\n <FormControlLabel\n control={\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.enableCoachNextAppointment}\n onChange={(e) => handleCoachNextAppointmentChange(e.target.checked)}\n />\n }\n label={<Box component=\"div\" fontWeight={400}>Coach Visit</Box>}\n />\n </Box>\n {\n Boolean(coachAppointment)\n ? <>\n {\n displayAppointmentDate(coachAppointment)\n }\n </>\n : <>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n {\n coachNextAppointmentTimes.map((time, index) => (\n <Box key={index} display=\"flex\" alignItems=\"center\" mr={2}>\n <Box>\n <WildHealthRadio\n checked={(time.timeSpan === state.selectedCoachNextTimeMode.timeSpan && time.quantity === state.selectedCoachNextTimeMode.quantity) || (time.isManual && state.selectedCoachNextTimeMode.isManual)}\n onChange={() => handleCoachNextTimeModeChange(time)}\n disabled={!state.enableCoachNextAppointment}\n />\n </Box>\n <Box>\n <span>{getTimeLabel(time.quantity, time.timeSpan, time.isManual, true)}</span>\n </Box>\n </Box>\n ))\n }\n </Box>\n {\n state.selectedCoachNextTimeMode.isManual &&\n <Box ml={1} mt={1} display=\"flex\" alignItems=\"center\">\n <Box width={150}>\n <TextField\n InputProps={{ inputProps: { min: 1 } }}\n value={state.selectedCoachNextTimeQuantity}\n onChange={(v) => handleCoachNextTimeQuantityChange(+v.target.value as number)}\n variant=\"outlined\"\n size=\"small\"\n disabled={!state.enableCoachNextAppointment}\n />\n </Box>\n <Box ml={1} width={150}>\n <SelectIntervalComponent\n handleChange={handleCoachNextTimeSpanChange}\n disabled={!state.enableCoachNextAppointment}\n items={manualTimeSpans}\n selected={state.selectedCoachNextTimeSpan}\n />\n </Box>\n </Box>\n }\n </>\n }\n\n </Box>\n <Box mt={2}>\n <Box display=\"flex\" alignItems=\"center\">\n <FormControlLabel\n control={\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={state.enableProviderNextAppointment}\n onChange={(e) => handleProviderNextAppointmentChange(e.target.checked)}\n />\n }\n label={<Box component=\"div\" fontWeight={400}>Provider Visit</Box>}\n />\n </Box>\n {\n Boolean(providerAppointment)\n ? <>\n {\n displayAppointmentDate(providerAppointment)\n }\n </>\n : <>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n {\n providerNextAppointmentTimes.map((time, index) => (\n <Box key={index} display=\"flex\" alignItems=\"center\" mr={2}>\n <Box>\n <WildHealthRadio\n checked={(time.timeSpan === state.selectedProviderNextTimeMode.timeSpan && time.quantity === state.selectedProviderNextTimeMode.quantity) || (time.isManual && state.selectedProviderNextTimeMode.isManual)}\n onChange={() => handleProviderNextTimeModeChange(time)}\n disabled={!state.enableProviderNextAppointment}\n />\n </Box>\n <Box>\n <span>{getTimeLabel(time.quantity, time.timeSpan, time.isManual, true)}</span>\n </Box>\n </Box>\n ))\n }\n </Box>\n {\n state.selectedProviderNextTimeMode.isManual &&\n <Box ml={1} mt={1} display=\"flex\" alignItems=\"center\">\n <Box width={150}>\n <TextField\n InputProps={{ inputProps: { min: 0 } }}\n value={state.selectedProviderNextTimeQuantity}\n onChange={(v) => handleProviderNextTimeQuantityChange(+v.target.value as number)}\n variant=\"outlined\"\n size=\"small\"\n disabled={!state.enableProviderNextAppointment}\n />\n </Box>\n <Box ml={1} width={150}>\n <SelectIntervalComponent\n handleChange={handleProviderNextTimeSpanChange}\n disabled={!state.enableProviderNextAppointment}\n items={manualTimeSpans}\n selected={state.selectedProviderNextTimeSpan}\n />\n </Box>\n </Box>\n }\n </>\n }\n </Box>\n </>\n )\n }\n\n return (\n <Box my={2}>\n {renderPreviousNoteAppointmentTimes()}\n {note && note.isCompleted ? <></> : renderNextAppointmentDates()}\n </Box>\n );\n}","export enum NoteSections {\n ROS,\n MedicationsAndSupplements,\n Objective,\n MDM,\n Diagnosis,\n Plan,\n SpecialTests,\n NextAppointment\n}\n\nexport const noteSectionsNames : { [id: string]: string; } = {\n [NoteSections.ROS]: 'ROS',\n [NoteSections.MedicationsAndSupplements]: 'Medications And Supplements',\n [NoteSections.Objective]: 'Objective',\n [NoteSections.MDM]: 'MDM',\n [NoteSections.Diagnosis]: 'Diagnosis',\n [NoteSections.Plan]: 'Plan',\n [NoteSections.SpecialTests]: 'Additional Tests',\n [NoteSections.NextAppointment]: 'Next Appointment',\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n timeInput: {\n width: '90px'\n },\n recommendedTime: {\n fontSize: 14,\n color: colors.gray1,\n fontStyle: 'italic'\n },\n mdmSection: {\n backgroundColor: colors.bg,\n borderRight: `2px solid ${colors.separators}`\n },\n timeSection: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n })\n);\n","import { Box, Checkbox, Divider, Grid, TextField, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport React from \"react\";\nimport { WildHealthRadio } from \"../../../common/components/WildHealthRadio\";\nimport { MdmCategoryModel, MdmMode, MdmModel, SelectedMdmCategoryItemModel } from \"../../models/notes.models\";\nimport { useStyles } from \"./MdmComponent.styles\";\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\n\n\nexport interface MdmComponentProps {\n mdm: MdmModel;\n selectedCodeId: number;\n showCodeDescription: boolean | null;\n selectedCategoryIds: number[];\n selectedCategoryItems: SelectedMdmCategoryItemModel[];\n selectedMode: MdmMode;\n spentTime: number;\n appointmentDuration: number;\n handleCodeChange: (id: number, handleCodeChange: boolean) => void;\n handleCategoryChange: (ids: number[]) => void;\n handleCategoryItemChange: (id: number, inputValue: string) => void;\n handleModeChange: (mode: MdmMode) => void;\n handleSpentTimeChanges: (time: number) => void;\n}\n\nexport const MdmComponent: React.FC<MdmComponentProps> = (props: MdmComponentProps) => {\n const {\n mdm,\n selectedCodeId,\n showCodeDescription,\n selectedCategoryIds,\n selectedCategoryItems,\n selectedMode,\n spentTime,\n appointmentDuration,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n\n const disabled = mdm.id !== selectedCodeId;\n const mdmDisabled = disabled || selectedMode === MdmMode.TimeBased;\n const timeBasedDisable = disabled || selectedMode === MdmMode.Mdm;\n\n const mdmCountText = ['zero', 'one', 'two', 'three', 'four'];\n\n const handleCategoryItemSelect = (id: number, inputValue: string, category: MdmCategoryModel) => {\n const selectedCount = selectedCategoryItems.filter(x => category.items.some(t => t.id === x.id)).length;\n if (selectedCount < category.itemsToSelectCount || selectedCategoryItems.some(x => x.id === id)) {\n handleCategoryItemChange(id, inputValue);\n }\n }\n\n const handleCategorySelect = (category: MdmCategoryModel) => {\n let categoryIds = selectedCategoryIds.slice();\n\n if (selectedCategoryIds.some(x => x === category.id)) {\n categoryIds = categoryIds.filter(x => x !== category.id);\n } else {\n if (mdm.categoriesToComplete > 1) {\n if (categoryIds.length >= mdm.categoriesToComplete) {\n return;\n }\n\n categoryIds.push(category.id);\n } else {\n categoryIds = [category.id]\n }\n }\n\n handleCategoryChange(categoryIds);\n\n if (category.items.length === 1) {\n handleCategoryItemChange(category.items[0].id, null);\n }\n }\n\n const renderCategoryOption = (category) => {\n if (mdm.categoriesToComplete > 1) {\n return (\n <Checkbox\n disabled={mdmDisabled}\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={selectedCategoryIds.some(x => x === category.id)}\n onChange={() => handleCategorySelect(category)}\n value={category.id}\n />\n )\n }\n\n return (\n <WildHealthRadio\n disabled={mdmDisabled}\n checked={selectedCategoryIds.some(x => x === category.id)}\n onChange={() => handleCategorySelect(category)}\n value={category.id}\n />\n )\n }\n\n return (\n <Box display={!isSmallScreen && 'flex'}>\n <Box display='flex' alignItems='flex-start' pr={1}>\n <Box display='flex' alignItems='center'>\n <Box>\n <WildHealthRadio\n checked={mdm.id === selectedCodeId}\n onChange={() => handleCodeChange(mdm.id, mdm.employeeOnly ? true : showCodeDescription)}\n value={selectedCodeId}\n />\n </Box>\n <Box fontWeight={500} minWidth='62px' display='flex' justifyContent=\"space-between\">\n <span>{mdm.code}</span>\n {mdm.employeeOnly && <span className={commonClasses.colorBad}>*</span>}\n </Box>\n </Box>\n </Box>\n <Box className={classes.timeSection}>\n {mdm.employeeOnly\n ?\n <Box p={2} width='100%'display='flex' flexDirection='column' className={classes.mdmSection}>\n <Box display='flex' alignItems='center'>\n <Box display='flex'>\n <span className={commonClasses.textBold}>{mdm.title}</span>\n <Box pl={0.5} className={commonClasses.colorGray1}>(For Patients who are Wild Health Employees only)</Box>\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" alignItems=\"center\">\n <Box>\n <span>\n {mdm.description}\n </span>\n </Box>\n </Box>\n </Box>\n\n : <Grid container>\n <Grid xs={12} md={7} item>\n <Box p={2} className={classes.mdmSection}>\n <Box display='flex' alignItems='center'>\n <Box>\n <WildHealthRadio\n disabled={disabled}\n checked={selectedMode === MdmMode.Mdm}\n onChange={() => handleModeChange(MdmMode.Mdm)}\n value={selectedMode}\n />\n </Box>\n <Box ml={2}>\n <span className={commonClasses.textBold}>{mdm.title}</span>\n </Box>\n </Box>\n <Box mt={2} display=\"flex\" alignItems=\"center\">\n\n <Box mr={2}>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={mdm.id === selectedCodeId && (showCodeDescription ?? false)}\n onChange={() => handleCodeChange(mdm.id, !showCodeDescription)}\n />\n </Box>\n\n <Box>\n <span>\n {mdm.description}\n </span>\n </Box>\n </Box>\n <Box mt={2}>\n <Divider />\n </Box>\n <Box mt={2}>\n <Box>\n <span>Data review - complete {mdmCountText[mdm.categoriesToComplete]} of the following {mdm.categories.length} categories:</span>\n </Box>\n {\n mdm.categories.map((category) => (\n <>\n <Box mt={2} display='flex' alignItems='center'>\n <Box>\n {\n renderCategoryOption(category)\n }\n </Box>\n <Box ml={2} fontWeight={500}>\n <span>{category.name}</span>\n </Box>\n </Box>\n {\n selectedCategoryIds.some(x => x === category.id) &&\n <Box ml={3} mt={2}>\n {\n category.items.length > 1 &&\n <Box>\n <span>Select {category.itemsToSelectCount} of the following:</span>\n </Box>\n }\n\n <Box mt={2}>\n {\n category.items.sort(x => x.order).map((item) => (\n <Box display='flex' alignItems='center'>\n {\n category.items.length > 1 &&\n <Box>\n <Checkbox\n disabled={mdmDisabled}\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={selectedCategoryItems.some(x => x.id === item.id)}\n onChange={() => handleCategoryItemSelect(item.id, null, category)}\n />\n </Box>\n }\n <Box ml={2} display='flex' alignItems='center'>\n <Box>\n <span>{item.description}</span>\n </Box>\n {\n item.allowInput &&\n <Box ml={1}>\n <TextField\n disabled={!selectedCategoryItems.some(x => x.id === item.id)}\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={selectedCategoryItems.some(x => x.id === item.id) ? selectedCategoryItems.find(x => x.id === item.id).inputValue : ''}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleCategoryItemChange(item.id, e.target.value)}\n />\n </Box>\n }\n\n </Box>\n </Box>\n ))\n }\n </Box>\n </Box>\n }\n </>\n ))\n }\n </Box>\n <Box mt={2}>\n <span>{mdm.riskDescription}</span>\n </Box>\n </Box>\n </Grid>\n <Grid xs={12} md={4} item>\n <Box p={2} className={classes.timeSection}>\n <Box display='flex' alignItems='center'>\n <Box>\n <WildHealthRadio\n disabled={disabled}\n checked={selectedMode === MdmMode.TimeBased}\n onChange={() => handleModeChange(MdmMode.TimeBased)}\n value={selectedMode}\n />\n </Box>\n <Box ml={2} fontWeight={500}>\n <span>Time Based Billing</span>\n </Box>\n </Box>\n <Box mt={2}>\n <Box display='flex' alignItems='center' flexWrap=\"wrap\">\n <span>I spent </span>\n <Box px={1}>\n <TextField\n disabled={timeBasedDisable}\n className={classes.timeInput}\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={timeBasedDisable ? '' : spentTime === 0 ? '' : spentTime}\n InputProps={{ className: 'input' }}\n InputLabelProps={{ shrink: true }}\n onChange={(e) => handleSpentTimeChanges(+e.target.value)}\n />\n </Box>\n <span>minutes reviewing results, </span>\n </Box>\n <Box>\n <span> updating plan and treatments, or consulting another provider.</span>\n </Box>\n </Box>\n <Box mt={2}>\n <span className={classes.recommendedTime}><span className={commonClasses.colorBad}>*</span>{mdm.minTime} - {mdm.maxTime} mins required for this level.</span>\n </Box>\n <Box mt={2}>\n <pre>\n Total time on DOS: <span className={commonClasses.textMedium}>{timeBasedDisable ? 0 : appointmentDuration + spentTime} minutes</span>\n </pre>\n </Box>\n </Box>\n </Grid>\n </Grid>\n }\n </Box>\n </Box>\n );\n}\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n rootView: {\n fontSize: 14,\n minHeight: 28,\n borderRadius: 2,\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n paddingRight: 10,\n paddingLeft: 10,\n backgroundColor: colors.separators,\n },\n tooltip: {\n position: 'absolute',\n background: colors.lightBlack,\n color: colors.white,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n borderRadius: 2,\n padding: 16,\n fontStyle: 'normal',\n fontWeight: 400,\n fontSize: 14,\n display: 'none',\n width: 'max-content',\n maxWidth: '35vw',\n marginLeft: '-40px',\n zIndex: 1,\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n iconInfo: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n reasonDot: {\n paddingRight: '6px',\n paddingLeft: '6px',\n },\n reasonName: {\n whiteSpace: 'pre-line',\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '35vw',\n maxWidth: '35vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n","import { Box, IconButton, Tooltip } from \"@material-ui/core\";\nimport { Info } from \"@material-ui/icons\";\nimport React from \"react\";\nimport { WildHealthRadio } from \"../../../common/components/WildHealthRadio\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { MdmCommonModel, MdmMode, MdmModel, MdmPatientType, SelectedMdmCategoryItemModel } from \"../../models/notes.models\";\nimport { MdmComponent } from \"../mdmComponent/MdmComponent\";\nimport { handleShortcutInsert } from \"../../../common/helpers/handle-shortcut-insert\";\nimport { TextFieldNoteComponent } from \"../textFieldNoteComponent/TextFieldNoteComponent\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { colors } from \"../../../common/constants/colors\";\nimport InfoIcon from '@material-ui/icons/Info';\nimport AddIcon from '@material-ui/icons/Add';\nimport { useStyles } from './noteMdmComponent.styles';\nimport { notesQuery } from \"../../stores/notes\";\n\nexport interface NoteMdmComponentProps {\n error: string;\n mdms: MdmModel[];\n mdmText: string;\n mdmPatientTypes: Map<MdmPatientType, string>;\n selectedMdmPatientType: MdmPatientType;\n selectedCodeId: number;\n showCodeDescription: boolean | null;\n selectedCategoryIds: number[];\n selectedCategoryItems: SelectedMdmCategoryItemModel[];\n selectedMode: MdmMode;\n spentTime: number;\n appointmentDuration: number;\n handleMdmTextChange: (value: string) => void;\n handleMdmPatientTypeChange: (value: MdmPatientType) => void;\n handleCodeChange: (id: number, showCodeDescription: boolean) => void;\n handleCategoryChange: (ids: number[]) => void;\n handleCategoryItemChange: (id: number, inputValue: string) => void;\n handleModeChange: (mode: MdmMode) => void;\n handleSpentTimeChanges: (time: number) => void;\n}\n\nexport const NoteMdmComponent: React.FC<NoteMdmComponentProps> = (props: NoteMdmComponentProps) => {\n const {\n error,\n mdms,\n mdmText,\n mdmPatientTypes,\n selectedMdmPatientType,\n selectedCodeId,\n showCodeDescription,\n selectedCategoryIds,\n selectedCategoryItems,\n selectedMode,\n spentTime,\n appointmentDuration,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges\n } = props;\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const getLabel = () => {\n if (authQuery.isLicensingPractice()) {\n return false\n }\n\n return mdms.find(el => el.employeeOnly && selectedMdmPatientType === el.patientType)\n }\n\n const handleAddCommonMdm = (mdm: MdmCommonModel) => {\n const addCommonMdm = mdmText + mdm.description + mdm?.reasons.reduce((reason1, reason2) => reason1 + ' ' + reason2.name, '') + '\\n'\n handleMdmTextChange(addCommonMdm)\n }\n\n const renderViewElement = (mdm: MdmCommonModel) =>\n <Box display='flex' key={mdm.id} mr={1.5} mb={1.5} className={classes.rootView}>\n <Box width='28px' minWidth='28px' display='flex' alignItems='center' mr={1} justifyContent='flex-end'>\n <Box position='relative' pt={0.5}>\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n <Box>\n <Box style={{ whiteSpace: 'pre-line' }}>{mdm.description}</Box>\n {mdm.reasons.map(reason => {\n return <Box style={{ whiteSpace: 'pre-line' }} key={reason.id}>\n <span className={classes.reasonDot}>•</span>\n <span className={classes.reasonName}>{reason.name}</span>\n </Box>\n })}\n </Box>\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className={classes.iconInfo} fontSize='small' style={{ fill: colors.gray2 }} />\n </Tooltip>\n </Box>\n </Box>\n <Box>\n {mdm.name}\n </Box>\n <Box\n className={classes.button}\n onClick={() => handleAddCommonMdm(mdm)}>\n <AddIcon fontSize='small' />\n </Box>\n </Box>\n\nconst renderCommonMdm = () => {\n return <Box mb={3} mt={1}>\n <Box color={colors.gray1}>Most Common MDMs</Box>\n <Box mt={1.5} display='flex' flexWrap='wrap'>\n {notesQuery.getCommonMdms().map(mdm => renderViewElement(mdm ))}\n </Box>\n </Box>\n}\n\n return (\n <Box>\n {renderCommonMdm()}\n <Box>\n <TextFieldNoteComponent\n rows={3}\n title=''\n id='mdm-text-input'\n content={mdmText}\n handleChanged={handleMdmTextChange}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n <Box mt={2} fontWeight={500} display='flex' alignItems='center'>\n <Box>\n <span>Coding</span>\n </Box>\n <Box>\n <Tooltip title=\"Choose new or established patient and then choose MDM or time-based billing. You should select the highest most appropriate code\">\n <IconButton>\n <Info className={commonClasses.colorGray2} />\n </IconButton>\n </Tooltip>\n </Box>\n </Box>\n {\n error &&\n <Box mt={2}>\n <span className={commonClasses.error}>{error}</span>\n </Box>\n }\n <Box mt={2} display='flex' alignItems='center'>\n {\n Array.from(mdmPatientTypes.keys()).map((type, index) => {\n return (\n <Box key={index} display='flex' alignItems='center' ml={index > 0 ? 2 : 0}>\n <Box>\n <WildHealthRadio\n checked={selectedMdmPatientType === type}\n onChange={() => handleMdmPatientTypeChange(type)}\n value={selectedMdmPatientType}\n />\n </Box>\n <Box>\n <span>{mdmPatientTypes.get(type)}</span>\n </Box>\n </Box>\n )\n })\n }\n </Box>\n <Box> {authQuery.isLicensingPractice()\n ? mdms.filter(x => x.patientType === selectedMdmPatientType && !x.employeeOnly).map((mdm) => (\n <Box mt={2}>\n <MdmComponent\n mdm={mdm}\n selectedCodeId={selectedCodeId}\n showCodeDescription={showCodeDescription}\n selectedCategoryIds={selectedCategoryIds}\n selectedCategoryItems={selectedCategoryItems}\n selectedMode={selectedMode}\n spentTime={spentTime}\n appointmentDuration={appointmentDuration}\n handleCodeChange={handleCodeChange}\n handleCategoryChange={handleCategoryChange}\n handleCategoryItemChange={handleCategoryItemChange}\n handleModeChange={handleModeChange}\n handleSpentTimeChanges={handleSpentTimeChanges}\n />\n </Box>\n ))\n : mdms.filter(x => x.patientType === selectedMdmPatientType).map((mdm) => (\n <Box mt={2}>\n <MdmComponent\n mdm={mdm}\n selectedCodeId={selectedCodeId}\n showCodeDescription={showCodeDescription}\n selectedCategoryIds={selectedCategoryIds}\n selectedCategoryItems={selectedCategoryItems}\n selectedMode={selectedMode}\n spentTime={spentTime}\n appointmentDuration={appointmentDuration}\n handleCodeChange={handleCodeChange}\n handleCategoryChange={handleCategoryChange}\n handleCategoryItemChange={handleCategoryItemChange}\n handleModeChange={handleModeChange}\n handleSpentTimeChanges={handleSpentTimeChanges}\n />\n </Box>\n ))}\n {getLabel() && <Box pl={6} mt={2} display='flex' className={commonClasses.colorBad}>\n <Box display='flex' mr={1}>*</Box>\n <Box>For employee use only</Box>\n </Box>}\n </Box>\n </Box>\n );\n}\n","import { Box, Checkbox, Grid, TextField } from '@material-ui/core';\nimport React, { MutableRefObject } from 'react';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { NotePhysicalModel } from '../../models/notes.models';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport { noteSectionsNames, NoteSections } from '../createSoapComponent/createSoapNoteComponent.static';\nimport { handleShortcutInsert } from \"../../../common/helpers/handle-shortcut-insert\";\nimport { TextFieldNoteComponent } from '../textFieldNoteComponent/TextFieldNoteComponent';\n\n\nexport interface PhysicalComponentProps {\n errors: {},\n title: string,\n data: NotePhysicalModel,\n handleDisableVitals: (value: boolean) => void,\n handleNumericChanges: (key: string, value: number) => void,\n handlePhysicalExamChanges: (value: string) => void\n}\n\nexport const PhysicalComponent: React.FC<PhysicalComponentProps> = (props: PhysicalComponentProps) => {\n const {\n errors,\n data,\n handleDisableVitals,\n handleNumericChanges,\n handlePhysicalExamChanges\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n const isObjective = props.title === noteSectionsNames[NoteSections.Objective]\n\n const optiamlExam = 'Gen: Awake and alert in no acute distress\\n' +\n 'Skin: Visualized areas dry without rash or worrisome lesion\\n' +\n 'HEENT: Normocephalic/atraumatic, extraocular movements intact\\n' +\n 'Neck: Full range of motion\\n' +\n 'Respiratory: Breaths are easy and unlabored\\n' +\n 'Psychological: Normal mood and affect\\n' +\n 'Musculoskeletal: Extremities demonstrate full range of motion\\n' +\n 'Neurologic: Face symmetric, speech unimpaired, no evidence of cognitive dysfunction.'\n\n return (\n <Box>\n <Box>\n <span className={commonClasses.textMedium}>Vitals</span>\n </Box>\n <Box mt={2} display='flex' alignItems='center'>\n <Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={data.unableToObtain}\n onChange={(event) => handleDisableVitals(event.target.checked)}\n />\n </Box>\n <Box ml={2}>\n <span>Unable to obtain vitals from the patient during the appointment.</span>\n </Box>\n </Box>\n {\n !data.unableToObtain &&\n <Box>\n {\n !!errors['physicalData'] &&\n <Box my={2} ml={1}>\n <span className={commonClasses.error}>{errors['physicalData']}</span>\n </Box>\n }\n <Grid container>\n <Grid md={6} xs={12}>\n <Box display='flex' justifyContent='space-between' mt={3}>\n <Box px={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>Systolic BP</span>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={data.systolicBP.toString()}\n InputProps={{ className: 'input' }}\n error={!!errors['systolicBP']}\n helperText={errors['systolicBP']}\n onChange={(e) => handleNumericChanges('systolicBP', +e.target.value)}\n />\n </Box>\n <Box ml={2}>\n <span>\n /\n </span>\n </Box>\n </Box>\n </Box>\n <Box> </Box>\n <Box px={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>Diastolic BP</span>\n </Box>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={data.diastolicBP.toString()}\n InputProps={{ className: 'input' }}\n error={!!errors['diastolicBP']}\n helperText={errors['diastolicBP']}\n onChange={(e) => handleNumericChanges('diastolicBP', +e.target.value)}\n />\n </Box>\n <Box px={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>HR</span>\n </Box>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={data.heartRate.toString()}\n InputProps={{ className: 'input' }}\n error={!!errors['heartRate']}\n helperText={errors['heartRate']}\n onChange={(e) => handleNumericChanges('heartRate', +e.target.value)}\n />\n </Box>\n </Box>\n </Grid>\n <Grid md={6} xs={12}>\n <Box display='flex' justifyContent='space-between' mt={3}>\n <Box px={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>Temperature (°F)</span>\n </Box>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={data.temperature.toString()}\n InputProps={{ className: 'input' }}\n error={!!errors['temperature']}\n helperText={errors['temperature']}\n onChange={(e) => handleNumericChanges('temperature', +e.target.value)}\n />\n </Box>\n <Box px={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>Weight (lbs)</span>\n </Box>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={data.weight.toString()}\n InputProps={{ className: 'input' }}\n error={!!errors['weight']}\n helperText={errors['weight']}\n onChange={(e) => handleNumericChanges('weight', +e.target.value)}\n />\n </Box>\n <Box px={1}>\n <Box pb={1}>\n <span className={commonClasses.inputLabel}>Height (inch)</span>\n </Box>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n variant=\"outlined\"\n value={data.height.toString()}\n InputProps={{ className: 'input' }}\n error={!!errors['height']}\n helperText={errors['height']}\n onChange={(e) => handleNumericChanges('height', +e.target.value)}\n />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n }\n <Box mt={5}>\n <Box>\n <span className={commonClasses.textMedium}>{isObjective ? 'Objective' : 'Physical Exam'}</span>\n </Box>\n <Box mt={2}>\n <WildHealthButton\n onClick={() => handlePhysicalExamChanges(optiamlExam)}\n id='normal-pe'\n color='secondary'\n >\n Normal PE\n </WildHealthButton>\n </Box>\n <Box mt={3}>\n <Grid md={6} xs={12}>\n <TextFieldNoteComponent\n rows={12}\n title=''\n id=\"physical-exam-text-input\"\n content={data.physicalExam}\n handleChanged={handlePhysicalExamChanges}\n handleKeyDown={handleShortcutInsert}\n error={!!errors['physicalExam']}\n helperText={errors['physicalExam']}\n />\n </Grid>\n </Box>\n </Box>\n </Box>\n );\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontWeight: 500\n },\n container: {\n marginRight: '10px',\n marginTop: '40px',\n marginBottom: '10px',\n display: 'flex'\n },\n subtitle: {\n fontSize: 12,\n color: colors.gray1,\n textTransform: 'uppercase'\n },\n item: {\n padding: '6.5px 12px 6.5px 12px',\n backgroundColor: colors.separators,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n borderRadius: '2px'\n },\n editIcon: {\n color: colors.main,\n cursor: 'pointer',\n marginLeft: '2rem'\n },\n addIcon: {\n backgroundColor: colors.separators,\n color: colors.main,\n cursor: 'pointer',\n },\n deleteIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n addText: {\n color: colors.main\n }\n })\n);\n","import { Box, FormControl, MenuItem, Select, RadioGroup, FormControlLabel } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from './ItemsListComponent.styles';\nimport { WildHealthCheckbox } from '../WildHealthCheckbox';\nimport { ApoeModel, YesNo } from '../../../inputs/models/input.models';\nimport { apoeNames, apoes, ApoeSoursConstants, apoeSoursNames } from '../../../healthReport/constants/apoe.constants';\nimport { colors } from '../../constants/colors';\nimport { WildHealthRadio } from '../WildHealthRadio';\nimport { WildHealthDatePicker } from '../WildHealthDatePicker';\nimport EditIcon from '@material-ui/icons/Edit'\n\nexport interface ItemsListApoeComponentProps {\n data: ApoeModel\n handleHideApoe: Function\n handleSelectedSours: Function\n handleEditValue: Function\n handleDatePsaChanges: Function\n handleDateColonoscopyChanges: Function\n}\n\nexport const ItemsListApoeComponent: React.FC<ItemsListApoeComponentProps> = (props: ItemsListApoeComponentProps) => {\n const {\n data,\n handleHideApoe,\n handleSelectedSours,\n handleEditValue,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n } = props;\n\n const classes = useStyles();\n\n const getRecommendationText = () => {\n if (!data?.score) {\n return 'We were unable to obtain an APOE that had a higher than 50% accuracy score.'\n }\n if (data?.hideApoe === YesNo.Yes) {\n return 'The patient requested to not be given their APOE result.'\n }\n\n\n return data?.source === ApoeSoursConstants.BloodTest\n ? 'This result is based in a blood test confirmation.'\n : 'The APOE result was obtained through outside source and was not a blood test. The confidence in accuracy is not known.'\n }\n\n const renderEditElement = () =>\n <Box>\n <Box display='flex' flexWrap='wrap' width='100%' >\n <Box mr={2} minWidth='200px' width='50%'>\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"apoe-name\"\n value={data?.score}\n onChange={(v) => handleEditValue(v.target.value)}>\n {\n apoes.map(apoe => {\n return <MenuItem key={apoe} value={apoe}>{apoeNames[apoe]}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n <Box pl={0.5} pt={1}>\n <WildHealthCheckbox\n id={`Patient-Opted-Out`}\n color=\"secondary\"\n fill={colors.main}\n label={<Box display=\"flex\">\n <span>Patient Opted Out</span>\n </Box>}\n checkStatus={data?.hideApoe === YesNo.Yes}\n handleCheck={() => handleHideApoe(data?.hideApoe === YesNo.Yes ? YesNo.No : YesNo.Yes)}\n defaultIcon\n />\n </Box>\n </Box>\n <Box minWidth='200px' >\n <RadioGroup value={data?.source} onChange={(event) => handleSelectedSours(String(event.target.value))}>\n <Box display='flex'>\n <FormControlLabel disabled={data?.hideApoe === YesNo.Yes} key={ApoeSoursConstants.BloodTest} value={ApoeSoursConstants.BloodTest} control={<WildHealthRadio />} label={apoeSoursNames[ApoeSoursConstants.BloodTest]} />\n <FormControlLabel disabled={data?.hideApoe === YesNo.Yes} key={ApoeSoursConstants.Other} value={ApoeSoursConstants.Other} control={<WildHealthRadio />} label={apoeSoursNames[ApoeSoursConstants.Other]} />\n </Box>\n </RadioGroup>\n </Box>\n </Box>\n <Box mt={2} display='flex' flexWrap='wrap' width='100%'>\n <Box pr={2} minWidth='200px' width='50%'>\n <Box style={{ fontWeight: \"bold\" }}>Colonoscopy in past:</Box>\n <Box mt={1}>\n <WildHealthDatePicker\n placeholder='MMM/DD/yyyy'\n openTo='year'\n size='small'\n format='MM/DD/yyyy'\n inputProps={{ disabled: true }}\n inputVariant='outlined'\n value={data?.colonoscopy?.value ?? ''}\n error={false}\n helperText={false}\n onChange={(momentDate) => handleDateColonoscopyChanges(momentDate?.toDate())}\n useKeyboardDatePicker\n keyboardIcon={\n <Box>\n <EditIcon fontSize='small' />\n </Box>\n }\n name='colonoscopy'\n />\n </Box>\n </Box>\n <Box pr={2} minWidth='200px' width='50%'>\n <Box style={{ fontWeight: \"bold\" }}>PSA in the past:</Box>\n <Box mt={1}>\n <WildHealthDatePicker\n placeholder='MMM/DD/yyyy'\n openTo='year'\n size='small'\n format='MM/DD/yyyy'\n inputProps={{ disabled: true }}\n inputVariant='outlined'\n value={data?.psa?.value ?? ''}\n onChange={(momentDate) => handleDatePsaChanges(momentDate?.toDate())}\n useKeyboardDatePicker\n error={false}\n helperText={false}\n keyboardIcon={\n <Box>\n <EditIcon fontSize='small' />\n </Box>\n }\n name='psa'\n />\n </Box>\n </Box>\n\n </Box>\n </Box>\n\n\n\n return (\n <Box>\n <Box display='flex' flexDirection='column'>\n <Box className={classes.container}>\n {renderEditElement()}\n </Box>\n <Box display='flex' mt={3}>\n <Box color={colors.bad} mr={1}>*</Box>\n <Box color={colors.gray1} fontSize={14}>\n {getRecommendationText()}\n </Box>\n </Box>\n </Box>\n </Box>\n );\n}","import { Box, TextField, Grid, IconButton } from '@material-ui/core';\nimport { Add, Delete, Edit } from '@material-ui/icons';\nimport React, { useEffect, useState } from 'react';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { selectShortcutService } from '../../../healthReport/services/selectShortcut.service';\nimport { insertString } from '../../helpers/insert-string';\nimport { useStyles } from './ItemsListComponent.styles';\nimport { Observable } from \"rxjs\";\nimport { isFocusInCurrentTarget } from \"../../helpers/is-focus-in-current-target\";\nimport { TextMarkdownComponent } from '../../../notes/components/textMarkdownComponent/TextMarkdownComponent';\n\nexport interface ItemsListComponentProps {\n title?: string;\n addText?: string;\n subTitle?: string;\n grid?: 6 | 12;\n dataKey: string;\n items: string[];\n getAutoComplete: (searchQuery: string) => Observable<string[]>;\n handleChanges: (key: string, values: string[]) => void\n}\n\ninterface ItemsListComponentState {\n valueToAdd: string;\n valueToEdit: string;\n indexToEdit: number | null;\n options: string[];\n}\n\nlet stateContext: ItemsListComponentState = null;\n\nlet focus = true;\n\nlet isSubmitted = true;\n\nexport const ItemsListComponent: React.FC<ItemsListComponentProps> = (props: ItemsListComponentProps) => {\n const {\n title = null,\n addText = null,\n subTitle = null,\n grid = 12,\n dataKey,\n items,\n getAutoComplete,\n handleChanges,\n } = props;\n\n const [state, setState] = useState({\n valueToAdd: null,\n valueToEdit: null,\n indexToEdit: null,\n options: []\n } as ItemsListComponentState);\n\n stateContext = state;\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (getAutoComplete && stateContext.valueToAdd) {\n getAutoComplete(stateContext.valueToAdd).subscribe((options) => {\n setState(state => ({\n ...state,\n options: options\n }));\n })\n }\n }, 2000);\n\n return () => clearTimeout(delayDebounceFn)\n }, [stateContext.valueToAdd, getAutoComplete]);\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (getAutoComplete && stateContext.valueToEdit) {\n getAutoComplete(stateContext.valueToEdit).subscribe((options) => {\n setState(state => ({\n ...state,\n options: options\n }));\n })\n }\n }, 2000);\n\n return () => clearTimeout(delayDebounceFn)\n }, [stateContext.valueToEdit, getAutoComplete]);\n\n const classes = useStyles();\n\n const handleDeleteItem = (index: number) => {\n items.splice(index, 1);\n\n setState(state => ({\n ...state,\n valueToAdd: null,\n valueToEdit: null,\n indexToEdit: null,\n options: []\n }));\n\n handleChanges(dataKey, items);\n\n isSubmitted = true;\n }\n\n const handleEnableAdd = () => {\n if (state.valueToEdit) {\n items[state.indexToEdit] = state.valueToEdit;\n handleChanges(dataKey, items);\n }\n\n if (!state.valueToEdit && Number.isInteger(state.indexToEdit)) {\n items.splice(state.indexToEdit, 1);\n handleChanges(dataKey, items);\n }\n\n setTimeout(()=>{\n setState(state => ({\n ...state,\n valueToAdd: '',\n valueToEdit: null,\n indexToEdit: null,\n options: []\n }));\n \n isSubmitted = false;\n },250);\n }\n\n const handleAddChanges = (value: string) => {\n setState(state => ({ ...state, valueToAdd: value }));\n }\n\n const handleAddSubmit = () => {\n if (isSubmitted) {\n return;\n }\n\n if (state.valueToAdd !== null && state.valueToAdd !== '') {\n items.push(state.valueToAdd);\n handleChanges(dataKey, items);\n }\n\n setState(state => ({\n ...state,\n valueToAdd: null,\n options: []\n }));\n\n isSubmitted = true;\n }\n\n const handleEnableEdit = (index: number) => {\n if (state.valueToEdit) {\n items[state.indexToEdit] = state.valueToEdit;\n handleChanges(dataKey, items);\n }\n\n if (!state.valueToEdit && Number.isInteger(state.indexToEdit)) {\n items.splice(state.indexToEdit, 1);\n handleChanges(dataKey, items);\n }\n\n setTimeout(()=>{\n setState(state => ({\n ...state,\n indexToEdit: index,\n valueToAdd: null,\n valueToEdit: items[index],\n options: []\n }));\n isSubmitted = false;\n },250);\n\n }\n\n const handleEditChanges = (value: string) => {\n setState(state => ({ ...state, valueToEdit: value }))\n }\n\n const handleSubmitEdit = () => {\n if (isSubmitted) {\n return;\n }\n\n if (state.valueToEdit !== null && state.valueToEdit !== '') {\n items[state.indexToEdit] = state.valueToEdit;\n handleChanges(dataKey, items);\n } else if (state.indexToEdit !== null) {\n items.splice(state.indexToEdit, 1);\n handleChanges(dataKey, items);\n }\n\n setState(state => ({\n ...state,\n valueToAdd: null,\n valueToEdit: null,\n indexToEdit: null,\n options: []\n }));\n\n isSubmitted = true;\n }\n\n const handleOnAddKeyDown = (event: any, id: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n focus = false;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n focus = true;\n data && handleAddChanges(insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n if (event.keyCode === 13 && !event.shiftKey) {\n handleAddSubmit()\n }\n\n event.stopPropagation();\n }\n\n const handleOnEditKeyDown = (event: any, id: string) => {\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n focus = false;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n focus = true;\n data && handleEditChanges(insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n if (event.keyCode === 13 && !event.shiftKey) {\n handleSubmitEdit()\n }\n\n event.stopPropagation();\n }\n\n return (\n <Box>\n {\n title &&\n <Box>\n <span className={classes.title}>{title}</span>\n </Box>\n }\n {\n subTitle &&\n <Box pt={2}>\n <span className={classes.subtitle}>{subTitle}</span>\n </Box>\n }\n <Box mt={2}>\n <Grid container spacing={2}>\n {\n items.map((item, i) => state.indexToEdit === i\n ? (\n <Grid item md={grid} sm={12}>\n <Box display='flex' alignItems='center' justifyContent=\"space-between\" width={1} onBlur={(e) => {\n setTimeout(() => {\n if (!isFocusInCurrentTarget(e)) {\n focus && handleSubmitEdit()\n }\n }, 200)\n }}>\n <Box width={0.9}>\n <TextField\n autoFocus\n id={`${dataKey}-item-list-edit`}\n onKeyDown={(e) => handleOnEditKeyDown(e, `${dataKey}-item-list-edit`)}\n fullWidth\n minRows={1}\n maxRows={15}\n multiline\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={state.valueToEdit}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleEditChanges(e.target.value)}\n />\n </Box>\n <Box ml={2}>\n <IconButton className={classes.deleteIcon} onClick={() => handleDeleteItem(i)}>\n <Delete />\n </IconButton>\n </Box>\n </Box>\n </Grid>\n )\n : <Grid item md={grid} sm={12}>\n <Box id={`pmh=${dataKey}-${i}`} className={classes.item}>\n <Box>\n <TextMarkdownComponent content={item} />\n </Box>\n <Box className={classes.editIcon} onClick={() => handleEnableEdit(i)} ml={2}>\n <Edit />\n </Box>\n </Box>\n </Grid>\n )\n }\n {\n state.valueToAdd !== null\n ? (\n <Grid item md={grid} sm={12}>\n <Box>\n <TextField\n autoFocus\n id={`${dataKey}-item-list-add`}\n onBlur={() => {\n setTimeout(() => {\n focus && handleAddSubmit()\n }, 200)\n }}\n multiline\n label={addText}\n minRows={1}\n maxRows={15}\n onKeyDown={(e) => handleOnAddKeyDown(e, `${dataKey}-item-list-add`)}\n fullWidth\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={state.valueToAdd}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleAddChanges(e.target.value)}\n />\n </Box>\n </Grid>\n )\n : (\n <Grid item md={grid} sm={12}>\n <Box display='flex' alignItems='stretch'>\n <Box onClick={() => handleEnableAdd()}>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>{addText ?? 'Add'}</span>\n </Box>\n </Box>\n </Grid>\n )\n }\n </Grid>\n </Box>\n </Box>\n );\n}","import { createStyles, makeStyles } from '@material-ui/core/styles'\nimport { colors } from '../../../common/constants/colors'\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n rootView: {\n fontSize: 14,\n minHeight: 30,\n borderRadius: 2,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 64,\n paddingRight: 14,\n paddingLeft: 14,\n color: '#091D36',\n backgroundColor: '#EFF3F8'\n },\n input:{\n height: '10px'\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n deleteButton: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.bad,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n }\n })\n)","import { useStyles } from './BlockItemComponent.styles'\nimport { useFacade } from './blockItemComponent.hooks'\nimport { Box, TextField, Tooltip } from '@material-ui/core'\nimport DeleteIcon from '@material-ui/icons/Delete'\nimport EditIcon from '@material-ui/icons/Edit'\nimport React from 'react'\nimport { isFocusInCurrentTarget } from \"../../../common/helpers/is-focus-in-current-target\";\nimport { colors } from '../../../common/constants/colors';\nimport InfoIcon from '@material-ui/icons/InfoRounded';\n\ninterface BlockItemComponentProps {\n editMode: boolean\n itemKey: string\n value: string\n name: string\n tooltip?: string\n sectionOfNote?: string\n handleEditItem?: Function\n}\n\nexport const BlockItemComponent: React.FC<BlockItemComponentProps> = (props: BlockItemComponentProps) => {\n const {\n editMode,\n itemKey,\n value,\n name,\n tooltip = '',\n sectionOfNote,\n handleEditItem = () => { },\n } = props\n\n const [\n state,\n handleEditValue,\n handleEditMode,\n handleDelete,\n handleBlur,\n setInitialState,\n ] = useFacade()\n\n const classes = useStyles()\n\n const renderViewElement = () =>\n <Box className={classes.rootView}>\n <Box display='flex' alignItems='center' style={{ whiteSpace: 'pre-line' }}>\n {\n name &&\n <Box mr={1}>\n <b>{name}:</b>\n </Box>\n }\n <Box style={{ whiteSpace: 'pre-line' }}>\n {value}\n </Box>\n\n {\n tooltip && <Box width='30px' minWidth='30px' display='flex' justifyContent='flex-end'>\n <Tooltip placement=\"top\" arrow\n title={tooltip}>\n <InfoIcon fontSize='small' style={{ fill: colors.gray2 }} />\n </Tooltip>\n </Box>\n }\n {\n editMode &&\n <Box className={classes.button} onClick={() => handleEditMode(true, value, itemKey)}>\n <EditIcon fontSize='small' />\n </Box>\n }\n </Box>\n </Box>\n\n const renderEditElement = () =>\n <Box display='flex' alignItems='center' >\n <TextField\n onChange={(e) => { handleEditValue(e.target.value) }}\n onBlur={(e) => {\n setTimeout(() => {\n if (!isFocusInCurrentTarget(e)) {\n if (sectionOfNote) {\n handleEditItem(sectionOfNote, state.selectedKey, state.editValue)\n setInitialState()\n } else {\n handleBlur()\n }\n }\n }, 250)\n }}\n placeholder=\"Type here...\"\n value={state.editValue}\n variant=\"outlined\"\n size=\"small\"\n fullWidth\n autoFocus\n required\n />\n {\n <Box id='block-delete-button' className={classes.deleteButton} onClick={() => {\n if (sectionOfNote) {\n handleEditItem(sectionOfNote, state.selectedKey, state.editValue, true)\n setInitialState()\n } else {\n handleDelete()\n }\n }}>\n <DeleteIcon fontSize='small' />\n </Box>\n }\n </Box>\n\n return editMode && state.editMode ? renderEditElement() : renderViewElement()\n}","export enum HealthSummarySectionType {\n None = 1,\n List = 5,\n Block = 10,\n Content = 15\n}\n\nexport enum HealthSummarySectionPosition {\n Left = 5,\n Right = 10,\n Bottom = 15\n}\n\nexport interface HealthSummaryMapItemModel {\n viewLabelCondition: string\n dateFormat: string\n subSection: string \n name: string\n key: string\n value: string\n tooltip?: string\n}\n\nexport interface HealthSummaryMapModel {\n sectionPosition: HealthSummarySectionPosition\n editSectionType: HealthSummarySectionType\n sectionType: HealthSummarySectionType\n items: HealthSummaryMapItemModel[]\n editRestricted: boolean\n useNameValue: boolean\n useJsonData: boolean\n valueColumn: string\n nameColumn: string\n section: string\n order: number\n key: string\n}\n\nexport interface HealthSummaryDataModel {\n isDeleted: boolean\n patientId: number\n isNew: boolean\n value: string\n name: string\n key: string\n id: number\n tooltip: string\n}\n\nexport interface HealthSummaryDraftModel extends HealthSummaryDataModel { \n section: string\n}\n\nexport interface HealthSummaryListDataModel {\n value: string\n name: string\n key: string\n tooltip?: string\n}","import { healthSummaryQuery, healthSummaryStore } from '../../stores'\nimport { useState } from 'react'\n\nexport interface BlockItemsComponentState {\n selectedKey: string\n editValue: string\n editMode: boolean\n}\n\nexport function useFacade(): [\n BlockItemsComponentState,\n Function,\n Function,\n Function,\n Function,\n Function\n] {\n const [state, setState] = useState({\n selectedKey: null,\n editMode: false,\n editValue: null\n } as BlockItemsComponentState)\n\n const handleEditMode = (editMode: boolean, value: string, selectedKey: string) => {\n setState({\n ...state,\n selectedKey: selectedKey,\n editMode: editMode,\n editValue: value,\n })\n }\n\n const setInitialState = () => {\n setState(state => ({\n ...state,\n selectedKey: null,\n editMode: false,\n editValue: null\n }))\n }\n\n const handleDelete = () => {\n healthSummaryStore.delete(state.selectedKey, true)\n\n setInitialState()\n }\n\n const handleBlur = () => {\n const dataItem = healthSummaryQuery.getDataItem(state.selectedKey)\n\n if (!dataItem) {\n return\n }\n\n dataItem.value = state.editValue\n\n healthSummaryStore.edit(dataItem)\n\n setInitialState()\n }\n\n const handleEditValue = (value: string) => {\n setState({\n ...state,\n editValue: value\n })\n }\n\n return [\n state,\n handleEditValue,\n handleEditMode,\n handleDelete,\n handleBlur,\n setInitialState,\n ]\n}","import { colors } from '../../../common/constants/colors'\nimport { makeStyles } from '@material-ui/core/styles'\n\nexport const useStyles = makeStyles({\n container: {\n marginRight: '10px',\n marginTop: '10px',\n marginBottom: '10px',\n display: 'flex'\n },\n title: {\n fontWeight: 500\n },\n itemsBlock: {\n display: 'flex',\n flexWrap: 'wrap'\n },\n columnFormat: {\n display: 'flex',\n flexDirection: 'column'\n },\n rowFormat: {\n display: 'flex',\n flexDirection: 'row'\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n }\n})","import {\n HealthSummaryDataModel,\n HealthSummaryMapItemModel,\n HealthSummaryMapModel\n} from '../../models/healthSummary.models'\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent'\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models'\nimport { BlockItemComponent } from '../blockItemComponent/BlockItemComponent'\nimport { getKey, onlyUnique } from '../../helpers/healthSummaryHelper'\nimport { useStyles } from './HealthSummaryBlockItemsComponent.styles'\nimport { Box, Button, TextField } from '@material-ui/core'\nimport { colors } from '../../../common/constants/colors'\nimport AddIcon from '@material-ui/icons/Add'\nimport moment from 'moment'\nimport React from 'react'\nimport { HealthSummaryListItemsNoteComponentState } from '../../../notes/components/createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.hooks'\n\nexport interface HealthSummaryBlockItemsNoteComponentProps {\n data: HealthSummaryDataModel[]\n map: HealthSummaryMapModel\n rowFormat: boolean\n handleAddInformation: Function\n handleEditNewItem: Function\n handleSaveNewItem: Function\n handleEditItem: Function\n state: HealthSummaryListItemsNoteComponentState\n sectionOfNote: string\n}\n\nexport const HealthSummaryBlockItemsNoteComponent: React.FC<HealthSummaryBlockItemsNoteComponentProps> = (props: HealthSummaryBlockItemsNoteComponentProps) => {\n const {\n data,\n map,\n rowFormat,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n state,\n sectionOfNote,\n } = props\n\n const classes = useStyles()\n\n const buildItems = (item: HealthSummaryMapItemModel) => {\n const newItem = (key: string, val: string, name: string = item.name, tooltip: string = '') => ({ key: key, name: name, value: val, tooltip: tooltip })\n\n const valueItems = data.filter(x => getKey(x.key) === item.key)\n\n const result = valueItems.map(valueItem => {\n if (!valueItem) {\n return newItem(item.key, '', item.name, '')\n }\n\n //use name as value if it is needed\n const value = map.useNameValue ? valueItem.name : valueItem.value\n //using name to view label\n if (item.viewLabelCondition === value) {\n return newItem(valueItem.key, item.name, '', valueItem.tooltip)\n }\n\n //apply date format\n if (item.dateFormat) {\n const date = moment(value)\n\n const formatedValue = date.isValid() ? date.format(item.dateFormat) : value\n\n return newItem(valueItem.key, formatedValue)\n }\n\n return newItem(valueItem.key, value, item.name, valueItem.tooltip)\n })\n\n return result\n }\n\n const getFooter = (items?: HealthSummaryMapItemModel[]) => {\n switch (map.key) {\n case 'SCREENING_HEALTH_MAINTENANCE': {\n\n const recommendation = items.find(it => it.key === 'APOE_RECOMMENDATION');\n const scorePercentage = items.find(it => it.key === 'APOE_ACCURACY_SCORE_VALUE');\n\n if (recommendation) {\n return <Box className={classes.rowFormat} mt={3}>\n <Box color={colors.bad} mr={1}>*</Box>\n <Box color={colors.gray1} fontSize={14}>\n <span style={{ fontWeight: \"bold\" }}>{recommendation.value}</span> Apo-ε is a challenging gene to test because it resides\n on a very dense section of your genome. We take nearly 100 separate readings to help\n translate the results and have developed a proprietary algorithm to generate the highest\n possible accuracy. We also report the accuracy of this gene in order to better understand\n the confidence of this test. More accurate laboratory testing is available if necessary or\n desired.\n </Box>\n </Box>\n } else {\n return <Box className={classes.rowFormat} mt={3}>\n <Box color={colors.bad} mr={1}>*</Box>\n <Box color={colors.gray1} fontSize={14}>Apo-ε is a challenging gene to test because it resides\n on a very dense section of your genome. We take nearly 100 separate readings to help\n translate the results and have developed a proprietary algorithm to generate the highest\n possible accuracy. We also report the accuracy of this gene in order to better understand\n the confidence of this test. More accurate laboratory testing is available if necessary or\n desired.</Box>\n </Box>\n }\n }\n default:\n return ''\n }\n }\n\n const getItemsByMapKey = (items, section) => {\n\n switch (map.key) {\n case 'SCREENING_HEALTH_MAINTENANCE':\n return items.filter(it => !it.key.includes('APOE')).map((item) =>\n item.value &&\n <Box className={classes.container}>\n <BlockItemComponent\n editMode={!newItem(section)}\n value={item.value}\n itemKey={item.key}\n name={map.useNameValue ? '' : item.name}\n sectionOfNote={sectionOfNote}\n handleEditItem={handleEditItem} \n />\n </Box>)\n case 'PROBLEMS_LIST':\n return items.map((item) =>\n item.value &&\n <Box className={classes.container}>\n <BlockItemComponent\n editMode={!newItem(section)}\n value={item.value}\n itemKey={item.key}\n name={map.useNameValue ? '' : item.name}\n tooltip={item.tooltip}\n sectionOfNote={sectionOfNote}\n handleEditItem={handleEditItem}\n />\n </Box>)\n default:\n return items.map((item) =>\n item.value &&\n <Box className={classes.container}>\n <BlockItemComponent\n editMode={!newItem(section)}\n value={item.value}\n itemKey={item.key}\n name={map.useNameValue ? '' : item.name}\n sectionOfNote={sectionOfNote}\n handleEditItem={handleEditItem}\n />\n </Box>)\n }\n }\n\n const getHeader = (items) => {\n\n switch (map.key) {\n case \"SCREENING_HEALTH_MAINTENANCE\": {\n const apoeStatus = items.find(it => it.key === 'APOE_STATUS_VALUE');\n const apoeLabel = items.find(it => it.key === 'APOE_STATUS_LABEL');\n const apoeScore = items.find(it => it.key === 'APOE_ACCURACY_SCORE_VALUE');\n return !!apoeStatus ?\n <>\n <Box><span style={{ fontWeight: \"bold\" }}>{apoeLabel?.value}</span>: Apo-{apoeStatus?.value} ({parseFloat(apoeScore.value)}%)</Box><Box color={colors.bad} mr={1}>*</Box>\n </> : null\n }\n default:\n return null\n\n }\n\n }\n\n const getItems = (subSection: string) => {\n const newItem = (item) => ({\n key: item.key,\n name: map.useNameValue ? map.useNameValue : item.name,\n value: map.useNameValue ? item.name : item.value,\n tooltip: item?.tooltip\n })\n\n const subSectionItems = data\n .filter(x => x.key.includes(map.key) && x.key.includes(subSection ?? ''))\n .map(x => newItem(x))\n\n return map.items\n .filter(x => x.subSection === subSection)\n .flatMap(x => buildItems(x))\n .concat(subSectionItems)\n }\n\n const subSubsectionItem = (section: string, items) => ({\n section: section,\n items: items,\n hasItems: !!items.length\n })\n\n const sections = map.items\n .map(x => x.subSection)\n .filter(onlyUnique)\n .map(section => {\n return subSubsectionItem(section, getItems(section))\n })\n\n const newItem = (section: string) => state?.draft.find(x => x.section === section && x.isNew)\n\n const AddInformationItem = (section: string) =>\n <FeatureComponent featureFlag={FeatureFlag.HealthSummaryEdit}>\n {\n !newItem(section) &&\n <Button className={classes.button} onClick={() => {\n handleAddInformation(section, sectionOfNote, map)\n }}>\n <AddIcon fontSize='small' />\n <Box className={classes.buttonText}>Add Condition</Box>\n </Button>\n }\n {\n newItem(section) &&\n <Box display='flex' alignItems='center'>\n <TextField\n onChange={(e) => {\n handleEditNewItem(e.target.value)\n }}\n onBlur={() => {\n handleSaveNewItem(sectionOfNote)\n }}\n value={newItem(section).value}\n placeholder=\"Type here...\"\n variant=\"outlined\"\n size=\"small\"\n autoFocus\n required\n />\n </Box>\n }\n </FeatureComponent>\n return <Box className={classes.columnFormat} mt={2}>\n <Box className={rowFormat ? classes.rowFormat : classes.columnFormat}>\n {\n sections.map(({ section, items }) => {\n switch (map.key) {\n case \"SCREENING_HEALTH_MAINTENANCE\":\n return <Box>\n <Box className={classes.title}>{section}</Box>\n <Box className={classes.itemsBlock}>\n {\n getHeader(items)\n }\n </Box>\n <Box>\n {\n getItemsByMapKey(items, section)\n }\n </Box>\n {AddInformationItem(section)}\n {getFooter(items)}\n </Box>\n default: {\n return <Box>\n <Box className={classes.title}>{section}</Box>\n <Box className={classes.itemsBlock}>\n {\n getItemsByMapKey(items, section)\n }\n </Box>\n {AddInformationItem(section)}\n </Box>\n }\n }\n }\n )\n }\n </Box>\n </Box>\n}","import {Box, Grid} from '@material-ui/core';\nimport React from 'react';\nimport {Observable} from 'rxjs';\nimport {ItemsListApoeComponent} from '../../../common/components/itemsListComponent/ItemsListApoeComponent';\nimport {ItemsListComponent} from '../../../common/components/itemsListComponent/ItemsListComponent';\nimport {WildHealthTabControl} from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport {useStylesSimpleTabs} from '../../../common/components/wildHealthTabControl/wildHealthTabControl.styles';\nimport {\n HealthSummaryBlockItemsNoteComponent\n} from '../../../healthSummary/components/blockItemsComponent/HealthSummaryBlockItemsNoteComponent';\nimport {\n HealthSummaryListItemsNoteComponent\n} from '../../../healthSummary/components/listItemsComponent/HealthSummaryListItemsNoteComponent';\nimport {HealthSummaryMapModel, HealthSummarySectionType} from '../../../healthSummary/models/healthSummary.models';\nimport {HealthSummaryNoteKeySectionNames, PmhModel, PmhModelNew} from '../../models/notes.models';\nimport {\n HealthSummaryListItemsNoteComponentState\n} from '../createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.hooks';\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\n\nexport interface PmhComponentProps {\n data: PmhModel,\n patientId: number,\n dataNew: PmhModelNew,\n map?: HealthSummaryMapModel[],\n newVersion: boolean;\n handleChangesOldPmh: (key: string, values: string[]) => void,\n\n getIcdCodesAutoComplete: (searchQuery: string) => Observable<string[]>,\n handleToggleActions: Function,\n handleEditRowValue: Function,\n handleEditRowName: Function,\n handleAddNewRow: Function,\n handleDelete: Function,\n handleEdit: Function,\n handleBlur: Function,\n saveValue: Function,\n handleAddInformation: Function,\n handleEditNewItem: Function,\n handleSaveNewItem: Function,\n handleEditItem: Function,\n state: HealthSummaryListItemsNoteComponentState,\n handleHideApoe: Function,\n handleSelectedSoursApoe: Function, \n handleEditApoe: Function,\n handleDateColonoscopyChanges: Function,\n handleDatePsaChanges: Function,\n}\n\nexport const PmhComponent: React.FC<PmhComponentProps> = (props: PmhComponentProps) => {\n const {\n data,\n patientId,\n dataNew,\n map = [],\n newVersion = false,\n handleChangesOldPmh,\n\n getIcdCodesAutoComplete,\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n state,\n handleHideApoe,\n handleSelectedSoursApoe, \n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges\n } = props;\n\n const styleTabs = useStylesSimpleTabs()\n\n const buildSectionComponent = (section: string, data, map: HealthSummaryMapModel, rowFormat?: boolean, rxnt: boolean = false) => {\n const sectionType = map.editSectionType;\n\n switch (sectionType) {\n case HealthSummarySectionType.Block:\n return (\n section === 'screeningHealthMaintenanceApoe'\n ? <ItemsListApoeComponent\n data={data}\n handleHideApoe={handleHideApoe}\n handleSelectedSours={handleSelectedSoursApoe}\n handleEditValue={handleEditApoe}\n handleDatePsaChanges={handleDatePsaChanges}\n handleDateColonoscopyChanges={handleDateColonoscopyChanges}\n />\n : <HealthSummaryBlockItemsNoteComponent\n data={data}\n rowFormat={rowFormat}\n map={map}\n handleAddInformation={handleAddInformation}\n handleEditNewItem={handleEditNewItem}\n handleEditItem={handleEditItem}\n handleSaveNewItem={handleSaveNewItem}\n state={state}\n sectionOfNote={section}\n />\n )\n case HealthSummarySectionType.List:\n return (\n <HealthSummaryListItemsNoteComponent\n data={data}\n map={map}\n getIcdCodesAutoComplete={getIcdCodesAutoComplete}\n handleToggleActions={handleToggleActions}\n handleEditRowValue={handleEditRowValue}\n handleEditRowName={handleEditRowName}\n handleAddNewRow={handleAddNewRow}\n handleDelete={handleDelete}\n handleEdit={handleEdit}\n handleBlur={handleBlur}\n saveValue={saveValue}\n patientId={patientId}\n state={state}\n section={section}\n rxnt={rxnt}\n />\n )\n }\n }\n\n const pmhListTabs = [\n {\n title: 'Allergies',\n content: (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n {\n buildSectionComponent('allergies', dataNew?.allergies, map.find(el => el.key === HealthSummaryNoteKeySectionNames.ALLERGIES))\n }\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n {\n buildSectionComponent('allergies', dataNew?.rxntAllergies?.map((x, index) => ({\n key: `'allergies'-${index}`,\n name: x.name,\n value: x.description,\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: index,\n tooltip: ''\n })), map.find(el => el.key === HealthSummaryNoteKeySectionNames.ALLERGIES), false, true)\n }\n </FeatureComponent>\n </>\n ),\n keepMounted: true,\n },\n {\n title: 'Problem List',\n content: (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n {\n buildSectionComponent('currentMedicalConditions', dataNew?.currentMedicalConditions, map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST))\n }\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n {\n buildSectionComponent('currentMedicalConditions', dataNew?.currentMedicalConditions, map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST), false, true)\n }\n </FeatureComponent>\n </>\n ),\n keepMounted: true,\n },\n {\n title: 'Fam HX',\n content: buildSectionComponent('famHX', dataNew?.famHX, map.find(el => el.key === HealthSummaryNoteKeySectionNames.FAMILY_HISTORY)),\n keepMounted: true,\n },\n {\n title: 'Social HX',\n content: buildSectionComponent('socialHX', dataNew?.socialHX, map.find(el => el.key === HealthSummaryNoteKeySectionNames.SOCIAL_HISTORY)),\n keepMounted: true,\n },\n {\n title: 'Lifestyle HX',\n content: buildSectionComponent('lifestyleHX', dataNew?.lifestyleHX, map.find(el => el.key === HealthSummaryNoteKeySectionNames.LIFESTYLE_HISTORY)),\n keepMounted: true,\n },\n {\n title: 'Screening/Health Maintenance',\n content: buildSectionComponent('screeningHealthMaintenanceApoe', dataNew?.screeningHealthMaintenanceApoe, map.find(el => el.key === HealthSummaryNoteKeySectionNames.SCREENING_HEALTH_MAINTENANCE)),\n keepMounted: true,\n },\n {\n title: 'Surgical HX',\n content: buildSectionComponent('surgicalHX', dataNew?.surgicalHX, map.find(el => el.key === HealthSummaryNoteKeySectionNames.SURGICAL_HISTORY)),\n keepMounted: true,\n },\n ];\n\n\n return (\n newVersion\n ? <Box><WildHealthTabControl items={pmhListTabs} className={styleTabs} /></Box>\n : <Box>\n <Grid container spacing={2}>\n <Grid md={4} xs={12}>\n <Box mt={5} px={3}>\n <ItemsListComponent\n title='Allergies'\n addText='Add Medication'\n dataKey='allergies'\n items={data.allergies}\n grid={12}\n getAutoComplete={null}\n handleChanges={handleChangesOldPmh}\n />\n </Box>\n </Grid>\n <Grid md={4} xs={12}>\n <Box mt={5} px={3}>\n <ItemsListComponent\n title='Problem List'\n addText='Add Medical Condition'\n dataKey='currentMedicalConditions'\n items={data.currentMedicalConditions}\n getAutoComplete={null}\n grid={12}\n handleChanges={handleChangesOldPmh}\n />\n </Box>\n </Grid>\n <Grid md={4} xs={12}>\n <Box mt={5} px={3}>\n <ItemsListComponent\n title='Fam HX'\n addText='Add Family Condition'\n dataKey='famHX'\n items={data.famHX}\n getAutoComplete={null}\n grid={12}\n handleChanges={handleChangesOldPmh}\n />\n </Box>\n </Grid>\n <Grid md={4} xs={12}>\n <Box mt={5} px={3}>\n <ItemsListComponent\n title='Screening/Health Maintenance'\n addText='Add Condition'\n dataKey='screeningHealthMaintenance'\n items={data.screeningHealthMaintenance}\n getAutoComplete={null}\n grid={12}\n handleChanges={handleChangesOldPmh}\n />\n </Box>\n </Grid>\n <Grid md={4} xs={12}>\n <Box mt={5} px={3}>\n <ItemsListComponent\n title='Surgical HX'\n addText='Add Surgical Condition'\n dataKey='surgicalHX'\n items={data.surgicalHX}\n getAutoComplete={null}\n grid={12}\n handleChanges={handleChangesOldPmh}\n />\n </Box>\n </Grid>\n <Grid md={4} xs={12}>\n <Box mt={5} px={3}>\n <ItemsListComponent\n title='Social/Lifestyle HX'\n addText='Add Condition'\n dataKey='socialLifestyleHX'\n items={data.socialLifestyleHX}\n getAutoComplete={null}\n grid={12}\n handleChanges={handleChangesOldPmh}\n />\n </Box>\n\n </Grid>\n </Grid>\n </Box>\n );\n}","import { Box, Checkbox, TextField } from '@material-ui/core';\nimport Autocomplete from '@material-ui/lab/Autocomplete';\nimport React, {useState} from 'react';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../common/constants/colors';\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport interface RosComponentProps {\n rosEnabled: boolean;\n variants: string[];\n selectedVariants: string[];\n handleChanges: (values: string[]) => void,\n handleEnableRos: (value: boolean) => void,\n errors: {}\n}\n\nexport const RosComponent: React.FC<RosComponentProps> = (props: RosComponentProps) => {\n const {\n rosEnabled,\n variants,\n selectedVariants,\n handleChanges,\n handleEnableRos,\n errors\n } = props;\n\n const controlIcon = <CheckBoxOutlineBlankIcon style={{ fill: colors.mediumGray }} />;\n const controlCheckedIcon = <CheckBoxIcon style={{ fill: colors.main }} />\n const [other, setOther] = useState('');\n const commonClasses = commonUseStyles();\n\n\n const handleKeyPress = (e) => {\n if (e.key === 'Enter' && other && other.length) {\n handleChanges([...selectedVariants, other]);\n }\n }\n\n return (\n <Box>\n {\n !!errors['ROS'] &&\n <Box my={2} ml={1}>\n <span className={commonClasses.error}>{errors['ROS']}</span>\n </Box>\n }\n <Box display='flex' alignItems='center'>\n <Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={rosEnabled}\n onChange={(event) => handleEnableRos(event.target.checked)}\n />\n </Box>\n <Box ml={2}>\n <span>All systems reviewed and negative except</span>\n </Box>\n </Box>\n {\n rosEnabled && \n <Box mt={2}>\n <Autocomplete\n size='small'\n multiple\n disableClearable\n disableCloseOnSelect\n options={variants}\n value={selectedVariants}\n getOptionLabel={variant => variant}\n onChange={(e, values) => handleChanges(values)}\n renderOption={(props) => (\n <Box display='flex' alignItems='center'>\n <Box>\n <Checkbox\n icon={controlIcon}\n color=\"primary\"\n checkedIcon={controlCheckedIcon}\n checked={selectedVariants.includes(props)}\n />\n </Box>\n <Box ml={2}>\n <span>{props}</span>\n </Box>\n </Box>\n )}\n renderInput={(params) => (\n <TextField\n {...params}\n margin=\"normal\"\n variant=\"outlined\"\n value={selectedVariants}\n onKeyPress={(e) => handleKeyPress(e)}\n onChange={(e) => setOther(e.target.value)}\n InputProps={{ ...params.InputProps, type: 'search' }}\n />\n )}\n />\n </Box>\n }\n </Box>\n );\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n rootView: {\n fontSize: 14,\n minHeight: 28,\n borderRadius: 2,\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n paddingRight: 10,\n paddingLeft: 10,\n backgroundColor: colors.separators,\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14\n },\n })\n);\n","import {Box, Grid} from '@material-ui/core';\nimport React, {useState} from 'react';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {MedicationsComponent} from '../../../patientSupplements/components/medicationsComponent/MedicationsComponent';\nimport {SupplementsComponent} from '../../../patientSupplements/components/supplementsComponent/SupplementsComponent';\nimport {\n MedicationsDCComponent\n} from '../../../patientSupplements/components/medicationsSupplementsDCComponent/MedicationsDCComponent';\nimport {\n SupplementsDCComponent\n} from '../../../patientSupplements/components/medicationsSupplementsDCComponent/SupplementsDCComponent';\nimport {MedicationItem, NotesType, RxntMedicationItemModel, SupplementItem} from '../../models/notes.models';\nimport {useStylesSimpleTabs} from '../../../common/components/wildHealthTabControl/wildHealthTabControl.styles';\nimport {WildHealthTabControl} from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport AddIcon from '@material-ui/icons/Add';\nimport {useStyles} from './supplementsMedicationsComponent.styles';\nimport {notesQuery} from '../../stores/notes';\nimport {FullscriptSupplementModel} from \"../../../patientSupplements/models/fullscriptSupplementModels\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {\n MedicationsRxNTComponent\n} from \"../../../patientSupplements/components/medicationsRxNTComponent/MedicationsRxNTComponent\";\nimport {\n RxntMedicationsDCComponent\n} from \"../../../patientSupplements/components/medicationsSupplementsDCComponent/RxntMedicationsDCComponent\";\n\nexport interface SupplementsMedicationsComponentProps {\n patientId: number;\n noteType: NotesType;\n medications: MedicationItem[];\n supplements: SupplementItem[];\n rxntMedications: RxntMedicationItemModel[];\n fullscriptSupplements: FullscriptSupplementModel[];\n handleAddMedications: (medication: MedicationItem) => void,\n handleAddSupplements: (supplement: SupplementItem) => void,\n handleFullscriptSupplements: (supplements: FullscriptSupplementModel[]) => void,\n handleEditMedications: (medication: MedicationItem) => void,\n handleEditSupplements: (supplement: SupplementItem) => void,\n handleRemoveMedications: (id: number) => void,\n handleRemoveSupplements: (id: number) => void,\n handleMedicationStopped: (id: number, isChecked: boolean) => void,\n handleSupplementStopped: (id: number, isChecked: boolean) => void,\n}\n\nexport const SupplementsMedicationsComponent: React.FC<SupplementsMedicationsComponentProps> = (props: SupplementsMedicationsComponentProps) => {\n const {\n patientId,\n noteType,\n medications,\n supplements,\n rxntMedications,\n fullscriptSupplements,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n } = props;\n const [selectedTab, setSelectedTab] = useState(0);\n\n const handleChangeTab = (tab: number) => {\n setSelectedTab(tab);\n }\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const recommendedListTabs = [\n {\n title: 'Medications',\n content: (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n <MedicationsComponent\n items={medications.filter(i => !i.isInCurrent)}\n handleAddMedications={handleAddMedications}\n handleEditMedications={handleEditMedications}\n handleRemoveMedications={handleRemoveMedications}\n />\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n <MedicationsRxNTComponent\n patientId={patientId}\n items={rxntMedications?.filter(i => !i.isInCurrent) ?? []}\n />\n </FeatureComponent>\n </>\n ),\n keepMounted: true,\n },\n {\n title: 'Supplements',\n content: (\n <SupplementsComponent\n patientId={patientId}\n items={supplements.filter(i => !i.isInCurrent)}\n fullscriptSupplements={fullscriptSupplements}\n handleAddSupplements={handleAddSupplements}\n handleFullscriptSupplements={handleFullscriptSupplements}\n handleEditSupplements={handleEditSupplements}\n handleRemoveSupplements={handleRemoveSupplements}\n />\n ),\n keepMounted: true,\n },\n ];\n\n const currentListTabs = [\n {\n title: 'Medications',\n content: (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n <MedicationsDCComponent\n items={medications.filter(i => i.isInCurrent)}\n handleMedicationsIsStoppedChange={(id: number, isChecked: boolean) => handleMedicationStopped(id, isChecked)}\n />\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n <RxntMedicationsDCComponent items={rxntMedications}/>\n </FeatureComponent>\n </>\n ),\n keepMounted: true,\n },\n {\n title: 'Supplements',\n content: (\n <SupplementsDCComponent\n items={supplements.filter(i => i.isInCurrent)}\n handleMedicationsIsStoppedChange={(id: number, isChecked: boolean) => handleSupplementStopped(id, isChecked)}\n />\n ),\n keepMounted: true,\n },\n ];\n\n const renderViewElement = (supplement: SupplementItem) =>\n <Box display='flex' key={supplement.id} mr={1.5} mb={1.5} className={classes.rootView}>\n <Box>\n {supplement.name}\n </Box>\n <Box\n id={`select-common-supplements-${noteType}`}\n className={classes.button}\n onClick={() => {\n handleChangeTab(1)\n handleAddSupplements(supplement)\n }}>\n <AddIcon fontSize='small' />\n </Box>\n </Box>\n\n const renderCommonSupplements = () => {\n return <Box mb={3} mt={1}>\n <Box className={commonClasses.colorGray1}>Common Supplements</Box>\n <Box mt={1.5} display='flex' flexWrap='wrap'>\n {notesQuery.getCommonSupplements().map(supplement => renderViewElement(supplement))}\n </Box>\n </Box>\n }\n\n return (\n <Box my={2}>\n {noteType !== NotesType.Soap && renderCommonSupplements()}\n <Grid container spacing={2}>\n <Grid item xs={12} sm={6}>\n <Box>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box alignItems=\"center\" className={commonClasses.textMedium} py={1}>\n <span>Recommended List</span>\n </Box>\n </Box>\n <Box>\n <WildHealthTabControl items={recommendedListTabs} className={useStylesSimpleTabs()} initTab={selectedTab} onChangeCB={handleChangeTab} />\n </Box>\n </Box>\n </Grid>\n\n <Grid item xs={12} sm={6}>\n <Box>\n <Box display='flex' justifyContent=\"space-between\" alignItems=\"center\">\n <Box className={commonClasses.textMedium} py={1}>\n <span>Current List</span>\n </Box>\n </Box>\n <Box>\n <WildHealthTabControl items={currentListTabs} className={useStylesSimpleTabs()} />\n </Box>\n </Box>\n </Grid>\n </Grid>\n </Box>\n );\n}","export class DetailedQuestionNames {\n static readonly CARDIOVASCULAR: string = \"CARDIOVASCULAR\";\n static readonly CARDIOVASCULAR_VARIANTS: string = \"CARDIOVASCULAR_VARIANTS\";\n static readonly HIGH_BLOOD_PRESSURE_YEAR: string = \"HIGH_BLOOD_PRESSURE_YEAR\";\n static readonly HIGH_BLOOD_PRESSURE_TREATMENT: string = \"HIGH_BLOOD_PRESSURE_TREATMENT\";\n static readonly HIGH_BLOOD_PRESSURE_ACTIVE: string = \"HIGH_BLOOD_PRESSURE_ACTIVE\";\n static readonly PULMONARY_EMBOLISM_YEAR : string = \"PULMONARY_EMBOLISM_YEAR\";\n static readonly PULMONARY_EMBOLISM_TREATMENT : string = \"PULMONARY_EMBOLISM_TREATMENT\";\n static readonly PULMONARY_EMBOLISM_ACTIVE : string = \"PULMONARY_EMBOLISM_ACTIVE\";\n static readonly DEEP_VIEN_THROMBOSIS_YEAR : string = \"DEEP_VIEN_THROMBOSIS_YEAR\";\n static readonly DEEP_VIEN_THROMBOSIS_TREATMENT : string = \"DEEP_VIEN_THROMBOSIS_TREATMENT\";\n static readonly DEEP_VIEN_THROMBOSIS_ACTIVE : string = \"DEEP_VIEN_THROMBOSIS_ACTIVE\";\n static readonly CAROTID_STENOSIS_YEAR : string = \"CAROTID_STENOSIS_YEAR\";\n static readonly CAROTID_STENOSIS_TREATMENT : string = \"CAROTID_STENOSIS_TREATMENT\";\n static readonly CAROTID_STENOSIS_ACTIVE : string = \"CAROTID_STENOSIS_ACTIVE\";\n static readonly DIAGNOSED_EATING_DISORDER_ISSUES : string = \"DIAGNOSED_EATING_DISORDER_ISSUES\";\n static readonly DIAGNOSED_EATING_DISORDER_ISSUES_VARIANTS : string = \"DIAGNOSED_EATING_DISORDER_ISSUES_VARIANTS\";\n static readonly CORONARY_ARTERY_DISEASE_YEAR: string = \"CORONARY_ARTERY_DISEASE_YEAR\";\n static readonly CORONARY_ARTERY_DISEASE_TREATMENT: string = \"CORONARY_ARTERY_DISEASE_TREATMENT\";\n static readonly CORONARY_ARTERY_DISEASE_ACTIVE: string = \"CORONARY_ARTERY_DISEASE_ACTIVE\";\n static readonly HEART_ATTACK_YEAR: string = \"HEART_ATTACK_YEAR\";\n static readonly HEART_ATTACK_TREATMENT: string = \"HEART_ATTACK_TREATMENT\";\n static readonly HEART_ATTACK_ACTIVE: string = \"HEART_ATTACK_ACTIVE\";\n static readonly CONGESTIVE_HEART_FAILURE_YEAR: string = \"CONGESTIVE_HEART_FAILURE_YEAR\";\n static readonly CONGESTIVE_HEART_FAILURE_TREATMENT: string = \"CONGESTIVE_HEART_FAILURE_TREATMENT\";\n static readonly CONGESTIVE_HEART_FAILURE_ACTIVE: string = \"CONGESTIVE_HEART_FAILURE_ACTIVE\";\n static readonly HIGH_CHOLESTEROL_YEAR: string = \"HIGH_CHOLESTEROL_YEAR\";\n static readonly HIGH_CHOLESTEROL_TREATMENT: string = \"HIGH_CHOLESTEROL_TREATMENT\";\n static readonly HIGH_CHOLESTEROL_ACTIVE: string = \"HIGH_CHOLESTEROL_ACTIVE\";\n static readonly BLOOD_CLOTTING_DISORDER_YEAR: string = \"BLOOD_CLOTTING_DISORDER_YEAR\";\n static readonly BLOOD_CLOTTING_DISORDER_TREATMENT: string = \"BLOOD_CLOTTING_DISORDER_TREATMENT\";\n static readonly BLOOD_CLOTTING_DISORDER_ACTIVE: string = \"BLOOD_CLOTTING_DISORDER_ACTIVE\";\n static readonly ANEURYSM_YEAR: string = \"ANEURYSM_YEAR\";\n static readonly ANEURYSM_TREATMENT: string = \"ANEURYSM_TREATMENT\";\n static readonly ANEURYSM_ACTIVE: string = \"ANEURYSM_ACTIVE\";\n static readonly CARDIAC_VALVE_PROBLEM_YEAR: string = \"CARDIAC_VALVE_PROBLEM_YEAR\";\n static readonly CARDIAC_VALVE_PROBLEM_TREATMENT: string = \"CARDIAC_VALVE_PROBLEM_TREATMENT\";\n static readonly CARDIAC_VALVE_PROBLEM_ACTIVE: string = \"CARDIAC_VALVE_PROBLEM_ACTIVE\";\n static readonly AFIB_YEAR: string = \"AFIB_YEAR\";\n static readonly AFIB_TREATMENT: string = \"AFIB_TREATMENT\";\n static readonly AFIB_ACTIVE: string = \"AFIB_ACTIVE\";\n static readonly GASTROINTESTINAL_ISSUES: string = \"GASTROINTESTINAL_ISSUES\";\n static readonly GASTROINTESTINAL_ISSUES_VARIANTS: string = \"GASTROINTESTINAL_ISSUES_VARIANTS\";\n static readonly SKIN_ISSUES: string = \"SKIN_ISSUES\";\n static readonly SKIN_ISSUES_VARIANTS: string = \"SKIN_ISSUES_VARIANTS\";\n static readonly URINARY_ISSUES: string = \"URINARY_ISSUES\";\n static readonly URINARY_ISSUES_VARIANTS: string = \"URINARY_ISSUES_VARIANTS\";\n static readonly KIDNEY_ISSUES: string = \"KIDNEY_ISSUES\";\n static readonly KIDNEY_ISSUES_VARIANTS: string = \"KIDNEY_ISSUES_VARIANTS\";\n static readonly LUNG_ISSUES: string = \"LUNG_ISSUES\";\n static readonly LUNG_ISSUES_VARIANTS: string = \"LUNG_ISSUES_VARIANTS\";\n static readonly NEUROLOGICAL_ISSUES: string = \"NEUROLOGICAL_ISSUES\";\n static readonly NEUROLOGICAL_ISSUES_VARIANTS: string = \"NEUROLOGICAL_ISSUES_VARIANTS\";\n static readonly ENDOCRINE_HORMONAL_ISSUES: string = \"ENDOCRINE_HORMONAL_ISSUES\";\n static readonly ENDOCRINE_HORMONAL_ISSUES_VARIANTS: string = \"ENDOCRINE_HORMONAL_ISSUES_VARIANTS\";\n static readonly MENTAL_HEALTH_ISSUES: string = \"MENTAL_HEALTH_ISSUES\";\n static readonly MENTAL_HEALTH_ISSUES_VARIANTS: string = \"MENTAL_HEALTH_ISSUES_VARIANTS\";\n static readonly BLOOD_ISSUES: string = \"BLOOD_ISSUES\";\n static readonly BLOOD_ISSUES_VARIANTS: string = \"BLOOD_ISSUES_VARIANTS\";\n static readonly MUSCULOSKELETAL_ISSUES: string = \"MUSCULOSKELETAL_ISSUES\";\n static readonly MUSCULOSKELETAL_ISSUES_VARIANTS: string = \"MUSCULOSKELETAL_ISSUES_VARIANTS\";\n static readonly CANCER_ISSUES: string = \"CANCER_ISSUES\";\n static readonly CANCER_ISSUES_COMMENT: string = \"CANCER_ISSUES_COMMENT\";\n static readonly CANCER_ISSUES_VARIANTS: string = \"CANCER_ISSUES_VARIANTS\";\n static readonly BREAST_CANCER_YEAR: string = \"BREAST_CANCER_YEAR\";\n static readonly BREAST_CANCER_TREATMENT: string = \"BREAST_CANCER_TREATMENT\";\n static readonly BREAST_CANCER_ACTIVE: string = \"BREAST_CANCER_ACTIVE\";\n static readonly PROSTATE_CANCER_YEAR: string = \"PROSTATE_CANCER_YEAR\";\n static readonly PROSTATE_CANCER_TREATMENT: string = \"PROSTATE_CANCER_TREATMENT\";\n static readonly PROSTATE_CANCER_ACTIVE: string = \"PROSTATE_CANCER_ACTIVE\";\n static readonly LUNG_CANCER_YEAR: string = \"LUNG_CANCER_YEAR\";\n static readonly LUNG_CANCER_TREATMENT: string = \"LUNG_CANCER_TREATMENT\";\n static readonly LUNG_CANCER_ACTIVE: string = \"LUNG_CANCER_ACTIVE\";\n static readonly COLON_CANCER_YEAR: string = \"COLON_CANCER_YEAR\";\n static readonly COLON_CANCER_TREATMENT: string = \"COLON_CANCER_TREATMENT\";\n static readonly COLON_CANCER_ACTIVE: string = \"COLON_CANCER_ACTIVE\";\n static readonly BONE_CANCER_YEAR: string = \"BONE_CANCER_YEAR\";\n static readonly BONE_CANCER_TREATMENT: string = \"BONE_CANCER_TREATMENT\";\n static readonly BONE_CANCER_ACTIVE: string = \"BONE_CANCER_ACTIVE\";\n static readonly LIVER_CANCER_YEAR: string = \"LIVER_CANCER_YEAR\";\n static readonly LIVER_CANCER_TREATMENT: string = \"LIVER_CANCER_TREATMENT\";\n static readonly LIVER_CANCER_ACTIVE: string = \"LIVER_CANCER_ACTIVE\";\n static readonly KIDNEY_CANCER_YEAR: string = \"KIDNEY_CANCER_YEAR\";\n static readonly KIDNEY_CANCER_TREATMENT: string = \"KIDNEY_CANCER_TREATMENT\";\n static readonly KIDNEY_CANCER_ACTIVE: string = \"KIDNEY_CANCER_ACTIVE\";\n static readonly BAIN_CANCER_YEAR: string = \"BAIN_CANCER_YEAR\";\n static readonly BAIN_CANCER_TREATMENT: string = \"BAIN_CANCER_TREATMENT\";\n static readonly BAIN_CANCER_ACTIVE: string = \"BAIN_CANCER_ACTIVE\";\n static readonly SKIN_CANCER_YEAR: string = \"SKIN_CANCER_YEAR\";\n static readonly SKIN_CANCER_TREATMENT: string = \"SKIN_CANCER_TREATMENT\";\n static readonly SKIN_CANCER_ACTIVE: string = \"SKIN_CANCER_ACTIVE\";\n static readonly SURGERY_ISSUES: string = \"SURGERY_ISSUES\";\n static readonly SURGERY_ISSUES_VARIANTS: string = \"SURGERY_ISSUES_VARIANTS\";\n static readonly APPENDECTOMY_SURGERY_YEAR: string = \"APPENDECTOMY_SURGERY_YEAR\";\n static readonly CORONARY_ARTERY_BYPASS_SURGERY_YEAR: string = \"CORONARY_ARTERY_BYPASS_SURGERY_YEAR\";\n static readonly CAROTID_ENDARTERECTOMY_SURGERY_YEAR: string = \"CAROTID_ENDARTERECTOMY_SURGERY_YEAR\";\n static readonly CHOLECYSTECTOMY_SURGERY_YEAR: string = \"CHOLECYSTECTOMY_SURGERY_YEAR\";\n static readonly BARIATRIC_SURGERY_YEAR: string = \"BARIATRIC_SURGERY_YEAR\";\n static readonly HYSTERECTOMY_SURGERY_YEAR: string = \"HYSTERECTOMY_SURGERY_YEAR\";\n static readonly NEPHRECTOMY_SURGERY_YEAR: string = \"NEPHRECTOMY_SURGERY_YEAR\";\n static readonly SPLENECTOMY_SURGERY_YEAR: string = \"SPLENECTOMY_SURGERY_YEAR\";\n static readonly TONSILLECTOMY_SURGERY_YEAR: string = \"TONSILLECTOMY_SURGERY_YEAR\";\n static readonly CORONARY_ARTERY_BYPASS: string = \"CORONARY_ARTERY_BYPASS\";\n static readonly SMOKING: string = \"SMOKING\";\n static readonly YEARS_SMOKING: string = \"YEARS_SMOKING\";\n static readonly CIGARETTES_DAY: string = \"CIGARETTES_DAY\";\n static readonly DRINK_ISSUES: string = \"DRINK_ISSUES\";\n static readonly AVERAGE_DRINK_ISSUES: string = \"AVERAGE_DRINK_ISSUES\";\n static readonly REDUCE_DRINK_ISSUES: string = \"REDUCE_DRINK_ISSUES\";\n static readonly CRITICIZING_ISSUES: string = \"CRITICIZING_ISSUES\";\n static readonly FELT_GUILTY_ISSUES: string = \"FELT_GUILTY_ISSUES\";\n static readonly EYE_OPENER_ISSUES: string = \"EYE_OPENER_ISSUES\";\n static readonly CONSUME_ALCOHOL: string = \"CONSUME_ALCOHOL\";\n static readonly CONSUME_CIGARETTES: string = \"CONSUME_CIGARETTES\";\n static readonly SMOKE_MARIJUANA: string = \"SMOKE_MARIJUANA\";\n static readonly DRUGS_ISSUES: string = \"DRUGS_ISSUES\";\n static readonly DRUGS_ISSUES_VARIANTS: string = \"DRUGS_ISSUES_VARIANTS\";\n static readonly DRUGS_ISSUES_COMMENT: string = \"DRUGS_ISSUES_COMMENT\";\n static readonly PARTNERSHIP_STATUS: string = \"PARTNERSHIP_STATUS\";\n static readonly RELATIONSHIP_STATUS: string = \"RELATIONSHIP_STATUS\";\n static readonly HAVE_CHILDREN: string = \"HAVE_CHILDREN\";\n static readonly CHILDREN_NAME: string = \"CHILDREN_NAME\";\n static readonly CHILDREN_AGE: string = \"CHILDREN_AGE\";\n static readonly LIVE_ALONE: string = \"LIVE_ALONE\";\n static readonly SEXUALLY_ACTIVE: string = \"SEXUALLY_ACTIVE\";\n static readonly CONTRACEPTION_PROTECTION: string = \"CONTRACEPTION_PROTECTION\";\n static readonly LEARNING_CONTRACEPTION_PROTECTION: string = \"LEARNING_CONTRACEPTION_PROTECTION\";\n static readonly MENSTRUAL_CYCLE: string = \"MENSTRUAL_CYCLE\";\n static readonly MONTHLY_PERIOD: string = \"MONTHLY_PERIOD\";\n static readonly MENOPAUSE: string = \"MENOPAUSE\";\n static readonly MENOPAUSE_AGE: string = \"MENOPAUSE_AGE\";\n static readonly PREGNANT: string = \"PREGNANT\";\n static readonly PREGNANT_COMMENT: string = \"PREGNANT_COMMENT\";\n static readonly TOTAL_PREGNANCIES: string = \"TOTAL_PREGNANCIES\";\n static readonly FULL_TERM_BIRTHS: string = \"FULL_TERM_BIRTHS\";\n static readonly PREMATURE: string = \"PREMATURE\";\n static readonly MISCARRIAGES: string = \"MISCARRIAGES\";\n static readonly ABORTIONS: string = \"ABORTIONS\";\n static readonly PREGNANCY_COMPLICATIONS: string = \"PREGNANCY_COMPLICATIONS\";\n static readonly PREGNANCY_COMPLICATIONS_VARIANTS: string = \"PREGNANCY_COMPLICATIONS_VARIANTS\";\n static readonly BIOLOGICAL_MOTHER_LIVING: string = \"BIOLOGICAL_MOTHER_LIVING\";\n static readonly BIOLOGICAL_MOTHER_MEDICAL_PROBLEMS: string = \"BIOLOGICAL_MOTHER_MEDICAL_PROBLEMS\";\n static readonly BIOLOGICAL_FATHER_LIVING: string = \"BIOLOGICAL_FATHER_LIVING\";\n static readonly BIOLOGICAL_FATHER_MEDICAL_PROBLEMS: string = \"BIOLOGICAL_FATHER_MEDICAL_PROBLEMS\";\n static readonly BIOLOGICAL_SIBLING: string = \"BIOLOGICAL_SIBLING\";\n static readonly BIOLOGICAL_SIBLING_LIVING: string = \"BIOLOGICAL_SIBLING_LIVING\";\n static readonly BIOLOGICAL_SIBLING_MEDICAL_PROBLEMS: string = \"BIOLOGICAL_SIBLING_MEDICAL_PROBLEMS\";\n static readonly YOUR_GENE_MUTATIONS: string = \"YOUR_GENE_MUTATIONS\";\n static readonly FAMILY_GENE_MUTATIONS: string = \"FAMILY_GENE_MUTATIONS\";\n static readonly MUTATIONS_DIAGNOSED: string = \"MUTATIONS_DIAGNOSED\";\n static readonly CANCER_DIAGNOSED: string = \"CANCER_DIAGNOSED\";\n static readonly BRCA_FAMILY_GENE_MUTATIONS: string = \"BRCA_FAMILY_GENE_MUTATIONS\";\n static readonly MAMMOGRAM: string = \"MAMMOGRAM\";\n static readonly DATE_OF_LAST_MAMMOGRAM: string = \"DATE_OF_LAST_MAMMOGRAM\";\n static readonly MAMMOGRAM_ABNORMALITIES: string = \"MAMMOGRAM_ABNORMALITIES\";\n static readonly PAP_SMEAR: string = \"PAP_SMEAR\";\n static readonly DATE_OF_LAST_PAP_SMEAR: string = \"DATE_OF_LAST_PAP_SMEAR\";\n static readonly PAP_SMEAR_ABNORMALITIES: string = \"PAP_SMEAR_ABNORMALITIES\";\n static readonly COLON_CANCER: string = \"COLON_CANCER\";\n static readonly COLON_CANCER_DIAGNOSED: string = \"COLON_CANCER_DIAGNOSED\";\n static readonly COLON_CANCER_DIAGNOSED_AGE: string = \"COLON_CANCER_DIAGNOSED_AGE\";\n static readonly COLONOSCOPY: string = \"COLONOSCOPY\";\n static readonly SPECIFY_SCREENING: string = \"SPECIFY_SCREENING\";\n static readonly DATE_OF_LAST_SCREENING: string = \"DATE_OF_LAST_SCREENING\";\n static readonly COLONOSCOPY_ABNORMALITIES: string = \"COLONOSCOPY_ABNORMALITIES\";\n static readonly PSA_OR_PROSTATE: string = \"PSA_OR_PROSTATE\";\n static readonly DATE_OF_PSA_OR_PROSTATE_EXAM: string = \"DATE_OF_PSA_OR_PROSTATE_EXAM\";\n static readonly PSA_ABNORMALITIES: string = \"PSA_ABNORMALITIES\";\n static readonly LUNG_CANCER_SCREENINGS: string = \"LUNG_CANCER_SCREENINGS\";\n static readonly DATE_OF_LUNG_CANCER: string = \"DATE_OF_LUNG_CANCER\";\n static readonly MORE_60_OSTEOPOROSIS: string = \"MORE_60_OSTEOPOROSIS\";\n static readonly MORE_65_OSTEOPOROSIS: string = \"MORE_65_OSTEOPOROSIS\";\n static readonly MORE_65_ABNORMALITIES: string = \"MORE_65_ABNORMALITIES\";\n static readonly TETANUS_VACCINE: string = \"TETANUS_VACCINE\";\n static readonly DATE_OF_LAST_TETANUS_VACCINE: string = \"DATE_OF_LAST_TETANUS_VACCINE\";\n static readonly PNEUMONIA_VACCINE: string = \"PNEUMONIA_VACCINE\";\n static readonly DATE_OF_LAST_PNEUMONIA_VACCINE: string = \"DATE_OF_LAST_PNEUMONIA_VACCINE\";\n static readonly FLU_VACCINE_SEASON: string = \"FLU_VACCINE_SEASON\";\n static readonly DATE_OF_LAST_FLU_VACCINE: string = \"DATE_OF_LAST_FLU_VACCINE\";\n static readonly COVID_VACCINE: string = \"COVID_VACCINE\";\n static readonly DATE_OF_LAST_COVID_VACCINE: string = \"DATE_OF_LAST_COVID_VACCINE\";\n static readonly HEALTH_WELLNESS_REVIEW: string = \"HEALTH_WELLNESS_REVIEW\";\n static readonly PHQ2_1: string = \"PHQ_2_1\";\n static readonly PHQ2_2: string = \"PHQ_2_2\";\n static readonly PHQ8_1: string = \"PHQ_8_1\";\n static readonly PHQ8_2: string = \"PHQ_8_2\";\n static readonly PHQ8_3: string = \"PHQ_8_3\";\n static readonly PHQ8_4: string = \"PHQ_8_4\";\n static readonly PHQ8_5: string = \"PHQ_8_5\";\n static readonly PHQ8_6: string = \"PHQ_8_6\";\n static readonly PHQ8_7: string = \"PHQ_8_7\";\n static readonly PHQ8_8: string = \"PHQ_8_8\";\n}\n\nexport class DetailedQuestionnaireSectionNames {\n static readonly CARDIOVASCULAR: string = \"CARDIOVASCULAR\";\n static readonly GASTROINTESTINAL_ISSUES: string = \"GASTROINTESTINAL_ISSUES\";\n static readonly SKIN_ISSUES: string = \"SKIN_ISSUES\";\n static readonly URINARY_ISSUES: string = \"URINARY_ISSUES\";\n static readonly KIDNEY_ISSUES: string = \"KIDNEY_ISSUES\";\n static readonly LUNG_ISSUES: string = \"LUNG_ISSUES\";\n static readonly NEUROLOGICAL_ISSUES: string = \"NEUROLOGICAL_ISSUES\";\n static readonly ENDOCRINE_HORMONAL_ISSUES: string = \"ENDOCRINE_HORMONAL_ISSUES\";\n static readonly MENTAL_HEALTH_ISSUES: string = \"MENTAL_HEALTH_ISSUES\";\n static readonly BLOOD_ISSUES: string = \"BLOOD_ISSUES\";\n static readonly MUSCULOSKELETAL_ISSUES: string = \"MUSCULOSKELETAL_ISSUES\";\n static readonly CANCER_ISSUES: string = \"CANCER_ISSUES\";\n static readonly DIAGNOSED_EATING_DISORDER_ISSUES: string = \"DIAGNOSED_EATING_DISORDER_ISSUES\";\n static readonly SURGERY_ISSUES: string = \"SURGERY_ISSUES\";\n static readonly SMOKING: string = \"SMOKING\";\n static readonly DRINK_ISSUES: string = \"DRINK_ISSUES\";\n static readonly DRUGS_ISSUES: string = \"DRUGS_ISSUES\";\n static readonly PARTNERSHIP_STATUS: string = \"PARTNERSHIP_STATUS\";\n static readonly RELATIONSHIP_STATUS: string = \"RELATIONSHIP_STATUS\";\n static readonly HAVE_CHILDREN: string = \"HAVE_CHILDREN\";\n static readonly LIVE_ALONE: string = \"LIVE_ALONE\";\n static readonly SEXUALLY_ACTIVE: string = \"SEXUALLY_ACTIVE\";\n static readonly MENSTRUAL_CYCLE: string = \"MENSTRUAL_CYCLE\";\n static readonly MENOPAUSE: string = \"MENOPAUSE\";\n static readonly PREGNANT: string = \"PREGNANT\";\n static readonly PREGNANCY_COMPLICATIONS: string = \"PREGNANCY_COMPLICATIONS\";\n static readonly BIOLOGICAL_MOTHER: string = \"BIOLOGICAL_MOTHER\";\n static readonly BIOLOGICAL_FATHER: string = \"BIOLOGICAL_FATHER\";\n static readonly BIOLOGICAL_SIBLING: string = \"BIOLOGICAL_SIBLING\";\n static readonly YOUR_GENE_MUTATIONS: string = \"YOUR_GENE_MUTATIONS\";\n static readonly FAMILY_GENE_MUTATIONS: string = \"FAMILY_GENE_MUTATIONS\";\n static readonly MAMMOGRAM: string = \"MAMMOGRAM\";\n static readonly PAP_SMEAR: string = \"PAP_SMEAR\";\n static readonly COLON_CANCER: string = \"COLON_CANCER\";\n static readonly COLONOSCOPY: string = \"COLONOSCOPY\";\n static readonly PSA_OR_PROSTATE: string = \"PSA_OR_PROSTATE\";\n static readonly LUNG_CANCER_SCREENINGS: string = \"LUNG_CANCER_SCREENINGS\";\n static readonly DATE_OF_LUNG_CANCER: string = \"DATE_OF_LUNG_CANCER\";\n static readonly MORE_60_OSTEOPOROSIS: string = \"MORE_60_OSTEOPOROSIS\";\n static readonly MORE_65_OSTEOPOROSIS: string = \"MORE_65_OSTEOPOROSIS\";\n static readonly TETANUS_VACCINE: string = \"TETANUS_VACCINE\";\n static readonly PNEUMONIA_VACCINE: string = \"PNEUMONIA_VACCINE\";\n static readonly FLU_VACCINE_SEASON: string = \"FLU_VACCINE_SEASON\";\n static readonly COVID_VACCINE: string = \"COVID_VACCINE\";\n static readonly HEALTH_WELLNESS_REVIEW: string = \"HEALTH_WELLNESS_REVIEW\";\n static readonly PHQ2: string = \"PHQ2\";\n static readonly PHQ8: string = \"PHQ8\";\n}\n\nexport const detailedQuestionnaireSections = {\n [DetailedQuestionnaireSectionNames.CARDIOVASCULAR]: [\n DetailedQuestionNames.CARDIOVASCULAR,\n DetailedQuestionNames.CARDIOVASCULAR_VARIANTS,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_YEAR,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_TREATMENT,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_ACTIVE,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_YEAR,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_TREATMENT,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_ACTIVE,\n DetailedQuestionNames.HEART_ATTACK_YEAR,\n DetailedQuestionNames.HEART_ATTACK_TREATMENT,\n DetailedQuestionNames.HEART_ATTACK_ACTIVE,\n DetailedQuestionNames.AFIB_YEAR,\n DetailedQuestionNames.AFIB_TREATMENT,\n DetailedQuestionNames.AFIB_ACTIVE,\n DetailedQuestionNames.HIGH_CHOLESTEROL_YEAR,\n DetailedQuestionNames.HIGH_CHOLESTEROL_TREATMENT,\n DetailedQuestionNames.HIGH_CHOLESTEROL_ACTIVE,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_YEAR,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_TREATMENT,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_ACTIVE,\n DetailedQuestionNames.ANEURYSM_YEAR,\n DetailedQuestionNames.ANEURYSM_TREATMENT,\n DetailedQuestionNames.ANEURYSM_ACTIVE,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_YEAR,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_TREATMENT,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_ACTIVE\n ],\n [DetailedQuestionnaireSectionNames.GASTROINTESTINAL_ISSUES]: [\n DetailedQuestionNames.GASTROINTESTINAL_ISSUES,\n DetailedQuestionNames.GASTROINTESTINAL_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.SKIN_ISSUES]: [\n DetailedQuestionNames.SKIN_ISSUES,\n DetailedQuestionNames.SKIN_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.URINARY_ISSUES]: [\n DetailedQuestionNames.URINARY_ISSUES,\n DetailedQuestionNames.URINARY_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.KIDNEY_ISSUES]: [\n DetailedQuestionNames.KIDNEY_ISSUES,\n DetailedQuestionNames.KIDNEY_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.LUNG_ISSUES]: [\n DetailedQuestionNames.LUNG_ISSUES,\n DetailedQuestionNames.LUNG_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.NEUROLOGICAL_ISSUES]: [\n DetailedQuestionNames.NEUROLOGICAL_ISSUES,\n DetailedQuestionNames.NEUROLOGICAL_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.ENDOCRINE_HORMONAL_ISSUES]: [\n DetailedQuestionNames.ENDOCRINE_HORMONAL_ISSUES,\n DetailedQuestionNames.ENDOCRINE_HORMONAL_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.MENTAL_HEALTH_ISSUES]: [\n DetailedQuestionNames.MENTAL_HEALTH_ISSUES,\n DetailedQuestionNames.MENTAL_HEALTH_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.BLOOD_ISSUES]: [\n DetailedQuestionNames.BLOOD_ISSUES,\n DetailedQuestionNames.BLOOD_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.MUSCULOSKELETAL_ISSUES]: [\n DetailedQuestionNames.MUSCULOSKELETAL_ISSUES,\n DetailedQuestionNames.MUSCULOSKELETAL_ISSUES_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.CANCER_ISSUES]: [\n DetailedQuestionNames.CANCER_ISSUES,\n DetailedQuestionNames.CANCER_ISSUES_VARIANTS,\n DetailedQuestionNames.BREAST_CANCER_YEAR,\n DetailedQuestionNames.BREAST_CANCER_TREATMENT,\n DetailedQuestionNames.BREAST_CANCER_ACTIVE,\n DetailedQuestionNames.PROSTATE_CANCER_YEAR,\n DetailedQuestionNames.PROSTATE_CANCER_TREATMENT,\n DetailedQuestionNames.PROSTATE_CANCER_ACTIVE,\n DetailedQuestionNames.LUNG_CANCER_YEAR,\n DetailedQuestionNames.LUNG_CANCER_TREATMENT,\n DetailedQuestionNames.LUNG_CANCER_ACTIVE,\n DetailedQuestionNames.COLON_CANCER_YEAR,\n DetailedQuestionNames.COLON_CANCER_TREATMENT,\n DetailedQuestionNames.COLON_CANCER_ACTIVE,\n DetailedQuestionNames.SKIN_CANCER_YEAR,\n DetailedQuestionNames.SKIN_CANCER_TREATMENT,\n DetailedQuestionNames.SKIN_CANCER_ACTIVE,\n DetailedQuestionNames.BONE_CANCER_YEAR,\n DetailedQuestionNames.BONE_CANCER_TREATMENT,\n DetailedQuestionNames.BONE_CANCER_ACTIVE,\n DetailedQuestionNames.LIVER_CANCER_YEAR,\n DetailedQuestionNames.LIVER_CANCER_TREATMENT,\n DetailedQuestionNames.LIVER_CANCER_ACTIVE,\n DetailedQuestionNames.KIDNEY_CANCER_YEAR,\n DetailedQuestionNames.KIDNEY_CANCER_TREATMENT,\n DetailedQuestionNames.KIDNEY_CANCER_ACTIVE,\n DetailedQuestionNames.BAIN_CANCER_YEAR,\n DetailedQuestionNames.BAIN_CANCER_TREATMENT,\n DetailedQuestionNames.BAIN_CANCER_ACTIVE,\n DetailedQuestionNames.CANCER_ISSUES_COMMENT,\n ],\n [DetailedQuestionnaireSectionNames.SURGERY_ISSUES]: [\n DetailedQuestionNames.SURGERY_ISSUES,\n DetailedQuestionNames.SURGERY_ISSUES_VARIANTS,\n DetailedQuestionNames.APPENDECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.CORONARY_ARTERY_BYPASS_SURGERY_YEAR,\n DetailedQuestionNames.CAROTID_ENDARTERECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.CHOLECYSTECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.BARIATRIC_SURGERY_YEAR,\n DetailedQuestionNames.HYSTERECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.NEPHRECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.SPLENECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.TONSILLECTOMY_SURGERY_YEAR\n ],\n [DetailedQuestionnaireSectionNames.DRINK_ISSUES]: [\n DetailedQuestionNames.DRINK_ISSUES,\n DetailedQuestionNames.AVERAGE_DRINK_ISSUES,\n DetailedQuestionNames.REDUCE_DRINK_ISSUES,\n DetailedQuestionNames.CRITICIZING_ISSUES,\n DetailedQuestionNames.FELT_GUILTY_ISSUES,\n DetailedQuestionNames.EYE_OPENER_ISSUES\n ],\n [DetailedQuestionnaireSectionNames.DRUGS_ISSUES]: [\n DetailedQuestionNames.CONSUME_ALCOHOL,\n DetailedQuestionNames.CONSUME_CIGARETTES,\n DetailedQuestionNames.SMOKE_MARIJUANA,\n DetailedQuestionNames.DRUGS_ISSUES,\n DetailedQuestionNames.DRUGS_ISSUES_COMMENT,\n ],\n [DetailedQuestionnaireSectionNames.RELATIONSHIP_STATUS]: [\n DetailedQuestionNames.RELATIONSHIP_STATUS\n ],\n [DetailedQuestionnaireSectionNames.HAVE_CHILDREN]: [\n DetailedQuestionNames.HAVE_CHILDREN,\n DetailedQuestionNames.CHILDREN_NAME,\n DetailedQuestionNames.CHILDREN_AGE\n ],\n [DetailedQuestionnaireSectionNames.LIVE_ALONE]: [\n DetailedQuestionNames.LIVE_ALONE\n ],\n [DetailedQuestionnaireSectionNames.SEXUALLY_ACTIVE]: [\n DetailedQuestionNames.SEXUALLY_ACTIVE,\n DetailedQuestionNames.CONTRACEPTION_PROTECTION\n ],\n [DetailedQuestionnaireSectionNames.MENSTRUAL_CYCLE]: [\n DetailedQuestionNames.MENSTRUAL_CYCLE,\n DetailedQuestionNames.MONTHLY_PERIOD,\n DetailedQuestionNames.MENOPAUSE,\n DetailedQuestionNames.MENOPAUSE_AGE\n ],\n [DetailedQuestionnaireSectionNames.PREGNANT]: [\n DetailedQuestionNames.PREGNANT,\n DetailedQuestionNames.TOTAL_PREGNANCIES,\n DetailedQuestionNames.FULL_TERM_BIRTHS,\n DetailedQuestionNames.PREMATURE,\n DetailedQuestionNames.MISCARRIAGES,\n DetailedQuestionNames.ABORTIONS,\n DetailedQuestionNames.PREGNANT_COMMENT,\n ],\n [DetailedQuestionnaireSectionNames.PREGNANCY_COMPLICATIONS]: [\n DetailedQuestionNames.PREGNANCY_COMPLICATIONS,\n DetailedQuestionNames.PREGNANCY_COMPLICATIONS_VARIANTS\n ],\n [DetailedQuestionnaireSectionNames.BIOLOGICAL_MOTHER]: [\n DetailedQuestionNames.BIOLOGICAL_MOTHER_LIVING,\n DetailedQuestionNames.BIOLOGICAL_MOTHER_MEDICAL_PROBLEMS,\n DetailedQuestionNames.BIOLOGICAL_FATHER_LIVING,\n DetailedQuestionNames.BIOLOGICAL_FATHER_MEDICAL_PROBLEMS,\n DetailedQuestionNames.BIOLOGICAL_SIBLING,\n DetailedQuestionNames.BIOLOGICAL_SIBLING_LIVING,\n DetailedQuestionNames.BIOLOGICAL_SIBLING_MEDICAL_PROBLEMS\n ],\n [DetailedQuestionnaireSectionNames.FAMILY_GENE_MUTATIONS]: [\n DetailedQuestionNames.FAMILY_GENE_MUTATIONS,\n DetailedQuestionNames.MUTATIONS_DIAGNOSED,\n DetailedQuestionNames.CANCER_DIAGNOSED,\n DetailedQuestionNames.BRCA_FAMILY_GENE_MUTATIONS\n ],\n [DetailedQuestionnaireSectionNames.MAMMOGRAM]: [\n DetailedQuestionNames.MAMMOGRAM,\n DetailedQuestionNames.DATE_OF_LAST_MAMMOGRAM,\n DetailedQuestionNames.MAMMOGRAM_ABNORMALITIES\n ],\n [DetailedQuestionnaireSectionNames.PAP_SMEAR]: [\n DetailedQuestionNames.PAP_SMEAR,\n DetailedQuestionNames.DATE_OF_LAST_PAP_SMEAR,\n DetailedQuestionNames.PAP_SMEAR_ABNORMALITIES\n ],\n [DetailedQuestionnaireSectionNames.COLONOSCOPY]: [\n DetailedQuestionNames.COLONOSCOPY,\n DetailedQuestionNames.DATE_OF_LAST_SCREENING,\n DetailedQuestionNames.COLONOSCOPY_ABNORMALITIES\n ],\n [DetailedQuestionnaireSectionNames.PSA_OR_PROSTATE]: [\n DetailedQuestionNames.PSA_OR_PROSTATE,\n DetailedQuestionNames.DATE_OF_PSA_OR_PROSTATE_EXAM,\n DetailedQuestionNames.PSA_ABNORMALITIES\n ],\n [DetailedQuestionnaireSectionNames.LUNG_CANCER_SCREENINGS]: [\n DetailedQuestionNames.LUNG_CANCER_SCREENINGS,\n DetailedQuestionNames.DATE_OF_LUNG_CANCER\n ],\n [DetailedQuestionnaireSectionNames.MORE_65_OSTEOPOROSIS]: [\n DetailedQuestionNames.MORE_65_OSTEOPOROSIS,\n DetailedQuestionNames.MORE_65_ABNORMALITIES\n ],\n [DetailedQuestionnaireSectionNames.PHQ2]: [\n DetailedQuestionNames.PHQ2_1,\n DetailedQuestionNames.PHQ2_2\n ],\n [DetailedQuestionnaireSectionNames.PHQ8]: [\n DetailedQuestionNames.PHQ8_1\n ],\n [DetailedQuestionnaireSectionNames.TETANUS_VACCINE]: [\n DetailedQuestionNames.TETANUS_VACCINE,\n DetailedQuestionNames.DATE_OF_LAST_TETANUS_VACCINE,\n DetailedQuestionNames.PNEUMONIA_VACCINE,\n DetailedQuestionNames.DATE_OF_LAST_PNEUMONIA_VACCINE,\n DetailedQuestionNames.FLU_VACCINE_SEASON,\n DetailedQuestionNames.DATE_OF_LAST_FLU_VACCINE,\n DetailedQuestionNames.COVID_VACCINE,\n DetailedQuestionNames.DATE_OF_LAST_COVID_VACCINE\n ],\n [DetailedQuestionnaireSectionNames.HEALTH_WELLNESS_REVIEW]: [\n DetailedQuestionNames.HEALTH_WELLNESS_REVIEW\n ],\n}\n\nexport const groupAnswerList = [\n DetailedQuestionNames.SURGERY_ISSUES_VARIANTS,\n DetailedQuestionNames.CANCER_ISSUES_VARIANTS,\n DetailedQuestionNames.CARDIOVASCULAR_VARIANTS,\n DetailedQuestionNames.DIAGNOSED_EATING_DISORDER_ISSUES_VARIANTS,\n]\n\nexport const subQuestionList = [\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_YEAR,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_TREATMENT,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_ACTIVE,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_YEAR,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_TREATMENT,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_ACTIVE,\n DetailedQuestionNames.HEART_ATTACK_YEAR,\n DetailedQuestionNames.HEART_ATTACK_TREATMENT,\n DetailedQuestionNames.HEART_ATTACK_ACTIVE,\n DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_YEAR,\n DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_TREATMENT,\n DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_ACTIVE,\n DetailedQuestionNames.HIGH_CHOLESTEROL_YEAR,\n DetailedQuestionNames.HIGH_CHOLESTEROL_TREATMENT,\n DetailedQuestionNames.HIGH_CHOLESTEROL_ACTIVE,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_YEAR,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_TREATMENT,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_ACTIVE,\n DetailedQuestionNames.ANEURYSM_YEAR,\n DetailedQuestionNames.ANEURYSM_TREATMENT,\n DetailedQuestionNames.ANEURYSM_ACTIVE,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_YEAR,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_TREATMENT,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_ACTIVE,\n DetailedQuestionNames.AFIB_YEAR,\n DetailedQuestionNames.AFIB_TREATMENT,\n DetailedQuestionNames.AFIB_ACTIVE,\n DetailedQuestionNames.APPENDECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.CORONARY_ARTERY_BYPASS_SURGERY_YEAR,\n DetailedQuestionNames.CAROTID_ENDARTERECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.CHOLECYSTECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.BARIATRIC_SURGERY_YEAR,\n DetailedQuestionNames.HYSTERECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.NEPHRECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.SPLENECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.TONSILLECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.BREAST_CANCER_YEAR,\n DetailedQuestionNames.BREAST_CANCER_TREATMENT,\n DetailedQuestionNames.BREAST_CANCER_ACTIVE,\n DetailedQuestionNames.PROSTATE_CANCER_YEAR,\n DetailedQuestionNames.PROSTATE_CANCER_TREATMENT,\n DetailedQuestionNames.PROSTATE_CANCER_ACTIVE,\n DetailedQuestionNames.LUNG_CANCER_YEAR,\n DetailedQuestionNames.LUNG_CANCER_TREATMENT,\n DetailedQuestionNames.LUNG_CANCER_ACTIVE,\n DetailedQuestionNames.COLON_CANCER_YEAR,\n DetailedQuestionNames.COLON_CANCER_TREATMENT,\n DetailedQuestionNames.COLON_CANCER_ACTIVE,\n DetailedQuestionNames.BONE_CANCER_YEAR,\n DetailedQuestionNames.BONE_CANCER_TREATMENT,\n DetailedQuestionNames.BONE_CANCER_ACTIVE,\n DetailedQuestionNames.LIVER_CANCER_YEAR,\n DetailedQuestionNames.LIVER_CANCER_TREATMENT,\n DetailedQuestionNames.LIVER_CANCER_ACTIVE,\n DetailedQuestionNames.KIDNEY_CANCER_YEAR,\n DetailedQuestionNames.KIDNEY_CANCER_TREATMENT,\n DetailedQuestionNames.KIDNEY_CANCER_ACTIVE,\n DetailedQuestionNames.BAIN_CANCER_YEAR,\n DetailedQuestionNames.BAIN_CANCER_TREATMENT,\n DetailedQuestionNames.BAIN_CANCER_ACTIVE,\n DetailedQuestionNames.SKIN_CANCER_YEAR,\n DetailedQuestionNames.SKIN_CANCER_TREATMENT,\n DetailedQuestionNames.SKIN_CANCER_ACTIVE,\n DetailedQuestionNames.PULMONARY_EMBOLISM_YEAR ,\n DetailedQuestionNames.PULMONARY_EMBOLISM_TREATMENT ,\n DetailedQuestionNames.PULMONARY_EMBOLISM_ACTIVE ,\n DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_YEAR ,\n DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_TREATMENT ,\n DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_ACTIVE ,\n DetailedQuestionNames.CAROTID_STENOSIS_YEAR ,\n DetailedQuestionNames.CAROTID_STENOSIS_TREATMENT ,\n DetailedQuestionNames.CAROTID_STENOSIS_ACTIVE ,\n DetailedQuestionNames.SPECIFY_SCREENING\n]","export class MedicalHistoryAndLifestyleQuestionNames {\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_ETHNICITY = \"DEMOGRAPHICS_AND_BIOMETRICS_ETHNICITY\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_HEIGHT = \"DEMOGRAPHICS_AND_BIOMETRICS_HEIGHT\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_WEIGHT = \"DEMOGRAPHICS_AND_BIOMETRICS_WEIGHT\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_WAIST = \"DEMOGRAPHICS_AND_BIOMETRICS_WAIST\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP = \"DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM = \"DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM\"\n static readonly MEDICAL_HISTORY_CONDITIONS = \"MEDICAL_HISTORY_CONDITIONS\";\n static readonly MEDICAL_HISTORY_CONDITIONS_COMMENT = \"MEDICAL_HISTORY_CONDITIONS_COMMENT\";\n static readonly MEDICAL_HISTORY_CONDITIONS_FAMILY = \"MEDICAL_HISTORY_CONDITIONS_FAMILY\";\n static readonly MEDICAL_HISTORY_CONDITIONS_FAMILY_COMMENT = \"MEDICAL_HISTORY_CONDITIONS_FAMILY_COMMENT\";\n static readonly MEDICAL_HISTORY_DIABET = \"MEDICAL_HISTORY_DIABET\";\n static readonly MEDICAL_HISTORY_DIABET_TYPE = \"MEDICAL_HISTORY_DIABET_TYPE\";\n static readonly MEDICAL_HISTORY_CHOLESTEROL = \"MEDICAL_HISTORY_CHOLESTEROL\";\n static readonly MEDICAL_HISTORY_BLOOD_PRESSURE = \"MEDICAL_HISTORY_BLOOD_PRESSURE\";\n static readonly CORONARY_CALCIUM_SCORE = \"CORONARY_CALCIUM_SCORE\";\n static readonly SCORE = \"SCORE\";\n static readonly SMOKING_HISTORY = \"SMOKING_HISTORY\";\n static readonly ALCOHOL_HISTORY = \"ALCOHOL_HISTORY\";\n static readonly ANY_MEDICATIONS = \"ANY_MEDICATIONS\";\n static readonly MEDICATIONS = \"MEDICATIONS\";\n static readonly SUPPLEMENT = \"SUPPLEMENT\";\n static readonly ANY_SUPPLEMENTS = \"ANY_SUPPLEMENTS\";\n static readonly SUPPLEMENTS = \"SUPPLEMENTS\";\n static readonly DRUG_ALLERGIES = \"DRUG_ALLERGIES\";\n static readonly ALLERGIES = \"ALLERGIES\";\n static readonly SPECIFIC_KIND_OF_DIET = \"SPECIFIC_KIND_OF_DIET\";\n static readonly RESTRICTED_FOOD = \"RESTRICTED_FOOD\";\n static readonly RESTRICTED_FOOD_COMMENT = \"RESTRICTED_FOOD_COMMENT\";\n static readonly OILY_FISH = \"OILY_FISH\";\n static readonly RED_MEAT = \"RED_MEAT\";\n static readonly PROCESSED_MEAT = \"PROCESSED_MEAT\";\n static readonly SERVINGS_VEGETABLES = \"SERVINGS_VEGETABLES\";\n static readonly SERVINGS_CARBOHYDRATES = \"SERVINGS_CARBOHYDRATES\";\n static readonly SERVINGS_LEGUMES = \"SERVINGS_LEGUMES\";\n static readonly PRACTICE_FEEDING = \"PRACTICE_FEEDING\";\n static readonly PRACTICE_FEEDING_COMMENT = \"PRACTICE_FEEDING_COMMENT\";\n static readonly PRIMARY_EXERCISE_GOAL = \"PRIMARY_EXERCISE_GOAL\";\n static readonly PRIMARY_EXERCISE_GOAL_COMMENT = \"PRIMARY_EXERCISE_GOAL_COMMENT\";\n static readonly AVERAGE_LIGHT_EXERCISE_TIME = \"AVERAGE_LIGHT_EXERCISE_TIME\";\n static readonly AVERAGE_MODERATE_EXERCISE_TIME = \"AVERAGE_MODERATE_EXERCISE_TIME\";\n static readonly AVERAGE_INTENSE_EXERCISE_TIME = \"AVERAGE_INTENSE_EXERCISE_TIME\";\n static readonly PUSH_UPS_PERFORMING = \"PUSH_UPS_PERFORMING\";\n static readonly RUN_RUN = \"RUN_RUN\";\n static readonly REP_BENCH_PRESS = \"REP_BENCH_PRESS\";\n static readonly DEADLIFT = \"DEADLIFT\";\n static readonly REP_SQUAT = \"REP_SQUAT\";\n static readonly AVERAGE_HOURS_OF_SLEEP = \"AVERAGE_HOURS_OF_SLEEP\";\n static readonly AVERAGE_HOURS_OF_SLEEP_COMMENT = \"AVERAGE_HOURS_OF_SLEEP_COMMENT\";\n static readonly SLEEP_ROUTINE = \"SLEEP_ROUTINE\";\n static readonly SLEEP_ROUTINE_COMMENT = \"SLEEP_ROUTINE_COMMENT\";\n static readonly FALL_ASLEEP_NIGHT = \"FALL_ASLEEP_NIGHT\";\n static readonly WAKE_UP = \"WAKE_UP\";\n static readonly RESTED_READY_WAKEUP = \"RESTED_READY_WAKEUP\";\n static readonly ENERGY_THROUGHOUT_THE_DAY = \"ENERGY_THROUGHOUT_THE_DAY\";\n static readonly TYPICAL_STRESS = \"TYPICAL_STRESS\";\n static readonly STRESS_OR_PRACTICE_MINDFULNESS = \"STRESS_OR_PRACTICE_MINDFULNESS\";\n static readonly STRESS_OR_PRACTICE_MINDFULNESS_COMMENT = \"STRESS_OR_PRACTICE_MINDFULNESS_COMMENT\";\n static readonly PERFORM_YOUR_ROUTINES = \"PERFORM_YOUR_ROUTINES\";\n static readonly PERFORM_YOUR_ROUTINES_COMMENT = \"PERFORM_YOUR_ROUTINES_COMMENT\";\n static readonly TV_HOURS = \"TV_HOURS\";\n static readonly non_TV_SCREEN = \"non_TV_SCREEN\";\n static readonly PREFERRED_PHARMACY_NAME = \"PREFERRED_PHARMACY_NAME\";\n static readonly PREFERRED_PHARMACY_PHONE = \"PREFERRED_PHARMACY_PHONE\";\n static readonly PREFERRED_PHARMACY_ADDRESS = \"PREFERRED_PHARMACY_ADDRESS\";\n static readonly PREFERRED_PHARMACY_CITY = \"PREFERRED_PHARMACY_CITY\";\n static readonly PREFERRED_PHARMACY_ZIPCODE = \"PREFERRED_PHARMACY_ZIPCODE\";\n static readonly PREFERRED_PHARMACY_STATE = \"PREFERRED_PHARMACY_STATE\";\n static readonly PREFERRED_PHARMACY_COUNTRY = \"PREFERRED_PHARMACY_COUNTRY\";\n}\n\nexport class MedicalHistoryAndLifestyleSectionNames {\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_ETHNICITY = \"DEMOGRAPHICS_AND_BIOMETRICS_ETHNICITY\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_BODY_PARAMETERS = \"DEMOGRAPHICS_AND_BIOMETRICS_BODY_PARAMETERS\"\n static readonly DEMOGRAPHICS_AND_BIOMETRICS_BLOOD_PRESSURE = \"DEMOGRAPHICS_AND_BIOMETRICS_BLOOD_PRESSURE\"\n static readonly CURRENT_MEDICAL_CONDITIONS = \"CURRENT_MEDICAL_CONDITIONS\";\n static readonly FAMILY_MEDICAL_CONDITIONS = \"FAMILY_MEDICAL_CONDITIONS\";\n static readonly DIABETES = \"DIABETES\";\n static readonly CHOLESTEROL_MEDICATIONS = \"CHOLESTEROL_MEDICATIONS\";\n static readonly BLOOD_PRESSURE_MEDICATIONS = \"BLOOD_PRESSURE_MEDICATIONS\";\n static readonly CORONARIUM_CALCIUM_SCORE = \"CORONARIUM_CALCIUM_SCORE\";\n static readonly SMOKING = \"SMOKING\";\n static readonly ALCOHOL = \"ALCOHOL\";\n static readonly MEDICATIONS = \"MEDICATIONS\";\n static readonly SUPPLEMENTS = \"SUPPLEMENTS\";\n static readonly ALLERGIES = \"ALLERGIES\";\n static readonly DIET = \"DIET\";\n static readonly FOOD_LIMIT = \"FOOD_LIMIT\";\n static readonly FOOD_FREQUENCY = \"FOOD_FREQUENCY\";\n static readonly FASTING = \"FASTING\";\n static readonly EXERCISE_GOAL = \"EXERCISE_GOAL\";\n static readonly EXERCISE_FREQUENCY = \"EXERCISE_FREQUENCY\";\n static readonly EXERCISE_PERFORMANCE = \"EXERCISE_PERFORMANCE\";\n static readonly SLEEP_LENGTH = \"SLEEP_LENGTH\";\n static readonly SLEEP_PRECONDITIONS = \"SLEEP_PRECONDITIONS\";\n static readonly SLEEP_TIME = \"SLEEP_TIME\";\n static readonly SLEEP_REST_SCORE = \"SLEEP_REST_SCORE\";\n static readonly DAY_ENERGY_SCORE = \"DAY_ENERGY_SCORE\";\n static readonly STRESS_LEVEL_SCORE = \"STRESS_LEVEL_SCORE\";\n static readonly STRESS_HELPERS = \"STRESS_HELPERS\";\n static readonly MINDFULNESS_FREQUENCY = \"MINDFULNESS_FREQUENCY\";\n static readonly TV = \"TV\";\n static readonly PREFERRED_PHARMACY = \"PREFERRED_PHARMACY\";\n}\n\nexport const MedicalHistoryAndLifestyleSections = {\n [MedicalHistoryAndLifestyleSectionNames.DEMOGRAPHICS_AND_BIOMETRICS_BLOOD_PRESSURE]: [\n MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP,\n MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM],\n [MedicalHistoryAndLifestyleSectionNames.CURRENT_MEDICAL_CONDITIONS]: [\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS,\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.FAMILY_MEDICAL_CONDITIONS]: [\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS_FAMILY,\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS_FAMILY_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.DIABETES]: [\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_DIABET,\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_DIABET_TYPE],\n [MedicalHistoryAndLifestyleSectionNames.CHOLESTEROL_MEDICATIONS]: [\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CHOLESTEROL,\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_BLOOD_PRESSURE,\n MedicalHistoryAndLifestyleQuestionNames.CORONARY_CALCIUM_SCORE,\n MedicalHistoryAndLifestyleQuestionNames.SCORE],\n [MedicalHistoryAndLifestyleSectionNames.SMOKING]: [MedicalHistoryAndLifestyleQuestionNames.SMOKING_HISTORY],\n [MedicalHistoryAndLifestyleSectionNames.ALCOHOL]: [MedicalHistoryAndLifestyleQuestionNames.ALCOHOL_HISTORY],\n [MedicalHistoryAndLifestyleSectionNames.MEDICATIONS]: [\n MedicalHistoryAndLifestyleQuestionNames.ANY_MEDICATIONS,\n MedicalHistoryAndLifestyleQuestionNames.MEDICATIONS\n ],\n [MedicalHistoryAndLifestyleSectionNames.SUPPLEMENTS]: [\n MedicalHistoryAndLifestyleQuestionNames.ANY_SUPPLEMENTS,\n MedicalHistoryAndLifestyleQuestionNames.SUPPLEMENTS],\n [MedicalHistoryAndLifestyleSectionNames.ALLERGIES]: [\n MedicalHistoryAndLifestyleQuestionNames.DRUG_ALLERGIES,\n MedicalHistoryAndLifestyleQuestionNames.ALLERGIES,],\n [MedicalHistoryAndLifestyleSectionNames.DIET]: [MedicalHistoryAndLifestyleQuestionNames.SPECIFIC_KIND_OF_DIET],\n [MedicalHistoryAndLifestyleSectionNames.FOOD_LIMIT]: [\n MedicalHistoryAndLifestyleQuestionNames.RESTRICTED_FOOD,\n MedicalHistoryAndLifestyleQuestionNames.RESTRICTED_FOOD_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.FOOD_FREQUENCY]: [\n MedicalHistoryAndLifestyleQuestionNames.OILY_FISH,\n MedicalHistoryAndLifestyleQuestionNames.RED_MEAT,\n MedicalHistoryAndLifestyleQuestionNames.PROCESSED_MEAT,\n MedicalHistoryAndLifestyleQuestionNames.SERVINGS_VEGETABLES,\n MedicalHistoryAndLifestyleQuestionNames.SERVINGS_CARBOHYDRATES,\n MedicalHistoryAndLifestyleQuestionNames.SERVINGS_LEGUMES],\n [MedicalHistoryAndLifestyleSectionNames.FASTING]: [\n MedicalHistoryAndLifestyleQuestionNames.PRACTICE_FEEDING,\n MedicalHistoryAndLifestyleQuestionNames.PRACTICE_FEEDING_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.EXERCISE_GOAL]: [\n MedicalHistoryAndLifestyleQuestionNames.PRIMARY_EXERCISE_GOAL,\n MedicalHistoryAndLifestyleQuestionNames.PRIMARY_EXERCISE_GOAL_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.EXERCISE_FREQUENCY]: [\n MedicalHistoryAndLifestyleQuestionNames.AVERAGE_LIGHT_EXERCISE_TIME,\n MedicalHistoryAndLifestyleQuestionNames.AVERAGE_MODERATE_EXERCISE_TIME,\n MedicalHistoryAndLifestyleQuestionNames.AVERAGE_INTENSE_EXERCISE_TIME],\n [MedicalHistoryAndLifestyleSectionNames.SLEEP_LENGTH]: [\n MedicalHistoryAndLifestyleQuestionNames.AVERAGE_HOURS_OF_SLEEP,\n MedicalHistoryAndLifestyleQuestionNames.AVERAGE_HOURS_OF_SLEEP_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.SLEEP_PRECONDITIONS]: [\n MedicalHistoryAndLifestyleQuestionNames.SLEEP_ROUTINE,\n MedicalHistoryAndLifestyleQuestionNames.SLEEP_ROUTINE_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.SLEEP_TIME]: [\n MedicalHistoryAndLifestyleQuestionNames.FALL_ASLEEP_NIGHT,\n MedicalHistoryAndLifestyleQuestionNames.WAKE_UP],\n [MedicalHistoryAndLifestyleSectionNames.SLEEP_REST_SCORE]: [\n MedicalHistoryAndLifestyleQuestionNames.RESTED_READY_WAKEUP,\n MedicalHistoryAndLifestyleQuestionNames.ENERGY_THROUGHOUT_THE_DAY],\n [MedicalHistoryAndLifestyleSectionNames.STRESS_LEVEL_SCORE]: [MedicalHistoryAndLifestyleQuestionNames.TYPICAL_STRESS],\n [MedicalHistoryAndLifestyleSectionNames.STRESS_HELPERS]: [\n MedicalHistoryAndLifestyleQuestionNames.STRESS_OR_PRACTICE_MINDFULNESS,\n MedicalHistoryAndLifestyleQuestionNames.STRESS_OR_PRACTICE_MINDFULNESS_COMMENT,\n MedicalHistoryAndLifestyleQuestionNames.PERFORM_YOUR_ROUTINES,\n MedicalHistoryAndLifestyleQuestionNames.PERFORM_YOUR_ROUTINES_COMMENT],\n [MedicalHistoryAndLifestyleSectionNames.TV]: [\n MedicalHistoryAndLifestyleQuestionNames.TV_HOURS,\n MedicalHistoryAndLifestyleQuestionNames.non_TV_SCREEN]\n} as {[id: string]: string[]}","export enum NoteSections {\n PMH,\n MedicationsAndSupplements,\n ROS,\n Physical,\n MDM,\n Diagnosis,\n Plan,\n SpecialTests,\n NextAppointment\n}\n\nexport const noteSectionsNames : { [id: string]: string; } = {\n [NoteSections.PMH]: 'PMH',\n [NoteSections.MedicationsAndSupplements]: 'Medications And Supplements',\n [NoteSections.ROS]: 'ROS',\n [NoteSections.Physical]: 'Physical',\n [NoteSections.MDM]: 'MDM',\n [NoteSections.Diagnosis]: 'Diagnosis',\n [NoteSections.Plan]: 'Plan',\n [NoteSections.SpecialTests]: 'Additional Tests',\n [NoteSections.NextAppointment]: 'Next Appointment',\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n functionValidationRule,\n rangeValidationRule,\n requiredValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport {MdmCategory, MdmCategoryIds, mdmCategoryItemsCount, MdmDataModel, MdmMode, NotePhysicalModel, RosModel} from \"../../models/notes.models\";\n\n\nexport const createHistoryAndPhysicalNoteComponentValidator = new GeneralValidator({\n 'ROS':[functionValidationRule((data: RosModel) => {\n if(!data.rosEnabled){\n return false;\n }\n\n return true\n }, 'ROS section must be completed.')],\n 'diagnosis': [functionValidationRule((data) => {\n return data?.length > 0\n }, 'At least one diagnosis must be selected.')],\n 'mdmData': [functionValidationRule((data: MdmDataModel) => {\n \n if (!data.selectedMdmPatientType) {\n return false;\n }\n if (!data.selectedCodeId) {\n return false;\n }\n if (data.selectedMode === MdmMode.TimeBased) {\n if (!data.spentTime) {\n return false;\n }\n } else {\n if (data.selectedCodeId === MdmCategory.EstablishedPatientG0438\n || data.selectedCodeId === MdmCategory.EstablishedPatientG0439\n || data.selectedCodeId === MdmCategory.NewPatientG0438) {\n return true\n }\n \n if (!data.selectedCategoryIds) {\n return false;\n }\n\n if (data.selectedCategoryIds.length < 1) {\n return false;\n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99205 || data.selectedCodeId === MdmCategory.NewPatient99205) {\n if (data.selectedCategoryIds.length < 2) {\n return false;\n }\n \n const el99205 = data.selectedCategoryIds.find(el => el === MdmCategoryIds.EstablishedPatientOne99205 || el === MdmCategoryIds.NewPatientOne99205)\n if (el99205 && data.selectedCategoryItems.length < 4) {\n return false\n } \n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99203 || data.selectedCodeId === MdmCategory.EstablishedPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n\n \n if (data.selectedCodeId === MdmCategory.NewPatient99203 || data.selectedCodeId === MdmCategory.NewPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n \n }\n\n return true;\n }, 'Coding section must be fully completed.')],\n 'physicalExam': [requiredValidationRule(1, 'Physical Exam cannot be left blank')],\n 'systolicBP': [rangeValidationRule(0, 280)],\n 'diastolicBP': [rangeValidationRule(0, 200)],\n 'heartRate': [rangeValidationRule(0, 220)],\n 'temperature': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(93, 107).function(data);\n }, 'Value should be in range from 93 to 107')],\n 'height': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(18, 120).function(data);\n }, 'Value should be in range from 18 to 120')],\n 'weight': [rangeValidationRule(0, 1200, 'Not more than 1200lbs')],\n 'physicalData': [functionValidationRule((data: NotePhysicalModel) => {\n if (data.unableToObtain) {\n return true;\n }\n\n const vitals = data.diastolicBP\n + data.systolicBP\n + data.height\n + data.weight\n + data.temperature\n + data.heartRate;\n\n return vitals !== 0;\n }, 'At least 1 field must be completed')]\n});","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n functionValidationRule,\n rangeValidationRule,\n requiredValidationRule,\n} from \"../../../common/validation/general-validation-rules\";\nimport {MdmCategory, MdmCategoryIds, mdmCategoryItemsCount, MdmDataModel, MdmMode, NotePhysicalModel} from \"../../models/notes.models\";\nimport moment from \"moment\";\n\nexport const createSoapNoteComponentValidator = new GeneralValidator({\n 'diagnosis': [functionValidationRule((data) => {\n return data?.length > 0\n }, 'At least one diagnosis must be selected.')],\n 'mdmData': [functionValidationRule((data: MdmDataModel) => {\n if (!data.selectedMdmPatientType) {\n return false;\n }\n if (!data.selectedCodeId) {\n return false;\n }\n if (data.selectedMode === MdmMode.TimeBased) {\n if (!data.spentTime) {\n return false;\n }\n } else {\n if (data.selectedCodeId === MdmCategory.EstablishedPatientG0438\n || data.selectedCodeId === MdmCategory.EstablishedPatientG0439\n || data.selectedCodeId === MdmCategory.NewPatientG0438) {\n return true\n }\n\n if (!data.selectedCategoryIds) {\n return false;\n }\n\n if (data.selectedCategoryIds.length < 1) {\n return false;\n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99205 || data.selectedCodeId === MdmCategory.NewPatient99205) {\n if (data.selectedCategoryIds.length < 2) {\n return false;\n }\n \n const el99205 = data.selectedCategoryIds.find(el => el === MdmCategoryIds.EstablishedPatientOne99205 || el === MdmCategoryIds.NewPatientOne99205)\n if (el99205 && data.selectedCategoryItems.length < 4) {\n return false\n } \n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99203 || data.selectedCodeId === MdmCategory.EstablishedPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n\n \n if (data.selectedCodeId === MdmCategory.NewPatient99203 || data.selectedCodeId === MdmCategory.NewPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n }\n\n return true;\n }, 'Coding section must be fully completed.')],\n 'physicalExam': [requiredValidationRule(1, 'Physical Exam cannot be left blank')],\n 'systolicBP': [rangeValidationRule(0, 280)],\n 'diastolicBP': [rangeValidationRule(0, 200)],\n 'heartRate': [rangeValidationRule(0, 220)],\n 'temperature': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(93, 107).function(data);\n }, 'Value should be in range from 93 to 107')],\n 'height': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(18, 120).function(data);\n }, 'Value should be in range from 18 to 120')],\n 'weight': [rangeValidationRule(0, 1200, 'Not more than 1200lbs')],\n 'physicalData': [functionValidationRule((data: NotePhysicalModel) => {\n if (data.unableToObtain) {\n return true;\n }\n\n const vitals = data.diastolicBP\n + data.systolicBP\n + data.height\n + data.weight\n + data.temperature\n + data.heartRate;\n\n return vitals !== 0;\n }, 'At least 1 field must be completed')]\n});","import { nullableRangeValidationRule, rangeValidationRule } from \"../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../common/validation/general-validator\";\nimport { LabRangeModel, LabRangeType, LabValidationSource } from \"../../inputs/models/input.models\";\n\nexport const vitalsErrorMessages = {\n bloodPressureIsAbnormal: 'Your Blood Pressure is abnormal. Norm: 90/60mmHg - 120/80mmHg',\n diastolicIsGraterThanSystolic: 'Diastolic cannot be greater than or equal to Systolic',\n systolicAndDiastolicNotFiled: 'Please enter a complete blood pressure',\n}\n\nexport class VitalsNames {\n static readonly SystolicBloodPressure: string = \"SystolicBloodPressure\";\n static readonly DiastolicBloodPressure: string = \"DiastolicBloodPressure\";\n static readonly HeartRate: string = \"HeartRate\";\n static readonly HRV: string = \"HRV\";\n static readonly RHR: string = \"RHR\";\n static readonly Weight: string = \"Weight\";\n static readonly Height: string = \"Height\";\n static readonly BMI: string = \"BMI\";\n static readonly Waist: string = \"Waist\";\n static readonly Steps: string = \"Steps\";\n static readonly Calories: string = \"Calories\";\n static readonly Temperature: string = \"Temperature\";\n}\nexport class VitalsKeys {\n static readonly selectedDate: string = \"selectedDate\";\n static readonly systolicBloodPressure: string = \"systolicBloodPressure\";\n static readonly diastolicBloodPressure: string = \"diastolicBloodPressure\";\n static readonly waist: string = \"waist\";\n static readonly weight: string = \"weight\";\n}\n\nexport const vitalsValidatorKeys = [\n VitalsKeys.systolicBloodPressure,\n VitalsKeys.diastolicBloodPressure,\n VitalsKeys.weight,\n VitalsKeys.waist,\n]\n\nexport const enterVitalsValidator = new GeneralValidator({\n [VitalsKeys.systolicBloodPressure]: [rangeValidationRule(0, 280)],\n [VitalsKeys.diastolicBloodPressure]: [rangeValidationRule(0, 200)],\n [VitalsKeys.weight]: [rangeValidationRule(0, 1200, 'Not more than 1200lbs')],\n [VitalsKeys.waist]: [rangeValidationRule(0, 125, 'Not more than 125in')],\n})\n\nexport const vitalsValidator = new GeneralValidator({\n [VitalsNames.SystolicBloodPressure]: [rangeValidationRule(0, 280)],\n [VitalsNames.DiastolicBloodPressure]: [rangeValidationRule(0, 200)],\n [VitalsNames.HeartRate]: [rangeValidationRule(0, 220)],\n [VitalsNames.HRV]: [nullableRangeValidationRule(20, 200)],\n [VitalsNames.RHR]: [rangeValidationRule(0, 1000)],\n [VitalsNames.Weight]: [rangeValidationRule(0, 1200, 'Not more than 1200lbs')],\n [VitalsNames.Waist]: [rangeValidationRule(0, 125, 'Not more than 125in')],\n [VitalsNames.Steps]: [rangeValidationRule(0, 100000)],\n [VitalsNames.Calories]: [rangeValidationRule(0, 100000)],\n})\n\nexport const vitalsNormalValuesValidator = new GeneralValidator({\n [VitalsNames.SystolicBloodPressure]: [rangeValidationRule(90, 120, vitalsErrorMessages.bloodPressureIsAbnormal)],\n [VitalsNames.DiastolicBloodPressure]: [rangeValidationRule(60, 80, vitalsErrorMessages.bloodPressureIsAbnormal)],\n})\n\nexport const vitalsNormalValues = new Map<string, LabRangeModel>([\n [VitalsNames.SystolicBloodPressure, {from: 89, to: 121, dimension: '', type: LabRangeType.FromTo, source: LabValidationSource.ValueScope}],\n [VitalsNames.DiastolicBloodPressure, {from: 59, to: 81, dimension: '', type: LabRangeType.FromTo, source: LabValidationSource.ValueScope}],\n]);\n","import Axios from 'axios-observable';\nimport {Observable} from 'rxjs';\nimport {authHeader} from '../../common/helpers/auth-header';\nimport {snackService} from '../../common/snack/state';\nimport {SpecialTestModel} from '../models/notes.models';\nimport {NotesStore, notesStore} from '../stores/notes';\n\n/**\n * Provides method for working with Common orders\n */\nexport class CommonOrdersService {\n private url = `${process.env.REACT_APP_API_URL}Orders/Common`;\n\n constructor(private store: NotesStore) {\n }\n\n private getConfig = () => ({headers: authHeader()});\n\n public getAllCommonOrders(): Observable<SpecialTestModel[]> {\n\n return new Observable((observer) => {\n Axios.get<SpecialTestModel[]>(this.url, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.update({commonOrders: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getCommonOrderById(id: number): Observable<SpecialTestModel> {\n \n return new Observable(observer => {\n Axios.get<SpecialTestModel>(`${this.url}/${id}`, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public createCommonOrder(model: SpecialTestModel): Observable<SpecialTestModel> {\n \n return new Observable(observer => {\n Axios.post<SpecialTestModel>(this.url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.addCommonOrder(response.data);\n snackService.success(\"Common Order successfully created!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public updateCommonOrder(model: SpecialTestModel): Observable<SpecialTestModel> {\n \n return new Observable(observer => {\n Axios.put<SpecialTestModel>(this.url, model, this.getConfig())\n .pipe()\n .subscribe(\n (response) => {\n this.store.updateCommonOrder(response.data);\n snackService.success(\"Common Order successfully updated!\")\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error();\n }\n );\n })\n }\n\n public deleteCommonOrder(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n this.store.removeCommonOrder(id);\n snackService.success('Common Order successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const commonOrdersService = new CommonOrdersService(notesStore);\n","import moment from \"moment\";\nimport { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\nimport { interval, Observable, Subscription } from \"rxjs\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { AppointmentTargetType } from \"../../../appointments/models/appointments.enums\";\nimport { PatientAppointmentModel } from \"../../../appointments/models/appointments.models\";\nimport { durations } from \"../../../appointments/models/times.models\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { appointmentsQuery } from \"../../../appointments/stores/appointments\";\nimport { PermissionType, Roles, UserType } from \"../../../auth/models/auth.enums\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { PatientAllergyModel } from \"../../../patientSupplements/models/patientAllergiesModel\";\nimport { medicationsService } from \"../../../patientSupplements/services/medications.service\";\nimport { patientAllergiesService } from \"../../../patientSupplements/services/patientAllergiesService\";\nimport { supplementsService } from \"../../../patientSupplements/services/supplements.service\";\nimport {\n CheckAnswer,\n HealthGoalsQuestionNames,\n QuestionnaireResultModel,\n QuestionnaireSubType\n} from \"../../../questionnaire/models/questionnaire.models\";\nimport { questionnaireService } from \"../../../questionnaire/services/questionnaire.service\";\nimport { DetailedQuestionNames } from \"../../../questionnaire/static/detailedQuestionnaire.static\";\nimport { MedicalHistoryAndLifestyleQuestionNames } from \"../../../questionnaire/static/medicalHistroryQuestionnaire.static\";\nimport {\n AppointmentConfigurationModel,\n GoalCategory,\n GoalModel,\n HealthSummaryNoteKeySectionNames,\n HistoryAndPhysicalContent,\n IcdCode,\n MdmMode,\n MdmModel,\n MdmPatientType,\n MedicationItem, NoteGoalsVersion,\n NoteModel,\n NotePmhVersion,\n NotesType,\n SaveNoteModel, SignOffNoteModel, SpecialTestModel,\n SupplementItem\n} from \"../../models/notes.models\";\nimport { mdmCodesService } from \"../../services/mdmCodes.service\";\nimport { notesService, SignOffModel } from \"../../services/notes.service\";\nimport { NoteSections } from \"./createHistoryAndPhysicalNoteComponent.static\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { icdCodesService } from \"../../services/icdCodes.service\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { createHistoryAndPhysicalNoteComponentValidator } from \"./createHistoryAndPhysicalNoteComponent.validator\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { createSoapNoteComponentValidator } from \"../createSoapComponent/createSoapNoteComponent.validator\";\nimport { vitalsErrorMessages } from \"../../../vital/validators/vital.validator\";\nimport { healthSummaryService } from \"../../../healthSummary/services/healthSummary.service\";\nimport { HealthSummaryDataModel, HealthSummaryDraftModel, HealthSummaryMapModel } from \"../../../healthSummary/models/healthSummary.models\";\nimport { healthSummaryQuery } from \"../../../healthSummary/stores\";\nimport { buildKey, getKey } from \"../../../healthSummary/helpers/healthSummaryHelper\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { goalsService } from \"../../services/goals.service\";\nimport { isProviderRole } from \"../../../common/constants/roles\";\nimport { inputsService } from \"../../../inputs/services/inputs.service\";\nimport { ApoeModel, YesNo } from \"../../../inputs/models/input.models\";\nimport { ApoeSoursConstants } from \"../../../healthReport/constants/apoe.constants\";\nimport { mdmPlansService } from \"../../services/mdmPlans.service\";\nimport { commonSupplementsService } from \"../../services/commonSupplements.service\";\nimport { commonOrdersService } from \"../../services/commonOrders.service\";\nimport {FullscriptSupplementModel} from \"../../../patientSupplements/models/fullscriptSupplementModels\";\nimport {prescriptionService} from \"../../../patientSupplements/services/prescription.service\";\n\nexport interface HealthSummaryListItemsNoteComponentState {\n isEditorOpened: boolean\n isMenuOpened: boolean\n editRowValue: string\n selectedKey: string\n editRowName: string\n addNewRow: boolean\n anchorEl: any\n editSection: string\n currentMap: HealthSummaryMapModel\n draft: any[]\n}\n\ninterface CreateHistoryAndPhysicalNoteComponentState extends IErrorState {\n sections: { [id: number]: boolean };\n isLoadingHealthSummary: boolean;\n data: HealthSummaryDataModel[];\n map: HealthSummaryMapModel[];\n title: string;\n appointmentDate: Date;\n selectedTargetType: AppointmentTargetType;\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n content: HistoryAndPhysicalContent;\n\n note: NoteModel;\n appointments: PatientAppointmentModel[];\n patient: PatientModel;\n allergies: PatientAllergyModel[];\n icdCodes: IcdCode[];\n mdmCodes: MdmModel[];\n rosVariants: string[];\n\n areAllergiesLoading: boolean;\n areQuestionnaireResultsLoading: boolean;\n isNoteContentLoading: boolean;\n isProcessing: boolean;\n isAutoSaving: boolean;\n isChanged: boolean;\n navigateTo: string;\n isFirstSaveOriginalNote: boolean;\n originalNote: NoteModel;\n isCommonMdmLoading: boolean;\n isCommonGoalLoading: boolean;\n isCommonSupplementLoading: boolean;\n isCommonOrderLoading: boolean;\n}\n\nlet stateContext: CreateHistoryAndPhysicalNoteComponentState = null;\n\nexport function useFacade(\n patientId: number,\n handleGoBack: () => void,\n appointmentId: number | null,\n appointmentConfiguration: AppointmentConfigurationModel | null,\n note: NoteModel,\n originalNote: NoteModel\n): [\n CreateHistoryAndPhysicalNoteComponentState,\n (section: NoteSections) => void,\n (value: string) => void,\n (value: Date) => void,\n (appointmentId: number) => void,\n (durationValue: number, type: AppointmentTargetType) => void,\n (value: string) => void,\n (key: string, values: string[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (supplements: FullscriptSupplementModel[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (id: number) => void,\n (id: number) => void,\n (id: number, isChecked: boolean) => void,\n (id: number, isChecked: boolean) => void,\n (value: boolean) => void,\n (values: string[]) => void,\n (value: boolean) => void,\n (field: string, value: number) => void,\n (value: string) => void,\n (value: string) => void,\n (value: MdmPatientType) => void,\n (id: number, showCodeDescription: boolean) => void,\n (ids: number[]) => void,\n (id: number, inputValue: string) => void,\n (mode: MdmMode) => void,\n (time: number) => void,\n (key: string, values: IcdCode[]) => void,\n (value: string) => void,\n (value: string) => void,\n (field: string, goals: GoalModel[]) => void,\n (tests: SpecialTestModel[]) => void,\n (field: string, educations: string) => void,\n (date: Date, role: Roles) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (searchQuery: string) => Observable<IcdCode[]>,\n Map<string, [MutableRefObject<any>, NoteSections]>,\n (value: string) => void,\n (value: string, id: number) => void,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n (searchQuery: string) => Observable<string[]>,\n Function,\n Function,\n Function,\n Function,\n Function,\n (goalName: string, id: number) => boolean,\n HealthSummaryListItemsNoteComponentState,\n Function,\n Function,\n Function,\n Function,\n Function,\n ] {\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [state, setState] = useState(\n {\n sections: {\n [NoteSections.PMH]: false,\n [NoteSections.MedicationsAndSupplements]: false,\n [NoteSections.ROS]: false,\n [NoteSections.Physical]: false,\n [NoteSections.MDM]: false,\n [NoteSections.Diagnosis]: false,\n [NoteSections.Plan]: false,\n [NoteSections.SpecialTests]: false,\n [NoteSections.NextAppointment]: false,\n },\n isLoadingHealthSummary: true,\n data: null,\n map: [],\n title: '',\n appointmentDate: appointmentConfiguration?.visitDate ?? new Date(),\n selectedTargetType: AppointmentTargetType.Patient,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n isFirstSaveOriginalNote: !!originalNote,\n\n content: {\n appointmentConfiguration: appointmentConfiguration,\n duration: appointmentConfiguration?.duration\n ? durations.find(x => x.value === appointmentConfiguration?.duration)\n : durations[0],\n pmhVersion: NotePmhVersion.New,\n chiefComplaint: '',\n HPI: '',\n PMH: {\n allergies: [],\n currentMedicalConditions: [],\n famHX: [],\n screeningHealthMaintenance: [],\n surgicalHX: [],\n PHQ2: [],\n socialLifestyleHX: [],\n },\n PMHnew: {\n allergies: [],\n currentMedicalConditions: [],\n famHX: [],\n screeningHealthMaintenance: [],\n screeningHealthMaintenanceApoe: {\n hideApoe: YesNo.None,\n score: '',\n source: ApoeSoursConstants.BloodTest,\n colonoscopy: {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_LAST_SCREENING,\n id: null,\n tooltip: '',\n },\n psa: {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_PSA_OR_PROSTATE_EXAM,\n id: null,\n tooltip: '',\n },\n },\n surgicalHX: [],\n PHQ2: [],\n socialHX: [],\n lifestyleHX: [],\n },\n medicationsSupplements: {\n supplements: [],\n medications: []\n },\n ROS: {\n rosEnabled: false,\n rosValues: [],\n },\n physicalData: {\n unableToObtain: false,\n systolicBP: 0,\n diastolicBP: 0,\n heartRate: 0,\n temperature: 0,\n height: 0,\n weight: 0,\n physicalExam: ''\n },\n mdmData: {\n mdmText: '',\n selectedMdmPatientType: MdmPatientType.New,\n selectedCodeId: null,\n showCodeDescription: null,\n selectedCategoryId: null,\n selectedCategoryIds: [],\n selectedCategoryItems: [],\n selectedMode: MdmMode.Mdm,\n spentTime: 0,\n },\n diagnosis: [],\n plan: {\n planText: '',\n dietGoals: [],\n exerciseGoals: [],\n sleepGoals: [],\n neuroGoals: [],\n longevityGoals: [],\n mindfulnessGoals: [],\n labsGoals: [],\n labsText: '',\n coachOtherText: ''\n },\n specialTests: []\n },\n\n note: note,\n appointments: [],\n patient: null,\n allergies: [],\n icdCodes: [],\n mdmCodes: [],\n rosVariants: [],\n\n areAllergiesLoading: true,\n areQuestionnaireResultsLoading: true,\n isNoteContentLoading: true,\n isProcessing: false,\n isAutoSaving: false,\n isChanged: false,\n originalNote: originalNote,\n errors: {},\n navigateTo: \"\",\n isCommonMdmLoading: true,\n isCommonGoalLoading: true,\n isCommonSupplementLoading: true,\n isCommonOrderLoading: true\n } as unknown as CreateHistoryAndPhysicalNoteComponentState\n );\n\n const [editPmhState, setEditPmhState] = useState({\n isEditorOpened: false,\n isMenuOpened: false,\n selectedKey: null,\n addNewRow: false,\n anchorEl: null,\n editSection: '',\n currentMap: null,\n draft: [],\n } as HealthSummaryListItemsNoteComponentState)\n\n const setInitialState = () => {\n setEditPmhState({\n ...editPmhState,\n isEditorOpened: false,\n selectedKey: null,\n addNewRow: false,\n editRowValue: '',\n editRowName: '',\n editSection: '',\n currentMap: null,\n draft: []\n })\n }\n\n stateContext = state;\n const refs = new Map<string, [MutableRefObject<any>, NoteSections]>();\n\n refs.set(\"ROS\", [useRef(null), NoteSections.ROS]);\n refs.set(\"physicalData\", [useRef(null), NoteSections.Physical]);\n refs.set(\"physicalExam\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"diastolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"systolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"mdmData\", [useRef(null), NoteSections.MDM]);\n refs.set(\"diagnosis\", [useRef(null), NoteSections.Diagnosis]);\n\n const handleToggleActions = (key: string, anchorEl: Element, section: string,) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n isMenuOpened: !editPmhState.isMenuOpened,\n anchorEl: anchorEl,\n selectedKey: key,\n editSection: section,\n }))\n }\n\n const isCanCompleteNote = () => {\n if (!isProviderRole(authQuery.getRoleId())) {\n return false;\n }\n\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const createPmhAlergiesKey = (section, item) => {\n return `${section}-${item.id}`\n }\n\n const handleHideApoe = (val: YesNo) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n hideApoe: val\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleSelectedSoursApoe = (val: string) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n source: val\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleEditApoe = (value) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n score: value\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleDateColonoscopyChanges = (val) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n colonoscopy: {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe?.colonoscopy,\n value: val\n }\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleDatePsaChanges = (val) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n psa: {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe?.psa,\n value: val\n }\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleEdit = () => {\n const dataItem = state.content.PMHnew[editPmhState.editSection].find(el => el.key === editPmhState.selectedKey)\n\n setEditPmhState({\n ...editPmhState,\n editRowName: dataItem.name,\n editRowValue: dataItem.value,\n isEditorOpened: true,\n isMenuOpened: false\n })\n }\n\n const handleDelete = () => {\n const newData = state.content.PMHnew[editPmhState.editSection].filter(el => el.key !== editPmhState.selectedKey)\n state.content.PMHnew[editPmhState.editSection] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n setEditPmhState({\n ...editPmhState,\n isMenuOpened: false,\n selectedKey: null,\n anchorEl: null,\n editSection: ''\n })\n\n }\n\n const handleEditRowName = (value: string) => {\n\n setEditPmhState({\n ...editPmhState,\n editRowName: value\n })\n }\n\n const handleEditRowValue = (value: string) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n const handleAddNewRow = (section: string, map: HealthSummaryMapModel) => {\n setEditPmhState({\n ...editPmhState,\n addNewRow: true,\n editSection: section,\n currentMap: map,\n })\n }\n\n const handleBlur = (e, value) => {\n if (value) {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n if (e?.currentTarget?.id.includes('list-edit') && e?.relatedTarget) {\n return\n }\n\n if (editPmhState.editRowName && editPmhState.editRowValue) {\n saveChanges({ name: editPmhState.editRowName, value: editPmhState.editRowValue })\n return\n }\n\n if (editPmhState.addNewRow && !editPmhState.editRowName && !editPmhState.editRowValue) {\n setInitialState()\n return\n }\n }\n\n const handleEditNewItem = (value: string) => {\n const draft = editPmhState.draft\n const item = editPmhState.draft.find(x => x.isNew)\n\n draft[draft.indexOf(draft.find(x => x.key === item.key))].value = value\n setEditPmhState({\n ...editPmhState,\n draft: draft\n })\n }\n\n const handleEditItem = (sectionOfNote, selectedKey, editValue, isDelete = false) => {\n if (isDelete) {\n const updateItems = state.content.PMHnew[sectionOfNote].filter(el => el.key !== selectedKey)\n state.content.PMHnew[sectionOfNote] = updateItems\n } else {\n const updateItems = state.content.PMHnew[sectionOfNote].map(el => {\n if (el.key === selectedKey) {\n return {\n ...el,\n value: editValue,\n isNew: false,\n }\n }\n return el\n })\n state.content.PMHnew[sectionOfNote] = updateItems\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleAddInformation = (subSection: string, sectionOfNote: string, map: HealthSummaryMapModel) => {\n const newDataItem = {\n name: '',\n value: '',\n key: buildKey(map.key, subSection),\n section: subSection,\n isNew: true,\n patientId: patientId\n } as HealthSummaryDraftModel\n\n setEditPmhState({\n ...editPmhState,\n draft: [...editPmhState.draft, newDataItem]\n })\n }\n\n const handleSaveNewItem = (sectionOfNote: string,) => {\n const newData = [...state.content.PMHnew[sectionOfNote], ...editPmhState.draft]\n state.content.PMHnew[sectionOfNote] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n setInitialState()\n }\n\n const parseValue = (value: string) => {\n if (!value) {\n return ''\n }\n\n const arr = value.split(' ')\n\n if (!arr || !arr.length) {\n return ''\n }\n\n return arr;\n }\n\n const saveValue = (value: string) => {\n const parsedValue = parseValue(value)\n\n if (!parsedValue) {\n if (!editPmhState.isEditorOpened) {\n setInitialState()\n }\n return\n }\n\n const editValue = parsedValue.length > 1 ? parsedValue[0] : ''\n const editName = parsedValue.length > 1 ? value.replace(editValue, '').trim() : value\n\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: editValue,\n editRowName: editName\n }))\n\n const result = { name: editName, value: editValue }\n\n saveChanges(result)\n }\n\n const saveChanges = ({ name, value }) => {\n if (!name || !value) {\n setInitialState()\n return\n }\n\n const isNew = !editPmhState.selectedKey\n\n const model = {\n key: isNew ? buildKey(editPmhState.currentMap.key) : editPmhState.selectedKey,\n name: name ?? editPmhState.editRowName,\n value: value ?? editPmhState.editRowValue,\n } as HealthSummaryDataModel\n\n if (isNew) {\n const emptyModel = {\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: Math.floor(Math.random() * 10000),\n tooltip: ''\n }\n const newData = [...state.content.PMHnew[editPmhState.editSection], { ...emptyModel, ...model }]\n state.content.PMHnew[editPmhState.editSection] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n\n } else {\n const updateItems = state.content.PMHnew[editPmhState.editSection].map(el => {\n if (el.key === editPmhState.selectedKey) {\n return {\n ...el,\n ...model,\n }\n }\n return el\n })\n state.content.PMHnew[editPmhState.editSection] = updateItems\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n setInitialState()\n }\n\n const handleExpandSection = (section: NoteSections) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState(state => ({ ...state, sections: sections }));\n }\n\n const handleTitleChanges = (value: string) => {\n setState(state => ({ ...state, title: value, isChanged: true }));\n }\n\n const handleAppointmentDateChanges = (value: Date) => {\n setState(state => ({ ...state, appointmentDate: value, isChanged: true }));\n }\n\n const handleAppointmentChanges = (appointmentId: number) => {\n if (state.note?.appointment?.id === appointmentId) {\n return;\n }\n\n const model = getSaveModel(state);\n\n model.appointmentId = appointmentId;\n\n notesService.saveAsDraft(model, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n const getTargetDurations = (type: AppointmentTargetType) => {\n const patientMode = type === AppointmentTargetType.Patient;\n\n return durations.filter(x => x.patientMode === patientMode);\n }\n\n const handleChangeDuration = (durationValue: number, type: AppointmentTargetType) => {\n const selectedDuration = getTargetDurations(type).find(x => x.value === durationValue);\n const content = state.content;\n content.duration = selectedDuration;\n setState(state => ({ ...state, content: content, isChanged: true }));\n }\n\n const handleHpiChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n HPI: value\n },\n isChanged: true\n }));\n }\n\n const handlePmhItemChanges = (key: string, values: string[]) => {\n state.content.PMH[key] = values;\n setState(state => ({ ...state, isChanged: true }))\n }\n\n const handleAddMedications = (medication: MedicationItem) => {\n medication.id = Date.now();\n state.content.medicationsSupplements.medications.push(medication);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleAddSupplements = (supplement: SupplementItem) => {\n state.content.medicationsSupplements.supplements.push({\n ...supplement,\n id: Date.now() + Math.floor(Math.random() * 100),\n });\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleFullscriptSupplements = (supplements: FullscriptSupplementModel[]) => {\n // init array if it's null. required for notes compatibility\n // which created before feature released\n if (!state.content.medicationsSupplements.fullscriptSupplements) {\n state.content.medicationsSupplements.fullscriptSupplements = [];\n }\n state.content.medicationsSupplements.fullscriptSupplements.push(...supplements);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleEditMedications = (medication: MedicationItem) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === medication.id);\n if (item) {\n item.name = medication.name;\n item.dosage = medication.dosage;\n item.instructions = medication.instructions;\n item.startDate = medication.startDate;\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleEditSupplements = (supplement: SupplementItem) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === supplement.id);\n if (item) {\n item.name = supplement.name;\n item.dosage = supplement.dosage;\n item.instructions = supplement.instructions;\n item.purchaseLink = supplement.purchaseLink;\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleRemoveMedications = (id: number) => {\n state.content.medicationsSupplements.medications = state.content.medicationsSupplements.medications.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleRemoveSupplements = (id: number) => {\n state.content.medicationsSupplements.supplements = state.content.medicationsSupplements.supplements.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMedicationStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleSupplementStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleEnableRos = (value: boolean) => {\n state.content.ROS.rosEnabled = value;\n setState(state => ({ ...state, isChanged: true }))\n\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const handleRosChanges = (values: string[]) => {\n state.content.ROS.rosValues = values;\n setState(state => ({ ...state, isChanged: true }))\n\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const handleValidateGoals = (goalName: string, id: number) => {\n return false;\n }\n\n const validateVitals = () => {\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalData', state.content.physicalData);\n createSoapNoteComponentValidator.validateObjectAndSetState(state, setState, state.content.physicalData);\n const systolicValue = state.content.physicalData.systolicBP;\n const diastolicValue = state.content.physicalData.diastolicBP;\n let errors = state.errors;\n if ((systolicValue || diastolicValue) && diastolicValue >= systolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.diastolicIsGraterThanSystolic);\n } else if (systolicValue && !diastolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n } else if (diastolicValue && !systolicValue) {\n errors = GeneralValidator.addError(state, `systolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n }\n\n setState(state => ({\n ...state,\n errors: errors\n }));\n }\n\n\n const validateNote = (): boolean => {\n createHistoryAndPhysicalNoteComponentValidator.validateObjectAndSetState(state, setState, state.content);\n\n validateVitals();\n\n if (state.content.physicalData.unableToObtain) {\n GeneralValidator.removeError(state, 'physicalData');\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n }\n\n return GeneralValidator.isValidState(state);\n }\n\n const handleDisableVitals = (value: boolean) => {\n state.content.physicalData.unableToObtain = value;\n setState(state => ({ ...state, isChanged: true }));\n if (value) {\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n GeneralValidator.removeError(state, 'physicalData');\n }\n }\n\n const handleVitalsChanges = (field: string, value: number) => {\n state.content.physicalData[field] = value;\n setState(state => ({ ...state, isChanged: true }));\n validateVitals();\n }\n\n const handlePhysicalExamChanges = (value: string) => {\n state.content.physicalData.physicalExam = value;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalExam', value);\n }\n\n const handleMdmTextChange = (value: string) => {\n state.content.mdmData.mdmText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMdmPatientTypeChange = (value: MdmPatientType) => {\n state.content.mdmData.selectedMdmPatientType = value;\n state.content.mdmData.selectedCodeId = null;\n state.content.mdmData.showCodeDescription = null;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCodeChange = (id: number, showCodeDescription: boolean) => {\n if (state.content.mdmData.selectedCodeId !== id) {\n state.content.mdmData.selectedCodeId = id;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n state.content.mdmData.showCodeDescription = showCodeDescription;\n\n setState(state => ({ ...state }));\n }\n\n const handleCategoryChange = (ids: number[]) => {\n const mdmCode = state.mdmCodes.find(x => x.id === state.content.mdmData.selectedCodeId);\n const removedCategories = mdmCode.categories.filter(x => !ids.some(t => t === x.id));\n const removedItems = removedCategories.map(x => x.items).flat();\n const items = state.content.mdmData.selectedCategoryItems.filter(x => !removedItems.some(t => t.id === x.id));\n state.content.mdmData.selectedCategoryIds = ids;\n state.content.mdmData.selectedCategoryItems = items;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCategoryItemChange = (id: number, inputValue: string) => {\n const item = state.content.mdmData.selectedCategoryItems.find(x => x.id === id)\n if (item !== undefined) {\n if (inputValue === null) {\n state.content.mdmData.selectedCategoryItems = state.content.mdmData.selectedCategoryItems.filter(x => x.id !== id);\n }\n else {\n item.inputValue = inputValue;\n }\n }\n else {\n state.content.mdmData.selectedCategoryItems.push({\n id: id,\n inputValue: inputValue\n })\n }\n\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleModeChange = (mode: MdmMode) => {\n switch (mode) {\n case MdmMode.Mdm: {\n state.content.mdmData.spentTime = 0;\n }\n case MdmMode.TimeBased: {\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n }\n }\n state.content.mdmData.selectedMode = mode;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleSpentTimeChanges = (time: number) => {\n state.content.mdmData.spentTime = time;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleDiagnosisChanges = (key: string, values: IcdCode[]) => {\n state.content.diagnosis = values;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'diagnosis', state.content.diagnosis);\n }\n\n const handleTextInfoChange = (value: string, id: number) => {\n const diagnosisForAddText = state.content.diagnosis.find(el => el.id === id)\n diagnosisForAddText.additionalInformation = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handlePlanTextChanges = (value: string) => {\n state.content.plan.planText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleLabTextChanges = (value: string) => {\n state.content.plan.labsText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleCoachOtherTextChanges = (value: string) => {\n state.content.plan.coachOtherText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleGoalsChanges = (field: string, goals: GoalModel[]) => {\n state.content.plan[field] = goals;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleTestChanges = (tests: SpecialTestModel[]) => {\n const content = state.content;\n content.specialTests = tests;\n setState(state => ({\n ...state,\n content: content\n }))\n }\n\n const handleEducationChanges = (field: string, educations: string) => {\n state.content.plan[field] = educations;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleNextAppointmentDateChanges = (date: Date, role: Roles) => {\n switch (role) {\n case Roles.Coach:\n setState(state => ({ ...state, nextCoachAppointmentDate: date, isChanged: true })); break;\n case Roles.Provider:\n setState(state => ({ ...state, nextProviderAppointmentDate: date, isChanged: true })); break\n }\n }\n\n // Questionnaire results helpers\n const getAnswer = (result: QuestionnaireResultModel, questionKey: string): string => result?.answers?.find(x => x.key === questionKey)?.value;\n\n const getAnswerVariants = (result: QuestionnaireResultModel, questionKey: string): string[] => {\n const answer = getAnswer(result, questionKey);\n if (!answer) {\n return [];\n }\n\n const parsedAnswer: CheckAnswer = JSON.parse(answer);\n\n if (!parsedAnswer) {\n return [];\n }\n\n return [...parsedAnswer.v, ...parsedAnswer.o];\n };\n\n // Prefill\n const prefillHpi = (medicalHistoryQuestionnaire: QuestionnaireResultModel, goalsQuestionnaire: QuestionnaireResultModel, patient: PatientModel) => {\n if (medicalHistoryQuestionnaire === undefined || goalsQuestionnaire === undefined || patient === null) {\n return;\n }\n\n const firstName = patient.firstName;\n const age = moment().diff(patient.birthday, 'years');\n const medicalConditions = getAnswerVariants(medicalHistoryQuestionnaire, MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS).join(', ');\n const intention = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.YOUR_INTENTION);\n const exerciseGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_EXERCISE_GOAL);\n const nutritionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_NUTRITION_GOAL);\n const sleepGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SLEEP_GOAL);\n const mindfulnesGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_MINDFULNESS_GOAL);\n const socialConnectionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SOCIAL_CONNECTION_GOAL);\n\n const prefillText =\n `${firstName} is a ${age} y/o ${Gender[patient.gender]} with ${medicalConditions} who presents to establish care, discuss chronic disease management/prevention, and longevity. ` +\n `They have the specific intention: “${intention}”. \\n` +\n `The patient has the following goals: \\n` +\n `Exercise goal: “${exerciseGoals}“\\n` +\n `Nutrition goal: “${nutritionGoals}“\\n` +\n `Sleep goal: “${sleepGoals}“\\n` +\n `Mindfulness goal: “${mindfulnesGoals}“\\n` +\n `Social connection goal: “${socialConnectionGoals}“\\n`;\n\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n HPI: prefillText\n }\n }));\n }\n\n const prefillPmh = (\n detailedQuestionnaire: QuestionnaireResultModel,\n medicalHistoryAndLifestyle: QuestionnaireResultModel,\n patient: PatientModel) => {\n if (detailedQuestionnaire === undefined || patient === null) {\n return;\n }\n\n const medicalConditions = [\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.CARDIOVASCULAR_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.GASTROINTESTINAL_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.SKIN_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.URINARY_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.KIDNEY_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.LUNG_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.NEUROLOGICAL_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.ENDOCRINE_HORMONAL_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.MENTAL_HEALTH_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.BLOOD_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.MUSCULOSKELETAL_ISSUES_VARIANTS),\n ...getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.CANCER_ISSUES_VARIANTS).map(x => `${x} cancer`),\n ]\n\n const familyConditions = [\n `Mother: ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.BIOLOGICAL_MOTHER_MEDICAL_PROBLEMS)}`,\n `Father: ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.BIOLOGICAL_FATHER_MEDICAL_PROBLEMS)}`,\n `Sibling: ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.BIOLOGICAL_SIBLING_MEDICAL_PROBLEMS)}`,\n ]\n\n const surgicalCondition = getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.SURGERY_ISSUES_VARIANTS);\n\n const cigaretsPerDay = getAnswer(detailedQuestionnaire, DetailedQuestionNames.CIGARETTES_DAY);\n const yearsSmoking = getAnswer(detailedQuestionnaire, DetailedQuestionNames.YEARS_SMOKING);\n\n const smokingStatus = getAnswer(detailedQuestionnaire, DetailedQuestionNames.SMOKING) === 'Never'\n ? 'Doesn\\'t smoke'\n : `${cigaretsPerDay} cigarettes/day for ${yearsSmoking} years`\n\n const alcoholicDrinksCount = getAnswer(detailedQuestionnaire, DetailedQuestionNames.AVERAGE_DRINK_ISSUES);\n\n const drinkingStatus = getAnswer(detailedQuestionnaire, DetailedQuestionNames.DRINK_ISSUES) === 'No'\n ? 'Doesn\\'t drink alcohol'\n : `Drinks ${alcoholicDrinksCount} alcoholic drinks/week`\n\n const drugs = getAnswerVariants(detailedQuestionnaire, DetailedQuestionNames.DRUGS_ISSUES_VARIANTS);\n\n const drugUse = getAnswer(detailedQuestionnaire, DetailedQuestionNames.DRUGS_ISSUES) === 'No'\n ? 'Doesn\\'t use drugs'\n : `Drugs use: ${drugs.join(', ')}`;\n\n const partnerShip = getAnswer(detailedQuestionnaire, DetailedQuestionNames.PARTNERSHIP_STATUS);\n\n const dietChoice = 'Diet choice: ' + getAnswer(medicalHistoryAndLifestyle, MedicalHistoryAndLifestyleQuestionNames.SPECIFIC_KIND_OF_DIET);\n const sleepPerNight = 'Sleep per night: ' + getAnswer(medicalHistoryAndLifestyle, MedicalHistoryAndLifestyleQuestionNames.AVERAGE_HOURS_OF_SLEEP);\n\n const socialLifestyle = [\n smokingStatus,\n drinkingStatus,\n drugUse,\n partnerShip,\n dietChoice,\n sleepPerNight\n ]\n\n const colonoscopyScreening = `Colonoscopy - ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.COLONOSCOPY)}`;\n const mammpogramScreening = `Mammogram - ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.MAMMOGRAM)}`;\n const papSmearScreening = `Pap smear - ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.PAP_SMEAR)}`;\n const psaScreening = `PSA - ${getAnswer(detailedQuestionnaire, DetailedQuestionNames.PSA_OR_PROSTATE)}`;\n\n const screening = [\n colonoscopyScreening\n ]\n\n if (patient.gender === Gender.Female) {\n screening.push(mammpogramScreening);\n screening.push(papSmearScreening);\n }\n\n if (patient.gender === Gender.Male) {\n screening.push(psaScreening);\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n PMH: {\n ...state.content.PMH,\n allergies: state.allergies.map(x => x.name),\n currentMedicalConditions: medicalConditions,\n famHX: familyConditions,\n surgicalHX: surgicalCondition,\n socialLifestyleHX: socialLifestyle,\n screeningHealthMaintenance: screening\n }\n }\n }))\n }\n\n const getSaveModel = (state: CreateHistoryAndPhysicalNoteComponentState): SaveNoteModel => {\n return {\n id: state.note?.id,\n name: 'History And Physical',\n title: state.title,\n type: NotesType.HistoryAndPhysicalInitial,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(state.content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n appointmentId: state.note ? state.note.appointment?.id : appointmentId,\n } as SaveNoteModel;\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: 'History And Physical',\n title: state.originalNote.title,\n type: NotesType.HistoryAndPhysicalInitial,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleSaveAndComplete = () => {\n if (!validateNote()) {\n for (const elem of refs) {\n if (state.errors[elem[0]] !== undefined) {\n const sections = state.sections;\n\n if (!sections[elem[1][1]]) {\n sections[elem[1][1]] = true;\n }\n\n setState(state => ({ ...state, sections: sections }));\n\n setTimeout(() => { elem[1][0].current.scrollIntoView({ block: \"center\", behavior: \"smooth\" }) }, 0)\n\n break;\n }\n }\n\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsCompleted(getSaveModel(state)).subscribe(\n () => {\n handleGoBack()\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n })\n });\n }\n\n const handleSaveAsDraft = () => {\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );;\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoBack();\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const autoSave = () => {\n if (stateContext.isChanged\n && !stateContext.isAutoSaving\n && !stateContext.isProcessing\n && !state.isFirstSaveOriginalNote\n && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getSaveModel(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n title: note.title,\n visitDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isAutoSaving: false,\n }));\n });\n }\n }\n\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n if (!state.note) {\n return handleGoBack();\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoBack());\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const getIcdCodesAutoPmhComplete = (searchQuery: string): Observable<string[]> => {\n return new Observable<string[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data.map((x) => x.code + ' ' + x.description));\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const setNoteData = (note: NoteModel) => {\n setState(state => ({\n ...state,\n title: note.title,\n appointmentDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate\n }));\n\n notesService.getContentByEmployee(note.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as HistoryAndPhysicalContent\n setState(state => ({\n ...state,\n content: content,\n isNoteContentLoading: false\n }));\n })\n }\n\n const getSectionData = (section: HealthSummaryMapModel, data: HealthSummaryDataModel[]) => {\n var keys = [...section.items.map(x => x.key), section.key]\n\n return data.filter(x => keys.includes(getKey(x.key)))\n }\n\n const getPmhAndHpiData = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n const hpiData = data?.find(x => x.key === HealthSummaryNoteKeySectionNames.HPI)?.value;\n\n if (hpiData && hpiData.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areQuestionnaireResultsLoading: false,\n content: {\n ...state.content,\n HPI: hpiData\n }\n }));\n } else {\n getHpiFromQuestionnaireResults()\n }\n\n patientAllergiesService.getByPatientId(patientId).subscribe((allergies) => {\n prescriptionService.getPatientAllergies(patientId).subscribe(rxntAllergies => {\n inputsService.getApoe(patientId).subscribe(\n (apoeInfo) => {\n if (data.length || allergies.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areAllergiesLoading: false,\n content: {\n ...state.content,\n PMHnew: {\n ...state.content.PMHnew,\n rxntAllergies: rxntAllergies,\n allergies: allergies.map(x => ({\n key: createPmhAlergiesKey(HealthSummaryNoteKeySectionNames.ALLERGIES, x),\n name: x.name,\n value: x.reaction,\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: x.id,\n tooltip: ''\n })),\n currentMedicalConditions: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST), data),\n famHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.FAMILY_HISTORY), data),\n surgicalHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SURGICAL_HISTORY), data),\n socialHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SOCIAL_HISTORY), data),\n lifestyleHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.LIFESTYLE_HISTORY), data),\n screeningHealthMaintenance: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SCREENING_HEALTH_MAINTENANCE), data),\n screeningHealthMaintenanceApoe: {\n ...apoeInfo,\n source: apoeInfo.source ?? ApoeSoursConstants.BloodTest\n },\n }\n }\n }))\n }\n }\n )\n })\n });\n })\n }\n\n\n const getHpiFromQuestionnaireResults = () => {\n questionnaireService.getLatestHealthFormsResults(patientId).subscribe(questionnaireResults => {\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const medicalHistoryQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.MedicalHistoryIncomplete)?.pop();\n const goalsQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.GoalsIncomplete)?.pop();\n\n prefillHpi(medicalHistoryQuestionnaire, goalsQuestionnaire, state.patient);\n }\n\n setState((state) => ({ ...state, areQuestionnaireResultsLoading: false }))\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<PatientAppointmentModel[]>(appointmentsQuery.patientAppointments$, appointments => {\n if (appointments.length) {\n const appointment = appointments.find(x => x.id === appointmentId);\n if (appointment) {\n setState(state => ({\n ...state,\n appointments: appointments,\n appointmentDate: appointment.startDate,\n content: {\n ...state.content,\n duration: durations.find(el => el.value === appointment.duration)\n }\n }));\n }\n else {\n setState(state => ({\n ...state,\n appointments: appointments\n }));\n }\n }\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n state.patient = targetPatient;\n setState(state => ({\n ...state,\n patient: targetPatient\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n setState(state => ({\n ...state,\n map: map\n }))\n\n if (map && map.length && !stateContext.note) {\n getPmhAndHpiData(map);\n }\n }),\n ];\n \n const commonGoalCB = () => setState(state => ({ ...state, isCommonGoalLoading: false }));\n\n const commonMDMCB = () => setState(state => ({ ...state, isCommonMdmLoading: false }));\n\n const commonSupplementCB = () => setState(state => ({ ...state, isCommonSupplementLoading: false }));\n\n const commonOrderCB = () => setState(state => ({ ...state, isCommonOrderLoading: false }));\n \n mdmPlansService.getAllCommonMdms().subscribe(commonMDMCB, commonMDMCB);\n \n goalsService.getAllCommonGoals().subscribe(commonGoalCB, commonGoalCB);\n \n commonSupplementsService.getAllCommonSupplements().subscribe(commonSupplementCB, commonSupplementCB);\n \n commonOrdersService.getAllCommonOrders().subscribe(commonOrderCB, commonOrderCB);\n\n mdmCodesService.get(NotesType.HistoryAndPhysicalInitial).subscribe(\n codes => {\n setState(state => ({\n ...state,\n mdmCodes: codes,\n }))\n }\n );\n\n if (stateContext.note && !originalNote) {\n setState((state) => ({\n ...state,\n isNoteContentLoading: true,\n areAllergiesLoading: false,\n areQuestionnaireResultsLoading: false\n }))\n setNoteData(stateContext.note);\n }\n else {\n setState((state) => ({\n ...state,\n isAutoSaving: true,\n isNoteContentLoading: false,\n areAllergiesLoading: true,\n areQuestionnaireResultsLoading: true\n }));\n\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as HistoryAndPhysicalContent\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n content: content,\n title: originalNote.title\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n handleGoBack()\n }\n );\n });\n }\n else {\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n handleGoBack()\n }\n );\n }\n\n medicationsService.get(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n medications: medications.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n instructions: x.instructions,\n startDate: x.startDate,\n isInCurrent: true,\n isStopped: false,\n source: null\n }\n })\n }\n }\n }))\n });\n\n prescriptionService.getPatientActiveMeds(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n rxntMedications: medications.map(x => {\n return {\n ...x,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n supplementsService.get(patientId).subscribe((supplements) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n supplements: supplements.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n purchaseLink: x.purchaseLink,\n instructions: x.instructions,\n source: x.source,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n goalsService.getCurrentGoalsByEmployee(patientId).subscribe(\n (goals) => {\n setState((state) => ({\n ...state,\n isPrefilled: true,\n isChanged: true,\n content: {\n ...state.content,\n goalsVersion: NoteGoalsVersion.New,\n plan: {\n ...state.content.plan,\n mindfulnessGoals: goals.filter(x => x.category === GoalCategory.Mindfulness),\n longevityGoals: goals.filter(x => x.category === GoalCategory.Longevity),\n exerciseGoals: goals.filter(x => x.category === GoalCategory.Exercise),\n sleepGoals: goals.filter(x => x.category === GoalCategory.Sleep),\n neuroGoals: goals.filter(x => x.category === GoalCategory.Neuro),\n dietGoals: goals.filter(x => x.category === GoalCategory.Diet)\n }\n }\n }))\n }\n );\n\n notesService.getByEmployee(patientId).subscribe((notes) => {\n const noteType = [\n NotesType.HistoryAndPhysicalFollowUp,\n NotesType.HistoryAndPhysicalInitial,\n NotesType.HistoryAndPhysicalGroupVisit,\n NotesType.FollowUp\n ];\n\n const lastNote = notes\n .filter(x => noteType.includes(x.type))\n .filter(x => x.isCompleted)\n .sort((a1, a2) => handleCompare(a1, a2, SortingDirection.Asc, 'visitDate'))\n .find(x => true);\n\n if (lastNote) {\n notesService.getContentByEmployee(lastNote.id, patientId).subscribe((content) => {\n const internalContent: HistoryAndPhysicalContent = JSON.parse(content.content);\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n plan: {\n ...state.content.plan,\n longevityEducations: internalContent?.plan?.longevityEducations ?? state.content.plan.longevityEducations,\n exerciseEducations: internalContent?.plan?.exerciseEducations ?? state.content.plan.exerciseEducations,\n sleepEducations: internalContent?.plan?.sleepEducations ?? state.content.plan.sleepEducations,\n neuroEducations: internalContent?.plan?.neuroEducations ?? state.content.plan.neuroEducations,\n dietEducations: internalContent?.plan?.dietEducations ?? state.content.plan.dietEducations,\n mindfulnessEducations: internalContent?.plan?.mindfulnessEducations ?? state.content.plan.mindfulnessEducations\n }\n }\n }))\n })\n } else {\n\n }\n });\n\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification)\n\n }\n healthSummaryService.getMap()\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe();\n\n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n handleHpiChanges,\n handlePmhItemChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleCoachOtherTextChanges,\n handleTextInfoChange,\n\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n getIcdCodesAutoPmhComplete,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n isCanCompleteNote,\n handleValidateGoals,\n editPmhState,\n handleHideApoe,\n handleSelectedSoursApoe,\n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500\n },\n subTitle: {\n fontSize: 18,\n fontWeight: 500\n },\n inputLabel: {\n fontSize: 14,\n color: colors.gray1\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n })\n);\n","export enum NoteSections {\n PMH,\n MedicationsAndSupplements,\n ROS,\n Physical,\n MDM,\n Diagnosis,\n Plan,\n SpecialTests,\n NextAppointment\n}\n\nexport const noteSectionsNames : { [id: string]: string; } = {\n [NoteSections.PMH]: 'PMH',\n [NoteSections.MedicationsAndSupplements]: 'Medications And Supplements',\n [NoteSections.ROS]: 'ROS',\n [NoteSections.Physical]: 'Physical',\n [NoteSections.MDM]: 'MDM',\n [NoteSections.Diagnosis]: 'Diagnosis',\n [NoteSections.Plan]: 'Plan',\n [NoteSections.SpecialTests]: 'Additional Tests',\n [NoteSections.NextAppointment]: 'Next Appointment',\n}","import React, { useState } from \"react\";\nimport { NoteModel } from \"../../models/notes.models\";\nimport { DurationModel, durations } from \"../../../appointments/models/times.models\";\nimport { AppointmentTargetType } from \"../../../appointments/models/appointments.enums\";\nimport { Box, TextField } from \"@material-ui/core\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { SelectDurationComponent } from \"../../../appointments/components/selectDuration/SelectDurationComonent\";\nimport { OptionalComponent } from \"../../../common/components/OptionalComponent\";\nimport { SelectAppointmentToNotesDialog } from \"../SelectAppointmentToNotesComponent/SelectAppointmentToNotesDialog\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { ReactComponent as CalendarIcon } from \"@img/icons/CalendarIcon.svg\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport moment from 'moment';\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\n\ninterface NoteGeneralInfoComponentProps {\n name: string;\n patientId: number,\n note: NoteModel,\n duration: DurationModel,\n visitDate: Date,\n title: string,\n selectedTargetType: AppointmentTargetType,\n handleTitleChanges: Function,\n handleAppointmentDateChanges: Function,\n handleAppointmentChanges: Function,\n handleChangeDuration: Function,\n classes\n}\n\nexport const NoteGeneralInfoComponent: React.FC<NoteGeneralInfoComponentProps> = (props): JSX.Element => {\n const {\n name,\n patientId,\n note,\n duration,\n visitDate,\n title,\n selectedTargetType,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n classes\n } = props;\n\n const [isOpen, setIsOpen] = useState(false);\n\n const finalDuration = note?.appointment\n ? durations.find(x => x.value === note.appointment.duration)\n : duration;\n\n const finalVisitDate = note?.appointment\n ? note.appointment.date\n : visitDate;\n\n const handleSelectAppointmentSubmit = (appointmentId: number) => {\n if (!appointmentId) {\n if (!patientsQuery.getTargetPatient()?.isPremium) {\n snackService.error(\"There was an error while attaching a note.\");\n }\n } else {\n handleAppointmentChanges(appointmentId);\n }\n\n setIsOpen(false);\n }\n\n if (!note) {\n return <></>\n }\n\n const handleTimeChanges = (time: string) => {\n const hoursMinutes = time.split(\":\");\n const dateResult = new Date(visitDate);\n dateResult.setHours(+hoursMinutes[0], +hoursMinutes[1]);\n handleAppointmentDateChanges(new Date(dateResult));\n }\n\n const getTime = () => {\n return moment(visitDate).format('HH:mm');\n }\n\n return (\n <Box>\n <Box display='flex' alignItems='center'>\n <Box>\n <span className={classes.title}>{name}</span>\n </Box>\n <Box ml={3}>\n <TextField\n label='Enter title'\n fullWidth\n type='text'\n size=\"small\"\n variant=\"outlined\"\n value={title}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleTitleChanges(e.target.value)}\n />\n </Box>\n </Box>\n <Box display='flex' mt={3}>\n <Box>\n <Box pb={1}>\n <span className={classes.inputLabel}>Appointment Date</span>\n </Box>\n {\n note?.appointment\n ? <WildHealthButton\n width={256}\n size=\"medium\"\n style={{ whiteSpace: 'nowrap' }}\n color=\"datePicker\"\n id='sing-physical-history'\n onClick={() => setIsOpen(true)}\n >\n <span>{moment(finalVisitDate).format(\"MM/DD/yyyy\")}</span>\n <CalendarIcon />\n </WildHealthButton>\n : <Box display=\"flex\">\n <WildHealthDatePicker\n required\n size=\"small\"\n openTo=\"year\"\n format=\"MM/DD/yyyy\"\n id='AppointmentDate'\n placeholder=\"mm-dd-yyyy\"\n value={finalVisitDate}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n useKeyboardDatePicker\n onChange={(momentDate) => handleAppointmentDateChanges(momentDate)}\n />\n <Box ml={1}>\n <TextField\n id=\"time\"\n size=\"small\"\n className={classes.timePicker}\n label=\"Time\"\n type=\"time\"\n fullWidth\n variant=\"outlined\"\n value={getTime()}\n onChange={(e)=>{ handleTimeChanges(e.target.value)}}\n InputLabelProps={{\n shrink: true,\n }}\n inputProps={{\n step: 300, // 5 min\n }}\n />\n </Box>\n </Box>\n }\n </Box>\n <Box ml={3}>\n <SelectDurationComponent\n durations={note?.appointment !== null ? durations : durations.filter(x => x.patientMode)}\n selected={finalDuration}\n disabled={note?.appointment !== null}\n handleChange={(v) => handleChangeDuration(v, selectedTargetType)}\n />\n </Box>\n </Box>\n <OptionalComponent>\n <SelectAppointmentToNotesDialog\n handleSubmitSelectAppointment={(appointmentId) => handleSelectAppointmentSubmit(appointmentId)}\n handleChangeSelectAppointment={() => { }}\n handleSelectAppointmentDialog={(isOpen) => setIsOpen(isOpen)}\n isOpen={isOpen}\n patientId={patientId} />\n </OptionalComponent>\n </Box>\n )\n}","import { Box, TextField, Grid, IconButton, TableContainer, Table, TableBody, TableHead } from '@material-ui/core';\nimport { Add, Delete, Edit } from '@material-ui/icons';\nimport React, { useEffect, useState } from 'react';\nimport { Autocomplete } from \"@material-ui/lab\";\nimport { Observable } from \"rxjs\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { IcdCode } from \"../../models/notes.models\";\nimport { useStyles, SearchTextField } from \"./diagnosisComponent.style\";\nimport { isFocusInCurrentTarget } from \"../../../common/helpers/is-focus-in-current-target\";\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { commonDiagnoses } from '../../helpers/noteHelpers';\nimport CheckIcon from '@material-ui/icons/Check';\nimport { colors } from '../../../common/constants/colors';\n\nexport interface DiagnosisComponentProps {\n error: string;\n title?: string;\n addText?: string;\n subTitle?: string;\n grid?: 6 | 12;\n dataKey: string;\n selectedDiagnosis: IcdCode[];\n getAutoComplete: (searchQuery: string) => Observable<IcdCode[]>;\n handleChanges: (key: string, values: IcdCode[]) => void\n handleTextInfoChange: (values: string, id: number) => void \n}\n\ninterface DiagnosisComponentState {\n isLoading: boolean;\n searchQuery: string;\n enableAdd: boolean;\n valueToEdit: IcdCode;\n indexToEdit: number | null;\n diagnosis: IcdCode[];\n diagnosisCommon: IcdCode[];\n}\n\nlet stateContext: DiagnosisComponentState = null;\n\nexport const DiagnosisComponent: React.FC<DiagnosisComponentProps> = (props: DiagnosisComponentProps) => {\n const {\n error = null,\n title = null,\n addText = null,\n subTitle = null,\n grid = 12,\n dataKey,\n selectedDiagnosis,\n getAutoComplete,\n handleChanges,\n handleTextInfoChange,\n } = props;\n\n const [state, setState] = useState({\n isLoading: false,\n searchQuery: '',\n enableAdd: false,\n valueToEdit: null,\n indexToEdit: null,\n diagnosis: [],\n diagnosisCommon: commonDiagnoses.sort((a,b) => {\n if (a.description < b.description) {\n return -1;\n }\n if (a.description > b.description) {\n return 1;\n }\n return 0;\n }),\n } as DiagnosisComponentState);\n\n stateContext = state;\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (getAutoComplete && stateContext.searchQuery) {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n getAutoComplete(stateContext.searchQuery).subscribe(\n (diagnosis) => {\n const selectedCodes = selectedDiagnosis.map(k => k.code);\n setState(state => ({\n ...state,\n diagnosis: diagnosis.filter(x => !selectedCodes.includes(x.code)),\n isLoading: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n diagnosis: [],\n isLoading: false\n }));\n })\n }\n }, 1500);\n\n return () => clearTimeout(delayDebounceFn)\n }, [state.searchQuery, getAutoComplete]);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const handleDeleteItem = (index: number) => {\n selectedDiagnosis.splice(index, 1);\n\n setState(state => ({\n ...state,\n searchQuery: '',\n valueToEdit: null,\n indexToEdit: null,\n diagnosis: []\n }))\n\n handleChanges(dataKey, selectedDiagnosis);\n }\n\n const handleEnableAdd = () => {\n setState(state => ({\n ...state,\n enableAdd: true,\n searchQuery: '',\n indexToEdit: null,\n valueToEdit: null,\n diagnosis: [],\n }))\n }\n\n const handleAddChanges = (value: string) => {\n setState(state => ({ ...state, searchQuery: value }));\n }\n\n const handleAddSubmit = (diagnosis: IcdCode) => {\n if (diagnosis && diagnosis?.id) {\n diagnosis.additionalInformation = '';\n selectedDiagnosis.push(diagnosis);\n handleChanges(dataKey, selectedDiagnosis);\n }\n\n setState(state => ({\n ...state,\n enableAdd: false,\n searchQuery: '',\n diagnosis: [],\n }))\n }\n\n const handleEnableEdit = (index: number) => {\n const diagnosis = selectedDiagnosis[index];\n setState(state => ({\n ...state,\n searchQuery: diagnosis.code + ' ' + diagnosis.description,\n indexToEdit: index,\n enableAdd: false,\n valueToEdit: diagnosis,\n diagnosis: []\n }))\n }\n\n const handleEditChanges = (value: string) => {\n setState(state => ({ ...state, searchQuery: value }))\n }\n\n const handleSubmitEdit = (diagnosis: IcdCode) => {\n if (diagnosis && diagnosis.id) {\n diagnosis.additionalInformation = '';\n selectedDiagnosis[state.indexToEdit] = diagnosis;\n handleChanges(dataKey, selectedDiagnosis);\n }\n\n setState(state => ({\n ...state,\n searchQuery: '',\n enableAdd: false,\n valueToEdit: null,\n indexToEdit: null,\n diagnosis: []\n }))\n }\n\n const handleFiltering = (val) => {\n setState(state => ({\n ...state,\n diagnosisCommon: val == ''\n ? commonDiagnoses\n : commonDiagnoses.filter(el => el.code.toLocaleLowerCase().includes(val.toLocaleLowerCase())\n || el.description.toLocaleLowerCase().includes(val.toLocaleLowerCase()))\n }))\n }\n\n return (\n <Box>\n {\n title &&\n <Box>\n <span className={classes.title}>{title}</span>\n </Box>\n }\n {\n subTitle &&\n <Box pt={2}>\n <span className={classes.subtitle}>{subTitle}</span>\n </Box>\n }\n {\n error &&\n <Box>\n <span className={commonClasses.error}>{error}</span>\n </Box>\n }\n <Box>\n <Grid container spacing={2}>\n <Grid item md={grid} sm={12}>\n {\n selectedDiagnosis.map((item, i) => state.indexToEdit === i\n ? (\n\n <Box mt={2.5} display='flex' alignItems='center' justifyContent=\"space-between\" width={1} onBlur={(e) => {\n setTimeout(() => {\n if (!isFocusInCurrentTarget(e)) {\n handleSubmitEdit(null)\n }\n }, 250)\n }}>\n <Box width={0.9}>\n <Autocomplete\n id={`${dataKey}-item-list-edit`}\n size=\"small\"\n freeSolo\n disableClearable\n fullWidth\n options={state.diagnosis}\n value={state.valueToEdit}\n getOptionLabel={option => option.code + ' ' + option.description}\n onChange={(e, value: IcdCode) => handleSubmitEdit(value)}\n renderInput={(params) => (\n <TextField\n {...params}\n fullWidth\n variant='outlined'\n value={state.valueToEdit}\n autoFocus\n InputProps={{\n ...params.InputProps,\n className: 'input',\n type: 'search'\n }}\n onChange={(e) => handleEditChanges(e.target.value)}\n onBlur={() => handleAddSubmit(null)}\n />\n )}\n />\n </Box>\n <Box ml={2}>\n <IconButton className={classes.deleteIcon} onClick={() => handleDeleteItem(i)}>\n <Delete />\n </IconButton>\n </Box>\n </Box>\n\n )\n :\n <Box mt={2.5} position='relative'>\n <Box id={`pmh=${dataKey}-${i}`} className={classes.item}>\n <Box>\n <span className={commonClasses.breakWord}>{item.code + ' ' + item.description}</span>\n </Box>\n <Box className={classes.editIcon} onClick={() => handleEnableEdit(i)} ml={2}>\n <Edit />\n </Box>\n </Box>\n <Box className={classes.connectedLine}></Box>\n <Box mt={1} ml={4}>\n <TextField\n fullWidth\n rows={1}\n maxRows={3}\n multiline\n type='text'\n size=\"small\"\n label=''\n variant=\"outlined\"\n placeholder={`${item.description} Diagnosis Details Here`}\n value={item.additionalInformation}\n InputProps={{ className: 'input' }}\n onChange={(e) => handleTextInfoChange(e.target.value, item.id) }\n />\n </Box>\n </Box>\n )\n }\n\n {\n state.enableAdd\n ?\n <Box mt={2.5}>\n <Autocomplete\n id={`${dataKey}-item-list-add`}\n freeSolo\n loading={state.isLoading}\n size=\"small\"\n disableClearable\n options={state.diagnosis}\n getOptionLabel={option => option.code + ' ' + option.description}\n onChange={(e, value: IcdCode) => handleAddSubmit(value)}\n renderInput={(params) => (\n <TextField\n {...params}\n label={addText}\n variant='outlined'\n autoFocus\n InputProps={{\n ...params.InputProps,\n className: 'input',\n type: 'search'\n }}\n onChange={(e) => handleAddChanges(e.target.value)}\n onBlur={() => handleAddSubmit(null)}\n />\n )}\n />\n </Box>\n :\n <Box mt={2.5} display='flex' alignItems='stretch'>\n <Box onClick={() => handleEnableAdd()}>\n <Add className={classes.addIcon} />\n </Box>\n <Box className={classes.addText} ml={2}>\n <span>{addText ?? 'Add'}</span>\n </Box>\n </Box>\n }\n </Grid>\n <Grid item md={grid} sm={12}>\n <Box mt={2} style={{ backgroundColor: colors.bg }} p={3}>\n <Box className={commonClasses.textMedium}>Commonly Used Diagnoses:</Box>\n <Box mt={2} mb={1}>\n <SearchTextField\n fullWidth\n variant=\"outlined\"\n className={commonClasses.bgWhiteMain}\n onChange={(e: React.ChangeEvent<HTMLInputElement>) =>\n handleFiltering(e.target.value)\n }\n placeholder=\"Search\"\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: <SearchIcon className={commonClasses.colorGray1} />,\n }}\n />\n </Box>\n <TableContainer style={{ maxHeight: '356px' }} className=\"flat-scroll\">\n <Table stickyHeader>\n <TableHead>\n <WildHealthTableRow style={{ backgroundColor: colors.bg }}>\n <WildHealthTableCell style={{ width: '60%', height: '44px', padding: '0 16px', backgroundColor: colors.bg }} >\n Condition\n </WildHealthTableCell>\n <WildHealthTableCell style={{ width: '40%', height: '44px', padding: '0 16px', backgroundColor: colors.bg }} >\n ICD 10 Code\n </WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.diagnosisCommon.map((diagnose, index) =>\n <WildHealthTableRow key={index}>\n <WildHealthTableCell style={{ height: '44px', padding: '0 16px', fontSize: '14px' }}>\n {diagnose.description}\n </WildHealthTableCell>\n <WildHealthTableCell style={{ height: '44px', padding: '0 16px', fontSize: '14px' }}>\n <Box display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box>{diagnose.code}</Box>\n {selectedDiagnosis.find(el => el.id === diagnose.id)\n ? <Box mr={1}><CheckIcon className={classes.iconCheck} /></Box>\n : <IconButton\n size='small'\n id=\"add-diagnosis-common\"\n onClick={() => { handleAddSubmit(diagnose) }}\n >\n <Add className={classes.addIcon2} />\n </IconButton>\n }\n </Box>\n </WildHealthTableCell>\n </WildHealthTableRow>\n )\n }\n {!state.diagnosisCommon.length &&\n <WildHealthTableRow key='empty' style={{ height: '44px', padding: '0 16px' }}>\n <WildHealthTableCell style={{ height: '44px', padding: '0 16px', fontSize: '14px' }}>\n No current records found\n </WildHealthTableCell>\n </WildHealthTableRow>}\n </TableBody>\n\n </Table>\n </TableContainer>\n </Box>\n </Grid>\n </Grid>\n </Box>\n </Box>\n );\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n rootView: {\n fontSize: 14,\n minHeight: 28,\n borderRadius: 2,\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n paddingRight: 10,\n paddingLeft: 10,\n backgroundColor: colors.separators,\n },\n button: {\n display: 'flex',\n alignItems: 'center',\n marginLeft: '8px',\n color: colors.main,\n fontSize: 14,\n cursor: 'pointer'\n },\n iconInfo: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n notificationToolTipText: {\n lineHeight: 1.5,\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n fontSize: 14,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '35vw',\n maxWidth: '35vw',\n backgroundColor: colors.lightBlack,\n padding: 16,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n","import React from \"react\";\nimport {Box, Tooltip} from \"@material-ui/core\";\nimport {colors} from \"../../../common/constants/colors\";\nimport {SpecialTestModel} from \"../../models/notes.models\";\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport AddIcon from \"@material-ui/icons/Add\";\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport {useStyles} from \"./SpecialtyTestsComponent.styles\";\nimport { notesQuery } from \"../../stores/notes\";\n\ninterface SpecialtyTestsComponentProps {\n specialTests: SpecialTestModel[];\n handleTestUpdates: Function;\n}\n\nexport const SpecialtyTestsComponent: React.FC<SpecialtyTestsComponentProps> = (props: SpecialtyTestsComponentProps) => {\n\n const {\n specialTests,\n handleTestUpdates\n } = props;\n\n const classes = useStyles();\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const isSelected = (test: SpecialTestModel) => {\n return specialTests.some(x => x.id === test.id);\n }\n\n const handleAddTest = (test: SpecialTestModel) => {\n handleTestUpdates([...specialTests, test]);\n }\n\n const handleRemoveTest = (test: SpecialTestModel) => {\n handleTestUpdates(specialTests.filter(x => x.id !== test.id));\n }\n\n const renderViewElement = (test: SpecialTestModel, index: number) => {\n const selected = isSelected(test);\n\n return (\n <Box display='flex' key={index} mr={1.5} mb={1.5} className={classes.rootView}>\n <Box width='28px' minWidth='28px' display='flex' alignItems='center' mr={1} justifyContent='flex-end'>\n <Box position='relative' pt={0.5}>\n <Tooltip placement=\"bottom\" arrow\n title={<Box className={classes.notificationToolTipText}>\n {test.company} - {test.name} {test.cost.length ? '- ' + test.cost : ''}\n </Box>}\n classes={customTooltipClasses}\n >\n <InfoIcon className={classes.iconInfo} fontSize='small' style={{ fill: colors.gray2 }} />\n </Tooltip>\n </Box>\n </Box>\n <Box>\n {test.name}\n </Box>\n <Box\n className={classes.button}\n onClick={() => selected ? handleRemoveTest(test) : handleAddTest(test)}>\n {\n selected\n ? <DeleteIcon fontSize='small' />\n : <AddIcon fontSize='small' />\n }\n </Box>\n </Box>\n )\n }\n\n\n return (\n <>\n <Box mb={3} mt={1}>\n <Box mt={1.5} display='flex' flexWrap='wrap'>\n {notesQuery.getCommonOrders().map((test, index) => renderViewElement(test, index))}\n </Box>\n </Box>\n </>\n );\n}","import { Box, CircularProgress, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {\n AppointmentConfigurationModel,\n MdmPatientType,\n NoteModel,\n NotePmhVersion,\n NotesType\n} from '../../models/notes.models';\nimport { NextAppointmentDateComponent } from '../nextAppointmentDateComponent/NextAppointmentDateComponent';\nimport { NoteMdmComponent } from '../noteMdmComponent/NoteMdmComponent';\nimport { NotePlanComponent } from '../notePlanComponent/NotePlanComponent';\nimport { PhysicalComponent } from '../physicalComponent/PhysicalComponent';\nimport { PmhComponent } from '../pmhComponent/PmhComponent';\nimport { RosComponent } from '../rosComponent/RosComponent';\nimport { SupplementsMedicationsComponent } from '../supplementsMedicationsComponent/SupplementsMedicationsComponent';\nimport { useFacade } from './createHistoryAndPhysicalNoteComponent.hooks';\nimport { NoteSections, noteSectionsNames } from './createHistoryAndPhysicalNoteComponent.static';\nimport { useStyles } from './CreateHistoryAndPhysicalNoteComponent.styles';\nimport { colors } from \"../../../common/constants/colors\";\nimport { SelectShortcutComponent } from \"../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent\";\nimport { NoteGeneralInfoComponent } from \"../noteGeneralInfo/NoteGeneralInfoComponent\";\nimport { DiagnosisComponent } from \"../diagnosisComponent/DiagnosisComponent\";\nimport { TextFieldNoteComponent } from '../textFieldNoteComponent/TextFieldNoteComponent';\nimport { handleShortcutInsert } from '../../../common/helpers/handle-shortcut-insert';\nimport {SignOffDialogComponent} from \"../signOffDIalogComponent/SignOffDialogComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {canDiscardNote, isFutureAppointment} from \"../../helpers/noteHelpers\";\nimport {SpecialtyTestsComponent} from \"../specialtyTestsComponent/SpecialtyTestsComponent\";\n\nexport interface CreateHistoryAndPhysicalNoteComponentProps {\n patientId: number;\n appointmentId?: number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n handleGoBack: () => void;\n goBackTitle: string;\n note?: NoteModel;\n originalNote?: NoteModel;\n}\n\nconst mdmPatientTypes = new Map<MdmPatientType, string>()\n .set(MdmPatientType.Established, 'Established Patient')\n .set(MdmPatientType.New, 'New Patient');\n\nexport const CreateHistoryAndPhysicalNoteComponent: React.FC<CreateHistoryAndPhysicalNoteComponentProps> = (props: CreateHistoryAndPhysicalNoteComponentProps) => {\n const {\n patientId,\n appointmentId = null,\n appointmentConfiguration,\n handleGoBack,\n note,\n originalNote\n } = props;\n\n const classes = useStyles();\n\n const [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n handleHpiChanges,\n handlePmhItemChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleCoachOtherTextChanges,\n handleTextInfoChange,\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n getIcdCodesAutoPmhComplete,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n isCanCompleteNote,\n handleValidateGoals,\n editPmhState,\n handleHideApoe,\n handleSelectedSoursApoe,\n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n ] = useFacade(patientId, handleGoBack, appointmentId, appointmentConfiguration, note, originalNote);\n\n const isLoading = (state.areAllergiesLoading && state.areQuestionnaireResultsLoading) || state.isNoteContentLoading || state.isCommonGoalLoading || state.isCommonMdmLoading || state.isCommonSupplementLoading || state.isCommonOrderLoading;\n\n const sectionsContent = {\n [NoteSections.PMH]:\n <PmhComponent\n data={state.content.PMH}\n patientId={patientId}\n dataNew={state.content.PMHnew}\n newVersion={state.content?.pmhVersion === NotePmhVersion.New}\n map={state.map}\n handleChangesOldPmh={handlePmhItemChanges}\n getIcdCodesAutoComplete={getIcdCodesAutoPmhComplete}\n handleToggleActions={handleToggleActions}\n handleEditRowValue={handleEditRowValue}\n handleEditRowName={handleEditRowName}\n handleAddNewRow={handleAddNewRow}\n handleDelete={handleDelete}\n handleEdit={handleEdit}\n handleBlur={handleBlur}\n saveValue={saveValue}\n handleAddInformation={handleAddInformation}\n handleEditNewItem={handleEditNewItem}\n handleSaveNewItem={handleSaveNewItem}\n handleEditItem={handleEditItem}\n state={editPmhState}\n handleHideApoe={handleHideApoe}\n handleSelectedSoursApoe={handleSelectedSoursApoe}\n handleEditApoe={handleEditApoe}\n handleDateColonoscopyChanges={handleDateColonoscopyChanges}\n handleDatePsaChanges={handleDatePsaChanges}\n />,\n [NoteSections.MedicationsAndSupplements]:\n <SupplementsMedicationsComponent\n patientId={patientId}\n noteType={NotesType.HistoryAndPhysicalInitial}\n medications={state.content.medicationsSupplements.medications}\n supplements={state.content.medicationsSupplements.supplements}\n rxntMedications={state.content.medicationsSupplements.rxntMedications}\n fullscriptSupplements={state.content.medicationsSupplements.fullscriptSupplements}\n handleAddMedications={handleAddMedications}\n handleAddSupplements={handleAddSupplements}\n handleFullscriptSupplements={handleFullscriptSupplements}\n handleEditMedications={handleEditMedications}\n handleEditSupplements={handleEditSupplements}\n handleRemoveMedications={handleRemoveMedications}\n handleRemoveSupplements={handleRemoveSupplements}\n handleMedicationStopped={handleMedicationStopped}\n handleSupplementStopped={handleSupplementStopped}\n />,\n [NoteSections.ROS]:\n <RosComponent\n errors={state.errors}\n variants={state.rosVariants}\n selectedVariants={state.content.ROS.rosValues}\n rosEnabled={state.content.ROS.rosEnabled}\n handleEnableRos={handleEnableRos}\n handleChanges={handleRosChanges}\n />,\n [NoteSections.Physical]:\n <PhysicalComponent\n errors={state.errors}\n title={noteSectionsNames[NoteSections.Physical]}\n data={state.content.physicalData}\n handleNumericChanges={handleVitalsChanges}\n handleDisableVitals={handleDisableVitals}\n handlePhysicalExamChanges={handlePhysicalExamChanges}\n />,\n [NoteSections.MDM]:\n <NoteMdmComponent\n error={state.errors['mdmData']}\n mdms={state.mdmCodes}\n mdmText={state.content.mdmData.mdmText}\n mdmPatientTypes={mdmPatientTypes}\n selectedMdmPatientType={state.content.mdmData.selectedMdmPatientType}\n selectedCodeId={state.content.mdmData.selectedCodeId}\n showCodeDescription={state.content.mdmData.showCodeDescription}\n selectedCategoryIds={state.content.mdmData.selectedCategoryIds ?? [state.content.mdmData.selectedCategoryId]}\n selectedCategoryItems={state.content.mdmData.selectedCategoryItems}\n selectedMode={state.content.mdmData.selectedMode}\n spentTime={state.content.mdmData.spentTime}\n appointmentDuration={state.note?.appointment?.duration ?? state.content.duration.value}\n handleMdmTextChange={handleMdmTextChange}\n handleMdmPatientTypeChange={handleMdmPatientTypeChange}\n handleCodeChange={handleCodeChange}\n handleCategoryChange={handleCategoryChange}\n handleCategoryItemChange={handleCategoryItemChange}\n handleModeChange={handleModeChange}\n handleSpentTimeChanges={handleSpentTimeChanges}\n />,\n [NoteSections.Diagnosis]:\n <DiagnosisComponent\n error={state.errors['diagnosis']}\n addText='Add Diagnosis'\n selectedDiagnosis={state.content.diagnosis}\n getAutoComplete={getIcdCodesAutoComplete}\n grid={6}\n dataKey='diagnosis'\n handleChanges={handleDiagnosisChanges}\n handleTextInfoChange={handleTextInfoChange}\n />,\n [NoteSections.Plan]:\n <NotePlanComponent\n patientId={patientId}\n notesType={NotesType.HistoryAndPhysicalInitial}\n handleValidateGoals={handleValidateGoals}\n data={state.content.plan}\n visitDate={state.appointmentDate}\n handlePlanTextChanges={handlePlanTextChanges}\n handleLabTextChanges={handleLabTextChanges}\n handleCoachOtherTextChanges={handleCoachOtherTextChanges}\n handleGoalsChanges={handleGoalsChanges}\n handleEducationChanges={handleEducationChanges}\n />,\n [NoteSections.SpecialTests]:\n <SpecialtyTestsComponent\n specialTests={state.content.specialTests ?? []}\n handleTestUpdates={handleTestChanges}\n />,\n [NoteSections.NextAppointment]:\n <NextAppointmentDateComponent\n note={state.note}\n noteType={NotesType.HistoryAndPhysicalInitial}\n patientId={props.patientId}\n appointments={[]}\n handleChanges={handleNextAppointmentDateChanges}\n />\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`history-and-physical-note-section-${key}`} mt={3}>\n <ExpandableComponent\n title={noteSectionsNames[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={Array.from(refs.values()).find(x => x[1].toString() === key)?.[0]}\n handleExpand={() => handleExpandSection(+key)}\n />\n </Box>\n ))\n }\n </>\n );\n }\n\n const renderHpi = () => {\n return (\n <Box mt={3}>\n <Box ml={2}>\n <span className={classes.subTitle}>HPI</span>\n </Box>\n <Box my={1}>\n <Divider />\n </Box>\n <Box mt={3}>\n <TextFieldNoteComponent\n rows={3}\n id=\"hpi-notes\"\n title=''\n content={state.content.HPI}\n handleChanged={handleHpiChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n </Box>\n )\n }\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n return (\n <Box m={5}>\n <NoteGeneralInfoComponent\n name=\"History and Physical\"\n patientId={patientId}\n note={state.note}\n duration={state.content.duration}\n visitDate={state.appointmentDate}\n title={state.title}\n selectedTargetType={state.selectedTargetType}\n handleTitleChanges={handleTitleChanges}\n handleAppointmentDateChanges={handleAppointmentDateChanges}\n handleAppointmentChanges={handleAppointmentChanges}\n handleChangeDuration={handleChangeDuration}\n classes={classes}\n />\n {\n renderHpi()\n }\n {\n renderSections()\n }\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(state.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n </Box>\n )\n }\n\n return (\n <Box>\n <Box className={classes.bgMain}>\n <BackTitleComponent\n title='Back to Notes'\n action={() => { handleGoBack() }}\n />\n </Box>\n {\n renderContent()\n }\n <SelectShortcutComponent />\n <SignOffDialogComponent/>\n </Box>\n );\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n functionValidationRule,\n rangeValidationRule,\n requiredValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport {MdmCategory, MdmCategoryIds, mdmCategoryItemsCount, MdmDataModel, MdmMode, NotePhysicalModel} from \"../../models/notes.models\";\n\nexport const createHistoryAndPhysicalFollowUpNoteComponentValidator = new GeneralValidator({\n 'diagnosis': [functionValidationRule((data) => {\n return data?.length > 0\n }, 'At least one diagnosis must be selected.')],\n 'mdmData': [functionValidationRule((data: MdmDataModel) => {\n if (!data.selectedMdmPatientType) {\n return false;\n }\n if (!data.selectedCodeId) {\n return false;\n }\n if (data.selectedMode === MdmMode.TimeBased) {\n if (!data.spentTime) {\n return false;\n }\n } else {\n if (data.selectedCodeId === MdmCategory.EstablishedPatientG0438\n || data.selectedCodeId === MdmCategory.EstablishedPatientG0439\n || data.selectedCodeId === MdmCategory.NewPatientG0438) {\n return true\n }\n \n if (!data.selectedCategoryIds) {\n return false;\n }\n\n if (data.selectedCategoryIds.length < 1) {\n return false;\n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99205 || data.selectedCodeId === MdmCategory.NewPatient99205) {\n if (data.selectedCategoryIds.length < 2) {\n return false;\n }\n \n const el99205 = data.selectedCategoryIds.find(el => el === MdmCategoryIds.EstablishedPatientOne99205 || el === MdmCategoryIds.NewPatientOne99205)\n if (el99205 && data.selectedCategoryItems.length < 4) {\n return false\n } \n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99203 || data.selectedCodeId === MdmCategory.EstablishedPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n\n \n if (data.selectedCodeId === MdmCategory.NewPatient99203 || data.selectedCodeId === MdmCategory.NewPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n }\n\n return true;\n }, 'Coding section must be fully completed.')],\n 'physicalExam': [requiredValidationRule(1, 'Physical Exam cannot be left blank')],\n 'systolicBP': [rangeValidationRule(0, 280)],\n 'diastolicBP': [rangeValidationRule(0, 200)],\n 'heartRate': [rangeValidationRule(0, 220)],\n 'temperature': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(93, 107).function(data);\n }, 'Value should be in range from 93 to 107')],\n 'height': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(18, 120).function(data);\n }, 'Value should be in range from 18 to 120')],\n 'weight': [rangeValidationRule(0, 1200, 'Not more than 1200lbs')],\n 'physicalData': [functionValidationRule((data: NotePhysicalModel) => {\n if (data.unableToObtain) {\n return true;\n }\n\n const vitals = data.diastolicBP\n + data.systolicBP\n + data.height\n + data.weight\n + data.temperature\n + data.heartRate;\n\n return vitals !== 0;\n }, 'At least 1 field must be completed')]\n});","import moment from \"moment\";\nimport { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\nimport { interval, Observable, Subscription } from \"rxjs\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { AppointmentTargetType } from \"../../../appointments/models/appointments.enums\";\nimport { PatientAppointmentModel } from \"../../../appointments/models/appointments.models\";\nimport { durations } from \"../../../appointments/models/times.models\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { appointmentsQuery } from \"../../../appointments/stores/appointments\";\nimport { PermissionType, Roles, UserType } from \"../../../auth/models/auth.enums\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { PatientAllergyModel } from \"../../../patientSupplements/models/patientAllergiesModel\";\nimport { medicationsService } from \"../../../patientSupplements/services/medications.service\";\nimport { patientAllergiesService } from \"../../../patientSupplements/services/patientAllergiesService\";\nimport { supplementsService } from \"../../../patientSupplements/services/supplements.service\";\nimport { CheckAnswer, HealthGoalsQuestionNames, QuestionnaireResultModel, QuestionnaireSubType } from \"../../../questionnaire/models/questionnaire.models\";\nimport { questionnaireService } from \"../../../questionnaire/services/questionnaire.service\";\nimport { DetailedQuestionNames } from \"../../../questionnaire/static/detailedQuestionnaire.static\";\nimport { MedicalHistoryAndLifestyleQuestionNames } from \"../../../questionnaire/static/medicalHistroryQuestionnaire.static\";\nimport {\n MedicationItem,\n SupplementItem,\n NoteModel,\n GoalModel,\n IcdCode,\n SaveNoteModel,\n NotesType,\n HistoryAndPhysicalContent,\n MdmMode,\n MdmPatientType,\n MdmModel,\n SignOffNoteModel,\n NotePmhVersion,\n HealthSummaryNoteKeySectionNames, NoteGoalsVersion, GoalCategory, SpecialTestModel, AppointmentConfigurationModel\n} from \"../../models/notes.models\";\nimport { mdmCodesService } from \"../../services/mdmCodes.service\";\nimport { notesService, SignOffModel } from \"../../services/notes.service\";\nimport { NoteSections } from \"./createHistoryAndPhysicalFollowUpNoteComponent.static\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { icdCodesService } from \"../../services/icdCodes.service\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { createHistoryAndPhysicalFollowUpNoteComponentValidator } from \"./createHistoryAndPhysicalFollowUpNoteComponent.validator\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { createSoapNoteComponentValidator } from \"../createSoapComponent/createSoapNoteComponent.validator\";\nimport { vitalsErrorMessages } from \"../../../vital/validators/vital.validator\";\nimport {\n createHistoryAndPhysicalNoteComponentValidator\n} from \"../createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.validator\";\nimport { HealthSummaryDataModel, HealthSummaryDraftModel, HealthSummaryMapModel } from \"../../../healthSummary/models/healthSummary.models\";\nimport { buildKey, getKey } from \"../../../healthSummary/helpers/healthSummaryHelper\";\nimport { healthSummaryQuery } from \"../../../healthSummary/stores\";\nimport { healthSummaryService } from \"../../../healthSummary/services/healthSummary.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { goalsService } from \"../../services/goals.service\";\nimport { isProviderRole } from \"../../../common/constants/roles\";\nimport { inputsService } from \"../../../inputs/services/inputs.service\";\nimport { YesNo } from \"../../../inputs/models/input.models\";\nimport { ApoeSoursConstants } from \"../../../healthReport/constants/apoe.constants\";\nimport { mdmPlansService } from \"../../services/mdmPlans.service\";\nimport { commonSupplementsService } from \"../../services/commonSupplements.service\";\nimport { commonOrdersService } from \"../../services/commonOrders.service\";\nimport {FullscriptSupplementModel} from \"../../../patientSupplements/models/fullscriptSupplementModels\";\nimport {prescriptionService} from \"../../../patientSupplements/services/prescription.service\";\n\nexport interface HealthSummaryListItemsNoteComponentState {\n isEditorOpened: boolean\n isMenuOpened: boolean\n editRowValue: string\n selectedKey: string\n editRowName: string\n addNewRow: boolean\n anchorEl: any\n editSection: string\n currentMap: HealthSummaryMapModel\n draft: any[]\n}\ninterface CreateHistoryAndPhysicalNoteComponentState extends IErrorState {\n sections: { [id: number]: boolean };\n map: HealthSummaryMapModel[];\n title: string;\n appointmentDate: Date;\n selectedTargetType: AppointmentTargetType;\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n content: HistoryAndPhysicalContent;\n\n note: NoteModel;\n appointments: PatientAppointmentModel[];\n patient: PatientModel;\n allergies: PatientAllergyModel[];\n icdCodes: IcdCode[];\n mdmCodes: MdmModel[];\n rosVariants: string[];\n\n areAllergiesLoading: boolean;\n areQuestionnaireResultsLoading: boolean;\n isNoteContentLoading: boolean;\n isProcessing: boolean;\n isAutoSaving: boolean;\n isChanged: boolean;\n\n isFirstSaveOriginalNote: boolean;\n originalNote: NoteModel;\n isCommonMdmLoading: boolean;\n isCommonGoalLoading: boolean;\n isCommonSupplementLoading: boolean;\n isCommonOrderLoading: boolean;\n}\n\nlet stateContext: CreateHistoryAndPhysicalNoteComponentState = null;\n\nexport function useFacade(\n patientId: number,\n handleGoBack: () => void,\n appointmentId: number | null,\n appointmentConfiguration: AppointmentConfigurationModel | null,\n note: NoteModel,\n originalNote: NoteModel\n): [\n CreateHistoryAndPhysicalNoteComponentState,\n (section: NoteSections) => void,\n (value: string) => void,\n (value: Date) => void,\n (appointmentId: number) => void,\n (durationValue: number, type: AppointmentTargetType) => void,\n (value: string) => void,\n (key: string, values: string[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (supplements: FullscriptSupplementModel[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (id: number) => void,\n (id: number) => void,\n (id: number, isChecked: boolean) => void,\n (id: number, isChecked: boolean) => void,\n (value: boolean) => void,\n (values: string[]) => void,\n (value: boolean) => void,\n (field: string, value: number) => void,\n (value: string) => void,\n (value: string) => void,\n (value: MdmPatientType) => void,\n (id: number, showCodeDescription: boolean) => void,\n (ids: number[]) => void,\n (id: number, inputValue: string) => void,\n (mode: MdmMode) => void,\n (time: number) => void,\n (key: string, values: IcdCode[]) => void,\n (value: string) => void,\n (value: string) => void,\n (field: string, goals: GoalModel[]) => void,\n (tests: SpecialTestModel[]) => void,\n (field: string, educations: string) => void,\n (date: Date, role: Roles) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (searchQuery: string) => Observable<IcdCode[]>,\n Map<string, [MutableRefObject<any>, NoteSections]>,\n (value: string) => void,\n (value: string, id: number) => void,\n\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n (searchQuery: string) => Observable<string[]>,\n Function,\n Function,\n Function,\n Function,\n Function,\n (goalName: string, id:number) => boolean,\n HealthSummaryListItemsNoteComponentState,\n Function,\n Function,\n Function,\n Function,\n Function,\n ] {\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [state, setState] = useState(\n {\n sections: {\n [NoteSections.PMH]: false,\n [NoteSections.MedicationsAndSupplements]: false,\n [NoteSections.ROS]: false,\n [NoteSections.Physical]: false,\n [NoteSections.MDM]: false,\n [NoteSections.Diagnosis]: false,\n [NoteSections.Plan]: false,\n [NoteSections.SpecialTests]: false,\n [NoteSections.NextAppointment]: false,\n },\n map: [],\n title: '',\n appointmentDate: appointmentConfiguration?.visitDate ?? new Date(),\n selectedTargetType: AppointmentTargetType.Patient,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n isFirstSaveOriginalNote: !!originalNote,\n originalNote: originalNote,\n\n content: {\n appointmentConfiguration: appointmentConfiguration,\n duration: appointmentConfiguration?.duration\n ? durations.find(x => x.value === appointmentConfiguration?.duration)\n : durations[0],\n pmhVersion: NotePmhVersion.New,\n chiefComplaint: '',\n HPI: '',\n PMH: {\n allergies: [],\n currentMedicalConditions: [],\n famHX: [],\n screeningHealthMaintenance: [],\n surgicalHX: [],\n PHQ2: [],\n socialLifestyleHX: [],\n },\n PMHnew: {\n allergies: [],\n rxntAllergies: [],\n currentMedicalConditions: [],\n famHX: [],\n screeningHealthMaintenance: [],\n screeningHealthMaintenanceApoe: {\n hideApoe: YesNo.None,\n score: '',\n source: ApoeSoursConstants.BloodTest,\n colonoscopy: {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_LAST_SCREENING,\n id: null,\n tooltip: '',\n },\n psa: {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_PSA_OR_PROSTATE_EXAM,\n id: null,\n tooltip: '',\n },\n },\n surgicalHX: [],\n PHQ2: [],\n socialHX: [],\n lifestyleHX: [],\n },\n medicationsSupplements: {\n supplements: [],\n medications: [],\n rxntMedications: [],\n fullscriptSupplements: []\n },\n ROS: {\n rosEnabled: false,\n rosValues: [],\n },\n physicalData: {\n unableToObtain: false,\n systolicBP: 0,\n diastolicBP: 0,\n heartRate: 0,\n temperature: 0,\n height: 0,\n weight: 0,\n physicalExam: ''\n },\n mdmData: {\n mdmText: '',\n selectedMdmPatientType: MdmPatientType.Established,\n selectedCodeId: null,\n showCodeDescription: null,\n selectedCategoryId: null,\n selectedCategoryIds: [],\n selectedCategoryItems: [],\n selectedMode: MdmMode.Mdm,\n spentTime: 0,\n },\n diagnosis: [],\n plan: {\n planText: '',\n dietGoals: [],\n exerciseGoals: [],\n sleepGoals: [],\n neuroGoals: [],\n longevityGoals: [],\n mindfulnessGoals: [],\n labsGoals: [],\n labsText: '',\n coachOtherText: ''\n },\n specialTests: []\n },\n\n note: note,\n appointments: [],\n patient: null,\n allergies: [],\n icdCodes: [],\n mdmCodes: [],\n rosVariants: [],\n\n areAllergiesLoading: true,\n areQuestionnaireResultsLoading: true,\n isNoteContentLoading: true,\n isProcessing: false,\n isAutoSaving: false,\n isChanged: false,\n isCommonMdmLoading: true,\n isCommonGoalLoading: true,\n isCommonSupplementLoading: true,\n isCommonOrderLoading: true,\n\n errors: {}\n } as CreateHistoryAndPhysicalNoteComponentState\n );\n\n const [editPmhState, setEditPmhState] = useState({\n isEditorOpened: false,\n isMenuOpened: false,\n selectedKey: null,\n addNewRow: false,\n anchorEl: null,\n editSection: '',\n currentMap: null,\n draft: [],\n } as HealthSummaryListItemsNoteComponentState)\n\n const setInitialState = () => {\n setEditPmhState({\n ...editPmhState,\n isEditorOpened: false,\n selectedKey: null,\n addNewRow: false,\n editRowValue: '',\n editRowName: '',\n editSection: '',\n currentMap: null,\n draft: []\n })\n }\n\n stateContext = state;\n\n const refs = new Map<string, [MutableRefObject<any>, NoteSections]>();\n\n refs.set(\"ROS\", [useRef(null), NoteSections.ROS]);\n refs.set(\"physicalData\", [useRef(null), NoteSections.Physical]);\n refs.set(\"physicalExam\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"diastolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"systolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"mdmData\", [useRef(null), NoteSections.MDM]);\n refs.set(\"diagnosis\", [useRef(null), NoteSections.Diagnosis]);\n\n const handleToggleActions = (key: string, anchorEl: Element, section: string,) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n isMenuOpened: !editPmhState.isMenuOpened,\n anchorEl: anchorEl,\n selectedKey: key,\n editSection: section,\n }))\n }\n\n const createPmhAlergiesKey = (section, item) => {\n return `${section}-${item.id}`\n }\n\n const isCanCompleteNote = () => {\n if(!isProviderRole(authQuery.getRoleId())){\n return false;\n }\n\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const handleHideApoe = (val: YesNo) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n hideApoe: val\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleSelectedSoursApoe = (val: string) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n source: val\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleEditApoe = (value) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n score: value\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleDateColonoscopyChanges = (val) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n colonoscopy: {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe?.colonoscopy,\n value: val\n }\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleDatePsaChanges = (val) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n psa: {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe?.psa,\n value: val\n }\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleEdit = () => {\n const dataItem = state.content.PMHnew[editPmhState.editSection].find(el => el.key === editPmhState.selectedKey)\n\n setEditPmhState({\n ...editPmhState,\n editRowName: dataItem.name,\n editRowValue: dataItem.value,\n isEditorOpened: true,\n isMenuOpened: false\n })\n }\n\n const handleDelete = () => {\n const newData = state.content.PMHnew[editPmhState.editSection].filter(el => el.key !== editPmhState.selectedKey)\n state.content.PMHnew[editPmhState.editSection] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n setEditPmhState({\n ...editPmhState,\n isMenuOpened: false,\n selectedKey: null,\n anchorEl: null,\n editSection: ''\n })\n\n }\n\n const handleEditRowName = (value: string) => {\n\n setEditPmhState({\n ...editPmhState,\n editRowName: value\n })\n }\n\n const handleEditRowValue = (value: string) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n const handleAddNewRow = (section: string, map: HealthSummaryMapModel) => {\n setEditPmhState({\n ...editPmhState,\n addNewRow: true,\n editSection: section,\n currentMap: map,\n })\n }\n\n const handleBlur = (e, value) => {\n if (value) {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n if (e?.currentTarget?.id.includes('list-edit') && e?.relatedTarget) {\n return\n }\n\n if (editPmhState.editRowName && editPmhState.editRowValue) {\n saveChanges({ name: editPmhState.editRowName, value: editPmhState.editRowValue })\n return\n }\n\n if (editPmhState.addNewRow && !editPmhState.editRowName && !editPmhState.editRowValue) {\n setInitialState()\n return\n }\n }\n\n\n const handleEditNewItem = (value: string) => {\n const draft = editPmhState.draft\n const item = editPmhState.draft.find(x => x.isNew)\n\n draft[draft.indexOf(draft.find(x => x.key === item.key))].value = value\n\n setEditPmhState({\n ...editPmhState,\n draft: draft\n })\n }\n\n const handleEditItem = (sectionOfNote, selectedKey, editValue, isDelete = false) => {\n if (isDelete) {\n const updateItems = state.content.PMHnew[sectionOfNote].filter(el => el.key !== selectedKey)\n state.content.PMHnew[sectionOfNote] = updateItems\n } else {\n const updateItems = state.content.PMHnew[sectionOfNote].map(el => {\n if (el.key === selectedKey) {\n return {\n ...el,\n value: editValue,\n isNew: false,\n }\n }\n return el\n })\n state.content.PMHnew[sectionOfNote] = updateItems\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleAddInformation = (subSection: string, sectionOfNote: string, map: HealthSummaryMapModel) => {\n const newDataItem = {\n name: '',\n value: '',\n key: buildKey(map.key, subSection),\n section: subSection,\n isNew: true,\n patientId: patientId\n } as HealthSummaryDraftModel\n\n setEditPmhState({\n ...editPmhState,\n draft: [...editPmhState.draft, newDataItem]\n })\n }\n\n const handleSaveNewItem = (sectionOfNote: string,) => {\n const newData = [...state.content.PMHnew[sectionOfNote], ...editPmhState.draft]\n state.content.PMHnew[sectionOfNote] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n setInitialState()\n }\n\n const parseValue = (value: string) => {\n if (!value) {\n return ''\n }\n\n const arr = value.split(' ')\n\n if (!arr || !arr.length) {\n return ''\n }\n\n return arr;\n }\n\n const saveValue = (value: string) => {\n const parsedValue = parseValue(value)\n\n if (!parsedValue) {\n if (!editPmhState.isEditorOpened) {\n setInitialState()\n }\n return\n }\n\n const editValue = parsedValue.length > 1 ? parsedValue[0] : ''\n const editName = parsedValue.length > 1 ? value.replace(editValue, '').trim() : value\n\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: editValue,\n editRowName: editName\n }))\n\n const result = { name: editName, value: editValue }\n\n saveChanges(result)\n }\n\n const saveChanges = ({ name, value }) => {\n if (!name || !value) {\n setInitialState()\n return\n }\n\n const isNew = !editPmhState.selectedKey\n\n const model = {\n key: isNew ? buildKey(editPmhState.currentMap.key) : editPmhState.selectedKey,\n name: name ?? editPmhState.editRowName,\n value: value ?? editPmhState.editRowValue,\n } as HealthSummaryDataModel\n\n if (isNew) {\n const emptyModel = {\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: Math.floor(Math.random() * 10000),\n tooltip: ''\n }\n const newData = [...state.content.PMHnew[editPmhState.editSection], { ...emptyModel, ...model }]\n state.content.PMHnew[editPmhState.editSection] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n\n } else {\n const updateItems = state.content.PMHnew[editPmhState.editSection].map(el => {\n if (el.key === editPmhState.selectedKey) {\n return {\n ...el,\n ...model,\n }\n }\n return el\n })\n state.content.PMHnew[editPmhState.editSection] = updateItems\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n setInitialState()\n }\n\n\n const handleExpandSection = (section: NoteSections) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState(state => ({ ...state, sections: sections }));\n }\n\n const handleTitleChanges = (value: string) => {\n setState(state => ({ ...state, title: value, isChanged: true }));\n }\n\n const handleAppointmentDateChanges = (value: Date) => {\n setState(state => ({ ...state, appointmentDate: value, isChanged: true }));\n }\n\n const handleAppointmentChanges = (appointmentId: number) => {\n if (state.note?.appointment?.id === appointmentId) {\n return;\n }\n\n const model = getSaveModel(state);\n\n model.appointmentId = appointmentId;\n\n notesService.saveAsDraft(model, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n const getTargetDurations = (type: AppointmentTargetType) => {\n const patientMode = type === AppointmentTargetType.Patient;\n\n return durations.filter(x => x.patientMode === patientMode);\n }\n\n const handleChangeDuration = (durationValue: number, type: AppointmentTargetType) => {\n const selectedDuration = getTargetDurations(type).find(x => x.value === durationValue);\n const content = state.content;\n content.duration = selectedDuration;\n setState(state => ({ ...state, content: content, isChanged: true }));\n }\n\n const handleHpiChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n HPI: value\n },\n isChanged: true\n }));\n }\n\n const handlePmhItemChanges = (key: string, values: string[]) => {\n state.content.PMH[key] = values;\n setState(state => ({ ...state, isChanged: true }))\n }\n\n const handleAddMedications = (medication: MedicationItem) => {\n medication.id = Date.now();\n state.content.medicationsSupplements.medications.push(medication);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleAddSupplements = (supplement: SupplementItem) => {\n state.content.medicationsSupplements.supplements.push({\n ...supplement,\n id: Date.now() + Math.floor(Math.random() * 100),\n });\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleFullscriptSupplements = (supplements: FullscriptSupplementModel[]) => {\n // init array if it's null. required for notes compatibility\n // which created before feature released\n if (!state.content.medicationsSupplements.fullscriptSupplements) {\n state.content.medicationsSupplements.fullscriptSupplements = [];\n }\n state.content.medicationsSupplements.fullscriptSupplements.push(...supplements);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleEditMedications = (medication: MedicationItem) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === medication.id);\n if (item) {\n item.name = medication.name;\n item.dosage = medication.dosage;\n item.instructions = medication.instructions;\n item.startDate = medication.startDate;\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleEditSupplements = (supplement: SupplementItem) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === supplement.id);\n if (item) {\n item.name = supplement.name;\n item.dosage = supplement.dosage;\n item.instructions = supplement.instructions;\n item.purchaseLink = supplement.purchaseLink;\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleRemoveMedications = (id: number) => {\n state.content.medicationsSupplements.medications = state.content.medicationsSupplements.medications.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleRemoveSupplements = (id: number) => {\n state.content.medicationsSupplements.supplements = state.content.medicationsSupplements.supplements.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMedicationStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleSupplementStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleEnableRos = (value: boolean) => {\n state.content.ROS.rosEnabled = value;\n setState(state => ({ ...state, isChanged: true }))\n\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const handleRosChanges = (values: string[]) => {\n state.content.ROS.rosValues = values;\n setState(state => ({ ...state, isChanged: true }))\n\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const validateVitals = () => {\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalData', state.content.physicalData);\n createSoapNoteComponentValidator.validateObjectAndSetState(state, setState, state.content.physicalData);\n const systolicValue = state.content.physicalData.systolicBP;\n const diastolicValue = state.content.physicalData.diastolicBP;\n let errors = state.errors;\n if ((systolicValue || diastolicValue) && diastolicValue >= systolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.diastolicIsGraterThanSystolic);\n } else if (systolicValue && !diastolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n } else if (diastolicValue && !systolicValue) {\n errors = GeneralValidator.addError(state, `systolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n }\n\n setState(state => ({\n ...state,\n errors: errors\n }));\n }\n\n const validateNote = (): boolean => {\n createSoapNoteComponentValidator.validateObjectAndSetState(state, setState, state.content);\n\n validateVitals();\n\n if (state.content.physicalData.unableToObtain) {\n GeneralValidator.removeError(state, 'physicalData');\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n }\n\n return GeneralValidator.isValidState(state);\n }\n\n const handleDisableVitals = (value: boolean) => {\n state.content.physicalData.unableToObtain = value;\n setState(state => ({ ...state, isChanged: true }));\n if (value) {\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n GeneralValidator.removeError(state, 'physicalData');\n }\n }\n\n const handleVitalsChanges = (field: string, value: number) => {\n state.content.physicalData[field] = value;\n setState(state => ({ ...state, isChanged: true }));\n validateVitals();\n }\n\n const handlePhysicalExamChanges = (value: string) => {\n state.content.physicalData.physicalExam = value;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalExam', value);\n }\n\n const handleMdmTextChange = (value: string) => {\n state.content.mdmData.mdmText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMdmPatientTypeChange = (value: MdmPatientType) => {\n state.content.mdmData.selectedMdmPatientType = value;\n state.content.mdmData.selectedCodeId = null;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalFollowUpNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCodeChange = (id: number, showCodeDescription: boolean) => {\n if (state.content.mdmData.selectedCodeId !== id) {\n state.content.mdmData.selectedCodeId = id;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n state.content.mdmData.showCodeDescription = showCodeDescription;\n\n setState(state => ({ ...state }));\n }\n\n const handleCategoryChange = (ids: number[]) => {\n const mdmCode = state.mdmCodes.find(x => x.id === state.content.mdmData.selectedCodeId);\n const removedCategories = mdmCode.categories.filter(x => !ids.some(t => t === x.id));\n const removedItems = removedCategories.map(x => x.items).flat();\n const items = state.content.mdmData.selectedCategoryItems.filter(x => !removedItems.some(t => t.id === x.id));\n state.content.mdmData.selectedCategoryIds = ids;\n state.content.mdmData.selectedCategoryItems = items;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCategoryItemChange = (id: number, inputValue: string) => {\n const item = state.content.mdmData.selectedCategoryItems.find(x => x.id === id)\n if (item !== undefined) {\n if (inputValue === null) {\n state.content.mdmData.selectedCategoryItems = state.content.mdmData.selectedCategoryItems.filter(x => x.id !== id);\n }\n else {\n item.inputValue = inputValue;\n }\n }\n else {\n state.content.mdmData.selectedCategoryItems.push({\n id: id,\n inputValue: inputValue\n })\n }\n\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalFollowUpNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleModeChange = (mode: MdmMode) => {\n switch (mode) {\n case MdmMode.Mdm: {\n state.content.mdmData.spentTime = 0;\n }\n case MdmMode.TimeBased: {\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n }\n }\n\n state.content.mdmData.selectedMode = mode;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalFollowUpNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleSpentTimeChanges = (time: number) => {\n state.content.mdmData.spentTime = time;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalFollowUpNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleDiagnosisChanges = (key: string, values: IcdCode[]) => {\n state.content.diagnosis = values;\n setState(state => ({ ...state, isChanged: true }));\n createHistoryAndPhysicalFollowUpNoteComponentValidator.validateAndSetState(state, setState, 'diagnosis', state.content.diagnosis);\n }\n\n const handleTextInfoChange = (value: string, id: number) => {\n const diagnosisForAddText = state.content.diagnosis.find(el => el.id === id)\n diagnosisForAddText.additionalInformation = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handlePlanTextChanges = (value: string) => {\n state.content.plan.planText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleLabTextChanges = (value: string) => {\n state.content.plan.labsText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleCoachOtherTextChanges = (value: string) => {\n state.content.plan.coachOtherText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleGoalsChanges = (field: string, goals: GoalModel[]) => {\n state.content.plan[field] = goals;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleTestChanges = (tests: SpecialTestModel[]) => {\n const content = state.content;\n content.specialTests = tests;\n setState(state => ({\n ...state,\n content: content\n }))\n }\n\n const handleEducationChanges = (field: string, educations: string) => {\n state.content.plan[field] = educations;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleNextAppointmentDateChanges = (date: Date, role: Roles) => {\n switch (role) {\n case Roles.Coach:\n setState(state => ({ ...state, nextCoachAppointmentDate: date, isChanged: true })); break;\n case Roles.Provider:\n setState(state => ({ ...state, nextProviderAppointmentDate: date, isChanged: true })); break;\n }\n }\n\n const getAnswer = (result: QuestionnaireResultModel, questionKey: string): string => result?.answers?.find(x => x.key === questionKey)?.value;\n\n const getAnswerVariants = (result: QuestionnaireResultModel, questionKey: string): string[] => {\n const answer = getAnswer(result, questionKey);\n if (!answer) {\n return [];\n }\n\n const parsedAnswer: CheckAnswer = JSON.parse(answer);\n\n if (!parsedAnswer) {\n return [];\n }\n\n return [...parsedAnswer.v, ...parsedAnswer.o];\n };\n\n const prefillHpi = (\n medicalHistoryQuestionnaire: QuestionnaireResultModel,\n goalsQuestionnaire: QuestionnaireResultModel,\n patient: PatientModel) => {\n\n if (medicalHistoryQuestionnaire === undefined || goalsQuestionnaire === undefined || patient === null) {\n return;\n }\n\n const firstName = patient.firstName;\n const age = moment().diff(patient.birthday, 'years');\n const medicalConditions = getAnswerVariants(medicalHistoryQuestionnaire, MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS).join(', ');\n const intention = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.YOUR_INTENTION);\n const exerciseGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_EXERCISE_GOAL);\n const nutritionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_NUTRITION_GOAL);\n const sleepGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SLEEP_GOAL);\n const mindfulnesGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_MINDFULNESS_GOAL);\n const socialConnectionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SOCIAL_CONNECTION_GOAL);\n\n const prefillText =\n `${firstName} is a ${age} y/o ${Gender[patient.gender]} with ${medicalConditions} who presents to establish care, discuss chronic disease management/prevention, and longevity. ` +\n `They have the specific intention: “${intention}”. \\n` +\n `The patient has the following goals: \\n` +\n `Exercise goal: “${exerciseGoals}“\\n` +\n `Nutrition goal: “${nutritionGoals}“\\n` +\n `Sleep goal: “${sleepGoals}“\\n` +\n `Mindfulness goal: “${mindfulnesGoals}“\\n` +\n `Social connection goal: “${socialConnectionGoals}“\\n`;\n\n\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n HPI: prefillText\n }\n }));\n }\n\n // Saving\n const getSaveModel = (state: CreateHistoryAndPhysicalNoteComponentState): SaveNoteModel => {\n return {\n id: state.note?.id,\n name: 'History And Physical Follow-Up',\n title: state.title,\n type: NotesType.HistoryAndPhysicalFollowUp,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(state.content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n appointmentId: state.note ? state.note.appointment?.id : appointmentId,\n version: state.note?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: 'History And Physical Follow-Up',\n title: state.originalNote.title,\n type: NotesType.HistoryAndPhysicalFollowUp,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleSaveAndComplete = () => {\n if (!validateNote()) {\n for (const elem of refs) {\n if (state.errors[elem[0]] !== undefined) {\n const sections = state.sections;\n\n if (!sections[elem[1][1]]) {\n sections[elem[1][1]] = true;\n }\n\n setState(state => ({ ...state, sections: sections }));\n\n setTimeout(() => { elem[1][0].current.scrollIntoView({ block: \"center\", behavior: \"smooth\" }) }, 0)\n\n break;\n }\n }\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsCompleted(getSaveModel(state)).subscribe(\n () => {\n handleGoBack()\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n })\n });\n }\n\n const handleSaveAsDraft = () => {\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }\n\n const handleValidateGoals = (goalName: string, id: number) =>{\n return false;\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoBack();\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const autoSave = () => {\n if (stateContext.isChanged\n && !stateContext.isAutoSaving\n && !stateContext.isProcessing\n && !state.isFirstSaveOriginalNote\n && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getSaveModel(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n title: note.title,\n visitDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isAutoSaving: false,\n }));\n });\n }\n }\n\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n if (!state.note) {\n return handleGoBack();\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoBack());\n }\n\n const setNoteData = (note: NoteModel) => {\n setState(state => ({\n ...state,\n title: note.title,\n appointmentDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate\n }));\n\n notesService.getContentByEmployee(note.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as HistoryAndPhysicalContent\n setState(state => ({\n ...state,\n content: content,\n isNoteContentLoading: false\n }));\n })\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const getIcdCodesAutoPmhComplete = (searchQuery: string): Observable<string[]> => {\n return new Observable<string[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data.map((x) => x.code + ' ' + x.description));\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const getSectionData = (section: HealthSummaryMapModel, data: HealthSummaryDataModel[]) => {\n var keys = [...section.items.map(x => x.key), section.key]\n\n return data.filter(x => keys.includes(getKey(x.key)))\n }\n\n const getHpiFromQuestionnaireResults = () => {\n questionnaireService.getLatestHealthFormsResults(patientId).subscribe(questionnaireResults => {\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const medicalHistoryQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.MedicalHistoryIncomplete)?.pop();\n const goalsQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.GoalsIncomplete)?.pop();\n\n prefillHpi(medicalHistoryQuestionnaire, goalsQuestionnaire, state.patient);\n }\n\n setState((state) => ({ ...state, areQuestionnaireResultsLoading: false }))\n });\n }\n\n const getPmhAndHpiData = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n\n const hpiData = data?.find(x => x.key === HealthSummaryNoteKeySectionNames.HPI)?.value;\n\n if (hpiData && hpiData.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areQuestionnaireResultsLoading: false,\n content: {\n ...state.content,\n HPI: hpiData\n }\n }));\n } else {\n getHpiFromQuestionnaireResults()\n }\n\n patientAllergiesService.getByPatientId(patientId).subscribe((allergies) => {\n prescriptionService.getPatientAllergies(patientId).subscribe(rxntAllergies => {\n inputsService.getApoe(patientId).subscribe(\n (apoeInfo) => {\n if (data.length || allergies.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areAllergiesLoading: false,\n content: {\n ...state.content,\n PMHnew: {\n ...state.content.PMHnew,\n rxntAllergies: rxntAllergies,\n allergies: allergies.map(x => ({\n key: createPmhAlergiesKey(HealthSummaryNoteKeySectionNames.ALLERGIES, x),\n name: x.name,\n value: x.reaction,\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: x.id,\n tooltip: ''\n })),\n currentMedicalConditions: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST), data),\n famHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.FAMILY_HISTORY), data),\n surgicalHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SURGICAL_HISTORY), data),\n socialHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SOCIAL_HISTORY), data),\n lifestyleHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.LIFESTYLE_HISTORY), data),\n screeningHealthMaintenance: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SCREENING_HEALTH_MAINTENANCE), data),\n screeningHealthMaintenanceApoe: {\n ...apoeInfo,\n source: apoeInfo.source ?? ApoeSoursConstants.BloodTest\n },\n }\n }\n }))\n }\n }\n )\n })\n });\n })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<PatientAppointmentModel[]>(appointmentsQuery.patientAppointments$, appointments => {\n if (appointments.length) {\n const appointment = appointments.find(x => x.id === appointmentId);\n if (appointment) {\n setState(state => ({\n ...state,\n appointments: appointments,\n appointmentDate: appointment.startDate,\n content: {\n ...state.content,\n duration: durations.find(el => el.value === appointment.duration)\n }\n }));\n }\n else {\n setState(state => ({\n ...state,\n appointments: appointments\n }));\n }\n }\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n state.patient = targetPatient;\n setState(state => ({\n ...state,\n patient: targetPatient\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n setState(state => ({\n ...state,\n map: map\n }))\n\n if (map && map.length && !stateContext.note) {\n getPmhAndHpiData(map)\n }\n }),\n ];\n\n const commonGoalCB = () => setState(state => ({ ...state, isCommonGoalLoading: false }));\n\n const commonMDMCB = () => setState(state => ({ ...state, isCommonMdmLoading: false }));\n\n const commonSupplementCB = () => setState(state => ({ ...state, isCommonSupplementLoading: false }));\n\n const commonOrderCB = () => setState(state => ({ ...state, isCommonOrderLoading: false }));\n \n mdmPlansService.getAllCommonMdms().subscribe(commonMDMCB, commonMDMCB);\n \n goalsService.getAllCommonGoals().subscribe(commonGoalCB, commonGoalCB);\n \n commonSupplementsService.getAllCommonSupplements().subscribe(commonSupplementCB, commonSupplementCB);\n \n commonOrdersService.getAllCommonOrders().subscribe(commonOrderCB, commonOrderCB);\n\n mdmCodesService.get(NotesType.HistoryAndPhysicalFollowUp).subscribe(\n codes => {\n setState(state => ({\n ...state,\n mdmCodes: codes,\n }))\n }\n );\n\n if (stateContext.note && !originalNote) {\n setState((state) => ({\n ...state,\n isNoteContentLoading: true,\n areAllergiesLoading: false,\n areQuestionnaireResultsLoading: false\n }))\n setNoteData(stateContext.note);\n }\n else {\n setState((state) => ({\n ...state,\n isAutoSaving: true,\n isNoteContentLoading: false,\n areAllergiesLoading: true,\n areQuestionnaireResultsLoading: true\n }));\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as HistoryAndPhysicalContent\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n content: content,\n title: originalNote.title\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n });\n }\n\n else {\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n medicationsService.get(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n medications: medications.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n instructions: x.instructions,\n startDate: x.startDate,\n isInCurrent: true,\n isStopped: false,\n source: null\n }\n })\n }\n }\n }))\n });\n\n prescriptionService.getPatientActiveMeds(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n rxntMedications: medications.map(x => {\n return {\n ...x,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n supplementsService.get(patientId).subscribe((supplements) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n supplements: supplements.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n purchaseLink: x.purchaseLink,\n instructions: x.instructions,\n source: x.source,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n goalsService.getCurrentGoalsByEmployee(patientId).subscribe(\n (goals) => {\n setState((state) => ({\n ...state,\n isPrefilled: true,\n isChanged: true,\n content: {\n ...state.content,\n goalsVersion: NoteGoalsVersion.New,\n plan: {\n ...state.content.plan,\n mindfulnessGoals: goals.filter(x => x.category === GoalCategory.Mindfulness),\n longevityGoals: goals.filter(x => x.category === GoalCategory.Longevity),\n exerciseGoals: goals.filter(x => x.category === GoalCategory.Exercise),\n sleepGoals: goals.filter(x => x.category === GoalCategory.Sleep),\n neuroGoals: goals.filter(x => x.category === GoalCategory.Neuro),\n dietGoals: goals.filter(x => x.category === GoalCategory.Diet)\n }\n }\n }))\n }\n );\n\n notesService.getByEmployee(patientId).subscribe((notes) => {\n const noteType = [\n NotesType.HistoryAndPhysicalFollowUp,\n NotesType.HistoryAndPhysicalInitial,\n NotesType.HistoryAndPhysicalGroupVisit,\n NotesType.FollowUp\n ]\n\n const lastNote = notes\n .filter(x => noteType.includes(x.type))\n .filter(x => x.isCompleted)\n .sort((a1, a2) => handleCompare(a1, a2, SortingDirection.Asc, 'visitDate'))\n .find(x => true);\n\n if (lastNote) {\n notesService.getContentByEmployee(lastNote.id, patientId).subscribe((content) => {\n const internalContent: HistoryAndPhysicalContent = JSON.parse(content.content);\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n plan: {\n ...state.content.plan,\n longevityEducations: internalContent?.plan?.longevityEducations ?? state.content.plan.longevityEducations,\n exerciseEducations: internalContent?.plan?.exerciseEducations ?? state.content.plan.exerciseEducations,\n sleepEducations: internalContent?.plan?.sleepEducations ?? state.content.plan.sleepEducations,\n neuroEducations: internalContent?.plan?.neuroEducations ?? state.content.plan.neuroEducations,\n dietEducations: internalContent?.plan?.dietEducations ?? state.content.plan.dietEducations,\n mindfulnessEducations: internalContent?.plan?.mindfulnessEducations ?? state.content.plan.mindfulnessEducations\n }\n }\n }))\n })\n } else {\n\n }\n });\n\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n }\n\n healthSummaryService.getMap()\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe();\n\n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n handleHpiChanges,\n handlePmhItemChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleCoachOtherTextChanges,\n handleTextInfoChange,\n\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n getIcdCodesAutoPmhComplete,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n isCanCompleteNote,\n handleValidateGoals,\n editPmhState,\n handleHideApoe,\n handleSelectedSoursApoe,\n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500\n },\n subTitle: {\n fontSize: 18,\n fontWeight: 500\n },\n inputLabel: {\n fontSize: 14,\n color: colors.gray1\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n })\n);\n","import { Box, CircularProgress, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {\n AppointmentConfigurationModel,\n MdmPatientType,\n NoteModel,\n NotePmhVersion,\n NotesType\n} from '../../models/notes.models';\nimport { NextAppointmentDateComponent } from '../nextAppointmentDateComponent/NextAppointmentDateComponent';\nimport { NoteMdmComponent } from '../noteMdmComponent/NoteMdmComponent';\nimport { NotePlanComponent } from '../notePlanComponent/NotePlanComponent';\nimport { PhysicalComponent } from '../physicalComponent/PhysicalComponent';\nimport { PmhComponent } from '../pmhComponent/PmhComponent';\nimport { RosComponent } from '../rosComponent/RosComponent';\nimport { SupplementsMedicationsComponent } from '../supplementsMedicationsComponent/SupplementsMedicationsComponent';\nimport { useFacade } from './createHistoryAndPhysicalFollowUpNoteComponent.hooks';\nimport { NoteSections, noteSectionsNames } from './createHistoryAndPhysicalFollowUpNoteComponent.static';\nimport { useStyles } from './CreateHistoryAndPhysicalFollowUpNoteComponent.styles';\nimport { colors } from \"../../../common/constants/colors\";\nimport { SelectShortcutComponent } from \"../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent\";\nimport { NoteGeneralInfoComponent } from \"../noteGeneralInfo/NoteGeneralInfoComponent\";\nimport { DiagnosisComponent } from \"../diagnosisComponent/DiagnosisComponent\";\nimport { TextFieldNoteComponent } from '../textFieldNoteComponent/TextFieldNoteComponent';\nimport { handleShortcutInsert } from '../../../common/helpers/handle-shortcut-insert';\nimport { SignOffDialogComponent } from \"../signOffDIalogComponent/SignOffDialogComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {canDiscardNote, isFutureAppointment} from \"../../helpers/noteHelpers\";\nimport {SpecialtyTestsComponent} from \"../specialtyTestsComponent/SpecialtyTestsComponent\";\nimport moment from \"moment\";\n\nexport interface CreateHistoryAndPhysicalNoteComponentProps {\n patientId: number;\n appointmentId?: number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n handleGoBack: () => void;\n goBackTitle: string;\n note?: NoteModel;\n originalNote?: NoteModel;\n}\n\nconst mdmPatientTypes = new Map<MdmPatientType, string>()\n .set(MdmPatientType.Established, 'Established Patient');\n\nexport const CreateHistoryAndPhysicalFollowUpNoteComponent: React.FC<CreateHistoryAndPhysicalNoteComponentProps> = (props: CreateHistoryAndPhysicalNoteComponentProps) => {\n const {\n patientId,\n appointmentId = null,\n appointmentConfiguration,\n handleGoBack,\n note,\n originalNote\n } = props;\n\n const classes = useStyles();\n\n const [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n handleHpiChanges,\n handlePmhItemChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleCoachOtherTextChanges,\n handleTextInfoChange,\n\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n getIcdCodesAutoPmhComplete,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n isCanCompleteNote,\n handleValidateGoals,\n editPmhState,\n handleHideApoe,\n handleSelectedSoursApoe,\n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n ] = useFacade(patientId, handleGoBack, appointmentId, appointmentConfiguration, note, originalNote);\n\n const isLoading = (state.areAllergiesLoading && state.areQuestionnaireResultsLoading) || state.isNoteContentLoading || state.isCommonGoalLoading || state.isCommonMdmLoading || state.isCommonSupplementLoading || state.isCommonOrderLoading;\n\n const sectionsContent = {\n [NoteSections.PMH]:\n <PmhComponent\n patientId={patientId}\n data={state.content.PMH}\n dataNew={state.content.PMHnew}\n newVersion={state.content?.pmhVersion === NotePmhVersion.New}\n map={state.map}\n handleChangesOldPmh={handlePmhItemChanges}\n\n getIcdCodesAutoComplete={getIcdCodesAutoPmhComplete}\n handleToggleActions={handleToggleActions}\n handleEditRowValue={handleEditRowValue}\n handleEditRowName={handleEditRowName}\n handleAddNewRow={handleAddNewRow}\n handleDelete={handleDelete}\n handleEdit={handleEdit}\n handleBlur={handleBlur}\n saveValue={saveValue}\n handleAddInformation={handleAddInformation}\n handleEditNewItem={handleEditNewItem}\n handleSaveNewItem={handleSaveNewItem}\n handleEditItem={handleEditItem}\n state={editPmhState}\n handleHideApoe={handleHideApoe}\n handleSelectedSoursApoe={handleSelectedSoursApoe}\n handleEditApoe={handleEditApoe}\n handleDateColonoscopyChanges={handleDateColonoscopyChanges}\n handleDatePsaChanges={handleDatePsaChanges}\n />,\n [NoteSections.MedicationsAndSupplements]:\n <SupplementsMedicationsComponent\n patientId={patientId}\n noteType={NotesType.HistoryAndPhysicalFollowUp}\n medications={state.content.medicationsSupplements.medications}\n supplements={state.content.medicationsSupplements.supplements}\n rxntMedications={state.content.medicationsSupplements.rxntMedications}\n fullscriptSupplements={state.content.medicationsSupplements.fullscriptSupplements}\n handleAddMedications={handleAddMedications}\n handleAddSupplements={handleAddSupplements}\n handleFullscriptSupplements={handleFullscriptSupplements}\n handleEditMedications={handleEditMedications}\n handleEditSupplements={handleEditSupplements}\n handleRemoveMedications={handleRemoveMedications}\n handleRemoveSupplements={handleRemoveSupplements}\n handleMedicationStopped={handleMedicationStopped}\n handleSupplementStopped={handleSupplementStopped}\n />,\n [NoteSections.ROS]:\n <RosComponent\n errors={state.errors}\n variants={state.rosVariants}\n selectedVariants={state.content.ROS.rosValues}\n rosEnabled={state.content.ROS.rosEnabled}\n handleEnableRos={handleEnableRos}\n handleChanges={handleRosChanges}\n />,\n [NoteSections.Physical]:\n <PhysicalComponent\n errors={state.errors}\n title={noteSectionsNames[NoteSections.Physical]}\n data={state.content.physicalData}\n handleNumericChanges={handleVitalsChanges}\n handleDisableVitals={handleDisableVitals}\n handlePhysicalExamChanges={handlePhysicalExamChanges}\n />,\n [NoteSections.MDM]:\n <NoteMdmComponent\n error={state.errors['mdmData']}\n mdms={state.mdmCodes}\n mdmText={state.content.mdmData.mdmText}\n mdmPatientTypes={mdmPatientTypes}\n selectedMdmPatientType={state.content.mdmData.selectedMdmPatientType}\n selectedCodeId={state.content.mdmData.selectedCodeId}\n showCodeDescription={state.content.mdmData.showCodeDescription}\n selectedCategoryIds={state.content.mdmData.selectedCategoryIds ?? [state.content.mdmData.selectedCategoryId]}\n selectedCategoryItems={state.content.mdmData.selectedCategoryItems}\n selectedMode={state.content.mdmData.selectedMode}\n spentTime={state.content.mdmData.spentTime}\n appointmentDuration={state.note?.appointment?.duration ?? state.content.duration.value}\n handleMdmTextChange={handleMdmTextChange}\n handleMdmPatientTypeChange={handleMdmPatientTypeChange}\n handleCodeChange={handleCodeChange}\n handleCategoryChange={handleCategoryChange}\n handleCategoryItemChange={handleCategoryItemChange}\n handleModeChange={handleModeChange}\n handleSpentTimeChanges={handleSpentTimeChanges}\n />,\n [NoteSections.Diagnosis]:\n <DiagnosisComponent\n error={state.errors['diagnosis']}\n addText='Add Diagnosis'\n selectedDiagnosis={state.content.diagnosis}\n getAutoComplete={getIcdCodesAutoComplete}\n grid={6}\n dataKey='diagnosis'\n handleChanges={handleDiagnosisChanges}\n handleTextInfoChange={handleTextInfoChange}\n />,\n [NoteSections.Plan]:\n <NotePlanComponent\n notesType={NotesType.HistoryAndPhysicalFollowUp}\n patientId={patientId}\n handleValidateGoals={handleValidateGoals}\n data={state.content.plan}\n visitDate={state.appointmentDate}\n handlePlanTextChanges={handlePlanTextChanges}\n handleLabTextChanges={handleLabTextChanges}\n handleGoalsChanges={handleGoalsChanges}\n handleCoachOtherTextChanges={handleCoachOtherTextChanges}\n handleEducationChanges={handleEducationChanges}\n />,\n [NoteSections.SpecialTests]:\n <SpecialtyTestsComponent\n specialTests={state.content.specialTests ?? []}\n handleTestUpdates={handleTestChanges}\n />,\n [NoteSections.NextAppointment]:\n <NextAppointmentDateComponent\n note={state.note}\n noteType={NotesType.HistoryAndPhysicalFollowUp}\n patientId={patientId}\n appointments={[]}\n handleChanges={handleNextAppointmentDateChanges}\n />\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`history-and-physical-note-section-${key}`} mt={3}>\n <ExpandableComponent\n title={noteSectionsNames[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={Array.from(refs.values()).find(x => x[1].toString() === key)?.[0]}\n handleExpand={() => handleExpandSection(+key)}\n />\n </Box>\n ))\n }\n </>\n );\n }\n\n const renderHpi = () => {\n return (\n <Box mt={3}>\n <Box ml={2}>\n <span className={classes.subTitle}>HPI</span>\n </Box>\n <Box my={1}>\n <Divider />\n </Box>\n <Box mt={3}>\n <TextFieldNoteComponent\n rows={3}\n id=\"hpi-follow-up-notes\"\n title=''\n content={state.content.HPI}\n handleChanged={handleHpiChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n </Box>\n )\n }\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n return (\n <Box m={5}>\n <NoteGeneralInfoComponent\n name=\"History and Physical\"\n patientId={patientId}\n note={state.note}\n duration={state.content.duration}\n visitDate={state.appointmentDate}\n title={state.title}\n selectedTargetType={state.selectedTargetType}\n handleTitleChanges={handleTitleChanges}\n handleAppointmentDateChanges={handleAppointmentDateChanges}\n handleAppointmentChanges={handleAppointmentChanges}\n handleChangeDuration={handleChangeDuration}\n classes={classes}\n />\n {\n renderHpi()\n }\n {\n renderSections()\n }\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(state.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n </Box>\n )\n }\n\n return (\n <Box>\n <Box className={classes.bgMain}>\n <BackTitleComponent\n title='Back to Notes'\n action={() => { handleGoBack() }}\n />\n </Box>\n {\n renderContent()\n }\n <SelectShortcutComponent />\n <SignOffDialogComponent />\n </Box>\n );\n}\n","import moment from \"moment\";\nimport { MutableRefObject, useEffect, useMemo, useRef, useState } from \"react\";\nimport { interval, Observable, Subscription } from \"rxjs\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { AppointmentTargetType } from \"../../../appointments/models/appointments.enums\";\nimport { PatientAppointmentModel } from \"../../../appointments/models/appointments.models\";\nimport { durations } from \"../../../appointments/models/times.models\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { appointmentsQuery } from \"../../../appointments/stores/appointments\";\nimport { PermissionType, Roles, UserType } from \"../../../auth/models/auth.enums\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { medicationsService } from \"../../../patientSupplements/services/medications.service\";\nimport { patientAllergiesService } from \"../../../patientSupplements/services/patientAllergiesService\";\nimport { supplementsService } from \"../../../patientSupplements/services/supplements.service\";\nimport { CheckAnswer, HealthGoalsQuestionNames, QuestionnaireResultModel, QuestionnaireSubType } from \"../../../questionnaire/models/questionnaire.models\";\nimport { questionnaireService } from \"../../../questionnaire/services/questionnaire.service\";\nimport { MedicalHistoryAndLifestyleQuestionNames } from \"../../../questionnaire/static/medicalHistroryQuestionnaire.static\";\nimport {\n MedicationItem,\n SupplementItem,\n NoteModel,\n GoalModel,\n IcdCode,\n SaveNoteModel,\n NotesType,\n MdmMode,\n MdmPatientType,\n MdmModel,\n SoapContent,\n SignOffNoteModel, HealthSummaryNoteKeySectionNames, SpecialTestModel, AppointmentConfigurationModel\n} from \"../../models/notes.models\";\nimport { mdmCodesService } from \"../../services/mdmCodes.service\";\nimport { notesService, SignOffModel } from \"../../services/notes.service\";\nimport { NoteSections } from \"./createSoapNoteComponent.static\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { createFollowUpComponentValidator } from \"../createFollowUp/createFollowUpComponent.validator\";\nimport { icdCodesService } from \"../../services/icdCodes.service\";\nimport { snackService } from \"../../../common/snack/state\";\nimport { createSoapNoteComponentValidator } from \"./createSoapNoteComponent.validator\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { vitalsErrorMessages } from \"../../../vital/validators/vital.validator\";\nimport {\n createHistoryAndPhysicalNoteComponentValidator\n} from \"../createHistoryAndPhysicalComponent/createHistoryAndPhysicalNoteComponent.validator\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { HealthSummaryMapModel } from \"../../../healthSummary/models/healthSummary.models\";\nimport { healthSummaryQuery } from \"../../../healthSummary/stores\";\nimport { healthSummaryService } from \"../../../healthSummary/services/healthSummary.service\";\nimport { mdmPlansService } from \"../../services/mdmPlans.service\";\nimport { goalsService } from \"../../services/goals.service\";\nimport { commonSupplementsService } from \"../../services/commonSupplements.service\";\nimport { commonOrdersService } from \"../../services/commonOrders.service\";\nimport {FullscriptSupplementModel} from \"../../../patientSupplements/models/fullscriptSupplementModels\";\nimport {prescriptionService} from \"../../../patientSupplements/services/prescription.service\";\n\ninterface CreateSoapNoteComponentState extends IErrorState {\n sections: { [id: number]: boolean };\n\n title: string;\n appointmentDate: Date;\n selectedTargetType: AppointmentTargetType;\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n content: SoapContent;\n\n appointments: PatientAppointmentModel[];\n note: NoteModel;\n patient: PatientModel;\n icdCodes: IcdCode[];\n mdmCodes: MdmModel[];\n rosVariants: string[];\n\n areQuestionnaireResultsLoading: boolean;\n isNoteContentLoading: boolean;\n isProcessing: boolean;\n isAutoSaving: boolean;\n isChanged: boolean;\n isFirstSaveOriginalNote: boolean;\n originalNote: NoteModel;\n isCommonMdmLoading: boolean;\n isCommonGoalLoading: boolean;\n isCommonSupplementLoading: boolean;\n isCommonOrderLoading: boolean;\n}\n\nlet stateContext: CreateSoapNoteComponentState = null;\n\nexport function useFacade(\n patientId: number,\n handleGoBack: () => void,\n appointmentId: number | null,\n appointmentConfiguration: AppointmentConfigurationModel | null,\n note: NoteModel,\n originalNote: NoteModel\n): [\n CreateSoapNoteComponentState,\n (section: NoteSections) => void,\n (value: string) => void,\n (value: Date) => void,\n (appointmentId: number) => void,\n (durationValue: number, type: AppointmentTargetType) => void,\n (value: string) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (supplements: FullscriptSupplementModel[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (id: number) => void,\n (id: number) => void,\n (id: number, isChecked: boolean) => void,\n (id: number, isChecked: boolean) => void,\n (value: boolean) => void,\n (values: string[]) => void,\n (value: boolean) => void,\n (field: string, value: number) => void,\n (value: string) => void,\n (value: string) => void,\n (value: MdmPatientType) => void,\n (id: number, showCodeDescription: boolean) => void,\n (ids: number[]) => void,\n (id: number, inputValue: string) => void,\n (mode: MdmMode) => void,\n (time: number) => void,\n (key: string, values: IcdCode[]) => void,\n (value: string) => void,\n (value: string) => void,\n (field: string, goals: GoalModel[]) => void,\n (tests: SpecialTestModel[]) => void,\n (field: string, educations: string) => void,\n (date: Date, role: Roles) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (searchQuery: string) => Observable<IcdCode[]>,\n Map<string, [MutableRefObject<any>, NoteSections]>,\n (value: string, id: number) => void,\n Function,\n (goalName: string, id:number) => boolean\n ] {\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [state, setState] = useState(\n {\n sections: {\n [NoteSections.ROS]: false,\n [NoteSections.MedicationsAndSupplements]: false,\n [NoteSections.Objective]: false,\n [NoteSections.MDM]: false,\n [NoteSections.Diagnosis]: false,\n [NoteSections.Plan]: false,\n [NoteSections.NextAppointment]: false,\n },\n\n title: '',\n note: note,\n appointmentDate: appointmentConfiguration?.visitDate ?? new Date(),\n selectedTargetType: AppointmentTargetType.Patient,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n isFirstSaveOriginalNote: !!originalNote,\n\n content: {\n appointmentConfiguration: appointmentConfiguration,\n duration: appointmentConfiguration?.duration\n ? durations.find(x => x.value === appointmentConfiguration?.duration)\n : durations[0],\n chiefComplaint: '',\n subjective: '',\n medicationsSupplements: {\n supplements: [],\n medications: [],\n rxntMedications: [],\n fullscriptSupplements: []\n },\n ROS: {\n rosEnabled: false,\n rosValues: [],\n },\n physicalData: {\n unableToObtain: false,\n systolicBP: 0,\n diastolicBP: 0,\n heartRate: 0,\n temperature: 0,\n height: 0,\n weight: 0,\n physicalExam: ''\n },\n mdmData: {\n mdmText: '',\n selectedMdmPatientType: MdmPatientType.Established,\n selectedCodeId: null,\n showCodeDescription: null,\n selectedCategoryId: null,\n selectedCategoryIds: [],\n selectedCategoryItems: [],\n selectedMode: MdmMode.Mdm,\n spentTime: 0,\n },\n diagnosis: [],\n plan: {\n planText: '',\n labsText: '',\n },\n specialTests: []\n },\n\n appointments: [],\n patient: null,\n icdCodes: [],\n mdmCodes: [],\n rosVariants: [],\n\n areAllergiesLoading: true,\n areQuestionnaireResultsLoading: true,\n isNoteContentLoading: true,\n isProcessing: false,\n isAutoSaving: false,\n isChanged: false,\n originalNote: originalNote,\n isCommonMdmLoading: true,\n isCommonGoalLoading: true,\n isCommonSupplementLoading: true,\n isCommonOrderLoading: true,\n\n errors: {}\n } as CreateSoapNoteComponentState\n );\n\n stateContext = state;\n\n const refs = new Map<string, [MutableRefObject<any>, NoteSections]>();\n\n refs.set(\"ROS\", [useRef(null), NoteSections.ROS]);\n refs.set(\"physicalData\", [useRef(null), NoteSections.Objective]);\n refs.set(\"physicalExam\", [refs.get(\"physicalData\")[0], NoteSections.Objective]);\n refs.set(\"diastolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Objective]);\n refs.set(\"systolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Objective]);\n refs.set(\"mdmData\", [useRef(null), NoteSections.MDM]);\n refs.set(\"diagnosis\", [useRef(null), NoteSections.Diagnosis]);\n\n const handleExpandSection = (section: NoteSections) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState(state => ({ ...state, sections: sections }));\n }\n\n const handleTitleChanges = (value: string) => {\n setState(state => ({\n ...state,\n title: value,\n isChanged: true\n }));\n }\n\n const handleAppointmentDateChanges = (value: Date) => {\n setState(state => ({\n ...state,\n appointmentDate: value,\n isChanged: true\n }));\n }\n\n const handleAppointmentChanges = (appointmentId: number) => {\n if (state.note?.appointment?.id === appointmentId) {\n return;\n }\n\n const model = getSaveModel(state);\n\n model.appointmentId = appointmentId;\n\n notesService.saveAsDraft(model, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n const getTargetDurations = (type: AppointmentTargetType) => {\n const patientMode = type === AppointmentTargetType.Patient;\n\n return durations.filter(x => x.patientMode === patientMode);\n }\n\n const handleChangeDuration = (durationValue: number, type: AppointmentTargetType) => {\n const selectedDuration = getTargetDurations(type).find(x => x.value === durationValue);\n const content = state.content;\n\n content.duration = selectedDuration;\n setState(state => ({\n ...state,\n content: content,\n isChanged: true\n }));\n }\n\n const handleSubjectiveChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n subjective: value\n },\n isChanged: true\n }));\n }\n\n const isCanCompleteNote = () => {\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const handleAddMedications = (medication: MedicationItem) => {\n medication.id = Date.now();\n state.content.medicationsSupplements.medications.push(medication);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleAddSupplements = (supplement: SupplementItem) => {\n state.content.medicationsSupplements.supplements.push({\n ...supplement,\n id: Date.now() + Math.floor(Math.random() * 100),\n });\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleFullscriptSupplements = (supplements: FullscriptSupplementModel[]) => {\n // init array if it's null. required for notes compatibility\n // which created before feature released\n if (!state.content.medicationsSupplements.fullscriptSupplements) {\n state.content.medicationsSupplements.fullscriptSupplements = [];\n }\n state.content.medicationsSupplements.fullscriptSupplements.push(...supplements);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleEditMedications = (medication: MedicationItem) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === medication.id);\n if (item) {\n item.name = medication.name;\n item.dosage = medication.dosage;\n item.instructions = medication.instructions;\n item.startDate = medication.startDate;\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleEditSupplements = (supplement: SupplementItem) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === supplement.id);\n if (item) {\n item.name = supplement.name;\n item.dosage = supplement.dosage;\n item.instructions = supplement.instructions;\n item.purchaseLink = supplement.purchaseLink;\n setState(state => ({ ...state, isChanged: true }));\n }\n }\n\n const handleRemoveMedications = (id: number) => {\n state.content.medicationsSupplements.medications = state.content.medicationsSupplements.medications.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleRemoveSupplements = (id: number) => {\n state.content.medicationsSupplements.supplements = state.content.medicationsSupplements.supplements.filter(i => i.id !== id);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMedicationStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleSupplementStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({ ...state, isChanged: true }));\n }\n };\n\n const handleValidateGoals = (goalName: string, id: number) =>{\n return false;\n }\n\n // [Ros]\n const handleEnableRos = (value: boolean) => {\n state.content.ROS.rosEnabled = value;\n setState(state => ({ ...state, isChanged: true }))\n\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const handleRosChanges = (values: string[]) => {\n state.content.ROS.rosValues = values;\n setState(state => ({ ...state, isChanged: true }))\n\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const validateVitals = () => {\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalData', state.content.physicalData);\n createSoapNoteComponentValidator.validateObjectAndSetState(state, setState, state.content.physicalData);\n const systolicValue = state.content.physicalData.systolicBP;\n const diastolicValue = state.content.physicalData.diastolicBP;\n let errors = state.errors;\n if ((systolicValue || diastolicValue) && diastolicValue >= systolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.diastolicIsGraterThanSystolic);\n } else if (systolicValue && !diastolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n } else if (diastolicValue && !systolicValue) {\n errors = GeneralValidator.addError(state, `systolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n }\n\n setState(state => ({\n ...state,\n errors: errors\n }));\n }\n\n const validateNote = (): boolean => {\n createSoapNoteComponentValidator.validateObjectAndSetState(state, setState, state.content);\n\n validateVitals();\n\n if (state.content.physicalData.unableToObtain) {\n GeneralValidator.removeError(state, 'physicalData');\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n }\n\n return GeneralValidator.isValidState(state);\n }\n\n const handleDisableVitals = (value: boolean) => {\n state.content.physicalData.unableToObtain = value;\n setState(state => ({ ...state, isChanged: true }));\n if (value) {\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n GeneralValidator.removeError(state, 'physicalData');\n }\n }\n\n const handleVitalsChanges = (field: string, value: number) => {\n state.content.physicalData[field] = value;\n setState(state => ({ ...state, isChanged: true }));\n validateVitals();\n }\n\n const handlePhysicalExamChanges = (value: string) => {\n state.content.physicalData.physicalExam = value;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalExam', value);\n }\n\n const handleMdmTextChange = (value: string) => {\n state.content.mdmData.mdmText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleMdmPatientTypeChange = (value: MdmPatientType) => {\n state.content.mdmData.selectedMdmPatientType = value;\n state.content.mdmData.selectedCodeId = null;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCodeChange = (id: number, showCodeDescription: boolean) => {\n if (state.content.mdmData.selectedCodeId !== id) {\n state.content.mdmData.selectedCodeId = id;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n createHistoryAndPhysicalNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n state.content.mdmData.showCodeDescription = showCodeDescription;\n\n setState(state => ({ ...state }));\n }\n\n const handleCategoryChange = (ids: number[]) => {\n const mdmCode = state.mdmCodes.find(x => x.id === state.content.mdmData.selectedCodeId);\n const removedCategories = mdmCode.categories.filter(x => !ids.some(t => t === x.id));\n const removedItems = removedCategories.map(x => x.items).flat();\n const items = state.content.mdmData.selectedCategoryItems.filter(x => !removedItems.some(t => t.id === x.id));\n state.content.mdmData.selectedCategoryIds = ids;\n state.content.mdmData.selectedCategoryItems = items;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCategoryItemChange = (id: number, inputValue: string) => {\n const item = state.content.mdmData.selectedCategoryItems.find(x => x.id === id)\n if (item !== undefined) {\n if (inputValue === null) {\n state.content.mdmData.selectedCategoryItems = state.content.mdmData.selectedCategoryItems.filter(x => x.id !== id);\n }\n else {\n item.inputValue = inputValue;\n }\n }\n else {\n state.content.mdmData.selectedCategoryItems.push({\n id: id,\n inputValue: inputValue\n })\n }\n\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleModeChange = (mode: MdmMode) => {\n switch (mode) {\n case MdmMode.Mdm: {\n state.content.mdmData.spentTime = 0; break;\n }\n case MdmMode.TimeBased: {\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n }\n }\n state.content.mdmData.selectedMode = mode;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleSpentTimeChanges = (time: number) => {\n state.content.mdmData.spentTime = time;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleDiagnosisChanges = (key: string, values: IcdCode[]) => {\n state.content.diagnosis = values;\n setState(state => ({ ...state, isChanged: true }));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'diagnosis', state.content.diagnosis);\n }\n\n const handleTextInfoChange = (value: string, id: number) => {\n const diagnosisForAddText = state.content.diagnosis.find(el => el.id === id)\n diagnosisForAddText.additionalInformation = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handlePlanTextChanges = (value: string) => {\n state.content.plan.planText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleLabTextChanges = (value: string) => {\n state.content.plan.labsText = value;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleGoalsChanges = (field: string, goals: GoalModel[]) => {\n state.content.plan[field] = goals;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleTestChanges = (tests: SpecialTestModel[]) => {\n const content = state.content;\n content.specialTests = tests;\n setState(state => ({\n ...state,\n content: content\n }))\n }\n\n const handleEducationChanges = (field: string, educations: string) => {\n state.content.plan[field] = educations;\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleNextAppointmentDateChanges = (date: Date, role: Roles) => {\n switch (role) {\n case Roles.Coach:\n setState(state => ({ ...state, nextCoachAppointmentDate: date, isChanged: true })); break\n case Roles.Provider:\n setState(state => ({ ...state, nextProviderAppointmentDate: date, isChanged: true })); break;\n }\n }\n\n // Questionnaire results helpers\n const getAnswer = (result: QuestionnaireResultModel, questionKey: string): string => result?.answers?.find(x => x.key === questionKey)?.value;\n\n const getAnswerVariants = (result: QuestionnaireResultModel, questionKey: string): string[] => {\n const answer = getAnswer(result, questionKey);\n if (!answer) {\n return [];\n }\n\n const parsedAnswer: CheckAnswer = JSON.parse(answer);\n\n if (!parsedAnswer) {\n return [];\n }\n\n return [...parsedAnswer.v, ...parsedAnswer.o];\n };\n\n const prefillHpi = (medicalHistoryQuestionnaire: QuestionnaireResultModel, goalsQuestionnaire: QuestionnaireResultModel, patient: PatientModel) => {\n if (medicalHistoryQuestionnaire === undefined || goalsQuestionnaire === undefined || patient === null) {\n return;\n }\n\n const firstName = patient.firstName;\n const age = moment().diff(patient.birthday, 'years');\n const medicalConditions = getAnswerVariants(medicalHistoryQuestionnaire, MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS).join(', ');\n const intention = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.YOUR_INTENTION);\n const exerciseGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_EXERCISE_GOAL);\n const nutritionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_NUTRITION_GOAL);\n const sleepGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SLEEP_GOAL);\n const mindfulnesGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_MINDFULNESS_GOAL);\n const socialConnectionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SOCIAL_CONNECTION_GOAL);\n\n const prefillText =\n `${firstName} is a ${age} y/o ${Gender[patient.gender]} with ${medicalConditions} who presents to establish care, discuss chronic disease management/prevention, and longevity. ` +\n `They have the specific intention: “${intention}”. \\n` +\n `The patient has the following goals: \\n` +\n `Exercise goal: “${exerciseGoals}“\\n` +\n `Nutrition goal: “${nutritionGoals}“\\n` +\n `Sleep goal: “${sleepGoals}“\\n` +\n `Mindfulness goal: “${mindfulnesGoals}“\\n` +\n `Social connection goal: “${socialConnectionGoals}“\\n`;\n\n setState((state) => ({ ...state, subjective: prefillText }));\n }\n\n const getSaveModel = (state): SaveNoteModel => {\n return {\n id: state.note?.id,\n name: 'SOAP',\n title: state.title,\n type: NotesType.Soap,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(state.content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n appointmentId: state.note ? state.note.appointment?.id : appointmentId,\n version: state.note?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: 'SOAP',\n title: state.originalNote.title,\n type: NotesType.Soap,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleSaveAndComplete = () => {\n if (!validateNote()) {\n for (const elem of refs) {\n if (state.errors[elem[0]] !== undefined) {\n const sections = state.sections;\n\n if (!sections[elem[1][1]]) {\n sections[elem[1][1]] = true;\n }\n\n setState(state => ({ ...state, sections: sections }));\n\n setTimeout(() => { elem[1][0].current.scrollIntoView({ block: \"center\", behavior: \"smooth\" }) }, 0)\n\n break;\n }\n }\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsCompleted(getSaveModel(state)).subscribe(() => {\n handleGoBack()\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n });\n }\n\n const handleSaveAsDraft = () => {\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoBack();\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const autoSave = () => {\n if (stateContext.isChanged\n && !stateContext.isAutoSaving\n && !stateContext.isProcessing\n && !state.isFirstSaveOriginalNote\n && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n if (!createFollowUpComponentValidator.stateIsValid(stateContext)) {\n return;\n }\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getSaveModel(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(\n note => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n title: note.title,\n visitDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n },\n error => {\n setState(state => ({\n ...state,\n isAutoSaving: false,\n }));\n }\n );\n }\n }\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n if (!state.note) {\n return handleGoBack();\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoBack());\n }\n\n const setNoteData = (note: NoteModel) => {\n setState(state => ({\n ...state,\n title: note.title,\n appointmentDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate\n }));\n\n notesService.getContentByEmployee(note.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as SoapContent\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n content: content\n }));\n })\n }\n\n const getHpiFromQuestionnaireResults = () => {\n questionnaireService.getLatestHealthFormsResults(patientId).subscribe(questionnaireResults => {\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const detailedQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.DetailedHistoryIncomplete)?.pop();\n const medicalHistoryQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.MedicalHistoryIncomplete)?.pop();\n\n prefillHpi(medicalHistoryQuestionnaire, detailedQuestionnaire, state.patient);\n }\n\n setState((state) => ({ ...state, areQuestionnaireResultsLoading: false }))\n });\n }\n\n const getHpiData = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n const hpiData = data?.find(x => x.key === HealthSummaryNoteKeySectionNames.HPI)?.value;\n\n if (hpiData && hpiData.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areQuestionnaireResultsLoading: false,\n content: {\n ...state.content,\n HPI: hpiData\n }\n }));\n } else {\n getHpiFromQuestionnaireResults()\n }\n });\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<PatientAppointmentModel[]>(appointmentsQuery.patientAppointments$, appointments => {\n if (appointments.length) {\n const appointment = appointments.find(x => x.id === appointmentId);\n if (appointment) {\n setState(state => ({\n ...state,\n appointments: appointments,\n appointmentDate: appointment.startDate,\n content: {\n ...state.content,\n duration: durations.find(el => el.value === appointment.duration)\n }\n }));\n }\n else {\n setState(state => ({\n ...state,\n appointments: appointments\n }));\n }\n }\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n state.patient = targetPatient;\n setState(state => ({\n ...state,\n patient: targetPatient\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n if (!stateContext.note) {\n getHpiData(map);\n }\n })\n ];\n \n const commonGoalCB = () => setState(state => ({ ...state, isCommonGoalLoading: false }));\n\n const commonMDMCB = () => setState(state => ({ ...state, isCommonMdmLoading: false }));\n\n const commonSupplementCB = () => setState(state => ({ ...state, isCommonSupplementLoading: false }));\n\n const commonOrderCB = () => setState(state => ({ ...state, isCommonOrderLoading: false }));\n \n mdmPlansService.getAllCommonMdms().subscribe(commonMDMCB, commonMDMCB);\n \n goalsService.getAllCommonGoals().subscribe(commonGoalCB, commonGoalCB);\n \n commonSupplementsService.getAllCommonSupplements().subscribe(commonSupplementCB, commonSupplementCB);\n \n commonOrdersService.getAllCommonOrders().subscribe(commonOrderCB, commonOrderCB);\n\n mdmCodesService.get(NotesType.Soap).subscribe(\n codes => {\n setState(state => ({\n ...state,\n mdmCodes: codes,\n }))\n }\n );\n\n if (stateContext.note && !originalNote) {\n setState((state) => ({\n ...state,\n isNoteContentLoading: true,\n areQuestionnaireResultsLoading: false\n }))\n setNoteData(stateContext.note);\n }\n else {\n setState((state) => ({\n ...state,\n isAutoSaving: true,\n areQuestionnaireResultsLoading: true\n }));\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as SoapContent\n setState(state => ({\n ...state,\n isAutoSaving: false,\n isNoteContentLoading: false,\n content: content,\n title: originalNote.title\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n handleGoBack()\n }\n );\n });\n }\n\n else {\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isNoteContentLoading: false,\n isAutoSaving: false,\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n handleGoBack()\n }\n );\n }\n\n\n medicationsService.get(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n medications: medications.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n instructions: x.instructions,\n startDate: x.startDate,\n isInCurrent: true,\n isStopped: false,\n source: null\n }\n })\n }\n }\n }))\n });\n\n prescriptionService.getPatientActiveMeds(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n rxntMedications: medications.map(x => {\n return {\n ...x,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n supplementsService.get(patientId).subscribe((supplements) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n supplements: supplements.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n purchaseLink: x.purchaseLink,\n instructions: x.instructions,\n isInCurrent: true,\n isStopped: false,\n source: x.source\n }\n })\n }\n }\n }))\n });\n patientAllergiesService.getByPatientId(patientId).subscribe(() => {\n setState((state) => ({ ...state, areAllergiesLoading: false }))\n });\n }\n\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe();\n healthSummaryService.getMap();\n\n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n handleSubjectiveChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleTextInfoChange,\n isCanCompleteNote,\n handleValidateGoals\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500\n },\n subTitle: {\n fontSize: 18,\n fontWeight: 500\n },\n inputLabel: {\n fontSize: 14,\n color: colors.gray1\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n })\n);\n","export enum NoteSections {\n PMH,\n MedicationsAndSupplements,\n ROS,\n Physical,\n MDM,\n Diagnosis,\n Plan,\n SpecialTests,\n NextAppointment\n}\n\nexport const noteSectionsNames : { [id: string]: string; } = {\n [NoteSections.PMH]: 'PMH',\n [NoteSections.MedicationsAndSupplements]: 'Medications And Supplements',\n [NoteSections.ROS]: 'ROS',\n [NoteSections.Physical]: 'Physical',\n [NoteSections.MDM]: 'MDM',\n [NoteSections.Diagnosis]: 'Diagnosis',\n [NoteSections.Plan]: 'Plan',\n [NoteSections.SpecialTests]: 'Additional Tests',\n [NoteSections.NextAppointment]: 'Next Appointment',\n}","import { Box, CircularProgress, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport {AppointmentConfigurationModel, MdmPatientType, NoteModel, NotesType} from '../../models/notes.models';\nimport { NextAppointmentDateComponent } from '../nextAppointmentDateComponent/NextAppointmentDateComponent';\nimport { NoteMdmComponent } from '../noteMdmComponent/NoteMdmComponent';\nimport { NotePlanComponent } from '../notePlanComponent/NotePlanComponent';\nimport { PhysicalComponent } from '../physicalComponent/PhysicalComponent';\nimport { RosComponent } from '../rosComponent/RosComponent';\nimport { SupplementsMedicationsComponent } from '../supplementsMedicationsComponent/SupplementsMedicationsComponent';\nimport { useFacade } from './createSaopNoteComponent.hooks';\nimport { NoteSections, noteSectionsNames } from './createSoapNoteComponent.static';\nimport { useStyles } from './createSoapNoteComponent.styles';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { colors } from \"../../../common/constants/colors\";\nimport { SelectShortcutComponent } from \"../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent\";\nimport { handleShortcutInsert } from \"../../../common/helpers/handle-shortcut-insert\";\nimport { NoteGeneralInfoComponent } from \"../noteGeneralInfo/NoteGeneralInfoComponent\";\nimport { DiagnosisComponent } from \"../diagnosisComponent/DiagnosisComponent\";\nimport { TextFieldNoteComponent } from '../textFieldNoteComponent/TextFieldNoteComponent';\nimport {SignOffDialogComponent} from \"../signOffDIalogComponent/SignOffDialogComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {canDiscardNote, isFutureAppointment} from \"../../helpers/noteHelpers\";\nimport {SpecialtyTestsComponent} from \"../specialtyTestsComponent/SpecialtyTestsComponent\";\n\nexport interface CreateSoapNoteComponentProps {\n patientId: number;\n appointmentId?: number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n handleGoBack: () => void;\n goBackTitle: string;\n note?: NoteModel;\n originalNote?: NoteModel;\n}\n\nconst mdmPatientTypes = new Map<MdmPatientType, string>()\n .set(MdmPatientType.Established, 'Established Patient')\n .set(MdmPatientType.New, 'New Patient');\n\nexport const CreateSoapNoteComponent: React.FC<CreateSoapNoteComponentProps> = (props: CreateSoapNoteComponentProps) => {\n const {\n patientId,\n appointmentId,\n appointmentConfiguration,\n handleGoBack,\n note,\n originalNote\n } = props;\n \n const classes = useStyles();\n\n const [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleAppointmentChanges,\n handleChangeDuration,\n handleSubjectiveChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleTextInfoChange,\n isCanCompleteNote,\n handleValidateGoals\n ] = useFacade(patientId, handleGoBack, appointmentId, appointmentConfiguration, note, originalNote);\n \n const isLoading = state.areQuestionnaireResultsLoading || state.isNoteContentLoading || state.isCommonGoalLoading || state.isCommonMdmLoading || state.isCommonSupplementLoading || state.isCommonOrderLoading;\n\n const sectionsContent = {\n [NoteSections.ROS]:\n <RosComponent\n errors={state.errors}\n variants={state.rosVariants}\n selectedVariants={state.content.ROS.rosValues}\n rosEnabled={state.content.ROS.rosEnabled}\n handleEnableRos={handleEnableRos}\n handleChanges={handleRosChanges}\n />,\n [NoteSections.MedicationsAndSupplements]:\n <SupplementsMedicationsComponent\n patientId={patientId}\n noteType={NotesType.Soap}\n medications={state.content.medicationsSupplements.medications}\n supplements={state.content.medicationsSupplements.supplements}\n rxntMedications={state.content.medicationsSupplements.rxntMedications}\n fullscriptSupplements={state.content.medicationsSupplements.fullscriptSupplements}\n handleAddMedications={handleAddMedications}\n handleAddSupplements={handleAddSupplements}\n handleFullscriptSupplements={handleFullscriptSupplements}\n handleEditMedications={handleEditMedications}\n handleEditSupplements={handleEditSupplements}\n handleRemoveMedications={handleRemoveMedications}\n handleRemoveSupplements={handleRemoveSupplements}\n handleMedicationStopped={handleMedicationStopped}\n handleSupplementStopped={handleSupplementStopped}\n />,\n [NoteSections.Objective]:\n <PhysicalComponent\n errors={state.errors}\n title={noteSectionsNames[NoteSections.Objective]}\n data={state.content.physicalData}\n handleNumericChanges={handleVitalsChanges}\n handleDisableVitals={handleDisableVitals}\n handlePhysicalExamChanges={handlePhysicalExamChanges}\n />,\n [NoteSections.MDM]:\n <NoteMdmComponent\n error={state.errors['mdmData']}\n mdms={state.mdmCodes}\n mdmText={state.content.mdmData.mdmText}\n mdmPatientTypes={mdmPatientTypes}\n selectedMdmPatientType={state.content.mdmData.selectedMdmPatientType}\n selectedCodeId={state.content.mdmData.selectedCodeId}\n showCodeDescription={state.content.mdmData.showCodeDescription}\n selectedCategoryIds={state.content.mdmData.selectedCategoryIds ?? [state.content.mdmData.selectedCategoryId]}\n selectedCategoryItems={state.content.mdmData.selectedCategoryItems}\n selectedMode={state.content.mdmData.selectedMode}\n spentTime={state.content.mdmData.spentTime}\n appointmentDuration={state.note?.appointment?.duration ?? state.content.duration.value}\n handleMdmTextChange={handleMdmTextChange}\n handleMdmPatientTypeChange={handleMdmPatientTypeChange}\n handleCodeChange={handleCodeChange}\n handleCategoryChange={handleCategoryChange}\n handleCategoryItemChange={handleCategoryItemChange}\n handleModeChange={handleModeChange}\n handleSpentTimeChanges={handleSpentTimeChanges}\n />,\n [NoteSections.Diagnosis]:\n <DiagnosisComponent\n error={state.errors['diagnosis']}\n addText='Add Diagnosis'\n selectedDiagnosis={state.content.diagnosis}\n getAutoComplete={getIcdCodesAutoComplete}\n grid={6}\n dataKey='diagnosis'\n handleChanges={handleDiagnosisChanges}\n handleTextInfoChange={handleTextInfoChange}\n />,\n [NoteSections.Plan]:\n <NotePlanComponent\n patientId={patientId}\n notesType={NotesType.Soap}\n handleValidateGoals={handleValidateGoals}\n data={state.content.plan}\n visitDate={state.appointmentDate}\n handlePlanTextChanges={handlePlanTextChanges}\n handleLabTextChanges={handleLabTextChanges}\n handleGoalsChanges={handleGoalsChanges}\n handleEducationChanges={handleEducationChanges}\n />,\n [NoteSections.SpecialTests]:\n <SpecialtyTestsComponent\n specialTests={state.content.specialTests ?? []}\n handleTestUpdates={handleTestChanges}\n />,\n [NoteSections.NextAppointment]:\n <NextAppointmentDateComponent\n note={state.note}\n noteType={NotesType.Soap}\n patientId={props.patientId}\n appointments={[]}\n handleChanges={handleNextAppointmentDateChanges}\n />\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`soap-note-section-${key}`} mt={3}>\n <ExpandableComponent\n title={noteSectionsNames[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={Array.from(refs.values()).find(x => x[1].toString() === key)?.[0]}\n handleExpand={() => handleExpandSection(+key)}\n />\n </Box>\n ))\n }\n </>\n );\n }\n\n const renderHpi = () => {\n return (\n <Box mt={3}>\n <Box ml={2}>\n <span className={classes.subTitle}>Subjective</span>\n </Box>\n <Box my={1}>\n <Divider />\n </Box>\n <Box mt={3}>\n <TextFieldNoteComponent\n id=\"subjective-text-input\"\n placeholder='Chief Complaint; Onset, location, duration, quality; Exacerbating and alleviating factors'\n rows={3}\n title=''\n content={state.content.subjective}\n handleChanged={handleSubjectiveChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n </Box>\n )\n }\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n return (\n <Box m={5}>\n <NoteGeneralInfoComponent\n name=\"SOAP\"\n patientId={patientId}\n note={state.note}\n duration={state.content.duration}\n visitDate={state.appointmentDate}\n title={state.title}\n selectedTargetType={state.selectedTargetType}\n handleTitleChanges={handleTitleChanges}\n handleAppointmentDateChanges={handleAppointmentDateChanges}\n handleAppointmentChanges={handleAppointmentChanges}\n handleChangeDuration={handleChangeDuration}\n classes={classes}\n />\n {\n renderHpi()\n }\n {\n renderSections()\n }\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(state.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n </Box>\n )\n }\n\n return (\n <Box>\n <Box className={classes.bgMain}>\n <BackTitleComponent\n title='Back to Notes'\n action={() => { handleGoBack() }}\n />\n </Box>\n {\n renderContent()\n }\n <SelectShortcutComponent />\n <SignOffDialogComponent/>\n </Box>\n );\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n functionValidationRule,\n rangeValidationRule,\n requiredValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport {MdmCategory, MdmCategoryIds, mdmCategoryItemsCount, MdmDataModel, MdmMode, NotePhysicalModel, RosModel} from \"../../models/notes.models\";\n\n\nexport const createHistoryAndPhysicalGroupVisitNoteComponentValidator = new GeneralValidator({\n 'ROS':[functionValidationRule((data: RosModel) => {\n if(!data.rosEnabled){\n return false;\n }\n\n return true\n }, 'ROS section must be completed.')],\n 'diagnosis': [functionValidationRule((data) => {\n return data?.length > 0\n }, 'At least one diagnosis must be selected.')],\n 'mdmData': [functionValidationRule((data: MdmDataModel) => {\n \n if (!data.selectedMdmPatientType) {\n return false;\n }\n if (!data.selectedCodeId) {\n return false;\n }\n if (data.selectedMode === MdmMode.TimeBased) {\n if (!data.spentTime) {\n return false;\n }\n } else {\n if (data.selectedCodeId === MdmCategory.EstablishedPatientG0438\n || data.selectedCodeId === MdmCategory.EstablishedPatientG0439\n || data.selectedCodeId === MdmCategory.NewPatientG0438) {\n return true\n }\n \n if (!data.selectedCategoryIds) {\n return false;\n }\n\n if (data.selectedCategoryIds.length < 1) {\n return false;\n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99205 || data.selectedCodeId === MdmCategory.NewPatient99205) {\n if (data.selectedCategoryIds.length < 2) {\n return false;\n }\n \n const el99205 = data.selectedCategoryIds.find(el => el === MdmCategoryIds.EstablishedPatientOne99205 || el === MdmCategoryIds.NewPatientOne99205)\n if (el99205 && data.selectedCategoryItems.length < 4) {\n return false\n } \n }\n\n if (data.selectedCodeId === MdmCategory.EstablishedPatient99203 || data.selectedCodeId === MdmCategory.EstablishedPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n\n \n if (data.selectedCodeId === MdmCategory.NewPatient99203 || data.selectedCodeId === MdmCategory.NewPatient99204) {\n const categoryId = data.selectedCategoryIds[0]\n if (mdmCategoryItemsCount[categoryId] > data.selectedCategoryItems?.length) {\n return false;\n }\n }\n \n }\n\n return true;\n }, 'Coding section must be fully completed.')],\n 'physicalExam': [requiredValidationRule(1, 'Physical Exam cannot be left blank')],\n 'systolicBP': [rangeValidationRule(0, 280)],\n 'diastolicBP': [rangeValidationRule(0, 200)],\n 'heartRate': [rangeValidationRule(0, 220)],\n 'temperature': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(93, 107).function(data);\n }, 'Value should be in range from 93 to 107')],\n 'height': [functionValidationRule((data) => {\n if (data === 0) {\n return true\n }\n\n return rangeValidationRule(18, 120).function(data);\n }, 'Value should be in range from 18 to 120')],\n 'weight': [rangeValidationRule(0, 1200, 'Not more than 1200lbs')],\n 'physicalData': [functionValidationRule((data: NotePhysicalModel) => {\n if (data.unableToObtain) {\n return true;\n }\n\n const vitals = data.diastolicBP\n + data.systolicBP\n + data.height\n + data.weight\n + data.temperature\n + data.heartRate;\n\n return vitals !== 0;\n }, 'At least 1 field must be completed')]\n});","import moment from \"moment\";\nimport {MutableRefObject, useEffect, useMemo, useRef, useState} from \"react\";\nimport {interval, Observable, Subscription} from \"rxjs\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {AppointmentTargetType} from \"../../../appointments/models/appointments.enums\";\nimport {durations} from \"../../../appointments/models/times.models\";\nimport {appointmentsService} from \"../../../appointments/services/appointments.service\";\nimport {PermissionType, Roles, UserType} from \"../../../auth/models/auth.enums\";\nimport {DataSpecificationsEnum} from \"../../../common/constants/data-specifications\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsService} from \"../../../patients/services/patients.service\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {PatientAllergyModel} from \"../../../patientSupplements/models/patientAllergiesModel\";\nimport {medicationsService} from \"../../../patientSupplements/services/medications.service\";\nimport {patientAllergiesService} from \"../../../patientSupplements/services/patientAllergiesService\";\nimport {supplementsService} from \"../../../patientSupplements/services/supplements.service\";\nimport {\n CheckAnswer,\n HealthGoalsQuestionNames,\n QuestionnaireResultModel,\n QuestionnaireSubType\n} from \"../../../questionnaire/models/questionnaire.models\";\nimport {questionnaireService} from \"../../../questionnaire/services/questionnaire.service\";\nimport {\n MedicalHistoryAndLifestyleQuestionNames\n} from \"../../../questionnaire/static/medicalHistroryQuestionnaire.static\";\nimport {\n GoalCategory,\n GoalModel,\n HealthSummaryNoteKeySectionNames,\n HistoryAndPhysicalContent,\n IcdCode,\n MdmMode,\n MdmModel,\n MdmPatientType,\n MedicationItem, NoteGoalsVersion,\n NoteModel,\n NotePmhVersion,\n NotesType,\n SaveNoteModel,\n SignOffNoteModel, SpecialTestModel,\n SupplementItem\n} from \"../../models/notes.models\";\nimport {mdmCodesService} from \"../../services/mdmCodes.service\";\nimport {notesService, SignOffModel} from \"../../services/notes.service\";\nimport {NoteSections} from \"./createHistoryAndPhysicalGroupVisitNoteComponent.static\";\nimport {isElementEnabled} from \"../../../common/components/ProtectedElement\";\nimport {icdCodesService} from \"../../services/icdCodes.service\";\nimport {snackService} from \"../../../common/snack/state\";\nimport {handleCompare} from \"../../../common/sorting/helpers/handle-compare\";\nimport {SortingDirection} from \"../../../common/sorting/models/sorting-destination\";\nimport {\n createHistoryAndPhysicalGroupVisitNoteComponentValidator\n} from \"./createHistoryAndPhysicalGroupVisitNoteComponent.validator\";\nimport {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {createSoapNoteComponentValidator} from \"../createSoapComponent/createSoapNoteComponent.validator\";\nimport {vitalsErrorMessages} from \"../../../vital/validators/vital.validator\";\nimport {healthSummaryService} from \"../../../healthSummary/services/healthSummary.service\";\nimport {\n HealthSummaryDataModel,\n HealthSummaryDraftModel,\n HealthSummaryMapModel\n} from \"../../../healthSummary/models/healthSummary.models\";\nimport {healthSummaryQuery} from \"../../../healthSummary/stores\";\nimport {buildKey, getKey} from \"../../../healthSummary/helpers/healthSummaryHelper\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {goalsService} from \"../../services/goals.service\";\nimport {inputsService} from \"../../../inputs/services/inputs.service\";\nimport {YesNo} from \"../../../inputs/models/input.models\";\nimport {ApoeSoursConstants} from \"../../../healthReport/constants/apoe.constants\";\nimport {DetailedQuestionNames} from \"../../../questionnaire/static/detailedQuestionnaire.static\";\nimport { mdmPlansService } from \"../../services/mdmPlans.service\";\nimport { commonSupplementsService } from \"../../services/commonSupplements.service\";\nimport { commonOrdersService } from \"../../services/commonOrders.service\";\nimport {FullscriptSupplementModel} from \"../../../patientSupplements/models/fullscriptSupplementModels\";\nimport {prescriptionService} from \"../../../patientSupplements/services/prescription.service\";\n\nexport interface HealthSummaryListItemsNoteComponentState {\n isEditorOpened: boolean\n isMenuOpened: boolean\n editRowValue: string\n selectedKey: string\n editRowName: string\n addNewRow: boolean\n anchorEl: any\n editSection: string\n currentMap: HealthSummaryMapModel\n draft: any[]\n}\n\ninterface CreateHistoryAndPhysicalGroupVisitNoteComponentState extends IErrorState {\n sections: { [id: number]: boolean };\n isLoadingHealthSummary: boolean;\n data: HealthSummaryDataModel[];\n map: HealthSummaryMapModel[];\n title: string;\n appointmentDate: Date;\n selectedTargetType: AppointmentTargetType;\n nextCoachAppointmentDate: Date;\n nextProviderAppointmentDate: Date;\n content: HistoryAndPhysicalContent;\n\n note: NoteModel;\n patient: PatientModel;\n allergies: PatientAllergyModel[];\n icdCodes: IcdCode[];\n mdmCodes: MdmModel[];\n rosVariants: string[];\n\n areAllergiesLoading: boolean;\n areQuestionnaireResultsLoading: boolean;\n isNoteContentLoading: boolean;\n isProcessing: boolean;\n isAutoSaving: boolean;\n isChanged: boolean;\n navigateTo: string;\n isFirstSaveOriginalNote: boolean;\n originalNote: NoteModel;\n isCommonMdmLoading: boolean;\n isCommonGoalLoading: boolean;\n isCommonSupplementLoading: boolean;\n isCommonOrderLoading: boolean;\n}\n\nlet stateContext: CreateHistoryAndPhysicalGroupVisitNoteComponentState = null;\n\nexport function useFacade(\n patientId: number,\n handleGoBack: () => void,\n note: NoteModel,\n originalNote: NoteModel\n): [\n CreateHistoryAndPhysicalGroupVisitNoteComponentState,\n (section: NoteSections) => void,\n (value: string) => void,\n (value: Date) => void,\n (durationValue: number, type: AppointmentTargetType) => void,\n (value: string) => void,\n (key: string, values: string[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (supplements: FullscriptSupplementModel[]) => void,\n (medication: MedicationItem) => void,\n (supplement: SupplementItem) => void,\n (id: number) => void,\n (id: number) => void,\n (id: number, isChecked: boolean) => void,\n (id: number, isChecked: boolean) => void,\n (value: boolean) => void,\n (values: string[]) => void,\n (value: boolean) => void,\n (field: string, value: number) => void,\n (value: string) => void,\n (value: string) => void,\n (value: MdmPatientType) => void,\n (id: number, showCodeDescription: boolean) => void,\n (ids: number[]) => void,\n (id: number, inputValue: string) => void,\n (mode: MdmMode) => void,\n (time: number) => void,\n (key: string, values: IcdCode[]) => void,\n (value: string) => void,\n (value: string) => void,\n (field: string, goals: GoalModel[]) => void,\n (tests: SpecialTestModel[]) => void,\n (field: string, educations: string) => void,\n (date: Date, role: Roles) => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (searchQuery: string) => Observable<IcdCode[]>,\n Map<string, [MutableRefObject<any>, NoteSections]>,\n (value: string) => void,\n (value: string, id: number) => void,\n\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n (searchQuery: string) => Observable<string[]>,\n Function,\n Function,\n Function,\n Function,\n Function,\n (goalName: string, id: number) => boolean,\n HealthSummaryListItemsNoteComponentState,\n Function,\n Function,\n Function,\n Function,\n Function,\n] {\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [state, setState] = useState(\n {\n sections: {\n [NoteSections.PMH]: false,\n [NoteSections.MedicationsAndSupplements]: false,\n [NoteSections.ROS]: false,\n [NoteSections.Physical]: false,\n [NoteSections.MDM]: false,\n [NoteSections.Diagnosis]: false,\n [NoteSections.Plan]: false,\n [NoteSections.SpecialTests]: false,\n [NoteSections.NextAppointment]: false,\n },\n isLoadingHealthSummary: true,\n data: null,\n map: [],\n title: '',\n appointmentDate: new Date(),\n selectedTargetType: AppointmentTargetType.Patient,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n isFirstSaveOriginalNote: !!originalNote,\n\n content: {\n duration: durations[1],\n pmhVersion: NotePmhVersion.New,\n chiefComplaint: '',\n HPI: '',\n PMH: {\n allergies: [],\n currentMedicalConditions: [],\n famHX: [],\n screeningHealthMaintenance: [],\n surgicalHX: [],\n PHQ2: [],\n socialLifestyleHX: [],\n },\n PMHnew: {\n allergies: [],\n rxntAllergies: [],\n currentMedicalConditions: [],\n famHX: [],\n screeningHealthMaintenance: [],\n screeningHealthMaintenanceApoe: {\n hideApoe: YesNo.None,\n score: '',\n source: ApoeSoursConstants.BloodTest,\n colonoscopy: {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_LAST_SCREENING,\n id: null,\n tooltip: '',\n },\n psa: {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_PSA_OR_PROSTATE_EXAM,\n id: null,\n tooltip: '',\n },\n },\n surgicalHX: [],\n PHQ2: [],\n socialHX: [],\n lifestyleHX: [],\n },\n medicationsSupplements: {\n supplements: [],\n medications: [],\n rxntMedications: [],\n fullscriptSupplements: []\n },\n ROS: {\n rosEnabled: false,\n rosValues: [],\n },\n physicalData: {\n unableToObtain: false,\n systolicBP: 0,\n diastolicBP: 0,\n heartRate: 0,\n temperature: 0,\n height: 0,\n weight: 0,\n physicalExam: ''\n },\n mdmData: {\n mdmText: '',\n selectedMdmPatientType: MdmPatientType.New,\n selectedCodeId: null,\n showCodeDescription: null,\n selectedCategoryId: null,\n selectedCategoryIds: [],\n selectedCategoryItems: [],\n selectedMode: MdmMode.Mdm,\n spentTime: 0,\n },\n diagnosis: [],\n plan: {\n planText: '',\n dietGoals: [],\n exerciseGoals: [],\n sleepGoals: [],\n neuroGoals: [],\n longevityGoals: [],\n mindfulnessGoals: [],\n labsGoals: [],\n labsText: '',\n coachOtherText: ''\n },\n specialTests: []\n },\n\n note: note,\n patient: null,\n allergies: [],\n icdCodes: [],\n mdmCodes: [],\n rosVariants: [],\n\n areAllergiesLoading: true,\n areQuestionnaireResultsLoading: true,\n isNoteContentLoading: true,\n isProcessing: false,\n isAutoSaving: false,\n isChanged: false,\n originalNote: originalNote,\n errors: {},\n navigateTo: \"\",\n isCommonMdmLoading: true,\n isCommonGoalLoading: true,\n isCommonSupplementLoading: true,\n isCommonOrderLoading: true\n } as CreateHistoryAndPhysicalGroupVisitNoteComponentState\n );\n\n const [editPmhState, setEditPmhState] = useState({\n isEditorOpened: false,\n isMenuOpened: false,\n selectedKey: null,\n addNewRow: false,\n anchorEl: null,\n editSection: '',\n currentMap: null,\n draft: [],\n } as HealthSummaryListItemsNoteComponentState)\n\n const setInitialState = () => {\n setEditPmhState({\n ...editPmhState,\n isEditorOpened: false,\n selectedKey: null,\n addNewRow: false,\n editRowValue: '',\n editRowName: '',\n editSection: '',\n currentMap: null,\n draft: []\n })\n }\n\n stateContext = state;\n const refs = new Map<string, [MutableRefObject<any>, NoteSections]>();\n\n refs.set(\"ROS\", [useRef(null), NoteSections.ROS]);\n refs.set(\"physicalData\", [useRef(null), NoteSections.Physical]);\n refs.set(\"physicalExam\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"diastolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"systolicBP\", [refs.get(\"physicalData\")[0], NoteSections.Physical]);\n refs.set(\"mdmData\", [useRef(null), NoteSections.MDM]);\n refs.set(\"diagnosis\", [useRef(null), NoteSections.Diagnosis]);\n\n const handleToggleActions = (key: string, anchorEl: Element, section: string,) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n isMenuOpened: !editPmhState.isMenuOpened,\n anchorEl: anchorEl,\n selectedKey: key,\n editSection: section,\n }))\n }\n\n const isCanCompleteNote = () => {\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const createPmhAlergiesKey = (section, item) => {\n return `${section}-${item.id}`\n }\n\n const handleHideApoe = (val: YesNo) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n hideApoe: val\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleSelectedSoursApoe = (val: string) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n source: val\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleEditApoe = (value) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n score: value\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleDateColonoscopyChanges = (val) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n colonoscopy: {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe?.colonoscopy,\n value: val\n }\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleDatePsaChanges = (val) => {\n state.content.PMHnew.screeningHealthMaintenanceApoe = {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe,\n psa: {\n ...state.content.PMHnew?.screeningHealthMaintenanceApoe?.psa,\n value: val\n }\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleEdit = () => {\n const dataItem = state.content.PMHnew[editPmhState.editSection].find(el => el.key === editPmhState.selectedKey)\n\n setEditPmhState({\n ...editPmhState,\n editRowName: dataItem.name,\n editRowValue: dataItem.value,\n isEditorOpened: true,\n isMenuOpened: false\n })\n }\n\n const handleDelete = () => {\n const newData = state.content.PMHnew[editPmhState.editSection].filter(el => el.key !== editPmhState.selectedKey)\n state.content.PMHnew[editPmhState.editSection] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n setEditPmhState({\n ...editPmhState,\n isMenuOpened: false,\n selectedKey: null,\n anchorEl: null,\n editSection: ''\n })\n\n }\n\n const handleEditRowName = (value: string) => {\n\n setEditPmhState({\n ...editPmhState,\n editRowName: value\n })\n }\n\n const handleEditRowValue = (value: string) => {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n const handleAddNewRow = (section: string, map: HealthSummaryMapModel) => {\n setEditPmhState({\n ...editPmhState,\n addNewRow: true,\n editSection: section,\n currentMap: map,\n })\n }\n\n const handleBlur = (e, value) => {\n if (value) {\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: value\n }))\n }\n\n if (e?.currentTarget?.id.includes('list-edit') && e?.relatedTarget) {\n return\n }\n\n if (editPmhState.editRowName && editPmhState.editRowValue) {\n saveChanges({name: editPmhState.editRowName, value: editPmhState.editRowValue})\n return\n }\n\n if (editPmhState.addNewRow && !editPmhState.editRowName && !editPmhState.editRowValue) {\n setInitialState()\n return\n }\n }\n\n const handleEditNewItem = (value: string) => {\n const draft = editPmhState.draft\n const item = editPmhState.draft.find(x => x.isNew)\n\n draft[draft.indexOf(draft.find(x => x.key === item.key))].value = value\n setEditPmhState({\n ...editPmhState,\n draft: draft\n })\n }\n\n const handleEditItem = (sectionOfNote, selectedKey, editValue, isDelete = false) => {\n if (isDelete) {\n const updateItems = state.content.PMHnew[sectionOfNote].filter(el => el.key !== selectedKey)\n state.content.PMHnew[sectionOfNote] = updateItems\n } else {\n const updateItems = state.content.PMHnew[sectionOfNote].map(el => {\n if (el.key === selectedKey) {\n return {\n ...el,\n value: editValue,\n isNew: false,\n }\n }\n return el\n })\n state.content.PMHnew[sectionOfNote] = updateItems\n }\n\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n\n const handleValidateGoals = (goalName: string, id: number) => {\n return false;\n }\n\n const handleAddInformation = (subSection: string, sectionOfNote: string, map: HealthSummaryMapModel) => {\n const newDataItem = {\n name: '',\n value: '',\n key: buildKey(map.key, subSection),\n section: subSection,\n isNew: true,\n patientId: patientId\n } as HealthSummaryDraftModel\n\n setEditPmhState({\n ...editPmhState,\n draft: [...editPmhState.draft, newDataItem]\n })\n }\n\n const handleSaveNewItem = (sectionOfNote: string,) => {\n const newData = [...state.content.PMHnew[sectionOfNote], ...editPmhState.draft]\n state.content.PMHnew[sectionOfNote] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n setInitialState()\n }\n\n const parseValue = (value: string) => {\n if (!value) {\n return ''\n }\n\n const arr = value.split(' ')\n\n if (!arr || !arr.length) {\n return ''\n }\n\n return arr;\n }\n\n const saveValue = (value: string) => {\n const parsedValue = parseValue(value)\n\n if (!parsedValue) {\n if (!editPmhState.isEditorOpened) {\n setInitialState()\n }\n return\n }\n\n const editValue = parsedValue.length > 1 ? parsedValue[0] : ''\n const editName = parsedValue.length > 1 ? value.replace(editValue, '').trim() : value\n\n setEditPmhState(editPmhState => ({\n ...editPmhState,\n editRowValue: editValue,\n editRowName: editName\n }))\n\n const result = {name: editName, value: editValue}\n\n saveChanges(result)\n }\n\n const saveChanges = ({name, value}) => {\n if (!name || !value) {\n setInitialState()\n return\n }\n\n const isNew = !editPmhState.selectedKey\n\n const model = {\n key: isNew ? buildKey(editPmhState.currentMap.key) : editPmhState.selectedKey,\n name: name ?? editPmhState.editRowName,\n value: value ?? editPmhState.editRowValue,\n } as HealthSummaryDataModel\n\n if (isNew) {\n const emptyModel = {\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: Math.floor(Math.random() * 10000),\n tooltip: ''\n }\n const newData = [...state.content.PMHnew[editPmhState.editSection], {...emptyModel, ...model}]\n state.content.PMHnew[editPmhState.editSection] = newData\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n\n } else {\n const updateItems = state.content.PMHnew[editPmhState.editSection].map(el => {\n if (el.key === editPmhState.selectedKey) {\n return {\n ...el,\n ...model,\n }\n }\n return el\n })\n state.content.PMHnew[editPmhState.editSection] = updateItems\n setState((state) => ({\n ...state,\n isChanged: true,\n }))\n }\n setInitialState()\n }\n\n const handleExpandSection = (section: NoteSections) => {\n const sections = state.sections;\n sections[section] = !sections[section];\n setState(state => ({...state, sections: sections}));\n }\n\n const handleTitleChanges = (value: string) => {\n setState(state => ({...state, title: value, isChanged: true}));\n }\n\n const handleAppointmentDateChanges = (value: Date) => {\n setState(state => ({...state, appointmentDate: value, isChanged: true}));\n }\n\n const getTargetDurations = (type: AppointmentTargetType) => {\n const patientMode = type === AppointmentTargetType.Patient;\n\n return durations.filter(x => x.patientMode === patientMode);\n }\n\n const handleChangeDuration = (durationValue: number, type: AppointmentTargetType) => {\n const selectedDuration = getTargetDurations(type).find(x => x.value === durationValue);\n const content = state.content;\n content.duration = selectedDuration;\n setState(state => ({...state, content: content, isChanged: true}));\n }\n\n const handleHpiChanges = (value: string) => {\n setState(state => ({\n ...state,\n content: {\n ...state.content,\n HPI: value\n },\n isChanged: true\n }));\n }\n\n const handlePmhItemChanges = (key: string, values: string[]) => {\n state.content.PMH[key] = values;\n setState(state => ({...state, isChanged: true}))\n }\n\n const handleAddMedications = (medication: MedicationItem) => {\n medication.id = Date.now();\n state.content.medicationsSupplements.medications.push(medication);\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleAddSupplements = (supplement: SupplementItem) => {\n state.content.medicationsSupplements.supplements.push({\n ...supplement,\n id: Date.now() + Math.floor(Math.random() * 100),\n });\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleFullscriptSupplements = (supplements: FullscriptSupplementModel[]) => {\n // init array if it's null. required for notes compatibility\n // which created before feature released\n if (!state.content.medicationsSupplements.fullscriptSupplements) {\n state.content.medicationsSupplements.fullscriptSupplements = [];\n }\n state.content.medicationsSupplements.fullscriptSupplements.push(...supplements);\n setState(state => ({ ...state, isChanged: true }));\n }\n\n const handleEditMedications = (medication: MedicationItem) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === medication.id);\n if (item) {\n item.name = medication.name;\n item.dosage = medication.dosage;\n item.instructions = medication.instructions;\n item.startDate = medication.startDate;\n setState(state => ({...state, isChanged: true}));\n }\n }\n\n const handleEditSupplements = (supplement: SupplementItem) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === supplement.id);\n if (item) {\n item.name = supplement.name;\n item.dosage = supplement.dosage;\n item.instructions = supplement.instructions;\n item.purchaseLink = supplement.purchaseLink;\n setState(state => ({...state, isChanged: true}));\n }\n }\n\n const handleRemoveMedications = (id: number) => {\n state.content.medicationsSupplements.medications = state.content.medicationsSupplements.medications.filter(i => i.id !== id);\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleRemoveSupplements = (id: number) => {\n state.content.medicationsSupplements.supplements = state.content.medicationsSupplements.supplements.filter(i => i.id !== id);\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleMedicationStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.medications.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({...state, isChanged: true}));\n }\n };\n\n const handleSupplementStopped = (id: number, isChecked: boolean) => {\n const item = state.content.medicationsSupplements.supplements.find(i => i.id === id);\n if (item) {\n item.isStopped = isChecked;\n setState(state => ({...state, isChanged: true}));\n }\n };\n\n const handleEnableRos = (value: boolean) => {\n state.content.ROS.rosEnabled = value;\n setState(state => ({...state, isChanged: true}))\n\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const handleRosChanges = (values: string[]) => {\n state.content.ROS.rosValues = values;\n setState(state => ({...state, isChanged: true}))\n\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'ROS', state.content.ROS);\n }\n\n const validateVitals = () => {\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalData', state.content.physicalData);\n createSoapNoteComponentValidator.validateObjectAndSetState(state, setState, state.content.physicalData);\n const systolicValue = state.content.physicalData.systolicBP;\n const diastolicValue = state.content.physicalData.diastolicBP;\n let errors = state.errors;\n if ((systolicValue || diastolicValue) && diastolicValue >= systolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.diastolicIsGraterThanSystolic);\n } else if (systolicValue && !diastolicValue) {\n errors = GeneralValidator.addError(state, `diastolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n } else if (diastolicValue && !systolicValue) {\n errors = GeneralValidator.addError(state, `systolicBP`, vitalsErrorMessages.systolicAndDiastolicNotFiled);\n }\n\n setState(state => ({\n ...state,\n errors: errors\n }));\n }\n\n const validateNote = (): boolean => {\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateObjectAndSetState(state, setState, state.content);\n\n validateVitals();\n\n if (state.content.physicalData.unableToObtain) {\n GeneralValidator.removeError(state, 'physicalData');\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n }\n\n return GeneralValidator.isValidState(state);\n }\n\n const handleDisableVitals = (value: boolean) => {\n state.content.physicalData.unableToObtain = value;\n setState(state => ({...state, isChanged: true}));\n if (value) {\n GeneralValidator.removeError(state, 'systolicBP');\n GeneralValidator.removeError(state, 'diastolicBP');\n GeneralValidator.removeError(state, 'heartRate');\n GeneralValidator.removeError(state, 'temperature');\n GeneralValidator.removeError(state, 'height');\n GeneralValidator.removeError(state, 'weight');\n GeneralValidator.removeError(state, 'physicalData');\n }\n }\n\n const handleVitalsChanges = (field: string, value: number) => {\n state.content.physicalData[field] = value;\n setState(state => ({...state, isChanged: true}));\n validateVitals();\n }\n\n const handlePhysicalExamChanges = (value: string) => {\n state.content.physicalData.physicalExam = value;\n setState(state => ({...state, isChanged: true}));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'physicalExam', value);\n }\n\n const handleMdmTextChange = (value: string) => {\n state.content.mdmData.mdmText = value;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleMdmPatientTypeChange = (value: MdmPatientType) => {\n state.content.mdmData.selectedMdmPatientType = value;\n state.content.mdmData.selectedCodeId = null;\n state.content.mdmData.showCodeDescription = null;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n setState(state => ({...state, isChanged: true}));\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCodeChange = (id: number, showCodeDescription: boolean) => {\n if (state.content.mdmData.selectedCodeId !== id) {\n state.content.mdmData.selectedCodeId = id;\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n state.content.mdmData.spentTime = 0;\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n state.content.mdmData.showCodeDescription = showCodeDescription;\n\n setState(state => ({...state}));\n }\n\n const handleCategoryChange = (ids: number[]) => {\n const mdmCode = state.mdmCodes.find(x => x.id === state.content.mdmData.selectedCodeId);\n const removedCategories = mdmCode.categories.filter(x => !ids.some(t => t === x.id));\n const removedItems = removedCategories.map(x => x.items).flat();\n const items = state.content.mdmData.selectedCategoryItems.filter(x => !removedItems.some(t => t.id === x.id));\n state.content.mdmData.selectedCategoryIds = ids;\n state.content.mdmData.selectedCategoryItems = items;\n setState(state => ({...state, isChanged: true}));\n createSoapNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleCategoryItemChange = (id: number, inputValue: string) => {\n const item = state.content.mdmData.selectedCategoryItems.find(x => x.id === id)\n if (item !== undefined) {\n if (inputValue === null) {\n state.content.mdmData.selectedCategoryItems = state.content.mdmData.selectedCategoryItems.filter(x => x.id !== id);\n } else {\n item.inputValue = inputValue;\n }\n } else {\n state.content.mdmData.selectedCategoryItems.push({\n id: id,\n inputValue: inputValue\n })\n }\n\n setState(state => ({...state, isChanged: true}));\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleModeChange = (mode: MdmMode) => {\n switch (mode) {\n case MdmMode.Mdm: {\n state.content.mdmData.spentTime = 0;\n }\n case MdmMode.TimeBased: {\n state.content.mdmData.selectedCategoryIds = [];\n state.content.mdmData.selectedCategoryItems = [];\n }\n }\n state.content.mdmData.selectedMode = mode;\n setState(state => ({...state, isChanged: true}));\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleSpentTimeChanges = (time: number) => {\n state.content.mdmData.spentTime = time;\n setState(state => ({...state, isChanged: true}));\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'mdmData', state.content.mdmData);\n }\n\n const handleDiagnosisChanges = (key: string, values: IcdCode[]) => {\n state.content.diagnosis = values;\n setState(state => ({...state, isChanged: true}));\n createHistoryAndPhysicalGroupVisitNoteComponentValidator.validateAndSetState(state, setState, 'diagnosis', state.content.diagnosis);\n }\n\n const handleTextInfoChange = (value: string, id: number) => {\n const diagnosisForAddText = state.content.diagnosis.find(el => el.id === id)\n diagnosisForAddText.additionalInformation = value;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handlePlanTextChanges = (value: string) => {\n state.content.plan.planText = value;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleLabTextChanges = (value: string) => {\n state.content.plan.labsText = value;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleCoachOtherTextChanges = (value: string) => {\n state.content.plan.coachOtherText = value;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleGoalsChanges = (field: string, goals: GoalModel[]) => {\n state.content.plan[field] = goals;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleTestChanges = (tests: SpecialTestModel[]) => {\n const content = state.content;\n content.specialTests = tests;\n setState(state => ({\n ...state,\n content: content\n }))\n }\n\n const handleEducationChanges = (field: string, educations: string) => {\n state.content.plan[field] = educations;\n setState(state => ({...state, isChanged: true}));\n }\n\n const handleNextAppointmentDateChanges = (date: Date, role: Roles) => {\n switch (role) {\n case Roles.Coach:\n setState(state => ({...state, nextCoachAppointmentDate: date, isChanged: true}));\n break;\n case Roles.Provider:\n setState(state => ({...state, nextProviderAppointmentDate: date, isChanged: true}));\n break\n }\n }\n\n // Questionnaire results helpers\n const getAnswer = (result: QuestionnaireResultModel, questionKey: string): string => result?.answers?.find(x => x.key === questionKey)?.value;\n\n const getAnswerVariants = (result: QuestionnaireResultModel, questionKey: string): string[] => {\n const answer = getAnswer(result, questionKey);\n if (!answer) {\n return [];\n }\n\n const parsedAnswer: CheckAnswer = JSON.parse(answer);\n\n if (!parsedAnswer) {\n return [];\n }\n\n return [...parsedAnswer.v, ...parsedAnswer.o];\n };\n\n // Prefill\n const prefillHpi = (medicalHistoryQuestionnaire: QuestionnaireResultModel, goalsQuestionnaire: QuestionnaireResultModel, patient: PatientModel) => {\n if (medicalHistoryQuestionnaire === undefined || goalsQuestionnaire === undefined || patient === null) {\n return;\n }\n\n const firstName = patient.firstName;\n const age = moment().diff(patient.birthday, 'years');\n const medicalConditions = getAnswerVariants(medicalHistoryQuestionnaire, MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS).join(', ');\n const intention = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.YOUR_INTENTION);\n const exerciseGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_EXERCISE_GOAL);\n const nutritionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_NUTRITION_GOAL);\n const sleepGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SLEEP_GOAL);\n const mindfulnesGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_MINDFULNESS_GOAL);\n const socialConnectionGoals = getAnswer(goalsQuestionnaire, HealthGoalsQuestionNames.PERSONAL_SOCIAL_CONNECTION_GOAL);\n\n const prefillText =\n `${firstName} is a ${age} y/o ${Gender[patient.gender]} with ${medicalConditions} who presents to establish care, discuss chronic disease management/prevention, and longevity. ` +\n `They have the specific intention: “${intention}”. \\n` +\n `The patient has the following goals: \\n` +\n `Exercise goal: “${exerciseGoals}“\\n` +\n `Nutrition goal: “${nutritionGoals}“\\n` +\n `Sleep goal: “${sleepGoals}“\\n` +\n `Mindfulness goal: “${mindfulnesGoals}“\\n` +\n `Social connection goal: “${socialConnectionGoals}“\\n`;\n\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n HPI: prefillText\n }\n }));\n }\n\n const getSaveModel = (state: CreateHistoryAndPhysicalGroupVisitNoteComponentState): SaveNoteModel => {\n return {\n id: state.note?.id,\n name: 'History And Physical Group Visit',\n title: state.title,\n type: NotesType.HistoryAndPhysicalGroupVisit,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(state.content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n appointmentId: null,\n } as SaveNoteModel;\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: 'History And Physical Group Visit',\n title: state.originalNote.title,\n type: NotesType.HistoryAndPhysicalGroupVisit,\n visitDate: state.appointmentDate,\n patientId: patientId,\n internalContent: null,\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: state.nextCoachAppointmentDate,\n nextProviderAppointmentDate: state.nextProviderAppointmentDate,\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleSaveAndComplete = () => {\n if (!validateNote()) {\n for (const elem of refs) {\n if (state.errors[elem[0]] !== undefined) {\n const sections = state.sections;\n\n if (!sections[elem[1][1]]) {\n sections[elem[1][1]] = true;\n }\n\n setState(state => ({...state, sections: sections}));\n\n setTimeout(() => {\n elem[1][0].current.scrollIntoView({block: \"center\", behavior: \"smooth\"})\n }, 0)\n\n break;\n }\n }\n\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsCompleted(getSaveModel(state)).subscribe(\n () => {\n handleGoBack()\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n })\n });\n }\n\n const handleSaveAsDraft = () => {\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true\n }));\n\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack()\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n }\n );\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoBack();\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const autoSave = () => {\n if (stateContext.isChanged\n && !stateContext.isAutoSaving\n && !stateContext.isProcessing\n && !state.isFirstSaveOriginalNote\n && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getSaveModel(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n title: note.title,\n visitDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isAutoSaving: false,\n }));\n });\n }\n }\n\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n if (!state.note) {\n return handleGoBack();\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoBack());\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable<IcdCode[]> => {\n return new Observable<IcdCode[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data);\n observer.complete();\n },\n () => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const getIcdCodesAutoPmhComplete = (searchQuery: string): Observable<string[]> => {\n return new Observable<string[]>((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data.map((x) => x.code + ' ' + x.description));\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const setNoteData = (note: NoteModel) => {\n setState(state => ({\n ...state,\n title: note.title,\n appointmentDate: note.visitDate,\n nextCoachAppointmentDate: note.nextCoachAppointmentDate,\n nextProviderAppointmentDate: note.nextProviderAppointmentDate\n }));\n\n notesService.getContentByEmployee(note.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as HistoryAndPhysicalContent\n setState(state => ({\n ...state,\n content: content,\n isNoteContentLoading: false\n }));\n })\n }\n\n const getSectionData = (section: HealthSummaryMapModel, data: HealthSummaryDataModel[]) => {\n var keys = [...section.items.map(x => x.key), section.key]\n\n return data.filter(x => keys.includes(getKey(x.key)))\n }\n\n const getHpiFromQuestionnaireResults = () => {\n questionnaireService.getLatestHealthFormsResults(patientId).subscribe(questionnaireResults => {\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const medicalHistoryQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.MedicalHistoryIncomplete)?.pop();\n const goalsQuestionnaire = results?.filter(q => q.questionnaire.subType === QuestionnaireSubType.GoalsIncomplete)?.pop();\n\n prefillHpi(medicalHistoryQuestionnaire, goalsQuestionnaire, state.patient);\n }\n\n setState((state) => ({...state, areQuestionnaireResultsLoading: false}))\n });\n }\n\n const getPmhAndHpiData = (map: HealthSummaryMapModel[]) => {\n healthSummaryService.getData(patientId).subscribe(data => {\n const hpiData = data?.find(x => x.key === HealthSummaryNoteKeySectionNames.HPI)?.value;\n\n if (hpiData && hpiData.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areQuestionnaireResultsLoading: false,\n content: {\n ...state.content,\n HPI: hpiData\n }\n }));\n } else {\n getHpiFromQuestionnaireResults()\n }\n\n patientAllergiesService.getByPatientId(patientId).subscribe((allergies) => {\n prescriptionService.getPatientAllergies(patientId).subscribe(rxntAllergies => {\n inputsService.getApoe(patientId).subscribe(\n (apoeInfo) => {\n if (data.length || allergies.length) {\n setState((state) => ({\n ...state,\n isChanged: true,\n areAllergiesLoading: false,\n content: {\n ...state.content,\n PMHnew: {\n ...state.content.PMHnew,\n rxntAllergies: rxntAllergies,\n allergies: allergies.map(x => ({\n key: createPmhAlergiesKey(HealthSummaryNoteKeySectionNames.ALLERGIES, x),\n name: x.name,\n value: x.reaction,\n isDeleted: false,\n patientId: patientId,\n isNew: false,\n id: x.id,\n tooltip: ''\n })),\n currentMedicalConditions: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.PROBLEMS_LIST), data),\n famHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.FAMILY_HISTORY), data),\n surgicalHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SURGICAL_HISTORY), data),\n socialHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SOCIAL_HISTORY), data),\n lifestyleHX: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.LIFESTYLE_HISTORY), data),\n screeningHealthMaintenance: getSectionData(map.find(el => el.key === HealthSummaryNoteKeySectionNames.SCREENING_HEALTH_MAINTENANCE), data),\n screeningHealthMaintenanceApoe: {\n ...apoeInfo,\n source: apoeInfo.source ?? ApoeSoursConstants.BloodTest\n },\n }\n }\n }))\n }\n }\n )\n })\n });\n })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n state.patient = targetPatient;\n setState(state => ({\n ...state,\n patient: targetPatient\n }));\n }\n }),\n onEmit<HealthSummaryMapModel[]>(healthSummaryQuery.map$, map => {\n setState(state => ({\n ...state,\n map: map\n }))\n\n if (map && map.length && !stateContext.note) {\n getPmhAndHpiData(map)\n }\n }),\n ];\n \n const commonGoalCB = () => setState(state => ({ ...state, isCommonGoalLoading: false }));\n\n const commonMDMCB = () => setState(state => ({ ...state, isCommonMdmLoading: false }));\n\n const commonSupplementCB = () => setState(state => ({ ...state, isCommonSupplementLoading: false }));\n\n const commonOrderCB = () => setState(state => ({ ...state, isCommonOrderLoading: false }));\n \n mdmPlansService.getAllCommonMdms().subscribe(commonMDMCB, commonMDMCB);\n \n goalsService.getAllCommonGoals().subscribe(commonGoalCB, commonGoalCB);\n \n commonSupplementsService.getAllCommonSupplements().subscribe(commonSupplementCB, commonSupplementCB);\n \n commonOrdersService.getAllCommonOrders().subscribe(commonOrderCB, commonOrderCB);\n\n mdmCodesService.get(NotesType.HistoryAndPhysicalGroupVisit).subscribe(\n codes => {\n setState(state => ({\n ...state,\n mdmCodes: codes,\n }))\n }\n );\n\n if (stateContext.note && !originalNote) {\n setState((state) => ({\n ...state,\n isNoteContentLoading: true,\n areAllergiesLoading: false,\n areQuestionnaireResultsLoading: false\n }))\n setNoteData(stateContext.note);\n } else {\n setState((state) => ({\n ...state,\n isNoteContentLoading: false,\n areAllergiesLoading: true,\n isAutoSaving: true,\n areQuestionnaireResultsLoading: true\n }));\n\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content) as HistoryAndPhysicalContent\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n content: content,\n title: originalNote.title\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n handleGoBack()\n }\n );\n });\n } else {\n notesService.saveAsDraft(getSaveModel(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n isAutoSaving: false,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n handleGoBack()\n }\n );\n }\n\n medicationsService.get(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n medications: medications.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n instructions: x.instructions,\n startDate: x.startDate,\n isInCurrent: true,\n isStopped: false,\n source: null\n }\n })\n }\n }\n }))\n });\n\n prescriptionService.getPatientActiveMeds(patientId).subscribe((medications) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n rxntMedications: medications.map(x => {\n return {\n ...x,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n supplementsService.get(patientId).subscribe((supplements) => {\n setState(state => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n medicationsSupplements: {\n ...state.content.medicationsSupplements,\n supplements: supplements.map(x => {\n return {\n id: x.id,\n name: x.name,\n dosage: x.dosage,\n purchaseLink: x.purchaseLink,\n instructions: x.instructions,\n source: x.source,\n isInCurrent: true,\n isStopped: false\n }\n })\n }\n }\n }))\n });\n\n goalsService.getCurrentGoalsByEmployee(patientId).subscribe(\n (goals) => {\n setState((state) => ({\n ...state,\n isPrefilled: true,\n isChanged: true,\n content: {\n ...state.content,\n goalsVersion: NoteGoalsVersion.New,\n plan: {\n ...state.content.plan,\n mindfulnessGoals: goals.filter(x => x.category === GoalCategory.Mindfulness),\n longevityGoals: goals.filter(x => x.category === GoalCategory.Longevity),\n exerciseGoals: goals.filter(x => x.category === GoalCategory.Exercise),\n sleepGoals: goals.filter(x => x.category === GoalCategory.Sleep),\n neuroGoals: goals.filter(x => x.category === GoalCategory.Neuro),\n dietGoals: goals.filter(x => x.category === GoalCategory.Diet)\n }\n }\n }))\n }\n );\n\n notesService.getByEmployee(patientId).subscribe((notes) => {\n const noteType = [\n NotesType.HistoryAndPhysicalFollowUp,\n NotesType.HistoryAndPhysicalInitial,\n NotesType.HistoryAndPhysicalGroupVisit,\n NotesType.FollowUp\n ];\n\n const lastNote = notes\n .filter(x => noteType.includes(x.type))\n .filter(x => x.isCompleted)\n .sort((a1, a2) => handleCompare(a1, a2, SortingDirection.Asc, 'visitDate'))\n .find(x => true);\n\n if (lastNote) {\n notesService.getContentByEmployee(lastNote.id, patientId).subscribe((content) => {\n const internalContent: HistoryAndPhysicalContent = JSON.parse(content.content);\n setState((state) => ({\n ...state,\n isChanged: true,\n content: {\n ...state.content,\n plan: {\n ...state.content.plan,\n longevityEducations: internalContent?.plan?.longevityEducations ?? state.content.plan.longevityEducations,\n exerciseEducations: internalContent?.plan?.exerciseEducations ?? state.content.plan.exerciseEducations,\n sleepEducations: internalContent?.plan?.sleepEducations ?? state.content.plan.sleepEducations,\n neuroEducations: internalContent?.plan?.neuroEducations ?? state.content.plan.neuroEducations,\n dietEducations: internalContent?.plan?.dietEducations ?? state.content.plan.dietEducations,\n mindfulnessEducations: internalContent?.plan?.mindfulnessEducations ?? state.content.plan.mindfulnessEducations\n }\n }\n }))\n })\n } else {\n\n }\n });\n\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification)\n\n }\n healthSummaryService.getMap();\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe();\n\n return () => {\n subscriptions.map(i => i.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleChangeDuration,\n handleHpiChanges,\n handlePmhItemChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleCoachOtherTextChanges,\n handleTextInfoChange,\n\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n getIcdCodesAutoPmhComplete,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n isCanCompleteNote,\n handleValidateGoals,\n editPmhState,\n handleHideApoe,\n handleSelectedSoursApoe,\n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n ];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 500\n },\n subTitle: {\n fontSize: 18,\n fontWeight: 500\n },\n inputLabel: {\n fontSize: 14,\n color: colors.gray1\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n })\n);\n","import { Box, CircularProgress, Divider } from '@material-ui/core';\nimport React from 'react';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { ExpandableComponent } from '../../../common/components/expandableComponent/ExpandableComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { MdmPatientType, NoteModel, NotePmhVersion, NotesType } from '../../models/notes.models';\nimport { NextAppointmentDateComponent } from '../nextAppointmentDateComponent/NextAppointmentDateComponent';\nimport { NoteMdmComponent } from '../noteMdmComponent/NoteMdmComponent';\nimport { NotePlanComponent } from '../notePlanComponent/NotePlanComponent';\nimport { PhysicalComponent } from '../physicalComponent/PhysicalComponent';\nimport { PmhComponent } from '../pmhComponent/PmhComponent';\nimport { RosComponent } from '../rosComponent/RosComponent';\nimport { SupplementsMedicationsComponent } from '../supplementsMedicationsComponent/SupplementsMedicationsComponent';\nimport { useFacade } from './createHistoryAndPhysicalGroupVisitNoteComponent.hooks';\nimport { NoteSections, noteSectionsNames } from './createHistoryAndPhysicalGroupVisitNoteComponent.static';\nimport { useStyles } from './CreateHistoryAndPhysicalGroupVisitNoteComponent.styles';\nimport { colors } from \"../../../common/constants/colors\";\nimport { SelectShortcutComponent } from \"../../../healthReport/components/selectShortcutComponent/SelectShortcutComponent\";\nimport { NoteGeneralInfoComponent } from \"../noteGeneralInfo/NoteGeneralInfoComponent\";\nimport { DiagnosisComponent } from \"../diagnosisComponent/DiagnosisComponent\";\nimport { TextFieldNoteComponent } from '../textFieldNoteComponent/TextFieldNoteComponent';\nimport { handleShortcutInsert } from '../../../common/helpers/handle-shortcut-insert';\nimport {SignOffDialogComponent} from \"../signOffDIalogComponent/SignOffDialogComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {canDiscardNote, isFutureAppointment} from \"../../helpers/noteHelpers\";\nimport {SpecialtyTestsComponent} from \"../specialtyTestsComponent/SpecialtyTestsComponent\";\nimport moment from \"moment\";\n\nexport interface CreateHistoryAndPhysicalGroupVisitNoteComponentProps {\n patientId: number;\n handleGoBack: () => void;\n goBackTitle: string;\n note?: NoteModel;\n originalNote?: NoteModel;\n}\n\nconst mdmPatientTypes = new Map<MdmPatientType, string>()\n .set(MdmPatientType.Established, 'Established Patient')\n .set(MdmPatientType.New, 'New Patient');\n\nexport const CreateHistoryAndPhysicalGroupVisitNoteComponent: React.FC<CreateHistoryAndPhysicalGroupVisitNoteComponentProps> = (props: CreateHistoryAndPhysicalGroupVisitNoteComponentProps) => {\n const {\n patientId,\n handleGoBack,\n note,\n originalNote\n } = props;\n\n const classes = useStyles();\n\n const [\n state,\n handleExpandSection,\n handleTitleChanges,\n handleAppointmentDateChanges,\n handleChangeDuration,\n handleHpiChanges,\n handlePmhItemChanges,\n handleAddMedications,\n handleAddSupplements,\n handleFullscriptSupplements,\n handleEditMedications,\n handleEditSupplements,\n handleRemoveMedications,\n handleRemoveSupplements,\n handleMedicationStopped,\n handleSupplementStopped,\n handleEnableRos,\n handleRosChanges,\n handleDisableVitals,\n handleVitalsChanges,\n handlePhysicalExamChanges,\n handleMdmTextChange,\n handleMdmPatientTypeChange,\n handleCodeChange,\n handleCategoryChange,\n handleCategoryItemChange,\n handleModeChange,\n handleSpentTimeChanges,\n handleDiagnosisChanges,\n handlePlanTextChanges,\n handleLabTextChanges,\n handleGoalsChanges,\n handleTestChanges,\n handleEducationChanges,\n handleNextAppointmentDateChanges,\n handleSaveAndComplete,\n handleSaveAsDraft,\n handleSignOff,\n handleDiscard,\n getIcdCodesAutoComplete,\n refs,\n handleCoachOtherTextChanges,\n handleTextInfoChange,\n\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n getIcdCodesAutoPmhComplete,\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditItem,\n isCanCompleteNote,\n handleValidateGoals,\n editPmhState,\n handleHideApoe,\n handleSelectedSoursApoe,\n handleEditApoe,\n handleDateColonoscopyChanges,\n handleDatePsaChanges,\n ] = useFacade(patientId, handleGoBack, note, originalNote);\n\n const isLoading = (state.areAllergiesLoading && state.areQuestionnaireResultsLoading) || state.isNoteContentLoading || state.isCommonGoalLoading || state.isCommonMdmLoading || state.isCommonSupplementLoading || state.isCommonOrderLoading;\n\n const sectionsContent = {\n [NoteSections.PMH]:\n <PmhComponent\n patientId={patientId}\n data={state.content.PMH}\n dataNew={state.content.PMHnew}\n newVersion={state.content?.pmhVersion === NotePmhVersion.New}\n map={state.map}\n handleChangesOldPmh={handlePmhItemChanges}\n\n getIcdCodesAutoComplete={getIcdCodesAutoPmhComplete}\n handleToggleActions={handleToggleActions}\n handleEditRowValue={handleEditRowValue}\n handleEditRowName={handleEditRowName}\n handleAddNewRow={handleAddNewRow}\n handleDelete={handleDelete}\n handleEdit={handleEdit}\n handleBlur={handleBlur}\n saveValue={saveValue}\n handleAddInformation={handleAddInformation}\n handleEditNewItem={handleEditNewItem}\n handleSaveNewItem={handleSaveNewItem}\n handleEditItem={handleEditItem}\n state={editPmhState}\n handleHideApoe={handleHideApoe}\n handleSelectedSoursApoe={handleSelectedSoursApoe}\n handleEditApoe={handleEditApoe}\n handleDateColonoscopyChanges={handleDateColonoscopyChanges}\n handleDatePsaChanges={handleDatePsaChanges}\n />,\n [NoteSections.MedicationsAndSupplements]:\n <SupplementsMedicationsComponent\n patientId={patientId}\n noteType={NotesType.HistoryAndPhysicalInitial}\n medications={state.content.medicationsSupplements.medications}\n supplements={state.content.medicationsSupplements.supplements}\n rxntMedications={state.content.medicationsSupplements.rxntMedications}\n fullscriptSupplements={state.content.medicationsSupplements.fullscriptSupplements}\n handleAddMedications={handleAddMedications}\n handleAddSupplements={handleAddSupplements}\n handleFullscriptSupplements={handleFullscriptSupplements}\n handleEditMedications={handleEditMedications}\n handleEditSupplements={handleEditSupplements}\n handleRemoveMedications={handleRemoveMedications}\n handleRemoveSupplements={handleRemoveSupplements}\n handleMedicationStopped={handleMedicationStopped}\n handleSupplementStopped={handleSupplementStopped}\n />,\n [NoteSections.ROS]:\n <RosComponent\n errors={state.errors}\n variants={state.rosVariants}\n selectedVariants={state.content.ROS.rosValues}\n rosEnabled={state.content.ROS.rosEnabled}\n handleEnableRos={handleEnableRos}\n handleChanges={handleRosChanges}\n />,\n [NoteSections.Physical]:\n <PhysicalComponent\n errors={state.errors}\n title={noteSectionsNames[NoteSections.Physical]}\n data={state.content.physicalData}\n handleNumericChanges={handleVitalsChanges}\n handleDisableVitals={handleDisableVitals}\n handlePhysicalExamChanges={handlePhysicalExamChanges}\n />,\n [NoteSections.MDM]:\n <NoteMdmComponent\n error={state.errors['mdmData']}\n mdms={state.mdmCodes}\n mdmText={state.content.mdmData.mdmText}\n mdmPatientTypes={mdmPatientTypes}\n selectedMdmPatientType={state.content.mdmData.selectedMdmPatientType}\n selectedCodeId={state.content.mdmData.selectedCodeId}\n showCodeDescription={state.content.mdmData.showCodeDescription}\n selectedCategoryIds={state.content.mdmData.selectedCategoryIds ?? [state.content.mdmData.selectedCategoryId]}\n selectedCategoryItems={state.content.mdmData.selectedCategoryItems}\n selectedMode={state.content.mdmData.selectedMode}\n spentTime={state.content.mdmData.spentTime}\n appointmentDuration={state.note?.appointment?.duration ?? state.content.duration.value}\n handleMdmTextChange={handleMdmTextChange}\n handleMdmPatientTypeChange={handleMdmPatientTypeChange}\n handleCodeChange={handleCodeChange}\n handleCategoryChange={handleCategoryChange}\n handleCategoryItemChange={handleCategoryItemChange}\n handleModeChange={handleModeChange}\n handleSpentTimeChanges={handleSpentTimeChanges}\n />,\n [NoteSections.Diagnosis]:\n <DiagnosisComponent\n error={state.errors['diagnosis']}\n addText='Add Diagnosis'\n selectedDiagnosis={state.content.diagnosis}\n getAutoComplete={getIcdCodesAutoComplete}\n grid={6}\n dataKey='diagnosis'\n handleChanges={handleDiagnosisChanges}\n handleTextInfoChange={handleTextInfoChange}\n />,\n [NoteSections.Plan]:\n <NotePlanComponent\n patientId={patientId}\n notesType={NotesType.HistoryAndPhysicalInitial}\n data={state.content.plan}\n handleValidateGoals={handleValidateGoals}\n visitDate={state.appointmentDate}\n handlePlanTextChanges={handlePlanTextChanges}\n handleLabTextChanges={handleLabTextChanges}\n handleCoachOtherTextChanges={handleCoachOtherTextChanges}\n handleGoalsChanges={handleGoalsChanges}\n handleEducationChanges={handleEducationChanges}\n />,\n [NoteSections.SpecialTests]:\n <SpecialtyTestsComponent\n specialTests={state.content.specialTests ?? []}\n handleTestUpdates={handleTestChanges}\n />,\n [NoteSections.NextAppointment]:\n <NextAppointmentDateComponent\n note={state.note}\n noteType={NotesType.HistoryAndPhysicalInitial}\n patientId={props.patientId}\n appointments={[]}\n handleChanges={handleNextAppointmentDateChanges}\n />\n } as { [id: number]: JSX.Element }\n\n const renderSections = (): JSX.Element => {\n return (\n <>\n {\n Object.keys(sectionsContent).map(key => (\n <Box id={`history-and-physical-note-section-${key}`} mt={3}>\n <ExpandableComponent\n title={noteSectionsNames[key]}\n content={sectionsContent[key]}\n expanded={state.sections[key]}\n refCurrent={Array.from(refs.values()).find(x => x[1].toString() === key)?.[0]}\n handleExpand={() => handleExpandSection(+key)}\n />\n </Box>\n ))\n }\n </>\n );\n }\n\n const renderHpi = () => {\n return (\n <Box mt={3}>\n <Box ml={2}>\n <span className={classes.subTitle}>HPI</span>\n </Box>\n <Box my={1}>\n <Divider />\n </Box>\n <Box mt={3}>\n <TextFieldNoteComponent\n rows={3}\n id=\"hpi-notes\"\n title=''\n content={state.content.HPI}\n handleChanged={handleHpiChanges}\n handleKeyDown={handleShortcutInsert}\n />\n </Box>\n </Box>\n )\n }\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return <WildHealthLinearProgress />\n }\n\n return (\n <Box m={5}>\n <NoteGeneralInfoComponent\n name=\"History and Physical Group Visit\"\n patientId={patientId}\n note={state.note}\n duration={state.content.duration}\n visitDate={state.appointmentDate}\n title={state.title}\n selectedTargetType={state.selectedTargetType}\n handleTitleChanges={handleTitleChanges}\n handleAppointmentDateChanges={handleAppointmentDateChanges}\n handleAppointmentChanges={() => {}}\n handleChangeDuration={handleChangeDuration}\n classes={classes}\n />\n {\n renderHpi()\n }\n {\n renderSections()\n }\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(state.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n </Box>\n )\n }\n\n return (\n <Box>\n <Box className={classes.bgMain}>\n <BackTitleComponent\n title='Back to Notes'\n action={() => { handleGoBack() }}\n />\n </Box>\n {\n renderContent()\n }\n <SelectShortcutComponent />\n <SignOffDialogComponent/>\n </Box>\n );\n}\n","import {NoteModel, SectionType} from \"../../models/notes.models\";\nimport React from \"react\";\nimport {\n Box,\n Button,\n ButtonGroup,\n CircularProgress,\n Divider,\n FormControl,\n MenuItem,\n Select,\n useMediaQuery,\n useTheme\n} from \"@material-ui/core\";\nimport ArrowBackIosRoundedIcon from \"@material-ui/icons/ArrowBackIosRounded\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport moment from \"moment\";\nimport {useFacade} from \"./historyAndPhysicalGroupVisit.hooks\";\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport {\n getApoeInfo,\n IsSectionAmendHistoryAndPhysical,\n itemWithDescription,\n renderApoeSection,\n renderEducation,\n renderEmptyMedicationsAndSupplementsToStart,\n renderEmptyMedicationsAndSupplementsToStop,\n renderGoals,\n renderItemsSection,\n renderMdm,\n renderMedicationsAndSupplementsToStart,\n renderMedicationsAndSupplementsToStop,\n renderNextAppointmentDate,\n renderTextSection,\n renderVitals\n} from \"../../helpers/noteHelpers\";\nimport {TextMarkdownComponent} from \"../textMarkdownComponent/TextMarkdownComponent\";\nimport {NoteSignatureComponent} from \"../noteSignature/NoteSignatureComponent\";\nimport EditIcon from '@material-ui/icons/Edit';\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {WildHealthStatusLabel} from \"../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\nexport interface HistoryAndPhysicalGroupVisitNoteComponentProps {\n patientId: number;\n handleGoBack: () => void;\n goBackTitle: string;\n note: NoteModel;\n handleGoToEditNote: (note: NoteModel) => void;\n}\n\nexport const HistoryAndPhysicalGroupVisitNoteComponent: React.FC<HistoryAndPhysicalGroupVisitNoteComponentProps> = (props: HistoryAndPhysicalGroupVisitNoteComponentProps) => {\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const flags = useFlags();\n\n const {\n patientId,\n handleGoBack,\n goBackTitle,\n note,\n handleGoToEditNote\n } = props;\n\n const [\n {\n content,\n mdmCodes,\n internalContent,\n isPdfDownloading,\n isContentLoading,\n noteId,\n originalContent\n },\n handleDownloadPdf,\n handleChooseNote\n ] = useFacade(patientId, note);\n\n const renderTitle = () => {\n return <span>{note.name} - {moment(note.visitDate).format(\"ll\")}</span>\n }\n\n const handleEditNote = () => {\n confirmService.confirm('Are you sure?', 'Are you sure you wish to amend this note? All changes will be logged.')\n .subscribe(() => {\n handleGoToEditNote(note);\n });\n }\n\n const displayEditButton = () => {\n\n return (\n <Button id=\"edit_current_note\" onClick={() => handleEditNote()}>\n <Box display=\"flex\" alignItems=\"center\" mt={1}>\n <Box>\n <EditIcon />\n </Box>\n </Box>\n </Button>\n );\n }\n\n const displaySelectVersion = () => {\n if (note.amendedNotes?.length === 0 || note.amendedNotes == null || note.amendedNotes.every(x => x.completedAt === null)) {\n return\n }\n\n return (\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-start\" ml={2}>\n <Box pr={2}>\n <WildHealthStatusLabel color='normal'>Amended Note</WildHealthStatusLabel>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"choseNoteVersion\"\n value={noteId}\n onChange={(v) => handleChooseNote(v.target.value)}>\n <MenuItem key={0} value={note.id}>Original</MenuItem>\n {\n note.amendedNotes.filter(x => x.completedAt != null).map((note, i) => {\n return <MenuItem key={i + 1} value={note.id}>Amended - {moment(note.completedAt).format(\"MM/DD/YYYY\")}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n );\n }\n\n const displayDownloadPdfButton = () => {\n if (isPdfDownloading === true) {\n return (\n <Button>\n <Box width=\"70px\" display=\"flex\" justifyContent=\"center\">\n <CircularProgress size={24} className={commonClasses.colorMain} />\n </Box>\n </Button >\n )\n }\n return (\n <Button id=\"initial-consult-download-pdf\" onClick={() => {\n handleDownloadPdf(note, content);\n }}>\n <Box display=\"flex\" alignItems=\"center\" mt={1}>\n <Box>\n <GetAppIcon />\n </Box>\n <Box mt={-1}>\n PDF\n </Box>\n </Box>\n </Button>);\n }\n\n const renderPlan = () => {\n return (\n <Box>\n <span className={isSmallScreen ? commonClasses.mediumTitle : commonClasses.secondaryTitle}>\n Plan\n </span>\n <Box py={2}>\n <Divider />\n </Box>\n <span style={{ whiteSpace: 'pre-line' }} className={isSmallScreen ? commonClasses.smallTitle : commonClasses.subtitle}>\n {internalContent.plan?.planText\n ? <TextMarkdownComponent content={internalContent.plan?.planText} />\n\n : 'These are our main recommendations from this visit. These should be your primary focus.'\n }\n </span>\n </Box>\n )\n }\n\n const isSomeSectionWasUpdated = () => {\n const sectionForChecking = [\n SectionType.Hpi,\n SectionType.PMH,\n SectionType.Diagnosis,\n SectionType.Physical,\n SectionType.Plan,\n SectionType.MedicationAndSupplements,\n SectionType.Mdm,\n SectionType.Ros,\n ];\n\n return sectionForChecking.some(el => IsSectionAmendHistoryAndPhysical(originalContent, internalContent, el))\n }\n\n const renderNoteContent = (): JSX.Element => {\n return (\n <Box p={!isSmallScreen && 1.8}>\n <Box>\n <Box>\n {\n renderPlan()\n }\n </Box>\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n internalContent.plan.dietGoals?.length > 0 &&\n <Box>\n {\n renderGoals('Diet', internalContent.plan.dietGoals, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.plan.dietEducations?.length > 0 &&\n <Box>\n {\n renderEducation(internalContent.plan.dietEducations, commonClasses)\n }\n </Box>\n }\n {\n internalContent.plan.exerciseGoals?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderGoals('Exercise/Recovery', internalContent.plan.exerciseGoals, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.plan.exerciseEducations?.length > 0 &&\n <Box>\n {\n renderEducation(internalContent.plan.exerciseEducations, commonClasses)\n }\n </Box>\n }\n {\n internalContent.plan.sleepGoals?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderGoals('Sleep', internalContent.plan.sleepGoals, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.plan.sleepEducations?.length > 0 &&\n <Box>\n {\n renderEducation(internalContent.plan.sleepEducations, commonClasses)\n }\n </Box>\n }\n {\n internalContent.plan.neuroGoals?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderGoals('Neuro', internalContent.plan.neuroGoals, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.plan.neuroEducations?.length > 0 &&\n <Box>\n {\n renderEducation(internalContent.plan.neuroEducations, commonClasses)\n }\n </Box>\n }\n {\n internalContent.plan.longevityGoals?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderGoals('Longevity', internalContent.plan.longevityGoals, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.plan.longevityEducations?.length > 0 &&\n <Box>\n {\n renderEducation(internalContent.plan.longevityEducations, commonClasses)\n }\n </Box>\n }\n {\n internalContent.plan.mindfulnessGoals?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderGoals('Mindfulness', internalContent.plan.mindfulnessGoals, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.plan.mindfulnessEducations?.length > 0 &&\n <Box>\n {\n renderEducation(internalContent.plan.mindfulnessEducations, commonClasses)\n }\n </Box>\n }\n {\n internalContent.plan.coachOtherText?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderTextSection('Other', internalContent.plan.coachOtherText, commonClasses, false)\n }\n </Box>\n }\n </Box>\n {\n internalContent.plan.labsText?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderTextSection('Labs', internalContent.plan.labsText, commonClasses, false)\n }\n </Box>\n }\n {\n internalContent.diagnosis?.length > 0 &&\n <Box mt={4}>\n {\n renderItemsSection('Diagnosis', internalContent.diagnosis.map(x => {\n return x.additionalInformation\n ? x.code + \" \" + x.description + ' - ' + x.additionalInformation\n : x.code + \" \" + x.description\n }), commonClasses, isSmallScreen, true, '', true)\n }\n </Box>\n }\n {\n internalContent.chiefComplaint?.length > 0 &&\n <Box mt={4}>\n {\n renderTextSection('Chief Complaint', internalContent.chiefComplaint, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n internalContent.HPI?.length > 0 &&\n <Box mt={4}>\n {\n renderTextSection('HPI', internalContent.HPI, commonClasses, isSmallScreen)\n }\n </Box>\n }\n <Box mt={4}>\n <Box>\n <span className={commonClasses.secondaryTitle}>\n PMH\n </span>\n <Box py={2}>\n <Divider />\n </Box>\n {internalContent?.pmhVersion\n ? <>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n {\n internalContent.PMHnew?.allergies?.length > 0 &&\n renderItemsSection('Allergies', internalContent.PMHnew.allergies.map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false,)\n }\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n {\n internalContent.PMHnew?.rxntAllergies?.length > 0 &&\n renderItemsSection('Allergies', internalContent.PMHnew.rxntAllergies?.map(el => el.description.length ? `${el.name} - ${el.description}` : el.name) ?? [], commonClasses, isSmallScreen, false, '', false,)\n }\n </FeatureComponent>\n {\n internalContent.PMHnew?.allergies?.length > 0 &&\n <Box>\n <FeatureComponent notFeatureFlag={FeatureFlag.RxntIntegration}>\n {\n renderItemsSection('Allergies', internalContent.PMHnew.allergies.map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false,)\n }\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.RxntIntegration}>\n {\n renderItemsSection('Allergies', internalContent.PMHnew.rxntAllergies?.map(el => el.description.length ? `${el.name} - ${el.description}` : el.name) ?? [], commonClasses, isSmallScreen, false, '', false,)\n }\n </FeatureComponent>\n </Box>\n }\n {\n internalContent.PMHnew?.currentMedicalConditions?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Problem List', internalContent.PMHnew.currentMedicalConditions.map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false,)\n }\n </Box>\n }\n {\n internalContent.PMHnew?.famHX?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Fam HX', internalContent.PMHnew.famHX.map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false,)\n }\n </Box>\n }\n {\n internalContent.PMHnew?.screeningHealthMaintenanceApoe ?\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderApoeSection(internalContent.PMHnew.screeningHealthMaintenanceApoe)\n }\n </Box>\n : internalContent.PMHnew?.screeningHealthMaintenance?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Screening/Health Maintenance', internalContent.PMHnew.screeningHealthMaintenance.filter(el => !el.key.includes('APOE')).map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false, getApoeInfo(internalContent.PMHnew.screeningHealthMaintenance))\n }\n </Box>\n }\n {\n internalContent.PMHnew?.surgicalHX?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Surgical HX', internalContent.PMHnew.surgicalHX.map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false,)\n }\n </Box>\n }\n {\n [...internalContent.PMHnew?.socialHX, ...internalContent.PMHnew?.lifestyleHX]?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Social/Lifestyle HX', [...internalContent.PMHnew.socialHX, ...internalContent.PMHnew.lifestyleHX].map(el => itemWithDescription(el)), commonClasses, isSmallScreen, false, '', false,)\n }\n </Box>\n }\n </>\n : <>\n {\n internalContent.PMH?.allergies?.length > 0 &&\n <Box>\n {\n renderItemsSection('Allergies', internalContent.PMH.allergies, commonClasses, isSmallScreen, false)\n }\n </Box>\n }\n {\n internalContent.PMH?.currentMedicalConditions?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Problem List', internalContent.PMH.currentMedicalConditions, commonClasses, isSmallScreen, false)\n }\n </Box>\n }\n {\n internalContent.PMH?.famHX?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Fam HX', internalContent.PMH.famHX, commonClasses, isSmallScreen, false)\n }\n </Box>\n }\n {\n internalContent.PMH?.screeningHealthMaintenance?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Screening/Health Maintenance', internalContent.PMH.screeningHealthMaintenance, commonClasses, isSmallScreen, false)\n }\n </Box>\n }\n {\n internalContent.PMH?.surgicalHX?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Surgical HX', internalContent.PMH.surgicalHX, commonClasses, isSmallScreen, false)\n }\n </Box>\n }\n {\n internalContent.PMH?.socialLifestyleHX?.length > 0 &&\n <Box mt={isSmallScreen ? \"20px\" : 4}>\n {\n renderItemsSection('Social/Lifestyle HX', internalContent.PMH.socialLifestyleHX, commonClasses, isSmallScreen, false)\n }\n </Box>\n }\n </>\n }\n </Box>\n </Box>\n {\n internalContent?.ROS?.rosEnabled &&\n <Box mt={4}>\n {\n renderItemsSection('ROS', internalContent.ROS.rosValues, commonClasses, isSmallScreen, true, internalContent.ROS.rosValues.length > 0 ? 'All systems reviewed and negative except:' : \"All systems reviewed and negative\")\n }\n </Box>\n }\n {\n (internalContent.medicationsSupplements.supplements.filter(x => !x.isInCurrent).length > 0 ||\n internalContent.medicationsSupplements.medications.filter(x => !x.isInCurrent).length > 0 ||\n internalContent.medicationsSupplements.rxntMedications?.filter(x => !x.isInCurrent).length > 0 ||\n internalContent.medicationsSupplements.fullscriptSupplements?.length > 0) &&\n <Box mt={4}>\n {\n renderMedicationsAndSupplementsToStart(internalContent.medicationsSupplements, commonClasses, flags)\n }\n </Box>\n }\n {\n (internalContent.medicationsSupplements.supplements.filter(x => !x.isInCurrent).length <= 0 &&\n internalContent.medicationsSupplements.medications.filter(x => !x.isInCurrent).length <= 0 &&\n internalContent.medicationsSupplements.rxntMedications?.filter(x => !x.isInCurrent).length <= 0 &&\n internalContent.medicationsSupplements.fullscriptSupplements?.length <= 0) &&\n <Box mt={4}>\n {\n renderEmptyMedicationsAndSupplementsToStart(commonClasses)\n }\n </Box>\n }\n {\n (internalContent.medicationsSupplements.supplements.filter(x => x.isStopped).length > 0 ||\n internalContent.medicationsSupplements.rxntMedications?.filter(x => x.isStopped).length > 0 ||\n internalContent.medicationsSupplements.medications.filter(x => x.isStopped).length > 0) &&\n <Box mt={4}>\n {\n renderMedicationsAndSupplementsToStop(internalContent.medicationsSupplements, commonClasses, flags)\n }\n </Box>\n }\n {\n (internalContent.medicationsSupplements.supplements.filter(x => x.isStopped).length <= 0 &&\n internalContent.medicationsSupplements.rxntMedications?.filter(x => x.isStopped).length <= 0 &&\n internalContent.medicationsSupplements.medications.filter(x => x.isStopped).length <= 0) &&\n <Box mt={4}>\n {\n renderEmptyMedicationsAndSupplementsToStop(commonClasses)\n }\n </Box>\n }\n <Box mt={4}>\n {\n renderVitals(internalContent.physicalData, commonClasses, isSmallScreen)\n }\n </Box>\n {\n internalContent.mdmData.selectedCodeId &&\n <Box mt={4}>\n {\n renderMdm(internalContent.mdmData, mdmCodes, commonClasses, internalContent.duration?.value)\n }\n </Box>\n }\n {\n note.nextCoachAppointmentDate && note.nextProviderAppointmentDate &&\n <Box pt={4}>\n {\n renderNextAppointmentDate(note.nextCoachAppointmentDate, note.nextProviderAppointmentDate, commonClasses, isSmallScreen)\n }\n </Box>\n }\n {\n originalContent && internalContent &&\n (\n <Box mt={3}>\n <Box py={2}>\n <Divider />\n </Box>\n {\n isSomeSectionWasUpdated() &&\n <Box pb={1} className={commonClasses.textBold}>Amended areas in this note:</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.Hpi) &&\n <Box>HPI was updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.PMH) &&\n <Box>PMH was updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.Diagnosis) &&\n <Box>Diagnosis was updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.Physical) &&\n <Box>Physical was updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.Plan) &&\n <Box>Plan was updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.MedicationAndSupplements) &&\n <Box>Medication And Supplements were updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.Mdm) &&\n <Box>Mdm data was updated.</Box>\n }\n {\n IsSectionAmendHistoryAndPhysical(originalContent, internalContent, SectionType.Ros) &&\n <Box>ROS was updated.</Box>\n }\n </Box>\n )\n }\n <Box mt={4}>\n <NoteSignatureComponent note={note} noteId={noteId} />\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box m={5} mt={0} pt={3}>\n <Box display=\"flex \" alignItems=\"center\" justifyContent='space-between'>\n <ButtonGroup size=\"large\" variant=\"text\" color=\"default\" aria-label=\"large outlined primary button group\">\n <Button\n id=\"initial-consult-to-notes\"\n onClick={() => handleGoBack()}\n startIcon={<ArrowBackIosRoundedIcon />}\n >\n {goBackTitle}\n </Button>\n <Button disabled>\n {\n isContentLoading\n ? 'Loading . . .'\n : renderTitle()\n }\n </Button>\n {\n displaySelectVersion()\n }\n </ButtonGroup>\n <Box display=\"flex \" alignItems=\"center\">\n {\n displayEditButton()\n }\n {\n displayDownloadPdfButton()\n }\n </Box>\n </Box>\n\n <Box mt={5}>\n <Box mt={5}>\n {\n (isContentLoading || !internalContent?.plan)\n ? <WildHealthLinearProgress />\n : renderNoteContent()\n }\n </Box>\n </Box>\n </Box>\n );\n}","import {\n HealthLogQuestionNames,\n InitialQuestionNames,\n QuestionnaireSection,\n QuestionType\n} from '../../questionnaire/models/questionnaire.models';\nimport {Gender} from \"../../common/models/user.models\";\n\nexport class InitialConsultNames {\n static readonly TOP_3_HEALTH_PRIORITIES: string = 'TOP_3_HEALTH_PRIORITIES';\n static readonly CURRENT_MEDICAL_CONDITIONS: string = 'CURRENT_MEDICAL_CONDITIONS';\n static readonly HEALTH_FEARS: string = 'HEALTH_FEARS';\n static readonly SPECIFIC_DIET: string = 'SPECIFIC_DIET';\n\n static readonly MEAL_CONSUMING_TIME_1: string = 'MEAL_CONSUMING_TIME_1';\n static readonly MEAL_CONSUMING_TYPE_1: string = 'MEAL_CONSUMING_TYPE_1';\n static readonly MEAL_CONSUMING_TIME_2: string = 'MEAL_CONSUMING_TIME_2';\n static readonly MEAL_CONSUMING_TYPE_2: string = 'MEAL_CONSUMING_TYPE_2';\n static readonly MEAL_CONSUMING_TIME_3: string = 'MEAL_CONSUMING_TIME_3';\n static readonly MEAL_CONSUMING_TYPE_3: string = 'MEAL_CONSUMING_TYPE_3';\n static readonly LIST_OF_SNACKS: string = 'LIST_OF_SNACKS';\n static readonly STOP_CONSUMING_FOOD: string = 'STOP_CONSUMING_FOOD';\n\n static readonly EXERCISE_FREQUENCY: string = 'EXERCISE_FREQUENCY';\n static readonly AVAILABLE_EQUIPMENT: string = 'AVAILABLE_EQUIPMENT';\n static readonly EXERCISE_TYPES: string = 'EXERCISE_TYPES';\n\n static readonly ACTIVITIES_BEFORE_SLEEP: string = 'ACTIVITIES_BEFORE_SLEEP';\n static readonly FALL_ASLEEP_TIME: string = 'FALL_ASLEEP_TIME';\n static readonly WAKE_UP_TIME: string = 'WAKE_UP_TIME';\n static readonly USE_ALARM_CLOCK: string = 'USE_ALARM_CLOCK';\n static readonly FEEL_RESTED: string = 'FEEL_RESTED';\n}\n\nexport interface NoteRecommendation {\n type: NoteRecommendationTypes;\n isSelected: boolean;\n name: string;\n content: string;\n}\n\nexport enum NoteRecommendationTypes {\n Supplements,\n Nutrition,\n Exercise,\n SleepOrMindfulnessOrBreathwork\n}\n\nexport const CheckManyToTextField = [\n InitialConsultNames.CURRENT_MEDICAL_CONDITIONS,\n InitialConsultNames.AVAILABLE_EQUIPMENT,\n InitialConsultNames.EXERCISE_TYPES,\n]\n\nexport interface KeyMap {\n Key1: string;\n Key2: string;\n}\n\nexport const InitialConsultToInitialQuestionNamesMap: KeyMap[] = [\n { Key1: InitialQuestionNames.HEALTH_PRIORITY, Key2: InitialConsultNames.TOP_3_HEALTH_PRIORITIES},\n { Key1: InitialQuestionNames.MEDICAL_CONDITIONS, Key2: InitialConsultNames.CURRENT_MEDICAL_CONDITIONS},\n { Key1: InitialQuestionNames.HEALTH_FEARS, Key2: InitialConsultNames.HEALTH_FEARS},\n { Key1: InitialQuestionNames.SPECIFIC_DIET, Key2: InitialConsultNames.SPECIFIC_DIET},\n { Key1: InitialQuestionNames.EXERCISE_PROGRAM_FOR, Key2: InitialConsultNames.AVAILABLE_EQUIPMENT},\n { Key1: InitialQuestionNames.EXERCISE_TYPE, Key2: InitialConsultNames.EXERCISE_TYPES },\n { Key1: InitialQuestionNames.STOP_CONSUMING_FOOD, Key2: InitialConsultNames.STOP_CONSUMING_FOOD },\n];\n\nexport const InitialConsultToHealthLogQuestionNamesMap: KeyMap[] = [\n { Key1: HealthLogQuestionNames.FIRST_MEAL, Key2: InitialConsultNames.MEAL_CONSUMING_TYPE_1 },\n { Key1: HealthLogQuestionNames.FIRST_MEAL_TIME, Key2: InitialConsultNames.MEAL_CONSUMING_TIME_1 },\n { Key1: HealthLogQuestionNames.SECOND_MEAL, Key2: InitialConsultNames.MEAL_CONSUMING_TYPE_2 },\n { Key1: HealthLogQuestionNames.SECOND_MEAL_TIME, Key2: InitialConsultNames.MEAL_CONSUMING_TIME_2 },\n { Key1: HealthLogQuestionNames.LAST_MEAL, Key2: InitialConsultNames.MEAL_CONSUMING_TYPE_3 },\n { Key1: HealthLogQuestionNames.LAST_MEAL_TIME, Key2: InitialConsultNames.MEAL_CONSUMING_TIME_3 },\n { Key1: HealthLogQuestionNames.LIST_OF_SNACKS, Key2: InitialConsultNames.LIST_OF_SNACKS },\n { Key1: HealthLogQuestionNames.WEEKS_EXERCISE, Key2: InitialConsultNames.EXERCISE_FREQUENCY },\n { Key1: HealthLogQuestionNames.ACTIVITIES_LIST, Key2: InitialConsultNames.ACTIVITIES_BEFORE_SLEEP },\n { Key1: HealthLogQuestionNames.FALL_ASLEEP_TIME, Key2: InitialConsultNames.FALL_ASLEEP_TIME },\n { Key1: HealthLogQuestionNames.WAKE_UP_TIME, Key2: InitialConsultNames.WAKE_UP_TIME },\n { Key1: HealthLogQuestionNames.WAKE_UP_WITH_ALARM, Key2: InitialConsultNames.USE_ALARM_CLOCK },\n { Key1: HealthLogQuestionNames.FEEL_IN_THE_MORNING, Key2: InitialConsultNames.FEEL_RESTED },\n];\n\nexport function getInitQuestionnaires(): QuestionnaireSection[] {\n return [\n {\n name: 'General',\n questions: [\n {\n name: InitialConsultNames.TOP_3_HEALTH_PRIORITIES,\n questionSubject: '',\n displayName: 'What are your top 3 health priorities?',\n description: '',\n type: QuestionType.CheckMany,\n allowOther: true,\n variants: [\n 'Health Optimization',\n 'Longevity and Healthy Aging' ,\n 'Disease Treatment and Prevention',\n 'Mental Cognition and Brain Health',\n 'Sport and Athletic Performance',\n 'Diet and Nutrition Optimization',\n 'Improving Sleep and Proper Recovery',\n 'Specific Medical Concern',\n ],\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.CURRENT_MEDICAL_CONDITIONS,\n questionSubject: '',\n displayName: 'Do you have any current medical conditions?',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.HEALTH_FEARS,\n questionSubject: '',\n displayName: 'Do you have any fears or specific concerns about your health?',\n description: '',\n type: QuestionType.CheckMany,\n allowOther: true,\n variants: [\n 'Heart Health',\n 'Brain Health',\n 'Cancer',\n 'No',\n ],\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.SPECIFIC_DIET,\n questionSubject: '',\n displayName: 'Are you on a specific kind of diet?',\n description: '',\n type: QuestionType.SelectOne,\n variants: [\n 'None',\n 'No Preference',\n 'Vegan',\n 'Vegetarian',\n 'Pescatarian',\n 'Mediterranean',\n 'Whole Food Plant Based',\n 'Gluten Free',\n 'Paleo',\n 'Keto',\n ],\n default: 'None',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n ]\n },\n {\n name: 'Nutrition',\n questions: [\n {\n name: InitialConsultNames.MEAL_CONSUMING_TIME_1,\n questionSubject: '',\n displayName: 'When did you eat your first meal?',\n description: '',\n type: QuestionType.TimeInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.MEAL_CONSUMING_TYPE_1,\n questionSubject: '',\n displayName: 'What did you eat?',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.MEAL_CONSUMING_TIME_2,\n questionSubject: '',\n displayName: 'When did you eat your next meal?',\n description: '',\n type: QuestionType.TimeInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.MEAL_CONSUMING_TYPE_2,\n questionSubject: '',\n displayName: 'What did you eat?',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.MEAL_CONSUMING_TIME_3,\n questionSubject: '',\n displayName: 'When did you eat your next meal?',\n description: '',\n type: QuestionType.TimeInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.MEAL_CONSUMING_TYPE_3,\n questionSubject: '',\n displayName: 'What did you eat?',\n description: '',\n type: QuestionType.TextInput,\n default:'',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.LIST_OF_SNACKS,\n questionSubject: '',\n displayName: 'List any snacks you typically have throughout the day:',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.STOP_CONSUMING_FOOD,\n questionSubject: '',\n displayName: 'What time do you usually stop consuming any food for the day?',\n description: '',\n type: QuestionType.TimeInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n ]\n },\n {\n name: 'Exercise',\n questions: [\n {\n name: InitialConsultNames.EXERCISE_FREQUENCY,\n questionSubject: '',\n displayName: 'On average, how many days per week are you sticking to your current exercise plan?',\n description: '',\n variants: ['0', '1', '2', '3', '4', '5', '6', '7'],\n type: QuestionType.SelectOne,\n default: '0',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.AVAILABLE_EQUIPMENT,\n questionSubject: '',\n displayName: 'What type of equipment do you have available?',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.EXERCISE_TYPES,\n questionSubject: '',\n displayName: 'What type of exercises are you familiar with?',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n ]\n },\n {\n name: 'Sleep',\n questions: [\n {\n name: InitialConsultNames.ACTIVITIES_BEFORE_SLEEP,\n questionSubject: '',\n displayName: 'List the activities you perform during the last hour before falling asleep for the night.',\n description: '',\n type: QuestionType.TextInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.FALL_ASLEEP_TIME,\n questionSubject: '',\n displayName: 'What time are you typically in bed trying to fall asleep for the night?',\n description: '',\n type: QuestionType.TimeInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.WAKE_UP_TIME,\n questionSubject: '',\n displayName: 'What time do you usually wake up?',\n description: '',\n type: QuestionType.TimeInput,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.USE_ALARM_CLOCK,\n questionSubject: '',\n displayName: 'Do you typically wake up with an alarm clock or not?',\n description: '',\n variants: ['Yes', 'No'],\n type: QuestionType.SelectOne,\n default: '',\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n },\n {\n name: InitialConsultNames.FEEL_RESTED,\n questionSubject: '',\n displayName: 'On a scale of 0-10, how rested/ready to take on the day do you feel when you wake up?',\n description: '',\n type: QuestionType.SelectOne,\n default: '0',\n variants: ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', '10'],\n childrenNames: [],\n parentAnswers: [],\n gender: Gender.None\n }\n ]\n },\n ];\n}\n\nexport const initRecommendations: NoteRecommendation[] = [\n {\n type: NoteRecommendationTypes.Supplements,\n isSelected: false,\n name: 'Supplements',\n content: \"We could guess on the best supplements/diet/etc., but then we would be practicing just like the broken medical system based on statistics and epidemiology. We don't want to tell you what is best for most people. We want to tell you what is best for YOU. We'll be able to do that as soon as we have your DNA and labs back and are able to put them in our machine learning based algorithms.\",\n },\n {\n type: NoteRecommendationTypes.Nutrition,\n isSelected: false,\n name: 'Nutrition',\n content: \"A great place to start is Michael Pollan's recommendation in The Omnivore's Dilemma: Eat Food, mostly plants, not too much. And you can probably take out the 'mostly plants' part until we have your DNA/labs. For now, eat food, not too much. And we should define food. If your great-great grandmother wouldn't have recognized it as food 100 years ago, then it's not food. \\n\\nThere are important genetic and lab markers that determine how sensitive you are to things like saturated fat and how well you absorb vitamins and minerals. Some individuals tolerate a better high fat diet while others are predisposed to better health with a higher carbohydrate diet. Our genetic algorithm uses polygenic risk scores to help us design a diet plan just for you! Once we have your DNA/labs back then we're going to be able to get very specific with you about exact foods and categories of food. We'll even identify superfoods and kryptonite foods for you. We'll also talk about timing and when you should eat based on your DNA/Labs/Lifestyle.\\n\\nFor now, choose healthy snack replacements. Examples include raw veggies/hummus, raw almonds, low glycemic fruit (berries).\",\n },\n {\n type: NoteRecommendationTypes.Exercise,\n isSelected: false,\n name: 'Exercise',\n content: \"Exercise is very important for our physical and psychological well-being. Moving frequently throughout the day is just as important as intense exercise. By evaluating your genetic profile we are able to use polygenic scores to determine whether you will respond better to strength or endurance. We can also evaluate your rate of recovery and personalized nutrients that may aid in recovery. If you're not exercising at all right now, then start by walking. We'll get much more specific with you once we have your data, but for now just move often, track your exercise, and pay attention to what hurts and what feels good so we can discuss and create a truly personalized plan.\",\n },\n {\n type: NoteRecommendationTypes.SleepOrMindfulnessOrBreathwork,\n isSelected: false,\n name: 'Sleep/Mindfulness/Breathwork',\n content: \"Book recommendation: Why We Sleep by Matthew Walker [LINK](https://www.amazon.com/Why-We-Sleep-Unlocking-Dreams/dp/1501144324/ref=asc_df_1501144324/?tag=hyprod-20&linkCode=df0&hvadid=312049124368&hvpos=&hvnetw=g&hvrand=15779005785335573933&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9014313&hvtargid=pla-542231888375&psc=1&tag=&ref=&adgrpid=61851652213&hvpone=&hvptwo=&hvadid=312049124368&hvpos=&hvnetw=g&hvrand=15779005785335573933&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9014313&hvtargid=pla-542231888375).\\n\\nDevice: Oura ring, we can use the Oura cloud service to remotely track your sleep. Using N of 1 experiments we are able to make improvements in your sleep quality.\\n\\nMeditation Apps: Calm, Headspace.\\n\\nBreath Work Apps: Oak, Breathe.\\n\\nBreath work practice: 4-7-8 breathing 4 rounds 3 times per day.\",\n },\n];","import {\n downloadNoteOptions,\n HistoryAndPhysicalContent,\n MdmModel,\n NoteContentModel,\n NoteModel\n} from \"../../models/notes.models\";\nimport { useEffect, useState } from \"react\";\nimport { historyAndPhysicalPdfService } from \"../../services/notes-pdf.service\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { notesQuery, notesStore } from \"../../stores/notes\";\nimport { notesService } from \"../../services/notes.service\";\nimport { mdmCodesService } from \"../../services/mdmCodes.service\";\nimport { GenerateAmendedChangesForHistoryAndPhysical, GetMaximumVersionOfNote } from \"../../helpers/noteHelpers\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\n\ninterface HistoryAndPhysicalGroupVisitComponentState {\n note: NoteModel;\n mdmCodes: MdmModel[];\n content: NoteContentModel;\n internalContent: HistoryAndPhysicalContent;\n isPdfDownloading: boolean;\n isContentLoading: boolean;\n originalContent: HistoryAndPhysicalContent;\n noteId: number;\n}\n\nexport function useFacade(patientId: number, note: NoteModel): [HistoryAndPhysicalGroupVisitComponentState, Function, Function] {\n const [state, setState] = useState({\n note: note,\n mdmCodes: [],\n content: null,\n internalContent: null,\n isPdfDownloading: false,\n isContentLoading: true,\n noteId: GetMaximumVersionOfNote(note).id,\n originalContent: null\n });\n\n const handleDownloadPdf = (note: NoteModel, content: NoteContentModel) => {\n const cb = () => setState({ ...state, isPdfDownloading: false });\n confirmService.confirmAndSelectedNoteViewType(\n 'Select the view type of the note',\n downloadNoteOptions,\n ).subscribe(\n (type) => {\n const isEmployeeView = type === UserType.Employee\n setState({\n ...state,\n isPdfDownloading: true\n });\n\n notesService.downloadNote(state.noteId, note.name, isEmployeeView).subscribe(\n cb,\n () => {\n historyAndPhysicalPdfService.downloadNotePdf(note, JSON.parse(content.content), isEmployeeView, state.noteId, GenerateAmendedChangesForHistoryAndPhysical(state.originalContent, state.internalContent)).subscribe(cb, cb);\n }\n )\n\n },\n () => { }\n ); \n }\n\n const handleChooseNote = (noteIdNew: number) => {\n setState(state => ({\n ...state,\n noteId: noteIdNew,\n isContentLoading: true\n }));\n \n notesService.getContentByEmployee(noteIdNew, patientId).subscribe(\n () => {\n setState(state => ({\n ...state,\n isContentLoading: false\n }))\n }\n );\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<NoteContentModel>(notesQuery.targetContent$, targetContent => {\n if (targetContent) {\n if(targetContent.noteId === state.note?.id){\n setState(state => ({\n ...state,\n content: targetContent,\n originalContent: JSON.parse(targetContent.content),\n internalContent: JSON.parse(targetContent.content),\n isContentLoading: false,\n }));\n } else {\n setState(state => ({\n ...state,\n content: targetContent,\n internalContent: JSON.parse(targetContent.content),\n isContentLoading: false,\n }));\n }\n }\n })\n ];\n\n notesService.getContentByEmployee(GetMaximumVersionOfNote(note).id, patientId).subscribe(\n () => {\n if (note?.id !== GetMaximumVersionOfNote(note).id) {\n notesService.getContentByEmployee(note.id, patientId, true).subscribe(\n (originalNoteContent) => {\n setState(state => ({\n ...state,\n originalContent: JSON.parse(originalNoteContent.content),\n }))\n }\n );\n }\n }\n );\n\n mdmCodesService.get(note.type).subscribe(codes => {\n setState(state => ({ ...state, mdmCodes: codes }))\n })\n\n return () => {\n notesStore.resetTargetContent()\n subscriptions.map(it => it.unsubscribe())\n };\n }, [note, patientId]);\n\n return [state, handleDownloadPdf, handleChooseNote];\n}","import { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { Checkbox, FormControlLabel, Slider } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontWeight: 500,\n },\n titleInfo: {\n color: colors.gray1,\n },\n hint: {\n fontSize: 14,\n color: colors.gray1\n }\n })\n);\n\nexport const CheckboxQuestionaris = withStyles((theme: Theme) => ({\n root: {\n color: colors.white,\n '&.Mui-checked': {\n color: colors.main,\n },\n '&:hover': {\n background: 'transparent',\n },\n\n },\n}))(Checkbox);\n\nexport const FormControlLabelQuestionaris = withStyles((theme: Theme) => ({\n root: {\n border: `1px solid ${colors.stroke}`,\n boxSizing: 'border-box',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n borderRadius: 2,\n height: 54,\n width: '100%',\n justifyContent: 'space-between',\n flexDirection: 'row-reverse',\n paddingLeft: 22,\n paddingRight: 4,\n marginLeft: 0,\n marginRight: 0,\n '&.checked': {\n border: `1px solid ${colors.main}`,\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n background: colors.lightGray,\n },\n },\n label: {\n [theme.breakpoints.down(\"xs\")]: {\n wordBreak: \"break-word !important\",\n },\n }\n}))(FormControlLabel);\n\nexport const FormControlLabelChecboxQuestionaris = withStyles((theme: Theme) => ({\n root: {\n display: 'revert',\n },\n}))(FormControlLabel);\n\nconst iOSBoxShadow =\n '0 3px 1px rgba(0,0,0,0.1),0 4px 8px rgba(0,0,0,0.13),0 0 0 1px rgba(0,0,0,0.02)';\n\nexport const IOSSlider = withStyles({\n root: {\n color: colors.stroke,\n height: 2,\n padding: '15px 0',\n marginTop: 16,\n },\n thumb: {\n height: 28,\n width: 28,\n backgroundColor: '#fff',\n boxShadow: iOSBoxShadow,\n marginTop: -14,\n marginLeft: -14,\n '&:focus, &:hover, &$active': {\n boxShadow: '0 3px 1px rgba(0,0,0,0.1),0 4px 8px rgba(0,0,0,0.3),0 0 0 1px rgba(0,0,0,0.02)',\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n boxShadow: iOSBoxShadow,\n },\n },\n },\n active: {},\n valueLabel: {\n fontSize: 18,\n fontWeight: 500,\n color: colors.black,\n left: 'calc(-50% + 12px)',\n top: -22,\n '& *': {\n background: 'transparent',\n color: '#000',\n },\n },\n track: {\n height: 2,\n },\n rail: {\n height: 2,\n opacity: 0.5,\n backgroundColor: colors.stroke,\n },\n mark: {\n backgroundColor: '#bfbfbf',\n height: 8,\n width: 1,\n marginTop: -3,\n },\n markActive: {\n opacity: 1,\n backgroundColor: 'currentColor',\n },\n})(Slider);","import React from 'react';\nimport { Box, FormControl, Grid, FormGroup, FormHelperText, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\nimport { CheckAnswer, emptyCheckAnswer } from \"../../models/questionnaire.models\";\nimport { CheckboxQuestionaris, FormControlLabelQuestionaris } from \"./questionnaire.styles\";\nimport CheckIcon from '@material-ui/icons/Check';\n\nexport const QuestionCheckComponentCastom: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n let checkAnswer: CheckAnswer;\n\n const deselectKeys = ['None', 'No', 'None of the above']\n\n try {\n checkAnswer = JSON.parse(answer);\n if (!checkAnswer) {\n checkAnswer = emptyCheckAnswer();\n }\n } catch (e) {\n checkAnswer = emptyCheckAnswer();\n }\n\n const isChecked = (variant: string) => {\n return checkAnswer.v.includes(variant);\n }\n\n const wrapResult = () => {\n return JSON.stringify(checkAnswer);\n }\n\n const handleCheck = (variant: string) => {\n if (deselectKeys.some(x => x === variant)) {\n checkAnswer.v = [];\n } else {\n checkAnswer.v = checkAnswer.v.filter(v => !deselectKeys.some(x => x === v));\n }\n\n isChecked(variant)\n ? checkAnswer.v.splice(checkAnswer.v.indexOf(variant), 1)\n : checkAnswer.v.push(variant);\n\n if (!checkAnswer.v.length) {\n handleChanges(null);\n return;\n }\n\n handleChanges(wrapResult());\n }\n return (\n <>\n <Box className={\"check-question\"}>\n <FormControl\n fullWidth\n color='primary'\n error={!!error}\n component=\"fieldset\">\n <FormHelperText>{error}</FormHelperText>\n <FormGroup>\n <Grid container spacing={isSmallScreen ? 1 : 3}>\n\n {\n question.variants.map((variant, i) => {\n return <Grid item md={6} sm={12} xs={12} key={i}>\n <FormControlLabelQuestionaris\n className={isChecked(variant) ? 'checked' : ''}\n key={i}\n control={\n <CheckboxQuestionaris\n className=\"check-box\"\n checked={isChecked(variant)}\n icon={<CheckIcon style={{ color: 'transparent' }} />}\n checkedIcon={<CheckIcon />}\n size=\"small\"\n name={variant}\n key={variant}\n onChange={(v) => handleCheck(v.target.name)}\n />\n }\n label={variant}\n />\n </Grid>\n })\n }\n </Grid>\n </FormGroup>\n </FormControl>\n </Box>\n </>\n )\n}","import React from 'react';\nimport './QuestionComponent.scss';\nimport { Box, TextField } from \"@material-ui/core\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\nimport { TextFieldNoteComponent } from '../../../notes/components/textFieldNoteComponent/TextFieldNoteComponent';\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport const QuestionTextComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n disabled,\n question,\n answer,\n error,\n handleChanges,\n componentInNotes\n } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n <>\n <Box display=\"flex\" justifyContent=\"flex-start\" className=\"input-question\" width={1}>\n {componentInNotes\n ? <TextFieldNoteComponent\n rows={5}\n className={commonClasses.textMedium}\n placeholder={question.variants ? question.variants[0] : ''}\n title={question?.displayName && question.displayName.length ? question.displayName : \"\"}\n id={question.name}\n content={answer ?? \"\"}\n error={!!error}\n helperText={error}\n disabled={disabled}\n handleChanged={handleChanges}\n />\n : <TextField\n fullWidth\n className=\"input text-question\"\n style={{ background: '#FFFFFF' }}\n type='text'\n placeholder={question.variants ? question.variants[0] : ''}\n size=\"small\"\n multiline\n rows={5}\n id={question.name}\n variant=\"outlined\"\n value={answer ?? \"\"}\n error={!!error}\n helperText={error}\n disabled={disabled}\n onChange={(v) => handleChanges(v.target.value)}\n />\n }\n </Box>\n </>\n )\n}","import React from \"react\";\nimport DateFnsUtils from '@date-io/moment';\nimport { TimePicker, MuiPickersUtilsProvider, TimePickerProps } from '@material-ui/pickers';\nimport { createTheme, MuiThemeProvider } from \"@material-ui/core\";\nimport { colors } from \"../constants/colors\";\n\nexport interface WildHealthTimePickerProps extends TimePickerProps {\n\n}\n\nexport const customTheme = createTheme({\n palette: {\n primary: {\n main: colors.main,\n light: colors.main,\n dark: colors.main,\n }\n },\n})\n\nexport const WildHealthTimePicker: React.FC<WildHealthTimePickerProps> = (props: TimePickerProps) => {\n return (\n <MuiThemeProvider theme={customTheme}>\n <MuiPickersUtilsProvider utils={DateFnsUtils}>\n <TimePicker\n {...props}\n />\n </MuiPickersUtilsProvider>\n </MuiThemeProvider>\n );\n};","import React from 'react';\nimport './QuestionComponent.scss';\nimport {Box} from \"@material-ui/core\";\nimport {QuestionComponentProps} from \"./QuestionComponentProps\";\nimport moment from \"moment\";\nimport {WildHealthTimePicker} from '../../../common/components/WildHealthTimePicker';\n\nexport const QuestionTimeComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n\n const parseTimeToDate = (value : string) => {\n if(!value){\n return new Date(0, 0, 0, 0, 0, 0);\n }\n\n const [hours, minutes] = value.split(':');\n return new Date(0, 0, 0, +hours, +minutes, 0);\n }\n\n const parseDateToTime = (date : moment.Moment) => date.format('HH:mm');\n\n return (\n <>\n <Box display=\"flex\" justifyContent=\"flex-start\" className=\"input-question\">\n <WildHealthTimePicker\n size=\"small\"\n id={question.name}\n inputVariant=\"outlined\"\n value={parseTimeToDate(answer)}\n className=\"time-question\"\n error={!!error}\n helperText={error}\n onChange={(v) => { handleChanges(parseDateToTime(v)) }}\n />\n </Box>\n\n </>\n )\n}","import React from 'react';\nimport './QuestionComponent.scss';\nimport { Box, TextField, } from \"@material-ui/core\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\n\nexport const QuestionNumberComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n disabled,\n question,\n answer,\n handleChanges,\n inline,\n error\n } = props;\n\n\n const inputProps = () => {\n return {\n min: 0,\n onKeyDown: (e) => [\"e\", \"E\", \"+\", \"-\"].includes(e.key) && e.preventDefault()\n }\n }\n\n return (\n <>\n <Box display=\"flex\" justifyContent=\"flex-start\"\n className={inline ? 'inline-input-question' : 'input-question'}>\n <Box flex={!question.dimension && 1}>\n <TextField\n fullWidth\n type='number'\n size=\"small\"\n id={question.name}\n variant=\"outlined\"\n InputProps={{ className: 'input', inputProps: inputProps() }}\n value={answer ?? \"\"}\n error={!!error}\n helperText={error}\n disabled={disabled}\n onChange={(v) => handleChanges(v.target.value)}\n />\n </Box>\n {question.dimension && (\n <Box ml={2} fontWeight=\"fontWeightLight\" pt={1}>\n {question.dimension}\n </Box>\n )}\n </Box>\n </>\n )\n}","import React from 'react';\nimport './QuestionComponent.scss';\nimport { Box, Radio, FormControl, FormControlLabel, RadioGroup, FormHelperText } from \"@material-ui/core\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\n\nexport const QuestionCheckOneComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n\n const selected: string = answer && answer.length ? answer : '';\n\n return (\n <>\n <Box className={\"check-question\"}>\n <FormControl\n error={!!error}\n color='primary'\n component=\"fieldset\">\n <FormHelperText>{error}</FormHelperText>\n <RadioGroup\n aria-label={question.name}\n name={question.name}\n row={question.variants.length <= 4}\n onChange={(v) => handleChanges(v.target.name)}>\n {\n question.variants.map((variant, i) => {\n return <FormControlLabel\n key={i}\n control={\n <Radio\n checked={variant === selected}\n size=\"small\"\n name={variant}\n key={variant}\n />\n }\n label={variant}\n />\n })\n }\n </RadioGroup>\n </FormControl>\n </Box>\n </>\n )\n}","import { Box, FormControl, FormGroup, FormHelperText, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport React from 'react';\nimport { CheckAnswer, emptyCheckAnswer } from \"../../models/questionnaire.models\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\nimport { CheckboxQuestionaris, FormControlLabelQuestionaris, IOSSlider } from \"./questionnaire.styles\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from \"clsx\";\n\nexport const QuestionRateComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n let checkAnswer: CheckAnswer;\n\n const variants = [...Array(question.max + 1 - question.min).keys()].map(x => `${x + question.min}`);\n\n try {\n checkAnswer = JSON.parse(answer);\n if (!checkAnswer) {\n checkAnswer = emptyCheckAnswer();\n }\n } catch (e) {\n checkAnswer = emptyCheckAnswer();\n }\n\n const isChecked = (variant: string) => {\n return checkAnswer.v.includes(variant);\n }\n\n const isSlideValue = () => {\n const variant = variants.find(v => checkAnswer.v.includes(v));\n return variant ? parseInt(variant) : question.min;\n }\n\n const wrapResult = () => {\n return JSON.stringify(checkAnswer);\n }\n\n const handleCheck = (variant: string) => {\n checkAnswer.v = [];\n checkAnswer.v.push(variant);\n handleChanges(wrapResult())\n }\n\n const handleChange = (value: number | number[]) => {\n checkAnswer.v = [];\n checkAnswer.v.push(value.toString());\n handleChanges(wrapResult())\n }\n\n const renderRateHints = (): JSX.Element => {\n if (!question.variants.length) {\n return (<></>);\n }\n const variantsPrefix1 = question.variants[0].split(\":\");\n const variantsPrefix2 = question.variants[1].split(\":\");\n return (\n <Box width={1} display='flex' justifyContent='space-between' className={clsx(commonClasses.size14, commonClasses.colorGray1)}>\n <Box>\n {isSmallScreen ? (<span>{variantsPrefix1[0]}{variantsPrefix1[1] && \":\"}<br />{variantsPrefix1[1]}</span>) : (<span>{question.variants[0]}</span>)}\n </Box>\n <Box textAlign={isSmallScreen && \"right\"}>\n {isSmallScreen ? (<span>{variantsPrefix2[0]}{variantsPrefix2[1] && \":\"}<br />{variantsPrefix2[1]}</span>) : (<span>{question.variants[1]}</span>)}\n </Box>\n </Box>\n )\n }\n\n return (\n <>\n <Box mt={3}\n className={\"check-question\"}>\n {isSmallScreen ? (\n <IOSSlider aria-label=\"ios slider\" max={question.max} min={question.min} value={isSlideValue()} valueLabelDisplay=\"on\" onChange={(e, v) => handleChange(v)} />\n ) : (\n <FormControl\n color='primary'\n fullWidth\n error={!!error}\n component=\"fieldset\">\n <FormHelperText>{error}</FormHelperText>\n <FormGroup>\n <Box display=\"flex\" justifyContent=\"space-between\" width={1}>\n {\n variants.map((variant, i) => {\n return (\n <Box key={i} style={{whiteSpace: 'nowrap'}}>\n <FormControlLabelQuestionaris\n className={isChecked(variant) ? 'checked' : ''}\n key={i}\n control={\n <CheckboxQuestionaris\n className=\"check-box\"\n checked={isChecked(variant)}\n size=\"small\"\n icon={<></>}\n checkedIcon={<></>}\n name={variant}\n key={variant}\n onChange={(v) => handleCheck(v.target.name)}\n />\n }\n label={variant}\n />\n </Box>\n )\n })\n }\n </Box>\n </FormGroup>\n </FormControl>\n )}\n </Box>\n {\n renderRateHints()\n }\n </>\n )\n}","import { Box, FormControl, FormGroup, FormHelperText, Grid, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport CheckIcon from '@material-ui/icons/Check';\nimport React from 'react';\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\nimport { CheckboxQuestionaris, FormControlLabelQuestionaris } from \"./questionnaire.styles\";\n\nexport const QuestionSelectCustomComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const isChecked = (variant: string) => {\n return answer === variant;\n }\n\n const handleCheck = (variant: string) => {\n handleChanges(variant)\n }\n\n return (\n <>\n <Box className={\"check-question\"}>\n <FormControl\n color='primary'\n fullWidth\n error={!!error}\n component=\"fieldset\">\n <FormHelperText>{error}</FormHelperText>\n <FormGroup>\n <Grid container spacing={isSmallScreen ? 1 : 3}>\n\n {\n question.variants.map((variant, i) => {\n return <Grid item md={6} sm={12} xs={12} key={i}>\n <FormControlLabelQuestionaris\n className={isChecked(variant) ? 'checked' : null}\n key={i}\n control={\n <CheckboxQuestionaris\n className=\"check-box\"\n checked={isChecked(variant)}\n icon={<CheckIcon style={{ color: 'transparent' }} />}\n checkedIcon={<CheckIcon />}\n size=\"small\"\n name={variant}\n key={variant}\n onChange={(v) => handleCheck(v.target.name)}\n />\n }\n label={variant}\n />\n </Grid>\n })\n }\n </Grid>\n </FormGroup>\n </FormControl>\n </Box>\n </>\n )\n}","import React, { useState } from 'react';\nimport './QuestionComponent.scss';\nimport { Box, Checkbox, FormControl, FormControlLabel, FormGroup, FormHelperText, Grid, TextField } from \"@material-ui/core\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\nimport { CheckAnswer, emptyCheckAnswer } from \"../../models/questionnaire.models\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { FormControlLabelChecboxQuestionaris } from './questionnaire.styles';\n\nexport const QuestionCheckComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n\n const [other, setOther] = useState('');\n\n const commonClasses = commonUseStyles();\n\n let checkAnswer: CheckAnswer;\n\n try {\n checkAnswer = JSON.parse(answer);\n if (!checkAnswer) {\n checkAnswer = emptyCheckAnswer();\n }\n } catch (e) {\n checkAnswer = emptyCheckAnswer();\n }\n\n const isChecked = (variant: string) => {\n return checkAnswer.v.includes(variant) || checkAnswer.o.includes(variant);\n }\n\n const isVariantChecked = (variant: string) => {\n return checkAnswer.v.includes(variant);\n }\n\n const isOtherChecked = (variant: string) => {\n return checkAnswer.o.includes(variant);\n }\n\n const wrapResult = () => {\n return JSON.stringify(checkAnswer);\n }\n\n const handleOtherChanges = (value: string) => {\n setOther(value);\n }\n\n const handleAddOther = (value: string) => {\n if (other === '') {\n return;\n }\n\n checkAnswer.o.push(value);\n setOther('');\n handleChanges(wrapResult());\n }\n\n const handleCheck = (variant: string) => {\n isVariantChecked(variant)\n ? checkAnswer.v.splice(checkAnswer.v.indexOf(variant), 1)\n : isOtherChecked(variant)\n ? checkAnswer.o.splice(checkAnswer.o.indexOf(variant), 1)\n : checkAnswer.v.push(variant)\n\n handleChanges(wrapResult())\n }\n\n return (\n <>\n <Box className={\"check-question\"}>\n <FormControl\n fullWidth\n error={!!error}\n color='primary'\n component=\"fieldset\">\n <FormHelperText>{error}</FormHelperText>\n <FormGroup>\n <Grid container>\n {\n [...question.variants, ...checkAnswer.o].map((variant, i) => {\n return <Grid item md={12} xs={12}>\n <FormControlLabelChecboxQuestionaris\n key={i}\n control={\n <Checkbox\n className=\"check-box\"\n checked={isChecked(variant)}\n size=\"small\"\n name={variant}\n key={variant}\n onChange={(v) => handleCheck(v.target.name)}\n />\n }\n label={variant}\n />\n </Grid>\n })\n }\n </Grid>\n\n {\n question.allowOther &&\n <Box mt={1}>\n <Box>\n <span className={clsx(commonClasses.colorGray1, commonClasses.size14)}>Other</span>\n </Box>\n <Box>\n <FormControlLabel\n style={{ width: '100%', marginLeft: '0px' }}\n control={\n <Box display=\"flex\" justifyContent=\"flex-start\" width={1}>\n <TextField\n fullWidth\n value={other}\n size=\"small\"\n InputProps={{ className: 'input' }}\n placeholder=\"Type here…\"\n id={`otherInput-${question.name}`}\n variant=\"outlined\"\n error={!!error}\n helperText={error}\n onChange={(v) => handleOtherChanges((v.target.value))}\n />\n </Box>\n }\n label=\"\"\n />\n </Box>\n <Box mt={2}>\n <WildHealthButton id=\"add-other-button\" color='secondary' onClick={(e) => handleAddOther(other)} disabled={!other}>\n Add\n </WildHealthButton>\n </Box>\n </Box>\n }\n </FormGroup>\n </FormControl>\n </Box>\n </>\n )\n}","import React from 'react';\nimport './QuestionComponent.scss';\nimport { Box } from \"@material-ui/core\";\nimport { QuestionComponentProps } from \"./QuestionComponentProps\";\nimport { WildHealthDatePicker } from '../../../common/components/WildHealthDatePicker';\n\nexport const QuestionDateComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n error\n } = props;\n\n return (\n <>\n <Box display=\"flex\" justifyContent=\"flex-start\" className=\"input-question\">\n <WildHealthDatePicker\n size=\"small\"\n id={question.name}\n inputVariant=\"outlined\"\n value={answer}\n className=\"time-question\"\n placeholder=\"MM/YY\"\n format=\"MM/yyyy\"\n error={!!error}\n helperText={error}\n onChange={(v) => { handleChanges(v.toISOString()) }}\n />\n </Box>\n </>\n )\n}","import React from 'react';\nimport {Box, Tooltip, useMediaQuery, useTheme} from \"@material-ui/core\";\nimport {QuestionComponentProps} from \"./QuestionComponentProps\";\nimport {QuestionCheckComponentCastom} from \"./QuestionCheckComponentCastom\";\nimport {QuestionTextComponent} from \"./QuestionTextComponent\";\nimport {QuestionType} from \"../../models/questionnaire.models\";\nimport {QuestionTimeComponent} from \"./QuestionTimeComponent\";\nimport {QuestionNumberComponent} from \"./QuestionNumberComponent\";\nimport {QuestionCheckOneComponent} from \"./QuestionCheckOneComponent\";\nimport {QuestionRateComponent} from \"./QuestionRateComonent\";\nimport {QuestionSelectCustomComponent} from \"./QusetionSelectCustomComponent\";\nimport { useStyles } from \"./questionnaire.styles\";\nimport { QuestionCheckComponent } from './QuestionCheckComponent';\nimport {QuestionDateComponent} from './QuestionDateComponent';\nimport InfoIcon from \"@material-ui/icons/Info\";\nimport { WildHealthClickableTooltip } from '../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip';\n\nexport const QuestionComponent: React.FC<QuestionComponentProps> = (props: QuestionComponentProps) => {\n const {\n question,\n answer,\n handleChanges,\n inline,\n error,\n disabled = false,\n componentInNotes = false,\n } = props;\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [open, setOpen] = React.useState(false);\n \n const handleTooltipClose = () => {\n setOpen(false);\n };\n \n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const renderQuestion = (type: QuestionType) => {\n switch (type) {\n case QuestionType.SelectMany: return <QuestionCheckComponentCastom\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n /> \n case QuestionType.CheckMany: return <QuestionCheckComponent\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n\n case QuestionType.CheckOne: return <QuestionCheckOneComponent\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n\n case QuestionType.SelectOne: return <QuestionSelectCustomComponent\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n\n case QuestionType.NumericInput: return <QuestionNumberComponent\n disabled={disabled}\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n\n case QuestionType.TextInput: return <QuestionTextComponent\n disabled={disabled}\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n componentInNotes={componentInNotes}\n />\n\n case QuestionType.TimeInput: return <QuestionTimeComponent\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n\n case QuestionType.Rate: return <QuestionRateComponent\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n\n case QuestionType.DateInput: return <QuestionDateComponent\n answer={answer}\n handleChanges={handleChanges}\n question={question}\n inline={inline}\n error={error}\n />\n }\n }\n\n const isShowTitle = () => {\n return !(question.type === QuestionType.TextInput && componentInNotes)\n }\n\n const tooltipContent = (content: string) => {\n return <p className=\"wh-tw-text-sm\">{content}</p>\n }\n\n return (\n <>\n <Box display={inline ? 'flex' : 'block'} justifyContent=\"flex-start\" mt={isSmallScreen ? 3 : 5}>\n {\n isShowTitle() &&\n <Box mb={isSmallScreen ? 0.5 : 2}>\n {\n question?.displayName && question.displayName.length > 0 &&\n <span className={classes.title}>\n {question.displayName}\n </span>\n }\n {\n question?.detail &&\n <span className={classes.titleInfo}> {question.detail}</span>\n }\n {\n question?.info && !isSmallScreen && \n <Tooltip title={tooltipContent(question?.info)} placement=\"top\" arrow>\n <span className=\"wh-tw-ml-3\">\n <InfoIcon className=\"wh-tw-text-xl wh-tw-text-gray2\" />\n </span>\n </Tooltip>\n }\n {\n question?.info && isSmallScreen && \n <WildHealthClickableTooltip\n tooltipContent={tooltipContent(question?.info)}\n isOpened={open}\n handleClose={handleTooltipClose}\n >\n <InfoIcon className=\"wh-tw-ml-3 wh-tw-text-xl wh-tw-text-gray2\" onClick={handleTooltipOpen} />\n </WildHealthClickableTooltip>\n }\n {\n question?.description && question.description.length > 0 &&\n <Box mt={0.5}>\n <span className={classes.titleInfo}>{question.description}</span>\n </Box>\n }\n {\n question?.displayName && question.displayName.length > 0 && (question.type === QuestionType.CheckMany || question.type === QuestionType.SelectMany) &&\n <span className={classes.titleInfo}> (Check all that apply)</span>\n }\n {\n !question?.detail && question.optional &&\n <span className={classes.titleInfo}> (Optional)</span>\n }\n </Box>\n }\n <Box>\n { question && renderQuestion(question.type) }\n </Box>\n {\n question?.hint && question.hint.length &&\n <Box mt={1}>\n <span className={classes.hint}>{question.hint}</span>\n </Box>\n }\n </Box>\n </>\n )\n}","import {\n Box,\n Checkbox,\n CircularProgress,\n FormControlLabel,\n Grid,\n Switch,\n TextField\n} from \"@material-ui/core\";\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport { MaterialUiPickersDate } from \"@material-ui/pickers/typings/date\";\nimport React, { useEffect, useMemo, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { interval } from 'rxjs';\nimport { confirmService } from \"../../../../../services/confirm.service\";\nimport { PermissionType, Practice, UserType } from \"../../../../auth/models/auth.enums\";\nimport { OptionalComponent } from '../../../../common/components/OptionalComponent';\nimport { isElementEnabled } from \"../../../../common/components/ProtectedElement\";\nimport { WildHealthDatePicker } from \"../../../../common/components/WildHealthDatePicker\";\nimport { insertString } from \"../../../../common/helpers/insert-string\";\nimport { onEmit } from '../../../../common/helpers/on-emit';\nimport { IErrorState } from \"../../../../common/validation/error-state\";\nimport { selectShortcutService } from \"../../../../healthReport/services/selectShortcut.service\";\nimport { PatientModel } from \"../../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../../patients/stores/patientsStore\";\nimport { PatientMedicationsSupplementsTabsComponent } from \"../../../../patientSupplements/components/patientMedicationsSupplementsTabs/PatientMedicationsSupplementsTabsComponent\";\nimport { QuestionComponent } from \"../../../../questionnaire/components/questionComponent/QuestionComponent\";\nimport {\n CheckAnswer,\n QuestionModel,\n QuestionnaireResultModel,\n QuestionnaireSection,\n QuestionnaireType\n} from \"../../../../questionnaire/models/questionnaire.models\";\nimport { questionnaireService } from \"../../../../questionnaire/services/questionnaire.service\";\nimport {\n CheckManyToTextField,\n getInitQuestionnaires,\n InitialConsultToHealthLogQuestionNamesMap,\n InitialConsultToInitialQuestionNamesMap,\n initRecommendations,\n KeyMap,\n NoteRecommendation,\n NoteRecommendationTypes\n} from \"../../../constants/initialConsultOld.constants\";\nimport { NoteLogModel, NoteModel, NotesType, SaveNoteModel, SignOffNoteModel } from \"../../../models/notes.models\";\nimport { notesService, SignOffModel } from \"../../../services/notes.service\";\nimport { createInitialConsultComponentValidator } from \"../createInitialConsultComponent.validator\";\nimport { colors } from \"../../../../common/constants/colors\";\nimport { authQuery } from \"../../../../auth/stores/auth\";\nimport { DataSpecificationsEnum } from \"../../../../common/constants/data-specifications\";\nimport { useHistory } from 'react-router';\nimport { snackService } from \"../../../../common/snack/state\";\nimport { SelectAppointmentToNotesDialog } from \"../../SelectAppointmentToNotesComponent/SelectAppointmentToNotesDialog\";\nimport { TextFieldNoteComponent } from \"../../textFieldNoteComponent/TextFieldNoteComponent\";\nimport { ReactComponent as CalendarIcon } from \"@img/icons/CalendarIcon.svg\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport moment from \"moment\";\nimport { SignOffDialogComponent } from \"../../signOffDIalogComponent/SignOffDialogComponent\";\nimport { FeatureFlag } from \"../../../../common/components/featureFlags/featureFlags.models\";\nimport { FeatureComponent } from \"../../../../common/components/featureFlags/FeatureComponent\";\nimport {canDiscardNote, isFutureAppointment} from \"../../../helpers/noteHelpers\";\n\nlet stateContext: CreateInitialConsultComponentState = null;\n\ninterface CreateInitialConsultComponentState extends IErrorState {\n isLoading: boolean;\n isChanged: boolean;\n isAutoSaving: boolean;\n isProcessing: boolean;\n isNew: boolean;\n note: NoteModel;\n title: string;\n recommendations: NoteRecommendation[];\n questionnaires: QuestionnaireSection[];\n logs: NoteLogModel[];\n internalContent: string;\n visitDate: Date;\n isOrderedInitialLabsCollected: boolean;\n isFreeTrial: boolean;\n isFirstSaveOriginalNote: boolean;\n originalNote: NoteModel;\n}\n\nlet ignoreChangesEvent = false;\n\nexport function useFacade(patientId: number, note: NoteModel | null, classes: any, handleGoToNotes: Function, appointmentId: number | null, originalNote: NoteModel): [\n CreateInitialConsultComponentState,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element[],\n JSX.Element,\n string,\n JSX.Element,\n] {\n const noteName = \"Initial Coach Consult\";\n const history = useHistory();\n const autoSaveTimer = useMemo(() => interval(5000), []);\n const [isOpen, setIsOpen] = useState(false);\n const [state, setState] = useState({\n isLoading: true,\n isChanged: false,\n isAutoSaving: false,\n isProcessing: false,\n isNew: true,\n note: note,\n recommendations: initRecommendations.map(x => Object.assign({}, x)),\n questionnaires: getInitQuestionnaires(),\n logs: [],\n title: note?.title || '',\n internalContent: '',\n visitDate: note?.visitDate ?? new Date(),\n isOrderedInitialLabsCollected: false,\n isFreeTrial: false,\n errors: {},\n isFirstSaveOriginalNote: originalNote ? true : false,\n originalNote: originalNote,\n } as CreateInitialConsultComponentState);\n\n stateContext = state;\n\n const handleSaveAsDraft = () => {\n if (!createInitialConsultComponentValidator.stateIsValid(state)) {\n return;\n }\n\n if (state.isAutoSaving) {\n setTimeout(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack(history)\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n }\n );\n }, 2000)\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n () => {\n handleGoBack(history)\n },\n (error) => {\n snackService.commonErrorHandler(error);\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n }\n );\n }\n\n const isCanCompleteNote = () => {\n if (!!originalNote) {\n return originalNote.completedById === authQuery.getEmployeeId();\n }\n\n if (stateContext?.note?.assignedTo) {\n return stateContext.note.assignedTo.id === authQuery.getEmployeeId()\n }\n\n if (stateContext?.note?.completedById) {\n return stateContext.note.completedById === authQuery.getEmployeeId()\n }\n\n return true;\n }\n\n const handleSignOff = () => {\n notesService.openSignOff({\n patientId: state.note.patientId,\n noteType: state.note.type\n } as SignOffModel).subscribe(([employeeId, additionalNote]) => {\n const model: SignOffNoteModel = {\n noteId: stateContext.note.id,\n assignToId: employeeId,\n additionalNote: additionalNote\n };\n\n setState(state => ({\n ...state,\n isProcessing: true\n }));\n\n notesService.signOff(model).subscribe(\n () => {\n handleSaveAsDraft();\n handleGoBack(history);\n },\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }))\n }\n );\n });\n }\n\n const handleSaveAndComplete = () => {\n if (!createInitialConsultComponentValidator.stateIsValid(state)) {\n return;\n }\n\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.saveAsCompleted(getData(state)).subscribe(\n () => handleGoToNotes(),\n () => {\n setState(state => ({\n ...state,\n isProcessing: false\n }));\n });\n });\n }\n\n const handleAnswerChanges = (question: QuestionModel, answer: string) => {\n createInitialConsultComponentValidator.validateAndSetState(state, setState, question.name, answer);\n const log = state.logs.find(x => x.key === question.name);\n if (!log) {\n setState({\n ...state,\n isChanged: true,\n logs: [\n ...state.logs, {\n key: question.name,\n value: answer\n }\n ]\n })\n } else {\n log.value = answer;\n setState({\n ...state,\n isChanged: true,\n logs: [...state.logs]\n })\n }\n }\n\n const getAnswer = (question: QuestionModel): string => {\n return state.logs.find(x => x.key === question.name)?.value ?? question.default\n }\n\n const handleDiscard = () => {\n confirmService.confirm('Are you sure? This action can not be undone').subscribe(() => {\n discard();\n });\n }\n\n const handleGoBack = (history) => {\n handleGoToNotes();\n }\n\n const discard = () => {\n if (stateContext.isAutoSaving) {\n setTimeout(() => discard(), 50);\n return;\n }\n\n setState(state => ({\n ...state,\n isChanged: false,\n isProcessing: true,\n }));\n\n notesService.delete(state.note).subscribe(() => handleGoBack(history));\n }\n\n const handleInternalNotesChanged = (value: string) => {\n if (ignoreChangesEvent) {\n return;\n }\n\n setState({\n ...state,\n isChanged: true,\n internalContent: value\n });\n }\n\n const handleTextMessageChanged = (value: string) => {\n setState(state => ({\n ...state,\n isChanged: true,\n internalContent: value\n }));\n }\n\n const handleKeyDown = (event: any) => {\n ignoreChangesEvent = false;\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n\n setTimeout(() => {\n handleOnInternalNotesChanged(\n (document.getElementById('internal-notes') as any).data,\n (document.getElementById('internal-notes') as any).selectionStart);\n }, 1)\n }\n }\n }\n\n const handleOnInternalNotesChanged = (value: string, cursorPos: number) => {\n const cb = (data) => {\n value = state.internalContent;\n if (data) {\n handleTextMessageChanged(insertString(value, data, cursorPos + 1));\n }\n }\n\n selectShortcutService.select().subscribe(cb);\n }\n\n const getData = (state: CreateInitialConsultComponentState): SaveNoteModel => {\n return {\n id: state.note?.id,\n content: getContent(state),\n internalContent: state.internalContent,\n name: noteName,\n title: state.title,\n type: NotesType.Initial,\n visitDate: state.visitDate,\n patientId: patientId,\n logs: state.logs,\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n appointmentId: state.note ? state.note.appointment?.id : appointmentId,\n version: state.note?.version,\n originalNoteId: state.originalNote?.id\n }\n }\n\n const getSaveModelFromOriginalNote = (content): SaveNoteModel => {\n return {\n id: null,\n name: noteName,\n title: state.originalNote.title,\n type: NotesType.Initial,\n visitDate: state.visitDate,\n patientId: patientId,\n internalContent: state.internalContent,\n content: JSON.stringify(content),\n logs: [],\n nextCoachAppointmentDate: null,\n nextProviderAppointmentDate: null,\n version: state.originalNote?.version,\n originalNoteId: state.originalNote?.id\n } as SaveNoteModel;\n }\n\n const handleNoteTitleChange = (field: string, value: string) => {\n createInitialConsultComponentValidator.validateAndSetState(state, setState, field, value);\n setState(state => ({\n ...state,\n isChanged: true,\n title: value\n }));\n }\n\n const titleTextBox = (\n <TextField\n label='Enter title'\n type='text'\n size=\"small\"\n variant=\"outlined\"\n id='title'\n value={state.title}\n helperText={state.errors['title']}\n error={!!state.errors['title']}\n disabled={state.isProcessing}\n InputProps={{ className: 'input' }}\n onChange={(e) => {\n handleNoteTitleChange(e.target.id, e.target.value);\n }}\n />\n )\n\n const getContent = (state: CreateInitialConsultComponentState) => {\n return JSON.stringify(state.recommendations);\n }\n\n const handleVisitDateChanges = (momentDate: MaterialUiPickersDate) => {\n setState({\n ...state,\n isChanged: true,\n visitDate: momentDate?.toDate()\n });\n }\n\n const handleAppointmentChanges = (appointmentId: number) => {\n if (state.note?.appointment?.id === appointmentId) {\n return;\n }\n\n const model = getData(state);\n\n model.appointmentId = appointmentId;\n\n notesService.saveAsDraft(model, patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n const handleSelectAppointmentSubmit = (appointmentId: number) => {\n if (!appointmentId) {\n if (!patientsQuery.getTargetPatient()?.isPremium) {\n snackService.error(\"There was an error while attaching a note.\");\n }\n } else {\n handleAppointmentChanges(appointmentId);\n }\n\n setIsOpen(false);\n }\n\n const finalVisitDate = state.note?.appointment\n ? state.note.appointment.date\n : state.note?.visitDate\n ? state.note.visitDate\n : state.visitDate;\n\n const internalNotes = (\n <>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" mb={2} mt={2}>\n <Box>\n <Box mr={1}>\n <span className={classes.sectionTitle}>Notes</span>\n </Box>\n </Box>\n <Box display=\"flex\" alignItems=\"center\">\n <Box mr={1}>Appointment Date:</Box>\n {\n state.note?.appointment\n ? <WildHealthButton\n width={256}\n size=\"medium\"\n style={{ whiteSpace: 'nowrap' }}\n color=\"datePicker\"\n id='sing-physical-history'\n onClick={() => setIsOpen(true)}\n >\n <span>{moment(finalVisitDate).format(\"MM/DD/yyyy\")}</span>\n <CalendarIcon />\n </WildHealthButton>\n : <WildHealthDatePicker\n required\n size=\"small\"\n openTo=\"year\"\n format=\"MM/DD/yyyy\"\n id='AppointmentDate'\n placeholder=\"mm-dd-yyyy\"\n value={finalVisitDate}\n inputVariant=\"outlined\"\n views={[\"year\", \"month\", \"date\"]}\n useKeyboardDatePicker\n onChange={(momentDate) => handleVisitDateChanges(momentDate)}\n />\n }\n </Box>\n </Box>\n <Box>\n <TextFieldNoteComponent\n rows={10}\n title='Internal Notes'\n id=\"internal-notes\"\n content={state.internalContent}\n handleChanged={handleInternalNotesChanged}\n handleKeyDown={handleKeyDown}\n />\n </Box>\n <OptionalComponent>\n <SelectAppointmentToNotesDialog\n handleSubmitSelectAppointment={(appointmentId) => handleSelectAppointmentSubmit(appointmentId)}\n handleChangeSelectAppointment={() => { }}\n handleSelectAppointmentDialog={(isOpen) => setIsOpen(isOpen)}\n isOpen={isOpen}\n patientId={patientId} />\n </OptionalComponent>\n </>\n );\n\n const questionnaire = (\n <Box mt={5}>\n {\n state.questionnaires.map((section, sectionIndex) =>\n <React.Fragment key={sectionIndex}>\n <Box pb={2}>\n <span className={classes.sectionTitle}>{section.name}</span>\n </Box>\n <Box mb={10}>\n {\n section.questions.map((question, index) =>\n <Box key={index}>\n <QuestionComponent\n handleChanges={value => handleAnswerChanges(question, value)}\n answer={getAnswer(question)}\n question={question}\n error={state.errors[question.name]}\n inline={false}\n componentInNotes\n />\n </Box>\n )\n }\n </Box>\n </React.Fragment>\n )\n }\n </Box>\n );\n\n const medicationSupplements = (\n <PatientMedicationsSupplementsTabsComponent patientId={patientId} fullWidth={true} />\n );\n\n const handleOnRecommendationEditChange = (recommendationType: NoteRecommendationTypes, value: boolean) => {\n const item = state.recommendations.find(i => i.type === recommendationType);\n if (item) {\n item.isSelected = value;\n setState({\n ...state,\n isChanged: true,\n recommendations: state.recommendations\n });\n }\n }\n\n const handleOnRecommendationAddChange = (value: string, name: string,) => {\n const item = state.recommendations.find(i => i.name === name);\n if (!item) {\n return;\n }\n if (ignoreChangesEvent) {\n return;\n }\n\n item.content = value\n setState({\n ...state,\n isChanged: true,\n recommendations: state.recommendations\n });\n }\n\n const handleOnRecommendationAddTextChange = (name: string, value: string) => {\n const item = state.recommendations.find(i => i.name === name);\n if (!item) {\n return;\n }\n\n item.content = value\n setState({\n ...state,\n isChanged: true,\n recommendations: state.recommendations\n });\n }\n\n const handleOnRecommendationChange = (event: any, id: string, name: string,) => {\n ignoreChangesEvent = false;\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n const value = (document.getElementById(id) as any).value;\n const cursorPos = (document.getElementById(id) as any).selectionStart;\n setTimeout(() => {\n selectShortcutService.select().subscribe((data) => {\n data && handleOnRecommendationAddTextChange(name, insertString(value, data, cursorPos + 1))\n })\n }, 1)\n }\n }\n }\n\n const recommendationsHeader = (\n <>\n <Grid item xs={7}>\n <Box mt={5}>\n <span className={classes.sectionTitle}>\n {'Recommendations '}\n </span>\n <span>(10 minutes)</span>\n </Box>\n </Grid>\n\n <Grid item xs={5}>\n <Box mt={5}>\n <span className={classes.sectionTitle}>\n SELECTS 2 CATEGORIES BASED ON ABOVE ASSESSMENT AND GOALS\n </span>\n </Box>\n </Grid>\n </>\n );\n\n const recommendations = state.recommendations.map((item, index) => {\n const control =\n <Checkbox\n icon={<CheckBoxOutlineBlankIcon />}\n checkedIcon={<CheckBoxIcon />}\n name={`Recommendation${index}-CheckBox`}\n checked={item.isSelected} color='default'\n onChange={(event: React.ChangeEvent<HTMLInputElement>) =>\n handleOnRecommendationEditChange(item.type, event.target.checked)}\n />;\n\n return (\n <Grid key={index} item xs={7}>\n <Box mt={5}>\n <Grid\n container\n spacing={5}\n justify=\"space-between\"\n >\n <Grid item xs={9} md={9} lg={9}>\n <FormControlLabel control={control} label={item.name} />\n </Grid>\n </Grid>\n </Box>\n <Box>\n <TextFieldNoteComponent\n isFollowUp\n rows={10}\n title=''\n id={`recommendation-text-area${index}`}\n content={item.content}\n disabled={!item.isSelected}\n key2={item.name}\n handleChanged={handleOnRecommendationAddChange}\n handleKeyDown={handleOnRecommendationChange}\n />\n </Box>\n </Grid>\n )\n });\n\n const handleIsFreeTrialChanged = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setState({\n ...state,\n isFreeTrial: checked\n });\n }\n\n const handleIsOrderedInitialLabsCollectedChanged = (event: React.ChangeEvent<HTMLInputElement>, checked: boolean) => {\n setState({\n ...state,\n isOrderedInitialLabsCollected: checked\n });\n }\n\n const scriptsGoal = (\n <>\n <Box mt={2}>\n <span className={classes.sectionTitle}>The FOUR goals of this visit are</span>\n </Box>\n <Box pl={5} mt={2}>\n <ol style={{ listStyleType: 'decimal' }}>\n <li>Build rapport.</li>\n <li>Establish goals - emphasize importance.</li>\n <li>Verify intake information.</li>\n <li>Complete recommendations and pitches.</li>\n </ol>\n </Box>\n <Box mt={3}>\n <span className={classes.sectionTitle}>Script</span>\n <span>{' (5 minutes)'}</span>\n </Box>\n <Box mt={2}>\n <Box>\n <span>\n Introduction as clients Health Coach and welcomes to Wild Health.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n Small talk with client: Where they live, family, occupation or other.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n Discuss Single nucleotide polymorphisms and how they are used.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n Sample from report: SNPs are a probability of risk towards certain health conditions that\n epigenetically we want to improve through lifestyle modifications. Your unique DNA is an\n operating system to tell your body what to do in order to metabolize foods or how to make\n proteins. SNPs are a set of base pairs that have become switched and are not mutation.\n These are very common in the population. These switches are how we have adopted over time.\n Where these SNPs are located on your DNA are how they affect you. Your DNA is unique to you\n and your environment and lifestyle determines if your genes are switched to make you less\n optimized. We incorporate you labs to see how these switched genes are affecting you.\n You may have a switched gene but it is not causing a biological dysfunction.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n We received your initial health survey but we want to cover some of those topics during this\n call to make sure we are on the same page and to see if anything has changed. First we always\n start out by identifying your top 2-3 goals.\n </span>\n </Box>\n </Box>\n </>\n )\n\n const recommendationsWithScripts = [\n recommendations[0],\n <Grid key='recommendation-1' item xs={5}>\n <Box mt={10}>\n <Box>\n <span>No supplements recommended on initial visit.</span>\n </Box>\n <Box mt={2}>\n <span>\n Pitch: (If client asks) We could guess on the best supplements/diet/etc., but then we would\n be practicing just like the broken medical system based on statistics and epidemiology.\n We don't want to tell you what is best for most people. We want to tell you what is best for YOU.\n We'll be able to do that as soon as we have your DNA and labs back and are able to put them in our\n machine learning based algorithms.\n </span>\n </Box>\n </Box>\n </Grid>,\n recommendations[1],\n <Grid key='recommendation-2' item xs={5}>\n <Box mt={10}>\n <span>\n Healthy snack replacements: raw veggies/hummus, raw almonds, low glycemic fruit (berries).\n </span>\n </Box>\n <Box mt={3}>\n <Box>\n <span>\n Pitch: A great place to start is Michael Pollan's recommendation in The Omnivore's Dilemma:\n Eat Food, mostly plants, not too much. And you can probably take out the \"mostly plants\" part\n until we have your DNA/labs. For now, eat food, not too much. And we should define food.\n If your great-great grandmother wouldn't have recognized it as food 100 years ago,\n then it's not food.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n There are important genetic and lab markers that determine how sensitive you are to things\n like saturated fat and how well you absorb vitamins and minerals. Some individuals tolerate\n a better high fat diet while others are predisposed to better health with a higher carbohydrate\n diet. Our genetic algorithm uses polygenic risk scores to help us design a diet plan just for\n you! Once we have your DNA/labs back then we're going to be able to get very specific with you\n about exact foods and categories of food. We'll even identify superfoods and kryptonite foods\n for you. We'll also talk about timing and when you should eat based on your DNA/Labs/Lifestyle.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n For now, choose healthy snack replacements. Examples include raw veggies/hummus, raw almonds,\n low glycemic fruit (berries).\n </span>\n </Box>\n </Box>\n </Grid>,\n recommendations[2],\n <Grid key='recommendation-3' item xs={5}>\n <Box mt={10}>\n <span>\n Exercise is very important for our physical and psychological well-being. Moving frequently\n throughout the day is just as important as intense exercise. By evaluating your genetic profile\n we are able to use polygenic scores to determine whether you will respond better to strength or\n endurance. We can also evaluate your rate of recovery and personalized nutrients that may aid in\n recovery. If you're not exercising at all right now, then start by walking. We'll get much more\n specific with you once we have your data, but for now just move often, track your exercise, and pay\n attention to what hurts and what feels good so we can discuss and create a truly personalized plan.\n </span>\n </Box>\n </Grid>,\n recommendations[3],\n <Grid key='recommendation-4' item xs={5}>\n <Box mt={10}>\n <span>\n Book recommendation: Why We Sleep by Matthew Walker <a id=\"create-intitial-consult-link-book\" target=\"_blank\" rel=\"noopener noreferrer\" href=\"https://www.amazon.com/Why-We-Sleep-Unlocking-Dreams/dp/1501144324/ref=asc_df_1501144324/?tag=hyprod-20&linkCode=df0&hvadid=312049124368&hvpos=&hvnetw=g&hvrand=15779005785335573933&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9014313&hvtargid=pla-542231888375&psc=1&tag=&ref=&adgrpid=61851652213&hvpone=&hvptwo=&hvadid=312049124368&hvpos=&hvnetw=g&hvrand=15779005785335573933&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9014313&hvtargid=pla-542231888375\"> LINK.</a>\n </span>\n </Box>\n <Box mt={3}>\n <Box>\n <span>\n Device: Oura ring, we can use the Oura cloud service to remotely track your sleep. Using N of\n 1 experiments we are able to make improvements in your sleep quality.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n Meditation Apps: Calm, Headspace.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n Breath Work Apps: Oak, Breathe.\n </span>\n </Box>\n <Box mt={2}>\n <span>\n Breath work practice: 4-7-8 breathing 4 rounds 3 times per day.\n </span>\n </Box>\n </Box>\n </Grid>,\n ]\n\n const endOfTemplate = (\n <>\n <OptionalComponent practiceId={Practice.WildHealth}>\n <>\n <Box display=\"flex\" justifyContent=\"center\" mt={5}>\n <Box>\n <span className={classes.endOfNoteTitle}>(End of Note Template for Clarity)</span>\n </Box>\n </Box>\n\n <Box display=\"flex\" mt={3}>\n <Box display=\"flex\">\n <Box p={1}>\n <span>\n No\n </span>\n </Box>\n <Box ml={3}>\n <FormControlLabel\n label=\"\"\n control={\n <Switch\n checked={state.isFreeTrial}\n onChange={handleIsFreeTrialChanged}\n color=\"default\"\n />\n }\n />\n </Box>\n <Box p={1}>\n <span>\n Yes\n </span>\n </Box>\n </Box>\n <Box ml={5} p={1}>\n <span className=\"text-medium\">Is this a free trial patient?</span>\n </Box>\n </Box>\n <Box>\n {\n state.isFreeTrial ?\n <Box mt={2} mb={2}>\n <Box>\n <span className={classes.endSectionTitle}>Free Version Tier pitch/QA:</span>\n <span>{' (5 minutes)'}</span>\n </Box>\n <Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Goal based pitches: '}</span>\n <span>\n Based on the initial information you gave us the previous recommendation we discussed will likely be helpful. Generally, following the previously mentioned principles is healthy for everyone. However, each individual is different and what might be great for one might be harmful for another. Take for example the GSTP1 SNP, for some individuals Vit E produces a nice anti-inflammatory effect as an antioxidant. In individuals with the risk allele Vit E supplementation can actually produce inflammation. In order for us to achieve (goal indicated in survey or conversation) begin script below.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Health Optimization: '}</span>\n <span>\n This is a common goal but people often times have difficulty defining what “optimization” is. In order to ensure that you are addressing all possible areas of concern we recommend our full lab panel and genetic evaluation. By combining these two measures we are able uncover current and potential areas of deficiency that can lead to disease and illness. We'll also help you better define what this means for you by identifying what areas need to be optimized that you may not have realized were off. We'll give you an objective specific global optimization score calculated by our algorithm and together shoot for a specific goal number. If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Longevity and Healthy Aging: '}</span>\n <span>\n We must first ensure that the all of the underlying risk factors have been addressed. This includes minimizing cardiovascular risk factors, mitigating the risk of cognitive decline and other chronic disease. By combining all of your subjective and objective data we can use validated risk scores to ensure that you are prepared to live a long healthy life. After initial optimization we have focused 6 month longevity track based on your genetics. This track provides you with all of the lifestyle, dietary and biohacking tools to promote longevity and healthspan! We'll also help you better define what this means for you by identifying what areas need to be optimized that you may not have realized were off. We'll give you an objective specific, global optimization score calculated by our algorithm and together shoot for a specific goal number. If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Disease Treatment and Prevention: '}</span>\n <span>\n We first look at the person as a whole by taking multiple data points into consideration. Although heartburn occur in the stomach we must also make sure that gut biome, stress, sleep and all other factors are corrected. We view disease treatment and prevention from a holistic prospective and allow genetic predispositions to help guide our approach and interventions. We'll look at you as whole person, not a collection of organ systems to fix. Then we'll identify what areas need to be optimized for the entire system to work flawlessly. That will include an objective specific global optimization score calculated by our algorithm and we'll fix that first. Once your optimized as a whole, the vast majority of specific complaints just get better. If it doesn't, then we'll dive into specialty treatment for the issue. If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Mental Cognition and Brain Health: '}</span>\n <span>\n We must first look at the person and a whole. Although headaches occur in the neck and head we must also make sure that gut biome, stress, sleep and all other factors are corrected. We view disease treatment and prevention from a holistic prospective and allow genetic predispositions to help guide our approach and interventions. We combine your genetics and your lifestyle. For instance having one APOE 4 allele predisposes you to a 2-3x increased risk of cognitive decline. While a COMT variation may predispose an individual to difficulty focusing or anxiety. Both of these SNPs are modifiable and when armed with the right tools can be completely negated. Then we'll identify what areas need to be optimized for the entire system to work flawlessly. That will include an objective specific global optimization score calculated by our algorithm and we'll fix that first. Once your optimized as a whole, the brain and cognition follow. You can't separate the mind from the body. After the holistic optimization, then we can dive super deep into brain optimization with a very robust track designed specifically for that with cutting edge tools personalized to you. If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Sports and Athletic Performance: '}</span>\n <span>\n Athletic performance is a delicate balance of intensity, recovery, frequency and fueling. Using polygenic risk scores we are able to produce exercise planning and nutritional recommendations that are designed for your body’s operating system(your DNA)! We also have a dedicated athletic performance track designed to optimize all aspects of athletic performance, we often recommend this track early on in the process for athletes who are already nearly optimized in other areas. It's important to look at EVERYTHING, not just workouts and recovery, though. We find quite often in our pro athletes that it's something else truly holding them back in their DNA or labs. They always have the motivation and work ethic. They just need to be armed with the right knowledge specific to them about their DNA and body that they've never been given before. We can give them.....and you that information to take your athletic performance to the next level. If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Diet and Nutrition Optimization: '}</span>\n <span>\n Based on what you have told me so far I think that the diet changes will be beneficial for you regardless of your genetic predispositions and current labs. Once we are able to add those two additional pieces of info we can make more definitive dietary recommendations. There are important genetic and lab markers that determine how sensitive you are to things like saturated fat, how well you absorb vitamins and minerals. Some individuals tolerate a high fat diet while others are predisposed to better health with a higher carbohydrate diet. Our genetic algorithm uses polygenic risk scores to help us tailor a diet plan just for you! If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Improving Sleep and Proper Recovery: '}</span>\n <span>\n There might not be one more important factor to improve health and welling being as much as sleep. We view multiple SNPs that impact sleep like melatonin receptor SNP MTNR1A and ADORA2. However, even knowing these predisposition sleep habits can be difficult to change. That is why we recommend the sleep tracking device like Oura which we can view and help you make methodical changes based on your own personal N of 1 studies. As a health coach helping you improve sleep will be my top priority. If the DNA, Oura ring, and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n <Box mt={2}>\n <span className={classes.smallTitle}>{'Specific Medical Concern: '}</span>\n <span>\n We first look at the person as a whole by taking multiple data points into consideration. Although heartburn occurs in the stomach we must also make sure that gut biome, stress, sleep and all other factors are corrected. We view disease treatment and prevention from a holistic prospective and allow genetic predispositions to help guide our approach and interventions. We'll look at you as whole person, not a collection of organ systems to fix. Then we'll identify what areas need to be optimized for the entire system to work flawlessly. That will include an objective specific global optimization score calculated by our algorithm and we'll fix that first. Once your optimized as a whole, the vast majority of specific complaints just get better. If it doesn't, then we'll dive into specialty treatment for the issue. If the DNA and full lab panel don't fit in your budget, then we could start with just DNA and a smaller lab panel.\n </span>\n </Box>\n </Box>\n </Box> :\n <Box mt={5} mb={2}>\n <Box>\n <span className={classes.endSectionTitle}>For Precision and Optimization Plans Only</span>\n </Box>\n <Box display=\"flex\" mt={3}>\n <Box display=\"flex\">\n <Box p={1}>\n <span>\n No\n </span>\n </Box>\n <Box ml={3}>\n <FormControlLabel\n label=\"\"\n control={\n <Switch\n checked={state.isOrderedInitialLabsCollected}\n onChange={handleIsOrderedInitialLabsCollectedChanged}\n color=\"default\"\n />\n }\n />\n </Box>\n <Box p={1}>\n <span>\n Yes\n </span>\n </Box>\n </Box>\n <Box ml={5} p={1}>\n <span className=\"text-medium\">Have you ordered or had your initial labs collected?</span>\n </Box>\n </Box>\n {\n state.isOrderedInitialLabsCollected ?\n <Box mt={3}>\n <span>\n Since you've made the decision to obtain our recommended lab panel in the initial\n phase, we will be able to give you the best picture of your health when combined\n with your genetics. After your genetics and labs have resulted we will call you\n to schedule you for your first visit with your provider. Do you have any questions?\n </span>\n </Box> :\n <Box mt={3}>\n <span>\n For both the precision care and optimization plans our clinicians are able to\n combine labs with your genetics to get a full picture of how your genetics are\n interacting with your day to day life. Our lab panel has multiple cholesterol,\n hormone, and inflammatory markers that allow us to calculate risks and recommend\n more precise interventions. By just utilizing your genetic information we can\n still evaluate these risks but the combination of both is a much better picture\n of your current health. We have negotiated with LabCorp to obtain the most\n comprehensive panel at the cheapest price.\n </span>\n </Box>\n }\n </Box>\n }\n </Box>\n </>\n </OptionalComponent>\n\n <Box py={10}>\n {\n !state.isProcessing &&\n <Box mt={5} pb={5} display='flex' alignItems='center' justifyContent=\"space-between\">\n <Box display=\"flex\">\n <Box>\n <WildHealthButton\n width={195}\n size=\"large\"\n style={{ whiteSpace: 'nowrap' }}\n disabled={isFutureAppointment(state.note) || state.note?.isCompleted || state.isProcessing || !isCanCompleteNote()}\n id='sing-physical-history'\n onClick={() => handleSaveAndComplete()}\n >\n <span>Sign and Complete</span>\n </WildHealthButton>\n </Box>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSaveAsDraft()}\n >\n <span>Save as Draft</span>\n </WildHealthButton>\n </Box>\n <FeatureComponent featureFlag={FeatureFlag.SignOffNotes}>\n <Box ml={2}>\n <WildHealthButton\n width={151}\n style={{ whiteSpace: 'nowrap' }}\n size=\"large\"\n disabled={state.note?.isCompleted || state.isProcessing || !state.note}\n id='sing-physical-history'\n color=\"secondary\"\n onClick={() => handleSignOff()}\n >\n <span>Send for Approval</span>\n </WildHealthButton>\n </Box>\n </FeatureComponent>\n </Box>\n <Box>\n <WildHealthButton\n size=\"large\"\n width={111}\n disabled={state.isProcessing || !canDiscardNote(stateContext.note)}\n id='cancel-physical-history'\n onClick={() => { handleDiscard() }}\n color='tertiary'\n >\n Discard\n </WildHealthButton>\n </Box>\n </Box>\n }\n {\n state.isProcessing &&\n <Box display=\"flex\" justifyContent=\"center\">\n <Box>\n <CircularProgress size={24} style={{ color: colors.main }} />\n </Box>\n </Box>\n }\n <SignOffDialogComponent />\n </Box>\n </>\n );\n\n\n const fillArrayWithNoteLogs = (array: NoteLogModel[], questionnaire: QuestionnaireResultModel, namesMap: KeyMap[]) => {\n namesMap.forEach(name => {\n const question = questionnaire.answers.find(a => a.key === name.Key1);\n if (question) {\n if (CheckManyToTextField.find(i => i === name.Key2)) {\n const answer: CheckAnswer = JSON.parse(question.value);\n if (answer) {\n let value = answer.v.join('\\n');\n if (answer.o) {\n value += `\\n${answer.o}`;\n }\n array.push({ key: name.Key2, value: value });\n }\n } else {\n array.push({ key: name.Key2, value: question.value });\n }\n }\n });\n }\n\n const autoSave = () => {\n if (stateContext.isChanged && !stateContext.isAutoSaving && !state.isFirstSaveOriginalNote && isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n if (!createInitialConsultComponentValidator.stateIsValid(stateContext)) {\n return;\n }\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n notesService.saveAsDraft(getData(stateContext), patientsQuery.getTargetPatientIsPremium()).subscribe(note => {\n setState(state => ({\n ...state,\n note: {\n ...state.note,\n id: state?.note?.id ?? note.id,\n title: note.title,\n visitDate: note.visitDate,\n },\n isChanged: false,\n isAutoSaving: false,\n }));\n })\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n autoSaveTimer.subscribe(() => {\n autoSave()\n }),\n onEmit<PatientModel>(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n isFreeTrial: targetPatient.subscription?.paymentPlan?.isTrial ?? false\n }));\n }\n })\n ];\n\n if (note && !originalNote) {\n notesService.getContentByEmployee(note.id, patientId).subscribe(result =>\n setState(state => ({\n ...state,\n isLoading: false,\n isNew: false,\n recommendations: JSON.parse(result.content),\n internalContent: result.internalContent,\n logs: result.logs\n })));\n } else {\n\n setState(state => ({\n ...state,\n isAutoSaving: true\n }));\n\n if (originalNote) {\n notesService.getContentByEmployee(originalNote.id, patientId).subscribe(result => {\n const content = JSON.parse(result.content);\n setState(state => ({\n ...state,\n isNoteContentLoading: false,\n recommendations: content,\n internalContent: result.internalContent,\n isNew: false,\n logs: result.logs,\n title: originalNote.title\n }));\n\n notesService.saveAsDraft(getSaveModelFromOriginalNote(content), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false,\n isFirstSaveOriginalNote: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n });\n }\n\n else {\n notesService.saveAsDraft(getData(state), patientsQuery.getTargetPatientIsPremium()).subscribe(\n (note) => {\n setState(state => ({\n ...state,\n note: note,\n isAutoSaving: false\n }))\n },\n () => {\n snackService.error('Note already exists for this appointment.');\n }\n );\n }\n\n\n questionnaireService.getLatestResults(patientId, [QuestionnaireType.HealthLog, QuestionnaireType.Initial]).subscribe(questionnaireResults => {\n const answers: NoteLogModel[] = [];\n\n if (questionnaireResults.length) {\n const results = questionnaireResults\n .filter(x => x.submittedAt)\n .sort((r1, r2) => {\n return new Date(r1.submittedAt).getTime() - new Date(r2.submittedAt).getTime();\n });\n\n const initial = results?.filter(q => q.questionnaire.type === QuestionnaireType.Initial)?.pop();\n const healthLog = results?.filter(q => q.questionnaire.type === QuestionnaireType.HealthLog)?.pop();\n\n if (initial) {\n fillArrayWithNoteLogs(answers, initial, InitialConsultToInitialQuestionNamesMap);\n }\n if (healthLog) {\n fillArrayWithNoteLogs(answers, healthLog, InitialConsultToHealthLogQuestionNamesMap);\n }\n }\n\n setState(state => ({\n ...state,\n note: note,\n logs: answers,\n isLoading: false\n }));\n });\n }\n\n patientsService.get(patientId, DataSpecificationsEnum.PatientInitialConsultSpecification);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId, note]);\n\n return [\n state,\n internalNotes,\n questionnaire,\n medicationSupplements,\n scriptsGoal,\n recommendationsHeader,\n recommendationsWithScripts,\n endOfTemplate,\n noteName,\n titleTextBox\n ];\n}\n","import { Box, Grid } from '@material-ui/core';\nimport React from 'react';\nimport {AppointmentConfigurationModel, NoteModel} from \"../../../models/notes.models\";\nimport { CreateNote } from '../../createNote/CreateNote';\nimport { useFacade } from './createInitialConsultComponentOld.hooks';\nimport { useStyles } from '.././createInitialConsultComponent.styles';\n\nexport interface InitialConsultComponentProps {\n note?: NoteModel,\n patientId: number;\n appointmentId?: number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n handleGoBack: (boolean?) => void;\n goBackTitle: string;\n originalNote?: NoteModel;\n}\n\nexport const CreateInitialConsultComponentOld: React.FC<InitialConsultComponentProps> = (props: InitialConsultComponentProps) => {\n const {\n note,\n patientId,\n appointmentId,\n handleGoBack,\n goBackTitle,\n originalNote\n } = props;\n\n const classes = useStyles();\n const [\n {\n isLoading,\n },\n internalNotes,\n questionnaire,\n medicationSupplements,\n scriptsGoal,\n recommendationsHeader,\n recommendations,\n endOfTemplate,\n noteName,\n titleTextBox,\n ] = useFacade(patientId, note, classes, handleGoBack, appointmentId, originalNote);\n\n return (\n <Box m={5} mt={0} pt={3}>\n <CreateNote\n isLoading={isLoading}\n noteName={noteName}\n handleGoBack={handleGoBack}\n goBackTitle={goBackTitle}\n titleTextBox={titleTextBox}\n >\n <Box mt={5}>\n <Grid\n container\n spacing={5}\n direction='row'\n justify='center'\n alignItems='flex-start'\n >\n <Grid item xs={7}>\n {internalNotes}\n {questionnaire}\n {medicationSupplements}\n </Grid>\n\n <Grid item xs={5}>\n {\n scriptsGoal\n }\n </Grid>\n\n {recommendationsHeader}\n {recommendations}\n\n <Grid item xs={12}>\n {endOfTemplate}\n </Grid>\n </Grid>\n </Box>\n </CreateNote>\n </Box>\n );\n}\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n question: {\n color: colors.gray1,\n fontWeight: 500,\n fontSize: 16,\n },\n description: {\n color: colors.gray2,\n fontWeight: 400,\n fontSize: 16,\n },\n answer: {\n color: colors.black,\n fontWeight: 400,\n fontSize: 16,\n },\n withDots: {\n listStyleType: 'disc',\n marginLeft: 24,\n },\n subQuestion: {\n fontWeight: 400\n },\n subAnswer: {\n fontWeight: 500\n }\n })\n);\n","import React from 'react';\nimport { Box, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport {\n CheckAnswer,\n emptyCheckAnswer,\n QuestionModel,\n QuestionnaireModel,\n QuestionnaireResultModel,\n QuestionType\n} from \"../../models/questionnaire.models\"\nimport { useStyles } from './AnswerComponent.styles'\nimport { QuestionRateComponent } from \"../questionComponent/QuestionRateComonent\";\nimport { groupAnswerList, subQuestionList } from \"../../static/detailedQuestionnaire.static\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { TextMarkdownComponent } from '../../../notes/components/textMarkdownComponent/TextMarkdownComponent';\nimport { ReactComponent as DotIcon } from '@img/icons/Dot.svg';\n\nexport interface AnswerComponentProps {\n questionnaire?: QuestionnaireModel;\n result?: QuestionnaireResultModel;\n question: QuestionModel;\n answer: string | null;\n componentInNotes?: boolean;\n}\n\nconst parseCheckMany = (value: string) => {\n let checkAnswer: CheckAnswer;\n\n try {\n checkAnswer = JSON.parse(value);\n\n if (!checkAnswer) {\n return emptyCheckAnswer();\n }\n\n if (!Array.isArray(checkAnswer.o) && typeof checkAnswer.o === 'string') {\n checkAnswer.o = [checkAnswer.o]\n }\n\n return checkAnswer;\n } catch (e) {\n return emptyCheckAnswer();\n }\n}\n\nexport const AnswerComponent: React.FC<AnswerComponentProps> = (props: AnswerComponentProps) => {\n const {\n questionnaire,\n result,\n question,\n answer,\n componentInNotes = false,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderNowResult = () => {\n return <span>(no answer)</span>\n }\n\n const renderAnswer = (answer: string, question: QuestionModel) => {\n if (question.type === QuestionType.Rate) {\n return <QuestionRateComponent\n answer={answer}\n handleChanges={() => { }}\n question={question}\n inline={false}\n error={''}\n />\n }\n if (question.type === QuestionType.SelectOne || question.type === QuestionType.CheckOne) {\n return answer;\n }\n if (question.type === QuestionType.CheckMany || question.type === QuestionType.SelectMany) {\n if (!answer || !answer.length) {\n return renderNowResult();\n }\n\n const checkAnswer = parseCheckMany(answer)\n\n if ((!checkAnswer.v || !checkAnswer.v.length) && (!checkAnswer.o || !checkAnswer.o.length)) {\n return renderNowResult();\n }\n\n return (\n <ul itemType=\"none\">\n {checkAnswer.v.map((variant, i) => (\n <li key={i}>\n <Box display=\"flex\" alignItems=\"center\">\n <Box>\n <DotIcon style={{ width: '8px', height: '8px' }} />\n </Box>\n <Box ml={1}>\n {variant}\n </Box>\n </Box>\n {\n groupAnswerList.includes(question.name) && questionnaire.questions.filter(x => x.parentAnswers.includes(variant)).map(q => (\n <Box>\n <span className={classes.subQuestion}>{q.displayName}: <span className={classes.subAnswer}>{result.answers.find(x => x.key === q.name)?.value}</span></span>\n </Box>\n ))\n }\n </li>\n ))}\n {\n question.allowOther && checkAnswer.o && checkAnswer.o.length > 0 &&\n checkAnswer.o.map((variant, i) => (\n\n <li key={i}>\n <Box display=\"flex\">\n <Box>\n <DotIcon style={{ width: '8px', height: '8px' }} />\n </Box>\n <Box ml={1} className={commonClasses.breakWord}>\n {variant}\n </Box>\n </Box>\n </li>\n ))\n }\n </ul>\n )\n }\n return answer && answer.length\n ? componentInNotes ? <TextMarkdownComponent content={answer} /> : <span>{answer}</span>\n : renderNowResult();\n }\n\n return (\n <>\n {\n question && !subQuestionList.includes(question.name) &&\n <Box pt={!isSmallScreen && 2}>\n {\n question.displayName && question.displayName.length &&\n <Box minWidth={1 / 5} mr={3} pb={1}>\n <span className={classes.question}>{question.displayName}</span>\n </Box>\n }\n {\n question.description && question.description.length &&\n <Box minWidth={1 / 5} mr={3} pb={1}>\n <span className={classes.description}>{question.description}</span>\n </Box>\n }\n <Box className={classes.answer}>\n {\n answer && answer.length\n ? renderAnswer(answer, question)\n : renderNowResult()\n }\n </Box>\n </Box>\n }\n </>\n )\n}","import React from \"react\";\nimport { Box, Divider, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { QuestionnaireSection } from \"../../../questionnaire/models/questionnaire.models\";\nimport { NoteLogModel } from \"../../models/notes.models\";\nimport { AnswerComponent } from \"../../../questionnaire/components/answerComponent/AnswerComponent\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\n\ninterface NoteQuestionnaireResultProps {\n questionnaire: QuestionnaireSection[];\n logs: NoteLogModel[];\n}\n\nexport const NoteQuestionnaireResult: React.FC<NoteQuestionnaireResultProps> = (props: NoteQuestionnaireResultProps) => {\n const {\n questionnaire,\n logs\n } = props;\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n <Box>\n <Box>\n <span className={isSmallScreen ? clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack) : \"size-1_5 text-medium uppercase\"}>Questionnaire</span>\n </Box>\n {isSmallScreen && <Box py={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>}\n {\n questionnaire.map((section, sectionIndex) =>\n <React.Fragment key={sectionIndex}>\n <Box mt={!isSmallScreen && 5} mb={isSmallScreen && 2}>\n <span className={isSmallScreen ? clsx(commonClasses.size16, commonClasses.textRegular, commonClasses.colorBlack, commonClasses.capitalize) : \"size-1_25 text-medium uppercase\"}>\n {section.name}\n </span>\n </Box>\n {isSmallScreen && sectionIndex > 0 && <Box pb={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>}\n <Box mb={isSmallScreen ? \"30px\" : 10}>\n {\n section.questions.map((question, index) =>\n <Box key={index} mb={isSmallScreen && \"20px\"}>\n <AnswerComponent\n answer={logs.find(x => x.key === question.name)?.value ?? ''}\n question={question}\n componentInNotes\n />\n </Box>\n )\n }\n </Box>\n </React.Fragment>\n )\n }\n </Box>\n )\n}","import React from \"react\";\nimport { NoteRecommendation } from \"../../../constants/initialConsult.constants\";\nimport { Box, Divider, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport { WildHealthPlaceHolder } from \"../../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useStyles } from '.././NoteRecommendationsComponent.styles'\nimport { TextMarkdownComponent } from \"../../textMarkdownComponent/TextMarkdownComponent\";\nimport clsx from 'clsx';\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\n\ninterface NoteRecommendationsComponentProps {\n recommendations: NoteRecommendation[];\n}\n\nexport const NoteRecommendationsComponentOld: React.FC<NoteRecommendationsComponentProps> = (props: NoteRecommendationsComponentProps) => {\n const { recommendations } = props;\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderRecommendations = () => {\n return recommendations.map((x, i) => {\n return (\n <Box pb={3} key={i}>\n <Box>\n <span className={isSmallScreen ? clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorGray1) : \"size-1_25 text-medium uppercase\"}>\n {x.name}\n </span>\n </Box>\n <Box mt={isSmallScreen ? \"10px\" : 2}>\n <TextMarkdownComponent content={x.content} classLink={classes.renderText} />\n </Box>\n </Box>\n )\n })\n }\n\n return (\n <Box>\n <Box>\n <span className={isSmallScreen ? clsx(commonClasses.size16, commonClasses.textMedium, commonClasses.colorBlack) : \"size-1_5 text-medium uppercase\"}>Recommendations</span>\n </Box>\n {isSmallScreen && <Box py={2}>\n <Divider className={commonClasses.renderDivider} />\n </Box>}\n <Box mt={!isSmallScreen && 3}>\n {\n !recommendations || !recommendations.length\n ? <WildHealthPlaceHolder message=\"No recommendations\" />\n : renderRecommendations()\n }\n </Box>\n </Box>\n )\n}","import {Box} from \"@material-ui/core\";\nimport React, {useState} from \"react\";\nimport {\n AppointmentConfigurationModel,\n downloadNoteOptions,\n NoteContentModel,\n NoteModel,\n NotesType\n} from \"../../models/notes.models\";\nimport {notesService} from \"../../services/notes.service\";\nimport {CreateFollowUpComponent} from \"../createFollowUp/CreateFollowUpComponent\";\nimport {CreateInitialConsultComponent} from \"../createInitialConsult/CreateInitialConsultComponent\";\nimport {CreateSimpleComponent} from \"../createSimple/CreateSimpleComponent\";\nimport {FollowUpComponent} from '../followUp/FollowUpComponent';\nimport {SimpleComponent} from '../simple/SimpleComponent';\nimport {InitialConsultComponent} from '../initialConsult/InitialConsultComponent';\nimport {ManagedNotesCardsComponent} from '../managedNotesCards/ManagedNotesCardsComponent';\nimport {\n CreateHistoryAndPhysicalNoteComponent\n} from \"../createHistoryAndPhysicalComponent/CreateHistoryAndPhysicalNoteComponent\";\nimport {\n CreateHistoryAndPhysicalFollowUpNoteComponent\n} from \"../createHistoryAndPhysicalFollowUpComponent/CreateHistoryAndPhysicalFollowUpNoteComponent\";\nimport {CreateSoapNoteComponent} from \"../createSoapComponent/CreateSoapNoteComponent\";\nimport {HistoryAndPhysicalNoteComponent} from \"../historyAndPhysicalComponent/HistoryAndPhysicalComponent\";\nimport {SoapNoteComponent} from \"../soapNoteComponent/SoapNoteComponent\";\nimport {\n HistoryAndPhysicalFollowUpNoteComponent\n} from \"../historyAndPhysicalFollowUpComponent/HistoryAndPhysicalFollowUpComponent\";\nimport {snackService} from \"../../../common/snack/state\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {handleDownloadNoteByEmployeePdfBd} from \"../../helpers/noteHelpers\";\nimport {\n CreateHistoryAndPhysicalGroupVisitNoteComponent\n} from \"../createHistoryAndPhysicalGroupVisitComponent/CreateHistoryAndPhysicalGroupVisitNoteComponent\";\nimport {\n HistoryAndPhysicalGroupVisitNoteComponent\n} from \"../historyAndPhysicalGroupVisitComponent/HistoryAndPhysicalGroupVisitComponent\";\nimport {NonAppointmentsNoteTypes} from \"../../constants/nonAppointmentNoteTypes\";\nimport {notesStore} from \"../../stores/notes\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {UserType} from \"../../../auth/models/auth.enums\";\nimport {CreateInitialConsultComponentOld} from \"../createInitialConsult/Old/createInitialConsultOldComponent\";\nimport {InitialConsultComponentOld} from \"../initialConsult/Old/InitialConsultComponentOld\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\nenum NotesStates {\n Collection = 0,\n InitialConsult = 1,\n CreateInitialConsult = 2,\n FollowUp = 3,\n CreateFollowUp = 4,\n Internal = 5,\n CreateInternal = 6,\n Blank = 7,\n CreateBlank = 8,\n HistoryAndPhysicalInitial = 9,\n CreateHistoryAndPhysicalInitial = 10,\n HistoryAndPhysicalFollowUp = 11,\n CreateHistoryAndPhysicalFollowUp = 12,\n HistoryAndPhysicalGroupVisit = 13,\n CreateHistoryAndPhysicalGroupVisit = 14,\n Soap = 15,\n CreateSoap = 16,\n InitialConsultOld = 17,\n CreateInitialConsultOld = 18\n}\n\nexport interface ManageNotesComponentState {\n targetNote: NoteModel;\n viewState: NotesStates;\n activeContent: NoteContentModel;\n downloadingNoteId: Number | null;\n isOpen: boolean;\n appointmentId: Number | null;\n appointmentConfiguration: AppointmentConfigurationModel | null;\n type: NotesType;\n isEdit: boolean;\n originalNote: NoteModel;\n}\n\nexport function useFacade(patientId: number | null): [JSX.Element, boolean, Function, Function, Function, Function] {\n const [state, setState] = useState({\n viewState: NotesStates.Collection,\n targetNote: null,\n activeContent: null,\n downloadingNoteId: null,\n isOpen: false,\n appointmentId: null,\n appointmentConfiguration: null,\n type: null,\n isEdit: false,\n originalNote: null\n } as ManageNotesComponentState);\n\n const flags = useFlags();\n\n const handleGoToNotes = () => {\n setState({\n ...state,\n targetNote: null,\n viewState: NotesStates.Collection,\n originalNote: null,\n });\n }\n\n const handleGoToCreateNote = (type: NotesType) => {\n let viewState: NotesStates;\n\n switch (type) {\n case NotesType.Initial:\n viewState = NotesStates.CreateInitialConsult;\n break;\n case NotesType.FollowUp:\n viewState = NotesStates.CreateFollowUp;\n break;\n case NotesType.Internal:\n viewState = NotesStates.CreateInternal;\n break;\n case NotesType.Blank:\n viewState = NotesStates.CreateBlank;\n break;\n case NotesType.Soap:\n viewState = NotesStates.CreateSoap;\n break;\n case NotesType.HistoryAndPhysicalInitial:\n viewState = NotesStates.CreateHistoryAndPhysicalInitial;\n break;\n case NotesType.HistoryAndPhysicalFollowUp:\n viewState = NotesStates.CreateHistoryAndPhysicalFollowUp;\n break;\n case NotesType.HistoryAndPhysicalGroupVisit:\n viewState = NotesStates.CreateHistoryAndPhysicalGroupVisit;\n break;\n default:\n break;\n }\n\n setState(state => ({\n ...state,\n viewState: viewState,\n targetNote: null\n }));\n }\n\n const handleGoToEditNote = (note: NoteModel) => {\n let viewState: NotesStates;\n\n switch (note.type) {\n case NotesType.Initial:\n viewState = NotesStates.CreateInitialConsult;\n break;\n case NotesType.FollowUp:\n viewState = NotesStates.CreateFollowUp;\n break;\n case NotesType.Internal:\n viewState = NotesStates.CreateInternal;\n break;\n case NotesType.Blank:\n viewState = NotesStates.CreateBlank;\n break;\n case NotesType.Soap:\n viewState = NotesStates.CreateSoap;\n break;\n case NotesType.HistoryAndPhysicalInitial:\n viewState = NotesStates.CreateHistoryAndPhysicalInitial;\n break;\n case NotesType.HistoryAndPhysicalFollowUp:\n viewState = NotesStates.CreateHistoryAndPhysicalFollowUp;\n break;\n case NotesType.HistoryAndPhysicalGroupVisit:\n viewState = NotesStates.CreateHistoryAndPhysicalGroupVisit;\n break;\n default:\n break;\n }\n\n setState(state => ({\n ...state,\n viewState: viewState,\n targetNote: null,\n isEdit: true,\n originalNote: note\n }));\n }\n\n const handleSelectAppointmentDialog = (open: boolean) => {\n setState(state => ({\n ...state,\n isOpen: open,\n appointmentId: open ? null : state.appointmentId\n }));\n }\n\n const handleChangeSelectAppointment = (appointmentId: number) => {\n setState(state => ({\n ...state,\n appointmentId: appointmentId\n }));\n }\n\n const handleConfigureAppointment = (configuration: AppointmentConfigurationModel) => {\n if (!patientsQuery.getTargetPatient()?.isPremium) {\n return;\n }\n\n setState(state => ({\n ...state,\n appointmentId: null,\n appointmentConfiguration: configuration\n }));\n\n handleSelectAppointmentDialog(false);\n handleGoToCreateNote(state.type);\n }\n\n const handleSelectAppointmentToCreateNote = (type: NotesType) => {\n if (NonAppointmentsNoteTypes.includes(type) || !authQuery.isDefaultPractice()) {\n handleGoToCreateNote(type);\n return;\n }\n\n setState(state => ({\n ...state,\n type: type\n }));\n\n handleSelectAppointmentDialog(true);\n }\n\n const handleSubmitSelectAppointment = () => {\n if (state.appointmentId === 0 || state.appointmentId == null) {\n if (!patientsQuery.getTargetPatient()?.isPremium) {\n snackService.error(\"There was an error while attaching a note.\");\n handleSelectAppointmentDialog(false);\n return;\n }\n }\n\n handleSelectAppointmentDialog(false);\n handleGoToCreateNote(state.type);\n }\n\n\n const handleGoToNote = (note: NoteModel) => {\n if (note.deletedBy) {\n return;\n }\n\n notesStore.resetTargetContent()\n\n let viewState: NotesStates;\n\n switch (note.type) {\n case NotesType.Initial:\n switch (note.isCompleted) {\n case true:\n if(note.isOldIcc){\n viewState = NotesStates.InitialConsultOld\n break;\n }\n viewState = NotesStates.InitialConsult;\n break;\n case false:\n if(note.isOldIcc){\n viewState = NotesStates.CreateInitialConsultOld\n break;\n }\n viewState = NotesStates.CreateInitialConsult;\n break;\n }\n break;\n case NotesType.FollowUp:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.FollowUp;\n break;\n case false:\n viewState = NotesStates.CreateFollowUp;\n break;\n }\n break;\n case NotesType.Internal:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.Internal;\n break;\n case false:\n viewState = NotesStates.CreateInternal;\n break;\n }\n break;\n case NotesType.Blank:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.Blank;\n break;\n case false:\n viewState = NotesStates.CreateBlank;\n break;\n }\n break;\n case NotesType.Soap:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.Soap;\n break;\n case false:\n viewState = NotesStates.CreateSoap;\n break;\n }\n break;\n case NotesType.HistoryAndPhysicalInitial:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.HistoryAndPhysicalInitial;\n break;\n case false:\n viewState = NotesStates.CreateHistoryAndPhysicalInitial;\n break;\n }\n break;\n case NotesType.HistoryAndPhysicalFollowUp:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.HistoryAndPhysicalFollowUp;\n break;\n case false:\n viewState = NotesStates.CreateHistoryAndPhysicalFollowUp;\n break;\n }\n break;\n case NotesType.HistoryAndPhysicalGroupVisit:\n switch (note.isCompleted) {\n case true:\n viewState = NotesStates.HistoryAndPhysicalGroupVisit;\n break;\n case false:\n viewState = NotesStates.CreateHistoryAndPhysicalGroupVisit;\n break;\n }\n break;\n }\n\n setState(state => ({\n ...state,\n targetNote: note,\n viewState: viewState,\n }));\n }\n\n const handleDownloadNotePdf = (note: NoteModel) => {\n if (note.type !== NotesType.Internal) {\n confirmService.confirmAndSelectedNoteViewType(\n 'Select the view type of the note',\n downloadNoteOptions,\n ).subscribe(\n (type) => {\n const isEmployee = type === UserType.Employee;\n setState({ ...state, downloadingNoteId: note.id });\n const cb = () => setState({ ...state, downloadingNoteId: null });\n notesService.downloadNote(note.id, note.name, isEmployee).subscribe(\n cb,\n () => {\n handleDownloadNoteByEmployeePdfBd(note, type, flags).subscribe(cb, cb);\n }\n )\n },\n () => {}\n );\n }\n else {\n setState({ ...state, downloadingNoteId: note.id });\n const cb = () => setState({ ...state, downloadingNoteId: null });\n notesService.downloadNote(note.id, note.name, true).subscribe(\n cb,\n () => {\n handleDownloadNoteByEmployeePdfBd(note, UserType.Employee, flags).subscribe(cb, cb);\n }\n )\n }\n }\n\n const stateViews = new Map<NotesStates, any>([\n [\n NotesStates.Collection,\n {\n component: ManagedNotesCardsComponent,\n props: {\n patientId: patientId,\n handleGoToCreateNote: handleSelectAppointmentToCreateNote,\n handleGoToNote: handleGoToNote,\n handleDownloadNotePdf: handleDownloadNotePdf,\n downloadingNoteId: state.downloadingNoteId,\n handleEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateInitialConsult,\n {\n component: CreateInitialConsultComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n appointmentId: state.appointmentId,\n appointmentConfiguration: state.appointmentConfiguration,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.CreateInitialConsultOld,\n {\n component: CreateInitialConsultComponentOld,\n props: {\n note: state.targetNote,\n patientId: patientId,\n appointmentId: state.appointmentId,\n appointmentConfiguration: state.appointmentConfiguration,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.InitialConsult,\n {\n component: InitialConsultComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoToNotes: handleGoToNotes,\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.InitialConsultOld,\n {\n component: InitialConsultComponentOld,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoToNotes: handleGoToNotes,\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateFollowUp,\n {\n component: CreateFollowUpComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n appointmentId: state.appointmentId,\n appointmentConfiguration: state.appointmentConfiguration,\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.FollowUp,\n {\n component: FollowUpComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoToNotes: handleGoToNotes,\n goBackTitle: \"To Notes\",\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateInternal,\n {\n component: CreateSimpleComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n type: NotesType.Internal,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.Internal,\n {\n component: SimpleComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoToNotes: handleGoToNotes,\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateBlank,\n {\n component: CreateSimpleComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n type: NotesType.Blank,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.Blank,\n {\n component: SimpleComponent,\n props: {\n note: state.targetNote,\n type: NotesType.Blank,\n patientId: patientId,\n handleGoToNotes: handleGoToNotes,\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.Soap,\n {\n component: SoapNoteComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateSoap,\n {\n component: CreateSoapNoteComponent,\n props: {\n note: state.targetNote,\n type: NotesType.Soap,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n appointmentId: state.appointmentId,\n appointmentConfiguration: state.appointmentConfiguration,\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.HistoryAndPhysicalInitial,\n {\n component: HistoryAndPhysicalNoteComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateHistoryAndPhysicalInitial,\n {\n component: CreateHistoryAndPhysicalNoteComponent,\n props: {\n note: state.targetNote,\n type: NotesType.HistoryAndPhysicalInitial,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n appointmentId: state.appointmentId,\n appointmentConfiguration: state.appointmentConfiguration,\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.HistoryAndPhysicalFollowUp,\n {\n component: HistoryAndPhysicalFollowUpNoteComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateHistoryAndPhysicalFollowUp,\n {\n component: CreateHistoryAndPhysicalFollowUpNoteComponent,\n props: {\n note: state.targetNote,\n type: NotesType.HistoryAndPhysicalFollowUp,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n appointmentId: state.appointmentId,\n appointmentConfiguration: state.appointmentConfiguration,\n originalNote: state.originalNote\n }\n }\n ],\n [\n NotesStates.HistoryAndPhysicalGroupVisit,\n {\n component: HistoryAndPhysicalGroupVisitNoteComponent,\n props: {\n note: state.targetNote,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n goBackTitle: \"To Notes\",\n handleGoToEditNote: handleGoToEditNote\n }\n }\n ],\n [\n NotesStates.CreateHistoryAndPhysicalGroupVisit,\n {\n component: CreateHistoryAndPhysicalGroupVisitNoteComponent,\n props: {\n note: state.targetNote,\n type: NotesType.HistoryAndPhysicalGroupVisit,\n patientId: patientId,\n handleGoBack: handleGoToNotes,\n originalNote: state.originalNote\n }\n }\n ]\n ]);\n\n const view = stateViews.get(state.viewState);\n\n return [\n <Box>\n {React.createElement(view.component, view.props)}\n </Box>,\n state.isOpen,\n handleSelectAppointmentDialog,\n handleChangeSelectAppointment,\n handleSubmitSelectAppointment,\n handleConfigureAppointment\n ];\n}","import { Box, Button, ButtonGroup, CircularProgress, Divider, FormControl, Grid, MenuItem, Select } from '@material-ui/core';\nimport ArrowBackIosRoundedIcon from \"@material-ui/icons/ArrowBackIosRounded\";\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport moment from \"moment\";\nimport React from 'react';\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { getInitQuestionnaires, NoteRecommendation } from \"../../../constants/initialConsult.constants\";\nimport { MedicationsSupplementsComponent } from '../../medicationsSupplements/MedicationsSupplementsComponent';\nimport { NoteInternalRecommendationComponent } from \"../../noteInternalRecommendations/NoteInternalRecommendation\";\nimport { NoteQuestionnaireResult } from \"../../noteQuestionnaireResult/NoteQuestionnaireResult\";\nimport { NoteSignatureComponent } from \"../../noteSignature/NoteSignatureComponent\";\nimport { useFacade } from './initialConsultComponentOld.hooks';\nimport { useStyles } from '.././initialConsultComponent.styles';\nimport { NoteModel } from \"../../../models/notes.models\";\nimport { confirmService } from '../../../../../services/confirm.service';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { WildHealthStatusLabel } from '../../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport { IsSectionAmendICC } from '../../../helpers/noteHelpers';\nimport { NoteRecommendationsComponentOld } from '../../noteRecommendations/Old/NoteRecommendationsComponentOld';\n\ninterface InitialConsultComponentProps {\n note: NoteModel;\n patientId: number;\n handleGoToNotes: () => void;\n handleGoToEditNote: (note: NoteModel) => void;\n}\n\nexport const InitialConsultComponentOld: React.FC<InitialConsultComponentProps> = (props: InitialConsultComponentProps) => {\n const {\n note,\n patientId,\n handleGoToNotes,\n handleGoToEditNote\n } = props;\n\n const [\n {\n content,\n medications,\n supplements,\n isPdfDownloading,\n noteId,\n originalContent\n },\n handleDownloadPdf,\n handleChooseNote\n ] = useFacade(patientId, note);\n\n const classes = useStyles();\n\n const isLoading = !content || !note;\n\n if (isLoading)\n return (<WildHealthLinearProgress />)\n\n const renderTitle = () => {\n return <span>{note.name} - {moment(note.visitDate).format(\"ll\")}</span>\n }\n\n const renderInternalNotes = () => {\n return <NoteInternalRecommendationComponent internalContent={content.internalContent} />\n }\n\n const renderMedicationsSupplements = () => {\n return <MedicationsSupplementsComponent medications={medications} supplements={supplements} />\n }\n\n const renderRecommendations = () => {\n const recommendations = JSON.parse(content?.content) as NoteRecommendation[];\n return (\n <NoteRecommendationsComponentOld\n recommendations={recommendations && recommendations.length ? recommendations.filter(x => x.isSelected) : []}\n />\n );\n }\n\n const renderQuestionnaire = () => {\n return <NoteQuestionnaireResult logs={content.logs} questionnaire={getInitQuestionnaires()} />\n }\n\n const handleEditNote = () => {\n confirmService.confirm('Are you sure?', 'Are you sure you wish to amend this note? All changes will be logged.')\n .subscribe(() => {\n handleGoToEditNote(note);\n });\n }\n\n const displayEditButton = () => {\n\n return (\n <Button id=\"edit_current_note\" onClick={() => handleEditNote()}>\n <Box display=\"flex\" alignItems=\"center\" mt={1}>\n <Box>\n <EditIcon />\n </Box>\n </Box>\n </Button>\n );\n }\n\n const displaySelectVersion = () => {\n if (note.amendedNotes?.length == 0 || note.amendedNotes == null || note.amendedNotes.every(x => x.completedAt === null)) {\n return\n }\n\n return (\n <Box display=\"flex\" alignItems=\"center\" justifyContent=\"flex-start\" ml={2}>\n <Box pr={2}>\n <WildHealthStatusLabel color='normal'>Amended Note</WildHealthStatusLabel>\n </Box>\n <Box width=\"120px\">\n <FormControl color='primary' variant=\"outlined\" size=\"small\" fullWidth>\n <Select\n style={{ background: '#FFF' }}\n id=\"choseNoteVersion\"\n value={noteId}\n onChange={(v) => handleChooseNote(v.target.value)}>\n <MenuItem key={0} value={note.id}>Original</MenuItem>\n {\n note.amendedNotes.filter(x => x.completedAt != null).map((note, i) => {\n return <MenuItem key={i + 1} value={note.id}>Amended - {moment(note.completedAt).format(\"MM/DD/YYYY\")}</MenuItem>\n })\n }\n </Select>\n </FormControl>\n </Box>\n </Box>\n );\n }\n\n const displayDownloadPdfButton = () => {\n if (isPdfDownloading === true) {\n return (\n <Button>\n <Box width=\"70px\" display=\"flex\" justifyContent=\"center\">\n <CircularProgress size={24} className={classes.colorMain} />\n </Box>\n </Button >\n )\n }\n return (\n <Button id=\"initial-consult-download-pdf\" onClick={() => {\n handleDownloadPdf(note, content, medications, supplements);\n }}>\n <Box display=\"flex\" alignItems=\"center\" mt={1}>\n <Box>\n <GetAppIcon />\n </Box>\n <Box mt={-1}>\n PDF\n </Box>\n </Box>\n </Button>);\n }\n\n const renderNote = () => {\n return (\n <>\n <Grid container spacing={5}>\n <Grid item xs={7}>\n {\n renderInternalNotes()\n }\n </Grid>\n <Grid item xs={7}>\n {\n renderRecommendations()\n }\n </Grid>\n <Grid item xs={7}>\n {\n renderMedicationsSupplements()\n }\n </Grid>\n <Grid item xs={7}>\n {\n renderQuestionnaire()\n }\n </Grid>\n </Grid>\n {\n originalContent && content &&\n (\n <Box mt={3}>\n <Box py={2}>\n <Divider />\n </Box>\n {\n IsSectionAmendICC(originalContent, content) &&\n <Box>Note was updated.</Box>\n }\n </Box>\n )\n }\n <Box mt={5}>\n <NoteSignatureComponent note={note} noteId={noteId} />\n </Box>\n </>\n )\n }\n\n return (\n <Box m={5} mt={0} pt={3}>\n <Box display=\"flex \" alignItems=\"center\" justifyContent='space-between'>\n <ButtonGroup size=\"large\" variant=\"text\" color=\"default\" aria-label=\"large outlined primary button group\">\n <Button\n id=\"initial-consult-to-notes\"\n onClick={() => handleGoToNotes()}\n startIcon={<ArrowBackIosRoundedIcon />}\n >\n To Notes\n </Button>\n <Button disabled className={classes.title}>\n {\n isLoading\n ? 'Loading . . .'\n : renderTitle()\n }\n </Button>\n {\n displaySelectVersion()\n }\n </ButtonGroup>\n <Box display=\"flex \" alignItems=\"center\">\n {\n displayEditButton()\n }\n {\n displayDownloadPdfButton()\n }\n </Box>\n </Box>\n\n <Box mt={5}>\n <Box mt={5}>\n {\n isLoading\n ? <WildHealthLinearProgress />\n : renderNote()\n }\n </Box>\n </Box>\n </Box>\n );\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { PatientMedicationModel } from \"../../../../patientSupplements/models/patientMedicationModel\";\nimport { PatientSupplementModel } from \"../../../../patientSupplements/models/patientSupplementModel\";\nimport { medicationsService } from \"../../../../patientSupplements/services/medications.service\";\nimport { supplementsService } from \"../../../../patientSupplements/services/supplements.service\";\nimport { patientMedicationsQuery } from \"../../../../patientSupplements/stores/patientMedicationsStore/patientMedications.query\";\nimport { patientSupplementsQuery } from \"../../../../patientSupplements/stores/patientSupplementsStore/patientSupplements.query\";\nimport { GetMaximumVersionOfNote, IsSectionAmendICC } from \"../../../helpers/noteHelpers\";\nimport {downloadNoteOptions, NoteContentModel, NoteModel} from \"../../../models/notes.models\";\nimport { initialConsultNotePdfService, initialConsultNotePdfServiceOld } from \"../../../services/notes-pdf.service\";\nimport { notesService } from \"../../../services/notes.service\";\nimport { notesQuery, notesStore } from \"../../../stores/notes\";\nimport { confirmService } from \"../../../../../services/confirm.service\";\nimport { UserType } from \"../../../../auth/models/auth.enums\";\n\ninterface InitialConsultComponentState {\n note: NoteModel;\n content: NoteContentModel;\n medications: PatientMedicationModel[];\n supplements: PatientSupplementModel[];\n isPdfDownloading: boolean;\n originalContent: NoteContentModel;\n noteId: number;\n}\n\nexport function useFacade(patientId: number, note: NoteModel): [InitialConsultComponentState, Function, Function] {\n const [state, setState] = useState({\n note: note,\n content: null,\n medications: [],\n supplements: [],\n isPdfDownloading: false,\n noteId: GetMaximumVersionOfNote(note).id,\n originalContent: null\n });\n\n const handleDownloadPdf = (note: NoteModel,\n content: NoteContentModel,\n medications: PatientMedicationModel[],\n supplements: PatientSupplementModel[]) => {\n const cb = () => setState({ ...state, isPdfDownloading: false });\n confirmService.confirmAndSelectedNoteViewType(\n 'Select the view type of the note',\n downloadNoteOptions,\n ).subscribe(\n (type) => {\n const isEmployeeView = type === UserType.Employee\n setState({\n ...state,\n isPdfDownloading: true\n });\n\n notesService.downloadNote(state.noteId, note.name, true).subscribe(\n cb,\n () => {\n var result = IsSectionAmendICC(state.originalContent, state.content) ? \"Note was updated.\" : \"\";\n initialConsultNotePdfServiceOld.downloadNotePdf(note, content, medications, supplements, isEmployeeView, state.noteId, result,).subscribe(cb, cb);\n }\n )\n },\n () => { }\n );\n }\n\n const handleChooseNote = (noteIdNew: number) => {\n setState(state => ({\n ...state,\n noteId: noteIdNew,\n isContentLoading: true\n }));\n\n notesService.getContentByEmployee(noteIdNew, patientId).subscribe(\n () => {\n setState(state => ({\n ...state,\n isContentLoading: false\n }))\n }\n );\n }\n\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<NoteContentModel>(notesQuery.targetContent$, targetContent => {\n if (targetContent) {\n if (targetContent.noteId == state.note?.id) {\n setState(state => ({\n ...state,\n content: targetContent,\n originalContent: targetContent,\n isContentLoading: false,\n }));\n } else {\n setState(state => ({\n ...state,\n content: targetContent,\n isContentLoading: false,\n }));\n }\n }\n }),\n onEmit<PatientMedicationModel[]>(patientMedicationsQuery.patientMedications$, medications => {\n setState(state => ({ ...state, medications: medications }));\n }),\n onEmit<PatientSupplementModel[]>(patientSupplementsQuery.patientSupplements$, supplements => {\n setState(state => ({ ...state, supplements: supplements }));\n })\n ];\n notesService.getContentByEmployee(GetMaximumVersionOfNote(note).id, patientId).subscribe(\n () => {\n if (note?.id !== GetMaximumVersionOfNote(note).id) {\n notesService.getContentByEmployee(note.id, patientId, true).subscribe(\n (originalNoteContent) => {\n setState(state => ({\n ...state,\n originalContent: originalNoteContent,\n }))\n }\n );\n }\n }\n );\n\n supplementsService.get(patientId).subscribe();\n medicationsService.get(patientId).subscribe();\n\n return () => {\n notesStore.resetTargetContent()\n subscriptions.map(it => it.unsubscribe())\n };\n }, [note, patientId]);\n\n return [state, handleDownloadPdf, handleChooseNote];\n}","import React from 'react';\nimport { useFacade } from './manageNotesComponent.hooks';\nimport {Box} from \"@material-ui/core\";\nimport { SelectAppointmentToNotesDialog } from '../SelectAppointmentToNotesComponent/SelectAppointmentToNotesDialog';\nimport { OptionalComponent } from '../../../common/components/OptionalComponent';\n\nexport interface ManageNotesComponentProps {\n patientId?: number | null;\n}\n\nexport const ManageNotesComponent: React.FC<ManageNotesComponentProps> = (props: ManageNotesComponentProps) => {\n const [\n view,\n isOpen,\n handleSelectAppointmentDialog,\n handleChangeSelectAppointment,\n handleSubmitSelectAppointment,\n handleConfigureAppointment\n ] = useFacade(props.patientId);\n\n return (\n <Box>\n {view}\n { isOpen &&\n <OptionalComponent>\n <SelectAppointmentToNotesDialog \n handleSubmitSelectAppointment={handleSubmitSelectAppointment} \n handleChangeSelectAppointment={handleChangeSelectAppointment} \n handleSelectAppointmentDialog={handleSelectAppointmentDialog}\n handleConfigureAppointment={handleConfigureAppointment}\n isOpen={isOpen}\n patientId={props.patientId}/>\n </OptionalComponent>\n }\n </Box>\n \n )\n}\n","import {QuestionnaireResultModel} from \"../models/questionnaire.models\";\n\nexport const renderQuestionnaireName = (result: QuestionnaireResultModel) => {\n return result.sequenceNumber\n ? `${result.questionnaire.name} ${result.sequenceNumber}`\n : result.questionnaire.name;\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n color: colors.systemBlack,\n fontSize: '2rem',\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n lineHeight: 1.334,\n },\n subTitle: {\n color: colors.systemBlack,\n fontSize: 16,\n fontFamily: 'Be Vietnam Pro',\n lineHeight: 1.8,\n },\n card: {\n boxShadow: \"0 2px 10px 0 rgba(0, 0, 0, 0.03)\",\n display: \"inline-block\",\n borderRadius: \"4px\",\n width: '100%',\n },\n bgMain: {\n backgroundColor: colors.bg,\n width: '100%'\n },\n cardDivider: {\n backgroundColor: colors.bg,\n margin: 'auto',\n height: 2,\n },\n listItemText: {\n paddingRight: 40,\n },\n })\n);\n","import React from 'react';\nimport { Box } from \"@material-ui/core\";\nimport { QuestionnaireResultModel } from \"../../models/questionnaire.models\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport checked from \"@img/icons/checked.svg\";\nimport clsx from 'clsx';\nimport moment from 'moment';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\n\ninterface CompletedQuestionnaireComponentProps {\n questionnaireResult: QuestionnaireResultModel;\n handleView: (resultId: number) => void;\n}\n\nexport const CompletedQuestionnaireComponent: React.FC<CompletedQuestionnaireComponentProps> = (props: CompletedQuestionnaireComponentProps) => {\n const {\n questionnaireResult,\n handleView\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const renderQuestionnaireName = (result: QuestionnaireResultModel) => {\n return result.sequenceNumber\n ? result.questionnaire.name + ' ' + result.sequenceNumber\n : result.questionnaire.name;\n }\n return (\n <Box className={commonClasses.backgroundGray3} display='flex' alignItems='center' p='10px'>\n <Box>\n <img src={checked} style={{ verticalAlign: 'middle' }} alt='img' />\n </Box>\n <Box ml={2}>\n <Box>\n <span>{renderQuestionnaireName(questionnaireResult)}</span>\n </Box>\n <Box className={clsx(commonClasses.size12, commonClasses.colorGray1)}>\n <span>{moment(toCurrentTimeZone(questionnaireResult.submittedAt)).format('MM/DD/yyyy')}</span>\n </Box>\n </Box>\n <Box ml='auto'>\n <WildHealthButton id=\"completed-questionnaire-view\" color='secondary' onClick={() => handleView(questionnaireResult.id)}>\n View\n </WildHealthButton>\n </Box>\n </Box>\n )\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n titleSection: {\n display: 'flex',\n alignItems: 'center',\n\n [theme.breakpoints.down(\"xs\")]: {\n alignItems: 'flex-start'\n },\n },\n cardTitle: {\n fontSize: 18,\n fontWeight: 500,\n width: '100%',\n paddingLeft: '12px',\n [theme.breakpoints.down(\"xs\")]: {\n paddingLeft: 0,\n marginBottom: '10px'\n },\n },\n description: {\n fontSize: 14,\n color: colors.gray1,\n paddingTop: 16,\n overflow: 'hidden'\n },\n descriptionCollapsed: {\n height: '78px'\n },\n descriptionExpanded: {\n minHeight: '78px'\n },\n cardMain: {\n position: 'relative',\n display: 'flex',\n flexDirection: 'column',\n boxSizing: 'border-box',\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15)\",\n borderRadius: \"2px\",\n border: `1px solid ${colors.stroke}`,\n padding: 20,\n minHeight: 218,\n },\n readMore: {\n color: colors.main,\n cursor: 'pointer',\n fontWeight: 500\n },\n questionImage: {\n [theme.breakpoints.down(\"xs\")]: {\n marginTop: 5,\n },\n },\n statusSection: {\n paddingLeft: '12px',\n display: 'flex',\n alignItems: 'center',\n\n [theme.breakpoints.down(\"xs\")]: {\n display: 'block'\n },\n }\n })\n);","import React, { useRef, useState, useEffect } from 'react';\nimport { Box, Typography, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { QuestionnaireShortModel, QuestionnaireSubType } from \"../../models/questionnaire.models\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { useStyles } from './QuestionnaireCardComponent.styles';\nimport time from \"@img/icons/time.svg\";\nimport note from \"@img/icons/note.svg\";\nimport star from \"@img/icons/star.svg\";\nimport clsx from 'clsx';\nimport { WildHealthStatusLabel } from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport CachedIcon from '@material-ui/icons/Cached';\n\ninterface QuestionnaireCardComponentProps {\n questionnaire: QuestionnaireShortModel;\n completed: boolean;\n resultId?: number | null\n handleStart?: (questionnaireId: number, isDialogOpen: boolean) => void;\n handleComplete?: (questionnaireId: number) => void;\n handleView?: (questionnaireId: number) => void;\n}\n\ninterface QuestionnaireCardComponentState {\n isLongText: boolean;\n isFullText: boolean;\n}\n\nexport const QuestionnaireCardComponent: React.FC<QuestionnaireCardComponentProps> = (props: QuestionnaireCardComponentProps) => {\n const {\n questionnaire,\n completed,\n resultId = null,\n handleStart = () => { },\n handleComplete = () => { },\n handleView = () => { }\n } = props;\n\n const descriptionHeight = 78;\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [state, setState] = useState({\n isLongText: false,\n isFullText: false,\n } as QuestionnaireCardComponentState);\n\n const descriptionRef = useRef(null);\n\n const handleReadMore = () => {\n setState({ ...state, isFullText: !state.isFullText });\n }\n\n const statusLabel = completed\n ? <WildHealthStatusLabel color='good'>Completed</WildHealthStatusLabel>\n : Boolean(resultId)\n ? <WildHealthStatusLabel color='average1'>In Progress</WildHealthStatusLabel>\n : <WildHealthStatusLabel color='normal'>Up Next</WildHealthStatusLabel>\n\n const icons = {\n [QuestionnaireSubType.MedicalHistoryIncomplete]: note,\n [QuestionnaireSubType.GoalsIncomplete]: star,\n [QuestionnaireSubType.DetailedHistoryIncomplete]: time,\n }\n\n const setReadMoreBtn = () => {\n setTimeout(() => {\n setState({ ...state, isLongText: descriptionRef?.current?.scrollHeight > descriptionHeight });\n }, 500)\n }\n\n useEffect(() => {\n setReadMoreBtn() \n }, []);\n\n return (\n <Box className={clsx(classes.cardMain)} width={1}>\n <Box className={classes.titleSection}>\n <img src={icons[questionnaire.subType] ?? time} className={classes.questionImage} alt=\"img\" />\n {isSmallScreen ? (\n <Box className={classes.statusSection}>\n <Typography className={classes.cardTitle}>{questionnaire.name}</Typography>\n {\n statusLabel\n }\n </Box>\n ) : (\n <>\n <Typography className={classes.cardTitle} noWrap>{questionnaire.name}</Typography>\n {\n statusLabel\n }\n </>\n )}\n </Box>\n <div className={clsx(classes.description, state.isFullText ? classes.descriptionExpanded : classes.descriptionCollapsed)} ref={descriptionRef}>\n {questionnaire.description}\n </div>\n {\n state.isLongText &&\n <Box id={`questionnaire-card-read-more-${questionnaire.id}`} onClick={() => handleReadMore()} className={classes.readMore}>\n <span>{state.isFullText ? 'read less' : 'read more'}</span>\n </Box>\n }\n\n <Box mt={2.5} display='flex' justifyContent='space-between'>\n <>\n {\n !Boolean(resultId) &&\n <Box>\n <WildHealthButton id={`questionnaire-card-start-${questionnaire.id}`} onClick={() => handleStart(questionnaire.id, true)} width='max-content'>\n Start\n </WildHealthButton>\n </Box>\n }\n {\n !completed && Boolean(resultId) &&\n <Box>\n <WildHealthButton id={`questionnaire-card-complete-${questionnaire.id}`} onClick={() => handleComplete(resultId)} width='max-content'>\n Complete\n </WildHealthButton>\n </Box>\n }\n {\n completed &&\n <>\n <Box>\n <WildHealthButton id={`questionnaire-card-view-1-${questionnaire.id}`} onClick={() => handleView(resultId)} width='max-content'>\n View\n </WildHealthButton>\n </Box>\n <Box>\n <WildHealthButton id={`questionnaire-card-start-new-${questionnaire.id}`} color=\"secondary\" border=\"none\" onClick={() => handleStart(questionnaire.id, false)} width='max-content'>\n <Box mr={1}>Start New</Box>\n <CachedIcon />\n </WildHealthButton>\n </Box>\n </>\n }\n </>\n </Box>\n </Box>\n )\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n rangeValidationRule,\n stringLengthValidationRule,\n checkManyQuestionValidationRule,\n notWhitespaceValidationRule\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const questionnairesResultListComponentValidator = new GeneralValidator({\n 'MEDICAL_HISTORY_CONDITIONS': [checkManyQuestionValidationRule],\n 'MEDICAL_HISTORY_CONDITIONS_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'MEDICAL_HISTORY_CONDITIONS_FAMILY': [checkManyQuestionValidationRule],\n 'MEDICAL_HISTORY_CONDITIONS_FAMILY_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'MEDICAL_HISTORY_DIABET': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'MEDICAL_HISTORY_DIABET_TYPE': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'MEDICAL_HISTORY_CHOLESTEROL': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'MEDICAL_HISTORY_BLOOD_PRESSURE': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'CORONARY_CALCIUM_SCORE': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'SCORE': [rangeValidationRule(0, 100)],\n 'SMOKING_HISTORY': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'ALCOHOL_HISTORY': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'MEDICATIONS': [],\n 'SUPPLEMENT': [],\n 'ANY_SUPPLEMENTS': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'SUPPLEMENTS': [],\n 'DRUG_ALLERGIES': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'ALLERGIES': [],\n 'SPECIFIC_KIND_OF_DIET': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'RESTRICTED_FOOD': [checkManyQuestionValidationRule],\n 'RESTRICTED_FOOD_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'OILY_FISH': [rangeValidationRule(0, 1000)],\n 'RED_MEAT': [rangeValidationRule(0, 1000)],\n 'PROCESSED_MEAT': [rangeValidationRule(0, 1000)],\n 'SERVINGS_VEGETABLES': [rangeValidationRule(0, 1000)],\n 'SERVINGS_CARBOHYDRATES': [rangeValidationRule(0, 1000)],\n 'SERVINGS_LEGUMES': [rangeValidationRule(0, 1000)],\n 'PRACTICE_FEEDING': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'PRACTICE_FEEDING_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PRIMARY_EXERCISE_GOAL': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'PRIMARY_EXERCISE_GOAL_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'AVERAGE_EXERCISE_TIME': [rangeValidationRule(0, 172)],\n 'PUSH_UPS_PERFORMING': [rangeValidationRule(0, 1000)],\n 'RUN_RUN': [rangeValidationRule(0, 1000)],\n 'REP_BENCH_PRESS': [rangeValidationRule(0, 1000)],\n 'DEADLIFT': [rangeValidationRule(0, 1000)],\n 'REP_SQUAT': [rangeValidationRule(0, 1000)],\n 'AVERAGE_HOURS_OF_SLEEP': [rangeValidationRule(0, 24)],\n 'AVERAGE_HOURS_OF_SLEEP_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'SLEEP_ROUTINE': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'SLEEP_ROUTINE_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'FALL_ASLEEP_NIGHT': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'WAKE_UP': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'RESTED_READY_WAKEUP': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'ENERGY_THROUGHOUT_THE_DAY': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'TYPICAL_STRESS': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'STRESS_OR_PRACTICE_MINDFULNESS': [checkManyQuestionValidationRule],\n 'STRESS_OR_PRACTICE_MINDFULNESS_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORM_YOUR_ROUTINES': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'PERFORM_YOUR_ROUTINES_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'TV_HOURS': [rangeValidationRule(0, 24)],\n 'NON_TV_SCREEN': [rangeValidationRule(0, 24)],\n\n 'YOUR_INTENTION': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'YOUR_EXERCISE_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_EXERCISE_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'EXERCISE_ROUTINE_LOOK_LIKE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_NUTRITION_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_NUTRITION_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'FUTURE_NUTRITION_PLAN': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'TYPE_OF_FOOD_DO_YOU_EAT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_SLEEP_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_SLEEP_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'GOOD_AND_BAD_SLEEP_ROUTINE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_MINDFULNESS_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_MINDFULNESS_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'MINDFULNESS_PRACTICE_LOOK': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_SOCIAL_CONNECTIONS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_SOCIAL_CONNECTION_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'DESCRIBE_SOCIAL_CONNECTIONS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'TAKE_TIME_TO_WALK_OUTSIDE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'TAKE_TIME_TO_WALK_OUTSIDE_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_HAPPINESS_PERFORMANCE': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'HEALTH_FEELING': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'OVERALL_PHYSICAL_HEALTH': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'FREE_CHRONIC_PAIN': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'FREE_CHRONIC_PAIN_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'GET_SICK': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'SICK_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALTH_PHYSICAL_FEELING': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_PHYSICAL_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALTH_MORE_OR_LESS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_MORE_OR_LESS_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_ENJOY_LIFE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_ENJOY_LIFE_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_CONNECTIONS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_CONNECTIONS_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OPTIMISTIC_PESSIMISTIC': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_COACH_THERAPIST': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_COACH_THERAPIST_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'DEPRESSION_BORDERED': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'DEPRESSION_BORDERED_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_INTO_MY_80': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_INTO_MY_80_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OVERALL': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OVERALL_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_METRICS': [checkManyQuestionValidationRule],\n 'PERFORMANCE_METRICS_EXPLAIN': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_ACTIVITY_IMPORTANT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_ACTIVITY_IMPORTANT_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_IMPROVEMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_IMPROVEMENT_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_CONFIDENT_80S': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_CONFIDENT_80S_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_OVERALL': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_OVERALL_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n});","import {IErrorState} from \"../validation/error-state\";\n\nexport const goToError = (state: IErrorState) => {\n const elementId = Object.keys(state.errors)[0];\n const element = document.getElementById(elementId);\n window.scrollTo(0, element.offsetTop);\n}","import React, { useEffect, useState } from 'react';\nimport { Box, Divider } from \"@material-ui/core\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport commonUseStyles from '../../../../common/styles/common.styles';\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { PatientSupplementModel } from '../../../../patientSupplements/models/patientSupplementModel';\nimport { patientSupplementsQuery } from '../../../../patientSupplements/stores/patientSupplementsStore/patientSupplements.query';\nimport { patientsSupplementsService } from '../../../../patientSupplements/services/patientSupplements.service';\nimport { supplementsService } from '../../../../patientSupplements/services/supplements.service';\nimport { Subscription } from 'rxjs';\n\nexport interface SupplementsAnswerComponentProps {\n patientId?: number | null;\n question: string;\n}\n\nexport interface SupplementsAnswerComponentState {\n supplements: PatientSupplementModel[],\n isLoading: boolean\n}\n\nexport const SupplementsAnswerComponent: React.FC<SupplementsAnswerComponentProps> = (props: SupplementsAnswerComponentProps) => {\n const {\n patientId,\n question,\n } = props;\n\n const [state, setState] = useState({\n supplements: [],\n isLoading: true\n } as SupplementsAnswerComponentState)\n\n const commonClasses = commonUseStyles();\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientSupplementModel[]>(patientSupplementsQuery.patientSupplements$, supplements => {\n setState(state => ({\n ...state,\n supplements: supplements\n }));\n })\n ];\n\n const cb = () => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n }\n\n if (patientId) {\n supplementsService.get(patientId).subscribe(cb, cb)\n } else {\n patientsSupplementsService.get().subscribe(cb, cb)\n }\n\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [])\n\n const renderAnswer = () => {\n if (!state.supplements.length) {\n return (\n <Box my={2}>\n <span>(no answer)</span>\n </Box>\n )\n }\n\n return (\n <>\n {\n state.supplements.map((supplement, index) => (\n <React.Fragment key={index}>\n <Box py={2}>\n <Box>\n <span>Name of Supplement: <span className={commonClasses.textMedium}>{supplement.name}</span></span>\n </Box>\n <Box>\n <span>Strength: <span className={commonClasses.textMedium}>{supplement.dosage}</span></span>\n </Box>\n <Box>\n <span>Dosing Instruction: <span className={commonClasses.textMedium}>{supplement.instructions}</span></span>\n </Box>\n </Box>\n <Divider key={`${index}-divider`} />\n </React.Fragment>\n ))\n }\n </>\n )\n }\n const renderContent = (): JSX.Element => {\n if (state.isLoading) {\n return (<WildHealthLinearProgress />)\n }\n\n return (\n <>\n <Box className={commonClasses.colorGray1}>\n <span>{question}</span>\n </Box>\n {\n renderAnswer()\n }\n </>\n )\n }\n\n return (\n <>\n {\n renderContent()\n }\n </>\n )\n}\n","import React, { useEffect, useState } from 'react';\nimport { Box, Divider } from \"@material-ui/core\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport commonUseStyles from '../../../../common/styles/common.styles';\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { PatientMedicationModel } from '../../../../patientSupplements/models/patientMedicationModel';\nimport { patientMedicationsQuery } from '../../../../patientSupplements/stores/patientMedicationsStore/patientMedications.query';\nimport { patientsMedicationsService } from '../../../../patientSupplements/services/patientMedications.service';\nimport { medicationsService } from '../../../../patientSupplements/services/medications.service';\nimport { Subscription } from 'rxjs';\n\nexport interface MedicationsAnswerComponentProps {\n patientId?: number | null;\n question: string;\n}\n\nexport interface MedicationsAnswerComponentState {\n medications: PatientMedicationModel[],\n isLoading: boolean\n}\n\nexport const MedicationsAnswerComponent: React.FC<MedicationsAnswerComponentProps> = (props: MedicationsAnswerComponentProps) => {\n const {\n patientId,\n question,\n } = props;\n\n const [state, setState] = useState({\n medications: [],\n isLoading: true\n } as MedicationsAnswerComponentState)\n\n const commonClasses = commonUseStyles();\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientMedicationModel[]>(patientMedicationsQuery.patientMedications$, medications => {\n setState(state => ({\n ...state,\n medications: medications\n }));\n })\n ];\n\n const cb = () => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n }\n \n\n if (patientId) {\n medicationsService.get(patientId).subscribe(cb, cb)\n } else {\n patientsMedicationsService.get().subscribe(cb, cb)\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [])\n\n const renderAnswer = () => {\n if (!state.medications.length) {\n return (\n <Box mt={2}>\n <span>(no answer)</span>\n </Box>\n )\n }\n\n return (\n <>\n {\n state.medications.map((medication, index) => (\n <>\n <Box key={index} py={2}>\n <Box>\n <span>Name of Medication: <span className={commonClasses.textMedium}>{medication.name}</span></span>\n </Box>\n <Box>\n <span>Strength: <span className={commonClasses.textMedium}>{medication.dosage}</span></span>\n </Box>\n <Box>\n <span>Dosing Instruction: <span className={commonClasses.textMedium}>{medication.instructions}</span></span>\n </Box>\n </Box>\n <Divider key={`${index}-divider`} />\n </>\n ))\n }\n </>\n )\n }\n const renderContent = (): JSX.Element => {\n if (state.isLoading) {\n return (<WildHealthLinearProgress />)\n }\n\n return (\n <>\n <Box className={commonClasses.colorGray1}>\n <span>{question}</span>\n </Box>\n {\n renderAnswer()\n }\n </>\n )\n }\n\n return (\n <>\n {\n renderContent()\n }\n </>\n )\n}","import React, { useEffect, useState } from 'react';\nimport { Box } from \"@material-ui/core\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport commonUseStyles from '../../../../common/styles/common.styles';\nimport WildHealthLinearProgress from \"../../../../common/components/WildHealthLinearProgress\";\nimport { PatientAllergyModel } from '../../../../patientSupplements/models/patientAllergiesModel';\nimport { patientAllergiesQuery } from '../../../../patientSupplements/stores/patientAllergyStore/patientAllergies.query';\nimport { patientAllergiesService } from '../../../../patientSupplements/services/patientAllergiesService';\nimport { Subscription } from 'rxjs';\nimport {useStyles} from '../AnswerComponent.styles'\n\nexport interface AllergiesAnswerComponentProps {\n patientId?: number | null;\n question: string;\n answer: string | null;\n}\n\nexport interface AllergiesAnswerComponentState {\n allergies: PatientAllergyModel[],\n isLoading: boolean\n}\n\nexport const AllergiesAnswerComponent: React.FC<AllergiesAnswerComponentProps> = (props: AllergiesAnswerComponentProps) => {\n const {\n patientId,\n question,\n answer\n } = props;\n\n const allergiesIds = answer.length ? answer.split(',').map(x => +x) : [];\n\n const [state, setState] = useState({\n allergies: [],\n isLoading: false\n } as AllergiesAnswerComponentState)\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientAllergyModel[]>(patientAllergiesQuery.patientAllergies$, allergies => {\n setState(state => ({\n ...state,\n allergies: allergies.filter(x => allergiesIds.find(id => id === x.id) !== undefined)\n }));\n })\n ];\n\n\n if(allergiesIds.length) {\n setState(state => ({...state, isLoading: true}))\n\n if(patientId) {\n patientAllergiesService.getByPatientId(patientId).subscribe(() => {\n setState(state => ({...state, isLoading: false}))\n })\n } else {\n patientAllergiesService.get().subscribe(() => {\n setState(state => ({...state, isLoading: false}))\n })\n }\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [])\n\n const renderAnswer = () => {\n if(!state.allergies.length) {\n return (\n <Box my={2}>\n <span>(no answer)</span>\n </Box>\n )\n }\n\n return (\n <>\n <Box my={2}>\n <ul itemType=\"disc\">\n {state.allergies.map((allergy, i) => (\n <li className={classes.withDots} key={i}>\n <Box my={1} display=\"flex\">\n <span>{`${allergy.name}: ${allergy.reaction}`}</span>\n </Box>\n </li>\n ))}\n </ul>\n </Box>\n </>\n )\n }\n\n const renderContent = (): JSX.Element => {\n if(state.isLoading) {\n return (<WildHealthLinearProgress />)\n }\n\n return (\n <>\n <Box className={commonClasses.colorGray1}>\n <span>{question}</span>\n </Box>\n {\n renderAnswer()\n }\n </>\n )\n }\n\n return (\n <>\n {\n renderContent()\n }\n </>\n )\n}","import { AnswerModel } from \"../models/questionnaire.models\";\n\nexport const hasAnswer = (answers: AnswerModel[], question: string, value: string = null) => {\n const answer = answers.find(x => x.key === question);\n try {\n const data = JSON.parse(answer.value);\n \n if(!data.v.length && !data.o.length)\n {\n return false;\n }\n return value === null || data.v.includes(value);\n\n } catch {\n if(!answer) {\n return false;\n }\n\n const isEqual = !Boolean(value) || answer.value === value;\n\n return answer.value !== null && answer.value !== '' && isEqual;\n }\n}","export class HealthGoalsQuestionNames {\n static readonly YOUR_INTENTION = \"YOUR_INTENTION\";\n static readonly YOUR_EXERCISE_GOALS = \"YOUR_EXERCISE_GOALS\";\n static readonly PERSONAL_EXERCISE_GOAL = \"PERSONAL_EXERCISE_GOAL\";\n static readonly EXERCISE_ROUTINE_LOOK_LIKE = \"EXERCISE_ROUTINE_LOOK_LIKE\";\n static readonly YOUR_NUTRITION_GOALS = \"YOUR_NUTRITION_GOALS\";\n static readonly PERSONAL_NUTRITION_GOAL = \"PERSONAL_NUTRITION_GOAL\";\n static readonly FUTURE_NUTRITION_PLAN = \"FUTURE_NUTRITION_PLAN\";\n static readonly TYPE_OF_FOOD_DO_YOU_EAT = \"TYPE_OF_FOOD_DO_YOU_EAT\";\n static readonly YOUR_SLEEP_GOALS = \"YOUR_SLEEP_GOALS\";\n static readonly PERSONAL_SLEEP_GOAL = \"PERSONAL_SLEEP_GOAL\";\n static readonly GOOD_AND_BAD_SLEEP_ROUTINE = \"GOOD_AND_BAD_SLEEP_ROUTINE\";\n static readonly YOUR_MINDFULNESS_GOALS = \"YOUR_MINDFULNESS_GOALS\";\n static readonly PERSONAL_MINDFULNESS_GOAL = \"PERSONAL_MINDFULNESS_GOAL\";\n static readonly MINDFULNESS_PRACTICE_LOOK = \"MINDFULNESS_PRACTICE_LOOK\";\n static readonly YOUR_SOCIAL_CONNECTIONS = \"YOUR_SOCIAL_CONNECTIONS\";\n static readonly PERSONAL_SOCIAL_CONNECTION_GOAL = \"PERSONAL_SOCIAL_CONNECTION_GOAL\";\n static readonly DESCRIBE_SOCIAL_CONNECTIONS = \"DESCRIBE_SOCIAL_CONNECTIONS\";\n static readonly TAKE_TIME_TO_WALK_OUTSIDE = \"TAKE_TIME_TO_WALK_OUTSIDE\";\n static readonly TAKE_TIME_TO_WALK_OUTSIDE_COMMENT = \"TAKE_TIME_TO_WALK_OUTSIDE_COMMENT\";\n static readonly HEALS_HAPPINESS_PERFORMANCE = \"HEALS_HAPPINESS_PERFORMANCE\";\n static readonly HEALTH_FEELING = \"HEALTH_FEELING\";\n static readonly HEALS_COMMENTS = \"HEALS_COMMENTS\";\n static readonly OVERALL_PHYSICAL_HEALTH = \"OVERALL_PHYSICAL_HEALTH\";\n static readonly FREE_CHRONIC_PAIN = \"FREE_CHRONIC_PAIN\";\n static readonly FREE_CHRONIC_PAIN_COMMENTS = \"FREE_CHRONIC_PAIN_COMMENTS\";\n static readonly GET_SICK = \"GET_SICK\";\n static readonly SICK_COMMENTS = \"SICK_COMMENTS\";\n static readonly HEALTH_PHYSICAL_FEELING = \"HEALTH_PHYSICAL_FEELING\";\n static readonly HEALS_PHYSICAL_COMMENTS = \"HEALS_PHYSICAL_COMMENTS\";\n static readonly HEALTH_MORE_OR_LESS = \"HEALTH_MORE_OR_LESS\";\n static readonly HEALS_MORE_OR_LESS_COMMENTS = \"HEALS_MORE_OR_LESS_COMMENTS\";\n static readonly HAPPINESS_ENJOY_LIFE = \"HAPPINESS_ENJOY_LIFE\";\n static readonly HAPPINESS_ENJOY_LIFE_COMMENT = \"HAPPINESS_ENJOY_LIFE_COMMENT\";\n static readonly HAPPINESS_CONNECTIONS = \"HAPPINESS_CONNECTIONS\";\n static readonly HAPPINESS_CONNECTIONS_COMMENT = \"HAPPINESS_CONNECTIONS_COMMENT\";\n static readonly HAPPINESS_OPTIMISTIC_PESSIMISTIC = \"HAPPINESS_OPTIMISTIC_PESSIMISTIC\";\n static readonly HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT = \"HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT\";\n static readonly HAPPINESS_COACH_THERAPIST = \"HAPPINESS_COACH_THERAPIST\";\n static readonly HAPPINESS_COACH_THERAPIST_COMMENT = \"HAPPINESS_COACH_THERAPIST_COMMENT\";\n static readonly DEPRESSION_BORDERED = \"DEPRESSION_BORDERED\";\n static readonly DEPRESSION_BORDERED_COMMENT = \"DEPRESSION_BORDERED_COMMENT\";\n static readonly HAPPINESS_INTO_MY_80 = \"HAPPINESS_INTO_MY_80\";\n static readonly HAPPINESS_INTO_MY_80_COMMENT = \"HAPPINESS_INTO_MY_80_COMMENT\";\n static readonly HAPPINESS_OVERALL = \"HAPPINESS_OVERALL\";\n static readonly HAPPINESS_OVERALL_COMMENT = \"HAPPINESS_OVERALL_COMMENT\";\n static readonly PERFORMANCE_METRICS = \"PERFORMANCE_METRICS\";\n static readonly PERFORMANCE_METRICS_EXPLAIN = \"PERFORMANCE_METRICS_EXPLAIN\";\n static readonly PERFORMANCE_ACTIVITY_IMPORTANT = \"PERFORMANCE_ACTIVITY_IMPORTANT\";\n static readonly PERFORMANCE_ACTIVITY_IMPORTANT_COMMENT = \"PERFORMANCE_ACTIVITY_IMPORTANT_COMMENT\";\n static readonly PERFORMANCE_IMPROVEMENT = \"PERFORMANCE_IMPROVEMENT\";\n static readonly PERFORMANCE_IMPROVEMENT_COMMENT = \"PERFORMANCE_IMPROVEMENT_COMMENT\";\n static readonly PERFORMANCE_CONFIDENT_80S = \"PERFORMANCE_CONFIDENT_80S\";\n static readonly PERFORMANCE_CONFIDENT_80S_COMMENT = \"PERFORMANCE_CONFIDENT_80S_COMMENT\";\n static readonly PERFORMANCE_OVERALL = \"PERFORMANCE_OVERALL\";\n static readonly PERFORMANCE_OVERALL_COMMENT = \"PERFORMANCE_OVERALL_COMMENT\"; \n}\n\nexport class HealthGoalsSectionNames {\n static readonly INTENTION = \"INTENTION\";\n static readonly EXERCISE_GOALS = \"EXERCISE_GOALS\";\n static readonly NUTRITION_GOALS = \"NUTRITION_GOALS\";\n static readonly SLEEP_GOALS = \"SLEEP_GOALS\";\n static readonly MINDFULNESS_GOALS = \"MINDFULNESS_GOALS\";\n static readonly CONNECTION_GOALS = \"CONNECTION_GOALS\";\n static readonly FEEL_GOOD = \"FEEL_GOOD\";\n static readonly OVERALL_PHSICAL_HEALTH = \"OVERALL_PHSICAL_HEALTH\";\n static readonly CHRONIC_PAIN = \"CHRONIC_PAIN\";\n static readonly HOW_OFTEN_SICK = \"HOW_OFTEN_SICK\";\n static readonly PHYSICAL_80S = \"PHYSICAL_80S\";\n static readonly YEAR_AGO = \"YEAR_AGO\";\n static readonly ENJOY_LIFE = \"ENJOY_LIFE\";\n static readonly GOOD_FELLINGS = \"GOOD_FELLINGS\";\n static readonly OPTIMISTIC_PESSIMISTIC = \"OPTIMISTIC_PESSIMISTIC\";\n static readonly HAVE_COACH = \"HAVE_COACH\";\n static readonly DEPRESSION_BORDERED = \"DEPRESSION_BORDERED\";\n static readonly HAPPY_80S = \"HAPPY_80S\";\n static readonly MENTAL_HEALTH = \"MENTAL_HEALTH\";\n static readonly METRICS_PERFORM = \"METRICS_PERFORM\";\n static readonly METRICS_PERFORM_COMMENT = \"METRICS_PERFORM_COMMENT\";\n static readonly ACTIVITIES_PERFORM = \"ACTIVITIES_PERFORM\";\n static readonly LAST_YEAR_IMPROVEMENTS = \"LAST_YEAR_IMPROVEMENTS\";\n static readonly PERFORMING_80S = \"PERFORMING_80S\";\n static readonly OVERALL_PERFORMANCE = \"OVERALL_PERFORMANCE\";\n}\n\nexport const HealthGoalsQuestionnaireSections = {\n [HealthGoalsSectionNames.INTENTION]: [\n HealthGoalsQuestionNames.YOUR_INTENTION],\n [HealthGoalsSectionNames.EXERCISE_GOALS]: [\n HealthGoalsQuestionNames.YOUR_EXERCISE_GOALS,\n HealthGoalsQuestionNames.PERSONAL_EXERCISE_GOAL,\n HealthGoalsQuestionNames.EXERCISE_ROUTINE_LOOK_LIKE],\n [HealthGoalsSectionNames.NUTRITION_GOALS]: [\n HealthGoalsQuestionNames.YOUR_NUTRITION_GOALS,\n HealthGoalsQuestionNames.PERSONAL_NUTRITION_GOAL,\n HealthGoalsQuestionNames.FUTURE_NUTRITION_PLAN],\n [HealthGoalsSectionNames.SLEEP_GOALS]: [\n HealthGoalsQuestionNames.YOUR_SLEEP_GOALS,\n HealthGoalsQuestionNames.PERSONAL_SLEEP_GOAL,\n HealthGoalsQuestionNames.GOOD_AND_BAD_SLEEP_ROUTINE],\n [HealthGoalsSectionNames.MINDFULNESS_GOALS]: [\n HealthGoalsQuestionNames.YOUR_MINDFULNESS_GOALS,\n HealthGoalsQuestionNames.PERSONAL_MINDFULNESS_GOAL,\n HealthGoalsQuestionNames.MINDFULNESS_PRACTICE_LOOK],\n [HealthGoalsSectionNames.CONNECTION_GOALS]: [\n HealthGoalsQuestionNames.YOUR_SOCIAL_CONNECTIONS,\n HealthGoalsQuestionNames.PERSONAL_SOCIAL_CONNECTION_GOAL,\n HealthGoalsQuestionNames.DESCRIBE_SOCIAL_CONNECTIONS,\n HealthGoalsQuestionNames.TAKE_TIME_TO_WALK_OUTSIDE,\n HealthGoalsQuestionNames.TAKE_TIME_TO_WALK_OUTSIDE_COMMENT],\n [HealthGoalsSectionNames.FEEL_GOOD]: [\n HealthGoalsQuestionNames.HEALTH_FEELING,\n HealthGoalsQuestionNames.OVERALL_PHYSICAL_HEALTH,\n HealthGoalsQuestionNames.HEALS_HAPPINESS_PERFORMANCE,\n HealthGoalsQuestionNames.HEALS_COMMENTS],\n [HealthGoalsSectionNames.HOW_OFTEN_SICK]: [\n HealthGoalsQuestionNames.GET_SICK,\n HealthGoalsQuestionNames.SICK_COMMENTS,\n HealthGoalsQuestionNames.FREE_CHRONIC_PAIN,\n HealthGoalsQuestionNames.FREE_CHRONIC_PAIN_COMMENTS],\n [HealthGoalsSectionNames.PHYSICAL_80S]: [\n HealthGoalsQuestionNames.HEALTH_PHYSICAL_FEELING,\n HealthGoalsQuestionNames.HEALS_PHYSICAL_COMMENTS,\n HealthGoalsQuestionNames.HEALTH_MORE_OR_LESS,\n HealthGoalsQuestionNames.HEALS_MORE_OR_LESS_COMMENTS],\n [HealthGoalsSectionNames.ENJOY_LIFE]: [\n HealthGoalsQuestionNames.HAPPINESS_ENJOY_LIFE,\n HealthGoalsQuestionNames.HAPPINESS_ENJOY_LIFE_COMMENT,\n HealthGoalsQuestionNames.HAPPINESS_CONNECTIONS,\n HealthGoalsQuestionNames.HAPPINESS_CONNECTIONS_COMMENT,\n HealthGoalsQuestionNames.HAPPINESS_OPTIMISTIC_PESSIMISTIC,\n HealthGoalsQuestionNames.HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT],\n [HealthGoalsSectionNames.HAVE_COACH]: [\n HealthGoalsQuestionNames.HAPPINESS_COACH_THERAPIST,\n HealthGoalsQuestionNames.HAPPINESS_COACH_THERAPIST_COMMENT,\n HealthGoalsQuestionNames.DEPRESSION_BORDERED,\n HealthGoalsQuestionNames.DEPRESSION_BORDERED_COMMENT,\n HealthGoalsQuestionNames.HAPPINESS_OVERALL,\n HealthGoalsQuestionNames.HAPPINESS_OVERALL_COMMENT],\n [HealthGoalsSectionNames.METRICS_PERFORM]: [\n HealthGoalsQuestionNames.PERFORMANCE_METRICS,\n HealthGoalsQuestionNames.PERFORMANCE_METRICS_EXPLAIN],\n [HealthGoalsSectionNames.LAST_YEAR_IMPROVEMENTS]: [\n HealthGoalsQuestionNames.PERFORMANCE_IMPROVEMENT,\n HealthGoalsQuestionNames.PERFORMANCE_IMPROVEMENT_COMMENT],\n [HealthGoalsSectionNames.OVERALL_PERFORMANCE]: [\n HealthGoalsQuestionNames.PERFORMANCE_OVERALL,\n HealthGoalsQuestionNames.PERFORMANCE_OVERALL_COMMENT,\n HealthGoalsQuestionNames.PERFORMANCE_CONFIDENT_80S,\n HealthGoalsQuestionNames.PERFORMANCE_CONFIDENT_80S_COMMENT],\n} as { [id: string]: string[] }","import React, { useEffect, useState } from 'react';\nimport { Box, IconButton, Table, TableBody, TableContainer, TableHead } from \"@material-ui/core\";\nimport { Add } from '@material-ui/icons';\nimport { colors } from '../../../common/constants/colors';\nimport { PatientMedicationModel } from '../../../patientSupplements/models/patientMedicationModel';\nimport { PatientMedicationUpdateComponent } from '../../../patientSupplements/components/patientMedicationUpdateComponent/PatientMedicationUpdateComponent';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { SecondaryButton } from '../../../common/components/wildHealthButton/SecondaryButton';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { Subscription } from 'rxjs';\nimport { patientMedicationsQuery } from '../../../patientSupplements/stores/patientMedicationsStore/patientMedications.query';\nimport { QuestionModel, QuestionType } from '../../models/questionnaire.models';\nimport { medicationsService } from '../../../patientSupplements/services/medications.service';\nimport { patientsMedicationsService } from '../../../patientSupplements/services/patientMedications.service';\nimport { MedicalHistoryAndLifestyleQuestionNames } from '../../static/medicalHistroryQuestionnaire.static';\n\nexport interface QuestionnaireMedicationsComponentProps {\n patientId?: number | null;\n question: QuestionModel;\n handleChanges: (field: string, value: string) => void\n}\n\ninterface QuestionnaireMedicationsComponentState {\n medications: PatientMedicationModel[];\n dialogOpened: boolean;\n}\n\nexport const QuestionnaireMedicationsComponent: React.FC<QuestionnaireMedicationsComponentProps> = (props: QuestionnaireMedicationsComponentProps) => {\n const {\n patientId = null,\n question,\n handleChanges\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const [state, setState] = useState({\n medications: [],\n dialogOpened: false\n } as QuestionnaireMedicationsComponentState)\n\n const handleOpenDialog = (open: boolean) => {\n setState({ ...state, dialogOpened: open })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientMedicationModel[]>(patientMedicationsQuery.patientMedications$, medications => {\n if (medications && medications.length) {\n setState(state => ({ ...state, medications: medications }))\n handleChanges(MedicalHistoryAndLifestyleQuestionNames.MEDICATIONS, medications.map(x => x.id).join(','));\n }\n })\n ];\n\n if (patientId) {\n medicationsService.get(patientId).subscribe()\n }\n else {\n patientsMedicationsService.get().subscribe()\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n const renderContent = (): JSX.Element => {\n if (state.medications.length) {\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>Name</WildHealthTableCell>\n <WildHealthTableCell>Dosage</WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.medications.map((medication, index) => (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>{medication.name}</WildHealthTableCell>\n <WildHealthTableCell>{`${medication.dosage}, ${medication.instructions}`}</WildHealthTableCell>\n </WildHealthTableRow>\n ))\n }\n </TableBody>\n </Table>\n </TableContainer>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n <Box>\n <IconButton id=\"questionnaire-medications-open\" data-testid=\"questionnaireMedicationsOpenBtn\" onClick={() => handleOpenDialog(true)}>\n <Add style={{ color: colors.main, backgroundColor: colors.gray3 }} />\n </IconButton>\n </Box>\n <Box>\n <span className={clsx(commonClasses.colorMain, commonClasses.textMedium, commonClasses.size14)}>Add Medication</span>\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box textAlign='center'>\n <Box mt={5}>\n <span className={clsx(commonClasses.colorGray1, commonClasses.textSemiBold, commonClasses.size20, commonClasses.secondaryFont)}>No data yet</span>\n </Box>\n <Box mt={3}>\n <span className={commonClasses.colorGray1}>Add medications by clicking the button below.</span>\n </Box>\n <Box mt={2}>\n <SecondaryButton id=\"questionnaire-medications-add\" data-testid=\"questionnaireMedicationsAddBtn\" onClick={() => handleOpenDialog(true)}>Add Medication</SecondaryButton>\n </Box>\n </Box>\n )\n }\n\n return (\n <>\n <PatientMedicationUpdateComponent\n opened={state.dialogOpened}\n patientId={patientId}\n handleClose={() => handleOpenDialog(false)}\n />\n <Box>\n <span className={commonClasses.textMedium}>{question.displayName}</span>\n {\n (question.type === QuestionType.CheckMany || question.type === QuestionType.SelectMany) &&\n <span className={commonClasses.colorGray1}> (Check all that apply.)</span>\n }\n {\n question.optional &&\n <span className={commonClasses.colorGray1}> (Optional)</span>\n }\n </Box>\n {\n renderContent()\n }\n </>\n )\n}","import React, {useEffect, useState} from 'react';\nimport {Box, IconButton, Table, TableBody, TableContainer, TableHead} from \"@material-ui/core\";\nimport {Add} from '@material-ui/icons';\nimport {colors} from '../../../common/constants/colors';\nimport {PatientSupplementModel, SupplementSource} from '../../../patientSupplements/models/patientSupplementModel';\nimport {\n PatientSupplementsUpdateComponent\n} from '../../../patientSupplements/components/patientSupplementsUpdateComponent/PatientSupplementsUpdateComponent';\nimport {WildHealthTableCell} from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport {WildHealthTableRow} from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport {SecondaryButton} from '../../../common/components/wildHealthButton/SecondaryButton';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {Subscription} from 'recompose';\nimport {\n patientSupplementsQuery\n} from '../../../patientSupplements/stores/patientSupplementsStore/patientSupplements.query';\nimport {QuestionModel, QuestionType} from '../../models/questionnaire.models';\nimport {onEmit} from '../../../common/helpers/on-emit';\nimport {supplementsService} from '../../../patientSupplements/services/supplements.service';\nimport {patientsSupplementsService} from '../../../patientSupplements/services/patientSupplements.service';\nimport {MedicalHistoryAndLifestyleQuestionNames} from '../../static/medicalHistroryQuestionnaire.static';\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {\n PatientSupplementsUpdateFullscriptComponent\n} from \"../../../patientSupplements/components/patientSupplementsUpdateFullscriptComponent/PatientSupplementsUpdateFullscriptComponent\";\n\nexport interface QuestionnaireSupplementsComponentProps {\n patientId?: number | null;\n question: QuestionModel;\n handleChanges: (field: string, value: string) => void\n}\n\ninterface QuestionnaireSupplementsComponentState {\n supplements: PatientSupplementModel[];\n dialogOpened: boolean;\n}\n\nexport const QuestionnaireSupplementsComponent: React.FC<QuestionnaireSupplementsComponentProps> = (props: QuestionnaireSupplementsComponentProps) => {\n const {\n patientId = null,\n question,\n handleChanges\n } = props;\n\n const [state, setState] = useState({\n supplements: [],\n dialogOpened: false\n } as QuestionnaireSupplementsComponentState)\n\n const commonClasses = commonUseStyles();\n\n const handleOpenDialog = (open: boolean) => {\n setState({ ...state, dialogOpened: open })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientSupplementModel[]>(patientSupplementsQuery.patientSupplements$, supplements => {\n if (supplements && supplements.length) {\n setState(state => ({ ...state, supplements: supplements }))\n handleChanges(MedicalHistoryAndLifestyleQuestionNames.SUPPLEMENTS, supplements.map(x => x.id).join(','));\n }\n })\n ];\n\n if (patientId) {\n supplementsService.get(patientId).subscribe()\n }\n else {\n patientsSupplementsService.get().subscribe()\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n const renderContent = (): JSX.Element => {\n if (state.supplements.length) {\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell>Name</WildHealthTableCell>\n <WildHealthTableCell>Dosage</WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.supplements.map((supplement, index) => (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>{supplement.name}</WildHealthTableCell>\n <WildHealthTableCell>{`${supplement.dosage}, ${supplement.instructions}`}</WildHealthTableCell>\n </WildHealthTableRow>\n ))\n }\n </TableBody>\n </Table>\n </TableContainer>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n <Box>\n <IconButton id=\"questionnaire-supplements-open\" data-testid=\"questionnaireSupplementsOpenBtn\" onClick={() => handleOpenDialog(true)}>\n <Add style={{ color: colors.main, backgroundColor: colors.gray3 }} />\n </IconButton>\n </Box>\n <Box>\n <span className={clsx(commonClasses.colorMain, commonClasses.textMedium, commonClasses.size14)}>Add Supplement</span>\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box textAlign='center'>\n <Box mt={5}>\n <span className={clsx(commonClasses.colorGray1, commonClasses.textSemiBold, commonClasses.size20, commonClasses.secondaryFont)}>No data yet</span>\n </Box>\n <Box mt={3}>\n <span className={commonClasses.colorGray1}>Add supplements by clicking the button below.</span>\n </Box>\n <Box mt={2}>\n <SecondaryButton id=\"questionnaire-supplements-add\" data-testid=\"questionnaireSupplementsAddBtn\" onClick={() => handleOpenDialog(true)}>Add Supplement</SecondaryButton>\n </Box>\n </Box>\n )\n }\n\n return (\n <>\n <FeatureComponent notFeatureFlag={FeatureFlag.FullscriptIntegration}>\n <PatientSupplementsUpdateComponent\n opened={state.dialogOpened}\n patientId={patientId}\n handleClose={() => handleOpenDialog(false)}\n />\n </FeatureComponent>\n <FeatureComponent featureFlag={FeatureFlag.FullscriptIntegration}>\n <PatientSupplementsUpdateFullscriptComponent\n opened={state.dialogOpened}\n fullscript\n source={SupplementSource.Intake}\n patientId={patientId}\n handleClose={() => handleOpenDialog(false)}\n />\n </FeatureComponent>\n <Box>\n <span className={commonClasses.textMedium}>{question.displayName}</span>\n {\n (question.type === QuestionType.CheckMany || question.type === QuestionType.SelectMany) &&\n <span className={commonClasses.colorGray1}> (Check all that apply.)</span>\n }\n {\n question.optional &&\n <span className={commonClasses.colorGray1}> (Optional)</span>\n }\n </Box>\n {\n renderContent()\n }\n </>\n )\n}","import { notWhitespaceValidationRule, stringLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const patientAllergyUpdateComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 250), notWhitespaceValidationRule()],\n 'reaction': [stringLengthValidationRule(0, 250), notWhitespaceValidationRule()],\n});\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { newPatientAllergyModel, PatientAllergyModel } from \"../../models/patientAllergiesModel\";\nimport { allergiesService } from \"../../services/allergies.service\";\nimport { patientAllergiesService } from \"../../services/patientAllergiesService\";\nimport { patientAllergiesQuery } from \"../../stores/patientAllergyStore/patientAllergies.query\";\nimport { PatientAllergyUpdateProps } from \"./PatientAllergyUpdateComponent\";\nimport { patientAllergyUpdateComponentValidator} from \"./patientAllergyUpdateComponent.validator\";\n\ninterface PatientAllergyUpdateComponentState extends IErrorState {\n model: PatientAllergyModel;\n}\n\nconst getInitialState = () => ({\n model: newPatientAllergyModel(),\n errors: {}\n});\n\n\nexport function useFacade(props: PatientAllergyUpdateProps): [\n PatientAllergyUpdateComponentState,\n Function,\n Function,\n Function\n] {\n\n const [state, setState] = useState(getInitialState() as PatientAllergyUpdateComponentState);\n\n const handleChanges = (field: string, value: string) => {\n patientAllergyUpdateComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = {...state.model};\n model[field] = value\n setState({...state, model: model})\n }\n\n const handleSave = (patientId: number) => {\n patientAllergyUpdateComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!patientAllergyUpdateComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({\n ...state, \n ...Object.assign({}, getInitialState())\n }));\n props.handleClose();\n\n const service = props.patientId ? allergiesService : patientAllergiesService;\n const action = state.model.id ? service.edit : service.create;\n action(state.model, props.patientId).subscribe();\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n ...getInitialState()\n }))\n\n props.handleClose();\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientAllergyModel>(patientAllergiesQuery.editModel$, editModel => {\n setState(state => ({...state, model: editModel }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleClose,\n handleChanges,\n handleSave\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '55px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"space-between\",\n alignItems: \"center\",\n margin: 0,\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(5),\n paddingTop: theme.spacing(4),\n },\n action: {\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(4),\n paddingTop: theme.spacing(2.5),\n },\n field: {\n width: 468,\n margin: 5,\n [theme.breakpoints.down(\"sm\")]: {\n width: \"100%\",\n },\n },\n }),\n);\n","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgInfo = function SvgInfo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 32,\n height: 32,\n viewBox: \"0 0 32 32\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_1796_148125)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28 14C28 20.6275 22.6275 26 16 26C9.3725 26 4 20.6275 4 14C4 7.3725 9.3725 2 16 2C22.6275 2 28 7.3725 28 14Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.5366 8.44922L27.9678 14.8804C27.5168 21.0967 22.3312 25.9999 16 25.9999L9 16.9999L21.5366 8.44922Z\",\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.7955 13.9286C23.7955 18.218 20.3181 21.6954 16.0287 21.6954C11.7391 21.6954 8.26172 18.218 8.26172 13.9286C8.26172 9.63898 11.7391 6.16162 16.0287 6.16162C20.3181 6.16162 23.7955 9.63898 23.7955 13.9286Z\",\n fill: \"#5BAED5\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.0004 11.9918C16.7654 11.9918 17.4102 12.6262 17.4102 13.4017L17.4102 17.9995C17.4102 18.7749 16.861 19.4092 16.0004 19.4092C15.1398 19.4092 14.5907 18.7749 14.5907 17.9995L14.5907 13.4017C14.5907 12.6262 15.2354 11.9918 16.0004 11.9918Z\",\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.5907 9.85785C14.5907 9.07928 15.2219 8.44794 16.0004 8.44794C16.779 8.44794 17.4102 9.07928 17.4102 9.85785C17.4102 10.6364 16.779 11.2676 16.0004 11.2676C15.2219 11.2676 14.5907 10.6364 14.5907 9.85785Z\",\n fill: \"white\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_1796_148125\",\n x: 0,\n y: 0,\n width: 32,\n height: 32,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 2\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.230903 0 0 0 0 0.472653 0 0 0 0 0.583333 0 0 0 0.42 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_1796_148125\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_1796_148125\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/info.05f45005.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, IconButton, Dialog, DialogActions, DialogContent, TextField, Typography, Button, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./patientAllergyUpdateComponent.hooks\";\nimport { useStyles } from \"./patientAllergyUpdateComponent.styles\";\nimport { colors } from '../../../common/constants/colors';\nimport Cancel from \"@img/icons/cancel.svg\";\nimport { PatientAllergyModel } from \"../../models/patientAllergiesModel\";\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport interface PatientAllergyUpdateProps {\n opened: boolean;\n handleClose: () => void;\n patientId?: number;\n model?: PatientAllergyModel;\n}\n\nexport const PatientAllergyUpdateComponent: React.FC<PatientAllergyUpdateProps> = (props: PatientAllergyUpdateProps) => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const [\n {\n model,\n errors,\n },\n handleClose,\n handleChanges,\n handleSave\n ] = useFacade(props);\n\n return (\n <>\n <Dialog\n fullScreen={isSmallScreen}\n className={classes.dialog}\n onClose={() => handleClose()}\n open={props.opened}\n >\n {\n !isSmallScreen &&\n <MuiDialogTitle\n className={classes.dialogTitle}\n disableTypography\n >\n <Typography variant=\"h6\">{model.id > 0 ? 'Edit Allergy' : 'Add Allergy'}</Typography>\n <Box pl={1} pr={1}>\n <IconButton id=\"patient-allergy-update-close\" onClick={() => {\n handleClose()\n }} >\n <img src={Cancel} alt='cancel' />\n </IconButton>\n </Box>\n </MuiDialogTitle>\n }\n <DialogContent className={classes.dialogContent}>\n {\n isSmallScreen &&\n <Box py={1} display=\"flex\" justifyContent=\"space-between\">\n <Button onClick={() => handleClose()}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorGray1, commonClasses.capitalize)}>\n Cancel\n </span>\n </Button>\n <Box>\n <span className={clsx(commonClasses.size20, commonClasses.textMedium, commonClasses.colorBlack)}>\n {model.id > 0 ? 'Edit Allergy' : 'Add Allergy'}\n </span>\n </Box>\n <Button onClick={() => {\n handleSave(props.patientId)\n }}>\n <span className={clsx(commonClasses.size14, commonClasses.textMedium, commonClasses.colorMain, commonClasses.capitalize)}>\n {model.id > 0 ? 'Save' : 'Add'}\n </span>\n </Button>\n </Box>\n }\n <Box p={!isSmallScreen && 1.5} pt={0.5} display=\"flex\" flexDirection=\"column\">\n <Box display=\"flex\" pl={0.5} fontSize={14} color={colors.gray1}>\n Name of Medication\n <Box pl={0.5} color={colors.bad}>*</Box>\n </Box>\n <TextField\n required\n fullWidth\n id=\"name\"\n size=\"small\"\n variant=\"outlined\"\n value={model.name}\n className={clsx(classes.field, 'input')}\n error={!!errors['name']}\n helperText={errors['name']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n <Box pl={0.5} pt={2.5} fontSize={14} color={colors.gray1}>Reaction</Box>\n <TextField\n fullWidth\n size=\"small\"\n id=\"reaction\"\n variant=\"outlined\"\n value={model.reaction}\n className={clsx(classes.field, 'input')}\n error={!!errors['reaction']}\n helperText={errors['reaction']}\n onChange={(event) => handleChanges(event.target.id, event.target.value)}\n />\n </Box>\n </DialogContent>\n {\n !isSmallScreen &&\n <DialogActions className={classes.action}>\n <WildHealthButton\n id=\"patient-allergy-update-cancel\"\n onClick={() => {\n handleClose()\n }}\n color=\"tertiary\"\n size='large'\n >\n Cancel\n </WildHealthButton>\n <Box pl={0.5}>\n <WildHealthButton\n id=\"patient-allergy-update-save\"\n onClick={() => {\n handleSave(props.patientId)\n }}\n autoFocus\n size='large'\n >\n {model.id > 0 ? 'Save Changes' : 'Add Allergy'}\n </WildHealthButton>\n </Box>\n </DialogActions>\n }\n </Dialog>\n </>\n );\n}\n","import React, { useEffect, useState } from 'react';\nimport { Box, IconButton, Table, TableBody, TableContainer, TableHead } from \"@material-ui/core\";\nimport { Add } from '@material-ui/icons';\nimport { colors } from '../../../common/constants/colors';\nimport { PatientAllergyModel } from '../../../patientSupplements/models/patientAllergiesModel';\nimport { PatientAllergyUpdateComponent } from '../../../patientSupplements/components/patientAllergyUpdateComponent/PatientAllergyUpdateComponent';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { SecondaryButton } from '../../../common/components/wildHealthButton/SecondaryButton';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { Subscription } from 'rxjs';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { patientAllergiesQuery } from '../../../patientSupplements/stores/patientAllergyStore/patientAllergies.query';\nimport { QuestionModel, QuestionType } from '../../models/questionnaire.models';\nimport { patientAllergiesService } from '../../../patientSupplements/services/patientAllergiesService';\nimport { MedicalHistoryAndLifestyleQuestionNames } from '../../static/medicalHistroryQuestionnaire.static';\n\nexport interface QuestionnaireAllergiesComponentProps {\n patientId?: number | null;\n question: QuestionModel;\n handleChanges: (field: string, value: string) => void\n}\n\ninterface QuestionnaireAllergiesComponentState {\n allergies: PatientAllergyModel[];\n dialogOpened: boolean;\n}\n\nexport const QuestionnaireAllergiesComponent: React.FC<QuestionnaireAllergiesComponentProps> = (props: QuestionnaireAllergiesComponentProps) => {\n const {\n patientId = null,\n question,\n handleChanges\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const [state, setState] = useState({\n allergies: [],\n dialogOpened: false\n } as QuestionnaireAllergiesComponentState)\n\n const handleOpenDialog = (open: boolean) => {\n setState({ ...state, dialogOpened: open })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit<PatientAllergyModel[]>(patientAllergiesQuery.patientAllergies$, allergies => {\n if (allergies && allergies.length) {\n setState(state => ({ ...state, allergies: allergies }))\n handleChanges(MedicalHistoryAndLifestyleQuestionNames.ALLERGIES, allergies.map(x => x.id).join(','));\n }\n })\n ];\n\n if (patientId) {\n patientAllergiesService.getByPatientId(patientId).subscribe()\n }\n else {\n patientAllergiesService.get().subscribe()\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n const renderContent = (): JSX.Element => {\n if (state.allergies.length) {\n return (\n <Box>\n <TableContainer>\n <Table>\n <TableHead>\n <WildHealthTableRow>\n <WildHealthTableCell style={{ width: '45%' }} >Name of Medication</WildHealthTableCell>\n <WildHealthTableCell>Reaction</WildHealthTableCell>\n </WildHealthTableRow>\n </TableHead>\n <TableBody>\n {\n state.allergies.map((allergy, index) => (\n <WildHealthTableRow key={index}>\n <WildHealthTableCell>{allergy.name}</WildHealthTableCell>\n <WildHealthTableCell>{allergy.reaction}</WildHealthTableCell>\n </WildHealthTableRow>\n ))\n }\n </TableBody>\n </Table>\n </TableContainer>\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n <Box>\n <IconButton id=\"questionnaire-allergies-open\" data-testid=\"questionnaireAllergiesOpen\" onClick={() => handleOpenDialog(true)}>\n <Add style={{ color: colors.main, backgroundColor: colors.gray3 }} />\n </IconButton>\n </Box>\n <Box>\n <span className={clsx(commonClasses.colorMain, commonClasses.textMedium, commonClasses.size14)}>Add Allergy</span>\n </Box>\n </Box>\n </Box>\n )\n }\n\n return (\n <Box textAlign='center'>\n <Box mt={5}>\n <span className={clsx(commonClasses.colorGray1, commonClasses.textSemiBold, commonClasses.size20, commonClasses.secondaryFont)}>No data yet</span>\n </Box>\n <Box mt={3}>\n <span className={commonClasses.colorGray1}>Add medication allergies by clicking the button below.</span>\n </Box>\n <Box mt={2}>\n <SecondaryButton id=\"questionnaire-allergies-add\" data-testid=\"questionnaireAllergiesAdd\" onClick={() => handleOpenDialog(true)}>Add Allergy</SecondaryButton>\n </Box>\n </Box>\n )\n }\n\n return (\n <>\n <PatientAllergyUpdateComponent\n opened={state.dialogOpened}\n patientId={patientId}\n handleClose={() => handleOpenDialog(false)}\n />\n <Box>\n <span className={commonClasses.textMedium}>{question.displayName}</span>\n {\n (question.type === QuestionType.CheckMany || question.type === QuestionType.SelectMany) &&\n <span className={commonClasses.colorGray1}> (Check all that apply.)</span>\n }\n {\n question.optional &&\n <span className={commonClasses.colorGray1}> (Optional)</span>\n }\n </Box>\n {\n renderContent()\n }\n </>\n )\n}","import React from 'react';\nimport { Box, IconButton } from \"@material-ui/core\";\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { AnswerModel, QuestionnaireModel } from '../../models/questionnaire.models';\nimport { QuestionComponent } from '../questionComponent/QuestionComponent';\nimport { Remove } from '@material-ui/icons';\nimport { colors } from '../../../common/constants/colors';\n\nexport interface DeselectParentQuestionComponentProps {\n questionName: string;\n questionnaire: QuestionnaireModel;\n handleChanges: (field: string, value: string) => void;\n answers: AnswerModel[];\n errors: any,\n}\n\nexport const DeselectParentQuestionComponent: React.FC<DeselectParentQuestionComponentProps> = (props: DeselectParentQuestionComponentProps) => {\n const {\n questionName,\n questionnaire,\n handleChanges,\n answers,\n errors\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const question = questionnaire.questions.find(x => x.name === questionName);\n const parentQuestionName = questionnaire.questions.find(x => x.childrenNames.includes(questionName)).name;\n\n const handleDeselect = (questionName: string, value: string) => {\n const answer = answers.find(x => x.key === questionName);\n try {\n const data = JSON.parse(answer.value);\n data.v = data.v.filter(x => x !== value);\n handleChanges(questionName, JSON.stringify(data));\n } catch {\n return;\n }\n }\n\n return (\n <Box mt={5}>\n <Box display='flex' alignItems='center' mb={-2}>\n <Box>\n <IconButton\n id=\"deselect-parent-question\"\n onClick={() => handleDeselect(parentQuestionName, question.parentAnswers[0])}\n >\n <Remove\n style={{\n color: colors.main,\n backgroundColor: colors.gray3\n }}\n />\n </IconButton>\n </Box>\n <Box ml={1}>\n <span className={clsx(commonClasses.size16, commonClasses.textMedium)}>{question.parentAnswers[0]}</span>\n </Box>\n </Box>\n <Box>\n <QuestionComponent\n disabled={false}\n inline={false}\n error={errors[question.name]}\n answer={answers?.find(x => x.key === question.name)?.value || null}\n question={question}\n handleChanges={(value) => handleChanges(question.name, value)}\n />\n </Box>\n </Box>\n )\n}","import React, { useState, useEffect } from 'react';\nimport { Box, IconButton } from \"@material-ui/core\";\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { AnswerModel, QuestionnaireModel } from '../../models/questionnaire.models';\nimport { QuestionComponent } from '../questionComponent/QuestionComponent';\nimport { Add } from '@material-ui/icons';\nimport { colors } from '../../../common/constants/colors';\n\nexport interface HideCommentQuestionComponentProps {\n questionName: string;\n questionnaire: QuestionnaireModel;\n handleChanges: (field: string, value: string) => void;\n answers: AnswerModel[];\n errors: any,\n}\n\nexport const HideCommentQuestionComponent: React.FC<HideCommentQuestionComponentProps> = (props: HideCommentQuestionComponentProps) => {\n const {\n questionName,\n questionnaire,\n handleChanges,\n answers,\n errors\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const [state, setState] = useState({\n showComment: false\n })\n\n const handleShowCommnet = () => {\n setState({ ...state, showComment: true })\n }\n\n const question = questionnaire.questions.find(x => x.name === questionName);\n\n useEffect(() => {\n const answer = answers.find(x => x.key === questionName)?.value;\n if (answer) {\n setState({ ...state, showComment: true })\n }\n }, []);\n\n return (\n <Box>\n {!state.showComment ? (\n <Box display=\"flex\" justifyContent=\"flex-start\" alignItems=\"center\" mt={1}>\n <Box ml=\"-12px\">\n <IconButton id=\"questionnaire-comment-show\" data-testid=\"questionnaireCommentShowBtn\" onClick={() => handleShowCommnet()}>\n <Add style={{ color: colors.main, backgroundColor: colors.gray3 }} />\n </IconButton>\n </Box>\n <Box>\n <span className={clsx(commonClasses.colorMain, commonClasses.textMedium, commonClasses.size14)}>Add Comment</span>\n </Box>\n </Box>\n ) : (\n <Box>\n {question && (\n <QuestionComponent\n disabled={false}\n inline={false}\n error={errors[questionName]}\n answer={answers?.find(x => x.key === questionName)?.value}\n question={question}\n handleChanges={(value) => handleChanges(questionName, value)}\n />\n )}\n </Box>\n )}\n </Box>\n )\n}","import {QuestionModel} from \"../models/questionnaire.models\";\nimport {Gender} from \"../../common/models/user.models\";\n\nexport const isGenderMatch = (question: QuestionModel, gender: Gender): boolean => {\n return question?.gender === Gender.None || question?.gender === gender;\n}\n","import React from 'react';\nimport { Box, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { QuestionComponent } from '../questionComponent/QuestionComponent';\nimport { QuestionnaireSurveyProps } from \"../../pages/initialQuestionnaireSurveyComponent/pages/questionnaireSurvey.props\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { Gender } from \"../../../common/models/user.models\";\nimport { isGenderMatch } from \"../../helpers/is-gender-match\";\nimport { ReactComponent as InfoIcon } from \"@img/icons/info.svg\";\n\nexport interface QuestionnaireSectionComponentProps extends QuestionnaireSurveyProps {\n gender: Gender;\n questions: string[];\n questionComponents?: { [id: string]: JSX.Element };\n questionRequirements?: { [id: string]: () => boolean };\n hideSubject?: boolean;\n disabled?: boolean;\n}\n\nexport const QuestionnaireSectionComponent: React.FC<QuestionnaireSectionComponentProps> = (props: QuestionnaireSectionComponentProps) => {\n const {\n errors,\n result,\n gender,\n questions,\n questionnaire,\n handleChanges,\n questionComponents = {},\n questionRequirements = {},\n hideSubject = false,\n disabled = false\n } = props;\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const subject = questionnaire.questions.find(x => questions.some(q => q === x.name))?.questionSubject;\n\n const renderQuestion = (question: string, key?: string): JSX.Element => {\n const parentQuestion = questionnaire.questions.find(x => x.childrenNames.includes(question));\n const requirement = questionRequirements[question];\n const parentRequirement = questionRequirements[parentQuestion?.name];\n const showInfoContainer = question === 'TETANUS_VACCINE' || question === 'PNEUMONIA_VACCINE' || question === 'FLU_VACCINE_SEASON';\n\n if ((!requirement || requirement() === true) && (!parentRequirement || parentRequirement() === true)) {\n\n const originQuestion = questionnaire.questions.find(x => x.name === question);\n\n if (!isGenderMatch(originQuestion, gender)) {\n return <React.Fragment key={`empty-gender-${key}`} />;\n }\n\n const component = questionComponents[question];\n\n return component ?? (\n <>\n {isSmallScreen && showInfoContainer && (\n <>\n <Box display=\"flex\" alignItems=\"center\" className={commonClasses.infoContainer}>\n <InfoIcon />\n <Box width={1} pl=\"14px\" className={clsx(commonClasses.size14, commonClasses.colorWhite, commonClasses.textRegular)}>\n {question === 'TETANUS_VACCINE' && 'Your next tetanus is recommended to be done in July, 2031.'}\n {(question === 'PNEUMONIA_VACCINE' || question === 'FLU_VACCINE_SEASON') && 'Your next pneumonia vaccine is recommended to be done in July, 2025.'}\n </Box>\n </Box>\n </>\n )}\n <Box my={2} key={key}>\n <QuestionComponent\n disabled={disabled}\n inline={false}\n error={errors[question]}\n answer={result?.answers?.find(x => x.key === question)?.value || null}\n handleChanges={(value) => handleChanges(question, value)}\n question={questionnaire.questions.find(x => x.name === question)}\n />\n </Box>\n </>\n )\n }\n\n return (<React.Fragment key={`empty-${key}`} />);\n }\n\n return (\n <Box>\n {\n !hideSubject &&\n <Box my={2}>\n <span className={clsx(commonClasses.size20, commonClasses.textMedium)}>{subject}</span>\n </Box>\n }\n {\n questions.map((question, index) => (\n renderQuestion(question, index.toString())\n ))\n }\n </Box>\n )\n}","import {QuestionnaireModel, QuestionnaireResultModel} from \"../../models/questionnaire.models\";\nimport React from \"react\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport {QuestionnaireSectionComponent} from \"../questionnaireSectionComponent/QestionnaireSectionComponent\";\nimport {Gender} from \"../../../common/models/user.models\";\nimport {Box} from \"@material-ui/core\";\nimport clsx from \"clsx\";\n\nexport interface Phq8SectionComponentProps {\n questions: string[]\n questionnaire: QuestionnaireModel;\n questionnaireResult: QuestionnaireResultModel;\n handleChanges: (field: string, value: string) => void;\n errors: any,\n}\n\n\nexport const Phq8SectionComponent: React.FC<Phq8SectionComponentProps> = (props: Phq8SectionComponentProps) => {\n const {\n questions,\n questionnaire,\n questionnaireResult,\n handleChanges,\n errors\n } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n <>\n <Box>\n <span className=\"wh-tw-text-base wh-tw-font-medium\">\n In the last two weeks, have you been bothered by any of the following problems:\n </span>\n </Box>\n <Box mt={1.25}>\n <span className={clsx(commonClasses.italic, commonClasses.size14)}>\n If you are experiencing an emergency, please call 911. We are unable to support emergency situations via telemedicine. Additionally, the following resources are available to you at any time:\n </span>\n </Box>\n <Box ml={4}>\n <ul style={{listStyleType: 'disc'}}>\n <li><span className={clsx(commonClasses.italic, commonClasses.size14)}>988 Suicide & Crisis Lifeline: Dial 988 or 1-800-273-8255</span></li>\n <li><span className={clsx(commonClasses.italic, commonClasses.size14)}>Crisis Text Line: Text ‘Home’ to 741-741</span></li>\n <li><span className={clsx(commonClasses.italic, commonClasses.size14)}>Access help confidentially by dialing 211</span></li>\n <li><span className={clsx(commonClasses.italic, commonClasses.size14)}>SAMHSA National Helpline: 1-800-662-HELP (4357)</span></li>\n <li><span className={clsx(commonClasses.italic, commonClasses.size14)}>www.samhsa.gov</span></li>\n </ul>\n </Box>\n <QuestionnaireSectionComponent\n questionnaire={questionnaire}\n result={questionnaireResult}\n questions={questions}\n handleChanges={handleChanges}\n errors={errors}\n gender={Gender.None}\n hideSubject\n />\n </>\n )\n}\n","import {\n DetailedQuestionNames\n} from '../static/detailedQuestionnaire.static';\nimport { MedicalHistoryAndLifestyleQuestionNames } from '../static/medicalHistroryQuestionnaire.static';\nimport { HealthGoalsQuestionNames } from '../static/healthGoalsQuestionnaire.static';\nimport {QuestionnaireModel, AnswerModel, QuestionnaireResultModel} from '../models/questionnaire.models';\nimport { QuestionnaireMedicationsComponent } from '../components/medicalHistoryQuestionnaireSurveyComonent/QuestionnaireMedicationsComponent';\nimport { QuestionnaireSupplementsComponent } from '../components/medicalHistoryQuestionnaireSurveyComonent/QuestionnaireSupplementsComponent';\nimport { QuestionnaireAllergiesComponent } from '../components/medicalHistoryQuestionnaireSurveyComonent/QuestionnaireAllergiesComponent';\nimport { DeselectParentQuestionComponent } from '../components/detailedQuestionnaireSurveyComponent/DeselectParentQuestionComponent';\nimport { HideCommentQuestionComponent } from '../components/healthGoalsQuestionnaireSurveyComponent/HideCommentQuestionComponent';\nimport React from 'react';\nimport {Phq8SectionComponent} from \"../components/phq8SectionComponent/Phq8SectionComponent\";\n\nexport const getSpecificQuestions = (\n handleChanges: (field: string, value: string) => void,\n questionnaire: QuestionnaireModel,\n questionnaireResult: QuestionnaireResultModel,\n answers: AnswerModel[],\n errors: any,\n patientId?: number,\n) => {\n return {\n [MedicalHistoryAndLifestyleQuestionNames.MEDICATIONS]: <QuestionnaireMedicationsComponent\n question={questionnaire.questions.find(x => x.name === MedicalHistoryAndLifestyleQuestionNames.MEDICATIONS)}\n handleChanges={handleChanges}\n patientId={patientId}\n />,\n [MedicalHistoryAndLifestyleQuestionNames.SUPPLEMENTS]: <QuestionnaireSupplementsComponent\n question={questionnaire.questions.find(x => x.name === MedicalHistoryAndLifestyleQuestionNames.SUPPLEMENTS)}\n handleChanges={handleChanges}\n patientId={patientId}\n />,\n [MedicalHistoryAndLifestyleQuestionNames.ALLERGIES]: <QuestionnaireAllergiesComponent\n question={questionnaire.questions.find(x => x.name === MedicalHistoryAndLifestyleQuestionNames.ALLERGIES)}\n handleChanges={handleChanges}\n patientId={patientId}\n />,\n [DetailedQuestionNames.HIGH_BLOOD_PRESSURE_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.HIGH_BLOOD_PRESSURE_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.PULMONARY_EMBOLISM_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.PULMONARY_EMBOLISM_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CAROTID_STENOSIS_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CAROTID_STENOSIS_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CORONARY_ARTERY_DISEASE_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CORONARY_ARTERY_DISEASE_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.HEART_ATTACK_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.HEART_ATTACK_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.HIGH_CHOLESTEROL_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.HIGH_CHOLESTEROL_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.ANEURYSM_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.ANEURYSM_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.AFIB_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.AFIB_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.BREAST_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.BREAST_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.PROSTATE_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.PROSTATE_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.LUNG_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.LUNG_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.COLON_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.COLON_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.BONE_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.BONE_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.LIVER_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.LIVER_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.KIDNEY_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.KIDNEY_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.BAIN_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.BAIN_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.SKIN_CANCER_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.SKIN_CANCER_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n //\n [DetailedQuestionNames.APPENDECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.APPENDECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CORONARY_ARTERY_BYPASS_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CORONARY_ARTERY_BYPASS_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CAROTID_ENDARTERECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CAROTID_ENDARTERECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.CHOLECYSTECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.CHOLECYSTECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.BARIATRIC_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.BARIATRIC_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.HYSTERECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.HYSTERECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.NEPHRECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.NEPHRECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.SPLENECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.SPLENECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.TONSILLECTOMY_SURGERY_YEAR]: <DeselectParentQuestionComponent\n questionName={DetailedQuestionNames.TONSILLECTOMY_SURGERY_YEAR}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n [DetailedQuestionNames.PHQ8_1]: <Phq8SectionComponent\n questions={[\n DetailedQuestionNames.PHQ8_1,\n DetailedQuestionNames.PHQ8_2,\n DetailedQuestionNames.PHQ8_3,\n DetailedQuestionNames.PHQ8_4,\n DetailedQuestionNames.PHQ8_5,\n DetailedQuestionNames.PHQ8_6,\n DetailedQuestionNames.PHQ8_7,\n DetailedQuestionNames.PHQ8_8\n ]}\n questionnaire={questionnaire}\n questionnaireResult={questionnaireResult}\n handleChanges={handleChanges}\n errors={errors}\n />,\n [HealthGoalsQuestionNames.TAKE_TIME_TO_WALK_OUTSIDE_COMMENT]: <HideCommentQuestionComponent\n questionName={HealthGoalsQuestionNames.TAKE_TIME_TO_WALK_OUTSIDE_COMMENT}\n questionnaire={questionnaire}\n handleChanges={handleChanges}\n answers={answers}\n errors={errors}\n />,\n }\n}","import React, { useEffect, useState } from 'react';\nimport { Box, IconButton } from '@material-ui/core';\nimport { AnswerComponent } from \"../answerComponent/AnswerComponent\";\nimport {\n AnswerModel,\n QuestionnaireModel,\n QuestionnaireResultModel,\n QuestionnaireType,\n SaveQuestionnaireResultModel\n} from \"../../models/questionnaire.models\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { colors } from \"../../../common/constants/colors\";\nimport { QuestionComponent } from \"../questionComponent/QuestionComponent\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { questionnaireService } from \"../../services/questionnaire.service\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { questionnairesResultListComponentValidator } from './questionnairesResultListComponent.validator';\nimport { goToError } from \"../../../common/helpers/go-to-error\";\nimport { SupplementsAnswerComponent } from '../answerComponent/customAnswers/SupplementsAnswerComponent';\nimport { MedicationsAnswerComponent } from '../answerComponent/customAnswers/MedicationsAnswerComponent';\nimport { AllergiesAnswerComponent } from '../answerComponent/customAnswers/AllergiesAnswerComponent';\nimport { MedicalHistoryAndLifestyleQuestionNames } from '../../static/medicalHistroryQuestionnaire.static';\nimport { hasAnswer } from '../../helpers/has-answer';\nimport { getSpecificQuestions } from '../../helpers/specific-questions-provider';\nimport { isGenderMatch } from \"../../helpers/is-gender-match\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\nimport {isFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\n\ninterface QuestionnairesResultListComponentProps {\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n questions: string[];\n title?: string;\n patientId?: number | null;\n gender: Gender;\n}\n\ninterface QuestionnairesResultListComponentState extends IErrorState {\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n edit: boolean;\n answers: AnswerModel[];\n draftAnswers: AnswerModel[];\n saving: boolean;\n}\n\nconst getTargetAnswers = (questions: string[], result: QuestionnaireResultModel): AnswerModel[] =>\n result.answers\n .filter(x => questions.find(q => q === x.key) !== undefined)\n .map(x => ({ key: x.key, value: x.value } as AnswerModel));\n\nexport const QuestionnairesResultListComponent: React.FC<QuestionnairesResultListComponentProps> = (props: QuestionnairesResultListComponentProps) => {\n const {\n result,\n title,\n questions,\n questionnaire,\n patientId,\n gender\n } = props;\n const commonClasses = commonUseStyles();\n\n const featureFlags = useFlags();\n const rxntIntegration = isFeatureFlag(featureFlags, FeatureFlag.RxntIntegration);\n const [state, setState] = useState({\n questionnaire: questionnaire,\n answers: [],\n draftAnswers: [],\n edit: false,\n saving: false,\n errors: {}\n } as QuestionnairesResultListComponentState);\n\n const cloneAnswers = (answers: AnswerModel[]): AnswerModel[] => answers.map(x => ({ ...x }));\n\n useEffect(() => {\n const targetAnswers = getTargetAnswers(questions, result);\n setState((state) => ({ ...state, answers: targetAnswers, draftAnswers: cloneAnswers(targetAnswers) }))\n }, [])\n\n const validate = () => {\n questions.forEach(field => {\n const value = state.draftAnswers.find(x => x.key === field)?.value ?? '';\n questionnairesResultListComponentValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n const handleChanges = (field: string, value: string) => {\n if(value === \"\"){\n value = undefined;\n }\n\n questionnairesResultListComponentValidator.validateAndSetState(state, setState, field, value);\n\n let resultTest = state.draftAnswers;\n const answer = resultTest.find(x => x.key === field);\n if (answer) {\n answer.value = value;\n } else {\n resultTest.push({\n key: field,\n value: value\n });\n }\n\n resultTest = [...resultTest];\n setState({ ...state, draftAnswers: resultTest });\n }\n\n const handleEdit = () => {\n setState({ ...state, edit: true });\n }\n const handleCancel = () => {\n setState({ ...state, edit: false, draftAnswers: cloneAnswers(state.answers) });\n }\n const handleSubmit = () => {\n validate();\n\n if (!questionnairesResultListComponentValidator.stateIsValid(state)) {\n goToError(state);\n return;\n }\n\n setState((state) => ({ ...state, saving: true }));\n\n if (patientId) {\n questionnaireService.saveAsEmployee(getSaveModel(result)).subscribe(() => {\n setState({ ...state, edit: false, answers: cloneAnswers(state.draftAnswers), saving: false });\n },\n () => setState((state) => ({ ...state, saving: false })));\n } else {\n questionnaireService.save(getSaveModel(result)).subscribe(() => {\n setState({ ...state, edit: false, answers: cloneAnswers(state.draftAnswers), saving: false });\n },\n () => setState((state) => ({ ...state, saving: false })));\n }\n }\n\n const getQuestionsRequirements = (answers: AnswerModel[]): { [id: string]: () => boolean } => {\n const parentQuestions = questionnaire.questions.filter(x => x.childrenNames.length);\n const childQuestions = questionnaire.questions.filter(x => x.parentAnswers.length);\n\n return Object.assign({}, ...childQuestions.map((x) => ({\n [x.name]: () => {\n const parentQuestion = parentQuestions.find(pq => pq.childrenNames.includes(x.name));\n return x.parentAnswers.some(pc => hasAnswer(answers, parentQuestion.name, pc))\n }\n })));\n }\n\n const draftQuestionsRequirements = getQuestionsRequirements(state.draftAnswers);\n const questionsRequirements = getQuestionsRequirements(state.answers);\n\n const requiredQuestions = state.questionnaire.questions.filter(x => questions.some(q => q === x.name) && !x.optional);\n\n const IsSectionValid = requiredQuestions.every(x => hasAnswer(state.draftAnswers, x.name) || (questionsRequirements[x.name] !== undefined && questionsRequirements[x.name]() === false))\n && questionnairesResultListComponentValidator.stateIsValid(state)\n\n const getSaveModel = (result: QuestionnaireResultModel): SaveQuestionnaireResultModel => {\n return {\n answers: state.draftAnswers,\n questionnaireResultId: result.id,\n patientId: patientId,\n } as SaveQuestionnaireResultModel;\n }\n\n const renderAnswer = (question: string, key: number): JSX.Element => {\n const requirement = questionsRequirements[question];\n\n if (requirement === undefined || requirement() === true) {\n\n switch (question) {\n case MedicalHistoryAndLifestyleQuestionNames.SUPPLEMENTS: return <SupplementsAnswerComponent\n key={`question-${key}`}\n patientId={patientId}\n question={questionnaire.questions.find(x => x.name === question).displayName}\n />\n case MedicalHistoryAndLifestyleQuestionNames.MEDICATIONS: return <MedicationsAnswerComponent\n key={`question-${key}`}\n patientId={patientId}\n question={questionnaire.questions.find(x => x.name === question).displayName}\n />\n case MedicalHistoryAndLifestyleQuestionNames.ALLERGIES: {\n if (rxntIntegration) {\n return <React.Fragment key={`empty-question-${key}`} />;\n }\n return <AllergiesAnswerComponent\n key={`question-${key}`}\n patientId={patientId}\n answer={state.answers.find(x => x.key === question)?.value ?? ''}\n question={questionnaire.questions.find(x => x.name === question).displayName}\n />\n }\n default: return <AnswerComponent\n key={`question-${key}`}\n questionnaire={questionnaire}\n result={result}\n answer={state.answers.find(x => x.key === question)?.value ?? ''}\n question={questionnaire.questions.find(x => x.name === question)}\n />\n }\n } else {\n return <React.Fragment key={`empty-question-${key}`} />;\n }\n }\n\n const questionComponents = getSpecificQuestions(handleChanges, state.questionnaire, state.result, state.draftAnswers, state.errors, patientId);\n\n const renderQuestion = (question: string): JSX.Element => {\n const parentQuestion = questionnaire.questions.find(x => x.childrenNames.includes(question));\n const requirement = draftQuestionsRequirements[question];\n const parentRequirement = draftQuestionsRequirements[parentQuestion?.name];\n\n if ((requirement === undefined || requirement() === true) && (parentRequirement === undefined || parentRequirement() === true)) {\n if (Object.keys(questionComponents).includes(question)) {\n return questionComponents[question];\n }\n\n return <QuestionComponent\n inline={false}\n error={state.errors[question]}\n answer={state.draftAnswers.find(x => x.key === question)?.value || null}\n handleChanges={(value) => handleChanges(question, value)}\n question={questionnaire.questions.find(x => x.name === question)}\n />\n } else {\n return (<></>)\n }\n }\n\n const renderQuestions = () => {\n return questions.map((question, index) => {\n const originQuestion = questionnaire.questions.find(x => x.name === question);\n\n if (!isGenderMatch(originQuestion, gender)) {\n return <React.Fragment key={`empty-gender-${index}`} />;\n }\n\n return (\n <Box key={index}>\n {state.edit\n ? <>\n {\n renderQuestion(question)\n }\n </>\n : <>\n {\n renderAnswer(question, index)\n }\n </>\n }\n </Box>\n )\n })\n }\n\n return (\n <Box display='flex' justifyContent=\"space-between\">\n <Box width={1}>\n {\n title &&\n <Box className={commonClasses.secondaryTitle}>\n {title}\n </Box>\n }\n {\n renderQuestions()\n }\n {\n state.edit &&\n <Box display='flex' mt={2.5} justifyContent='flex-end'>\n <WildHealthButton\n id=\"questionnaire-result-list-cancel\"\n onClick={() => { handleCancel() }}\n color=\"tertiary\"\n size='large'\n disabled={state.saving}\n >\n Cancel\n </WildHealthButton>\n <Box pl={0.5}>\n <WildHealthButton\n id=\"questionnaire-result-list-save\"\n width={95}\n disabled={!IsSectionValid}\n onClick={() => { handleSubmit() }}\n autoFocus\n size='large'\n loading={state.saving}\n >\n Save\n </WildHealthButton>\n </Box>\n </Box>\n }\n </Box>\n {\n !state.edit && state.questionnaire.type === QuestionnaireType.HealthForms &&\n <Box>\n <IconButton id=\"questionnaire-result-list-edit\" data-testid=\"questionnaireResultListEditBtn\" onClick={() => handleEdit()}>\n <EditIcon\n style={{ color: colors.main, fontSize: 24 }}\n />\n </IconButton>\n </Box>\n }\n </Box>\n )\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n wrappQuestionnaires: {\n background: colors.white,\n border: `1px solid ${colors.stroke}`,\n boxShadow: '0px 7px 60px rgba(168, 173, 198, 0.12)',\n borderRadius: '2px',\n maxWidth: 732,\n margin: '0 auto',\n marginBottom: 10,\n padding: 30,\n }\n })\n);\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\nimport {\n QuestionnaireModel,\n QuestionnaireResultModel,\n GroupSubjectFromServer,\n GroupSubjectTitle\n} from \"../../../models/questionnaire.models\";\nimport {useStyles} from './GeneralResultComponent.styles';\nimport {isGenderMatch} from \"../../../helpers/is-gender-match\";\n\nexport interface GeneralResultComponentHealthFormsProps {\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n questionView: any;\n groupWithTitle?: boolean;\n patientId?: number | null;\n gender\n}\n\nexport const GeneralResultComponentHealthForms: React.FC<GeneralResultComponentHealthFormsProps> = (props: GeneralResultComponentHealthFormsProps) => {\n const {\n result,\n questionnaire,\n questionView,\n groupWithTitle,\n patientId,\n gender\n } = props;\n\n const classes = useStyles();\n\n const getTitle = (groupItem: string) => {\n const groupSubject = questionnaire.questions.find(el => el.name === groupItem).questionSubject\n switch (groupSubject) {\n case GroupSubjectFromServer.SetYourConnectionGoals:\n return GroupSubjectTitle.SetYourConnectionGoals;\n case GroupSubjectFromServer.SetYourExerciseGoals:\n return GroupSubjectTitle.SetYourExerciseGoals;\n case GroupSubjectFromServer.SetYourMindfulnessGoals:\n return GroupSubjectTitle.SetYourMindfulnessGoals;\n case GroupSubjectFromServer.SetYourNutritionGoals:\n return GroupSubjectTitle.SetYourNutritionGoals;\n case GroupSubjectFromServer.SetYourSleepGoals:\n return GroupSubjectTitle.SetYourSleepGoals;\n default:\n return \"\";\n }\n }\n\n return (\n <>\n <Box pt={5} pb={5}>\n {\n questionView.map((item, index) => {\n const relatedQuestions = questionnaire\n .questions\n .filter(x => item.includes(x.name) && isGenderMatch(x, gender) )\n \n if (!relatedQuestions || !relatedQuestions.length) {\n return <React.Fragment key={`empty-gender-${index}`}/>;\n }\n\n return (\n <Box key={index} className={classes.wrappQuestionnaires}>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={item}\n title={groupWithTitle ? getTitle(item[0]) : ''}\n patientId={patientId}\n />\n </Box>\n )\n }\n )\n }\n </Box>\n </>\n )\n}\n","\nimport { HealthGoalsQuestionNames } from \"../models/questionnaire.models\";\nimport { DetailedQuestionNames } from \"../static/detailedQuestionnaire.static\";\nimport { MedicalHistoryAndLifestyleQuestionNames } from \"../static/medicalHistroryQuestionnaire.static\";\n\nexport const questionViewIntention = [\n [HealthGoalsQuestionNames.YOUR_INTENTION]\n]\nexport const questionViewGoals = [\n [HealthGoalsQuestionNames.YOUR_EXERCISE_GOALS,\n HealthGoalsQuestionNames.PERSONAL_EXERCISE_GOAL,\n HealthGoalsQuestionNames.EXERCISE_ROUTINE_LOOK_LIKE],\n [HealthGoalsQuestionNames.YOUR_NUTRITION_GOALS,\n HealthGoalsQuestionNames.PERSONAL_NUTRITION_GOAL,\n HealthGoalsQuestionNames.TYPE_OF_FOOD_DO_YOU_EAT],\n [HealthGoalsQuestionNames.YOUR_SLEEP_GOALS,\n HealthGoalsQuestionNames.PERSONAL_SLEEP_GOAL,\n HealthGoalsQuestionNames.GOOD_AND_BAD_SLEEP_ROUTINE],\n [HealthGoalsQuestionNames.YOUR_MINDFULNESS_GOALS,\n HealthGoalsQuestionNames.PERSONAL_MINDFULNESS_GOAL,\n HealthGoalsQuestionNames.MINDFULNESS_PRACTICE_LOOK],\n [HealthGoalsQuestionNames.YOUR_SOCIAL_CONNECTIONS,\n HealthGoalsQuestionNames.PERSONAL_SOCIAL_CONNECTION_GOAL,\n HealthGoalsQuestionNames.DESCRIBE_SOCIAL_CONNECTIONS,\n HealthGoalsQuestionNames.TAKE_TIME_TO_WALK_OUTSIDE,\n HealthGoalsQuestionNames.TAKE_TIME_TO_WALK_OUTSIDE_COMMENT,\n HealthGoalsQuestionNames.HEALS_HAPPINESS_PERFORMANCE],\n]\nexport const questionViewHealth = [\n [HealthGoalsQuestionNames.HEALTH_FEELING,\n HealthGoalsQuestionNames.HEALS_COMMENTS],\n [HealthGoalsQuestionNames.OVERALL_PHYSICAL_HEALTH],\n [HealthGoalsQuestionNames.FREE_CHRONIC_PAIN,\n HealthGoalsQuestionNames.FREE_CHRONIC_PAIN_COMMENTS],\n [HealthGoalsQuestionNames.GET_SICK,\n HealthGoalsQuestionNames.SICK_COMMENTS],\n [HealthGoalsQuestionNames.HEALTH_PHYSICAL_FEELING,\n HealthGoalsQuestionNames.HEALS_PHYSICAL_COMMENTS],\n [HealthGoalsQuestionNames.HEALTH_MORE_OR_LESS,\n HealthGoalsQuestionNames.HEALS_MORE_OR_LESS_COMMENTS],\n]\nexport const questionViewHappiness = [\n [HealthGoalsQuestionNames.HAPPINESS_ENJOY_LIFE,\n HealthGoalsQuestionNames.HAPPINESS_ENJOY_LIFE_COMMENT],\n [HealthGoalsQuestionNames.HAPPINESS_CONNECTIONS,\n HealthGoalsQuestionNames.HAPPINESS_CONNECTIONS_COMMENT],\n [HealthGoalsQuestionNames.HAPPINESS_OPTIMISTIC_PESSIMISTIC,\n HealthGoalsQuestionNames.HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT],\n [HealthGoalsQuestionNames.HAPPINESS_COACH_THERAPIST,\n HealthGoalsQuestionNames.HAPPINESS_COACH_THERAPIST_COMMENT],\n [HealthGoalsQuestionNames.HAPPINESS_INTO_MY_80,\n HealthGoalsQuestionNames.HAPPINESS_INTO_MY_80_COMMENT],\n [HealthGoalsQuestionNames.HAPPINESS_OVERALL,\n HealthGoalsQuestionNames.HAPPINESS_OVERALL_COMMENT],\n]\nexport const questionViewPerformance = [\n [HealthGoalsQuestionNames.PERFORMANCE_METRICS,\n HealthGoalsQuestionNames.PERFORMANCE_METRICS_EXPLAIN],\n [HealthGoalsQuestionNames.PERFORMANCE_ACTIVITY_IMPORTANT,\n HealthGoalsQuestionNames.PERFORMANCE_ACTIVITY_IMPORTANT_COMMENT],\n [HealthGoalsQuestionNames.PERFORMANCE_IMPROVEMENT,\n HealthGoalsQuestionNames.PERFORMANCE_IMPROVEMENT_COMMENT],\n [HealthGoalsQuestionNames.PERFORMANCE_CONFIDENT_80S,\n HealthGoalsQuestionNames.PERFORMANCE_CONFIDENT_80S_COMMENT],\n [HealthGoalsQuestionNames.PERFORMANCE_OVERALL,\n HealthGoalsQuestionNames.PERFORMANCE_OVERALL_COMMENT],\n]\nexport const questionViewDemographicsBiometrics = [\n [MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_ETHNICITY],\n [MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_HEIGHT,\n MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_WAIST,\n MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_WEIGHT],\n [MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP,\n MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM],\n\n]\nexport const questionViewMedicalHistory = [\n [MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP,\n MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM],\n [MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS],\n [MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CONDITIONS_FAMILY],\n [MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_DIABET,\n MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_DIABET_TYPE],\n [MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_CHOLESTEROL],\n [MedicalHistoryAndLifestyleQuestionNames.MEDICAL_HISTORY_BLOOD_PRESSURE],\n [MedicalHistoryAndLifestyleQuestionNames.CORONARY_CALCIUM_SCORE,\n MedicalHistoryAndLifestyleQuestionNames.SCORE],\n [MedicalHistoryAndLifestyleQuestionNames.SMOKING_HISTORY],\n [MedicalHistoryAndLifestyleQuestionNames.ALCOHOL_HISTORY],\n [MedicalHistoryAndLifestyleQuestionNames.ANY_MEDICATIONS,\n MedicalHistoryAndLifestyleQuestionNames.MEDICATIONS],\n [MedicalHistoryAndLifestyleQuestionNames.ANY_SUPPLEMENTS,\n MedicalHistoryAndLifestyleQuestionNames.SUPPLEMENTS],\n [MedicalHistoryAndLifestyleQuestionNames.DRUG_ALLERGIES,\n MedicalHistoryAndLifestyleQuestionNames.ALLERGIES],\n]\n\nexport const questionViewLifestyle = [\n [MedicalHistoryAndLifestyleQuestionNames.SPECIFIC_KIND_OF_DIET],\n [MedicalHistoryAndLifestyleQuestionNames.RESTRICTED_FOOD],\n [MedicalHistoryAndLifestyleQuestionNames.OILY_FISH],\n [MedicalHistoryAndLifestyleQuestionNames.RED_MEAT],\n [MedicalHistoryAndLifestyleQuestionNames.PROCESSED_MEAT],\n [MedicalHistoryAndLifestyleQuestionNames.SERVINGS_VEGETABLES],\n [MedicalHistoryAndLifestyleQuestionNames.PRACTICE_FEEDING],\n [MedicalHistoryAndLifestyleQuestionNames.PRIMARY_EXERCISE_GOAL],\n [MedicalHistoryAndLifestyleQuestionNames.AVERAGE_LIGHT_EXERCISE_TIME],\n [MedicalHistoryAndLifestyleQuestionNames.AVERAGE_INTENSE_EXERCISE_TIME],\n [MedicalHistoryAndLifestyleQuestionNames.AVERAGE_MODERATE_EXERCISE_TIME],\n [MedicalHistoryAndLifestyleQuestionNames.PUSH_UPS_PERFORMING],\n [MedicalHistoryAndLifestyleQuestionNames.RUN_RUN],\n [MedicalHistoryAndLifestyleQuestionNames.REP_BENCH_PRESS],\n [MedicalHistoryAndLifestyleQuestionNames.DEADLIFT],\n [MedicalHistoryAndLifestyleQuestionNames.REP_SQUAT],\n [MedicalHistoryAndLifestyleQuestionNames.AVERAGE_HOURS_OF_SLEEP],\n [MedicalHistoryAndLifestyleQuestionNames.SLEEP_ROUTINE],\n [MedicalHistoryAndLifestyleQuestionNames.FALL_ASLEEP_NIGHT],\n [MedicalHistoryAndLifestyleQuestionNames.WAKE_UP],\n [MedicalHistoryAndLifestyleQuestionNames.RESTED_READY_WAKEUP],\n [MedicalHistoryAndLifestyleQuestionNames.ENERGY_THROUGHOUT_THE_DAY],\n [MedicalHistoryAndLifestyleQuestionNames.TYPICAL_STRESS],\n [MedicalHistoryAndLifestyleQuestionNames.STRESS_OR_PRACTICE_MINDFULNESS],\n [MedicalHistoryAndLifestyleQuestionNames.PERFORM_YOUR_ROUTINES],\n [MedicalHistoryAndLifestyleQuestionNames.TV_HOURS],\n [MedicalHistoryAndLifestyleQuestionNames.non_TV_SCREEN],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_PHONE],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_NAME],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_ADDRESS],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_CITY],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_ZIPCODE],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_STATE],\n [MedicalHistoryAndLifestyleQuestionNames.PREFERRED_PHARMACY_COUNTRY]\n]\n\nexport const detailedMedicalHistory = [\n [\n DetailedQuestionNames.CARDIOVASCULAR,\n DetailedQuestionNames.CARDIOVASCULAR_VARIANTS,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_YEAR,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_TREATMENT,\n DetailedQuestionNames.HIGH_BLOOD_PRESSURE_ACTIVE,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_YEAR,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_TREATMENT,\n DetailedQuestionNames.CORONARY_ARTERY_DISEASE_ACTIVE,\n DetailedQuestionNames.PULMONARY_EMBOLISM_YEAR,\n DetailedQuestionNames.PULMONARY_EMBOLISM_TREATMENT,\n DetailedQuestionNames.PULMONARY_EMBOLISM_ACTIVE,\n DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_YEAR,\n DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_TREATMENT,\n DetailedQuestionNames.DEEP_VIEN_THROMBOSIS_ACTIVE,\n DetailedQuestionNames.CAROTID_STENOSIS_YEAR,\n DetailedQuestionNames.CAROTID_STENOSIS_TREATMENT,\n DetailedQuestionNames.CAROTID_STENOSIS_ACTIVE,\n DetailedQuestionNames.HEART_ATTACK_YEAR,\n DetailedQuestionNames.HEART_ATTACK_TREATMENT,\n DetailedQuestionNames.HEART_ATTACK_ACTIVE,\n DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_YEAR,\n DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_TREATMENT,\n DetailedQuestionNames.CONGESTIVE_HEART_FAILURE_ACTIVE,\n DetailedQuestionNames.HIGH_CHOLESTEROL_YEAR,\n DetailedQuestionNames.HIGH_CHOLESTEROL_TREATMENT,\n DetailedQuestionNames.HIGH_CHOLESTEROL_ACTIVE,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_YEAR,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_TREATMENT,\n DetailedQuestionNames.BLOOD_CLOTTING_DISORDER_ACTIVE,\n DetailedQuestionNames.ANEURYSM_YEAR,\n DetailedQuestionNames.ANEURYSM_TREATMENT,\n DetailedQuestionNames.ANEURYSM_ACTIVE,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_YEAR,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_TREATMENT,\n DetailedQuestionNames.CARDIAC_VALVE_PROBLEM_ACTIVE,\n DetailedQuestionNames.AFIB_YEAR,\n DetailedQuestionNames.AFIB_TREATMENT,\n DetailedQuestionNames.AFIB_ACTIVE\n ],\n [\n DetailedQuestionNames.GASTROINTESTINAL_ISSUES,\n DetailedQuestionNames.GASTROINTESTINAL_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.SKIN_ISSUES,\n DetailedQuestionNames.SKIN_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.URINARY_ISSUES,\n DetailedQuestionNames.URINARY_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.KIDNEY_ISSUES,\n DetailedQuestionNames.KIDNEY_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.LUNG_ISSUES,\n DetailedQuestionNames.LUNG_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.NEUROLOGICAL_ISSUES,\n DetailedQuestionNames.NEUROLOGICAL_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.ENDOCRINE_HORMONAL_ISSUES,\n DetailedQuestionNames.ENDOCRINE_HORMONAL_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.MENTAL_HEALTH_ISSUES,\n DetailedQuestionNames.MENTAL_HEALTH_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.BLOOD_ISSUES,\n DetailedQuestionNames.BLOOD_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.MUSCULOSKELETAL_ISSUES,\n DetailedQuestionNames.MUSCULOSKELETAL_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.CANCER_ISSUES,\n DetailedQuestionNames.CANCER_ISSUES_VARIANTS,\n DetailedQuestionNames.BREAST_CANCER_YEAR,\n DetailedQuestionNames.BREAST_CANCER_TREATMENT,\n DetailedQuestionNames.BREAST_CANCER_ACTIVE,\n DetailedQuestionNames.PROSTATE_CANCER_YEAR,\n DetailedQuestionNames.PROSTATE_CANCER_TREATMENT,\n DetailedQuestionNames.PROSTATE_CANCER_ACTIVE,\n DetailedQuestionNames.LUNG_CANCER_YEAR,\n DetailedQuestionNames.LUNG_CANCER_TREATMENT,\n DetailedQuestionNames.LUNG_CANCER_ACTIVE,\n DetailedQuestionNames.COLON_CANCER_YEAR,\n DetailedQuestionNames.COLON_CANCER_TREATMENT,\n DetailedQuestionNames.COLON_CANCER_ACTIVE,\n DetailedQuestionNames.BONE_CANCER_YEAR,\n DetailedQuestionNames.BONE_CANCER_TREATMENT,\n DetailedQuestionNames.BONE_CANCER_ACTIVE,\n DetailedQuestionNames.LIVER_CANCER_YEAR,\n DetailedQuestionNames.LIVER_CANCER_TREATMENT,\n DetailedQuestionNames.LIVER_CANCER_ACTIVE,\n DetailedQuestionNames.KIDNEY_CANCER_YEAR,\n DetailedQuestionNames.KIDNEY_CANCER_TREATMENT,\n DetailedQuestionNames.KIDNEY_CANCER_ACTIVE,\n DetailedQuestionNames.BAIN_CANCER_YEAR,\n DetailedQuestionNames.BAIN_CANCER_TREATMENT,\n DetailedQuestionNames.BAIN_CANCER_ACTIVE,\n DetailedQuestionNames.SKIN_CANCER_YEAR,\n DetailedQuestionNames.SKIN_CANCER_TREATMENT,\n DetailedQuestionNames.SKIN_CANCER_ACTIVE,\n ],\n [\n DetailedQuestionNames.DIAGNOSED_EATING_DISORDER_ISSUES,\n DetailedQuestionNames.DIAGNOSED_EATING_DISORDER_ISSUES_VARIANTS,\n ],\n]\n\nexport const detailedSurgeryHistory = [\n [\n DetailedQuestionNames.SURGERY_ISSUES,\n DetailedQuestionNames.SURGERY_ISSUES_VARIANTS,\n DetailedQuestionNames.APPENDECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.CORONARY_ARTERY_BYPASS_SURGERY_YEAR,\n DetailedQuestionNames.CAROTID_ENDARTERECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.CHOLECYSTECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.BARIATRIC_SURGERY_YEAR,\n DetailedQuestionNames.HYSTERECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.NEPHRECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.SPLENECTOMY_SURGERY_YEAR,\n DetailedQuestionNames.TONSILLECTOMY_SURGERY_YEAR\n ]\n]\n\nexport const detailedSocialHistory = [\n [\n DetailedQuestionNames.SMOKING,\n DetailedQuestionNames.YEARS_SMOKING,\n DetailedQuestionNames.CIGARETTES_DAY\n ],\n [\n DetailedQuestionNames.DRINK_ISSUES,\n DetailedQuestionNames.AVERAGE_DRINK_ISSUES,\n DetailedQuestionNames.REDUCE_DRINK_ISSUES,\n DetailedQuestionNames.CRITICIZING_ISSUES,\n DetailedQuestionNames.FELT_GUILTY_ISSUES,\n DetailedQuestionNames.EYE_OPENER_ISSUES \n ],\n [\n DetailedQuestionNames.DRUGS_ISSUES,\n DetailedQuestionNames.DRUGS_ISSUES_VARIANTS\n ],\n [\n DetailedQuestionNames.PARTNERSHIP_STATUS\n ],\n [\n DetailedQuestionNames.HAVE_CHILDREN,\n DetailedQuestionNames.CHILDREN_NAME,\n DetailedQuestionNames.CHILDREN_AGE\n ],\n [\n DetailedQuestionNames.LIVE_ALONE\n ],\n [\n DetailedQuestionNames.SEXUALLY_ACTIVE,\n DetailedQuestionNames.CONTRACEPTION_PROTECTION,\n DetailedQuestionNames.LEARNING_CONTRACEPTION_PROTECTION\n ],\n]\n\nexport const detailedWomenHealthHistory = [\n [\n DetailedQuestionNames.MENSTRUAL_CYCLE\n ],\n [\n DetailedQuestionNames.MENOPAUSE,\n DetailedQuestionNames.MENOPAUSE_AGE\n ],\n [\n DetailedQuestionNames.PREGNANT,\n DetailedQuestionNames.TOTAL_PREGNANCIES,\n DetailedQuestionNames.FULL_TERM_BIRTHS,\n DetailedQuestionNames.PREMATURE,\n DetailedQuestionNames.MISCARRIAGES,\n DetailedQuestionNames.ABORTIONS\n ],\n [\n DetailedQuestionNames.PREGNANCY_COMPLICATIONS,\n DetailedQuestionNames.PREGNANCY_COMPLICATIONS_VARIANTS\n ]\n]\n\nexport const detailedFamilyHistory = [\n [\n DetailedQuestionNames.BIOLOGICAL_MOTHER_LIVING,\n DetailedQuestionNames.BIOLOGICAL_MOTHER_MEDICAL_PROBLEMS\n ],\n [\n DetailedQuestionNames.BIOLOGICAL_FATHER_LIVING,\n DetailedQuestionNames.BIOLOGICAL_FATHER_MEDICAL_PROBLEMS\n ],\n [\n DetailedQuestionNames.BIOLOGICAL_SIBLING,\n DetailedQuestionNames.BIOLOGICAL_SIBLING_LIVING,\n DetailedQuestionNames.BIOLOGICAL_SIBLING_MEDICAL_PROBLEMS\n ],\n]\n\nexport const detailedScreeningHistory = [\n [\n DetailedQuestionNames.YOUR_GENE_MUTATIONS\n ],\n [\n DetailedQuestionNames.FAMILY_GENE_MUTATIONS,\n DetailedQuestionNames.MUTATIONS_DIAGNOSED,\n DetailedQuestionNames.CANCER_DIAGNOSED,\n DetailedQuestionNames.BRCA_FAMILY_GENE_MUTATIONS\n ],\n [\n DetailedQuestionNames.MAMMOGRAM,\n DetailedQuestionNames.DATE_OF_LAST_MAMMOGRAM,\n DetailedQuestionNames.MAMMOGRAM_ABNORMALITIES\n ],\n [\n DetailedQuestionNames.PAP_SMEAR,\n DetailedQuestionNames.DATE_OF_LAST_PAP_SMEAR,\n DetailedQuestionNames.PAP_SMEAR_ABNORMALITIES\n ],\n [\n DetailedQuestionNames.COLON_CANCER,\n DetailedQuestionNames.COLON_CANCER_DIAGNOSED,\n DetailedQuestionNames.COLON_CANCER_DIAGNOSED_AGE\n ],\n [\n DetailedQuestionNames.COLONOSCOPY,\n DetailedQuestionNames.SPECIFY_SCREENING,\n DetailedQuestionNames.DATE_OF_LAST_SCREENING,\n DetailedQuestionNames.COLONOSCOPY_ABNORMALITIES\n ],\n [\n DetailedQuestionNames.PSA_OR_PROSTATE,\n DetailedQuestionNames.DATE_OF_PSA_OR_PROSTATE_EXAM,\n DetailedQuestionNames.PSA_ABNORMALITIES\n ],\n [\n DetailedQuestionNames.LUNG_CANCER_SCREENINGS,\n DetailedQuestionNames.DATE_OF_LUNG_CANCER\n ],\n [\n DetailedQuestionNames.MORE_65_OSTEOPOROSIS,\n DetailedQuestionNames.MORE_65_ABNORMALITIES\n ],\n [\n DetailedQuestionNames.PHQ2_1,\n DetailedQuestionNames.PHQ2_2\n ],\n [\n DetailedQuestionNames.PHQ8_1,\n DetailedQuestionNames.PHQ8_2,\n DetailedQuestionNames.PHQ8_3,\n DetailedQuestionNames.PHQ8_4,\n DetailedQuestionNames.PHQ8_5,\n DetailedQuestionNames.PHQ8_6,\n DetailedQuestionNames.PHQ8_7,\n DetailedQuestionNames.PHQ8_8,\n ]\n]\n\nexport const detailedVaccinesHistory = [\n [\n DetailedQuestionNames.TETANUS_VACCINE,\n DetailedQuestionNames.DATE_OF_LAST_TETANUS_VACCINE\n ],\n [\n DetailedQuestionNames.PNEUMONIA_VACCINE,\n DetailedQuestionNames.DATE_OF_LAST_PNEUMONIA_VACCINE\n ],\n [\n DetailedQuestionNames.FLU_VACCINE_SEASON\n ],\n [\n DetailedQuestionNames.COVID_VACCINE\n ]\n]\n\nexport const detailedHealthReviewHistory = [\n [\n DetailedQuestionNames.HEALTH_WELLNESS_REVIEW\n ]\n]","import React from 'react';\nimport { Box } from \"@material-ui/core\";\nimport { GeneralResultComponentHealthForms } from \"./pages/GeneralResultComponentHealthForms\";\nimport {\n QuestionnaireModel,\n QuestionnaireResultModel,\n QuestionnaireSubject,\n QuestionnaireSubType\n} from \"../../models/questionnaire.models\";\nimport {\n questionViewIntention,\n questionViewMedicalHistory,\n questionViewLifestyle,\n questionViewGoals,\n questionViewHealth,\n questionViewPerformance,\n questionViewHappiness,\n detailedMedicalHistory,\n detailedSurgeryHistory,\n detailedSocialHistory,\n detailedWomenHealthHistory,\n detailedFamilyHistory,\n detailedScreeningHistory,\n detailedVaccinesHistory,\n detailedHealthReviewHistory\n} from '../../helpers/questionnaireStaticData'\nimport { WildHealthTabControl } from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport {Gender} from \"../../../common/models/user.models\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\nimport {isFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {MedicalHistoryAndLifestyleQuestionNames} from \"../../static/medicalHistroryQuestionnaire.static\";\n\nexport interface InitialQuestionnaireResultComponentHealthFormsProps {\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n patientId?: number | null;\n gender: Gender;\n}\n\nexport const InitialQuestionnaireResultComponentHealthForms: React.FC<InitialQuestionnaireResultComponentHealthFormsProps> = (props: InitialQuestionnaireResultComponentHealthFormsProps) => {\n const {\n questionnaire,\n result,\n patientId,\n gender\n } = props;\n\n const flags = useFlags();\n const rxntIntegration = isFeatureFlag(flags, FeatureFlag.RxntIntegration);\n const rxntIgnore = [\n MedicalHistoryAndLifestyleQuestionNames.ANY_MEDICATIONS,\n MedicalHistoryAndLifestyleQuestionNames.DRUG_ALLERGIES\n ];\n\n const tabsGoals: TabItem[] = [\n {\n title: QuestionnaireSubject.Intention,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewIntention}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Goals,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewGoals}\n groupWithTitle={true}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Health,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewHealth}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Happiness,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewHappiness}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Performance,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewPerformance}\n patientId={patientId}\n />,\n },\n ];\n\n const tabsMedicalHistoryAndLifestyle: TabItem[] = [\n {\n title: QuestionnaireSubject.MedicalHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewMedicalHistory.filter(x => !rxntIntegration || !x.some(k => rxntIgnore.includes(k)))}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Lifestyle,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={questionViewLifestyle}\n patientId={patientId}\n />,\n },\n ];\n\n const tabsDetailedHistoryFemale: TabItem[] = [\n {\n title: QuestionnaireSubject.MedicalHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedMedicalHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.SurgicalHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedSurgeryHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.SocialHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedSocialHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.WomensHealthHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedWomenHealthHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.FamilyHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedFamilyHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Screening,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedScreeningHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Vaccines,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedVaccinesHistory}\n patientId={patientId}\n />,\n },\n ];\n\n const tabsDetailedHistoryMale: TabItem[] = [\n {\n title: QuestionnaireSubject.MedicalHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedMedicalHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.SurgicalHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedSurgeryHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.SocialHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedSocialHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.FamilyHistory,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedFamilyHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Screening,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedScreeningHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Vaccines,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedVaccinesHistory}\n patientId={patientId}\n />,\n },\n {\n title: QuestionnaireSubject.Review,\n keepMounted: true,\n content:\n <GeneralResultComponentHealthForms\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n questionView={detailedHealthReviewHistory}\n patientId={patientId}\n />,\n },\n ];\n\n const getTabs = () => {\n switch (result.questionnaire.subType) {\n case QuestionnaireSubType.MedicalHistoryIncomplete: return tabsMedicalHistoryAndLifestyle;\n case QuestionnaireSubType.GoalsIncomplete: return tabsGoals;\n case QuestionnaireSubType.DetailedHistoryIncomplete: switch (gender) {\n case Gender.Female: return tabsDetailedHistoryFemale;\n case Gender.Male: return tabsDetailedHistoryMale;\n } break;\n default: return [];\n }\n }\n\n return (\n <Box>\n <Box mb={3}>\n <WildHealthTabControl items={getTabs()} />\n </Box>\n </Box>\n )\n}","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport {HealthLogQuestionNames, QuestionnaireModel, QuestionnaireResultModel} from '../../models/questionnaire.models';\nimport { QuestionnairesResultListComponent } from '../questionnairesResultListComponent/QuestionnairesResultListComponent';\nimport {Gender} from \"../../../common/models/user.models\";\n\nexport interface HealthLogQuestionnaireResultComponentProps {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n gender: Gender;\n}\n\nexport const HealthLogQuestionnaireResultComponent: React.FC<HealthLogQuestionnaireResultComponentProps> = (props: HealthLogQuestionnaireResultComponentProps) => {\n const {\n questionnaire,\n result,\n gender\n } = props;\n\n return (\n <Box p={5}>\n <Box>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n HealthLogQuestionNames.FIRST_MEAL_TIME,\n HealthLogQuestionNames.FIRST_MEAL,\n HealthLogQuestionNames.SECOND_MEAL_TIME,\n HealthLogQuestionNames.SECOND_MEAL,\n HealthLogQuestionNames.LAST_MEAL_TIME,\n HealthLogQuestionNames.LAST_MEAL,\n HealthLogQuestionNames.LIST_OF_SNACKS,\n HealthLogQuestionNames.REGULAR_PRACTICE,\n ]}\n title='NUTRITION:'\n />\n </Box>\n\n <Box pt={5}>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n HealthLogQuestionNames.WEEKS_EXERCISE,\n HealthLogQuestionNames.TYPES_OF_EXERCISE,\n ]}\n title=\"EXERCISE:\"\n />\n </Box>\n\n <Box pt={5}>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n HealthLogQuestionNames.ACTIVITIES_LIST,\n HealthLogQuestionNames.CONSUME_BEFORE_NIGHT,\n HealthLogQuestionNames.FALL_ASLEEP_TIME,\n HealthLogQuestionNames.WAKE_UP_TIME,\n HealthLogQuestionNames.WAKE_UP_WITH_ALARM,\n HealthLogQuestionNames.FEEL_IN_THE_MORNING,\n HealthLogQuestionNames.ENERGY_THROUGHOUT_THE_DAY,\n ]}\n title=\"SLEEP:\"\n />\n </Box>\n\n <Box pt={5}>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n HealthLogQuestionNames.PRACTICES_A_WEEK\n ]}\n title=\"MINDFULNESS:\"\n />\n </Box>\n </Box>\n );\n}","import React from 'react';\nimport {Box, LinearProgress, withStyles} from '@material-ui/core';\nimport {QuestionnairePages} from \"../../models/questionnaire.models\";\nimport { colors } from \"../../../common/constants/colors\";\n\ninterface QuestionnaireProgressBarComponentProps {\n currentPage: QuestionnairePages;\n}\n\nconst QuestionnaireProgress = withStyles(() => ({\n colorPrimary: {\n backgroundColor: colors.gray3,\n borderRadius: 10,\n height: 11,\n },\n barColorPrimary: {\n backgroundColor: colors.main,\n },\n \n }))(LinearProgress);\n\nexport const QuestionnaireProgressBarComponent: React.FC<QuestionnaireProgressBarComponentProps> = (props: QuestionnaireProgressBarComponentProps) => {\n const {currentPage} = props;\n\n const getProgressValue = () => {\n switch(currentPage){\n case QuestionnairePages.General:\n return 100/7;\n case QuestionnairePages.Medical:\n return 100/7*2;\n case QuestionnairePages.Nutrition:\n return 100/7*3;\n case QuestionnairePages.Exercise:\n return 100/7*4;\n case QuestionnairePages.CardioRespiratory:\n return 100/7*5;\n case QuestionnairePages.Sleep:\n return 100/7*6;\n case QuestionnairePages.Stress:\n return 100;\n }\n }\n return(\n <>\n <Box>\n <Box fontSize={18} fontWeight={500} color={colors.main}>{Math.round(getProgressValue())}%</Box>\n <QuestionnaireProgress variant=\"determinate\" value={getProgressValue()} />\n </Box> \n </>\n );\n}","import React from 'react';\nimport { Box, Button, useMediaQuery, useTheme } from '@material-ui/core';\nimport { PageSliderNavigationContext } from \"../models/navigation.models\";\nimport { ChevronLeft } from '@material-ui/icons';\nimport { commonUseStyles } from \"../../common/styles/common.styles\";\nimport { WildHealthButton } from \"../../common/components/wildHealthButton/WildHealthButton\";\nimport clsx from 'clsx';\n\n/**\n * Represents page slider component state\n */\ninterface PageSliderComponentProps {\n context: PageSliderNavigationContext;\n hideNext?: boolean;\n backCenter?: boolean;\n}\n\nexport const PageSliderComponent: React.FC<PageSliderComponentProps> = (props: PageSliderComponentProps) => {\n const {\n context,\n hideNext = true,\n backCenter = false,\n } = props;\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n <>\n <Box display=\"flex\" justifyContent=\"space-between\" alignItems=\"center\" mb={2}>\n <Box flex={isSmallScreen && backCenter && hideNext && 1}>\n <Box display={context.canGoBack() ? 'flex' : 'none'} justifyContent={isSmallScreen && backCenter && hideNext && \"center\"}>\n <Button\n id=\"page-slider-go-back\"\n onClick={() => context.goBack()}\n className={commonClasses.backBtn}\n >\n <Box display=\"flex\" alignItems=\"center\">\n <ChevronLeft className={commonClasses.colorNavy} />\n <Box ml={0.5} className={clsx(commonClasses.size16, commonClasses.colorNavy)}>\n {context.backButton}\n </Box>\n </Box>\n </Button>\n </Box>\n </Box>\n\n <Box display={context.canGoNext() && !backCenter ? 'flex' : hideNext ? 'none' : ''} flex={isSmallScreen && !context.canGoBack() && !hideNext && 1}>\n <WildHealthButton\n fullWidth={true}\n id=\"page-sider-go-next\"\n disabled={!context.canGoNext() && !hideNext}\n size='large'\n onClick={() => context.goNext()}\n >\n {context.nextButton}\n </WildHealthButton>\n </Box>\n </Box>\n </>)\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const GeneralSurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <Box pt={5}>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.HEALTH_PRIORITY,\n InitialQuestionNames.EXCITED_TO_LEARN\n ]}\n title=\"General Information:\"\n />\n </Box>\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const MedicalSurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.MEDICAL_CONDITIONS,\n InitialQuestionNames.FAMILY_MEDICAL_CONDITIONS,\n InitialQuestionNames.SMOKING_STATUS,\n InitialQuestionNames.DIABETES_STATUS,\n InitialQuestionNames.CANCER_SCREENING,\n InitialQuestionNames.HEALTH_FEARS,\n InitialQuestionNames.CURRENT_MEDICATIONS,\n InitialQuestionNames.CURRENT_MEDICATIONS_SUPPLEMENT\n ]}\n title=\"Medical Information:\"\n />\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const NutritionSurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.SPECIFIC_DIET,\n InitialQuestionNames.REGULAR_FOOD,\n InitialQuestionNames.FASTING,\n InitialQuestionNames.START_CONSUMING_FOOD,\n InitialQuestionNames.STOP_CONSUMING_FOOD\n ]}\n title=\"Nutrition:\"\n />\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const ExerciseSurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.PRIMARY_EXERCISES,\n InitialQuestionNames.EXERCISE_TYPE,\n InitialQuestionNames.EXERCISE_FREQUENCY,\n InitialQuestionNames.EXERCISE_PROGRAM_FOR,\n InitialQuestionNames.EXERCISE_LIMITATIONS,\n InitialQuestionNames.MAX_PUSH_UPS,\n InitialQuestionNames.MAX_BUR_PRESS_1_MIN\n ]}\n title=\"Exercise:\"\n />\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const CardioRespiratorySurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <Box>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.HEIGHT,\n InitialQuestionNames.WEIGHT,\n InitialQuestionNames.WAIST,\n InitialQuestionNames.ETHNICITY,\n InitialQuestionNames.SBP\n ]}\n title=\"Cardio Respiratory Fitness Predictor:\"\n />\n </Box>\n\n <Box pt={5}>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.PULSE_REST,\n InitialQuestionNames.PULSE_AFTER_TEST,\n InitialQuestionNames.PULSE_1_MIN_AFTER_TEST\n ]}\n title=\"Ruffier Squat test results:\"\n />\n </Box>\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const SleepSurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.SLEEP_QUALITY,\n InitialQuestionNames.ROUTINE_BEFORE_SLEEP,\n InitialQuestionNames.START_SLEEP,\n InitialQuestionNames.STOP_SLEEP,\n InitialQuestionNames.ALARM_CLOCK,\n InitialQuestionNames.RESTED_AFTER_SLEEP,\n InitialQuestionNames.ENERGY_AFTER_SLEEP\n ]}\n title=\"Sleep:\"\n />\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyResultProps} from \"./questionnaireSurveyResultProps\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesResultListComponent} from \"../../questionnairesResultListComponent/QuestionnairesResultListComponent\";\n\nexport const StressSurveyResult: React.FC<QuestionnaireSurveyResultProps> = (props: QuestionnaireSurveyResultProps) => {\n const {\n result,\n gender,\n questionnaire,\n navigationContext\n } = props;\n\n return (\n <>\n <QuestionnairesResultListComponent\n gender={gender}\n questionnaire={questionnaire}\n result={result}\n questions={[\n InitialQuestionNames.STRESS_LEVEL,\n InitialQuestionNames.DEAL_WITH_STRESS,\n InitialQuestionNames.MEDITATION_FREQUENCY\n ]}\n title=\"Stress:\"\n />\n <Box pt={5}>\n <PageSliderComponent context={navigationContext}/>\n </Box>\n </>\n )\n}\n","import React from 'react';\nimport {useFacade} from \"./initialQuestionnaireResultComponent.hooks\";\nimport {Box} from \"@material-ui/core\";\nimport {QuestionnaireProgressBarComponent} from \"../questionnaireProgressBarComponent/questionnaireProgressBarComponent\";\nimport {GeneralSurveyResult} from \"./pages/GeneralSurveyResult\";\nimport {MedicalSurveyResult} from \"./pages/MedicalSurveyResult\";\nimport {NutritionSurveyResult} from \"./pages/NutritionSurveyResult\";\nimport {ExerciseSurveyResult} from \"./pages/ExerciseSurveyResult\";\nimport {CardioRespiratorySurveyResult} from \"./pages/CardioRespiratorySurveyResult\";\nimport {SleepSurveyResult} from \"./pages/SleepSurveyResult\";\nimport {StressSurveyResult} from \"./pages/StressSurveyResult\";\nimport {QuestionnaireModel, QuestionnairePages, QuestionnaireResultModel} from \"../../models/questionnaire.models\";\nimport {Gender} from \"../../../common/models/user.models\";\n\nexport interface InitialQuestionnaireResultComponentProps {\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n gender: Gender;\n}\n\nexport const InitialQuestionnaireResultComponent: React.FC<InitialQuestionnaireResultComponentProps> = (props: InitialQuestionnaireResultComponentProps) => {\n const [\n {\n currentPage,\n questionnaire,\n result,\n },\n getNavigationContext,\n ] = useFacade(props.result, props.questionnaire);\n\n return <InitialQuestionnaireResultBaseComponent\n gender={props.gender}\n result={result}\n currentPage={currentPage}\n questionnaire={questionnaire}\n getNavigationContext={getNavigationContext}/>\n}\n\nexport interface InitialQuestionnaireResultBaseComponentProps extends InitialQuestionnaireResultComponentProps {\n getNavigationContext: Function;\n currentPage: QuestionnairePages;\n gender: Gender;\n}\n\nexport const InitialQuestionnaireResultBaseComponent: React.FC<InitialQuestionnaireResultBaseComponentProps> = (props: InitialQuestionnaireResultBaseComponentProps) => {\n const {\n currentPage,\n questionnaire,\n getNavigationContext,\n result,\n gender\n } = props;\n\n const pages = [\n <GeneralSurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />,\n <MedicalSurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />,\n <NutritionSurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />,\n <ExerciseSurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />,\n <CardioRespiratorySurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />,\n <SleepSurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />,\n <StressSurveyResult\n gender={gender}\n result={result}\n questionnaire={questionnaire}\n navigationContext={getNavigationContext()}\n />\n ]\n\n return (\n <Box p={4}>\n <Box mb={5}>\n <QuestionnaireProgressBarComponent currentPage={currentPage}/>\n </Box>\n {\n pages[currentPage]\n }\n </Box>\n )\n}","import {useState} from 'react';\nimport {PageSliderNavigationContext} from \"../../../common/models/navigation.models\";\nimport {QuestionnaireModel, QuestionnairePages, QuestionnaireResultModel\n} from \"../../models/questionnaire.models\";\nimport {navigationService} from \"../../../../services/navigation.service\";\n\n/**\n * Represents Health Questionnaire Page state\n */\ninterface PatientQuestionnairePageState {\n currentPage: QuestionnairePages;\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n}\n\nexport function useFacade(result: QuestionnaireResultModel, questionnaire: QuestionnaireModel): [PatientQuestionnairePageState, Function] {\n const [state, setState] = useState({\n currentPage: QuestionnairePages.General,\n questionnaire: questionnaire,\n result: result\n } as PatientQuestionnairePageState);\n\n /**\n * Navigates to specified page\n * @param page\n */\n const goTo = (page: QuestionnairePages) => {\n setState({...state, currentPage: page});\n navigationService.goUp();\n }\n\n /**\n * Returns if can go back\n */\n const canGoBack = (): boolean => {\n return state.currentPage !== QuestionnairePages.General\n };\n\n /**\n * Goes back\n */\n const goBack = (): void => {\n switch (state.currentPage) {\n case QuestionnairePages.Medical:\n return goTo(QuestionnairePages.General);\n case QuestionnairePages.Nutrition:\n return goTo(QuestionnairePages.Medical)\n case QuestionnairePages.Exercise:\n return goTo(QuestionnairePages.Nutrition)\n case QuestionnairePages.CardioRespiratory:\n return goTo(QuestionnairePages.Exercise)\n case QuestionnairePages.Sleep:\n return goTo(QuestionnairePages.CardioRespiratory)\n case QuestionnairePages.Stress:\n return goTo(QuestionnairePages.Sleep)\n }\n };\n\n /**\n * Returns if can go next\n */\n const canGoNext = (): boolean => {\n if (state.currentPage !== QuestionnairePages.Stress) {\n return true;\n }\n };\n\n /**\n * Goes next\n */\n const goNext = (): void => {\n switch (state.currentPage) {\n case QuestionnairePages.General:\n return goTo(QuestionnairePages.Medical);\n case QuestionnairePages.Medical:\n return goTo(QuestionnairePages.Nutrition);\n case QuestionnairePages.Nutrition:\n return goTo(QuestionnairePages.Exercise);\n case QuestionnairePages.Exercise:\n return goTo(QuestionnairePages.CardioRespiratory);\n case QuestionnairePages.CardioRespiratory:\n return goTo(QuestionnairePages.Sleep);\n case QuestionnairePages.Sleep:\n return goTo(QuestionnairePages.Stress);\n default:\n return;\n }\n };\n\n /**\n * Returns navigation context\n */\n const getNavigationContext = (): PageSliderNavigationContext => {\n return {\n nextButton: \"Next\",\n backButton: \"Back\",\n canGoNext: canGoNext,\n canGoBack: canGoBack,\n goNext: goNext,\n goBack: goBack\n } as PageSliderNavigationContext\n }\n\n return [state, getNavigationContext]\n}","export class FollowUpFormQuestionNames {\n static readonly REFLECT_LAST_VISIT: string = 'REFLECT_LAST_VISIT'\n static readonly RATE_OVERALL_PROGRESS: string = 'RATE_OVERALL_PROGRESS'\n static readonly CLARIFY_PREVIOUS_QUESTIONS: string = 'CLARIFY_PREVIOUS_QUESTIONS'\n static readonly HOPING_UPCOMING_VISITS: string = 'HOPING_UPCOMING_VISITS'\n static readonly RATE_SUCCESS_EXERCISE: string = 'RATE_SUCCESS_EXERCISE'\n static readonly RATE_SUCCESS_NUTRITION: string = 'RATE_SUCCESS_NUTRITION'\n static readonly RATE_SUCCESS_SLEEP: string = 'RATE_SUCCESS_SLEEP'\n static readonly RATE_SUCCESS_MINDFULNESS: string = 'RATE_SUCCESS_MINDFULNESS'\n static readonly RATE_SUCCESS_SOCIAL_CONNECTION: string = 'RATE_SUCCESS_SOCIAL_CONNECTION'\n static readonly YOUR_WEIGHT_BIOMETRICS: string = 'YOUR_WEIGHT_BIOMETRICS'\n static readonly YOUR_WAIST_CIRCUMFERENCE_BIOMETRICS: string = 'YOUR_WAIST_CIRCUMFERENCE_BIOMETRICS'\n static readonly CHECKING_BIOMETRICS_SYSTOLIC_BP: string = 'CHECKING_BIOMETRICS_SYSTOLIC_BP'\n static readonly CHECKING_BIOMETRICS_DIASTOLIC_BP: string = 'CHECKING_BIOMETRICS_DIASTOLIC_BP'\n}","import { QuestionnairesResultListComponent } from '../questionnairesResultListComponent/QuestionnairesResultListComponent'\nimport { QuestionnaireModel, QuestionnaireResultModel } from '../../models/questionnaire.models'\nimport { FollowUpFormQuestionNames } from '../../static/followUpForm.static'\nimport { Gender } from '../../../common/models/user.models'\nimport { Box } from '@material-ui/core'\nimport React from 'react'\n\nexport interface FollowUpFormResultComponentProps {\n questionnaire: QuestionnaireModel\n result: QuestionnaireResultModel\n gender: Gender\n}\n\nexport const FollowUpFormResultComponent: React.FC<FollowUpFormResultComponentProps> = (props: FollowUpFormResultComponentProps) => {\n const {\n questionnaire,\n result,\n gender\n } = props\n\n return (\n <Box p={5}>\n <Box mt={5}>\n <QuestionnairesResultListComponent\n questions={[\n FollowUpFormQuestionNames.REFLECT_LAST_VISIT\n ]}\n questionnaire={questionnaire}\n title='General Update:'\n result={result}\n gender={gender}\n />\n </Box>\n <Box mt={5}>\n <QuestionnairesResultListComponent\n questions={[\n FollowUpFormQuestionNames.RATE_OVERALL_PROGRESS,\n FollowUpFormQuestionNames.CLARIFY_PREVIOUS_QUESTIONS\n ]}\n questionnaire={questionnaire}\n title='Goals & Interventions:'\n result={result}\n gender={gender}\n />\n </Box>\n <Box mt={5}>\n <QuestionnairesResultListComponent\n questions={[\n FollowUpFormQuestionNames.HOPING_UPCOMING_VISITS\n ]}\n questionnaire={questionnaire}\n title='Upcoming Visit:'\n result={result}\n gender={gender}\n />\n </Box>\n <Box mt={5}>\n <QuestionnairesResultListComponent\n questions={[\n FollowUpFormQuestionNames.RATE_SUCCESS_EXERCISE,\n FollowUpFormQuestionNames.RATE_SUCCESS_NUTRITION,\n FollowUpFormQuestionNames.RATE_SUCCESS_SLEEP,\n FollowUpFormQuestionNames.RATE_SUCCESS_MINDFULNESS,\n FollowUpFormQuestionNames.RATE_SUCCESS_SOCIAL_CONNECTION,\n ]}\n questionnaire={questionnaire}\n title='Checking in on your goals:'\n result={result} \n gender={gender}\n />\n </Box>\n <Box mt={5}>\n <QuestionnairesResultListComponent\n questions={[\n FollowUpFormQuestionNames.YOUR_WEIGHT_BIOMETRICS,\n FollowUpFormQuestionNames.YOUR_WAIST_CIRCUMFERENCE_BIOMETRICS,\n FollowUpFormQuestionNames.CHECKING_BIOMETRICS_SYSTOLIC_BP,\n FollowUpFormQuestionNames.CHECKING_BIOMETRICS_DIASTOLIC_BP\n ]}\n questionnaire={questionnaire}\n title='Checking in on your biometrics (optional):'\n result={result}\n gender={gender} \n />\n </Box>\n </Box>\n )\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: 'flex',\n },\n content: {\n flexGrow: 1,\n },\n children: {\n minHeight: 'calc(100vh - 160px)',\n },\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n width: '100%',\n maxWidth: 360,\n backgroundColor: theme.palette.background.paper,\n },\n iconButton: {\n minWidth: 24,\n },\n }),\n);\n","import { IconButton, List, ListItem, ListItemIcon, ListItemText, Popover } from \"@material-ui/core\";\nimport AccountCircleIcon from '@material-ui/icons/AccountCircle';\nimport ExitToAppTwoToneIcon from '@material-ui/icons/ExitToAppTwoTone';\nimport PersonIcon from '@material-ui/icons/Person';\nimport React from 'react';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { accountService } from \"../../../../services/account.service\";\nimport { authQuery } from \"../../../../modules/auth/stores/auth\";\nimport { useStyles } from \"./userOptionsButtonComponent.styles\";\nimport { useFacade } from \"./userOptionsButtonComponent.hooks\";\nimport { useHistory } from \"react-router\";\nimport VpnKeyIcon from '@material-ui/icons/VpnKey';\n\nconst UserOptionsPopoverProps: any = {\n id: \"userOptionsPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n }\n};\n\nexport const UserOptionsButtonComponent: React.FC = () => {\n const [\n { anchorEl, showMenu },\n handleToggleMenu\n ] = useFacade();\n\n const history = useHistory();\n const classes = useStyles();\n const isRegistrationCompleted = authQuery.isRegistrationCompleted();\n\n const handleLogout = () => {\n accountService.logout()\n navigationService.postLogoutRedirect(history)\n }\n\n return (\n <React.Fragment key='user-options-btn'>\n <IconButton\n id=\"user-options-btn-toggle-menu\"\n className={classes.iconButton}\n onClick={(event) => handleToggleMenu(event)}\n >\n <AccountCircleIcon />\n </IconButton>\n\n <Popover\n open={showMenu}\n anchorEl={anchorEl}\n onClose={handleToggleMenu}\n id={UserOptionsPopoverProps.id}\n anchorOrigin={UserOptionsPopoverProps.anchorOrigin}\n transformOrigin={UserOptionsPopoverProps.transformOrigin}\n >\n <List className={classes.list}>\n {isRegistrationCompleted && (\n <>\n <ListItem id=\"user-options-btn-reset-password\" key={0} button onClick={() => navigationService.toResetPassword(history)}>\n <ListItemIcon>\n <VpnKeyIcon />\n </ListItemIcon>\n <ListItemText primary=\"Reset Password\" />\n </ListItem>\n <ListItem id=\"user-options-btn-my-account\" key={1} button onClick={() => navigationService.toMyMembership(history)}>\n <ListItemIcon>\n <PersonIcon />\n </ListItemIcon>\n <ListItemText primary=\"My Account\" />\n </ListItem>\n </>\n )}\n <ListItem id=\"user-options-btn-sign-out\" key={2} onClick={() => handleLogout()} button>\n <ListItemIcon>\n <ExitToAppTwoToneIcon />\n </ListItemIcon>\n <ListItemText primary=\"Sign Out\" />\n </ListItem>\n </List>\n </Popover>\n </React.Fragment>\n )\n}\n","import React, { useState } from \"react\";\n\ninterface UserOptionsComponentState {\n anchorEl: HTMLButtonElement;\n showMenu: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for User Options component\n */\nexport function useFacade(): [UserOptionsComponentState, (event?: React.MouseEvent<HTMLButtonElement>) => void] {\n const [state, setState] = useState({\n anchorEl: null,\n showMenu: false\n } as UserOptionsComponentState);\n\n const handleToggleMenu = (event?: any) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n setState(state => ({...state, showMenu: !state.showMenu, anchorEl: anchorEl}));\n }\n\n return [state, handleToggleMenu];\n}","import {Button, makeStyles, Theme, withStyles} from \"@material-ui/core\";\nimport {colors} from \"../../../modules/common/constants/colors\";\n\ntype Props = {\n topBannerHeight?: number;\n};\n\nexport const useStyles = makeStyles<Theme, Props>((theme: Theme) => (\n {\n root: {\n height: 72,\n backgroundColor: colors.white,\n color: colors.systemBlack,\n zIndex: theme.zIndex.drawer,\n boxShadow: 'none',\n marginTop: 0,\n minHeight: 72,\n top: ({ topBannerHeight }) => topBannerHeight\n },\n grow: {\n flexGrow: 1,\n },\n logoSection: {\n display: 'flex',\n alignItems: 'center',\n },\n redesignLogo: {\n width: 156,\n height: 'auto',\n [theme.breakpoints.down('xs')]: {\n width: 110\n },\n },\n employerLogo: {\n height: 40,\n [theme.breakpoints.down('xs')]: {\n width: 100,\n height: 'auto'\n },\n },\n toolbar: {\n minHeight: 72,\n },\n titleSection: {\n display: 'flex',\n marginTop: 'auto',\n marginLeft: 'auto',\n marginRight: 'auto',\n paddingBottom: 16\n },\n menuItem: {\n padding: '5px 15px',\n border: 'none !important',\n fontFamily: 'Palatino Linotype',\n },\n sectionDesktop: {\n display: 'none',\n [theme.breakpoints.up('md')]: {\n display: 'flex',\n },\n },\n mobileMenu: {\n display: 'flex',\n [theme.breakpoints.up('md')]: {\n display: 'none',\n },\n },\n mobileMenuButton: {\n display: 'flex',\n padding: '5px 15px',\n border: 'none !important',\n [theme.breakpoints.up('md')]: {\n display: 'none',\n },\n },\n mobileMenuItem: {\n fontFamily: 'Palatino Linotype !important',\n },\n mobileChildrenMenuItem: {\n paddingLeft: theme.spacing(4),\n },\n defaultCursor: {\n cursor: 'default !important',\n },\n plusStyle: {\n color: colors.darkGray,\n fontSize: 24,\n marginLeft: 24,\n marginRight: 24,\n [theme.breakpoints.down('xs')]: {\n fontSize: 16,\n marginLeft: 8,\n marginRight: 0\n },\n },\n userAccountBtnSection: {\n position: 'absolute',\n right: 120,\n bottom: 5,\n [theme.breakpoints.down('sm')]: {\n right: 18,\n bottom: 6\n },\n },\n logoutText: {\n textTransform: 'capitalize',\n color: colors.navy,\n fontSize: 14,\n fontWeight: 500,\n [theme.breakpoints.down('xs')]: {\n fontSize: 12\n },\n }\n }),\n);\n\nexport const OptionButton = withStyles((theme: Theme) => ({\n root: {\n color: 'white',\n backgroundColor: '#37607c',\n borderRadius: 8,\n '&:hover': {\n color: '#37607c',\n },\n '&:disabled': {\n color: '#7c8a9dCC',\n border: '1px solid #00000000',\n },\n },\n}))(Button);\n","import { Button, Collapse, List, ListItem, ListItemText, Popover, Box } from \"@material-ui/core\";\nimport ExitToAppTwoToneIcon from '@material-ui/icons/ExitToAppTwoTone';\nimport MoreIcon from '@material-ui/icons/MoreVert';\nimport clsx from 'clsx';\nimport React, { useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { UserType } from \"../../../modules/auth/models/auth.enums\";\nimport { NotificationsButtonComponent } from \"../../../modules/notifications/components/notificationComponent/NotificationsButtonComponent\";\nimport { UserOptionsButtonComponent } from \"../../../modules/userOptions/components/userOptionsButton/UserOptionsButtonComponent\";\nimport { accountService } from \"../../../services/account.service\";\nimport { navigationService } from \"../../../services/navigation.service\";\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport { WildHealthLinkButton } from \"../../../modules/common/components/WildHealthLinkButton\";\nimport { authQuery } from \"../../../modules/auth/stores/auth\";\nimport { MenuItem } from \"../../../models/menu.models\";\nimport { useStyles } from \"./commonHeaderComponent.styles\";\nimport { logoService } from \"../../../services/logo.service\";\nimport { EmployerProductModel } from \"../../../modules/payment/models/employerProduct.model\";\nimport { paymentPlansQuery } from \"../../../modules/payment/stores/paymentPlansStore\";\nimport { RoutesConstants } from \"../../../constants/route.constants\";\n\nconst mobileMenuPopoverProps: any = {\n id: \"mobileMenuPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n }\n};\n\nconst childrenMenuItemsPopoverProps: any = {\n id: \"mobileMenuPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n }\n};\n\nconst menuItems: MenuItem[] = [];\n\ninterface MenuItemState {\n key: string;\n isOpen: boolean;\n}\n\ninterface CommonHeaderComponentState extends MenuItemState {\n anchorEl: HTMLButtonElement;\n isMobileMenuOpen: boolean;\n MenuItemsStates: MenuItemState[];\n employerProduct: EmployerProductModel;\n}\n\nexport function useFacade(userType: UserType, employerKey: boolean): [\n JSX.Element,\n JSX.Element,\n JSX.Element,\n JSX.Element[],\n JSX.Element,\n JSX.Element[],\n] {\n const employerProduct = paymentPlansQuery.getEmployerProduct();\n\n const [state, setState] = useState({\n isMobileMenuOpen: false,\n anchorEl: null,\n MenuItemsStates: menuItems.filter(i => i.children).map(i => { return { key: `MainMenuItem-${menuItems.indexOf(i)}`, isOpen: false } as MenuItemState }),\n employerProduct: employerProduct\n } as CommonHeaderComponentState);\n\n const history = useHistory();\n\n const classes = useStyles({});\n\n const handleMobileMenuToggle = (event?: React.MouseEvent<HTMLButtonElement>) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n setState(state => ({ ...state, isMobileMenuOpen: !state.isMobileMenuOpen, anchorEl: anchorEl }));\n }\n\n const handleHeaderMenuItemToggle = (event?: React.MouseEvent<HTMLButtonElement>) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n let element: MenuItemState;\n if (anchorEl)\n element = state.MenuItemsStates.find(i => i.key === event.currentTarget.id);\n else\n element = state.MenuItemsStates.find(i => i.isOpen);\n\n if (element) {\n element.isOpen = !element.isOpen;\n setState(({ ...state, MenuItemsStates: state.MenuItemsStates, anchorEl: anchorEl }));\n }\n }\n\n const handleMobileMenuItemToggle = (event?: React.MouseEvent<HTMLDivElement, MouseEvent>) => {\n const toOpen = !!(event && event.currentTarget);\n let element = state.MenuItemsStates.find(i => toOpen ? i.key === event.currentTarget.id : i.isOpen);\n\n if (element) {\n element.isOpen = !element.isOpen;\n setState(({ ...state, MenuItemsStates: state.MenuItemsStates }));\n }\n }\n\n const Title = (\n authQuery.isLoggedIn() ?\n <WildHealthLinkButton\n onClick={() => navigationService.toDashboard(history)}\n content={<Box className={classes.logoSection}>\n <img className={classes.redesignLogo} src={logoService.getLogo().primary} alt=\"img\" />\n {employerKey && employerProduct?.bannerCdnUrl && <><Box className={classes.plusStyle}>+</Box><img className={classes.employerLogo} src={RoutesConstants.whBlobCdnBaseLink + employerProduct?.bannerCdnUrl} alt=\"img\" /></>}\n </Box>}\n id=\"header-link-dashboard\"\n /> :\n <WildHealthLinkButton\n onClick={() => navigationService.toWildHealth()}\n content={<Box className={classes.logoSection}>\n <img className={classes.redesignLogo} src={logoService.getLogo().primary} alt=\"img\" />\n {employerKey && employerProduct?.bannerCdnUrl &&<><Box className={classes.plusStyle}>+</Box><img className={classes.employerLogo} src={RoutesConstants.whBlobCdnBaseLink + employerProduct?.bannerCdnUrl} alt=\"img\" /></>}\n </Box>}\n id=\"header-link-wild-health\"\n />\n );\n\n const handleLogout = () => {\n accountService.logout()\n navigationService.postLogoutRedirect(history)\n }\n\n const renderOptionsBtn = () => {\n const isUnspecifiedUser = authQuery.isUnspecifiedUser();\n return (userType === UserType.Employee || isUnspecifiedUser) ?\n <Button\n id=\"header-logout-btn\"\n key='logout-btn'\n color=\"inherit\"\n onClick={() => handleLogout()}\n >\n {isUnspecifiedUser ? <Box className={classes.logoutText}>Logout</Box> : <ExitToAppTwoToneIcon />}\n </Button>\n : <UserOptionsButtonComponent />\n }\n\n const UserAccountButtons = (\n <>\n {authQuery.isRegistrationCompleted() && <NotificationsButtonComponent />}\n {renderOptionsBtn()}\n </>\n\n );\n\n const menuButtons = [\n ]\n\n const menus = menuItems.concat(menuButtons);\n\n const MobileMenuButton = (\n menus.length ?\n <Button\n id=\"mobile-menu-toggle\"\n key={mobileMenuPopoverProps.id}\n color=\"inherit\"\n className={classes.mobileMenuButton}\n aria-describedby={mobileMenuPopoverProps.id}\n onClick={(event) => handleMobileMenuToggle(event)}\n >\n <MoreIcon />\n </Button> : <></>\n );\n\n const handleRenderMobileChildrenMenuItems = (key: string, isOpen: boolean, items: MenuItem[]) => {\n return (\n <Collapse in={isOpen} timeout=\"auto\" unmountOnExit>\n <List component=\"div\" disablePadding>\n {\n items.map((item, index) =>\n <ListItem\n button\n id={`mobile-menu-${item.title}${index}`}\n key={`${key}${index}`}\n onClick={() => item.action(history)}\n className={classes.mobileChildrenMenuItem}\n >\n <ListItemText primary={item.title} />\n </ListItem>\n )\n }\n </List>\n </Collapse>\n )\n }\n\n const MobileMenu = (\n <Popover\n id={mobileMenuPopoverProps.id}\n anchorEl={state.anchorEl}\n open={state.isMobileMenuOpen}\n className={classes.mobileMenu}\n onClose={() => handleMobileMenuToggle()}\n anchorOrigin={mobileMenuPopoverProps.anchorOrigin}\n transformOrigin={mobileMenuPopoverProps.transformOrigin}\n >\n <List>\n {\n menus.map((item, index) => {\n const key = `MainMenuItem-${index}`;\n let collapse: JSX.Element | null;\n let isOpen: boolean = false;\n let action: (event?: React.MouseEvent<HTMLDivElement, MouseEvent>) => void;\n\n if (item.children) {\n action = handleMobileMenuItemToggle;\n const element = state.MenuItemsStates.find(i => i.key === key);\n if (element) {\n isOpen = element.isOpen;\n collapse = handleRenderMobileChildrenMenuItems(key, isOpen, item.children);\n }\n }\n else action = () => item.action(history);\n\n return (\n <>\n <ListItem\n button\n id={key}\n key={key}\n onClick={action}\n >\n <ListItemText>\n <span className={classes.mobileMenuItem}>{item.title}</span>\n </ListItemText>\n {item.children ? isOpen ? <ExpandLessIcon /> : <ExpandMoreIcon /> : null}\n </ListItem>\n {item.children && collapse}\n </>\n );\n })\n }\n </List>\n </Popover>\n );\n\n const handleRenderChildrenMenuItems = (key: string, isOpen: boolean, items: MenuItem[]) => {\n return (\n <Popover\n id={key}\n key={key}\n open={isOpen}\n anchorEl={state.anchorEl}\n className={classes.sectionDesktop}\n onClose={() => handleHeaderMenuItemToggle()}\n anchorOrigin={childrenMenuItemsPopoverProps.anchorOrigin}\n transformOrigin={childrenMenuItemsPopoverProps.transformOrigin}\n >\n <List>\n {items.map((item, index) =>\n <ListItem\n button\n id={`children-main-menu-${item.title}`}\n key={index}\n onClick={() => item.action(history)}\n >\n <ListItemText primary={item.title} />\n </ListItem>\n )}\n </List>\n </Popover>\n );\n }\n\n let DesktopChildrenMenus: JSX.Element[] = [];\n\n const DesktopMenu = menuItems.map((item, index) => {\n const key = `MainMenuItem-${index}`;\n let startIcon: any;\n let action: (event?: React.MouseEvent<HTMLButtonElement>) => void;\n\n if (item.children) {\n action = handleHeaderMenuItemToggle;\n const element = state.MenuItemsStates.find(i => i.key === key);\n if (element) {\n startIcon = element.isOpen ? <ExpandLessIcon /> : <ExpandMoreIcon />;\n DesktopChildrenMenus.push(handleRenderChildrenMenuItems(key, element.isOpen, item.children));\n }\n else startIcon = null;\n }\n else action = () => item.action(history);\n\n return (\n <Button\n key={key}\n id={`main-menu-${item.title}`}\n aria-describedby={key}\n className={clsx(classes.menuItem, classes.sectionDesktop)}\n onClick={action}\n startIcon={startIcon}\n >\n {item.title}\n </Button>\n );\n }\n );\n\n return [Title, MobileMenuButton, MobileMenu, DesktopMenu, UserAccountButtons, DesktopChildrenMenus];\n}","import { AppBar, Box, Toolbar } from '@material-ui/core';\nimport React from 'react';\nimport { authQuery } from \"../../../modules/auth/stores/auth\";\nimport { useFacade } from \"./commonHeaderComponent.hooks\";\nimport { useStyles } from './commonHeaderComponent.styles';\n\nexport interface CommonHeaderComponentProps {\n employerKey?: boolean;\n hideMenu?: boolean;\n couponApplied?: boolean;\n isLicensingPage?: boolean;\n topBannerHeight?: number;\n}\n\nexport const CommonHeaderComponent: React.FC<CommonHeaderComponentProps> = (props: CommonHeaderComponentProps) => {\n const { employerKey, hideMenu, isLicensingPage, topBannerHeight = 0 } = props;\n\n const isAuthorized = authQuery.isLoggedIn();\n const classes = useStyles({ topBannerHeight });\n\n const [\n Title,\n MobileMenuButton,\n MobileMenu,\n DesktopMenu,\n userAccountButtons,\n DesktopChildrenMenus,\n ] = useFacade(authQuery.getType(), employerKey);\n\n return (\n <AppBar className={classes.root}>\n {!isLicensingPage && <Toolbar className={classes.toolbar}>\n <Box className={classes.titleSection}>\n {Title}\n </Box>\n <Box className={classes.userAccountBtnSection}>\n {!hideMenu && DesktopMenu}\n {!hideMenu && MobileMenuButton}\n {isAuthorized && !hideMenu && userAccountButtons}\n </Box>\n </Toolbar>}\n {MobileMenu}\n {DesktopChildrenMenus}\n </AppBar>\n )\n}\n","import React from \"react\";\nimport { CommonHeaderComponent } from '../components/headers/commonHeaderComponent/CommonHeaderComponent'\nimport { Toolbar } from '@material-ui/core';\n\nexport class HeaderService {\n\n private commonHeader = CommonHeaderComponent;\n private commonToolBar = <Toolbar style={{ minHeight: 72 }} />;\n\n public getHeader(employerKey: boolean, hideMenu?: boolean, isLicensingSignup?:boolean, topBannerHeight?: number) {\n\n if(isLicensingSignup){\n return null\n }\n let header = this.commonHeader;\n\n return React.createElement(header, {employerKey: employerKey, hideMenu: hideMenu, isLicensingPage: isLicensingSignup, topBannerHeight: topBannerHeight});\n }\n\n public getHeaderToolBar(isLicensingSignup: boolean) {\n\n if(isLicensingSignup){\n return null;\n }\n let toolBar = this.commonToolBar;\n\n return toolBar;\n }\n}\n\nexport const headerService = new HeaderService();","import React from 'react';\nimport { useLocation } from \"react-router-dom\";\nimport { CssBaseline, Box } from '@material-ui/core';\nimport { useStyles } from './layoutComponent.styles';\nimport { FooterComponent, FooterRedesignComponent } from \"../footerComponent/FooterComponent\";\nimport { headerService } from '../../services/header.service';\nimport { RoutesConstants } from '../../constants/route.constants';\n\n interface LayoutComponentProps {\n title: string;\n hideMenu?: boolean;\n isLicensingSignup?:boolean;\n employerKey?: boolean;\n children: React.ReactNode;\n redesign?: boolean;\n topBannerHeight?: number;\n}\n\nexport const LayoutComponent: React.FC<LayoutComponentProps> = (props: LayoutComponentProps) => {\n const { title, hideMenu, children, isLicensingSignup, employerKey, redesign = false, topBannerHeight = 0 } = props;\n const classes = useStyles();\n\n const { pathname } = useLocation();\n const mobilePath = pathname.toLowerCase().includes(RoutesConstants.mobileGetStarted) || pathname.toLowerCase().includes(RoutesConstants.mobilePaymentSuccess);\n\n return (\n <Box position=\"relative\">\n <div key={title} className={classes.root}>\n {<title>{title}}\n {!mobilePath && headerService.getHeader(employerKey, hideMenu, isLicensingSignup, topBannerHeight)}\n \n
\n {!mobilePath && headerService.getHeaderToolBar(isLicensingSignup)}\n
\n {children}\n
\n
\n
\n {redesign ? : }\n
\n );\n}\n","import React from 'react';\nimport './CardioTimerComponent.scss';\nimport ReplayIcon from '@material-ui/icons/Replay';\nimport ClearIcon from '@material-ui/icons/Clear';\nimport { Box, Button } from \"@material-ui/core\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport class CardioTimerComponent extends React.Component {\n leftSeconds: number = 0;\n totalSeconds: number;\n isRunning: boolean;\n timer: any;\n\n start = (seconds: number) => {\n this.isRunning = true;\n if (seconds) {\n clearTimeout(this.timer);\n this.totalSeconds = seconds;\n this.leftSeconds = seconds;\n this.updateState();\n }\n\n this.timer = setTimeout(() => {\n this.setState({\n leftSeconds: --this.leftSeconds,\n });\n if (this.leftSeconds !== 0) {\n this.start(null);\n } else {\n this.disable();\n }\n }, 1000);\n }\n\n reset = () => {\n this.leftSeconds = this.totalSeconds;\n this.isRunning = true;\n this.start(this.totalSeconds);\n this.updateState();\n }\n\n disable = () => {\n clearTimeout(this.timer);\n this.isRunning = false;\n this.leftSeconds = 0;\n this.updateState();\n }\n\n updateState() {\n this.setState({\n leftSeconds: this.leftSeconds,\n isRunning: this.isRunning,\n totalSeconds: this.totalSeconds\n });\n }\n\n sec2time(seconds): any {\n let secondsPart = seconds % 60;\n let minutesPart = Math.floor(seconds / 60);\n let secondsOutput = secondsPart < 10 ? \"0\" + secondsPart : secondsPart;\n let minutesOutput = minutesPart < 10 ? \"0\" + minutesPart : minutesPart;\n return minutesOutput + \" : \" + secondsOutput;\n }\n\n render() {\n return (\n <>\n \n \n { this.start(45) }}\n >\n Start Test\n \n \n \n { this.start(60) }}\n >\n Start Rest\n \n \n \n \n \n \n {this.sec2time(this.leftSeconds)}\n \n\n \n \n \n \n \n \n \n \n \n \n \n );\n }\n}","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {QuestionComponent} from \"../questionComponent/QuestionComponent\";\nimport {QuestionnaireSurveyProps} from \"../../pages/initialQuestionnaireSurveyComponent/pages/questionnaireSurvey.props\";\nimport commonUseStyles from '../../../common/styles/common.styles';\n\ninterface QuestionnairesListComponentProps extends QuestionnaireSurveyProps {\n title?: string;\n questions: string[];\n} \n\nexport const QuestionnairesListComponent: React.FC = (props: QuestionnairesListComponentProps) => {\n const {\n errors,\n title,\n result,\n questions,\n questionnaire,\n handleChanges\n } = props;\n const commonClasses = commonUseStyles();\n\n const renderTitle = () => {\n return (\n \n {title}\n \n )\n }\n\n return (\n <>\n {\n title && renderTitle()\n }\n {\n questions.map((question, index) => {\n return (\n \n
\n x.key === question)?.value || null}\n handleChanges={(value) => handleChanges(question, value)}\n question={questionnaire.questions.find(x => x.name === question)}\n />\n \n )\n }\n )}\n \n )\n}","import React from 'react';\nimport {Box, Grid} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {CardioTimerComponent} from \"../../../components/cardioTimerComponent/CardioTimerComponent\";\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesListComponent} from \"../../../components/questionnairesListComponent/QuestionnairesListComponent\";\nimport commonUseStyles from '../../../../common/styles/common.styles';\n\nconst cardioRespiratory = [\n InitialQuestionNames.HEIGHT,\n InitialQuestionNames.WEIGHT,\n InitialQuestionNames.WAIST,\n InitialQuestionNames.ETHNICITY,\n InitialQuestionNames.SBP\n]\n\nconst performTests = [\n InitialQuestionNames.PULSE_REST,\n InitialQuestionNames.PULSE_AFTER_TEST,\n InitialQuestionNames.PULSE_1_MIN_AFTER_TEST\n]\n\nexport const CardioRespiratoryQuestionnairePageFields = cardioRespiratory.concat(performTests);\n\nconst isSmallScreen = window.innerWidth <= 768;\n\nexport const CardioRespiratorySurvey: React.FC = (props: QuestionnaireSurveyProps) => {\n const {\n errors,\n result,\n questionnaire,\n handleChanges,\n navigationContext\n } = props;\n const commonClasses = commonUseStyles();\n\n return (\n <>\n \n \n \n Please perform the following tests:\n \n \n Ruffier Squat test: perform 30 squats in 45 seconds \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n","import React from 'react';\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesListComponent} from '../../../components/questionnairesListComponent/QuestionnairesListComponent';\nimport { Box } from '@material-ui/core';\nimport { PageSliderComponent } from '../../../../common/components/PageSliderComponent';\n\nexport const ExerciseQuestionnairePageFields = [\n InitialQuestionNames.PRIMARY_EXERCISES,\n InitialQuestionNames.EXERCISE_TYPE,\n InitialQuestionNames.EXERCISE_FREQUENCY,\n InitialQuestionNames.EXERCISE_PROGRAM_FOR,\n InitialQuestionNames.EXERCISE_LIMITATIONS,\n InitialQuestionNames.MAX_PUSH_UPS,\n InitialQuestionNames.MAX_BUR_PRESS_1_MIN\n];\n\nexport const ExerciseSurvey: React.FC = (props: QuestionnaireSurveyProps) => {\n const {\n errors,\n result,\n questionnaire,\n handleChanges,\n navigationContext\n } = props;\n\n return (\n <>\n \n \n \n \n \n )\n}\n","import React from 'react';\nimport {Box, FormControl, FormHelperText, InputLabel, MenuItem, Select, TextField} from '@material-ui/core';\nimport {Gender, User} from \"../models/user.models\";\nimport {phoneNumberInput} from \"./PhoneNumberInput\";\nimport {displayDate, displayAge} from \"../helpers/display-date\";\nimport moment from 'moment';\nimport {WildHealthDatePicker} from \"./WildHealthDatePicker\";\n\ninterface UpdateUserFormProps {\n user: User,\n prefix: string;\n emailIsReadonly: boolean;\n errors: { [id: string]: string; };\n handleChanges: Function\n}\n\nexport const UpdateUserForm: React.FC = (props: UpdateUserFormProps) => {\n const {\n user,\n prefix,\n emailIsReadonly,\n errors,\n handleChanges,\n } = props;\n\n const getBirthday = () => {\n return user.birthday\n ? moment(user.birthday).format('YYYY-MM-DD')\n : null\n }\n\n if (!handleChanges) {\n return (\n \n \n First Name: \n {user.firstName}\n \n \n Last Name: \n {user.lastName}\n \n \n Date of Birth: \n {displayDate(user.birthday)} \n \n \n Age: \n {displayAge(user.birthday)} \n \n \n Gender: \n {Gender[user.gender]}\n \n \n Phone number: \n {user.phoneNumber}\n \n \n Email: \n {user.email}\n \n \n );\n }\n\n return (\n <>\n \n
\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n \n handleChanges(`${prefix}birthday`, momentDate.format(\"YYYY-MM-DD\")\n )}\n />\n \n \n \n Biological Gender\n handleChanges(`${prefix}gender`, v.target.value)}>\n {Gender[Gender.Male]}\n {Gender[Gender.Female]}\n \n {errors[`${prefix}gender`]}\n \n \n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n emailIsReadonly ?\n (\n \n Email: \n {user.email}\n \n ) :\n (\n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n )\n }\n \n \n
\n
\n \n )\n}\n","import React from 'react';\nimport {Box, Divider, Grid} from '@material-ui/core';\nimport {UpdateUserForm} from \"../../../../common/components/UpdateUserForm\";\nimport {UpdateAddressForm} from \"../../../../common/components/updateAddressForm/UpdateAddressForm\";\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {QuestionnairesListComponent} from \"../../../components/questionnairesListComponent/QuestionnairesListComponent\";\nimport {PageSliderComponent} from '../../../../common/components/PageSliderComponent';\nimport {PatientProfileModel} from \"../../../../account/models/patientProfile.model\";\nimport commonUseStyles from '../../../../common/styles/common.styles';\n\nexport const GeneralQuestionnairePageFields = [\n InitialQuestionNames.HEALTH_PRIORITY,\n InitialQuestionNames.EXCITED_TO_LEARN\n];\n\nexport const GeneralQuestionnairePatientFields = [\n 'firstName',\n 'lastName',\n 'birthday',\n 'gender',\n 'email',\n 'phoneNumber',\n 'billingAddress.streetAddress1',\n 'billingAddress.streetAddress2',\n 'billingAddress.city',\n 'billingAddress.state',\n 'billingAddress.zipCode',\n 'billingAddress.country',\n 'shippingAddress.streetAddress1',\n 'shippingAddress.streetAddress2',\n 'shippingAddress.city',\n 'shippingAddress.state',\n 'shippingAddress.zipCode',\n 'shippingAddress.country',\n];\n\nexport interface QuestionnaireSurveyGeneralPageProps extends QuestionnaireSurveyProps {\n patient: PatientProfileModel;\n handlePatientChanges: Function;\n}\n\nexport const GeneralSurvey: React.FC = (props: QuestionnaireSurveyGeneralPageProps) => {\n const {\n errors,\n result,\n patient,\n questionnaire,\n handleChanges,\n navigationContext,\n handlePatientChanges,\n } = props;\n const commonClasses = commonUseStyles();\n\n return (\n <>\n \n \n \n \n My Information:\n \n \n \n\n \n \n \n Billing Address:\n \n \n \n \n Shipping Address:\n \n \n \n \n \n\n \n \n \n \n \n \n \n \n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport { QuestionnairesListComponent } from '../../../components/questionnairesListComponent/QuestionnairesListComponent';\n\nexport const MedicalQuestionnairePageFields = [\n InitialQuestionNames.MEDICAL_CONDITIONS,\n InitialQuestionNames.FAMILY_MEDICAL_CONDITIONS,\n InitialQuestionNames.SMOKING_STATUS,\n InitialQuestionNames.DIABETES_STATUS,\n InitialQuestionNames.CANCER_SCREENING,\n InitialQuestionNames.HEALTH_FEARS,\n InitialQuestionNames.CURRENT_MEDICATIONS,\n InitialQuestionNames.CURRENT_MEDICATIONS_SUPPLEMENT\n];\n\nexport const MedicalSurvey: React.FC = (props: QuestionnaireSurveyProps) => {\n const {\n errors,\n result,\n questionnaire,\n handleChanges,\n navigationContext\n } = props;\n\n return (\n <>\n \n \n \n \n \n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport { QuestionnairesListComponent } from '../../../components/questionnairesListComponent/QuestionnairesListComponent';\n\nexport const NutritionQuestionnairePageFields = [\n InitialQuestionNames.SPECIFIC_DIET,\n InitialQuestionNames.REGULAR_FOOD,\n InitialQuestionNames.FASTING,\n InitialQuestionNames.START_CONSUMING_FOOD,\n InitialQuestionNames.STOP_CONSUMING_FOOD\n];\n\nexport const NutritionSurvey: React.FC = (props: QuestionnaireSurveyProps) => {\n const {\n errors,\n result,\n questionnaire,\n handleChanges,\n navigationContext\n } = props;\n\n return (\n <>\n \n \n \n \n \n )\n}\n","import React from 'react';\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport { QuestionnairesListComponent } from '../../../components/questionnairesListComponent/QuestionnairesListComponent';\nimport { Box } from '@material-ui/core';\nimport { PageSliderComponent } from '../../../../common/components/PageSliderComponent';\n\nexport const SleepQuestionnairePageFields = [\n InitialQuestionNames.SLEEP_QUALITY,\n InitialQuestionNames.ROUTINE_BEFORE_SLEEP,\n InitialQuestionNames.START_SLEEP,\n InitialQuestionNames.STOP_SLEEP,\n InitialQuestionNames.ALARM_CLOCK,\n InitialQuestionNames.RESTED_AFTER_SLEEP,\n InitialQuestionNames.ENERGY_AFTER_SLEEP\n];\n\nexport const SleepSurvey: React.FC = (props: QuestionnaireSurveyProps) => {\n const {\n errors,\n result,\n questionnaire,\n handleChanges,\n navigationContext\n } = props;\n\n return (\n <>\n \n \n \n \n \n )\n}\n","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PageSliderComponent} from \"../../../../common/components/PageSliderComponent\";\nimport {QuestionnaireSurveyProps} from \"./questionnaireSurvey.props\";\nimport {InitialQuestionNames} from \"../../../models/questionnaire.models\";\nimport { QuestionnairesListComponent } from '../../../components/questionnairesListComponent/QuestionnairesListComponent';\n\nexport const StressQuestionnairePageFields = [\n InitialQuestionNames.STRESS_LEVEL,\n InitialQuestionNames.DEAL_WITH_STRESS,\n InitialQuestionNames.MEDITATION_FREQUENCY\n];\n\nexport const StressSurvey: React.FC = (props: QuestionnaireSurveyProps) => {\n const {\n errors,\n result,\n questionnaire,\n handleChanges,\n navigationContext\n } = props;\n\n return (\n <>\n \n \n \n \n \n )\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n addressValidationRules,\n birthdayValidationRule,\n emailValidationRule,\n firstNameValidationRule,\n lastNameValidationRule,\n nullableRangeValidationRule,\n phoneNumberValidationRule,\n rangeValidationRule,\n stringLengthValidationRule,\n checkManyQuestionValidationRule,\n notWhitespaceValidationRule\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const questionnaireSurveyPageValidator = new GeneralValidator({\n // User form\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'phoneNumber': [phoneNumberValidationRule],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // General page\n 'HEALTH_PRIORITY': [checkManyQuestionValidationRule],\n 'EXCITED_TO_LEARN': [checkManyQuestionValidationRule],\n\n // Medical page\n 'MEDICAL_CONDITIONS': [checkManyQuestionValidationRule],\n 'FAMILY_MEDICAL_CONDITIONS': [checkManyQuestionValidationRule],\n 'HEALTH_FEARS': [checkManyQuestionValidationRule],\n 'CURRENT_MEDICATIONS': [stringLengthValidationRule(0, 500)],\n 'CURRENT_MEDICATIONS_SUPPLEMENT': [stringLengthValidationRule(0, 500)],\n 'SMOKING_STATUS': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'DIABETES_STATUS': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'CANCER_SCREENING': [stringLengthValidationRule(0, 500, 'This field is required')],\n\n // Nutrition page\n 'SPECIFIC_DIET': [checkManyQuestionValidationRule],\n 'REGULAR_FOOD': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'START_CONSUMING_FOOD': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'STOP_CONSUMING_FOOD': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'FASTING': [stringLengthValidationRule(0, 500, 'This field is required')],\n\n // Exercise page\n 'PRIMARY_EXERCISES': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'EXERCISE_TYPE': [checkManyQuestionValidationRule],\n 'EXERCISE_FREQUENCY': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'EXERCISE_PROGRAM_FOR': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'EXERCISE_LIMITATIONS': [checkManyQuestionValidationRule],\n 'MAX_PUSH_UPS': [rangeValidationRule(0, 999)],\n 'MAX_BUR_PRESS_1_MIN': [rangeValidationRule(0, 999)],\n\n // Cardio page\n 'HEIGHT': [nullableRangeValidationRule(20, 96, \"Value should be in range 20 - 96.\")],\n 'WEIGHT': [nullableRangeValidationRule(30, 800, \"Value should be in range 30 - 800.\")],\n 'WAIST': [rangeValidationRule(0, 999)],\n 'PULSE_REST': [rangeValidationRule(0, 999)],\n 'PULSE_AFTER_TEST': [rangeValidationRule(0, 999)],\n 'PULSE_1_MIN_AFTER_TEST': [rangeValidationRule(0, 999)],\n 'SBP': [rangeValidationRule(0, 210)],\n 'ETHNICITY': [stringLengthValidationRule(0, 500, 'This field is required')],\n\n // Sleep page\n 'SLEEP_QUALITY': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'ROUTINE_BEFORE_SLEEP': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'START_SLEEP': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'STOP_SLEEP': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'ALARM_CLOCK': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'RESTED_AFTER_SLEEP': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'ENERGY_AFTER_SLEEP': [stringLengthValidationRule(0, 500, 'This field is required')],\n\n // Stress page\n 'STRESS_LEVEL': [stringLengthValidationRule(0, 500, 'This field is required')],\n 'DEAL_WITH_STRESS': [checkManyQuestionValidationRule],\n 'MEDITATION_FREQUENCY': [stringLengthValidationRule(0, 500, 'This field is required')]\n});","import { useEffect, useState } from 'react';\nimport { useHistory } from \"react-router\";\nimport { Observable, Subscription } from 'rxjs';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { goToError } from \"../../../common/helpers/go-to-error\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport {\n QuestionnaireModel,\n QuestionnairePages,\n QuestionnaireResultModel,\n QuestionnaireType,\n SaveQuestionnaireResultModel\n} from \"../../models/questionnaire.models\";\nimport { questionnaireService } from \"../../services/questionnaire.service\";\nimport { questionnaireQuery } from \"../../stores/questionnaireStore\";\nimport { questionnaireSurveyPageValidator } from \"./initialQuestionnaireSurveyComponent.validator\";\nimport { CardioRespiratoryQuestionnairePageFields } from \"./pages/CardioRespiratorySurvey\";\nimport { ExerciseQuestionnairePageFields } from \"./pages/ExerciseSurvey\";\nimport { GeneralQuestionnairePageFields, GeneralQuestionnairePatientFields } from \"./pages/GeneralSurvey\";\nimport { MedicalQuestionnairePageFields } from \"./pages/MedicalSurvey\";\nimport { NutritionQuestionnairePageFields } from \"./pages/NutritionSurvey\";\nimport { SleepQuestionnairePageFields } from \"./pages/SleepSurvey\";\nimport { StressQuestionnairePageFields } from \"./pages/StressSurvey\";\nimport {PatientProfileModel} from \"../../../account/models/patientProfile.model\";\nimport {profileService} from \"../../../account/services/profile.service\";\nimport {profileQuery} from \"../../../account/stores/profileStore\";\n\nconst pageFields = [\n {\n page: QuestionnairePages.General,\n fields: GeneralQuestionnairePageFields\n },\n {\n page: QuestionnairePages.Medical,\n fields: MedicalQuestionnairePageFields\n },\n {\n page: QuestionnairePages.Nutrition,\n fields: NutritionQuestionnairePageFields\n },\n {\n page: QuestionnairePages.Exercise,\n fields: ExerciseQuestionnairePageFields\n },\n {\n page: QuestionnairePages.CardioRespiratory,\n fields: CardioRespiratoryQuestionnairePageFields\n },\n {\n page: QuestionnairePages.Sleep,\n fields: SleepQuestionnairePageFields\n },\n {\n page: QuestionnairePages.Stress,\n fields: StressQuestionnairePageFields\n }\n];\n\ninterface QuestionnaireSurveyPageState extends IErrorState {\n currentPage: QuestionnairePages;\n result: QuestionnaireResultModel;\n patient: PatientProfileModel;\n questionnaire: QuestionnaireModel;\n canSubmit: boolean;\n isLoading: boolean;\n}\n\nexport function useAnonymousFacade(intakeId: string): [Function, (result: SaveQuestionnaireResultModel, history: any) => Observable, Function, Function, Function] {\n return [\n (result: SaveQuestionnaireResultModel) => {\n return new Observable(observer => {\n questionnaireService.saveByIntakeId(intakeId, result).subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n (error) => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n },\n (result: SaveQuestionnaireResultModel, history) => {\n return new Observable(observer => {\n return questionnaireService.submitByIntakeId(intakeId, result).subscribe(\n () => {\n navigationService.toQuestionnaireCompleted(history, intakeId);\n observer.next();\n observer.complete();\n },\n (error) => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n },\n () => {\n return questionnaireService.startByType(intakeId, QuestionnaireType.Initial);\n },\n () => {\n profileService.getPatientProfileByIntakeId(intakeId).subscribe();\n },\n (profile: PatientProfileModel) => {\n profileService.updatePatientProfileByIntakeId(intakeId, profile).subscribe();\n }\n ];\n}\n\nexport function useAuthorizedFacade(): [Function, (result: SaveQuestionnaireResultModel, history: any) => Observable, Function, Function, Function] {\n return [\n (result: SaveQuestionnaireResultModel) => {\n return new Observable(observer => {\n questionnaireService.save(result).subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n (error) => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n },\n (result: SaveQuestionnaireResultModel, history) => {\n return new Observable(observer => {\n return questionnaireService.submitAsPatient(result).subscribe(\n () => {\n navigationService.toQuestionnaireCompleted(history);\n observer.next();\n observer.complete();\n },\n (error) => {\n observer.error(error);\n observer.complete();\n }\n );\n });\n },\n () => { },\n () => {\n profileService.getPatientProfile().subscribe()\n },\n (profile: PatientProfileModel) => {\n profileService.updatePatientProfile(profile).subscribe();\n }\n ]\n}\n\nexport function useFacade(saveQuestionnaire: Function, submitQuestionnaire: (result: SaveQuestionnaireResultModel, history: any) => Observable, getQuestionnaire: Function, getPatient: Function, savePatient: Function): [\n QuestionnaireSurveyPageState,\n Function,\n Function,\n Function\n] {\n const [state, setState] = useState({\n currentPage: QuestionnairePages.General,\n questionnaire: null,\n result: null,\n patient: null,\n canSubmit: true,\n isLoading: false,\n errors: {}\n } as QuestionnaireSurveyPageState);\n\n /**\n * Validates questionnaire page\n * @param page\n */\n const validatePage = (page: QuestionnairePages) => {\n const fields = pageFields.find(x => x.page === page);\n if (!fields) {\n return;\n }\n\n fields.fields.forEach(field => {\n const value = state.result.answers.find(x => x.key === field)?.value ?? '';\n questionnaireSurveyPageValidator.validateAndSetState(state, setState, field, value);\n });\n\n if (page === QuestionnairePages.General) {\n GeneralQuestionnairePatientFields.forEach(field => {\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.patient);\n const value = lastObject[key];\n questionnaireSurveyPageValidator.validateAndSetState(state, setState, field, value);\n });\n }\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n questionnaireSurveyPageValidator.validateAndSetState(state, setState, field, value);\n\n const result = state.result;\n const answer = result.answers.find(x => x.key === field);\n if (answer) {\n answer.value = value;\n } else {\n result.answers.push({\n key: field,\n value: value\n });\n }\n\n result.answers = [...result.answers];\n setState({...state, result});\n }\n\n const handlePatientChanges = (field: string, value: string) => {\n questionnaireSurveyPageValidator.validateAndSetState(state, setState, field, value);\n\n const patient = state.patient;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, patient);\n lastObject[key] = value;\n\n setState({...state, patient: {...patient}});\n }\n\n const history = useHistory();\n\n const handleSubmit = () => {\n if (!state.canSubmit) {\n return;\n }\n\n state.canSubmit = false;\n\n validatePage(state.currentPage);\n if (!questionnaireSurveyPageValidator.stateIsValid(state)) {\n goToError(state);\n return;\n }\n\n const cb = () => setState(state => ({...state, canSubmit: true}));\n submitQuestionnaire(getSaveModel(state.result), history).subscribe(cb, cb);\n }\n\n /**\n * Navigates to specified page\n * @param page\n * @param direction\n */\n const goTo = (page: QuestionnairePages, direction: number = 1) => {\n if (direction > 0) {\n validatePage(state.currentPage); \n if (!questionnaireSurveyPageValidator.stateIsValid(state)) {\n goToError(state);\n return;\n }\n } else {\n const errors = state.errors;\n for (let error in errors) {\n delete errors[error];\n }\n setState({\n ...state,\n errors: Object.assign({}, errors)\n });\n }\n\n if (state.currentPage === QuestionnairePages.General)\n {\n savePatient(state.patient);\n }\n\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n\n saveQuestionnaire(getSaveModel(state.result)).subscribe(\n () => {\n setState(state => ({\n ...state,\n currentPage: page,\n isLoading: false,\n }));\n\n navigationService.goUp();\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n }\n )\n }\n\n const getSaveModel = (result: QuestionnaireResultModel): SaveQuestionnaireResultModel => {\n return Object.assign(result, {\n answers: result.answers,\n questionnaireResultId: result.id\n });\n }\n\n /**\n * Returns if can go back\n */\n const canGoBack = (): boolean => {\n return state.currentPage !== QuestionnairePages.General\n };\n\n /**\n * Goes back\n */\n const goBack = () => goTo(state.currentPage - 1, -1);\n\n /**\n * Returns if can go next\n */\n const canGoNext = (): boolean => {\n return true;\n };\n\n /**\n * Goes next\n */\n const goNext = (): void => {\n if (state.currentPage === QuestionnairePages.Stress) {\n return handleSubmit();\n } else {\n return goTo(state.currentPage + 1);\n }\n };\n\n /**\n * Returns navigation context\n */\n const getNavigationContext = (): PageSliderNavigationContext => {\n return {\n nextButton: state.currentPage !== QuestionnairePages.Stress ? 'Next' : 'Submit',\n backButton: \"Back\",\n canGoNext: canGoNext,\n canGoBack: canGoBack,\n goNext: goNext,\n goBack: goBack\n } as PageSliderNavigationContext\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(questionnaireQuery.targetResult$, result => {\n if (result) {\n setState(state => ({\n ...state,\n result: result,\n questionnaire: result.questionnaire\n }));\n }\n }),\n onEmit(profileQuery.patientProfile$, patient => {\n if (patient) {\n setState(state => ({\n ...state,\n patient: patient\n }));\n }\n }),\n ];\n\n getQuestionnaire();\n getPatient();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [getQuestionnaire, getPatient]);\n\n return [state, getNavigationContext, handleChanges, handlePatientChanges]\n}\n","import { Box, Container } from '@material-ui/core';\nimport React from 'react';\nimport { LayoutComponent } from '../../../../components/layoutComponent/LayoutComponent';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { QuestionnaireProgressBarComponent } from \"../../components/questionnaireProgressBarComponent/questionnaireProgressBarComponent\";\nimport { QuestionnairePages, SaveQuestionnaireResultModel } from \"../../models/questionnaire.models\";\nimport { CardioRespiratorySurvey } from \"./pages/CardioRespiratorySurvey\";\nimport { ExerciseSurvey } from \"./pages/ExerciseSurvey\";\nimport { GeneralSurvey } from \"./pages/GeneralSurvey\";\nimport { MedicalSurvey } from \"./pages/MedicalSurvey\";\nimport { NutritionSurvey } from \"./pages/NutritionSurvey\";\nimport { SleepSurvey } from \"./pages/SleepSurvey\";\nimport { StressSurvey } from \"./pages/StressSurvey\";\nimport { useAnonymousFacade, useAuthorizedFacade, useFacade } from \"./initialQuestionnaireSurveyComponent.hooks\";\nimport { Observable } from 'rxjs';\n\nexport const AnonymousInitialQuestionnaireSurveyPage: React.FC = (props: any) => {\n const intakeId = props?.match?.params?.intakeId;\n const [\n saveResult,\n submitResult,\n startQuestionnaire,\n getPatient,\n savePatient\n ] = useAnonymousFacade(intakeId);\n\n return (\n \n \n \n \n \n \n \n );\n}\n\nexport const AuthorizedInitialQuestionnaireSurveyComponent: React.FC = () => {\n const [\n saveResult,\n submitResult,\n startQuestionnaire,\n getPatient,\n savePatient\n ] = useAuthorizedFacade();\n\n return (\n \n );\n}\n\ninterface InitialQuestionnaireSurveyComponentProps {\n saveResult: Function;\n submitResult: (result: SaveQuestionnaireResultModel, history: any) => Observable;\n startQuestionnaire: Function;\n getPatient: Function;\n savePatient: Function;\n}\n\nconst InitialQuestionnaireSurveyComponent: React.FC = (props: InitialQuestionnaireSurveyComponentProps) => {\n const {\n saveResult,\n submitResult,\n startQuestionnaire,\n getPatient,\n savePatient\n } = props;\n\n const [\n {\n currentPage,\n questionnaire,\n result,\n patient,\n isLoading,\n errors,\n },\n getNavigationContext,\n handleChanges,\n handlePatientChanges\n ] = useFacade(saveResult, submitResult, startQuestionnaire, getPatient, savePatient)\n\n if (!result || !questionnaire || !patient) {\n return \n }\n\n if (isLoading) {\n return (\n <>\n \n \n \n \n );\n }\n\n return (\n <>\n \n \n \n {\n currentPage === QuestionnairePages.General &&\n \n }\n {\n currentPage === QuestionnairePages.Medical &&\n \n }\n {\n currentPage === QuestionnairePages.Nutrition &&\n \n }\n {\n currentPage === QuestionnairePages.Exercise &&\n \n }\n {\n currentPage === QuestionnairePages.CardioRespiratory &&\n \n }\n {\n currentPage === QuestionnairePages.Sleep &&\n \n }\n {\n currentPage === QuestionnairePages.Stress &&\n \n }\n \n )\n}\n","import {\n checkManyQuestionValidationRule, rangeValidationRule, stringLengthValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {HealthLogQuestionNames} from '../../models/questionnaire.models';\n\nexport const healthLogQuestionnaireSurveyComponentValidator = new GeneralValidator({\n // Nutrition\n [HealthLogQuestionNames.FIRST_MEAL_TIME]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.FIRST_MEAL]: [stringLengthValidationRule(0, 500, 'Length should be in range from 0 to 500')],\n [HealthLogQuestionNames.SECOND_MEAL_TIME]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.SECOND_MEAL]: [stringLengthValidationRule(0, 500, 'Length should be in range from 0 to 500')],\n [HealthLogQuestionNames.LAST_MEAL_TIME]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.LAST_MEAL]: [stringLengthValidationRule(0, 500, 'Length should be in range from 0 to 500')],\n [HealthLogQuestionNames.LIST_OF_SNACKS]: [stringLengthValidationRule(0, 500, 'Length should be in range from 0 to 500')],\n [HealthLogQuestionNames.REGULAR_PRACTICE]: [stringLengthValidationRule(0, null, 'This field is required')],\n\n // Exercise\n [HealthLogQuestionNames.WEEKS_EXERCISE]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.TYPES_OF_EXERCISE]: [checkManyQuestionValidationRule],\n \n // Sleep\n [HealthLogQuestionNames.ACTIVITIES_LIST]: [stringLengthValidationRule(0, 500, 'Length should be in range from 0 to 500')],\n [HealthLogQuestionNames.CONSUME_BEFORE_NIGHT]: [checkManyQuestionValidationRule],\n [HealthLogQuestionNames.FALL_ASLEEP_TIME]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.WAKE_UP_TIME]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.WAKE_UP_WITH_ALARM]: [stringLengthValidationRule(0, null, 'This field is required')],\n [HealthLogQuestionNames.FEEL_IN_THE_MORNING]: [rangeValidationRule(0, 10, 'Value is out of range')],\n [HealthLogQuestionNames.ENERGY_THROUGHOUT_THE_DAY]: [rangeValidationRule(0, 10, 'Value is out of range')],\n\n // Mindfulness\n [HealthLogQuestionNames.PRACTICES_A_WEEK]: [stringLengthValidationRule(0, null, 'This field is required')],\n});","import { useState } from 'react';\nimport { useHistory } from \"react-router\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { goToError } from \"../../../common/helpers/go-to-error\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport {\n InitialQuestionNames, QuestionnaireModel,\n QuestionnaireResultModel,\n SaveQuestionnaireResultModel\n} from \"../../models/questionnaire.models\";\nimport { questionnaireService } from \"../../services/questionnaire.service\";\nimport { healthLogQuestionnaireSurveyComponentValidator } from \"./healthLogQuestionnaireSurveyComponent.validator\";\n\nexport const fields = [\n InitialQuestionNames.EAT_FIRST_TIME,\n InitialQuestionNames.EAT_SECOND_TIME,\n InitialQuestionNames.EAT_THIRD_TIME,\n InitialQuestionNames.WHAT_EAT_FIRST_TIME,\n InitialQuestionNames.WHAT_EAT_SECOND_TIME,\n InitialQuestionNames.WHAT_EAT_THIRD_TIME,\n InitialQuestionNames.EAT_THROUGHOUT_DAY,\n InitialQuestionNames.RESTRICTED_FEEDING_DURING_DAY,\n InitialQuestionNames.EXERCISING_DURING_DAY,\n InitialQuestionNames.EXERCISE_TYPE,\n InitialQuestionNames.CONSUME_BEFORE_SLEEP,\n InitialQuestionNames.FALL_ASLEEP,\n InitialQuestionNames.WAKE_UP,\n InitialQuestionNames.WOKE_UP_FEEL,\n InitialQuestionNames.WOKE_UP_ENERGY,\n InitialQuestionNames.MEDITATION_DURING_WEEK,\n];\n\ninterface QuestionnaireSurveyPageState extends IErrorState {\n isLoading: boolean;\n result: QuestionnaireResultModel;\n questionnaire: QuestionnaireModel;\n}\n\nexport function useFacade(\n result: QuestionnaireResultModel,\n questionnaire: QuestionnaireModel,\n patientId: number | null,\n handleGoBack: Function | null): [\n QuestionnaireSurveyPageState,\n (field: string, value: string) => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: false,\n questionnaire: questionnaire,\n result: result,\n errors: {}\n } as QuestionnaireSurveyPageState);\n\n /**\n * Validates questionnaire page\n */\n const validate = () => {\n fields.forEach(field => {\n const value = state.result.answers.find(x => x.key === field)?.value ?? '';\n healthLogQuestionnaireSurveyComponentValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n healthLogQuestionnaireSurveyComponentValidator.validateAndSetState(state, setState, field, value);\n\n const result = state.result;\n const answer = result.answers.find(x => x.key === field);\n if (answer) {\n answer.value = value;\n } else {\n result.answers.push({\n key: field,\n value: value\n });\n }\n\n result.answers = [...result.answers];\n setState({...state, result});\n }\n\n const history = useHistory();\n\n const handleSubmit = () => {\n validate();\n\n if (!healthLogQuestionnaireSurveyComponentValidator.stateIsValid(state)) {\n goToError(state);\n return;\n }\n\n setState({...state, isLoading: true});\n\n if (patientId) {\n questionnaireService.submitAsEmployee(getSaveModel(state.result)).subscribe(() => {\n if (handleGoBack) {\n handleGoBack();\n }\n })\n } else {\n questionnaireService.submitAsPatient(getSaveModel(state.result)).subscribe(() => {\n questionnaireService.getNotificationAvailable().subscribe();\n navigationService.toMyHealthForms(history);\n });\n }\n }\n\n const getSaveModel = (result: QuestionnaireResultModel): SaveQuestionnaireResultModel => {\n return Object.assign(result, {\n answers: result.answers,\n questionnaireResultId: result.id,\n patientId: patientId\n });\n }\n\n return [state, handleChanges, handleSubmit]\n}\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport {\n HealthLogQuestionNames,\n QuestionnaireModel,\n QuestionnaireResultModel\n} from '../../models/questionnaire.models';\nimport { QuestionnairesListComponent } from '../questionnairesListComponent/QuestionnairesListComponent';\nimport { useFacade } from \"./healthLogQuestionnaireSurveyComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\n\nexport interface HealthLogQuestionnaireSurveyComponentProps {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n patientId?: number;\n handleGoBack?: Function;\n}\n\nexport const HealthLogQuestionnaireSurveyComponent: React.FC = (props: HealthLogQuestionnaireSurveyComponentProps) => {\n const [\n {\n isLoading,\n questionnaire,\n result,\n errors,\n },\n handleChanges,\n handleSubmit\n ] = useFacade(props.result, props.questionnaire, props.patientId, props.handleGoBack);\n\n return isLoading\n ? \n : \n \n \n Please complete based on what a typical day looked like for you this week.\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n handleSubmit()}>\n Submit\n \n \n\n \n \n}\n","import React from 'react';\nimport { Box, LinearProgress, withStyles } from \"@material-ui/core\";\nimport { WatchLater } from '@material-ui/icons';\nimport { colors } from '../../../common/constants/colors';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\n\n\nexport interface QuestionnaireProgressComponentProps {\n progress: number;\n timeLabel: string;\n}\n\nexport const QuestionnaireProgressComponent: React.FC = (props: QuestionnaireProgressComponentProps) => {\n const {progress, timeLabel} = props;\n\n const commonClasses = commonUseStyles();\n\n const QuestionnaireProgress = withStyles(() => ({\n colorPrimary: {\n backgroundColor: colors.gray3,\n borderRadius: 10,\n height: 11,\n },\n barColorPrimary: {\n backgroundColor: colors.main,\n }\n }))(LinearProgress);\n\n return (\n \n \n {\n Math.round(progress)}%\n \n \n \n \n \n \n {timeLabel}\n \n \n \n \n \n )\n}","import {DetailedQuestionnaireSectionNames, DetailedQuestionNames} from \"../static/detailedQuestionnaire.static\";\nimport {QuestionnaireResultModel} from \"../models/questionnaire.models\";\nimport {isFeatureFlag} from \"../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../common/components/featureFlags/featureFlags.models\";\n\nconst phqQuestions = [\n DetailedQuestionNames.PHQ2_1,\n DetailedQuestionNames.PHQ2_2,\n];\n\nconst phqScores = new Map()\n .set('', 0)\n .set('Not at all', 0)\n .set('Several Days', 1)\n .set('Nearly Every Day', 2);\n\nexport const isQuestionnaireSectionAvailable = (sectionName: string, result: QuestionnaireResultModel, featureFlags: any) => {\n if (sectionName === DetailedQuestionnaireSectionNames.PHQ2) {\n if (!isFeatureFlag(featureFlags, FeatureFlag.Phq2)) {\n return false;\n }\n }\n\n if (sectionName === DetailedQuestionnaireSectionNames.PHQ8) {\n if (!isFeatureFlag(featureFlags, FeatureFlag.Phq2)) {\n return false;\n }\n\n const scores = phqQuestions.map(key =>\n {\n const answer = result.answers.find(x => x.key === key)?.value ?? '';\n\n return phqScores.get(answer);\n });\n\n const totalScore = scores.reduce((accumulator, current) => {\n return accumulator + current;\n }, 0);\n\n return totalScore >= 2;\n }\n\n if (sectionName === DetailedQuestionnaireSectionNames.PREGNANCY_COMPLICATIONS) {\n const pregnantAnswer = result.answers.find(x => x.key === DetailedQuestionNames.PREGNANT)?.value ?? '';\n if (pregnantAnswer != 'Yes') {\n return false;\n }\n }\n\n return true;\n}","import React, { useEffect, useState } from 'react';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { PageSliderNavigationContext } from '../../../common/models/navigation.models';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport {\n AnswerModel,\n QuestionnaireModel,\n QuestionnaireResultModel,\n SaveQuestionnaireResultModel,\n QuestionType,\n BloodPressure\n} from \"../../models/questionnaire.models\";\nimport { questionnaireService } from \"../../services/questionnaire.service\";\nimport { QuestionnaireSectionComponent } from \"../questionnaireSectionComponent/QestionnaireSectionComponent\";\nimport { hasAnswer } from '../../helpers/has-answer';\nimport { useHistory } from 'react-router';\nimport { GeneralValidator } from '../../../common/validation/general-validator';\nimport { getSpecificQuestions } from '../../helpers/specific-questions-provider';\nimport { Gender } from \"../../../common/models/user.models\";\nimport { isGenderMatch } from \"../../helpers/is-gender-match\";\nimport {isQuestionnaireSectionAvailable} from \"../../helpers/sections-availability-provider\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\nimport { MedicalHistoryAndLifestyleSectionNames, MedicalHistoryAndLifestyleQuestionNames } from '../../static/medicalHistroryQuestionnaire.static';\n\ninterface QuestionnaireComponentState extends IErrorState {\n result: QuestionnaireResultModel;\n newAnswers: AnswerModel[];\n questionnaire: QuestionnaireModel;\n currentSection: string;\n navigationContext: PageSliderNavigationContext;\n isLoading: boolean;\n sectionForSkipping: string[];\n hideNext: boolean;\n hasBloodPressure: boolean;\n}\n\nexport function useFacade(\n result: QuestionnaireResultModel,\n questionnaire: QuestionnaireModel,\n sections: { [key: string]: string[] },\n validator: GeneralValidator,\n gender: Gender,\n patientId: number | null,\n handleGoBack: Function | null\n): [\n QuestionnaireComponentState,\n JSX.Element,\n () => number,\n (status: boolean) => void,\n ] {\n\n const history = useHistory();\n\n const featureFlags = useFlags();\n\n const getSectionForSkipping = (questionnaireResult?: QuestionnaireResultModel) => {\n const sectionForSkipping = [];\n\n Object.keys(sections)\n .forEach(sectionName => {\n const questions = sections[sectionName];\n const section = questionnaire.questions.filter(x => questions.includes(x.name) && !isGenderMatch(x, gender));\n if (section && section.length) {\n sectionForSkipping.push(...section.map(el => el.name));\n }\n\n if (!isQuestionnaireSectionAvailable(sectionName, questionnaireResult ?? result, featureFlags)) {\n sectionForSkipping.push(sectionName);\n }\n });\n\n return sectionForSkipping;\n }\n\n const canSkipSection = (questions: string[], sectionName: string, sectionForSkipping: string[]) => {\n if (sectionForSkipping.includes(sectionName)) {\n return true;\n }\n\n const relatedQuestions = questionnaire.questions.filter(x => questions.includes(x.name) && isGenderMatch(x, gender))\n return !relatedQuestions || !relatedQuestions.length;\n }\n\n const sectionNames = Object.keys(sections);\n\n const getCurrentSection = (): string => {\n let section = Object.keys(sections)\n .filter(x => !canSkipSection(sections[x], x, getSectionForSkipping()))\n .find(s => !sections[s].some(q => hasAnswer(result.answers, q)));\n\n if (!section) {\n section = sectionNames[sectionNames.length - 1];\n }\n\n return section;\n }\n\n const [state, setState] = useState({\n questionnaire: questionnaire,\n result: result,\n newAnswers: [],\n currentSection: getCurrentSection(),\n sectionForSkipping: [],\n navigationContext: {\n nextButton: 'Next',\n backButton: 'Back',\n canGoBack: () => false,\n goBack: () => { },\n canGoNext: () => false,\n goNext: () => { },\n } as PageSliderNavigationContext,\n\n medications: [],\n allergies: [],\n medicationDialogOpened: false,\n allergiesDialogOpened: false,\n isLoading: false,\n errors: {},\n hideNext: false,\n hasBloodPressure: false\n } as QuestionnaireComponentState);\n\n const setSkipSectionName = () => {\n\n state.sectionForSkipping = [];\n\n state.sectionForSkipping.push(...getSectionForSkipping(state.result));\n\n setState(state => ({ ...state }));\n }\n\n const getNextSection = (currentSection: string) => {\n if (currentSection === sectionNames[sectionNames.length - 1]) {\n return null;\n }\n\n const currentIndex = sectionNames.indexOf(currentSection);\n const nextSection = sectionNames[currentIndex + 1];\n\n if (canSkipSection(sections[nextSection], nextSection, state.sectionForSkipping)) {\n return getNextSection(nextSection);\n }\n\n return nextSection;\n }\n\n const getPreviousSection = (currentSection: string) => {\n if (currentSection === sectionNames[0]) {\n return currentSection;\n }\n\n const currentIndex = sectionNames.indexOf(currentSection);\n const previousSection = sectionNames[currentIndex - 1];\n\n if (canSkipSection(sections[previousSection], previousSection, state.sectionForSkipping)) {\n return getPreviousSection(previousSection);\n }\n\n return previousSection;\n }\n\n const getQuestionsRequirements = (): { [id: string]: () => boolean } => {\n const parentQuestions = questionnaire.questions.filter(x => x.childrenNames.length);\n const childQuestions = questionnaire.questions.filter(x => x.parentAnswers.length);\n\n return Object.assign({}, ...childQuestions.map((x) => ({\n [x.name]: () => {\n const parentQuestion = parentQuestions.find(pq => pq.childrenNames.includes(x.name));\n const root = parentQuestions.find(pq => pq.childrenNames.includes(parentQuestion.name))\n return (!root || parentQuestion.parentAnswers.some(pc => hasAnswer(state.result.answers, root.name, pc))) && x.parentAnswers.some(pc => hasAnswer(state.result.answers, parentQuestion.name, pc))\n }\n })));\n }\n\n const questionsRequirements = getQuestionsRequirements();\n\n const handleChanges = (field: string, value: string) => {\n validator.validateAndSetState(state, setState, field, value);\n\n const result = state.result;\n const newAnswers = state.newAnswers;\n const answer = result.answers.find(x => x.key === field);\n if (answer) {\n answer.value = value;\n const updateAnswer = newAnswers.find(x => x.key === field)\n if (updateAnswer) {\n updateAnswer.value = value;\n } else {\n newAnswers.push({\n key: field,\n value: value\n });\n }\n } else {\n result.answers.push({\n key: field,\n value: value\n });\n newAnswers.push({\n key: field,\n value: value\n });\n }\n\n result.answers = [...result.answers];\n setState({ ...state, result: result, newAnswers: newAnswers });\n if (state.hideNext) {\n goNext();\n }\n }\n\n const handleToggleBloodPressure = (status: boolean) => {\n const result = state.result;\n const newAnswers = state.newAnswers;\n if (status) {\n const topPressureAnswer = result.answers.find(x => x.key === MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP);\n const bottomPressureAnswer = result.answers.find(x => x.key === MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM);\n if (topPressureAnswer) {\n topPressureAnswer.value = BloodPressure.top;\n const updateAnswer = newAnswers.find(x => x.key === MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP)\n if (updateAnswer) {\n updateAnswer.value = BloodPressure.top;\n } else {\n newAnswers.push({\n key: MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP,\n value: BloodPressure.top\n });\n }\n } else {\n result.answers.push({\n key: MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP,\n value: BloodPressure.top\n });\n newAnswers.push({\n key: MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_TOP,\n value: BloodPressure.top\n });\n }\n if (bottomPressureAnswer) {\n bottomPressureAnswer.value = BloodPressure.bottom;\n const updateAnswer = newAnswers.find(x => x.key === MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM)\n if (updateAnswer) {\n updateAnswer.value = BloodPressure.bottom;\n } else {\n newAnswers.push({\n key: MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM,\n value: BloodPressure.bottom\n });\n }\n } else {\n result.answers.push({\n key: MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM,\n value: BloodPressure.bottom\n });\n newAnswers.push({\n key: MedicalHistoryAndLifestyleQuestionNames.DEMOGRAPHICS_AND_BIOMETRICS_SBP_BOTTOM,\n value: BloodPressure.bottom\n });\n }\n }\n\n result.answers = [...result.answers];\n setState({ ...state, result: result, newAnswers: newAnswers, hasBloodPressure: status });\n }\n\n const questionComponents = getSpecificQuestions(handleChanges, state.questionnaire, state.result, state.result.answers, state.errors, patientId);\n\n const currentSection = ()\n\n const getSaveModel = (result: QuestionnaireResultModel): SaveQuestionnaireResultModel => {\n return {\n answers: state.newAnswers,\n questionnaireResultId: result.id,\n patientId: patientId\n };\n }\n\n const submit = () => {\n if (patientId) {\n questionnaireService.submitAsEmployee(getSaveModel(state.result)).subscribe(() => {\n if (handleGoBack) {\n handleGoBack();\n }\n });\n } else {\n questionnaireService.submitAsPatient(getSaveModel(state.result)).subscribe(() => {\n questionnaireService.getNotificationAvailable().subscribe();\n navigationService.toMyHealthForms(history);\n });\n }\n }\n\n const goNext = () => {\n setState(state => ({ ...state, isLoading: true }));\n\n setSkipSectionName();\n\n let nextSection = getNextSection(state.currentSection);\n if (state.sectionForSkipping.includes(nextSection)) {\n nextSection = getNextSection(nextSection)\n }\n\n if (!nextSection) {\n return submit();\n }\n\n const callBack = () => {\n const hideNext = state\n .questionnaire\n .questions\n .find(x => sections[nextSection].some(q => q === x.name) && sections[nextSection].length === 1 && !x.optional && !x.childrenNames.length && x.type === QuestionType.SelectOne) && nextSection !== sectionNames[0];\n\n setState({\n ...state,\n newAnswers: [],\n isLoading: false,\n currentSection: nextSection,\n hideNext: hideNext\n });\n }\n\n if (patientId) {\n questionnaireService.saveAsEmployee(getSaveModel(state.result)).subscribe(() => {\n callBack();\n });\n } else {\n questionnaireService.save(getSaveModel(state.result)).subscribe(() => {\n callBack();\n });\n }\n }\n\n const goBack = () => {\n setSkipSectionName();\n\n let previousSection = getPreviousSection(state.currentSection);\n if (state.sectionForSkipping.includes(previousSection)) {\n previousSection = getPreviousSection(previousSection)\n }\n\n const hideNext = state.questionnaire.questions.find(x => sections[previousSection].some(q => q === x.name) && sections[previousSection].length === 1 && !x.optional && !x.childrenNames.length && x.type === QuestionType.SelectOne) && previousSection !== sectionNames[0];\n\n setState({ ...state, currentSection: previousSection, hideNext: hideNext });\n }\n\n const getNavigationContext = (): PageSliderNavigationContext => {\n const canGoBack = state.currentSection !== sectionNames[0];\n const nextButton = state.currentSection === sectionNames[sectionNames.length - 1] ? 'Complete' : 'Next Step';\n\n const requiredQuestions = state\n .questionnaire\n .questions\n .filter(x => sections[state.currentSection].some(q => q === x.name) && !x.optional);\n\n const canGoNext = requiredQuestions.every(x => hasAnswer(state.result.answers, x.name) || (questionsRequirements[x.name] !== undefined && questionsRequirements[x.name]() === false)) && validator.stateIsValid(state)\n\n return {\n nextButton: nextButton,\n backButton: 'Previous Step',\n canGoBack: () => (canGoBack),\n goBack: goBack,\n canGoNext: () => (canGoNext),\n goNext: goNext,\n } as PageSliderNavigationContext\n }\n\n const getProgress = (): number => {\n const currentIndex = sectionNames.indexOf(state.currentSection);\n\n return 100 / sectionNames.length * currentIndex;\n }\n\n useEffect(() => {\n setSkipSectionName();\n }, []);\n\n\n\n useEffect(() => {\n const currentQuestionary = state.questionnaire.questions.find(x => sections[state.currentSection].some(q => q === x.name) && sections[state.currentSection].length === 1 && !x.optional && !x.childrenNames.length && x.type === QuestionType.SelectOne);\n const hideNext = currentQuestionary && state.currentSection !== sectionNames[0] && !state.result.answers.find(el => el.key === currentQuestionary.name);\n setState({ ...state, navigationContext: getNavigationContext(), hideNext: hideNext || false })\n }, [state.currentSection, state.result.answers]);\n\n return [state, currentSection, getProgress, handleToggleBloodPressure]\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n main: {\n padding: \"30px\",\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n navigation: {\n bottom: 0\n },\n content: {\n width: '672px',\n [theme.breakpoints.down(\"xs\")]: {\n width: '100%',\n },\n }\n }),\n);\n","import React from 'react';\nimport { Box } from \"@material-ui/core\";\nimport { PageSliderComponent } from '../../../common/components/PageSliderComponent';\nimport { GeneralValidator } from '../../../common/validation/general-validator';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { QuestionnaireModel, QuestionnaireResultModel } from '../../models/questionnaire.models';\nimport { QuestionnaireProgressComponent } from '../questionnaireProgressComponent/QuestionnaireProgressComponent';\nimport { useFacade } from './questionnaireComponent.hooks';\nimport { useStyles } from './QuestionnaireComponent.styles';\nimport { Gender } from \"../../../common/models/user.models\";\nimport { colors } from '../../../common/constants/colors';\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\nimport { MedicalHistoryAndLifestyleSectionNames } from '../../static/medicalHistroryQuestionnaire.static';\n\nexport interface QuestionnaireComponentProps {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n sections: { [key: string]: string[] };\n validator: GeneralValidator;\n gender: Gender;\n patientId?: number;\n handleGoBack?: Function;\n}\n\nexport const QuestionnaireComponent: React.FC = (props: QuestionnaireComponentProps) => {\n const { questionnaire, result, sections, validator, gender, patientId, handleGoBack } = props;\n\n const [state, currentSection, getProgress, handleToggleBloodPressure] = useFacade(result, questionnaire, sections, validator, gender, patientId, handleGoBack);\n\n const classes = useStyles();\n\n const renderContent = (): JSX.Element => {\n if (state.isLoading) {\n return \n }\n\n return (\n <>\n {\n currentSection\n }\n {state.currentSection === MedicalHistoryAndLifestyleSectionNames.DEMOGRAPHICS_AND_BIOMETRICS_BLOOD_PRESSURE && \n handleToggleBloodPressure(event.target.checked)}\n />\n }\n \n \n \n \n )\n }\n\n return (\n \n \n \n \n \n {\n renderContent()\n }\n \n \n )\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n rangeValidationRule,\n stringLengthValidationRule,\n checkManyQuestionValidationRule\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const medicalHistoryQuestionnaireValidator = new GeneralValidator({\n 'MEDICAL_HISTORY_CONDITIONS': [checkManyQuestionValidationRule],\n 'MEDICAL_HISTORY_CONDITIONS_FAMILY': [checkManyQuestionValidationRule],\n 'MEDICAL_HISTORY_DIABET': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'MEDICAL_HISTORY_DIABET_TYPE': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'MEDICAL_HISTORY_CHOLESTEROL': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'MEDICAL_HISTORY_BLOOD_PRESSURE': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'CORONARY_CALCIUM_SCORE': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'SCORE': [rangeValidationRule(0, 100)],\n 'SMOKING_HISTORY': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'ALCOHOL_HISTORY': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'ANY_MEDICATIONS': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'MEDICATIONS': [],\n 'SUPPLEMENT': [],\n 'ANY_SUPPLEMENTS': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'SUPPLEMENTS': [],\n 'DRUG_ALLERGIES': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'ALLERGIES': [],\n 'SPECIFIC_KIND_OF_DIET': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'RESTRICTED_FOOD': [checkManyQuestionValidationRule],\n 'OILY_FISH': [rangeValidationRule(0, 1000)],\n 'RED_MEAT': [rangeValidationRule(0, 1000)],\n 'PROCESSED_MEAT': [rangeValidationRule(0, 1000)],\n 'SERVINGS_VEGETABLES': [rangeValidationRule(0, 1000)],\n 'PRACTICE_FEEDING': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'PRIMARY_EXERCISE_GOAL': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'AVERAGE_LIGHT_EXERCISE_TIME': [rangeValidationRule(0, 172)],\n 'AVERAGE_MODERATE_EXERCISE_TIME': [rangeValidationRule(0, 172)],\n 'AVERAGE_INTENSE_EXERCISE_TIME': [rangeValidationRule(0, 172)],\n 'PUSH_UPS_PERFORMING': [rangeValidationRule(0, 1000)],\n 'RUN_RUN': [rangeValidationRule(0, 1000)],\n 'REP_BENCH_PRESS': [rangeValidationRule(0, 1000)],\n 'DEADLIFT': [rangeValidationRule(0, 1000)],\n 'REP_SQUAT': [rangeValidationRule(0, 1000)],\n 'AVERAGE_HOURS_OF_SLEEP': [rangeValidationRule(0, 24)],\n 'SLEEP_ROUTINE': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'FALL_ASLEEP_NIGHT': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'WAKE_UP': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'RESTED_READY_WAKEUP': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'ENERGY_THROUGHOUT_THE_DAY': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'TYPICAL_STRESS': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'STRESS_OR_PRACITCE_MINDFULNESS': [checkManyQuestionValidationRule],\n 'PERFORM_YOUR_ROUTINES': [stringLengthValidationRule(1, 500, 'This field is required')],\n 'TV_HOURS': [rangeValidationRule(0, 24)],\n 'NON_TV_SCREEN': [rangeValidationRule(0, 24)],\n});","import React from 'react';\nimport {QuestionnaireModel, QuestionnaireResultModel} from '../../models/questionnaire.models';\nimport {QuestionnaireComponent} from '../questionnaireComponent/QuestionnaireComponent';\nimport {\n MedicalHistoryAndLifestyleSectionNames,\n MedicalHistoryAndLifestyleSections\n} from '../../static/medicalHistroryQuestionnaire.static';\nimport {medicalHistoryQuestionnaireValidator} from './medicalHistoryQuestionnaireSurveyComponent.validator';\nimport {Gender} from \"../../../common/models/user.models\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\nimport {isFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\n\nexport interface MedicalHistoryQuestionnaireSurveyComponentProps {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n gender: Gender;\n patientId?: number;\n handleGoBack?: Function;\n}\n\nexport const MedicalHistoryQuestionnaireSurveyComponent: React.FC = (props: MedicalHistoryQuestionnaireSurveyComponentProps) => {\n const {questionnaire, result, gender, patientId, handleGoBack} = props;\n\n const flags = useFlags();\n const rxntIntegration = isFeatureFlag(flags, FeatureFlag.RxntIntegration);\n const sections = Object.assign({}, MedicalHistoryAndLifestyleSections);\n\n if (rxntIntegration) {\n delete sections[MedicalHistoryAndLifestyleSectionNames.ALLERGIES];\n delete sections[MedicalHistoryAndLifestyleSectionNames.MEDICATIONS];\n }\n\n return (\n \n )\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n stringLengthValidationRule,\n checkManyQuestionValidationRule,\n notWhitespaceValidationRule\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const healthGoalsQuestionnaireValidator = new GeneralValidator({\n 'YOUR_INTENTION': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'YOUR_EXERCISE_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_EXERCISE_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'EXERCISE_ROUTINE_LOOK_LIKE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_NUTRITION_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_NUTRITION_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'TYPE_OF_FOOD_DO_YOU_EAT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_SLEEP_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_SLEEP_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'GOOD_AND_BAD_SLEEP_ROUTINE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_MINDFULNESS_GOALS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_MINDFULNESS_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'MINDFULNESS_PRACTICE_LOOK': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'YOUR_SOCIAL_CONNECTIONS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERSONAL_SOCIAL_CONNECTION_GOAL': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'DESCRIBE_SOCIAL_CONNECTIONS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'TAKE_TIME_TO_WALK_OUTSIDE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_HAPPINESS_PERFORMANCE': [stringLengthValidationRule(1, 500), notWhitespaceValidationRule()],\n 'HEALTH_FEELING': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'OVERALL_PHYSICAL_HEALTH': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'FREE_CHRONIC_PAIN': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'FREE_CHRONIC_PAIN_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'GET_SICK': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'SICK_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALTH_PHYSICAL_FEELING': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_PHYSICAL_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALTH_MORE_OR_LESS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HEALS_MORE_OR_LESS_COMMENTS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_ENJOY_LIFE': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_ENJOY_LIFE_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_CONNECTIONS': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_CONNECTIONS_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OPTIMISTIC_PESSIMISTIC': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OPTIMISTIC_PESSIMISTIC_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_COACH_THERAPIST': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_COACH_THERAPIST_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'DEPRESSION_BORDERED': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'DEPRESSION_BORDERED_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_INTO_MY_80': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_INTO_MY_80_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OVERALL': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'HAPPINESS_OVERALL_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_METRICS': [checkManyQuestionValidationRule],\n 'PERFORMANCE_METRICS_EXPLAIN': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_ACTIVITY_IMPORTANT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_ACTIVITY_IMPORTANT_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_IMPROVEMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_IMPROVEMENT_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_CONFIDENT_80S': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_CONFIDENT_80S_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_OVERALL': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n 'PERFORMANCE_OVERALL_COMMENT': [stringLengthValidationRule(0, 500), notWhitespaceValidationRule()],\n});","import React from 'react';\nimport {QuestionnaireModel, QuestionnaireResultModel} from '../../models/questionnaire.models';\nimport {QuestionnaireComponent} from '../questionnaireComponent/QuestionnaireComponent';\nimport {healthGoalsQuestionnaireValidator} from './healthGoalsQuestionnaireSurveyComponent.validator';\nimport {HealthGoalsQuestionnaireSections} from '../../static/healthGoalsQuestionnaire.static';\nimport {Gender} from \"../../../common/models/user.models\";\n\nexport interface MedicalHistoryQuestionnaireSurveyComponentProps {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n gender: Gender;\n patientId?: number;\n handleGoBack?: Function;\n}\n\nexport const HealthGoalsQuestionnaireSurveyComponent: React.FC = (props: MedicalHistoryQuestionnaireSurveyComponentProps) => {\n const {questionnaire, result, gender, patientId, handleGoBack} = props;\n\n return (\n \n )\n}","import { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const detailedQuestionnaireValidator = new GeneralValidator({\n\n});","import React from 'react';\nimport { QuestionnaireModel, QuestionnaireResultModel } from '../../models/questionnaire.models';\nimport { QuestionnaireComponent } from '../questionnaireComponent/QuestionnaireComponent';\nimport { detailedQuestionnaireValidator } from './detailedQuestionnaireSurveyComponent.validator';\nimport { detailedQuestionnaireSections } from '../../static/detailedQuestionnaire.static';\nimport { Gender } from \"../../../common/models/user.models\";\n\nexport interface DetailedQuestionnaireSurveyComponent {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n gender: Gender;\n patientId?: number;\n handleGoBack?: Function;\n}\n\nexport const DetailedQuestionnaireSurveyComponent: React.FC = (props: DetailedQuestionnaireSurveyComponent) => {\n const {questionnaire, result, gender, patientId, handleGoBack} = props;\n\n return (\n \n )\n}","import { stringLengthValidationRule} from '../../../common/validation/general-validation-rules'\nimport { GeneralValidator } from '../../../common/validation/general-validator'\nimport { FollowUpFormQuestionNames } from '../../static/followUpForm.static'\n\nexport const followUpFormSurveyComponentValidator = new GeneralValidator({\n //General Update:\n [FollowUpFormQuestionNames.REFLECT_LAST_VISIT]: [stringLengthValidationRule(1, 500, 'Length should be in range from 1 to 500')],\n //Goals & Interventions:\n [FollowUpFormQuestionNames.RATE_OVERALL_PROGRESS]: [stringLengthValidationRule(1, null, 'This field is required')],\n [FollowUpFormQuestionNames.CLARIFY_PREVIOUS_QUESTIONS]: [stringLengthValidationRule(1, 500, 'Length should be in range from 1 to 500')],\n //Upcoming Visit:\n [FollowUpFormQuestionNames.HOPING_UPCOMING_VISITS]: [stringLengthValidationRule(1, 500, 'Length should be in range from 1 to 500')],\n //Checking in on your goals:\n [FollowUpFormQuestionNames.RATE_SUCCESS_EXERCISE]: [stringLengthValidationRule(1, null, 'This field is required')],\n [FollowUpFormQuestionNames.RATE_SUCCESS_NUTRITION]: [stringLengthValidationRule(1, null, 'This field is required')],\n [FollowUpFormQuestionNames.RATE_SUCCESS_SLEEP]: [stringLengthValidationRule(1, null, 'This field is required')],\n [FollowUpFormQuestionNames.RATE_SUCCESS_MINDFULNESS]: [stringLengthValidationRule(1, null, 'This field is required')],\n [FollowUpFormQuestionNames.RATE_SUCCESS_SOCIAL_CONNECTION]: [stringLengthValidationRule(1, null, 'This field is required')]\n //Checking in on your biometrics (optional):\n //no validation\n})","import { QuestionnaireModel, QuestionnaireResultModel, SaveQuestionnaireResultModel } from '../../models/questionnaire.models'\nimport { followUpFormSurveyComponentValidator } from './followUpFormSurvey.validator'\nimport { FollowUpFormQuestionNames } from '../../static/followUpForm.static'\nimport { questionnaireService } from '../../services/questionnaire.service'\nimport { navigationService } from '../../../../services/navigation.service'\nimport { IErrorState } from '../../../common/validation/error-state'\nimport { goToError } from '../../../common/helpers/go-to-error'\nimport { useHistory } from 'react-router'\nimport { useState } from 'react'\n\ninterface QuestionnaireSurveyPageState extends IErrorState {\n questionnaire: QuestionnaireModel\n result: QuestionnaireResultModel\n isLoading: boolean\n}\n\nexport function useFacade(\n result: QuestionnaireResultModel,\n questionnaire: QuestionnaireModel,\n patientId: number | null,\n handleGoBack: Function | null): [\n QuestionnaireSurveyPageState,\n (field: string, value: string) => void,\n () => void\n] {\n const [state, setState] = useState({\n questionnaire: questionnaire,\n isLoading: false,\n result: result,\n errors: {}\n } as QuestionnaireSurveyPageState);\n\n /**\n * Validates questionnaire page\n */\n const validate = () => {\n Object.values(FollowUpFormQuestionNames).forEach(field => {\n const value = state.result.answers.find(x => x.key === field)?.value ?? '';\n followUpFormSurveyComponentValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n followUpFormSurveyComponentValidator.validateAndSetState(state, setState, field, value);\n\n const result = state.result;\n const answer = result.answers.find(x => x.key === field);\n if (answer) {\n answer.value = value;\n } else {\n result.answers.push({\n key: field,\n value: value\n });\n }\n\n result.answers = [...result.answers];\n setState({...state, result});\n }\n\n const history = useHistory();\n\n const handleSubmit = () => {\n validate();\n\n if (!followUpFormSurveyComponentValidator.stateIsValid(state)) {\n goToError(state);\n return;\n }\n setState({...state, isLoading: true});\n\n if (patientId) {\n questionnaireService.submitAsEmployee(getSaveModel(state.result)).subscribe(() => {\n if (handleGoBack) {\n handleGoBack();\n }\n })\n } else {\n questionnaireService.submitAsPatient(getSaveModel(state.result)).subscribe(() => {\n questionnaireService.getNotificationAvailable().subscribe();\n navigationService.toMyHealthForms(history);\n })\n }\n }\n\n const getSaveModel = (result: QuestionnaireResultModel): SaveQuestionnaireResultModel => {\n return Object.assign(result, {\n answers: result.answers,\n questionnaireResultId: result.id,\n patientId: patientId\n });\n }\n\n return [\n state, \n handleChanges, \n handleSubmit\n ]\n}\n","import { QuestionnairesListComponent } from '../questionnairesListComponent/QuestionnairesListComponent'\nimport { QuestionnaireModel, QuestionnaireResultModel } from '../../models/questionnaire.models'\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton'\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress'\nimport { FollowUpFormQuestionNames } from '../../static/followUpForm.static'\nimport { useFacade } from './followUpFormSurveyComponent.hooks'\nimport { Box } from '@material-ui/core'\nimport React from 'react'\n\nexport interface FollowUpFormSurveyComponentProps {\n questionnaire: QuestionnaireModel;\n result: QuestionnaireResultModel;\n patientId?: number;\n handleGoBack?: Function;\n}\n\nexport const FollowUpFormSurveyComponent: React.FC = (props: FollowUpFormSurveyComponentProps) => {\n const [\n {\n isLoading,\n questionnaire,\n result,\n errors,\n },\n handleChanges,\n handleSubmit\n ] = useFacade(props.result, props.questionnaire, props.patientId, props.handleGoBack);\n\n return isLoading\n ? \n : \n \n {questionnaire.description}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n handleSubmit()}>\n Submit\n \n \n \n \n}\n","import {\n Box,\n Divider,\n Grid,\n} from '@material-ui/core';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { renderQuestionnaireName } from \"../../helpers/render-questionnaire-name\";\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { useFacade } from \"./questionnairesComponent.hooks\";\nimport { useStyles } from \"./QuestionnairesComponent.styles\";\nimport { CompletedQuestionnaireComponent } from '../completedQuestionnaireComponent/CompletedQuestionnaireComponent';\nimport { renderEmptyValue } from '../../../common/helpers/empty-value';\nimport clsx from 'clsx';\nimport { QuestionnaireCardComponent } from '../questionnaireCardComponent/QuestionnaireCardComponent';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {QuestionnaireStatusType, QuestionnaireSubType, QuestionnaireType} from '../../models/questionnaire.models';\nimport { InitialQuestionnaireResultComponentHealthForms } from \"../initialQuestionnaireResultComponent/InitialQuestionnaireResultComponentHealthForms\";\nimport { HealthLogQuestionnaireResultComponent } from '../healthLogQuestionnaireResultComponent/HealthLogQuestionnaireResultComponent';\nimport { InitialQuestionnaireResultComponent } from '../initialQuestionnaireResultComponent/InitialQuestionnaireResultComponent';\nimport { FollowUpFormResultComponent } from '../followUpFormResultComponent/FollowUpFormResultComponent';\nimport {\n AuthorizedInitialQuestionnaireSurveyComponent\n} from \"../../pages/initialQuestionnaireSurveyComponent/InitialQuestionnaireSurveyComponent\";\nimport {\n HealthLogQuestionnaireSurveyComponent\n} from \"../healthLogQuestionnaireSurveyComponent/HealthLogQuestionnaireSurveyComponent\";\nimport {\n MedicalHistoryQuestionnaireSurveyComponent\n} from \"../medicalHistoryQuestionnaireSurveyComonent/MedicalHistoryQuestionnaireSurveyComponent\";\nimport {\n HealthGoalsQuestionnaireSurveyComponent\n} from \"../healthGoalsQuestionnaireSurveyComponent/HealthGoalsQuestionnaireSurveyComponent\";\nimport {\n DetailedQuestionnaireSurveyComponent\n} from \"../detailedQuestionnaireSurveyComponent/DetailedQuestionnaireSurveyComponent\";\nimport {FollowUpFormSurveyComponent} from \"../followUpFormSurveyComponent/FollowUpFormSurveyComponent\";\n\nexport interface QuestionnairesComponentProps {\n patientId: number;\n resultId?: number;\n}\n\nexport const QuestionnairesComponent: React.FC = (props: QuestionnairesComponentProps) => {\n const classes = useStyles();\n const [\n {\n patient,\n isLoading,\n pendingQuestionnaires,\n availableQuestionnaires,\n completedQuestionnaires,\n targetResult,\n healthForms\n },\n handleGoToQuestionnaireResult,\n handleStartQuestionnaire,\n handleGoBackToQuestionnaires\n ] = useFacade(props.patientId, props.resultId);\n\n\n\n const commonClasses = commonUseStyles();\n\n let healthFormsSorted = []\n\n if (!isLoading) {\n const internalQuestionnaires = [...pendingQuestionnaires, ...availableQuestionnaires]\n healthFormsSorted = [\n ...healthForms?.filter(el => el.questionnaireStatusType === QuestionnaireStatusType.InCompleted),\n ...internalQuestionnaires,\n ...healthForms?.filter(el => el.questionnaireStatusType === QuestionnaireStatusType.New),\n ...healthForms?.filter(el => el.questionnaireStatusType === QuestionnaireStatusType.Completed),\n\n ]\n }\n\n const questionnaireComponent = (item) => {\n if (item?.type) {\n return \n }\n\n return item?.questionnaire\n ? \n : \n }\n\n const renderFollowing = () => {\n return (\n \n {\n healthFormsSorted.length ?\n <>\n {\n healthFormsSorted.map((item, index) => (\n \n {questionnaireComponent(item)}\n \n ))\n }\n : <>\n }\n \n )\n }\n\n const renderCompleted = () => {\n return (\n <>\n \n Previously completed health forms\n \n {\n completedQuestionnaires.length\n ? \n \n {\n completedQuestionnaires.map((item, index) =>\n \n \n \n )\n }\n \n \n : \n {\n renderEmptyValue('There`s no completed health forms yet.')\n }\n \n }\n\n \n )\n }\n\n const renderResult = (): JSX.Element => {\n switch (targetResult.questionnaire.type) {\n case QuestionnaireType.HealthForms: return \n case QuestionnaireType.HealthLog: return \n case QuestionnaireType.Initial: return \n case QuestionnaireType.FollowUpCallForms: return \n default: return <>\n }\n }\n\n const renderQuestionnaire = (): JSX.Element => {\n switch (targetResult.questionnaire.type) {\n case QuestionnaireType.Initial: return ;\n case QuestionnaireType.HealthLog: return ;\n case QuestionnaireType.HealthForms:\n switch (targetResult.questionnaire.subType) {\n case QuestionnaireSubType.MedicalHistoryIncomplete: return ;\n case QuestionnaireSubType.GoalsIncomplete: return ;\n case QuestionnaireSubType.DetailedHistoryIncomplete: return ;\n default: return <>;\n }\n case QuestionnaireType.FollowUpCallForms: return \n default: return <>;\n }\n }\n\n const renderContent = () => {\n if (targetResult) {\n return (\n <>\n \n \n { handleGoBackToQuestionnaires() }}\n />\n {!isLoading && renderQuestionnaireName(targetResult)} \n \n \n \n {\n targetResult.submittedAt\n ? renderResult()\n : renderQuestionnaire()\n }\n \n \n )\n }\n\n return (\n \n \n Health Forms\n \n \n {\n renderFollowing()\n }\n \n \n \n {\n renderCompleted()\n }\n \n \n )\n }\n\n return (\n isLoading ?\n :\n \n {renderContent()}\n \n )\n}\n","import {useEffect, useState} from \"react\";\nimport { Subscription } from \"recompose\";\nimport {\n HealthFormModel,\n QuestionnaireResultModel,\n QuestionnaireShortModel,\n QuestionnaireType,\n} from \"../../models/questionnaire.models\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { questionnaireService } from \"../../services/questionnaire.service\";\nimport { questionnaireQuery } from \"../../stores/questionnaireStore\";\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport Welcome from \"@img/icons/welcome.svg\";\n\ninterface QuestionnaireComponentState {\n isLoading: boolean;\n isGoBack: boolean;\n pendingQuestionnaires: QuestionnaireResultModel[];\n availableQuestionnaires: QuestionnaireShortModel[];\n completedQuestionnaires: QuestionnaireResultModel[];\n patient: PatientModel;\n healthForms: HealthFormModel[];\n targetResult: QuestionnaireResultModel;\n}\n\nexport function useFacade(patientId: number, resultId: number): [\n QuestionnaireComponentState,\n (resultId: number) => void,\n (questionnaireId: number, isDialogOpen: false) => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n patient: patientsQuery.getTargetPatient(),\n pendingQuestionnaires: [],\n completedQuestionnaires: [],\n } as QuestionnaireComponentState);\n\n const loadQuestionnairesAndResults = () => {\n questionnaireService.getHealthFormsByPatientId(patientId).subscribe();\n\n questionnaireService.getResults(patientId).subscribe(() => {\n questionnaireService.getAvailable(patientId).subscribe(() => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n\n if (resultId) {\n handleGoToQuestionnaireResult(resultId)\n }\n });\n });\n }\n\n const handleGoToQuestionnaireResult = (resultId: number) => {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const subscriptions: Subscription[] = [\n onEmit(questionnaireQuery.questionnaireResultsByEmployee$, results => {\n setState(state => ({\n ...state,\n targetResult: results[0],\n }));\n })\n ];\n\n questionnaireService.getResultsByEmployee(patientId, resultId).subscribe(() => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n navigationService.goUp();\n });\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n const handleGoBackToQuestionnaires = () => {\n setState({\n ...state,\n targetResult: null,\n isLoading: true\n });\n\n navigationService.goUp();\n\n loadQuestionnairesAndResults();\n }\n\n const handleStartQuestionnaire = (questionnaireId: number, isDialogOpen = false) => {\n const questionnaire = state.availableQuestionnaires.find(x => x.id === questionnaireId)\n\n setState(state => ({...state, isLoading: true}));\n\n navigationService.goUp();\n\n questionnaireService.startByIdOnBehalf(questionnaireId, patientId, questionnaire?.appointmentId).subscribe((result) => {\n if (isDialogOpen) {\n confirmService.confirmInfo(\n `Before we start`,\n \"Please note that not all questions may be relevant to your specific health situation. If you can’t answer a specific question or if it’s not applicable, feel free to put in 0 or N/A. We'll discuss it during your initial visit and can adjust and personalize your responses before providing you with your full health report.\",\n Welcome,\n 'Sounds good')\n .subscribe();\n }\n\n setState(state => ({...state, isLoading: false}));\n\n handleGoToQuestionnaireResult(result.id);\n });\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(questionnaireQuery.questionnaireResults$, results => {\n setState(state => ({\n ...state,\n pendingQuestionnaires: results.filter(q => !q.submittedAt && q.questionnaire.type !== QuestionnaireType.HealthForms),\n completedQuestionnaires: results.filter(q => q.submittedAt)\n }));\n }),\n onEmit(questionnaireQuery.availableQuestionnaires$, available => {\n setState(state => ({\n ...state,\n availableQuestionnaires: available.filter(x => x.type !== QuestionnaireType.HealthForms)\n }));\n }),\n onEmit(questionnaireQuery.healthForms$, healthForms => {\n setState(state => ({...state,\n healthForms: healthForms,\n }));\n }),\n onEmit(patientsQuery.targetPatient$, patient => {\n if (patient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n patient: patient\n }))\n }\n })\n ];\n\n loadQuestionnairesAndResults();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [\n state,\n handleGoToQuestionnaireResult,\n handleStartQuestionnaire,\n handleGoBackToQuestionnaires\n ];\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {functionValidationRule} from \"../../../common/validation/general-validation-rules\";\n\nexport const offerPaymentPlanComponentValidator = new GeneralValidator({\n 'selectedPlan': [ functionValidationRule((plan) => { return plan !== '' }, \"Payment plan must be selected.\")],\n 'selectedPeriod': [ functionValidationRule((period) => { return period !== '' }, \"Payment period must be selected.\")]\n});","import { useEffect, useState } from \"react\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { offerPaymentPlanComponentValidator } from \"./offerPaymentPlanComponent.validator\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { paymentPlansQuery } from \"../../stores/paymentPlansStore\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\nexport interface OfferPaymentPlanComponentState extends IErrorState {\n paymentPlans: PaymentPlanModel[];\n selectedPlan: PaymentPlanModel;\n selectedPeriod: PaymentPeriodModel;\n}\n\nconst defaultInitialState: OfferPaymentPlanComponentState = {\n paymentPlans: [],\n selectedPlan: null,\n selectedPeriod: null,\n errors: {}\n}\n\nexport function useFacade(handleSubmit: Function, handleClose: Function, initialState = defaultInitialState): [OfferPaymentPlanComponentState, Function, Function, Function, Function] {\n const [state, setState] = useState(initialState);\n\n const handlePlanSelect = (planId: number) => {\n const plan = state.paymentPlans.find(x => x.id === planId);\n offerPaymentPlanComponentValidator.validateAndSetState(state, setState, 'selectedPlan', plan);\n\n if (plan) {\n const period = state.selectedPlan?.id === plan.id\n ? state.selectedPeriod\n : null;\n\n setState({\n ...state,\n selectedPlan: plan,\n selectedPeriod: period\n });\n }\n }\n\n const handlePeriodSelect = (periodId: number) => {\n const period = state.selectedPlan?.periods.find(x => x.id === periodId);\n offerPaymentPlanComponentValidator.validateAndSetState(state, setState, 'selectedPeriod', period);\n\n if (period) {\n setState({ ...state, selectedPeriod: period });\n }\n }\n\n const handleCloseDialog = () => {\n handleClose();\n setState({\n ...state,\n selectedPlan: null,\n selectedPeriod: null,\n errors: {}\n });\n }\n\n const handleSubmitForm = (event: Event) => {\n event.preventDefault();\n\n offerPaymentPlanComponentValidator.validateObjectAndSetState(state, setState, state);\n if (offerPaymentPlanComponentValidator.stateIsValid(state)) {\n handleSubmit(state.selectedPlan, state.selectedPeriod);\n handleCloseDialog();\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.proposedPlans$, plans => {\n setState(state => ({\n ...state,\n paymentPlans: plans,\n }));\n })\n ];\n\n paymentPlansService.getActive(authQuery.getPracticeId()).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handlePlanSelect, handlePeriodSelect, handleSubmitForm, handleCloseDialog];\n}\n","import { Box, Dialog, DialogActions, DialogContent, FormControl, FormHelperText } from \"@material-ui/core\";\nimport React from \"react\";\nimport { DialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./offerPaymentPlanComponent.hooks\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const OfferPaymentPlanComponent: React.FC = (props: DialogComponentProps) => {\n const {\n open,\n handleSubmit,\n handleClose\n } = props;\n\n const [\n {\n paymentPlans,\n selectedPlan,\n selectedPeriod,\n errors\n },\n handlePlanSelect,\n handlePeriodSelect,\n handleSubmitForm,\n handleCloseDialog\n ] = useFacade(handleSubmit, handleClose);\n\n return (<>\n handleCloseDialog()} aria-labelledby=\"form-dialog-title\">\n
handleSubmitForm(e)}>\n \n Offer Payment Plan\n \n \n \n Payment Plan:\n \n \n \n \n {errors[`selectedPlan`]}\n \n \n \n \n \n Payment Period:\n \n \n \n \n {errors[`selectedPeriod`]}\n \n \n \n \n \n \n \n \n handleCloseDialog()}\n color=\"secondary\"\n >\n Cancel\n \n \n \n handleSubmitForm(e)}>\n Offer\n \n \n \n \n
\n
\n \n );\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {maxLengthValidationRule} from \"../../../common/validation/general-validation-rules\";\n\nexport const cancelSubscriptionComponentValidator = new GeneralValidator({\n 'reason': [maxLengthValidationRule(100)],\n});","import {Box, Dialog, DialogActions, DialogContent, FormControl, FormHelperText, TextField} from \"@material-ui/core\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport React from \"react\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { DialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./cancelSubscriptionComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport Select from \"@material-ui/core/Select\";\nimport MenuItem from \"@material-ui/core/MenuItem\";\nimport {CancellationReasonTypes} from \"../../../payment/models/subscription.models\";\n\nexport const CancelSubscriptionComponent: React.FC = (props: DialogComponentProps) => {\n const {\n open,\n handleSubmit,\n handleClose\n } = props;\n\n const [\n {\n reasonType,\n reason,\n date,\n errors\n },\n handleReasonTypeChange,\n handleReasonChange,\n handleDateChange,\n handleCancel,\n handleConfirm\n ] = useFacade(handleSubmit, handleClose);\n\n return (\n handleCancel()} aria-labelledby=\"form-dialog-title\">\n Cancel Membership\n \n \n \n \n Cancellation Date:\n \n \n handleDateChange(new Date(e.toISOString()))}\n />\n \n \n \n \n Reason:\n \n \n ) => handleReasonTypeChange(event.target.value)}\n value={reasonType}\n variant=\"outlined\">\n {\n [...CancellationReasonTypes.keys()].map((key, index) => {\n return {CancellationReasonTypes.get(key)}\n })\n }\n \n \n \n \n \n Additional Info:\n \n \n \n \n \n \n \n\n \n \n handleCancel()}\n >\n Cancel\n \n \n \n handleConfirm()}>\n Submit\n \n \n \n \n );\n}\n","import { ChangeEvent, useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { cancelSubscriptionComponentValidator } from \"./cancelSubscriptionComponent.validator\";\nimport {CancellationReasonType} from \"../../../payment/models/subscription.models\";\n\ninterface CancelSubscriptionComponentState extends IErrorState{\n reasonType: CancellationReasonType;\n reason: string;\n date: Date;\n}\n\nexport function useFacade(handleSubmit: Function, handleClose: Function): [\n CancelSubscriptionComponentState,\n (reasonType: CancellationReasonType) => void,\n (event: ChangeEvent) => void,\n (date: Date) => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n reasonType: CancellationReasonType.TheCost,\n reason: '',\n date: new Date(),\n errors: {}\n } as CancelSubscriptionComponentState);\n\n const handleCancel = () => {\n setState(state => ({...state, reason: '', date: new Date(), errors: {}}));\n handleClose();\n }\n\n const handleReasonTypeChange = (reasonType: any) => {\n setState(state => ({...state, reasonType: reasonType}));\n }\n\n const handleReasonChange = (event: ChangeEvent) => {\n const value = event.currentTarget.value;\n cancelSubscriptionComponentValidator.validateAndSetState(state, setState, 'reason', value);\n setState(state => ({...state, reason: value}));\n }\n\n const handleDateChange = (date: Date) => {\n setState(state => ({...state, date: date}));\n }\n\n const handleConfirm = () => {\n cancelSubscriptionComponentValidator.validateObjectAndSetState(state, setState, state);\n\n if (cancelSubscriptionComponentValidator.stateIsValid(state)) {\n const isToday = state.date.toDateString() === new Date().toDateString();\n handleSubmit(state.reasonType, state.reason, isToday ? null : state.date);\n\n setState(state => ({\n ...state,\n reasonType: CancellationReasonType.TheCost,\n reason: '',\n date: new Date(),\n errors: {}\n }));\n }\n }\n\n return [\n state,\n handleReasonTypeChange,\n handleReasonChange,\n handleDateChange,\n handleCancel,\n handleConfirm\n ];\n}\n","import {IErrorState} from \"../../validation/error-state\";\nimport {useEffect, useState} from \"react\";\nimport {GeneralValidator} from \"../../validation/general-validator\";\nimport moment from \"moment\";\nimport {Observable} from \"rxjs\";\n\ninterface SelectDataDialogComponentState extends IErrorState {\n canSubmit: boolean;\n selectedDate: Date;\n}\n\nexport const useFacade = (open: boolean, handleSubmit: Function, handleClose: Function, disableDates: Date[], handleCheckDate?: (date: Date) => Observable): [\n SelectDataDialogComponentState,\n Function,\n Function,\n Function,\n Function\n] => {\n const [state, setState] = useState({\n canSubmit: false,\n selectedDate: null,\n errors: {}\n } as SelectDataDialogComponentState);\n\n const dateFormat = 'YYYY-MM-DD';\n\n const toStringDate = (momentDate: moment.Moment): string => momentDate.format(dateFormat);\n\n const getDisableDates = (dates: Date[]): string[] => dates?.map(date => toStringDate(moment(date))) ?? [];\n\n const isDateInDisabledRange = (day: moment.Moment): boolean => getDisableDates(disableDates).includes(toStringDate(day));\n\n const dateAvailable = () => {\n GeneralValidator.removeError(state, 'selectedDate');\n setState(state => ({ ...state, canSubmit: true}));\n }\n\n const dateUnavailable = (error: string) => {\n GeneralValidator.addError(state, 'selectedDate', error);\n setState(state => ({ ...state, canSubmit: false}));\n }\n\n const handleDateChanges = async (date: Date) => {\n const now = new Date();\n const formatted = new Date(date.getFullYear(), date.getMonth(), date.getDate(), now.getHours(), now.getMinutes(), now.getSeconds());\n setState(state => ({...state, selectedDate: formatted, canSubmit: false}));\n\n isDateInDisabledRange(moment(date))\n ? dateUnavailable('Selected date is currently in use.')\n : dateAvailable();\n\n setState(state => ({ ...state, canSubmit: false}));\n\n if (handleCheckDate) {\n handleCheckDate(formatted).subscribe(dateAvailable, dateUnavailable);\n } else {\n setState(state => ({ ...state, canSubmit: true}));\n }\n }\n\n const handleCloseDialog = () => {\n setState(state => ({\n ...state,\n selectedDate: new Date()\n }))\n\n handleClose();\n }\n\n const handleSubmitForm = (event: any) => {\n event.preventDefault();\n\n if (!GeneralValidator.isValidState(state)) {\n return;\n }\n\n handleSubmit(state.selectedDate);\n handleCloseDialog();\n }\n\n const useEffectCB = () => {\n \n open && handleDateChanges(new Date());\n\n return () => {\n };\n };\n\n useEffect(useEffectCB, [open]);\n\n return [\n state,\n isDateInDisabledRange,\n handleDateChanges,\n handleCloseDialog,\n handleSubmitForm\n ]\n}","import { Box, Dialog, DialogContent } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport React from \"react\";\nimport { WildHealthButton } from \"../wildHealthButton/WildHealthButton\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { DialogComponentProps } from \"../../dialogs/dialogProps\";\nimport { DialogTitle } from \"../dialogTitle/DialogTitle\";\nimport { WildHealthDatePicker } from \"../WildHealthDatePicker\";\nimport { useFacade } from \"./selectDataDialogComponent.hooks\";\nimport { Observable } from \"rxjs\";\nimport { IOSCalender } from \"./IOSCalender\";\nimport { isIOS } from \"react-device-detect\";\nimport { useStyles } from \"./SelectDataDialogComponent.styles\";\n\ninterface SelectDataDialogComponentProps extends DialogComponentProps {\n title: string;\n message: string;\n actionName: string;\n disableDates: Date[];\n disablePast?: boolean;\n disableFuture?: boolean;\n handleCheckDate?: (date: Date) => Observable;\n}\n\nexport const SelectDataDialogComponent: React.FC = (\n props: SelectDataDialogComponentProps\n) => {\n const {\n open,\n title,\n message,\n actionName,\n handleSubmit,\n handleClose,\n disableDates,\n disablePast,\n disableFuture,\n handleCheckDate,\n } = props;\n\n const [\n { selectedDate, canSubmit, errors },\n isDateInDisabledRange,\n handleDateChanges,\n handleCloseDialog,\n handleSubmitForm,\n ] = useFacade(open, handleSubmit, handleClose, disableDates, handleCheckDate);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n return (\n handleCloseDialog()}\n aria-labelledby='form-dialog-title'\n >\n handleCloseDialog()}\n classes={{ title: classes.dialogTitle }}\n >\n {title}\n \n \n
handleSubmitForm(e)}>\n {isIOS ? (\n \n ) : (\n \n \n \n {message}\n \n \n \n handleDateChanges(momentDate?.toDate())}\n shouldDisableDate={(day: moment.Moment) => isDateInDisabledRange(day)}\n useKeyboardDatePicker\n name='selectedDate'\n />\n \n \n )}\n\n \n \n handleCloseDialog()}\n >\n Cancel\n \n \n \n handleSubmitForm(e)}\n disabled={!canSubmit}\n type='submit'\n >\n {actionName}\n \n \n \n \n
\n \n );\n};\n","import React from \"react\";\nimport { DialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport {useFacade} from \"./activateSubscriptionComponent.hooks\";\nimport {SelectDataDialogComponent} from \"../../../common/components/selectDataSetDialogComponent/SelectDataDialogComponent\";\n\nexport const ActivateSubscriptionComponent: React.FC = (props: DialogComponentProps) => {\n const {\n open,\n handleSubmit,\n handleClose\n } = props;\n\n const [\n handleSubmitForm,\n handleCloseDialog\n ] = useFacade(handleSubmit, handleClose);\n\n return (\n <>\n handleCloseDialog(false)}\n handleSubmit={(selectedDate) => handleSubmitForm(selectedDate)}\n disableDates={[]}/>\n \n )\n}\n","import {useEffect, useState} from \"react\";\nimport {PaymentPlanModel} from \"../../models/paymentPlan.models\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {paymentPlansQuery} from \"../../stores/paymentPlansStore\";\nimport {paymentPlansService} from \"../../services/paymentPlans.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {PaymentPriceModel} from \"../../models/paymentPrice.models\";\n\ninterface ActivateSubscriptionComponentState {\n paymentPlans: PaymentPlanModel[];\n selectedPaymentPrice: PaymentPriceModel;\n}\n\nexport function useFacade(handleSubmit: Function, handleClose: Function): [\n Function,\n Function\n] {\n const [state, setState] = useState({\n paymentPlans: [],\n selectedPaymentPrice: null\n } as ActivateSubscriptionComponentState);\n\n const handleSubmitForm = (startDate: Date) => {\n handleSubmit(state.selectedPaymentPrice, startDate);\n\n handleCloseDialog();\n }\n\n const handleCloseDialog = () => {\n handleClose();\n setState({\n ...state,\n selectedPaymentPrice: null\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.regularPlans$, plans => {\n setState(state => ({\n ...state,\n paymentPlans: plans,\n selectedPaymentPrice: plans[0]?.periods[0]?.prices[0]\n }));\n })\n ];\n\n paymentPlansService.getActive(authQuery.getPracticeId()).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [handleSubmitForm, handleCloseDialog];\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialogTitle: {\n padding: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: 20,\n top: 20,\n color: theme.palette.grey[500],\n },\n dialogContent : {\n paddingTop: 0,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n },\n dialogActions: {\n paddingTop: 0,\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40,\n }\n }\n));\n\n","import React from \"react\";\nimport {Box, Dialog, DialogActions, DialogContent, DialogTitle, Checkbox, IconButton} from \"@material-ui/core\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport RadioButtonCheckedIcon from '@material-ui/icons/RadioButtonChecked';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport { useStyles } from \"./pauseSubscriptionDialog.styles\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\ninterface PauseSubscriptionDialogProps {\n open: boolean;\n isSuspending: boolean;\n month: number;\n handleSuspend: () => void;\n handleClose: () => void;\n handleChanges: (value: any) => void\n}\n\nexport const PauseSubscriptionDialog: React.FC = (props: PauseSubscriptionDialogProps) => {\n const {\n open,\n isSuspending,\n month,\n handleSuspend,\n handleClose,\n handleChanges\n } = props;\n\n const classes = useStyles();\n\n const controlIcon = ;\n const controlCheckedIcon = \n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n \n Suspend Plan\n handleClose()}>\n \n \n \n \n \n \n When should the plan restart?\n \n \n \n handleChanges(1)}\n />\n 1 month\n \n \n handleChanges(2)}\n />\n 2 months\n \n \n handleChanges(3)}\n />\n 3 months\n \n \n \n \n\n \n \n handleClose()}\n >\n Cancel\n \n \n \n handleSuspend()}\n >\n Suspend Plan\n \n \n \n \n );\n}\n","import { numberValidationRule, minNumberValidationRule, maxNumberValidationRule, nextAppointmentDateValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const premiumBillingComponentValidator = new GeneralValidator({\n 'total': [minNumberValidationRule(1), numberValidationRule],\n 'remainingPaidOverMonths': [minNumberValidationRule(1), numberValidationRule, maxNumberValidationRule(12, 'Duration cannot exceed 12 months')],\n 'downPayment': [minNumberValidationRule(0)],\n 'deposit': [minNumberValidationRule(0)],\n 'selectedDate': [nextAppointmentDateValidationRule],\n});\n","import { useState, useEffect } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport moment from \"moment\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {\n SubscriptionModel,\n SubscriptionStatus,\n ManualPaymentModel\n} from '../../../payment/models/subscription.models';\nimport { subscriptionService } from \"../../../payment/services/subscription.service\";\nimport { subscriptionQuery } from \"../../../payment/stores/subscriptionStore\";\nimport { PaymentPlanHistoryModel } from \"../../../patients/models/patient.model\";\nimport { patientProfileQuery } from \"../../../employee/stores/patientProfileStore\";\nimport { premiumBillingComponentValidator } from \"./premiumBillingComponent.validator\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { CreateManualPaymentModel } from \"../../../payment/models/subscription.models\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\n\ninterface premiumBillingComponentState extends IErrorState {\n isAdding: boolean;\n isOpenReview: boolean;\n isCollapse: boolean;\n manualPayment: ManualPaymentModel;\n activeMembership: SubscriptionModel;\n subscriptions: SubscriptionModel[];\n paymentPlanHistories: PaymentPlanHistoryModel[];\n selectedDate: Date;\n}\n\nconst initManualPayment = {\n id: 0,\n total: 0,\n deposit: 0,\n downPayment: 0,\n remainingPaidOverMonths: 0,\n scheduleItems: []\n}\n\nexport function useFacade(patientId?: number): [\n premiumBillingComponentState,\n () => void,\n () => void,\n () => void,\n (field: string, value: any) => void,\n (value: any) => void,\n (value: any) => void,\n (value: any) => void,\n (field: string) => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isAdding: false,\n isOpenReview: false,\n isCollapse: false,\n manualPayment: null,\n activeMembership: null,\n subscriptions: [],\n paymentPlanHistories: [],\n selectedDate: moment(new Date()).add(1, 'months').toDate(),\n errors: {},\n } as premiumBillingComponentState);\n\n const handleToggle = () => {\n setState({...state, manualPayment: Object.assign({}, initManualPayment)});\n }\n\n const handleExpand = () => {\n setState(state => ({...state, isCollapse: !state.isCollapse}));\n }\n\n const handleOpenReview = () => {\n premiumBillingComponentValidator.validateObjectAndSetState(state, setState, state.manualPayment);\n\n if (!premiumBillingComponentValidator.stateIsValid(state)) {\n return\n }\n const amount = (state.manualPayment.total - state.manualPayment.downPayment - state.manualPayment.deposit) / state.manualPayment.remainingPaidOverMonths;\n const items = [];\n for (let index = 0; index < state.manualPayment.remainingPaidOverMonths; index++) {\n const item = {\n amount,\n dueDate: moment(state.selectedDate).add(index, 'months').toDate()\n }\n items.push(item);\n }\n \n setState(state => ({...state, isOpenReview: true, manualPayment: {...state.manualPayment, scheduleItems: items}}));\n }\n\n const handleCloseReview = () => {\n setState(state => ({...state, isOpenReview: false, manualPayment: {...state.manualPayment, scheduleItems: []}}));\n }\n\n const handleChangeDate = (value: any) => {\n premiumBillingComponentValidator.validateAndSetState(state, setState, 'selectedDate', value);\n\n setState({...state, selectedDate: value});\n }\n\n const handleChangeDownPayment = (value: any) => {\n premiumBillingComponentValidator.validateAndSetState(state, setState, 'downPayment', value);\n\n const params = state.manualPayment;\n params.downPayment = value;\n if (value > 0) {\n const amount = (state.manualPayment.total - value - state.manualPayment.deposit) / state.manualPayment.remainingPaidOverMonths;\n \n const items = state.manualPayment.scheduleItems.map(x => ({amount, dueDate: x.dueDate}));\n params.scheduleItems = items;\n }\n\n setState({...state, manualPayment: Object.assign({}, params)});\n }\n\n const handleChangeItemAmount = (value: any) => {\n if (value < 0) return;\n\n const items = state.manualPayment.scheduleItems.map(x => ({amount: value, dueDate: x.dueDate}));\n const total = Number(value * state.manualPayment.remainingPaidOverMonths) + Number(state.manualPayment.downPayment) + Number(state.manualPayment.deposit);\n\n setState(state => ({...state, manualPayment: {...state.manualPayment, total, scheduleItems: items}}));\n }\n\n const handleChanges = (field: string, value: any) => {\n premiumBillingComponentValidator.validateAndSetState(state, setState, field, value);\n\n const params = state.manualPayment;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, params);\n lastObject[key] = value;\n\n setState(state => ({...state, manualPayment: Object.assign({}, params)}));\n }\n\n const handleSubmitForm = () => {\n premiumBillingComponentValidator.validateObjectAndSetState(state, setState, state.manualPayment);\n\n if (!premiumBillingComponentValidator.stateIsValid(state)) {\n return\n }\n setState(state => ({...state, isAdding: true}));\n\n const model = {\n ...state.manualPayment,\n patientId: patientId,\n subscriptionId: state.activeMembership ? state.activeMembership.id : state.subscriptions?.[0]?.id\n } as CreateManualPaymentModel\n\n const cb = () => setState(state => ({...state, isAdding: false, isOpenReview: false}))\n subscriptionService.addPremiumBilling(model).subscribe(() => {\n subscriptionService.get(patientId).subscribe(cb, cb);\n patientsService.getPaymentPlanUpdateHistory(patientId).subscribe();\n }, cb)\n }\n\n const handleOnBlurValidate = (field: string): boolean => {\n switch (field) {\n case 'selectedDate':\n premiumBillingComponentValidator.validateAndSetState(state, setState, \"selectedDate\", state.selectedDate);\n\n return premiumBillingComponentValidator.stateIsValid(state);\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(subscriptionQuery.patientSubscriptions$, subscriptions => {\n const active = subscriptions.find(s => s.status === SubscriptionStatus.Active || s.status === SubscriptionStatus.Paused);\n setState(state => ({\n ...state,\n subscriptions,\n activeMembership: active,\n }));\n }),\n onEmit(subscriptionQuery.manualPayment$, manualPayment => {\n setState(state => ({\n ...state,\n manualPayment: manualPayment,\n }));\n }),\n onEmit(patientProfileQuery.paymentPlanHistories$, paymentPlanHistories => {\n setState(state => ({\n ...state,\n paymentPlanHistories: paymentPlanHistories,\n }));\n }),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [state, handleToggle, handleOpenReview, handleCloseReview, handleChanges, handleChangeDownPayment, handleChangeItemAmount, handleChangeDate, handleOnBlurValidate, handleSubmitForm, handleExpand];\n}\n","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n },\n },\n selectInput: {\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n },\n dialog: {\n '& .MuiDialog-paper': {\n borderRadius: 20,\n },\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '28px 28px 0 0',\n margin: 0,\n marginTop: 'auto',\n width: '100%'\n },\n },\n },\n dialogContent: {\n display: \"flex\",\n flexDirection: \"column\",\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginLeft: 0,\n width: '100%',\n },\n },\n dialogAction: {\n paddingLeft: 24,\n paddingRight: 24,\n },\n subscriptionCard: {\n marginTop: 8,\n padding: 32,\n borderRadius: 2,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n },\n}));\n","import React from \"react\";\nimport { Box, Grid, TextField, Dialog, DialogContent, DialogActions, FormControl, Card, IconButton, Collapse } from \"@material-ui/core\";\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport DateFnsUtils from '@date-io/moment';\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\nimport moment from \"moment\";\nimport { ReactComponent as CalendarIcon } from '@img/icons/CalendarIcon.svg';\nimport { useFacade } from \"./premiumBillingComponent.hooks\";\nimport { useStyles } from \"./premiumBillingComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { colors } from '../../../common/constants/colors';\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\n\nexport interface PremiumBillingComponentProps {\n patientId: number;\n}\n\nexport const PremiumBillingComponent: React.FC = (props: PremiumBillingComponentProps) => {\n const { \n patientId,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const [\n {\n isAdding,\n isOpenReview,\n isCollapse,\n manualPayment,\n activeMembership,\n paymentPlanHistories,\n selectedDate,\n errors\n },\n handleToggle,\n handleOpenReview,\n handleCloseReview,\n handleChanges,\n handleChangeDownPayment,\n handleChangeItemAmount,\n handleChangeDate,\n handleOnBlurValidate,\n handleSubmitForm,\n handleExpand\n ] = useFacade(patientId);\n\n const isPatientPremium = !!activeMembership ? patientsQuery.getTargetPatientIsPremium() : paymentPlanHistories?.[0]?.paymentPlanName === \"Premium\" \n\n const renderContent = () => {\n return (\n <>\n {manualPayment?.id > 0 ? <>\n \n Manual Payment Schedule\n \n \n handleExpand()}\n >\n {!isCollapse ? : }\n \n \n \n \n \n \n \n \n \n Total Amount due ($)\n \n \n \n \n \n Billing Duration (1-12)\n \n \n \n \n \n Initial Payment ($)\n \n \n \n \n \n Consult Deposit\n \n \n \n \n \n \n \n Start Date\n \n \n e.stopPropagation()}\n onChange={(momentDate) => handleChangeDate(momentDate === null ?\n \"\" : momentDate.toDate())}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\",\n \"edge\": \"end\",\n }}\n keyboardIcon={}\n minDate={new Date()}\n onBlur={() => handleOnBlurValidate('selectedDate')}\n />\n \n \n \n \n \n \n 0}\n onClick={() => handleOpenReview()}\n >\n Review\n \n \n \n \n \n \n \n : <>\n \n Premium Billing\n \n \n \n \n \n Total Amount due ($)\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n \n \n Billing Duration (1-12)\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n \n \n Initial Payment ($)\n handleChangeDownPayment(v.target.value)}\n />\n \n \n \n \n Consult Deposit\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n \n \n \n \n Start Date\n \n \n e.stopPropagation()}\n onChange={(momentDate) => handleChangeDate(momentDate === null ?\n \"\" : momentDate.toDate())}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\",\n \"edge\": \"end\",\n }}\n keyboardIcon={}\n minDate={new Date()}\n onBlur={() => handleOnBlurValidate('selectedDate')}\n />\n \n \n \n \n \n \n 0}\n onClick={() => handleOpenReview()}\n >\n Review\n \n \n \n \n \n }\n handleCloseReview()}\n className={classes.dialog}\n >\n handleCloseReview()}\n >\n Premium Billing Review\n \n \n Schedule Items\n \n \n \n \n 0}\n error={!!errors['downPayment']}\n helperText={errors['downPayment']}\n onChange={(v) => handleChangeDownPayment(v.target.value)}\n />\n \n \n \n \n \n \n \n \n {manualPayment.scheduleItems.map((item, index) => (\n \n \n \n 0}\n onChange={(v) => handleChangeItemAmount(v.target.value)}\n />\n \n \n \n \n \n \n \n \n ))}\n {manualPayment?.deposit > 0 && (\n \n \n \n \n \n \n \n Consult Deposit\n \n \n )}\n \n \n \n \n \n \n \n Total Amount ($)\n \n \n \n \n \n \n handleCloseReview()}>\n {manualPayment?.id > 0 ? 'Close' : 'Cancel'}\n \n \n {!manualPayment?.id && \n 0} onClick={() => handleSubmitForm()}>\n Submit\n \n \n }\n permissions={[PermissionType.PremiumBilling]}\n />}\n \n \n \n )\n }\n\n if (!isPatientPremium) {\n return <>\n }\n\n return (\n \n \n {\n manualPayment ? renderContent() : (\n \n handleToggle()}\n >\n Add Premium Billing\n \n }\n permissions={[PermissionType.PremiumBilling]}\n />\n \n )\n }\n \n \n );\n}\n","import { Box, Grid } from \"@material-ui/core\";\nimport React from 'react';\nimport { PermissionType, Practice } from \"../../../auth/models/auth.enums\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { OfferPaymentPlanComponent } from \"../../../payment/components/offerPaymentPlanComponent/OfferPaymentPlanComponent\";\nimport { SubscriptionStatus } from \"../../../payment/models/subscription.models\";\nimport { ActiveMembershipCardComponent } from '../../../payment/components/activeMembershipCard/ActiveMembershipCardComponent';\nimport { MembershipCardComponent } from '../../../payment/components/membershipCard/MembershipCardComponent';\nimport { useFacade } from \"./managePlanComponent.hooks\";\nimport { CancelSubscriptionComponent } from \"../cancelSubscriptionComponent/CancelSubscriptionComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { ActivateSubscriptionComponent } from \"../../../payment/components/activateSubscriptionComponent/ActivateSubscriptionComponent\";\nimport { OptionalComponent } from \"../../../common/components/OptionalComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { PauseSubscriptionDialog } from \"../pauseSubscriptionComponent/PauseSubscriptionDialog\";\nimport { PremiumBillingComponent } from \"../premiumBillingComponent/PremiumBillingComponent\";\n\ninterface ManagePlanComponentProps {\n patientId: number;\n patientIntakeId: string;\n}\n\nexport const ManagePlanComponent: React.FC = (props: ManagePlanComponentProps) => {\n const {\n patientId,\n } = props;\n const [\n {\n isLoading,\n isHistoryLoading,\n isPremiumBillingLoading,\n isSuspending,\n isOfferPlanOpen,\n isCancelPlanOpen,\n isActivateSubscriptionOpen,\n isPauseSubscriptionOpen,\n suspendMonth,\n menuAnchorEl,\n activeMembership,\n paymentPlanHistories\n },\n handleToggleOfferPlanDialog,\n handleToggleCancelSubscriptionDialog,\n handleToggleActivateSubscriptionDialog,\n handleOfferPlan,\n handleActivateSubscription,\n handleCancelSubscription,\n handleViewBillingDetail,\n handleGoToOpsAdminTools,\n handleToggleAction,\n handleTogglePauseSubscriptionDialog,\n handleReactivePlan,\n handleChangeMonths,\n handleSuspend\n ] = useFacade(patientId);\n\n if (isLoading || isHistoryLoading || isPremiumBillingLoading) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n MEMBERSHIPS \n \n\n {!!patientId && }\n\n \n \n \n Active Membership\n \n \n {\n (!activeMembership ||\n activeMembership?.paymentPlan?.isTrial ||\n activeMembership.status !== SubscriptionStatus.Active) &&\n <>\n handleToggleOfferPlanDialog(false)}\n />\n\n handleToggleActivateSubscriptionDialog(false)}\n />\n\n handleToggleOfferPlanDialog(true)}\n >\n \n Offer Plan\n \n \n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n }\n defaultContent={\n handleToggleActivateSubscriptionDialog(true)}\n >\n \n Activate Membership\n \n \n }\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n }\n />\n \n }\n \n \n \n handleToggleCancelSubscriptionDialog(true)} handleGoBillingInfo={handleViewBillingDetail} handleModifyPlan={handleGoToOpsAdminTools} handleToggleAction={handleToggleAction} handleToggleSuspend={handleTogglePauseSubscriptionDialog} handleReactivePlan={handleReactivePlan} />\n handleToggleCancelSubscriptionDialog(false)}\n />\n \n \n \n\n \n \n \n Membership History\n \n \n\n \n \n \n {\n (paymentPlanHistories && paymentPlanHistories.length > 0) ?\n :\n \n }\n \n \n \n \n )\n}\n","import {useEffect, useState} from \"react\";\nimport { useHistory } from \"react-router\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {\n ActivateSubscriptionModel, CancellationReasonType,\n CancelSubscriptionModel,\n SubscriptionModel,\n SubscriptionStatus\n} from '../../../payment/models/subscription.models';\nimport {subscriptionService} from \"../../../payment/services/subscription.service\";\nimport { subscriptionQuery, subscriptionStore } from \"../../../payment/stores/subscriptionStore\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport { OfferPaymentPlanModel, PaymentPlanModel } from \"../../../payment/models/paymentPlan.models\";\nimport { PaymentPeriodModel } from \"../../../payment/models/paymentPeriod.models\";\nimport { snackService } from \"../../../common/snack/state\";\nimport {PaymentPriceModel} from \"../../../payment/models/paymentPrice.models\";\nimport { PatientModel, PaymentPlanHistoryModel } from \"../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport {authService} from \"../../../auth/services/auth.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientProfileQuery } from \"../../../employee/stores/patientProfileStore\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\n\ninterface ManagePlanComponentState {\n isLoading: boolean;\n isHistoryLoading: boolean;\n isPremiumBillingLoading: boolean;\n isSuspending: boolean;\n isOfferPlanOpen: boolean;\n isCancelPlanOpen: boolean;\n isActivateSubscriptionOpen: boolean;\n isPauseSubscriptionOpen: boolean;\n suspendMonth: number;\n menuAnchorEl: HTMLButtonElement | null;\n activeMembership: SubscriptionModel;\n paymentPlanHistories: PaymentPlanHistoryModel[];\n patient: PatientModel;\n}\n\nexport function useFacade(patientId: number): [\n ManagePlanComponentState,\n (toShow: boolean) => void,\n (toShow: boolean) => void,\n (toShow: boolean) => void,\n (plan: PaymentPlanModel, period: PaymentPeriodModel) => void,\n (paymentPrice: PaymentPriceModel, startDate: Date) => void,\n (reasonType: CancellationReasonType, reason: string, date: Date) => void,\n () => void,\n () => void,\n (menuAnchorEl: HTMLButtonElement) => void,\n () => void,\n () => void,\n (value: number) => void,\n () => void\n] {\n const _history = useHistory();\n const [state, setState] = useState({\n isLoading: true,\n isHistoryLoading: true,\n isPremiumBillingLoading: true,\n isSuspending: false,\n isOfferPlanOpen: false,\n isCancelPlanOpen: false,\n isActivateSubscriptionOpen: false,\n isPauseSubscriptionOpen: false,\n suspendMonth: 0,\n menuAnchorEl: null,\n activeMembership: null,\n paymentPlanHistories: [],\n patient: null\n } as ManagePlanComponentState);\n\n const handleOfferPlan = (plan: PaymentPlanModel, period: PaymentPeriodModel) => {\n const model = {\n patientId: patientId,\n paymentPlanId: plan.id,\n paymentPeriodId: period.id\n } as OfferPaymentPlanModel\n\n paymentPlansService.offerPaymentPlan(model);\n }\n\n const handleActivateSubscription = (paymentPrice: PaymentPriceModel, startDate: Date) => {\n const model = {\n patientId: patientId,\n paymentPriceId: paymentPrice.id,\n startDate: startDate\n } as ActivateSubscriptionModel\n\n setState({...state, isCancelPlanOpen: false});\n\n subscriptionService.Activate(model).subscribe(\n () => {\n authService.reLogin(authQuery.getTargetLocationId()).subscribe();\n }\n );\n }\n\n const handleCancelSubscription = (reasonType: CancellationReasonType, reason: string, date: Date) => {\n const model = {\n id: state.activeMembership.id,\n reasonType: reasonType,\n reason: reason,\n date: date\n } as CancelSubscriptionModel\n\n setState({...state, isCancelPlanOpen: false});\n\n subscriptionService.Cancel(model).subscribe(() => {\n subscriptionService.get(patientId).subscribe();\n snackService.success(`Subscription successfully canceled.`);\n });\n }\n\n const handleToggleAction = (menuAnchorEl: HTMLButtonElement) => {\n setState(state => ({\n ...state,\n menuAnchorEl,\n }));\n }\n\n const handleTogglePauseSubscriptionDialog = () => {\n setState(state => ({...state, menuAnchorEl: null, suspendMonth: 0, isPauseSubscriptionOpen: !state.isPauseSubscriptionOpen}));\n }\n\n const handleToggleOfferPlanDialog = (toShow: boolean) => {\n setState({...state, isOfferPlanOpen: toShow});\n }\n\n const handleToggleCancelSubscriptionDialog = (toShow: boolean) => {\n setState({...state, isCancelPlanOpen: toShow});\n }\n\n const handleToggleActivateSubscriptionDialog = (toShow: boolean) => {\n setState({...state, isActivateSubscriptionOpen: toShow});\n }\n\n const handleViewBillingDetail = () => {\n if (!state.patient?.linkToPaymentVendor) {\n return;\n }\n window.open(state.patient.linkToPaymentVendor, '_blank').focus();\n }\n\n const handleGoToOpsAdminTools = () => {\n navigationService.toOpsAdminTools(_history, patientId);\n }\n\n const handleChangeMonths = (value: number) => {\n setState(state => ({...state, suspendMonth: value}));\n }\n\n const handleSuspend = () => {\n setState(state => ({...state, isPauseSubscriptionOpen: false, isSuspending: true}));\n\n const model = {\n id: state.activeMembership.id,\n pauseDurationInMonth: state.suspendMonth\n }\n\n const cb = () => setState(state => ({...state, isSuspending: false}))\n subscriptionService.pausePlan(model).subscribe(cb, cb)\n }\n\n const handleReactivePlan = () => {\n handleToggleAction(null);\n confirmService.confirm(\n 'Reactivate the Plan',\n 'Are you sure you wish to reactivate the plan? The patient will be charged.',\n 'Reactivate the Plan',\n 'Cancel',\n 'default')\n .subscribe(() => {\n subscriptionService.reactivePlan(state.activeMembership.id).subscribe()\n });\n }\n\n const useEffectCB = () => {\n subscriptionStore.reset();\n const subscriptions: Subscription[] = [\n onEmit(subscriptionQuery.patientSubscriptions$, subscriptions => {\n const active = subscriptions.find(s => s.status === SubscriptionStatus.Active || s.status === SubscriptionStatus.Paused);\n const premiumBillingCB = () => setState(state => ({...state, isPremiumBillingLoading: false}));\n if (subscriptions.length > 0 && subscriptions[0]?.manualPaymentId) {\n subscriptionService.getManualPayment(subscriptions[0]?.manualPaymentId).subscribe(premiumBillingCB, premiumBillingCB);\n } else {\n premiumBillingCB();\n }\n setState(state => ({\n ...state,\n activeMembership: active,\n }));\n }),\n onEmit(patientProfileQuery.paymentPlanHistories$, paymentPlanHistories => {\n setState(state => ({\n ...state,\n paymentPlanHistories: paymentPlanHistories,\n }));\n }),\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n patient: targetPatient,\n }));\n }\n }),\n ];\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n const historyCB = () => setState(state => ({...state, isHistoryLoading: false}));\n\n subscriptionService.get(patientId).subscribe(cb, cb);\n\n patientsService.getPaymentPlanUpdateHistory(patientId).subscribe(historyCB, historyCB);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleToggleOfferPlanDialog,\n handleToggleCancelSubscriptionDialog,\n handleToggleActivateSubscriptionDialog,\n handleOfferPlan,\n handleActivateSubscription,\n handleCancelSubscription,\n handleViewBillingDetail,\n handleGoToOpsAdminTools,\n handleToggleAction,\n handleTogglePauseSubscriptionDialog,\n handleReactivePlan,\n handleChangeMonths,\n handleSuspend\n ];\n}","import { PatientModel } from \"../../../patients/models/patient.model\";\nimport { Box, Link } from '@material-ui/core';\nimport moment from \"moment\";\nimport React from \"react\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { displayPercent } from \"../../../common/helpers/display-percent\";\nimport NextIcon from '@material-ui/icons/NavigateNext';\nimport { colors } from \"../../constants/colors\";\n\nexport interface PaymentPlanComponentProps {\n patient: PatientModel;\n classStyle?: any;\n}\n\nexport const PaymentPlanDisplayComponent: React.FC = (props: PaymentPlanComponentProps) => {\n const {\n patient,\n classStyle = '',\n } = props;\n\n const promoCodeRender = () => {\n const promoCode = patient.subscription?.paymentPrice?.paymentCoupon || patient.subscription?.paymentCoupon;\n\n if (promoCode) {\n const detail = promoCode.detail ?? displayPercent(patient.subscription.paymentPrice.discount, patient.subscription.paymentPrice.originalPrice);\n return `${promoCode.code} (${detail})`;\n }\n return 'N/A';\n }\n\n return (\n \n \n \n

Plan:

\n
\n \n \n

{patient?.subscription?.displayName}

\n
\n {patient?.linkToPaymentVendor &&\n \n \n \n Stripe\n \n \n\n \n \n }\n
\n
\n \n \n

Promo Code:

\n
\n \n

{promoCodeRender()}

\n
\n
\n \n \n

Joined:

\n
\n \n

{moment(toCurrentTimeZone(patient.createdAt)).format(\"MMM D, YYYY\")}

\n
\n
\n
\n );\n};","export function displayPercent(discount: number, originalPrice: number) {\n const percent = (discount === 0 || originalPrice === 0)\n ? 0\n : Math.round(discount / originalPrice * 100);\n\n return `${percent}%`;\n}","import React from 'react';\nimport {\n Box,\n FormControl,\n MenuItem,\n Select,\n} from '@material-ui/core';\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { useFacade } from \"./transferPatientToLocationComponent.hooks\";\nimport { displayLocation } from \"../../helpers/displayLocation\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport TransferWithinAStationIcon from '@material-ui/icons/TransferWithinAStation';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\ninterface TransferPatientToLocationComponentProps {\n patient: PatientModel;\n classStyle?: any;\n}\n\nexport const TransferPatientToLocationComponent: React.FC = (props: TransferPatientToLocationComponentProps) => {\n const { patient, classStyle = '' } = props;\n\n const [\n {\n locations,\n currentLocation\n },\n handleChangeLocation,\n handleTransfer\n ] = useFacade(patient);\n\n const canTransfer = () => {\n if (!currentLocation) {\n return false;\n }\n\n return patient.locationId !== currentLocation.id;\n }\n\n return (\n <>\n \n \n

\n POD:\n

\n
\n \n \n \n handleChangeLocation(Number(e.target.value))}>\n {\n locations\n .map((location, index) =>\n \n {\n displayLocation(location)\n }\n \n )\n }\n \n }\n defaultContent={\n \n }\n permissions={[PermissionType.MigrationBetweenLocations]} />\n \n \n \n \n {\n canTransfer() &&\n handleTransfer()}\n >\n \n \n }\n \n \n \n
\n \n )\n};","import { useEffect, useState } from 'react';\nimport { Subscription } from 'recompose';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { LocationModel } from '../../models/locations.models';\nimport { locationsService } from '../../services/locations.service';\nimport { locationsQuery } from '../../stores';\nimport {PatientModel, TransferPatientToLocationModel} from \"../../../patients/models/patient.model\";\nimport {patientsService} from \"../../../patients/services/patients.service\";\nimport {confirmService} from \"../../../../services/confirm.service\";\nimport {displayLocation} from \"../../helpers/displayLocation\";\nimport {authQuery} from \"../../../auth/stores/auth\";\n\ninterface TransferPatientToLocationComponentState {\n locations: LocationModel[],\n currentLocation: LocationModel;\n}\n\nexport function useFacade(patient: PatientModel): [\n TransferPatientToLocationComponentState,\n (locationId: number) => void,\n () => void\n] {\n const [state, setState] = useState({\n locations: []\n } as TransferPatientToLocationComponentState);\n\n const handleChangeLocation = (locationId: number) => {\n const location = state.locations.find(x => x.id === locationId);\n if (location) {\n setState({\n ...state,\n currentLocation: location\n });\n }\n }\n const handleTransfer = () => {\n if (patient.locationId === state.currentLocation?.id) {\n return;\n }\n\n const model: TransferPatientToLocationModel = {\n id: patient.id,\n locationId: state.currentLocation?.id\n }\n\n confirmService.confirm(`Please confirm patient transfer to pod ${displayLocation(state.currentLocation)}`).subscribe(() => {\n patientsService.transferPatientToLocation(model).subscribe()\n })\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(locationsQuery.availableLocations$, locations => {\n setState(state => ({\n ...state,\n locations: locations,\n currentLocation: locations.find(x => x.id === patient.locationId)\n }))\n }),\n ];\n\n locationsService.getAvailable(authQuery.getCurrentPracticeId())\n .subscribe(() => setState(state => ({\n ...state,\n isLoading: false\n })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patient]);\n\n return [\n state,\n handleChangeLocation,\n handleTransfer\n ];\n}","import React from 'react';\nimport {\n Checkbox,\n createStyles,\n FormHelperText,\n List,\n ListItem,\n ListItemIcon,\n ListItemText,\n Theme\n} from '@material-ui/core';\nimport {EmployeeShortModel} from \"../../models/employee.models\";\nimport {makeStyles} from \"@material-ui/core/styles\";\nimport {WildHealthPlaceHolder} from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { colors } from \"../../../common/constants/colors\";\n\ninterface AssignEmployeesComponentProps {\n error?: string;\n employees: EmployeeShortModel[];\n selectedEmployeesIds: number[];\n handleEmployeeSelect: Function;\n disabled: boolean;\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n width: '100%',\n overflow: 'auto',\n maxHeight: '200px',\n border: `1px solid #c6c6c6`,\n borderRadius: '5px',\n backgroundColor: theme.palette.background.paper\n },\n checkBox: {\n color: colors.main,\n '&$checked': {\n color: colors.main\n },\n },\n checked: {},\n }),\n);\n\nexport const AssignEmployeesComponent: React.FC = (props: AssignEmployeesComponentProps) => {\n const style = useStyles();\n const {\n error,\n employees,\n selectedEmployeesIds,\n handleEmployeeSelect,\n disabled\n } = props;\n\n if (!employees || !employees.length) {\n return (\n \n )\n }\n\n return (\n <>\n \n {employees.map((employee) => {\n const labelId = `checkbox-list-label-${employee}`;\n\n return (\n handleEmployeeSelect(employee.id)}>\n \n \n \n \n \n );\n })}\n \n {\n error && error.length &&\n {error}\n }\n \n )\n};","import React from 'react';\nimport {\n Box,\n FormControlLabel,\n} from '@material-ui/core';\nimport { PatientOptionsModel } from \"../../../patients/models/patient.model\";\nimport { WildHealthSwitcher } from \"../../../common/components/WIldHealthSwitcher\";\n\ninterface PatientOptionsComponentProps {\n options: PatientOptionsModel;\n optionName: string;\n title: string;\n handleChanges: Function;\n disabled: boolean;\n}\n\nexport const PatientOptionsComponent: React.FC = (props: PatientOptionsComponentProps) => {\n const {\n options,\n optionName,\n title,\n handleChanges,\n disabled\n } = props;\n\n return (\n <>\n \n \n {title}\n \n\n \n \n \n No\n \n \n \n handleChanges(optionName, !options[optionName])} name={optionName} />}\n label=\"\"\n />\n \n \n \n Yes\n \n \n \n \n \n )\n};","import { Gender } from \"../../../common/models/user.models\";\nimport { addressValidationRules, birthdayValidationRule, emailValidationRule, firstNameValidationRule, functionValidationRule,lastNameValidationRule, notWhitespaceValidationRule, phoneNumberValidationRule, stringLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const patientInformationComponentValidator = new GeneralValidator({\n // User form\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'phoneNumber': [phoneNumberValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (value === Gender.Female) return true;\n return value === Gender.Male;\n }, \"Gender should be selected.\")],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // lead source form\n 'leadSource.otherLeadSource': [stringLengthValidationRule(1, 50)],\n});\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { LeadSourceModel } from '../models/leadSource.models';\n\n\n/**\n * Represents lead sources state\n */\nexport interface LeadSourcesState {\n leadSources: LeadSourceModel[];\n}\n\nexport function createInitialState(): LeadSourcesState {\n return {\n leadSources: []\n };\n}\n\n@StoreConfig({name: 'leadSources', resettable: true })\nexport class LeadSourcesStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public deleteLeadSource(model: LeadSourceModel) {\n const leadSources = this.getValue().leadSources.filter(x => x.id !== model.id);\n this.update({leadSources: leadSources});\n }\n\n public createLeadSource(model: LeadSourceModel) {\n this.update({leadSources: [...this.getValue().leadSources, model]});\n }\n\n public changeActivity(model: LeadSourceModel) {\n const leadSources = this.getValue().leadSources.map(p => p.id === model.id\n ? {\n id: p.id,\n name: p.name,\n isOther: p.isOther,\n isActive: model.isActive,\n count: p.count,\n } as LeadSourceModel\n : p);\n this.update({leadSources: leadSources});\n }\n}\n\nexport const leadSourcesStore = new LeadSourcesStore();\n","import {Query} from '@datorama/akita';\nimport { LeadSourcesState, leadSourcesStore, LeadSourcesStore } from './leadSources.store';\n\n/**\n * Provides Lead Sources queries\n */\nexport class LeadSourcesQuery extends Query {\n\n leadSources$ = this.select(state => state.leadSources);\n\n constructor(protected store: LeadSourcesStore) {\n super(store);\n }\n}\n\nexport const leadSourcesQuery = new LeadSourcesQuery(leadSourcesStore);\n","import Axios from 'axios-observable';\nimport { Observable } from 'rxjs';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { leadSourcesStore, LeadSourcesStore } from '../stores/leadSources.store';\nimport {LeadSourceModel} from \"../models/leadSource.models\";\n\n/**\n * Provides method for working with lead sources\n */\nexport class LeadSourcesService {\n private url = `${process.env.REACT_APP_API_URL}LeadSources`;\n\n constructor(private leadSourcesStore: LeadSourcesStore) {\n }\n\n public getAll(): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.get(this.url, config)\n .pipe()\n .subscribe(\n response => {\n this.leadSourcesStore.update({ leadSources: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getActive(practiceId: number): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.get(`${this.url}/Active?practiceId=${practiceId}`, config)\n .pipe()\n .subscribe(\n response => {\n this.leadSourcesStore.update({ leadSources: response.data })\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public getEmployeeActive(): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.get(`${this.url}/Employee/Active`, config)\n .pipe()\n .subscribe(\n response => {\n this.leadSourcesStore.update({ leadSources: response.data })\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public create(name: string): Observable {\n const config = {\n headers: authHeader()\n };\n\n return new Observable(observer => {\n Axios.post(`${this.url}`, { name: name }, config)\n .pipe()\n .subscribe(\n response => {\n this.leadSourcesStore.createLeadSource(response.data);\n snackService.success(\"Lead source successfully created!\");\n observer.next();\n observer.complete()\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete()\n }\n );\n })\n \n }\n\n public changeActivity(id: number): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.put(`${this.url}/${id}/ChangeActivity`, {}, config)\n .pipe()\n .subscribe(\n response => {\n this.leadSourcesStore.changeActivity(response.data);\n snackService.success(\"Lead Source status successfully updated!\");\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n\n public delete(id: number): void {\n const config = {\n headers: authHeader()\n };\n\n Axios.delete(`${this.url}/${id}`, config)\n .pipe()\n .subscribe(\n response => {\n this.leadSourcesStore.deleteLeadSource(response.data);\n snackService.success(\"Lead source successfully deleted\");\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n}\n\nexport const leadSourcesService = new LeadSourcesService(leadSourcesStore);","import {useEffect, useState} from 'react';\nimport {PatientModel, UpdatePatientModel} from \"../../../patients/models/patient.model\";\nimport {patientInformationComponentValidator} from \"./patientInformationComponent.validator\";\nimport {getLastObject} from \"../../../common/helpers/get-last-object\";\nimport {patientsService} from \"../../../patients/services/patients.service\";\nimport {employeeService} from \"../../services/employees.service\";\nimport {IErrorState} from '../../../common/validation/error-state';\nimport {Subscription} from 'recompose';\nimport {patientsQuery} from '../../../patients/stores/patientsStore';\nimport {onEmit} from '../../../common/helpers/on-emit';\nimport {employeesQuery} from \"../../stores/employeesStore\";\nimport { EmployeeShortModel } from '../../models/employee.models';\nimport { LeadSourceModel } from '../../../leadSources/models/leadSource.models';\nimport { leadSourcesQuery } from '../../../leadSources/stores/leadSources.query';\nimport { leadSourcesService } from '../../../leadSources/services/leadSources.service';\nimport {handleCompare} from \"../../../common/sorting/helpers/handle-compare\";\nimport {SortingDirection} from \"../../../common/sorting/models/sorting-destination\";\n\ninterface PatientInformationComponentState extends IErrorState {\n isLoading: boolean;\n isEmployeesLoading: boolean;\n patient: PatientModel,\n patientDraft: PatientModel,\n employees: EmployeeShortModel[],\n editMode: boolean,\n leadSources: LeadSourceModel[]\n}\n\nconst pageFields = [\n 'firstName',\n 'lastName',\n 'birthday',\n 'gender',\n 'email',\n 'phoneNumber',\n 'billingAddress.streetAddress1',\n 'billingAddress.streetAddress2',\n 'billingAddress.city',\n 'billingAddress.state',\n 'billingAddress.zipCode',\n 'billingAddress.country',\n 'shippingAddress.streetAddress1',\n 'shippingAddress.streetAddress2',\n 'shippingAddress.city',\n 'shippingAddress.state',\n 'shippingAddress.zipCode',\n 'shippingAddress.country',\n 'assignedEmployeeIds',\n 'leadSource.otherLeadSource'\n];\n\nexport function useFacade(patientId: number): [\n PatientInformationComponentState,\n (id: number) => void,\n (field: string, value: string) => void,\n (field: string, value: boolean) => void,\n () => void,\n () => void,\n () => void,\n (field: string, value: any) => void] {\n\n const [state, setState] = useState({\n isLoading: true,\n isEmployeesLoading: true,\n patient: null,\n patientDraft: {},\n employees: [],\n errors: {},\n editMode: false,\n leadSources: []\n } as PatientInformationComponentState);\n\n const handleEmployeeSelect = (id: number) => {\n const draftPatient = state.patientDraft;\n\n if (draftPatient.assignedEmployees.map(el => el.id).includes(id)) {\n draftPatient.assignedEmployees = draftPatient.assignedEmployees.filter(x => x.id !== id);\n } else {\n draftPatient.assignedEmployees = [...draftPatient.assignedEmployees, state.employees.find(el => el.id === id)];\n }\n \n setState({\n ...state,\n patientDraft: {...draftPatient}\n });\n\n patientInformationComponentValidator.validateAndSetState(state, setState, 'assignedEmployeeIds', draftPatient.assignedEmployees.map(el => el.id));\n }\n\n const handleOptionsChanges = (field: string, value: boolean) => {\n const draftPatient = state.patientDraft;\n draftPatient.options[field] = value;\n setState({\n ...state,\n patientDraft: {...draftPatient}\n });\n }\n\n const handleLeadSourceChanges = (field: string, value: any) => {\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value)\n if(state.patientDraft.leadSource === null)\n state.patientDraft.leadSource = {leadSourceId: 0, otherLeadSource: null, podcastSource: null};\n\n const patientDraft = state.patientDraft;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, patientDraft);\n lastObject[key] = key === \"leadSourceId\" ? +value : value;\n\n setState({...state, patientDraft: patientDraft});\n }\n\n const shouldValidateLeadSource = (): boolean => {\n if(state.patientDraft.leadSource === null) {\n return false;\n }\n\n const leadSource = state.leadSources.find(x => x.id === state.patientDraft.leadSource.leadSourceId);\n\n if(leadSource === undefined) {\n return false;\n }\n\n\n return leadSource.isOther;\n }\n\n /**\n * Validates patient profile form\n */\n const validateForm = () => {\n pageFields.forEach(field => {\n if(field === 'leadSource.otherLeadSource' && !shouldValidateLeadSource())\n return;\n\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.patientDraft);\n const value = lastObject[key];\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value);\n\n const patientDraft = state.patientDraft;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, patientDraft);\n lastObject[key] = value;\n\n setState({...state, patientDraft: {...patientDraft}});\n }\n\n const handleSubmit = () => {\n validateForm();\n if (!patientInformationComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({ ...state, isLoading: true }));\n\n const model: UpdatePatientModel = {\n id: state.patientDraft.id,\n firstName: state.patientDraft.firstName,\n lastName: state.patientDraft.lastName,\n email: state.patientDraft.email,\n phoneNumber: state.patientDraft.phoneNumber,\n birthday: state.patientDraft.birthday,\n gender: state.patientDraft.gender,\n billingAddress: state.patientDraft.billingAddress,\n shippingAddress: state.patientDraft.shippingAddress,\n employeeIds: state.patientDraft.assignedEmployees.map(el => el.id),\n options: state.patientDraft.options,\n leadSource: state.patientDraft.leadSource?.leadSourceId === 0 ? null : state.patientDraft.leadSource,\n locationId: state.patient.locationId\n };\n\n patientsService.update(model).subscribe(\n () => handleEditModeToggle(),\n () => handleEditModeToggle()\n );\n }\n\n const handleEditModeToggle = () => {\n setState(state => ({\n ...state, \n editMode: !state.editMode,\n isLoading: false\n }));\n }\n\n const handleDiscardChanges = () => {\n setState({\n ...state,\n errors: {},\n patientDraft: {\n ...state.patient,\n billingAddress: {...state.patient.billingAddress},\n shippingAddress: {...state.patient.shippingAddress},\n options: {...state.patient.options}\n },\n editMode: false,\n });\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n isLoading: false,\n patient: targetPatient,\n patientDraft: {\n ...targetPatient,\n billingAddress: {...targetPatient?.billingAddress},\n shippingAddress: {...targetPatient?.shippingAddress},\n options: {...targetPatient.options},\n leadSource: targetPatient?.leadSource == null ? null : {...targetPatient?.leadSource} \n }\n }));\n\n const cb = () => setState(state => ({...state, isEmployeesLoading: false}));\n\n employeeService.getActiveCoachesAndProviders(targetPatient.locationId).subscribe(cb, cb);\n }\n }),\n onEmit(employeesQuery.couchesAndProviders$, employees => {\n setState(state => ({\n ...state, employees\n }));\n }),\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources:leadSources.sort((l1, l2,) => handleCompare(l1, l2, SortingDirection.Desc, 'isOther'))\n }))\n }),\n ];\n\n leadSourcesService.getEmployeeActive();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state,\n handleEmployeeSelect,\n handleChanges,\n handleOptionsChanges,\n handleSubmit,\n handleEditModeToggle,\n handleDiscardChanges,\n handleLeadSourceChanges\n ]\n}","import {\n Box,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField\n} from '@material-ui/core';\nimport React from 'react';\nimport { PermissionType, Practice } from '../../../auth/models/auth.enums';\nimport { OptionalComponent } from '../../../common/components/OptionalComponent';\nimport { PaymentPlanDisplayComponent } from '../../../common/components/paymentPlanDisplayComponent/PaymentPlanDisplayComponent';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { UpdateAddressForm } from '../../../common/components/updateAddressForm/UpdateAddressForm';\nimport { UpdateUserForm } from '../../../common/components/UpdateUserForm';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthSwitcher } from \"../../../common/components/WIldHealthSwitcher\";\nimport { TransferPatientToLocationComponent } from \"../../../locations/components/transferPatientToLocationComponent/TransferPatientToLocationComponent\";\nimport { EmployeeType } from '../../models/employee.enums';\nimport { AssignEmployeesComponent } from '../assignEmployeesComponent/AssignEmployeesComponent';\nimport { PatientOptionsComponent } from \"../patientOptionsComponent/PatientOptionsComponent\";\nimport { useFacade } from \"./patientInformationComponent.hooks\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { PatientJourneyStatusNames } from '../../../patients/models/patient.model';\nimport { EmployeeShortModel } from '../../models/employee.models';\nimport { fullName } from '../../../common/helpers/display-name';\n\ninterface PatientInformationComponentProps {\n patientId: number;\n}\n\nexport const PatientInformationComponent: React.FC = (props: PatientInformationComponentProps) => {\n const { patientId } = props;\n const [\n {\n isLoading,\n isEmployeesLoading,\n patient,\n patientDraft,\n employees,\n errors,\n editMode,\n leadSources\n },\n handleEmployeeSelect,\n handleChanges,\n handleOptionsChanges,\n handleSubmit,\n handleEditModeToggle,\n handleDiscardChanges,\n handleLeadSourceChanges\n ] = useFacade(patientId);\n const commonClasses = commonUseStyles();\n\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n const displayOtherLeadSource = () => {\n const leadSource = editMode\n ? leadSources.find(x => x.id === patientDraft.leadSource?.leadSourceId)\n : leadSources.find(x => x.id === patient.leadSource?.leadSourceId);\n\n if (leadSource === undefined || !leadSource.isOther) {\n return <>\n }\n\n return <>\n \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n \n }\n\n const displayAssignedEmployees = (employees: EmployeeShortModel[], assignedEmployeeIds: number[]) => {\n const assignedEmployees = employees.filter((e) => assignedEmployeeIds.includes(e.id));\n if (assignedEmployees.length) {\n return assignedEmployees.map((e) => fullName(e)).join(\", \");\n }\n return 'N/A';\n }\n\n return (\n \n \n handleEditModeToggle()}\n name=\"editModeToggle\" />\n }\n />}\n permissions={[PermissionType.Coaching, PermissionType.ManagePatients]}\n />\n \n \n \n \n Information:\n \n \n \n \n\n \n \n \n \n Journey Status:\n {PatientJourneyStatusNames.get(patient.journeyStatus)}\n \n \n \n \n \n \n \n \n \n \n \n \n Lead source:\n \n \n \n \n handleLeadSourceChanges(\"leadSource.leadSourceId\", v.target.value.toString())}>\n {\n leadSources.map((source, index) => {\n return {source.name}\n })\n }\n \n {errors[`selectedLeadSource.leadSourceId`]}\n \n \n \n \n \n \n\n \n \n \n {\n displayOtherLeadSource()\n }\n \n \n \n \n } permissions={[PermissionType.PatientAnalytics]}>\n\n \n \n \n \n \n \n \n \n \n \n\n \n \n \n Billing address:\n \n \n \n \n\n \n \n \n Shipping address:\n \n \n \n \n\n \n {\n isEmployeesLoading ?\n \n \n : [\n \n \n ASSIGNED COACHES:\n \n \n \n

Assigned:

\n
\n \n

{displayAssignedEmployees(employees.filter(c => c.type === EmployeeType.HealthCoach), patient.assignedEmployees.map(el => el.id))}

\n
\n
\n \n el.id) : patient.assignedEmployees.map(el => el.id)}\n handleEmployeeSelect={handleEmployeeSelect}\n disabled={!editMode}\n employees={employees.filter(c => c.type === EmployeeType.HealthCoach)}\n />\n \n
,\n \n \n ASSIGNED PROVIDERS:\n \n \n \n

Assigned:

\n
\n \n

{displayAssignedEmployees(employees.filter(c => c.type === EmployeeType.Provider), patient.assignedEmployees.map(el => el.id))}

\n
\n
\n \n el.id) : patient.assignedEmployees.map(el => el.id)}\n handleEmployeeSelect={handleEmployeeSelect}\n disabled={!editMode}\n employees={employees.filter(c => c.type === EmployeeType.Provider)}\n />\n \n
\n ]\n }\n \n {\n editMode &&\n \n \n handleDiscardChanges()}>\n Discard\n \n \n \n handleSubmit()}>\n Save Changes\n \n \n \n }\n \n
\n \n \n );\n}","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCloseSide = function SvgCloseSide(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 20,\n viewBox: \"0 0 26 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.5833 15.8337L18.4167 10.0003L12.5833 4.16699\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.58334 15.8337L13.4167 10.0003L7.58334 4.16699\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCloseSide, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CloseSide.a1aae364.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n container: {\n paddingTop: 12,\n position: 'relative',\n background: colors.bg,\n width: 70,\n marginLeft: 22,\n height: '100%'\n },\n closeWrapper: {\n position: 'relative',\n textAlign: 'center',\n },\n closeTimeline: {\n position: 'absolute',\n width: 0,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.leavingScreen,\n }),\n },\n content: {\n overflowY: 'auto',\n },\n closeTitle: {\n width: '200px',\n marginTop: 250,\n transform: ' rotate(-90deg) translate(0px, -68px)',\n position: 'absolute',\n },\n openTitle: {\n fontSize: 24,\n fontWeight: 500,\n },\n openTimeline: {\n paddingTop: 12,\n marginRight: 8,\n paddingLeft: 30,\n background: colors.bg,\n height: '100%',\n position: 'absolute',\n right: 0,\n top: 0,\n width: 528,\n transition: theme.transitions.create('width', {\n easing: theme.transitions.easing.sharp,\n duration: theme.transitions.duration.enteringScreen,\n }),\n zIndex: 11,\n },\n icon: {\n stroke: colors.main,\n height: 26,\n width: 26,\n },\n active: {\n color: colors.main,\n },\n closeIcon: {\n color: colors.main,\n marginRight: 8,\n width: 24,\n height: 24,\n\n },\n action: {\n color: colors.main,\n fontSize: 14,\n fontWeight: 500,\n },\n eventMainContainer: {\n position: 'relative',\n padding: '0px 24px',\n borderLeft: `0.5px solid ${colors.gray2}`,\n },\n iconContainer: {\n position: 'absolute',\n background: colors.bg,\n padding: 5,\n top: -10,\n left: -18,\n },\n iconContainerCommon: {\n position: 'absolute',\n background: colors.bg,\n padding: 5,\n top: -7,\n left: -12,\n },\n iconWrapper: {\n width: 26,\n height: 26,\n maxWidth: 26,\n minWidth: 26,\n padding: 6,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n borderRadius: '50%',\n background: `${colors.accent1}14`\n },\n })\n);","var _path, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFilter = function SvgFilter(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_4771_197821\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 4,\n y: 4,\n width: 16,\n height: 16\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.25067 5.61C6.27067 8.2 10.0007 13 10.0007 13V19C10.0007 19.55 10.4507 20 11.0007 20H13.0007C13.5507 20 14.0007 19.55 14.0007 19V13C14.0007 13 17.7207 8.2 19.7407 5.61C20.2507 4.95 19.7807 4 18.9507 4H5.04067C4.21067 4 3.74067 4.95 4.25067 5.61Z\",\n fill: \"\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_4771_197821)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFilter, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Filter.ac9f58c0.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgResults = function SvgResults(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 20,\n viewBox: \"0 0 18 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.4355 16.3686L12.3961 8.75906V4.27859H12.7662C13.2013 4.27859 13.5541 3.92583 13.5541 3.49075V0.787838C13.5541 0.352762 13.2013 0 12.7662 0H5.23451C4.79943 0 4.44667 0.352762 4.44667 0.787838V3.49075C4.44667 3.92583 4.79943 4.27859 5.23451 4.27859H5.6046V8.75906L0.565276 16.3686C0.0887919 17.0882 0.0465007 18.0074 0.454853 18.7675C0.863205 19.5277 1.65293 20 2.5159 20H15.4848C16.3478 20 17.1375 19.5277 17.5458 18.7676C17.9543 18.0074 17.912 17.0882 17.4355 16.3686ZM6.02235 1.57568H11.9784V2.70292C11.4443 2.70292 6.67096 2.70292 6.02235 2.70292V1.57568ZM10.8205 4.27859V8.99623C10.8205 9.15096 10.866 9.30223 10.9514 9.43118L11.7526 10.641H8.13892L4.44913 16.2127C4.20893 16.5754 3.72028 16.6749 3.35731 16.4346C2.99453 16.1943 2.8952 15.7055 3.13539 15.3427L7.04931 9.43112C7.13478 9.30216 7.18028 9.1509 7.18028 8.99617V4.27859H10.8205Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgResults, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Results.4e7fb030.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSupplementMeds = function SvgSupplementMeds(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0909 0C12.5124 0 11.0281 0.614787 9.913 1.73075L1.73118 9.91258C0.615213 11.0289 0 12.5129 0 14.0909C0 17.3491 2.65091 20 5.90911 20C7.4885 20 8.97197 19.3853 10.087 18.2693L18.2689 10.0879C19.3857 8.9715 20 7.48756 20 5.90907C20 2.65091 17.3491 0 14.0909 0ZM6.38672 9.114L3.65945 11.8408C3.05843 12.4419 2.72727 13.2413 2.72727 14.0909C2.72727 14.3422 2.52396 14.5455 2.27271 14.5455C2.02146 14.5455 1.81815 14.3422 1.81815 14.0909C1.81815 12.9981 2.2434 11.9709 3.01666 11.1981L5.74394 8.47126C5.92151 8.29368 6.20915 8.29368 6.38668 8.47126C6.56429 8.64878 6.56429 8.93643 6.38672 9.114ZM16.9833 8.80236L13.2139 12.5714L7.42893 6.78584L11.1985 3.01624C11.9709 2.24344 12.9981 1.81815 14.0909 1.81815C16.3468 1.81815 18.1818 3.65323 18.1818 5.90907C18.1818 7.00194 17.7566 8.02956 16.9833 8.80236Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSupplementMeds, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/SupplementMeds.025e5725.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgArticleDraft = function SvgArticleDraft(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 20,\n viewBox: \"0 0 16 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M10.25 0.5C10.25 0.361929 10.1381 0.25 10 0.25H3C1.48122 0.25 0.25 1.48122 0.25 3V17C0.25 18.5188 1.48122 19.75 3 19.75H13C14.5188 19.75 15.75 18.5188 15.75 17V7.14706C15.75 7.00899 15.6381 6.89706 15.5 6.89706H11C10.5858 6.89706 10.25 6.56127 10.25 6.14706V0.5ZM11 10.25C11.4142 10.25 11.75 10.5858 11.75 11C11.75 11.4142 11.4142 11.75 11 11.75H5C4.58579 11.75 4.25 11.4142 4.25 11C4.25 10.5858 4.58579 10.25 5 10.25H11ZM11 14.25C11.4142 14.25 11.75 14.5858 11.75 15C11.75 15.4142 11.4142 15.75 11 15.75H5C4.58579 15.75 4.25 15.4142 4.25 15C4.25 14.5858 4.58579 14.25 5 14.25H11Z\",\n fill: \"\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.75 0.824135C11.75 0.63964 11.9426 0.522496 12.0862 0.638386C12.2071 0.735999 12.3158 0.850358 12.4085 0.979549L15.4217 5.17745C15.4903 5.27302 15.416 5.39706 15.2983 5.39706H12C11.8619 5.39706 11.75 5.28513 11.75 5.14706V0.824135Z\",\n fill: \"\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgArticleDraft, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ArticleDraft.73fae0b6.svg\";\nexport { ForwardRef as ReactComponent };","var _circle;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEllipse = function SvgEllipse(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 22,\n viewBox: \"0 0 22 22\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 11,\n cy: 11,\n r: 8.5,\n fill: \"white\",\n stroke: \"#1F72A2\",\n strokeWidth: 5\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEllipse, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Ellipse.d092dfe1.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMessage = function SvgMessage(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.4829 0.4375C1.80323 0.4375 0.447061 1.8 0.444329 3.48248L0.437504 7.69086C0.434858 9.29909 1.6813 10.6003 3.2569 10.7145V13.3437C3.25683 13.3871 3.26964 13.4295 3.2937 13.4655C3.31776 13.5016 3.35199 13.5297 3.39204 13.5462C3.43209 13.5628 3.47616 13.5671 3.51866 13.5586C3.56115 13.5501 3.60017 13.5291 3.63074 13.4984L6.38605 10.7363H10.5244C12.204 10.7363 13.5625 9.3741 13.5625 7.69129V3.48291C13.5625 1.80068 12.2108 0.4375 10.5312 0.4375H3.4829ZM4.81292 4.93127C5.17276 4.93127 5.46875 5.22771 5.46874 5.58752C5.46874 5.94734 5.17275 6.24377 4.81292 6.24377C4.45309 6.24377 4.15667 5.94734 4.15667 5.58752C4.15667 5.22771 4.45308 4.93127 4.81292 4.93127ZM6.99999 4.93127C7.35983 4.93127 7.65624 5.22771 7.65624 5.58752C7.65624 5.94734 7.35983 6.24377 6.99999 6.24377C6.64016 6.24377 6.34375 5.94734 6.34374 5.58752C6.34374 5.22771 6.64015 4.93127 6.99999 4.93127ZM9.18792 4.93127C9.54776 4.93127 9.84417 5.22771 9.84417 5.58752C9.84416 5.94734 9.54775 6.24377 9.18792 6.24377C8.82809 6.24377 8.53125 5.94734 8.53124 5.58752C8.53124 5.22771 8.82808 4.93127 9.18792 4.93127Z\",\n fill: \"\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMessage, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Message.e887d0b1.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles} from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n expandIcon: {\n fill: colors.main,\n width: 18,\n },\n action: {\n color: colors.main,\n fontSize: 14,\n fontWeight: 500,\n },\n }),\n);","import { Box, } from '@material-ui/core';\nimport React, { useState } from 'react';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useStyles } from \"./MessageEventComponent.styles\";\nimport { ChronologicalEventModel, ChronologicalEventType } from '../../models/patient.model';\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\n\ninterface MessageEventComponentProps {\n item: ChronologicalEventModel\n}\n\nexport const MessageEventComponent: React.FC = (props: MessageEventComponentProps) => {\n const {\n item\n } = props;\n\n const [state, setState] = useState({ seeMore: false });\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n \n if (!item.body || item.body?.length < 68) {\n return {item.body}\n }\n\n return (\n <>\n {state.seeMore ? item.body : `${item.body.slice(0, 68)}...`}\n setState(state => ({ ...state, seeMore: !state.seeMore }))}\n content={\n \n {state.seeMore ? 'See Less' : 'See More'} \n {state.seeMore ? : }\n \n }\n id={`chronological-action-${ChronologicalEventType.LabsOrdered}-${item.payload?.orderId}`}\n />\n \n );\n}","import { Box, Divider, IconButton, List, ListItem, ListItemIcon, ListItemText, Popover, } from \"@material-ui/core\";\nimport React from 'react';\nimport { useStyles } from \"./ChronologicalSummaryComponent.style\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useFacade } from './chronologicalSummaryComponent.hooks';\nimport clsx from \"clsx\";\nimport { ReactComponent as OpenSideIcon } from '@img/icons/OpenSide.svg';\nimport { ReactComponent as CloseSideIcon } from '@img/icons/CloseSide.svg';\nimport { ReactComponent as FilterIcon } from '@img/icons/Filter.svg';\nimport { colors } from \"../../../common/constants/colors\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthLinkButton } from \"../../../common/components/WildHealthLinkButton\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport { ChronologicalEventModel, ChronologicalEventType, ChronologicalEventTypeNames } from \"../../models/patient.model\";\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport moment from \"moment\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { useHistory } from \"react-router\";\nimport { ReactComponent as Results } from '@img/icons/Results.svg';\nimport { ReactComponent as SupplementMeds } from '@img/icons/SupplementMeds.svg';\nimport { ReactComponent as NoteIcon } from '@img/icons/ArticleDraft.svg';\nimport { ReactComponent as AppointmentsIcon } from '@img/icons/recentAppts.svg';\nimport { ReactComponent as EllipseIcon } from '@img/icons/Ellipse.svg';\nimport { ReactComponent as MessageIcon } from '@img/icons/Message.svg';\nimport { MessageEventComponent } from \"../MessageEventComponent/MessageEventComponent\";\n\ninterface ChronologicalSummaryComponentProps {\n patientId: number | null;\n filterTypes: ChronologicalEventType[];\n}\n\nconst filtersPopoverProps: any = {\n id: \"chronologicalSummaryPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'left',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'left',\n },\n};\n\nexport const ChronologicalSummaryComponent: React.FC = (props: ChronologicalSummaryComponentProps) => {\n const {\n patientId,\n filterTypes\n } = props;\n\n const [\n {\n chronologicalEvents,\n chronologicalEventsView,\n isTimelineOpen,\n isLoading,\n filtersState,\n },\n handleToggleFilters,\n handleToggleSideArea,\n handleClearFilters,\n handleApplyFilters,\n handleAddFilterType,\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const history = useHistory();\n const closeChronologicalTimeline = document.getElementById('chronological-summary-close-wrapper');\n const height = closeChronologicalTimeline?.offsetHeight ? closeChronologicalTimeline.offsetHeight - 100 : 0;\n\n const renderIcon = (type: ChronologicalEventType) => {\n switch (type) {\n case ChronologicalEventType.LabsOrdered:\n return ;\n case ChronologicalEventType.VisitCompleted:\n return ;\n case ChronologicalEventType.NotePublished:\n return ;\n case ChronologicalEventType.SupplementUpdated:\n return ;\n case ChronologicalEventType.InternalMessageSent:\n return ;\n default: return ;\n }\n }\n\n const renderActions = (item: ChronologicalEventModel) => {\n switch (item.type) {\n case ChronologicalEventType.LabsOrdered:\n return navigationService.toPatientOrders(history, patientId, item.payload?.orderId)}\n content={\n \n See Lab Order \n \n }\n id={`chronological-action-${ChronologicalEventType.LabsOrdered}-${item.payload?.[0]}`}\n />;\n case ChronologicalEventType.VisitCompleted:\n return navigationService.toPatientProfilePastAppointments(history, patientId)}\n content={\n \n See Visit \n \n }\n id={`chronological-action-${ChronologicalEventType.LabsOrdered}-${item.payload?.[0]}`}\n />;\n case ChronologicalEventType.NotePublished:\n return navigationService.toPatientProfileNote(history, patientId, item.payload?.noteId)}\n content={\n \n See Note \n \n }\n id={`chronological-action-${ChronologicalEventType.LabsOrdered}-${item.payload?.[0]}`}\n />;\n case ChronologicalEventType.SupplementUpdated:\n return navigationService.toPatientsProfileSupplements(history, patientId)}\n content={\n \n See Supplement List \n \n }\n id={`chronological-action-${ChronologicalEventType.LabsOrdered}-${item.payload?.[0]}`}\n />;\n default: return <>;\n }\n }\n\n const renderSideAreaContent = () => {\n return (\n \n {chronologicalEventsView.map(item => {\n return \n \n {moment(toCurrentTimeZone(item.createdAt)).format('MMM Do')}\n {moment(toCurrentTimeZone(item.createdAt)).format('LT')}\n\n \n \n {renderIcon(item.type)}\n {item.title}\n {\n item.type === ChronologicalEventType.InternalMessageSent\n ? \n : <>\n {item.body && {item.body}}\n {renderActions(item)}\n \n }\n\n \n \n }\n )}\n \n )\n }\n\n const renderSideAreaFilter = () => {\n return (\n \n {`${chronologicalEvents.length} EVENTS `}\n handleToggleFilters(event)}\n >\n \n \n handleToggleFilters()}\n open={filtersState.isOpen}\n anchorOrigin={filtersPopoverProps.anchorOrigin}\n transformOrigin={filtersPopoverProps.transformOrigin}\n >\n \n filter by event type\n \n {\n filterTypes.map(type =>\n handleAddFilterType(type)}\n >\n \n {filtersState.filters.includes(type) ? : }\n \n \n \n )\n }\n \n \n\n \n handleClearFilters()}\n content={\n \n \n Clear All \n }\n id=\"chronological-events-clear-all\"\n />\n\n handleApplyFilters()}\n >\n Apply filter\n \n \n \n \n \n )\n }\n\n return (\n \n \n handleToggleSideArea(!isTimelineOpen)}>\n \n \n \n Chronological Summary\n \n \n \n {isTimelineOpen\n && \n \n \n Chronological Summary\n \n handleToggleSideArea(!isTimelineOpen)}>\n \n \n \n {isLoading && \n \n }\n {!isLoading && renderSideAreaFilter()}\n {!isLoading && renderSideAreaContent()}\n \n }\n \n \n\n )\n}\n\n","import { useState, useEffect } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { ChronologicalEventModel, ChronologicalEventType } from \"../../models/patient.model\";\nimport { patientsService } from \"../../services/patients.service\";\nimport { patientsQuery } from \"../../stores/patientsStore\";\n\ninterface ChronologicalSummaryFiltersState {\n isOpen: boolean;\n anchorEl: HTMLButtonElement;\n filters: ChronologicalEventType[];\n}\n\ninterface ChronologicalSummaryComponentState {\n isTimelineOpen: boolean;\n chronologicalEvents: ChronologicalEventModel[];\n chronologicalEventsView: ChronologicalEventModel[];\n isLoading: boolean;\n filtersState: ChronologicalSummaryFiltersState;\n}\n\n/**\n * Custom Hook to manage a view Model for Biomarkers component\n */\nexport function useFacade(patientId: number | null): [\n ChronologicalSummaryComponentState,\n (event?: React.MouseEvent) => void,\n (open: boolean) => void,\n () => void,\n () => void,\n (type: ChronologicalEventType) => void,\n] {\n\n const [state, setState] = useState({\n chronologicalEvents: [],\n chronologicalEventsView: [],\n isTimelineOpen: false,\n isLoading: true,\n filtersState: {\n isOpen: false,\n anchorEl: null,\n filters: [],\n },\n } as ChronologicalSummaryComponentState);\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isTimelineOpen: open });\n }\n\n const handleToggleFilters = (event?: React.MouseEvent) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({ ...state }));\n }\n\n const handleClearFilters = () => {\n state.filtersState.isOpen = false;\n state.filtersState.anchorEl = null;\n state.filtersState.filters = [];\n state.chronologicalEventsView = [...state.chronologicalEvents]\n setState(state => ({ ...state }));\n }\n\n\n const handleApplyFilters = () => {\n if (!state.filtersState.filters.length) {\n handleClearFilters()\n return;\n }\n state.filtersState.isOpen = false;\n state.filtersState.anchorEl = null;\n state.chronologicalEventsView = state.chronologicalEvents.filter(el => state.filtersState.filters.includes(el.type))\n setState(state => ({ ...state }));\n }\n\n const handleAddFilterType = (type: ChronologicalEventType) => {\n\n if (state.filtersState.filters.includes(type)) {\n state.filtersState.filters = state.filtersState.filters.filter(el => el != type)\n } else {\n state.filtersState.filters.push(type)\n }\n\n setState(state => ({ ...state }));\n }\n\n useEffect(() => {\n setState(state => ({ ...state, isLoading: true }))\n\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.chronologicalEvents$, chronologicalEvents => {\n const sortedChronologicalEvents = []\n const ordersForSorting = []\n chronologicalEvents.forEach(el => {\n if (!ordersForSorting.includes(el.order)) {\n ordersForSorting.push(el.order)\n }\n })\n ordersForSorting.sort((el1, el2) => el2 - el1).forEach(el => {\n sortedChronologicalEvents.push(...chronologicalEvents.filter(event => event.order === el).sort((x, y) => (new Date(y.createdAt)).getTime() - (new Date(x.createdAt)).getTime()))\n })\n setState(state => ({\n ...state,\n chronologicalEvents: sortedChronologicalEvents,\n chronologicalEventsView: sortedChronologicalEvents,\n isLoading: false,\n }));\n\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n patientsService.getPatientTimeline(patientId).subscribe(cb, cb)\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleToggleFilters,\n handleToggleSideArea,\n handleClearFilters,\n handleApplyFilters,\n handleAddFilterType,\n ];\n}\n","import { Gender } from \"../../../../common/models/user.models\";\nimport { addressValidationRules, birthdayValidationRule, emailValidationRule, firstNameValidationRule, functionValidationRule,lastNameValidationRule, notWhitespaceValidationRule, phoneNumberValidationRule, stringLengthValidationRule } from \"../../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../../common/validation/general-validator\";\n\nexport const patientInformationComponentValidator = new GeneralValidator({\n // User form\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'phoneNumber': [phoneNumberValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (value === Gender.Female) return true;\n return value === Gender.Male;\n }, \"Gender should be selected.\")],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // lead source form\n 'leadSource.otherLeadSource': [stringLengthValidationRule(1, 50)],\n});\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { getLastObject } from \"../../../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../../common/validation/error-state\";\nimport { PatientModel, UpdatePatientModel } from \"../../../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../../../patients/stores/patientsStore\";\nimport { patientInformationComponentValidator } from \"../../patientInformationComponentValidator/patientInformationComponent.validator\";\n\ninterface AddressInfoWidgetComponentState extends IErrorState {\n isLoading: boolean;\n tabIndex: string;\n isEdit: boolean;\n patient: PatientModel;\n patientDraft: PatientModel;\n}\n\nconst pageFields = [\n 'billingAddress.streetAddress1',\n 'billingAddress.streetAddress2',\n 'billingAddress.city',\n 'billingAddress.state',\n 'billingAddress.zipCode',\n 'billingAddress.country',\n 'shippingAddress.streetAddress1',\n 'shippingAddress.streetAddress2',\n 'shippingAddress.city',\n 'shippingAddress.state',\n 'shippingAddress.zipCode',\n 'shippingAddress.country',\n];\n\nexport function useFacade(patientId: number | null): [\n AddressInfoWidgetComponentState,\n (event,tabIndex) => void,\n (field,value) => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n tabIndex: \"0\",\n isEdit: false,\n errors:{}\n} as AddressInfoWidgetComponentState);\n\n\n const handleChanges = (field: string, value: string | boolean) => {\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value);\n\n const patientDraft = state.patientDraft;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, patientDraft);\n lastObject[key] = value;\n\n setState({...state, patientDraft: {...patientDraft}});\n }\n\n const handleChangeTab = (event, newTabIndex) => {\n setState((state) => ({ \n ...state, \n tabIndex: newTabIndex }));\n }\n\n const handleDiscardChanges = () => {\n setState({\n ...state,\n errors: {},\n patientDraft: {\n ...state.patient,\n billingAddress: {...state.patient.billingAddress},\n shippingAddress: {...state.patient.shippingAddress},\n options: {...state.patient.options}\n },\n isEdit: false,\n });\n }\n\n\n const handleSubmit = () => {\n validateForm();\n if (!patientInformationComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({ ...state, isLoading: true}));\n\n const model: UpdatePatientModel = {\n id: state.patient.id,\n firstName: state.patient.firstName,\n lastName: state.patient.lastName,\n email: state.patient.email,\n phoneNumber: state.patient.phoneNumber,\n birthday: state.patient.birthday,\n gender: state.patient.gender,\n billingAddress: state.patientDraft.billingAddress,\n shippingAddress: state.patientDraft.shippingAddress,\n employeeIds: state.patient.assignedEmployees.map(el => el.id),\n options: state.patient.options,\n leadSource: state.patient.leadSource,\n locationId: state.patient.locationId\n };\n\n patientsService.update(model).subscribe(\n () => handleEditModeToggle(),\n () => handleEditModeToggle()\n );\n}\n\nconst validateForm = () => {\n pageFields.forEach(field => {\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.patientDraft);\n const value = lastObject[key];\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value);\n });\n}\n\nconst handleEditModeToggle = () => {\n setState(state => ({\n ...state, \n isEdit: !state.isEdit,\n isLoading: false\n }));\n}\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n patient: targetPatient,\n patientDraft: targetPatient,\n isLoading: false,\n }));\n }\n }),\n ];\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleChangeTab,\n handleChanges,\n handleDiscardChanges,\n handleSubmit,\n handleEditModeToggle\n ];\n}\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n breakWord: {\n wordBreak: 'break-word',\n },\n tabTitle: {\n width:'48%'\n },\n borderTitle:{\n backgroundColor: colors.main\n },\n button: {\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n },\n textGray: {\n color: colors.gray1,\n }\n })\n);\n\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { AppointmentStatus } from \"../../../../../appointments/models/appointments.enums\";\nimport { EmployeeAppointmentModel, PatientAppointmentModel } from \"../../../../../appointments/models/appointments.models\";\nimport { appointmentsService } from \"../../../../../appointments/services/appointments.service\";\nimport { appointmentsQuery } from \"../../../../../appointments/stores/appointments\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { PatientModel } from \"../../../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../../../patients/stores/patientsStore\";\n\nexport enum AppointmentsEnum {\n Upcoming,\n Previous\n}\ninterface AppointmentWidgetComponentState {\n isLoading: boolean;\n menuAnchorEl: HTMLElement;\n appointments: EmployeeAppointmentModel[];\n previousAppointments: EmployeeAppointmentModel[];\n selectedId: number;\n selectedAppointment: EmployeeAppointmentModel;\n patient: {\n firstName: string;\n lastName: string;\n },\n tabSelected: AppointmentsEnum;\n}\n\nexport function useFacade(patientId: number): [\n AppointmentWidgetComponentState,\n (id: number, menuAnchorEl?: HTMLElement) => void,\n () => void,\n () => void,\n (event: React.ChangeEvent<{}>, newValue: number) => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n menuAnchorEl: null,\n appointments: [],\n previousAppointments: [],\n selectedId: null,\n selectedAppointment: null,\n patient: {},\n tabSelected: AppointmentsEnum.Upcoming\n } as AppointmentWidgetComponentState);\n\n const handleTabChange = (event: React.ChangeEvent<{}>, newValue: number) => {\n setState(state => ({\n ...state,\n tabSelected: newValue\n }))\n }\n\n const handleToggleMenu = (appointmentId: number, menuAnchorEl?: HTMLElement) => {\n const appointment = state.appointments.find(x => x.id === appointmentId);\n if (!appointment) {\n setState(state => ({ ...state, menuAnchorEl: null }));\n return;\n }\n setState(state => ({\n ...state,\n menuAnchorEl,\n selectedId: appointmentId,\n selectedAppointment: appointment,\n }))\n }\n\n const handleCancel = () => {\n setState(state => ({ ...state, menuAnchorEl: null }));\n appointmentsService.openCancelAppointmentSchedule()\n .subscribe(\n () => appointmentsService.cancelAsPatient(state.selectedId)\n );\n }\n\n const handleRescheduleAppointment = () => {\n setState(state => ({ ...state, menuAnchorEl: null }));\n const appointment = state.appointments.find(x => x.id === state.selectedAppointment.id);\n if (!appointment) {\n return;\n }\n\n appointmentsService.openPatientAppointmentReschedule(state.selectedAppointment, patientId).subscribe();\n }\n\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n patient: {\n firstName: targetPatient.firstName,\n lastName: targetPatient.lastName,\n },\n }));\n }\n }),\n onEmit(appointmentsQuery.patientAppointments$, appointments => {\n const filteredAppointments = appointments?.filter(appt => appt.status !== AppointmentStatus.Canceled)\n if (filteredAppointments.length > 5) {\n setState(state => ({ ...state, appointments: filteredAppointments.slice(0, 5)}));\n } else {\n setState(state => ({ ...state, appointments: filteredAppointments}));\n }\n \n }),\n ];\n\n\n appointmentsService.getPatientAppointmentsById(patientId, null, new Date()).subscribe(\n (previousAppt: PatientAppointmentModel[]) => {\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe(() => {\n if (previousAppt && previousAppt.length > 5) {\n setState(state => ({ ...state, isLoading: false, previousAppointments: previousAppt.slice(0, 5) }));\n } else {\n setState(state => ({ ...state, isLoading: false, previousAppointments: previousAppt }));\n }\n },\n () => {\n setState(state => ({ ...state, isLoading: false }));\n });\n },\n () => {\n setState(state => ({ ...state, isLoading: false }));\n }\n )\n\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [state, handleToggleMenu, handleRescheduleAppointment, handleCancel, handleTabChange];\n}\n","import { Box, Button, Grid, Tab, Tabs } from \"@material-ui/core\";\nimport React, { Fragment } from \"react\";\nimport { UpdateAddressForm } from \"../../../../../common/components/updateAddressForm/UpdateAddressForm\";\nimport { WildHealthButton } from \"../../../../../common/components/wildHealthButton/WildHealthButton\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { useFacade } from \"./addressInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./addressInfoWidgetComponent.style\";\nimport EditIcon from '@material-ui/icons/Edit'\nexport interface AddressInfoWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const AddressInfoWidgetComponent: React.FC<\n AddressInfoWidgetComponentProps\n> = (props: AddressInfoWidgetComponentProps) => {\n const [\n {\n isLoading,\n tabIndex,\n isEdit,\n patient,\n patientDraft,\n errors,\n },\n handleChangeTab,\n handleChanges,\n handleDiscardChanges,\n handleSubmit,\n handleEditModeToggle\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n const renderContent = () => {\n if (isLoading) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n {tabIndex == \"0\" && (\n \n \n \n \n \n \n \n \n \n \n {isEdit && (\n \n \n handleDiscardChanges()}\n >\n Discard\n \n \n \n handleSubmit()}\n >\n Save Changes\n \n \n \n )}\n \n \n )}\n {tabIndex === \"1\" && (\n \n \n \n \n \n \n \n \n \n \n {isEdit && (\n \n \n handleDiscardChanges()}\n >\n Discard\n \n \n \n handleSubmit()}\n >\n Save Changes\n \n \n \n )}\n \n \n )}\n \n \n );\n };\n\n return (\n \n {renderContent()}\n \n );\n};\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 16,\n lineHeight: '22px',\n fontWeight: 500,\n color: colors.black,\n },\n appointmentName: {\n fontWeight: 500,\n color: colors.gray1,\n },\n employeeName: {\n fontWeight: 400,\n lineWeight: 19,\n color: colors.gray1,\n },\n patientBox: {\n display: 'flex',\n flexDirection: 'row',\n justifyContent: 'space-between',\n alignItems: 'center',\n gap: 25,\n },\n patientName: {\n fontSize: 18,\n fontWeight: 500,\n lineWeight: 21,\n color: colors.black,\n },\n avatar: {\n width: 67,\n height: 67\n },\n time: {\n fontSize: 16,\n fontWeight: 400,\n color: colors.black,\n },\n date: {\n fontWeight: 400,\n color: colors.black,\n },\n dateIcon: {\n fill: colors.gray2,\n },\n timeIcon: {\n fill: colors.gray2,\n },\n dateTime: {\n display: 'flex',\n alignItems: 'center',\n },\n divider: {\n background: colors.separators,\n },\n indicator: {\n background: \"none\",\n },\n tabsWrapper: {\n height: 56,\n alignItems: 'center',\n background: \"#F5F6F6\",\n color: \"#7C8A9D\",\n fontFamily: 'Be Vietnam Pro',\n fontStyle: 'normal',\n \"& div.MuiTabs-scroller\": {\n \"& .MuiTabs-flexContainer\": {\n justifyContent: \"space-evenly\"\n }\n }\n },\n tabRoot: {\n width: `50%`,\n textTransform: 'none',\n fontSize: 14,\n fontFamily: 'Be Vietnam Pro'\n },\n selectedTab: {\n display: \"flex\",\n background: \"white\",\n color: \"#1F72A2\",\n boxShadow: '0px 6px 8px rgba(168, 173, 198, 0.12)',\n width: '45%'\n },\n historyLinkText: {\n fontWeight: 500,\n fontSize: 14,\n lineHeight: \"16px\",\n marginRight: 11,\n },\n historyLink: {\n color: colors.main,\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n },\n })\n);\n\n\n","import { Avatar, Box, Divider, IconButton, Popover, Tab, Tabs, Typography, Link } from \"@material-ui/core\";\nimport moment from \"moment\";\nimport React, { Fragment } from \"react\";\nimport { PatientAppointmentModel } from \"../../../../../appointments/models/appointments.models\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthMenuItem } from \"../../../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport { displayShortName } from \"../../../../../conversations/helpers/messages.converter\";\nimport { AppointmentsEnum, useFacade } from \"./appointmentsInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./appointmentsInfoWidgetComponent.styles\";\nimport DateRangeIcon from '@material-ui/icons/DateRange';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz'\nimport AppointmentTags from \"../../../dashboardWidget/appointmentWidgetComponent/AppointmentTags/AppointmentTags\";\nimport WatchLaterRoundedIcon from '@material-ui/icons/WatchLaterRounded';\nimport ArrowForwardIcon from \"@material-ui/icons/ArrowForward\";\nimport { useHistory } from \"react-router\";\nimport { PatientRescheduleAppointmentDialogComponent } from \"../../../../../appointments/components/patientRescheduleAppointmentDialog/PatientRescheduleAppointmentDialogComponent\";\nimport { CancelAppointmentDialogComponent } from \"../../../../../appointments/components/cancelAppointmentDialogComponent/CancelAppointmentDialogComponent\";\nimport { navigationService } from \"../../../../../../services/navigation.service\";\nimport { WildHealthPlaceHolderBase } from \"../../../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase\";\nimport emptyAppointments from \"@img/placeholders/EmptyAppointments.png\";\nimport { WildHealthStatusLabel } from \"../../../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { AppointmentStatus, AppointmentStatusNames } from \"../../../../../appointments/models/appointments.enums\";\n\n\n\nexport interface AppointmentsInfoWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const AppointmentsInfoWidgetComponent: React.FC = (\n props: AppointmentsInfoWidgetComponentProps\n) => {\n\n const [\n {\n isLoading,\n appointments,\n previousAppointments,\n menuAnchorEl,\n patient,\n tabSelected\n },\n handleToggleMenu,\n handleRescheduleAppointment,\n handleCancel,\n handleTabChange,\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n const _history = useHistory();\n\n const getTitleEmployee = (appointment: PatientAppointmentModel): string => {\n return appointment.employees\n .map(e => `${e.firstName} ${e.lastName}`)\n .join(', ');\n }\n\n const getAvatarLetters = (): string => {\n return displayShortName(patient.firstName, patient.lastName)\n }\n\n const getStatus = (appointment: PatientAppointmentModel) => {\n if (tabSelected === AppointmentsEnum.Upcoming) {\n return <>\n }\n if (appointment.noShow) {\n return No Show\n }\n if (appointment.status !== AppointmentStatus.Canceled) {\n return Completed\n } else {\n return {AppointmentStatusNames.get(appointment.status)}\n }\n }\n\n const renderAppointment = (\n appointment: PatientAppointmentModel,\n index: number,\n ) => {\n return [\n \n \n \n {appointment.name}\n {getStatus(appointment)}\n \n \n \n \n {getAvatarLetters()}\n \n \n \n \n \n \n {patient.firstName} {patient.lastName}\n {appointment.tags && }\n \n \n {getTitleEmployee(appointment)}\n \n \n \n \n \n \n \n {moment(appointment.startDate).format('ddd, MMMM DD')}\n \n \n\n \n \n \n \n \n {`${moment(appointment.startDate).format('hh:mm a')} - ${moment(appointment.endDate).format('hh:mm a')}`}\n \n \n \n \n \n {tabSelected === AppointmentsEnum.Upcoming\n && handleToggleMenu(appointment.id, e.currentTarget)}\n >\n \n }\n \n \n \n \n \n ,\n \n ];\n };\n\n const renderAppointments = (selectedTab: number) => {\n\n switch (selectedTab) {\n case AppointmentsEnum.Upcoming:\n {\n if (appointments.length === 0) {\n return \n \n \"img\"\n \n \n }\n const items = appointments\n .map((i, index) =>\n renderAppointment(i, index)).flat();\n items.pop();\n return items;\n }\n case AppointmentsEnum.Previous:\n {\n if (previousAppointments.length === 0) {\n return \n \n \"img\"\n \n \n }\n const items = previousAppointments\n .map((i, index) =>\n renderAppointment(i, index)).flat();\n items.pop();\n return items;\n\n }\n\n }\n\n };\n\n const renderContent = () => {\n if (isLoading) {\n return ;\n }\n\n return <>\n \n \n \n \n \n {renderAppointments(tabSelected)}\n \n handleToggleMenu(0)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n handleCancel()}>Cancel\n handleRescheduleAppointment()}>Reschedule\n \n\n \n };\n\n return (\n \n \n \n Appointments\n \n \n navigationService.toPatientUpcomingAppts(_history, props.patientId)}\n >\n \n See All \n \n \n \n \n \n\n \n {renderContent()}\n \n \n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { getLastObject } from \"../../../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../../common/validation/error-state\";\nimport { PatientModel, UpdatePatientModel } from \"../../../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../../../patients/stores/patientsStore/patients.query\";\nimport { EmployeeShortModel } from \"../../../../models/employee.models\";\nimport { employeeService } from \"../../../../services/employees.service\";\nimport { employeesQuery } from \"../../../../stores/employeesStore/employeesQuery\";\nimport { patientInformationComponentValidator } from \"../../patientInformationComponentValidator/patientInformationComponent.validator\";\n\ninterface GeneralInfoWidgetComponentState extends IErrorState {\n isLoading: boolean;\n isSaveChanges: boolean;\n edit: boolean;\n patient: PatientModel;\n patientDraft: PatientModel;\n employees: EmployeeShortModel[],\n}\n\nconst pageFields = [\n 'firstName',\n 'lastName',\n 'birthday',\n 'gender',\n 'email',\n 'phoneNumber',\n 'assignedEmployeeIds',\n];\n\nexport function useFacade(patientId: number | null): [\n GeneralInfoWidgetComponentState,\n Function,\n () => void,\n () => void,\n () => void,\n (id: number) => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n isSaveChanges: false,\n edit: false,\n patient: {},\n employees: [],\n patientDraft: {},\n errors: {},\n } as GeneralInfoWidgetComponentState);\n\n const handleEditToggle = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n patientDraft: {\n ...state.patient\n }\n }));\n }\n\n const handleReset = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n patientDraft: {\n ...state.patient,\n }\n }));\n\n }\n\n const handleEmployeeSelect = (id: number) => {\n const draftPatient = state.patientDraft;\n\n if (draftPatient.assignedEmployees.map(el => el.id).includes(id)) {\n draftPatient.assignedEmployees = draftPatient.assignedEmployees.filter(x => x.id !== id);\n } else {\n draftPatient.assignedEmployees = [...draftPatient.assignedEmployees, state.employees.find(el => el.id === id)];\n }\n\n setState({\n ...state,\n patientDraft: { ...draftPatient }\n });\n\n patientInformationComponentValidator.validateAndSetState(state, setState, 'assignedEmployeeIds', draftPatient.assignedEmployees.map(el => el.id));\n }\n\n const handleSave = () => {\n validateForm();\n if (!patientInformationComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({ ...state, isSaveChanges: true }));\n\n const model: UpdatePatientModel = {\n id: state.patientDraft.id,\n firstName: state.patientDraft.firstName,\n lastName: state.patientDraft.lastName,\n email: state.patientDraft.email,\n phoneNumber: state.patientDraft.phoneNumber,\n birthday: state.patientDraft.birthday,\n gender: state.patientDraft.gender,\n billingAddress: state.patientDraft.billingAddress,\n shippingAddress: state.patientDraft.shippingAddress,\n employeeIds: state.patientDraft.assignedEmployees.map(el => el.id),\n options: state.patientDraft.options,\n leadSource: state.patientDraft.leadSource?.leadSourceId === 0 ? null : state.patientDraft.leadSource,\n locationId: state.patient.locationId\n };\n\n patientsService.update(model).subscribe(\n () => {\n setState(state => ({ ...state, isSaveChanges: false, edit: !state.edit, }));\n },\n () => {\n setState(state => ({ ...state, isSaveChanges: false }));\n }\n );\n }\n\n /**\n * Validates patient profile form\n */\n const validateForm = () => {\n pageFields.forEach(field => {\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.patientDraft);\n const value = lastObject[key];\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n patientInformationComponentValidator.validateAndSetState(state, setState, field, value);\n\n const patientDraft = state.patientDraft;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, patientDraft);\n lastObject[key] = value;\n\n setState({ ...state, patientDraft: { ...patientDraft } });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n const cb = () => setState(state => ({\n ...state,\n patient: targetPatient,\n patientDraft: targetPatient,\n isLoading: false,\n }));\n\n employeeService.getActiveCoachesAndProviders(targetPatient.locationId).subscribe(cb, cb);\n }\n }),\n onEmit(employeesQuery.couchesAndProviders$, employees => {\n setState(state => ({\n ...state, employees\n }));\n }),\n ];\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n handleEmployeeSelect\n ];\n}\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n size14: {\n fontSize: 14,\n },\n button: {\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n },\n textGray: {\n color: colors.gray1,\n },\n breakWord: {\n wordBreak: 'break-word',\n },\n mobileApp: {\n color: colors.good,\n backgroundColor: `${colors.good}14`,\n margin: '16px -32px',\n padding: '10px 30px'\n },\n noMobileApp: {\n color: colors.gray1,\n backgroundColor: `${colors.gray1}14`,\n margin: '16px -32px',\n padding: '10px 30px'\n },\n avatar: {\n width: 46,\n height: 46,\n },\n space: {\n paddingRight: 8\n }\n })\n);\n\n\n","import { Avatar, Box, Button, CircularProgress, FormControl, FormHelperText, Grid, IconButton, InputLabel, MenuItem, Select, TextField } from \"@material-ui/core\";\nimport moment from \"moment\";\nimport React from \"react\";\nimport { phoneNumberInput } from \"../../../../../common/components/PhoneNumberInput\";\nimport { WildHealthDatePicker } from \"../../../../../common/components/WildHealthDatePicker\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { displayAge, displayDate } from \"../../../../../common/helpers/display-date\";\nimport { Gender } from \"../../../../../common/models/user.models\";\nimport { useFacade } from \"./generalInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./generalInfoWidgetComponent.styles\";\nimport EditIcon from '@material-ui/icons/Edit'\nimport { WildHealthButton } from \"../../../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from \"../../../../../common/styles/common.styles\";\nimport { EmployeeType } from \"../../../../models/employee.enums\";\nimport { EmployeeShortModel } from \"../../../../models/employee.models\";\nimport { fullName } from \"../../../../../common/helpers/display-name\";\nimport { AssignEmployeesComponent } from \"../../../assignEmployeesComponent/AssignEmployeesComponent\";\nimport { SubscriptionModel, SubscriptionStatus } from \"../../../../../payment/models/subscription.models\";\nimport { WildHealthStatusLabel } from \"../../../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { PatientTagModel, TagSentiment } from \"../../../../../patients/models/patient.model\";\n\n\nexport interface GeneralInfoWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const GeneralInfoWidgetComponent: React.FC = (\n props: GeneralInfoWidgetComponentProps\n) => {\n\n const [\n {\n edit,\n isLoading,\n isSaveChanges,\n patient,\n patientDraft,\n errors,\n employees,\n },\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n handleEmployeeSelect,\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n if (isLoading) {\n return ;\n }\n\n const getBirthday = () => {\n return patientDraft.birthday\n ? moment(patientDraft.birthday).format('YYYY-MM-DD')\n : null\n }\n\n const displayRenewalDate = (subscription: SubscriptionModel) => {\n if (subscription && subscription.status === SubscriptionStatus.Active && !subscription.canBeActivated) {\n const oneDay = 24 * 60 * 60 * 1000;\n const nowDate = new Date();\n const subscriptionEnd = new Date(subscription.endDate);\n\n const diffDays = Math.round(Math.abs((subscriptionEnd.getTime() - nowDate.getTime()) / oneDay));\n return <> {` ${diffDays} days until renewal `} \n }\n }\n\n const renderTagColor = (tag: PatientTagModel) => {\n if (tag.name.toLowerCase().includes('due')) {\n return \"bad\";\n }\n switch (tag.sentiment) {\n case TagSentiment.Danger: return \"bad\";\n case TagSentiment.Success: return \"good\";\n case TagSentiment.Warning: return \"average1\";\n case TagSentiment.Normal:\n default: return \"normal\";\n }\n }\n\n const displayAssignedEmployees = (employees: EmployeeShortModel[], assignedEmployeeIds: number[]) => {\n const assignedEmployees = employees.filter((e) => assignedEmployeeIds.includes(e.id));\n if (assignedEmployees.length) {\n return assignedEmployees.map((e) => fullName(e)).join(\", \");\n }\n return 'N/A';\n }\n\n const renderEditContent = () => {\n return <>\n \n
\n \n \n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n {`${displayAge(patient.birthday)} `}\n {displayRenewalDate(patient.subscription)}\n {patient.billingAddress\n && <> {` ${patient.billingAddress?.city}`}}\n \n \n \n {patient.tags.length > 0\n ? \n \n {patient?.tags.map((tag, index) => (\n \n {tag.name}\n \n ))}\n \n \n : <>\n }\n {patient.isMobileAppInstalled\n ? Mobile app: Installed\n : Mobile app: Not Installed\n }\n\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n \n handleChanges(`birthday`, momentDate.format(\"YYYY-MM-DD\")\n )}\n />\n\n \n \n \n Biological Gender\n handleChanges(`gender`, v.target.value)}>\n {Gender[Gender.Male]}\n {Gender[Gender.Female]}\n \n {errors[`gender`]}\n \n \n \n
\n \n \n Assigned Coaches:\n \n \n \n Assigned:\n \n \n {displayAssignedEmployees(employees.filter(c => c.type === EmployeeType.HealthCoach), patient.assignedEmployees.map(el => el.id))}\n \n \n \n el.id)}\n handleEmployeeSelect={handleEmployeeSelect}\n disabled={false}\n employees={employees.filter(c => c.type === EmployeeType.HealthCoach)}\n />\n \n \n \n \n Assigned Providers:\n \n \n \n Assigned:\n \n \n {displayAssignedEmployees(employees.filter(c => c.type === EmployeeType.Provider), patient.assignedEmployees.map(el => el.id))}\n \n \n \n el.id)}\n handleEmployeeSelect={handleEmployeeSelect}\n disabled={false}\n employees={employees.filter(c => c.type === EmployeeType.Provider)}\n />\n \n \n \n \n handleSave()}>\n {isSaveChanges ? : 'Save changes'}\n \n \n \n\n handleReset()}\n >\n Reset\n \n \n \n
\n \n }\n\n const renderContent = () => {\n return (\n \n \n \n \n \n \n {`${patient.firstName} ${patient.lastName}`}\n \n {`${displayAge(patient.birthday)} `}\n {displayRenewalDate(patient.subscription)}\n {patient.billingAddress\n && <> {` ${patient.billingAddress?.city}, ${patient.billingAddress?.state}`}}\n \n \n \n \n \n \n \n\n \n\n {patient.tags.length > 0\n ? \n \n {patient?.tags.map((tag, index) => (\n \n {tag.name}\n \n ))}\n \n \n\n : <>\n }\n {patient.isMobileAppInstalled\n ? Mobile app: Installed\n : Mobile app: Not Installed\n }\n \n \n \n Phone:\n {patient.phoneNumber}\n \n \n Date of birth: \n {displayDate(patient.birthday)} \n \n \n Provider: \n \n {displayAssignedEmployees(employees.filter(c => c.type === EmployeeType.Provider), patient.assignedEmployees.map(el => el.id))}\n \n \n \n\n \n \n Email: \n {patient.email}\n \n \n Gender: \n {Gender[patient.gender]}\n \n \n H.Coach: \n \n {displayAssignedEmployees(employees.filter(c => c.type === EmployeeType.HealthCoach), patient.assignedEmployees.map(el => el.id))}\n \n \n \n\n \n \n );\n\n };\n\n return edit ? renderEditContent() : renderContent();\n};\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 16,\n lineHeight: '22px',\n fontWeight: 500,\n color: colors.black,\n },\n circleGreen:{\n borderRadius:\"50%\",\n width:6,\n height:6,\n backgroundColor:\"#8ABD7C\",\n display:'inline-block',\n position:'relative',\n bottom:3\n },\n circleOrange:{\n borderRadius:\"50%\",\n width:6,\n height:6,\n backgroundColor:\"#FFA125\",\n display:'inline-block',\n position:'relative',\n bottom:3\n },\n circleGray:{\n borderRadius:\"50%\",\n width:6,\n height:6,\n backgroundColor: colors.gray1,\n display:'inline-block',\n position:'relative',\n bottom:3\n },\n cardDivider: {\n backgroundColor: \"#EFF3F8\",\n margin: '10px auto',\n height: 1,\n width:'100%'\n },\n container:{\n width:'100%'\n },\n historyLinkText: {\n fontWeight: 500,\n fontSize: 14,\n lineHeight: \"16px\",\n marginRight: 11,\n },\n historyLink: {\n color: colors.main,\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n },\n })\n);\n\n\n","import { Box, Divider, Grid, Link, Typography } from \"@material-ui/core\";\nimport React, { Fragment } from \"react\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { QuestionnaireStatusType } from \"../../../../../questionnaire/models/questionnaire.models\";\nimport { useFacade } from \"./healthFormsInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./healthFormsInfoWidgetComponent.styles\";\nimport ArrowForwardIcon from \"@material-ui/icons/ArrowForward\";\n\n\nexport interface HealthFormsInfoWidgetComponentProps {\n patientId: number | null;\n}\n\ninterface HealthFormNameAndClass {\n name: string,\n class: string\n}\n\n\nconst shortHealthFormsStatusNames = new Map([\n [QuestionnaireStatusType.Completed, { name: 'Completed', class: '' } as HealthFormNameAndClass],\n [QuestionnaireStatusType.InCompleted, { name: 'In Progress', class: '' } as HealthFormNameAndClass],\n [QuestionnaireStatusType.New, { name: 'Not Started', class: '' } as HealthFormNameAndClass],\n]);\n\nexport const HealthFormsInfoWidgetComponent: React.FC = (\n props: HealthFormsInfoWidgetComponentProps\n) => {\n\n const [\n {\n isLoading,\n healthForms,\n pendingQuestionnaires,\n availableQuestionnaires,\n },\n handleGoToHealthForms\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n shortHealthFormsStatusNames.get(QuestionnaireStatusType.Completed).class = classes.circleGreen;\n shortHealthFormsStatusNames.get(QuestionnaireStatusType.InCompleted).class = classes.circleOrange;\n shortHealthFormsStatusNames.get(QuestionnaireStatusType.New).class = classes.circleGray;\n\n const renderContent = () => {\n if (isLoading) {\n return ;\n }\n\n return (\n \n \n {\n [...healthForms, ...pendingQuestionnaires, ...availableQuestionnaires].map((x, index) => (\n \n \n \n {x.name}\n \n \n \n \n \n {\n \n }\n \n \n {shortHealthFormsStatusNames.get(x.status).name}\n \n \n \n \n \n ))\n }\n \n \n );\n };\n\n return (\n \n \n \n Health Forms\n \n \n handleGoToHealthForms()}\n >\n \n See All \n \n \n \n \n \n \n {renderContent()}\n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"rxjs\";\nimport { navigationService } from \"../../../../../../services/navigation.service\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { HealthFormModel, QuestionnaireResultModel, QuestionnaireShortModel, QuestionnaireStatusType, QuestionnaireType } from \"../../../../../questionnaire/models/questionnaire.models\";\nimport { questionnaireService } from \"../../../../../questionnaire/services/questionnaire.service\";\nimport { questionnaireQuery } from \"../../../../../questionnaire/stores/questionnaireStore\";\n\ninterface HealthFormsInfoWidgetComponentState {\n isLoadingResults: boolean;\n isLoadingAvailable: boolean;\n isLoadingHealthForm: boolean;\n isLoading: boolean;\n healthForms: HealthFormsModel[];\n pendingQuestionnaires: HealthFormsModel[];\n availableQuestionnaires: HealthFormsModel[];\n}\n\ninterface HealthFormsModel {\n name: string,\n status: QuestionnaireStatusType\n}\n\nexport function useFacade(patientId: number | null): [\n HealthFormsInfoWidgetComponentState,\n () => void\n] {\n const [state, setState] = useState({\n isLoadingResults: true,\n isLoadingAvailable: true,\n isLoadingHealthForm: true,\n isLoading: true,\n healthForms: [],\n pendingQuestionnaires: [],\n availableQuestionnaires: [],\n } as HealthFormsInfoWidgetComponentState);\n\n const history = useHistory();\n\n const handleGoToHealthForms = () => {\n navigationService.toPatientHealthForms(history, patientId);\n }\n\n useEffect(() => {\n if (state.isLoadingResults && state.isLoadingAvailable && state.isLoadingHealthForm) {\n setState((state) => ({ ...state, isLoading: false }))\n }\n\n }, [state.isLoadingResults, state.isLoadingAvailable, state.isLoadingHealthForm]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(questionnaireQuery.questionnaireResults$, results => {\n setState(state => ({\n ...state,\n pendingQuestionnaires: results.filter(q => q.questionnaire.type !== QuestionnaireType.HealthForms).map((x) => {\n return {\n name: x.sequenceNumber ? x.questionnaire.name + ' ' + x.sequenceNumber : x.questionnaire.name,\n status: x.submittedAt ? QuestionnaireStatusType.Completed : QuestionnaireStatusType.InCompleted\n } as HealthFormsModel\n }),\n }));\n }),\n onEmit(questionnaireQuery.availableQuestionnaires$, available => {\n setState(state => ({\n ...state,\n availableQuestionnaires: available.filter(x => x.type !== QuestionnaireType.HealthForms).map((x) => {\n return {\n name: x.name,\n status: QuestionnaireStatusType.New\n } as HealthFormsModel\n }),\n }));\n }),\n onEmit(questionnaireQuery.healthForms$, healthForms => {\n setState(state => ({\n ...state,\n healthForms: healthForms.map((x) => {\n return {\n name: x.name,\n status: x.questionnaireStatusType\n } as HealthFormsModel\n }),\n }));\n }),\n ];\n\n const cbR = () => setState((state) => ({ ...state, isLoadingResults: false }));\n const cbA = () => setState((state) => ({ ...state, isLoadingAvailable: false }));\n const cbH = () => setState((state) => ({ ...state, isLoadingHealthForm: false }));\n\n\n questionnaireService.getHealthFormsByPatientId(patientId).subscribe(cbH, cbH);\n questionnaireService.getResults(patientId).subscribe(cbR, cbR);\n questionnaireService.getAvailable(patientId).subscribe(cbA, cbA);\n\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleGoToHealthForms\n ];\n}\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 16,\n lineHeight: '22px',\n fontWeight: 500,\n color: colors.black,\n },\n textGray: {\n color: colors.gray1,\n },\n recordingConsentSection: {\n borderRadius: 4,\n backgroundColor: colors.lightGray,\n height: 70,\n display: 'flex',\n alignItems: 'center',\n padding: 15,\n marginTop: 15\n },\n recordingConsentIcon: {\n color: colors.gray500,\n marginRight: 15,\n marginLeft: 15\n },\n recordingConsentText: {\n color: colors.gray500,\n fontSize: 14,\n fontWeight: 500,\n paddingLeft: 15,\n paddingRight: 15\n }\n }),\n \n);\n\n\n","import React from \"react\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {Box, FormControlLabel} from \"@material-ui/core\";\nimport {useFacade} from \"./smsReminderToggleComponent.hooks\";\nimport {WildHealthSwitcher} from \"../../../common/components/WIldHealthSwitcher\";\n\ninterface SmsReminderToggleComponentProps {\n patient: PatientModel;\n}\n\nexport const SmsReminderToggleComponent: React.FC = (props: SmsReminderToggleComponentProps) => {\n const {\n patient\n } = props;\n\n const [\n state,\n handleToggle\n ] = useFacade(patient);\n return (\n <>\n \n \n \n SMS Reminders:\n \n\n \n \n \n Off\n \n \n \n handleToggle(!state.isActive)} />}\n label=\"\"\n />\n \n \n \n On\n \n \n \n \n \n \n )\n}","import {useState} from \"react\";\nimport {PatientModel} from \"../../../patients/models/patient.model\";\nimport {conversationsService} from \"../../services/conversations.service\";\n\ninterface SmsReminderToggleComponentState {\n isActive: boolean;\n}\n\nexport function useFacade(patient: PatientModel): [\n SmsReminderToggleComponentState,\n (isActive: boolean) => void\n] {\n const [state, setState] = useState({\n isActive: patient?.settings?.find(x => x.key === \"UnreadMessagesSmsReminder\")?.value === \"True\"\n } as SmsReminderToggleComponentState);\n\n const handleToggle = (isActive: boolean) => {\n conversationsService.togglePatientSmsReminders(patient.id, isActive)\n .subscribe(() => {\n setState(state => ({\n ...state,\n isActive: isActive\n }))\n });\n }\n\n return [\n state,\n handleToggle\n ]\n}","import { Box, FormControl, FormControlLabel, Select} from \"@material-ui/core\";\nimport React from \"react\";\nimport { Practice } from \"../../../../../auth/models/auth.enums\";\nimport { OptionalComponent } from \"../../../../../common/components/OptionalComponent\";\nimport { PaymentPlanDisplayComponent } from \"../../../../../common/components/paymentPlanDisplayComponent/PaymentPlanDisplayComponent\";\nimport { WildHealthButton } from \"../../../../../common/components/wildHealthButton/WildHealthButton\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthSwitcher } from \"../../../../../common/components/WIldHealthSwitcher\";\nimport { TransferPatientToLocationComponent } from \"../../../../../locations/components/transferPatientToLocationComponent/TransferPatientToLocationComponent\";\nimport { useFacade } from \"./membershipInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./membershipInfoWidgetComponent.styles\";\nimport {\n SmsReminderToggleComponent\n} from \"../../../../../conversations/components/smsReminderToggleComponent/SmsReminderToggleComponent\";\nimport VideoCamOffIcon from '@material-ui/icons/VideocamOffOutlined';\nimport Typography from '@material-ui/core/Typography';\n\nexport interface MembershipInfoWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const MembershipInfoWidgetComponent: React.FC = (\n props: MembershipInfoWidgetComponentProps\n) => {\n\n const [\n {\n isLoading,\n patient,\n isChanged\n },\n handleIsFellowChange,\n handleSubmit\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n const renderContent = () => {\n if (isLoading) {\n return ;\n }\n\n return (\n \n \n \n \n \n \n \n \n \n \n Lead source:\n \n {\n patient?.leadSource?.otherLeadSource ?? '-'\n } \n \n \n \n \n \n \n \n Fellowship Patient:\n \n\n \n \n \n Off\n \n \n \n handleIsFellowChange(!patient?.options?.isFellow)} />}\n label=\"\"\n />\n \n \n \n On\n \n \n {\n isChanged &&\n \n handleSubmit()}>Save\n \n }\n \n \n \n \n \n \n \n \n {\n !(patient.userOptions?.meetingRecordingConsent ?? false) &&\n \n \n \n Appointment recording has been disabled by the patient\n \n \n }\n \n );\n }\n\n return (\n \n \n Membership Info\n \n \n {renderContent()}\n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { handleCompare } from \"../../../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../../../common/sorting/models/sorting-destination\";\nimport { LeadSourceModel } from \"../../../../../leadSources/models/leadSource.models\";\nimport { leadSourcesService } from \"../../../../../leadSources/services/leadSources.service\";\nimport { leadSourcesQuery } from \"../../../../../leadSources/stores/leadSources.query\";\nimport { PatientModel, UpdatePatientModel } from \"../../../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../../../patients/services/patients.service\";\nimport { patientsQuery } from \"../../../../../patients/stores/patientsStore/patients.query\";\n\ninterface MembershipInfoWidgetComponentState {\n isLoading: boolean;\n patient: PatientModel;\n isChanged: boolean;\n}\n\nexport function useFacade(patientId: number | null): [\n MembershipInfoWidgetComponentState,\n (isFellow:boolean) => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n isChanged: false\n} as MembershipInfoWidgetComponentState);\n\n const handleIsFellowChange = (isFellow:boolean) => {\n setState(state => ({\n ...state,\n isChanged:!state.isChanged,\n patient :{\n ...state.patient,\n options:{\n isFellow: isFellow\n } \n }\n }));\n }\n\n const handleSubmit = () => {\n setState(state => ({ ...state, isLoading: true }));\n\n const model: UpdatePatientModel = {\n id: state.patient.id,\n firstName: state.patient.firstName,\n lastName: state.patient.lastName,\n email: state.patient.email,\n phoneNumber: state.patient.phoneNumber,\n birthday: state.patient.birthday,\n gender: state.patient.gender,\n billingAddress: state.patient.billingAddress,\n shippingAddress: state.patient.shippingAddress,\n employeeIds: state.patient.assignedEmployees.map(el => el.id),\n options: state.patient.options,\n leadSource: state.patient.leadSource?.leadSourceId === 0 ? null : state.patient.leadSource,\n locationId: state.patient.locationId\n };\n\n patientsService.update(model).subscribe(\n () => setState(state => ({\n ...state,\n isChanged:false,\n isLoading:false\n })),\n () => setState(state => ({\n ...state,\n isChanged:false,\n isLoading:false\n }))\n );\n}\n\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n isLoading: false,\n patient: targetPatient\n }));\n }\n }),\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources:leadSources.sort((l1, l2,) => handleCompare(l1, l2, SortingDirection.Desc, 'isOther')),\n isLoading:false\n \n }))\n }),\n ];\n\n leadSourcesService.getEmployeeActive();\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleIsFellowChange,\n handleSubmit\n ];\n}\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 16,\n lineHeight: '22px',\n fontWeight: 500,\n color: colors.black,\n },\n cardDivider: {\n backgroundColor: \"#EFF3F8\",\n margin: '10px auto',\n height: 1,\n width: '100%'\n },\n historyLinkText: {\n fontWeight: 500,\n fontSize: 14,\n lineHeight: \"16px\",\n marginRight: 11,\n },\n historyLink: {\n color: colors.main,\n display: \"flex\",\n alignItems: \"center\",\n flexWrap: \"wrap\",\n },\n avatarPreparing: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.gray1,\n borderRadius: '50%',\n },\n avatarGood: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.good,\n borderRadius: '50%',\n },\n avatarOrange: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.average1,\n borderRadius: '50%',\n },\n avatarDanger: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.bad,\n borderRadius: '50%',\n },\n avatarNA: {\n minWidth: 6,\n width: 6,\n height: 6,\n borderRadius: '50%',\n border: `1px solid ${colors.mediumGray}`,\n },\n })\n);\n\n\n","import { Box, Divider, Grid, Link, Typography } from \"@material-ui/core\";\nimport React, { Fragment } from \"react\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { useFacade } from \"./ordersInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./ordersInfoWidgetComponent.styles\";\nimport ArrowForwardIcon from \"@material-ui/icons/ArrowForward\";\nimport { CommonPlaceHolder } from \"../../../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder\";\n\n\nexport interface OrdersInfoWidgetComponentProps {\n patientId: number | null;\n}\ninterface OrderNameAndClass {\n name: string,\n class: string\n}\n\nexport const OrdersInfoWidgetComponent: React.FC = (\n props: OrdersInfoWidgetComponentProps\n) => {\n\n const [\n {\n isLoading\n },\n orders,\n handleGoToOrders\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n const getStatusColor = (status) => {\n switch (status) {\n case 'N/A':\n return classes.avatarNA;\n case 'Preparing':\n case 'Placed':\n case 'Ordered':\n case 'Shipping':\n return classes.avatarPreparing;\n case 'In Progress':\n case 'Pending':\n case 'Claim Processing':\n case 'Claim Pending Patient Payment':\n return classes.avatarOrange;\n case 'Failed':\n case 'Resulted or Failed':\n case 'Canceled':\n return classes.avatarDanger;\n default: return classes.avatarGood;\n }\n }\n\n const renderContent = () => {\n if (isLoading) {\n return ;\n }\n\n if (!orders.length) {\n return \n \n \n }\n \n return (\n \n \n {\n orders.map((x, index) => (\n \n \n \n {x.name}\n \n \n \n \n \n \n \n \n {x.status}\n \n \n \n \n \n ))\n }\n\n \n \n );\n };\n\n return (\n \n \n \n Orders\n \n \n handleGoToOrders()}\n >\n \n See All \n \n \n \n \n \n \n {renderContent()}\n \n \n );\n};\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"rxjs\";\nimport { navigationService } from \"../../../../../../services/navigation.service\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { DnaOrderModel } from \"../../../../../orders/models/dnaOrders.models\";\nimport { EpigeneticOrderModel } from \"../../../../../orders/models/epigeneticOrders.models\";\nimport { LabOrderModel } from \"../../../../../orders/models/labOrders.models\";\nimport { orderStatusNames } from \"../../../../../orders/models/orders.models\";\nimport { dnaOrdersService } from \"../../../../../orders/services/dnaOrdersService\";\nimport { epigeneticOrdersService } from \"../../../../../orders/services/epigeneticOrders.service\";\nimport { labOrdersService } from \"../../../../../orders/services/labOrders.service\";\nimport { dnaOrdersQuery } from \"../../../../../orders/stores/dnaOrdersStore\";\nimport { epigeneticOrdersQuery } from \"../../../../../orders/stores/epigeneticOrdersStore\";\nimport { labOrdersQuery } from \"../../../../../orders/stores/labOrdersStore\";\nimport { paymentStatusNames } from \"../../../../../payment/models/payment.models\";\nimport { ProductSubType } from \"../../../../../products/enums/productSubType\";\nimport { ProductType } from \"../../../../../products/enums/productType\";\nimport { PatientProductModel } from \"../../../../../products/models/patientProducts.model\";\nimport { patientProductsService } from \"../../../../../products/services/patientProducts.service\";\nimport { productsQuery } from \"../../../../../products/stores/productsStore\";\n\ninterface OrdersInfoWidgetComponentState {\n isLoading: boolean;\n isLoadingEpi: boolean;\n isLoadingDna: boolean;\n isLoadingLab: boolean;\n isLoadingApp: boolean;\n labOrders: OrderModel[];\n epigeneticOrders: OrderModel[];\n dnaOrders: OrderModel[];\n appointmentOrders: OrderModel[];\n}\n\ninterface OrderModel {\n date: Date,\n name: string,\n status: string\n}\n\nexport function useFacade(patientId: number | null): [\n OrdersInfoWidgetComponentState,\n OrderModel[],\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n isLoadingApp: true,\n isLoadingDna: true,\n isLoadingEpi: true,\n isLoadingLab: true,\n dnaOrders: [],\n appointmentOrders: [],\n epigeneticOrders: [],\n labOrders: []\n } as OrdersInfoWidgetComponentState);\n const history = useHistory();\n\n const handleGoToOrders = () => {\n navigationService.toPatientOrders(history, patientId);\n }\n\n useEffect(() => {\n if (!state.isLoadingApp && !state.isLoadingDna && !state.isLoadingEpi && !state.isLoadingLab) {\n setState((state) => ({ ...state, isLoading: false }));\n }\n }, [state.isLoadingApp, state.isLoadingDna, state.isLoadingEpi, state.isLoadingLab]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(labOrdersQuery.orders$, orders => {\n setState(state => ({\n ...state,\n labOrders: orders.map(i => {\n return {\n date: new Date(i.orderedAt),\n name: \"Labwork\",\n status: orderStatusNames.get(i.status)\n } as OrderModel\n })\n }));\n }),\n onEmit(dnaOrdersQuery.orders$, orders => {\n setState(state => ({\n ...state,\n dnaOrders: orders.map(i => {\n return {\n date: new Date(i.orderedAt),\n name: \"DNA\",\n status: orderStatusNames.get(i.status)\n } as OrderModel\n })\n }));\n }),\n onEmit(epigeneticOrdersQuery.orders$, orders => {\n setState(state => ({\n ...state,\n epigeneticOrders: orders.map(i => {\n return {\n date: new Date(i.orderedAt),\n name: \"Epigenetic\",\n status: orderStatusNames.get(i.status)\n } as OrderModel\n })\n }));\n }),\n onEmit(productsQuery.patientProducts$, products => {\n if (products) {\n const additionalProducts = products.filter(el => el.productSubType === ProductSubType.Additional && el.productType === ProductType.PhysicianVisit)\n setState(state => ({ ...state, appointmentOrders: additionalProducts.map(i => {\n return {\n date: new Date(i.createdAt),\n name: \"Additional Provider Visit\",\n status: paymentStatusNames[i.paymentStatus]\n } as OrderModel\n }) }));\n }\n }),\n ];\n\n const cbEpi = () => setState((state) => ({ ...state, isLoadingEpi: false }));\n const cbDna = () => setState((state) => ({ ...state, isLoadingDna: false }));\n const cbLab = () => setState((state) => ({ ...state, isLoadingLab: false }));\n const cbApp = () => setState((state) => ({ ...state, isLoadingApp: false }));\n\n\n epigeneticOrdersService.get(patientId).subscribe(cbEpi, cbEpi);\n labOrdersService.get(patientId).subscribe(cbLab, cbLab);\n patientProductsService.getPatientProducts(patientId).subscribe(cbApp, cbApp);\n dnaOrdersService.get(patientId).subscribe(cbDna, cbDna);\n\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n [...state.appointmentOrders, ...state.epigeneticOrders, ...state.dnaOrders, ...state.labOrders].sort((x, y) => (new Date(y.date)).getTime() - (new Date(x.date)).getTime()),\n handleGoToOrders\n ];\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { profileService } from \"../../../../../account/services/profile.service\";\nimport { profileQuery } from \"../../../../../account/stores/profileStore\";\nimport { getLastObject } from \"../../../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../../common/validation/error-state\";\nimport { PatientPharmacyInfoModel, getInitPharmacyInfo } from \"../../../../../patients/models/patient.model\";\nimport { patientPharmacyInfomationValidator } from \"../../patientInformationComponentValidator/patientPharmacyInformation.validator\";\n\ninterface PharmacyInfoWidgetState extends IErrorState {\n isLoading: boolean;\n isSaveChanges: boolean;\n edit: boolean;\n pharmacyInfo: PatientPharmacyInfoModel;\n pharmacyInfoDraft: PatientPharmacyInfoModel;\n}\n\nconst pageFields = [\n 'streetAddress ',\n 'name',\n 'phone',\n 'country',\n 'city',\n 'state',\n 'zipCode'\n];\n\nexport function useFacade(patientId: number | null): [\n PharmacyInfoWidgetState,\n Function,\n () => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n isSaveChanges: false,\n edit: false,\n pharmacyInfo: {},\n pharmacyInfoDraft: {},\n errors: {},\n } as PharmacyInfoWidgetState);\n\n const handleEditToggle = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n pharmacyInfoDraft: {\n ...state.pharmacyInfo\n }\n }));\n }\n\n const handleReset = () => {\n setState(state => ({\n ...state,\n edit: !state.edit,\n pharmacyInfoDraft: {\n ...state.pharmacyInfo,\n }\n }));\n\n }\n\n const handleSave = () => {\n validateForm();\n if (!patientPharmacyInfomationValidator.stateIsValid(state)) {\n return;\n }\n\n setState(state => ({ ...state, isSaveChanges: true }));\n\n const model: PatientPharmacyInfoModel = {\n phone: state.pharmacyInfoDraft.phone,\n name: state.pharmacyInfoDraft.name,\n streetAddress: state.pharmacyInfoDraft.streetAddress,\n city: state.pharmacyInfoDraft.city,\n state: state.pharmacyInfoDraft.state,\n zipCode: state.pharmacyInfoDraft.zipCode,\n country: state.pharmacyInfoDraft.country\n };\n\n profileService.updatePatientPharmacyInfo(patientId, model).subscribe(\n () => {\n setState(state => ({ ...state, isSaveChanges: false, edit: !state.edit, }));\n },\n () => {\n setState(state => ({ ...state, isSaveChanges: false }));\n }\n );\n }\n\n /**\n * Validates patient profile form\n */\n const validateForm = () => {\n pageFields.forEach(field => {\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.pharmacyInfoDraft);\n const value = lastObject[key];\n patientPharmacyInfomationValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n patientPharmacyInfomationValidator.validateAndSetState(state, setState, field, value);\n\n const pharmacyInfoDraft = state.pharmacyInfoDraft;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, pharmacyInfoDraft);\n lastObject[key] = value;\n\n setState({ ...state, pharmacyInfoDraft: { ...pharmacyInfoDraft } });\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(profileQuery.pharmacyInfo$, pharmacyInfo =>\n setState(state => ({ ...state, pharmacyInfo: pharmacyInfo ?? getInitPharmacyInfo() }))\n ),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n profileService.getPatientPharmacyInfo(patientId).subscribe(cb, cb)\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n\n useEffect(useEffectCB, [patientId]);\n\n return [\n state,\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n ];\n}\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n title: {\n fontSize: 16,\n lineHeight: '22px',\n fontWeight: 500,\n color: colors.black,\n },\n size14: {\n fontSize: 14,\n },\n button: {\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n },\n textGray: {\n color: colors.gray1,\n width: 70,\n minWidth: 70,\n },\n breakWord: {\n wordBreak: 'break-word',\n },\n mobileApp: {\n color: colors.good,\n backgroundColor: `${colors.good}14`,\n margin: '16px -30px',\n padding: '10px 30px'\n },\n })\n);\n\n\n","import { Box, Button, CircularProgress, TextField } from \"@material-ui/core\";\nimport React from \"react\";\nimport { phoneNumberInput } from \"../../../../../common/components/PhoneNumberInput\";\nimport WildHealthLinearProgress from \"../../../../../common/components/WildHealthLinearProgress\";\nimport { useFacade } from \"./pharmacyInfoWidgetComponent.hooks\";\nimport { useStyles } from \"./pharmacyInfoWidgetComponent.styles\";\nimport EditIcon from '@material-ui/icons/Edit'\nimport { WildHealthButton } from \"../../../../../common/components/wildHealthButton/WildHealthButton\";\n\n\n\nexport interface PharmacyInfoWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const PharmacyInfoWidgetComponent: React.FC = (\n props: PharmacyInfoWidgetComponentProps\n) => {\n\n const [\n {\n edit,\n isLoading,\n isSaveChanges,\n pharmacyInfo,\n pharmacyInfoDraft,\n errors,\n },\n handleChanges,\n handleEditToggle,\n handleReset,\n handleSave,\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n if (isLoading) {\n return ;\n }\n\n const renderEditContent = () => {\n return <>\n \n
\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n
\n \n \n handleSave()}>\n {isSaveChanges ? : 'Save changes'}\n \n \n \n\n handleReset()}\n >\n Reset\n \n \n \n
\n \n }\n\n const renderContent = () => {\n return (\n \n \n Address: \n \n {pharmacyInfo.streetAddress ? pharmacyInfo.streetAddress : '-'}\n \n \n \n \n Name: \n \n {pharmacyInfo.name ? pharmacyInfo.name : '-'}\n \n \n\n \n Phone:\n {pharmacyInfo.phone ? pharmacyInfo.phone : '-'}\n \n\n \n \n \n City: \n {pharmacyInfo.city ? pharmacyInfo.city : '-'}\n \n\n \n State:\n {pharmacyInfo.state ? pharmacyInfo.state : '-'}\n \n\n \n \n \n Zip Code: \n {pharmacyInfo.zipCode ? pharmacyInfo.zipCode : '-'}\n \n\n \n Country:\n {pharmacyInfo.country ? pharmacyInfo.country : '-'}\n \n\n \n \n );\n\n };\n\n return (\n \n \n \n \n Pharmacy Info\n \n \n {!edit && { handleEditToggle() }}\n >\n \n Edit\n }\n \n\n \n \n\n \n {edit ? renderEditContent() : renderContent()}\n \n \n )\n};\n\n","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() => ({\n widget: {\n border: `1px solid ${colors.stroke}`,\n boxShadow: '0px 4px 10px rgba(168, 173, 198, 0.12)',\n borderRadius: '2px',\n marginBottom: 24,\n },\n switcherReverse: {\n transform: 'rotate(180deg)',\n },\n subtitle: {\n fontWeight: 500,\n },\n active: {\n color: colors.main,\n fontWeight: 500,\n }\n}));\n","import moment from \"moment\";\nimport pdfMake from 'pdfmake/build/pdfmake';\nimport {Margins, PageSize} from 'pdfmake/interfaces';\nimport {logoService} from \"../../../services/logo.service\";\nimport {authQuery} from \"../../auth/stores/auth\";\nimport {pinyonFont} from \"../../../styles/Pinyon-Script\";\nimport { PatientModel, PatientPharmacyInfoModel } from \"../../patients/models/patient.model\";\nimport { Gender } from \"../../common/models/user.models\";\nimport { CoverageModel } from \"../../insurance/models/insurance.models\";\n\nconst pdfMakeX = require('pdfmake/build/pdfmake.js');\nconst pdfFontsX = require('pdfmake-unicode/dist/pdfmake-unicode.js');\n\npdfMakeX.vfs = pdfFontsX.pdfMake.vfs;\nwindow.pdfMake.vfs[\"Pinyon-Script.ttf\"] = pinyonFont;\n\npdfMake.fonts = {\n Roboto: {\n normal: 'Roboto-Regular.ttf',\n bold: 'Roboto-Medium.ttf',\n italics: 'Roboto-Italic.ttf',\n bolditalics: 'Roboto-Italic.ttf'\n },\n PinyonScript: {\n normal: 'Pinyon-Script.ttf',\n bold: 'Pinyon-Script.ttf',\n italics: 'Pinyon-Script.ttf',\n bolditalics: 'Pinyon-Script.ttf'\n }\n}\n\nexport abstract class PdfService {\n protected pdfDocument = {\n pageSize: \"LETTER\" as PageSize,\n pageMargins: [60, 40, 60, 50] as Margins,\n header: null,\n footer: function (currentPage, pageCount) {\n if (currentPage === pageCount) {\n const result = {\n table: {\n widths: ['*'],\n body: []\n },\n layout: 'noBorders'\n }\n\n if (authQuery.isDefaultPractice()) {\n result.table.body.push([\n {\n text: 'p: 800.975.1562 | e: info@wildhealth.com | a: 535 Wellington Way # 330 Lexington KY 40503',\n alignment: 'center',\n style: 'footerText',\n }\n\n ]);\n }\n\n result.table.body.push([{\n text: [\n {\n text: 'Privacy Policy',\n style: 'footerText',\n link: 'https://www.wildhealth.com/privacy-policy'\n },\n {\n text: ' | ',\n style: 'footerText'\n },\n {\n text: 'Terms of Use',\n style: 'footerText',\n link: 'https://www.wildhealth.com/terms-of-use'\n },\n {\n text: ' | ',\n style: 'footerText'\n },\n {\n text: 'Copyright ' + new Date().getFullYear(),\n style: 'footerText'\n },\n\n ],\n alignment: 'center',\n style: 'footerText'\n }]);\n\n return result;\n }\n },\n content: [],\n styles: {\n invoiceTitle: {\n fontFamily: 'Roboto',\n fontWeight: 'bold',\n fontSize: 24,\n },\n invoiceSubTitle: {\n fontFamily: 'Open Sans',\n fontWeight: 600,\n fontSize: 18,\n },\n companyTitle: {\n color: '#7C8A9D',\n fontFamily: 'Roboto',\n fontWeight: 400,\n fontSize: 14,\n },\n companySubTitle: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 16,\n },\n tableHeader: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 14,\n color: '#AFBACA',\n },\n tableValue: {\n fontFamily: 'Roboto',\n fontWeight: 500,\n fontSize: 14,\n color: '##091D36',\n },\n total: {\n fontFamily: 'Open Sans',\n fontWeight: 600,\n fontSize: 24,\n padding: '10px 0px',\n },\n signedByText: {\n font: 'PinyonScript',\n fontWeight: 'normal',\n fontSize: 24,\n },\n },\n }\n\n constructor() {\n const self = this;\n var image = new Image();\n image.src = logoService.getLogo().clarityHeader;\n image.onload = function () {\n var canvas, ctx, dataURL, base64;\n canvas = document.createElement(\"canvas\");\n ctx = canvas.getContext(\"2d\");\n canvas.width = image.width;\n canvas.height = image.height;\n ctx.drawImage(image, 0, 0);\n dataURL = canvas.toDataURL(\"image/png\");\n base64 = dataURL.replace(/^data:image\\/png;base64,/, \"\");\n\n self.pdfDocument.header = function (currentPage) {\n if (currentPage === 1)\n return [\n {\n image: `data:image/jpeg;base64,${base64}`,\n fit: [615, 100],\n }\n ]\n }\n };\n }\n\n protected clear() {\n this.pdfDocument.content = [];\n }\n}\n\n\nexport class DemographicPdfService extends PdfService {\n\n public download(patientInfo: PatientModel, pharmacyInfo: PatientPharmacyInfoModel, isPayByCash: boolean, coverage: CoverageModel) {\n this.buildPdfContent(patientInfo, pharmacyInfo, isPayByCash, coverage)\n pdfMake.createPdf(this.pdfDocument).download(`Demographic-Sheet-${patientInfo.id}`);\n }\n\n private buildPdfContent(patientInfo: PatientModel, pharmacyInfo: PatientPharmacyInfoModel, isPayByCash: boolean, coverage: CoverageModel) {\n this.clear();\n\n const body = [\n [\n [\n {\n margin: [0, 70, 0, 0],\n text: 'Demographic Sheet',\n style: 'invoiceTitle',\n },\n\n {\n table: {\n widths: ['*', '*'],\n body: [\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Patient Full Name:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: `${patientInfo.firstName} ${patientInfo.lastName}`,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Date of Birth:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: moment(patientInfo.birthday).format('L'),\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Biological Gender:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: Gender[patientInfo.gender],\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Shipping Address:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: `${patientInfo.shippingAddress.streetAddress1}, ${patientInfo.shippingAddress.city}, ${patientInfo.shippingAddress.state}`,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Phone Number:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: patientInfo.phoneNumber,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Email:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: patientInfo.email,\n style: 'companySubTitle',\n },\n ]\n ],\n ],\n },\n layout: 'noBorders'\n },\n ]\n ],\n ];\n\n if (isPayByCash) {\n body[0][0][1].table.body.push(\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Insurance:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Cash Pay Only',\n style: 'companySubTitle',\n },\n ]\n ]\n )\n } else {\n body[0][0][1].table.body.push(\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Insurance Name:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: coverage?.insurance?.name ?? '',\n style: 'companySubTitle',\n },\n ],\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Policy Holder Name:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: `${coverage?.policyHolder?.firstName ?? ''} ${coverage?.policyHolder?.lastName ?? ''}`,\n style: 'companySubTitle',\n },\n ],\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Policy Number:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: coverage?.memberId ?? '',\n style: 'companySubTitle',\n },\n ]\n ]\n )\n }\n\n body[0][0].push(\n {\n margin: [0, 20, 0, 0],\n text: 'Pharmacy Info',\n style: 'invoiceSubTitle',\n },\n\n {\n table: {\n widths: ['*', '*'],\n body: [\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Address:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: pharmacyInfo.streetAddress,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'City:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: pharmacyInfo.city,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Zip Code:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: pharmacyInfo.zipCode,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'State:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: pharmacyInfo.state,\n style: 'companySubTitle',\n },\n ]\n ],\n [\n [\n {\n margin: [0, 10, 0, 0],\n text: 'Country:',\n style: 'companyTitle',\n }\n ],\n [\n {\n margin: [0, 10, 0, 0],\n text: pharmacyInfo.country,\n style: 'companySubTitle',\n },\n ]\n ]\n ],\n },\n layout: 'noBorders'\n },\n )\n\n this.pdfDocument.content.push({\n table: {\n margin: [0, 30, 0, 0],\n widths: ['*', '150'],\n body: body,\n },\n layout: 'noBorders'\n });\n }\n}\n\n\nexport const demographicPdfService = new DemographicPdfService();","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../../../common/helpers/on-emit\";\nimport { OrderStatus } from \"../../../../../orders/models/orders.models\";\nimport { referralOrdersService } from \"../../../../../orders/services/referralOrders.service\";\nimport { otherOrdersService } from \"../../../../../orders/services/otherOrders.service\";\nimport { OtherOrderModel } from \"../../../../../orders/models/otherOrders.models\";\nimport { ordersQuery } from \"../../../../../orders/stores/ordersStore/orders.query\";\nimport { ReferralOrderModel } from \"../../../../../orders/models/referralOrders.models\";\nimport { referralOrderPdfService, otherOrderPdfService } from \"../../../../../orders/services/orders-pdf.service\";\nimport { notesService } from \"../../../../../notes/services/notes.service\";\nimport { NoteModel, NotesType, downloadNoteOptions } from \"../../../../../notes/models/notes.models\";\nimport { notesQuery } from \"../../../../../notes/stores/notes\";\nimport { confirmService } from \"../../../../../../services/confirm.service\";\nimport { UserType } from \"../../../../../auth/models/auth.enums\";\nimport { handleDownloadNoteByEmployeePdfBd, GetMaximumVersionOfNote } from \"../../../../../notes/helpers/noteHelpers\";\nimport { getInitPharmacyInfo, PatientPharmacyInfoModel, PatientModel } from \"../../../../../patients/models/patient.model\";\nimport { profileQuery } from \"../../../../../account/stores/profileStore\";\nimport { patientsQuery } from \"../../../../../patients/stores/patientsStore\";\nimport { demographicPdfService } from \"../../../../services/demographic-pdf.service\";\nimport { CoverageModel, InsuranceModel } from \"../../../../../insurance/models/insurance.models\";\nimport { insuranceService } from \"../../../../../insurance/services/insurance.service\";\nimport { insuranceQuery } from \"../../../../../insurance/stores/insurance.query\";\nimport { CoverageStatus } from \"../../../../../insurance/enums/coverageStatus\";\nimport { subscriptionService } from \"../../../../../payment/services/subscription.service\";\nimport { SubscriptionModel, SubscriptionType, SubscriptionStatus } from \"../../../../../payment/models/subscription.models\";\nimport { subscriptionQuery } from \"../../../../../payment/stores/subscriptionStore\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\ninterface DemographicExportWidgetComponentState {\n isLoading: boolean;\n isDownloading: boolean;\n isLoadingReferral: boolean;\n isLoadingDiagnostic: boolean;\n isLoadingNotes: boolean;\n isLoadingInsurance: boolean;\n isLoadingSubscription: boolean;\n isPayByCash: boolean;\n isActionsOpen: boolean;\n isSelectedDemographic: boolean;\n isSelectedDiagnostic: boolean;\n isSelectedReferral: boolean;\n isSelectedNote: boolean;\n referralOrders: ReferralOrderModel[];\n selectReferral: ReferralOrderModel;\n diagnosticOrders: OtherOrderModel[];\n selectDiagnostic: OtherOrderModel;\n notes: NoteModel[];\n selectNote: NoteModel;\n patient: PatientModel;\n pharmacyInfo: PatientPharmacyInfoModel;\n coverages: CoverageModel[];\n insurances: InsuranceModel[];\n}\n\nexport function useFacade(patientId: number | null): [\n DemographicExportWidgetComponentState,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (id: any) => void,\n (id: any) => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n isDownloading: false,\n isLoadingReferral: true,\n isLoadingDiagnostic: true,\n isLoadingNotes: true,\n isLoadingInsurance: true,\n isLoadingSubscription: true,\n isPayByCash: true,\n isActionsOpen: false,\n isSelectedDemographic: false,\n isSelectedDiagnostic: false,\n isSelectedReferral: false,\n isSelectedNote: false,\n referralOrders: [],\n selectReferral: null,\n diagnosticOrders: [],\n selectDiagnostic: null,\n notes: [],\n selectNote: null,\n patient: {},\n pharmacyInfo: {},\n coverages: [],\n insurances: []\n } as DemographicExportWidgetComponentState);\n\n const flags = useFlags();\n\n const handleReset = () => {\n setState((state) => ({\n ...state,\n isSelectedDemographic: false,\n isSelectedDiagnostic: false,\n isSelectedReferral: false,\n isSelectedNote: false,\n selectDiagnostic: null,\n selectReferral: null,\n selectNote: null\n }));\n }\n\n const handleToggleActions = () => {\n handleReset();\n setState((state) => ({ ...state, isActionsOpen: !state.isActionsOpen }));\n }\n\n const handleToggleDemographic = () => {\n setState((state) => ({ ...state, isSelectedDemographic: !state.isSelectedDemographic }));\n }\n\n const handleToggleDiagnostic = () => {\n setState((state) => ({ ...state, isSelectedDiagnostic: !state.isSelectedDiagnostic }));\n }\n\n const handleSelectOrder = (id: number) => {\n const diagnosticOrder = state.diagnosticOrders.find(x => x.id === id)\n if (diagnosticOrder) {\n setState((state) => ({ ...state, selectDiagnostic: diagnosticOrder }));\n } else {\n const referralOrder = state.referralOrders.find(x => x.id === id)\n if (referralOrder) {\n setState((state) => ({ ...state, selectReferral: referralOrder }));\n }\n }\n }\n\n const handleToggleReferral = () => {\n setState((state) => ({ ...state, isSelectedReferral: !state.isSelectedReferral }));\n }\n\n const handleToggleNotes = () => {\n setState((state) => ({ ...state, isSelectedNote: !state.isSelectedNote }));\n }\n\n const handleSelectNote = (id: number) => {\n const note = state.notes.find(x => x.id === id)\n if (note) {\n setState((state) => ({ ...state, selectNote: note }));\n }\n }\n\n const handleDownloadDemographicSheet = () => {\n const activeCoverages = state.coverages.filter(x => x.status === CoverageStatus.Active).sort((a, b) => a.priority > b.priority ? 1 : -1);\n demographicPdfService.download(state.patient, state.pharmacyInfo, state.isPayByCash, activeCoverages?.[0])\n }\n\n const handleDownloadDiagnosticOrder = (order: OtherOrderModel) => {\n otherOrderPdfService.download(order)\n }\n\n\n const handleDownloadReferralOrder = (order: ReferralOrderModel) => {\n referralOrderPdfService.download(order)\n }\n\n const handleDownloadNotePdf = (note: NoteModel, flags) => {\n const noteId = GetMaximumVersionOfNote(note)?.id;\n const currentNote = note.id === noteId ? note : note.amendedNotes.find(x => x.id === noteId);\n if (note.type !== NotesType.Internal) {\n confirmService.confirmAndSelectedNoteViewType(\n 'Select the view type of the note',\n downloadNoteOptions,\n ).subscribe(\n (type) => {\n const isEmployee = type === UserType.Employee;\n setState(state => ({ ...state, isDownloading: true }));\n const cb = () => setState(state => ({ ...state, isDownloading: false }));\n notesService.downloadNote(noteId, note.name, isEmployee).subscribe(\n cb,\n () => {\n handleDownloadNoteByEmployeePdfBd(currentNote, type, flags).subscribe(cb, cb);\n }\n )\n },\n () => {}\n );\n }\n else {\n setState(state => ({ ...state, isDownloading: true }));\n const cb = () => setState(state => ({ ...state, isDownloading: false }));\n notesService.downloadNote(noteId, note.name, true).subscribe(\n cb,\n () => {\n handleDownloadNoteByEmployeePdfBd(currentNote, UserType.Employee, flags).subscribe(cb, cb);\n }\n )\n }\n }\n\n const handleDownload = () => {\n setState((state) => ({ ...state, isActionsOpen: false }));\n if (state.isSelectedDemographic) {\n handleDownloadDemographicSheet();\n }\n if (state.isSelectedDiagnostic && state.selectDiagnostic) {\n handleDownloadDiagnosticOrder(state.selectDiagnostic);\n }\n if (state.isSelectedReferral && state.selectReferral) {\n handleDownloadReferralOrder(state.selectReferral);\n }\n if (state.isSelectedNote && state.selectNote) {\n handleDownloadNotePdf(state.selectNote, flags);\n }\n handleReset();\n }\n\n useEffect(() => {\n if (!state.isLoadingReferral && !state.isLoadingDiagnostic && !state.isLoadingNotes && !state.isLoadingInsurance && !state.isLoadingSubscription) {\n setState((state) => ({ ...state, isLoading: false }));\n }\n }, [state.isLoadingReferral, state.isLoadingDiagnostic, state.isLoadingNotes, state.isLoadingInsurance, state.isLoadingSubscription]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n patient: targetPatient,\n }));\n }\n }),\n onEmit(profileQuery.pharmacyInfo$, pharmacyInfo =>\n setState(state => ({ ...state, pharmacyInfo: pharmacyInfo ?? getInitPharmacyInfo() }))\n ),\n onEmit(ordersQuery.otherOrders$, orders => {\n setState(state => ({\n ...state,\n diagnosticOrders: orders.filter(x => x.status === OrderStatus.Signed).sort((x, y) => (new Date(y.orderedAt)).getTime() - (new Date(x.orderedAt)).getTime()),\n }));\n }),\n onEmit(ordersQuery.referralOrders$, orders => {\n setState(state => ({\n ...state,\n referralOrders: orders.filter(x => x.status === OrderStatus.Signed).sort((x, y) => (new Date(y.orderedAt)).getTime() - (new Date(x.orderedAt)).getTime()),\n }));\n }),\n onEmit(notesQuery.notes$, notes => {\n setState(state => ({\n ...state,\n notes: notes.filter(x => !x.deletedBy).sort((x, y) => (new Date(y.completedAt)).getTime() - (new Date(x.completedAt)).getTime()),\n }));\n }),\n onEmit(insuranceQuery.coverages$, coverages => {\n setState(state => ({ ...state, coverages }));\n }),\n onEmit(insuranceQuery.insurances$, insurances => {\n setState(state => ({ ...state, insurances }));\n }),\n onEmit(subscriptionQuery.subscription$, subscription => {\n if (subscription?.type === SubscriptionType.Insurance && subscription?.status === SubscriptionStatus.Active) {\n setState((state) => ({ ...state, isPayByCash: false }))\n }\n })\n ];\n\n const cbRef = () => setState((state) => ({ ...state, isLoadingReferral: false }));\n const cbDiagnostic = () => setState((state) => ({ ...state, isLoadingDiagnostic: false }));\n const cbNotes = () => setState((state) => ({ ...state, isLoadingNotes: false }));\n const cbInsurance = () => setState((state) => ({ ...state, isLoadingInsurance: false }));\n const cbSubscription = () => setState((state) => ({ ...state, isLoadingSubscription: false }));\n\n\n referralOrdersService.get(patientId).subscribe(cbRef, cbRef);\n otherOrdersService.get(patientId).subscribe(cbDiagnostic, cbDiagnostic);\n notesService.getByEmployee(patientId).subscribe(cbNotes, cbNotes);\n insuranceService.getAvailableInsurancesByEmployee(patientId).subscribe(() => {\n insuranceService.getCoveragesByEmploy(patientId).subscribe(cbInsurance, cbInsurance)\n }, cbInsurance)\n if (patientsQuery.getTargetPatientSubscription()) {\n subscriptionService.getPatientCurrent(patientId).subscribe(cbSubscription, cbSubscription)\n } else {\n cbSubscription()\n }\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleToggleActions,\n handleToggleDemographic,\n handleToggleDiagnostic,\n handleToggleReferral,\n handleToggleNotes,\n handleSelectOrder,\n handleSelectNote,\n handleDownload\n ];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialog: {\n '& .MuiDialog-paper': {\n borderRadius: 20,\n },\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '28px 28px 0 0',\n margin: 0,\n marginTop: 'auto',\n width: '100%'\n },\n },\n },\n dialogContent: {\n display: \"flex\",\n flexDirection: \"column\",\n width: 525,\n paddingTop: 30,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginLeft: 0,\n width: '100%',\n },\n },\n })\n);\n\n\n","import React from \"react\";\nimport { Box, FormControl, Select, MenuItem, Dialog, DialogContent, DialogActions } from \"@material-ui/core\";\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport RadioButtonUncheckedIcon from '@material-ui/icons/RadioButtonUnchecked';\nimport moment from 'moment';\nimport { useFacade } from \"./demographicExportWidgetComponent.hooks\";\nimport { useStyles } from \"./demographicExportWidgetComponent.styles\";\nimport { DialogTitle } from \"../../../../../common/components/dialogTitle/DialogTitle\";\nimport { WildHealthButton } from '../../../../../common/components/wildHealthButton/WildHealthButton';\nimport { toCurrentTimeZone } from \"../../../../../timezones/helpers/timezone\";\nimport { OrderStatus } from \"../../../../../orders/models/orders.models\";\nimport { ReferralOrderModel } from \"../../../../../orders/models/referralOrders.models\";\nimport { OtherOrderModel } from \"../../../../../orders/models/otherOrders.models\";\nimport { GetMaximumVersionOfNote } from \"../../../../../notes/helpers/noteHelpers\";\n\n\nexport interface DemographicExportWidgetComponentProps {\n patientId: number | null;\n}\n\nexport const DemographicExportWidgetComponent: React.FC = (\n props: DemographicExportWidgetComponentProps\n) => {\n\n const [\n {\n isLoading,\n isDownloading,\n isActionsOpen,\n isSelectedDemographic,\n isSelectedDiagnostic,\n isSelectedReferral,\n isSelectedNote,\n diagnosticOrders,\n selectDiagnostic,\n referralOrders,\n selectReferral,\n notes,\n selectNote\n },\n handleToggleActions,\n handleToggleDemographic,\n handleToggleDiagnostic,\n handleToggleReferral,\n handleToggleNotes,\n handleSelectOrder,\n handleSelectNote,\n handleDownload\n ] = useFacade(props.patientId);\n\n const classes = useStyles();\n\n const emptyPlaceHolder = () => {\n return (empty)\n }\n\n const displayValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : emptyPlaceHolder();\n }\n\n const displayName = (order: ReferralOrderModel | OtherOrderModel) => {\n const data = order.status === OrderStatus.Completed \n ? displayValue(order.statusLogs.find(el => el.status === OrderStatus.Completed).date)\n : displayValue(order.orderedAt)\n if (order.items.length && order.items[0]?.description) {\n return `${order.items[0]?.description} ${data}`\n }\n\n return data\n }\n\n const displayNoteTitle = (note) => {\n const title = GetMaximumVersionOfNote(note)?.title;\n return title ?? ' - '\n }\n\n return (\n \n handleToggleActions()}\n >\n Export\n \n \n handleToggleActions()}\n className={classes.dialog}\n >\n handleToggleActions()}\n >\n \n \n Please choose what you would like to export\n \n \n {\n isSelectedDemographic ? : \n }\n Patient Demographics\n \n \n {\n isSelectedDiagnostic ? : \n }\n Diagnostic Order\n \n {isSelectedDiagnostic && (\n \n \n Select order *\n {\n if (selectDiagnostic === null) {\n return Select order;\n }\n\n return displayName(selectDiagnostic);\n }}\n displayEmpty\n onChange={(v) => handleSelectOrder(v.target.value)}\n >\n {diagnosticOrders.map(order => {displayName(order)})}\n \n \n \n )}\n \n {\n isSelectedReferral ? : \n }\n Referral Order\n \n {isSelectedReferral && (\n \n \n Select order *\n {\n if (selectReferral === null) {\n return Select order;\n }\n\n return displayName(selectReferral);\n }}\n displayEmpty\n onChange={(v) => handleSelectOrder(v.target.value)}\n >\n {referralOrders.map(order => {displayName(order)})}\n \n \n \n )}\n \n {\n isSelectedNote ? : \n }\n Patient Notes\n \n {isSelectedNote && (\n \n \n Select note *\n {\n if (selectNote === null) {\n return Select note;\n }\n\n return `${selectNote.name} ${selectNote.isCompleted ? '' : '(draft)'} ${displayNoteTitle(selectNote)}`;\n }}\n displayEmpty\n onChange={(v) => handleSelectNote(v.target.value)}\n >\n {notes.map(note => {`${note.name} ${note.isCompleted ? '' : '(draft)'} ${displayNoteTitle(note)} - ${displayValue(note.completedAt)}`})}\n \n \n \n )}\n \n \n \n \n handleToggleActions()}>\n Cancel\n \n \n \n handleDownload()}>\n Export\n \n \n \n \n \n );\n};\n","import {\n Box,\n FormControlLabel,\n Grid,\n} from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthSwitcher } from \"../../../../common/components/WIldHealthSwitcher\";\nimport { ChronologicalSummaryComponent } from '../../../../patients/components/ChronologicalSummaryComponent/ChronologicalSummaryComponent';\nimport { AddressInfoWidgetComponent } from '../patientInformationWidget/addressInfoWidgetComponent/AddressInfoWidgetComponent';\nimport { AppointmentsInfoWidgetComponent } from '../patientInformationWidget/appointmentsInfoWidgetComponent/AppointmentsInfoWidgetComponent';\nimport { GeneralInfoWidgetComponent } from '../patientInformationWidget/generalInfoWidgetComponent/GeneralInfoWidgetComponent';\nimport { HealthFormsInfoWidgetComponent } from '../patientInformationWidget/healthFormsInfoWidgetComponent/HealthFormsInfoWidgetComponent';\nimport { MembershipInfoWidgetComponent } from '../patientInformationWidget/membershipInfoWidgetComponent/MembershipInfoWidgetComponent';\nimport { OrdersInfoWidgetComponent } from '../patientInformationWidget/ordersInfoWidgetComponent/OrdersInfoWidgetComponent';\nimport { PharmacyInfoWidgetComponent } from '../patientInformationWidget/pharmacyInfoWidgetComponent/PharmacyInfoWidgetComponent.';\nimport { useFacade } from \"./patientInformationRedesignComponent.hooks\";\nimport { useStyles } from './patientInformationRedesignComponent.styles';\nimport { ChronologicalEventType } from '../../../../patients/models/patient.model';\nimport { DemographicExportWidgetComponent } from '../patientInformationWidget/demographicExportWidgetComponent/DemographicExportWidgetComponent';\nimport {WildHealthButton} from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport {FeatureFlag} from \"../../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../../common/components/featureFlags/FeatureComponent\";\n\ninterface PatientInformationComponentProps {\n patientId: number;\n}\n\nconst FilterByEventType = [\n ChronologicalEventType.LabsOrdered,\n ChronologicalEventType.NotePublished,\n ChronologicalEventType.VisitCompleted,\n ChronologicalEventType.SupplementUpdated,\n ChronologicalEventType.InternalMessageSent,\n ChronologicalEventType.HealthCoachOrProviderAssigned,\n]\n\nexport const PatientInformationRedesignComponent: React.FC = (props: PatientInformationComponentProps) => {\n const { patientId } = props;\n const [\n {\n isHealthCoachView,\n },\n handleLoginToRxNT,\n handleViewToggle,\n ] = useFacade();\n\n const classes = useStyles();\n\n return (\n \n \n \n \n Health Coach\n \n \n handleViewToggle()}\n name=\"inputsModeToggle\" />\n }\n label=\"\"\n />\n \n \n Care Coordinator\n \n \n \n \n \n handleLoginToRxNT(patientId)}>\n Login RxNT\n \n \n \n \n \n \n \n \n \n \n \n \n \n {!isHealthCoachView\n && \n \n \n }\n \n \n \n {isHealthCoachView\n && \n \n }\n \n \n \n \n \n \n \n {!isHealthCoachView\n && \n \n \n }\n {isHealthCoachView\n && < Box p={4} className={classes.widget}>\n \n \n }\n \n \n \n \n \n \n \n \n );\n}","import { useState} from 'react';\nimport { authQuery } from '../../../../auth/stores/auth';\nimport { EmployeeType } from '../../../models/employee.enums';\nimport {RoutesConstants} from \"../../../../../constants/route.constants\";\n\ninterface PatientInformationComponentState {\n isHealthCoachView: boolean,\n}\n\nexport function useFacade(): [\n PatientInformationComponentState,\n (patientId: number) => void,\n () => void,\n] {\n const [state, setState] = useState({\n isHealthCoachView: (authQuery.getEmployeeType() === EmployeeType.HealthCoach || authQuery.getEmployeeType() === EmployeeType.Provider),\n } as PatientInformationComponentState);\n\n const handleLoginToRxNT = (patientId: number) => {\n window.open(RoutesConstants.loginRxNT + `?patientId=${patientId}`, \"_blank\")\n }\n\n const handleViewToggle = () => {\n setState(state => ({\n ...state, \n isHealthCoachView: !state.isHealthCoachView,\n }));\n }\n\n\n return [state,\n handleLoginToRxNT,\n handleViewToggle,\n ]\n}","import Axios from \"axios-observable\";\nimport { Observable, Subject } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { InsuranceVerificationDetailsModel, InsuranceVerificationModel, VerificationsHistoryModel} from \"../models/insurance.models\";\nimport { insuranceStore, InsuranceStore } from \"../stores/insurance.store\";\nimport { CallbackModel } from \"../../common/models/callback.model\";\n\n/**\n * Provides method for working with Insurance\n */\nexport class InsuranceVerificationService {\n private urlVerification = `${process.env.REACT_APP_API_URL}InsuranceVerification`;\n\n constructor(private insuranceStore: InsuranceStore) {\n }\n\n public onInsuranceVerificationDetials = new Subject>();\n\n public requestInsuranceVerificationDetails = (insuranceVerificationId: number): Observable => {\n return new Observable(observer => {\n this.onInsuranceVerificationDetials.next({\n data: insuranceVerificationId,\n callback: (result: InsuranceVerificationDetailsModel) => {\n if (result) {\n observer.next(result);\n }\n observer.complete();\n }\n });\n });\n }\n\n public verifyInsurance(model: InsuranceVerificationModel): Observable {\n let url = `${this.urlVerification}/InsuranceVerification`;\n const config = { headers: authHeader() }\n\n return new Observable(observer => {\n Axios.post(url, model, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next();\n observer.complete();\n return response.data;\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n /**\n* Get insurance verification history\n*/\n\n public getInsuranceVerification(patientId: number): Observable {\n let url = `${this.urlVerification}/InsuranceVerificationsPatient?patientId=${patientId}`;\n const config = { headers: authHeader() }\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.insuranceStore.update({ verificationList: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public runInsuranceVerification(coverageId: number): Observable {\n let url = `${this.urlVerification}/RunVerification/Coverage/${coverageId}`;\n const config = { headers: authHeader() }\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n return response.data;\n },\n error => {\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public getInsuranceVerificationDetails(insuranceVerificationId: number): Observable {\n let url = `${this.urlVerification}/${insuranceVerificationId}`;\n const config = { headers: authHeader() }\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n return response.data;\n },\n error => {\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n}\n\nexport const insuranceVerificationService = new InsuranceVerificationService(insuranceStore);\n","import { makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n subscriptionCard: {\n marginTop: 10,\n borderRadius: 5,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n fontSize: 14,\n lineHeight: 16,\n },\n});","import { Box, Dialog, DialogActions, DialogContent, FormControl, MenuItem, Select } from \"@material-ui/core\";\nimport React from \"react\";\nimport { DialogComponentProps } from \"../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./verifyInsuranceComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport clsx from \"clsx\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\n\nexport const VerifyInsuranceComponent: React.FC = (props: DialogComponentProps) => {\n const {\n open,\n handleSubmit,\n handleClose\n } = props;\n\n const [\n {\n isVerifiedItem\n },\n handleVerifiedItemChanges,\n handleCancel,\n handleConfirm\n ] = useFacade(handleSubmit, handleClose);\n const commonClasses = commonUseStyles();\n\n return (\n handleCancel()} aria-labelledby=\"form-dialog-title\">\n handleCancel()} id='dialog-title'>Verify Insurance\n \n \n \n \n \n Verified\n \n \n \n handleVerifiedItemChanges(v.target.value.toString())}>\n Yes\n No\n \n \n \n \n \n \n\n \n \n handleCancel()}\n width={100}\n size='large'\n color='tertiary'\n >\n Cancel\n \n \n \n handleConfirm()}>\n Verify\n \n \n \n \n \n );\n}\n","export enum InsuranceServiceType {\n ProviderVisit = 0,\n HealthCoachVisit = 10\n}\n\nexport enum InsuranceVerificationElibilityCode {\n ActiveCoverage = '1',\n InactiveCoverage = '6',\n Coinsurance = 'A',\n Copay = 'B',\n Deductible = 'C',\n Limitation = 'F',\n OutOfPocket = 'G',\n Noncovered = 'I',\n BenefitDisclaimer = 'P',\n Other = 'R',\n ContactEntity = 'U',\n PrimaryCareProvider = 'L'\n}\n\nexport enum InsuranceVerificationTimePeriodQualifier {\n Day = '7',\n Years = '21',\n ServiceYears = '22',\n CalendarYear = '23',\n Visit = '27',\n Remaining = '29',\n Admission = '36'\n}\n\nexport enum InsuranceVerificationServiceType {\n MedicalCare = '1',\n Surgical = '2',\n Consultation = '3',\n DiagnosticXRay = '4',\n DiagnosticLab = '5',\n RadiationTherapy = '6',\n Anesthesia = '7',\n SurgicalAssistance = '8',\n Blood = '10',\n DurableMedicalEquipmentUsed = '11',\n DurableMedicalEquipmentPurchased = '12',\n RenalSupplies = '14',\n PreAdmissionTesting = '17',\n DurableMedicalEquipmentRental = '18',\n PneumoniaVaccine = '19',\n SecondSurgicalOpinion = '20',\n ThirdSurgicalOpinion = '21',\n SocialWork = '22',\n DiagnosticDental = '23',\n Periodontics = '24',\n Restorative = '25',\n Endodontics = '26',\n MaxillofacialProsthetics = '27',\n AdjunctiveDentalServices = '28',\n PlanCoverageAndGeneralBenefits = '30',\n PlanWaitingPeriod = '32',\n Chiropractic = '33',\n DentalCare = '35',\n DentalCrowns = '36',\n DentalAccident = '37',\n Orthodontics = '38',\n Prosthodontics = '39',\n OralSurgery = '40',\n PreventiveDental = '41',\n HomeHealthCare = '42',\n HomeHealthPrescriptions = '43',\n Hospice = '45',\n RespiteCare = '46',\n Hospitalization = '47',\n HospitalizationInpatient = '48',\n HospitalRoomAndBoard = '49',\n LongTermCare = '54',\n MajorMedical = '55',\n MedicallyRelatedTransportation = '56',\n PlanCoverage = '60',\n InvitroFertilization = '61',\n MRIScan = '62',\n DonorProcedures = '63',\n Acupuncture = '64',\n NewbornCare = '65',\n Pathology = '66',\n SmokingCessation = '67',\n WellBabyCare = '68',\n Maternity = '69',\n Transplants = '70',\n Audiology = '71',\n InhalationTherapy = '72',\n DiagnosticMedical = '73',\n PrivateDutyNursing = '74',\n Porsthetics = '75',\n Dialysis = '76',\n Otology = '77',\n Chemotherapy = '78',\n AllergyTesting = '79',\n Immunizations = '80',\n RoutinePhysical = '81',\n FamilyPlanning = '82',\n Infertility = '83',\n Abortion = '84',\n HivTreatment = '85',\n EmergencyServices = '86',\n CancerTreatment = '87',\n RetailPharmacy = '88',\n FreeStandingPrescriptionDrug = '89',\n MailOrderPharmacy = '90',\n BrandNamePrescriptionDrug = '91',\n GenericPrescriptionDrug = '92',\n Podiatry = '93',\n DentalTestAndExaminations = '94',\n PeriodontalSurgicalServices = '95',\n DentureRepairs = '96',\n DentalNonSurgicalExtractions = '97',\n PrescriptionDrug = '98',\n BariatricServices = '99',\n Psychiatric = 'A4',\n Psychotherapy = 'A6',\n PsychiatricInpatient = 'A7',\n PsychiatricOutpatient = 'A8',\n Rehabilitation = 'A9',\n RehabilitationInpatient = 'AB',\n RehabilitationOutpatient = 'AC',\n OccupationalTherapy = 'AD',\n PhysicalMedicine = 'AE',\n SpeechTherapy = 'AF',\n SkilledNursingCare = 'AG',\n SubstanceAbuse = 'AI',\n AlcoholismTreatment = 'AJ',\n DrugAddiction = 'AK',\n Optometry = 'AL',\n Frames = 'AM',\n Lenses = 'AO',\n RoutineEyeExam = 'AP',\n NonmedicallyNecessaryPhysical = 'AQ',\n ExperimentalDrugTherapy = 'AR',\n BurnCare = 'B1',\n IndependentMedicalEvaluation = 'BA',\n PsychiatricTreatmentPartialHospitalization = 'BB',\n DayCare = 'BC',\n CognitiveTherapy = 'BD',\n MassageTherapy = 'BE',\n PulmonaryRehabilitation = 'BF',\n CardiacRehabilitation = 'BG',\n Pediatric = 'BH',\n NurseryRoomAndBoard = 'BI',\n Orthopedic = 'BK',\n Cardiac = 'BL',\n Lymphatic = 'BM',\n Gastrointestinal = 'BN',\n Endocrine = 'BP',\n Neurology = 'BQ',\n Gynecological = 'BT',\n Obstetrical = 'BU',\n ObstetricalGynecological = 'BV',\n SickPhysicianVisit = 'BY',\n WellPhysicianVisit = 'BZ',\n CoronaryCare = 'C1',\n ScreeningXRay = 'CK',\n ScreeningLaboratory = 'CL',\n MammogramHighRisk = 'CM',\n MammogramLowRisk = 'CN',\n FluVaccination = 'CO',\n EyewearAccessories = 'CP',\n CaseManagement = 'CQ',\n Dermatology = 'DG',\n DurableMedicalEquipment = 'DM',\n DiabeticSupplies = 'DS',\n AppliedBehavioralAnalysisTherapy = 'E0',\n NonMedicalEquipment = 'E1',\n PsychiatricEmergency = 'E2',\n StepDownUnit = 'E3',\n SkilledNursingFacilityHeadLevelOfCare = 'E4',\n SkilledNursingFacilityVentilatorLevelOfCare = 'E5',\n LevelOfCare1 = 'E6',\n LevelOfCare2 = 'E7',\n LevelOfCare3 = 'E8',\n LevelOfCare4 = 'E9',\n Radiographs = 'E10',\n DiagnosticImaging = 'E11',\n FixedProsthodontics = 'E14',\n RemovableProsthodontics = 'E15',\n IntraoralImages = 'E16',\n OralEvaluation = 'E17',\n DentalProphylaxis = 'E18',\n PanoramicImages = 'E19',\n Sealants = 'E20',\n FluorideTreatments = 'E21',\n DentalImplants = 'E22',\n TemporomandibularJointDysfunction = 'E23',\n LongTermCarePharmacy = 'E25',\n ComprehensiveMedicationTherapyManagementReview = 'E26',\n TargetedMedicationTherapyManagementReview = 'E27',\n DietaryServices = 'E28',\n IntensiveCardiacRehabilitation = 'E33',\n ConvenienceCare = 'E36',\n Telemedicine = 'E37',\n PharmacistServices = 'E38',\n DiabeticEducation = 'E39',\n EarlyIntervention = 'E40',\n PreventiveServices = 'EA',\n SpecialtyPharmacy = 'EB',\n DurableMedicalEquipmentNew = 'EC',\n CATScan = 'ED',\n Ophthalmology = 'EE',\n ContactLenses = 'EF',\n FertilityPreservation = 'EG',\n MedicallyTailoredMeals = 'EH',\n IVTherapy = 'EJ',\n MedicalCoverage = 'F1',\n SocialWorkCoverage = 'F2',\n DentalCoverage = 'F3',\n HearingCoverage = 'F4',\n PrescriptionDrugCoverage = 'F5',\n VisionCoverage = 'F6',\n OrthodontiaCoverage = 'F7',\n MentalHealthCoverage = 'F8',\n GenericPrescriptionDrugFormulary = 'GF',\n GenericPrescriptionDrugNonFormulary = 'GN',\n Allergy = 'GY',\n IntesiveCare = 'IC',\n MentalHealth = 'MH',\n NeonatalIntensiveCare = 'NI',\n Oncology = 'ON',\n PositronEmissionTomographyScan = 'PE',\n PhysicalTherapy = 'PT',\n Pulmonary = 'PU',\n Renal = 'RN',\n ResidentialPsychiatricTreatment = 'RT',\n SeriousMentalHealth = 'SMH',\n TransitionalCare = 'TC',\n TransitionalNurseryCare = 'TN',\n UrgentCare = 'UC'\n}","import { useState } from \"react\";\n\ninterface VerifyInsuranceComponentState {\n isVerifiedItem: string,\n}\n\nexport function useFacade( handleSubmit: Function, handleClose: Function): [\n VerifyInsuranceComponentState,\n (value: string) => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isVerifiedItem: 'Yes',\n } as VerifyInsuranceComponentState);\n\n const handleCancel = () => {\n setState(state => ({ ...state, selectedVerifiedItem: null }));\n handleClose();\n }\n\n const handleVerifiedItemChanges = (value: string) => {\n setState(state => ({ ...state, isVerifiedItem: value }));\n }\n\n const handleConfirm = () => {\n handleSubmit(state.isVerifiedItem === 'Yes');\n setState(state => ({ ...state, selectedVerifiedItem: null }));\n }\n\n return [state, handleVerifiedItemChanges, handleCancel, handleConfirm];\n}\n","import {Box, Card, FormControlLabel, Table, TableBody, TableContainer, TableHead} from \"@material-ui/core\";\nimport React from 'react';\nimport {useStyles} from \"./insuranceCard.styles\";\nimport {WildHealthTableRow} from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport {WildHealthTableCell} from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {useFacade} from \"./insuranceCardComponent.hooks\";\nimport {VerifyInsuranceComponent} from \"../verifyInsuranceComponent/VerifyInsuranceComponent\";\nimport {CoverageModel} from \"../../models/insurance.models\";\nimport {WildHealthSwitcher} from \"../../../common/components/WIldHealthSwitcher\";\nimport {CoverageStatus} from \"../../enums/coverageStatus\";\n\ninterface InsuranceCardComponentProps {\n insurances: CoverageModel[];\n patientId: number;\n displayName: Function;\n isPayByCashLoading: boolean;\n}\n\nexport const InsuranceCardComponent: React.FC = (props: InsuranceCardComponentProps) => {\n const [\n {\n isVerifyInsuranceOpen,\n isRunningVerification\n },\n handleToggleVerifyDialog,\n handleActivationSwitch,\n handleVerifyInsurance,\n runInsuranceVerification\n ] = useFacade(props.patientId);\n const classes = useStyles();\n\n return (\n <>\n \n \n \n \n \n \n Member ID\n \n \n Carrier\n \n \n Verification\n \n \n Activation\n \n \n \n \n {\n props.insurances.map((insurance, index) =>\n \n \n \n {insurance.memberId}\n \n \n \n \n {insurance.insurance.name}\n \n \n \n \n handleToggleVerifyDialog(true, insurance.id)}\n disabled={props.isPayByCashLoading}\n >\n \n Manually Verify\n \n \n \n \n runInsuranceVerification(insurance.id)}\n disabled={props.isPayByCashLoading || isRunningVerification}\n >\n \n Run Verification\n \n \n \n \n \n \n handleActivationSwitch(insurance)}\n name=\"activateCoverageSwitcher\"\n disabled={props.isPayByCashLoading} />\n }\n />\n \n \n \n )\n }\n \n
\n
\n
\n handleToggleVerifyDialog(false)}\n />\n \n );\n}","import {useState} from 'react';\nimport {CoverageModel, InsuranceVerificationModel} from '../../models/insurance.models';\nimport {insuranceVerificationService} from '../../services/insuranceVerification.service';\nimport {CoverageStatus} from \"../../enums/coverageStatus\";\nimport {insuranceService} from \"../../services/insurance.service\";\n\ninterface InsuranceCardComponentState {\n isVerifyInsuranceOpen: boolean;\n selectedCoverageId: string;\n isRunningVerification: boolean;\n}\n\nexport function useFacade(patientId: number): [InsuranceCardComponentState, Function, Function, Function, Function] {\n const [state, setState] = useState({\n isVerifyInsuranceOpen: false,\n selectedCoverageId: '',\n } as InsuranceCardComponentState);\n\n const handleToggleVerifyDialog = (toShow: boolean, coverageId = '') => {\n setState({...state, isVerifyInsuranceOpen: toShow, selectedCoverageId: coverageId});\n };\n\n const handleActivationSwitch = (coverage: CoverageModel) => {\n if (coverage.status === CoverageStatus.Active) {\n insuranceService.deactivateCoverage(coverage.id).subscribe();\n } else {\n insuranceService.activateCoverage(coverage.id).subscribe();\n }\n }\n\n const handleVerifyInsurance = (isVerified: boolean) => {\n const model = {\n patientId: patientId,\n isVerified: isVerified,\n coverageId: state.selectedCoverageId,\n } as InsuranceVerificationModel\n\n\n insuranceVerificationService.verifyInsurance(model).subscribe(() => {\n insuranceVerificationService.getInsuranceVerification(patientId).subscribe();\n });\n\n setState({...state, isVerifyInsuranceOpen: false});\n }\n\n const runInsuranceVerification = (coverageId: number) => {\n setState({ ...state, isRunningVerification: true });\n\n const cb = () => setState({ ...state, isRunningVerification: false });\n\n insuranceVerificationService.runInsuranceVerification(coverageId).subscribe(() => {\n insuranceVerificationService.getInsuranceVerification(patientId).subscribe(cb, cb);\n }, cb);\n }\n\n return [state, handleToggleVerifyDialog, handleActivationSwitch, handleVerifyInsurance, runInsuranceVerification]\n}\n","import { makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n subscriptionCard: {\n marginTop: 10,\n borderRadius: 5,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n fontSize: 14,\n lineHeight: 16,\n },\n});","import { useEffect, useState } from \"react\";\nimport { insuranceVerificationService } from \"../../services/insuranceVerification.service\";\nimport { Subscription } from \"rxjs\";\nimport { InsuranceVerificationDetailsModel } from \"../../models/insurance.models\";\n\ninterface InsuranceVerificationModalState {\n isOpen: boolean;\n isLoading: boolean;\n notFound: boolean;\n details: InsuranceVerificationDetailsModel;\n callback?: Function;\n}\n\nexport function useFacade(): [InsuranceVerificationModalState, Function] {\n const [state, setState] = useState({\n isOpen: false,\n isLoading: false,\n notFound: false,\n details: null,\n callback: null\n } as InsuranceVerificationModalState);\n\n const handleClose = () => {\n state.callback?.();\n setState({\n ...state,\n isOpen: false\n });\n }\n\n const fetchInsuranceVerificationDetails = (id: number) => {\n insuranceVerificationService\n .getInsuranceVerificationDetails(id)\n .subscribe(\n (data) => {\n setState({\n ...state,\n details: data,\n isOpen: true,\n isLoading: false\n })\n },\n (data) => {\n setState({\n ...state,\n details: data,\n isLoading: false,\n notFound: true,\n isOpen: true\n })\n }\n );\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n insuranceVerificationService.onInsuranceVerificationDetials.subscribe((data) => {\n setState(state => ({\n ...state,\n isOpen: true,\n callback: data.callback,\n isLoading: true\n }));\n\n fetchInsuranceVerificationDetails(data.data)\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n }\n }, [])\n\n return [\n state,\n handleClose\n ];\n}","import { InsuranceServiceType, InsuranceVerificationElibilityCode, InsuranceVerificationServiceType, InsuranceVerificationTimePeriodQualifier } from \"../enums/insuranceServiceType\";\n\nexport const insuranceServiceTypeLabel = {\n [InsuranceServiceType.ProviderVisit]: 'Provider Visit',\n [InsuranceServiceType.HealthCoachVisit]: 'Health Coach Visit'\n}\n\nexport const insuranceVerificationEligibilityCodeLabel = {\n [InsuranceVerificationElibilityCode.ActiveCoverage]: 'Active Coverage',\n [InsuranceVerificationElibilityCode.InactiveCoverage]: 'Inactive Coverage',\n [InsuranceVerificationElibilityCode.Coinsurance]: 'Coinsurance',\n [InsuranceVerificationElibilityCode.Copay]: 'Copay',\n [InsuranceVerificationElibilityCode.Deductible]: 'Deductible',\n [InsuranceVerificationElibilityCode.Limitation]: 'Limitation',\n [InsuranceVerificationElibilityCode.OutOfPocket]: 'Out Of Pocket',\n [InsuranceVerificationElibilityCode.Noncovered]: 'Non-covered',\n [InsuranceVerificationElibilityCode.BenefitDisclaimer]: 'Benefit Disclaimer',\n [InsuranceVerificationElibilityCode.Other]: 'Other',\n [InsuranceVerificationElibilityCode.ContactEntity]: 'Contact Following Entity for Eligibility or Benefit Information',\n [InsuranceVerificationElibilityCode.PrimaryCareProvider]: 'Primary Care Provider',\n}\n\nexport const insuranceVerificationTimePeriodQualifierLabel = {\n [InsuranceVerificationTimePeriodQualifier.Day]: 'Day',\n [InsuranceVerificationTimePeriodQualifier.Years]: 'Years',\n [InsuranceVerificationTimePeriodQualifier.ServiceYears]: 'Service Years',\n [InsuranceVerificationTimePeriodQualifier.CalendarYear]: 'Calendar Year',\n [InsuranceVerificationTimePeriodQualifier.Visit]: 'Visit',\n [InsuranceVerificationTimePeriodQualifier.Remaining]: 'Remaining',\n [InsuranceVerificationTimePeriodQualifier.Admission]: 'Admission'\n}\n\nexport const insuranceVerificationServiceTypeLabel = {\n [InsuranceVerificationServiceType.MedicalCare]: 'Medical Care',\n [InsuranceVerificationServiceType.Surgical]: 'Surgical',\n [InsuranceVerificationServiceType.Consultation]: 'Consultation',\n [InsuranceVerificationServiceType.DiagnosticXRay]: 'Diagnostic X-Ray',\n [InsuranceVerificationServiceType.DiagnosticLab]: 'Diagnostic Lab',\n [InsuranceVerificationServiceType.RadiationTherapy]: 'Radiation Therapy',\n [InsuranceVerificationServiceType.Anesthesia]: 'Anesthesia',\n [InsuranceVerificationServiceType.SurgicalAssistance]: 'Surgical Assistance',\n [InsuranceVerificationServiceType.Blood]: 'Blood',\n [InsuranceVerificationServiceType.DurableMedicalEquipmentUsed]: 'Durable Medical Equipment Used',\n [InsuranceVerificationServiceType.DurableMedicalEquipmentPurchased]: 'Durable Medical Equipment Purchased',\n [InsuranceVerificationServiceType.RenalSupplies]: 'Renal Supplies',\n [InsuranceVerificationServiceType.PreAdmissionTesting]: 'Pre Admission Testing',\n [InsuranceVerificationServiceType.DurableMedicalEquipmentRental]: 'Durable Medical Equipment Rental',\n [InsuranceVerificationServiceType.PneumoniaVaccine]: 'Pneumonia Vaccine',\n [InsuranceVerificationServiceType.SecondSurgicalOpinion]: 'Second Surgical Opinion',\n [InsuranceVerificationServiceType.ThirdSurgicalOpinion]: 'Third Surgical Opinion',\n [InsuranceVerificationServiceType.SocialWork]: 'Social Work',\n [InsuranceVerificationServiceType.DiagnosticDental]: 'Diagnostic Dental',\n [InsuranceVerificationServiceType.Periodontics]: 'Periodontics',\n [InsuranceVerificationServiceType.Restorative]: 'Restorative',\n [InsuranceVerificationServiceType.Endodontics]: 'Endodontics',\n [InsuranceVerificationServiceType.MaxillofacialProsthetics]: 'Maxillofacial Prosthetics',\n [InsuranceVerificationServiceType.AdjunctiveDentalServices]: 'Adjunctive Dental Services',\n [InsuranceVerificationServiceType.PlanCoverageAndGeneralBenefits]: 'Plan Coverage And General Benefits',\n [InsuranceVerificationServiceType.PlanWaitingPeriod]: 'Plan Waiting Period',\n [InsuranceVerificationServiceType.Chiropractic]: 'Chiropractic',\n [InsuranceVerificationServiceType.DentalCare]: 'Dental Care',\n [InsuranceVerificationServiceType.DentalCrowns]: 'Dental Crowns',\n [InsuranceVerificationServiceType.DentalAccident]: 'Dental Accident',\n [InsuranceVerificationServiceType.Orthodontics]: 'Orthodontics',\n [InsuranceVerificationServiceType.Prosthodontics]: 'Prosthodontics',\n [InsuranceVerificationServiceType.OralSurgery]: 'Oral Surgery',\n [InsuranceVerificationServiceType.PreventiveDental]: 'Preventive Dental',\n [InsuranceVerificationServiceType.HomeHealthCare]: 'Home Health Care',\n [InsuranceVerificationServiceType.HomeHealthPrescriptions]: 'Home Health Prescriptions',\n [InsuranceVerificationServiceType.Hospice]: 'Hospice',\n [InsuranceVerificationServiceType.RespiteCare]: 'Respite Care',\n [InsuranceVerificationServiceType.Hospitalization]: 'Hospitalization',\n [InsuranceVerificationServiceType.HospitalizationInpatient]: 'Hospitalizaton Inpatient',\n [InsuranceVerificationServiceType.HospitalRoomAndBoard]: 'Hospital Room And Board',\n [InsuranceVerificationServiceType.LongTermCare]: 'Long Term Care',\n [InsuranceVerificationServiceType.MajorMedical]: 'Major Medical',\n [InsuranceVerificationServiceType.MedicallyRelatedTransportation]: 'Medically Related Transportation',\n [InsuranceVerificationServiceType.PlanCoverage]: 'Plan Coverage',\n [InsuranceVerificationServiceType.InvitroFertilization]: 'Invitro Fertilization',\n [InsuranceVerificationServiceType.MRIScan]: 'MRI Scan',\n [InsuranceVerificationServiceType.DonorProcedures]: 'Donor Procedures',\n [InsuranceVerificationServiceType.Acupuncture]: 'Acupuncture',\n [InsuranceVerificationServiceType.NewbornCare]: 'Newborn Care',\n [InsuranceVerificationServiceType.Pathology]: 'Pathology',\n [InsuranceVerificationServiceType.SmokingCessation]: 'Smoking Cessation',\n [InsuranceVerificationServiceType.WellBabyCare]: 'Well Baby Care',\n [InsuranceVerificationServiceType.Maternity]: 'Maternity',\n [InsuranceVerificationServiceType.Transplants]: 'Transplants',\n [InsuranceVerificationServiceType.Audiology]: 'Audiology',\n [InsuranceVerificationServiceType.InhalationTherapy]: 'Inhalation Therapy',\n [InsuranceVerificationServiceType.DiagnosticMedical]: 'Diagnostic Medical',\n [InsuranceVerificationServiceType.PrivateDutyNursing]: 'Private Duty Nursing',\n [InsuranceVerificationServiceType.Porsthetics]: 'Porsthetics',\n [InsuranceVerificationServiceType.Dialysis]: 'Dialysis',\n [InsuranceVerificationServiceType.Otology]: 'Otology',\n [InsuranceVerificationServiceType.Chemotherapy]: 'Chemotherapy',\n [InsuranceVerificationServiceType.AllergyTesting]: 'Allergy Testing',\n [InsuranceVerificationServiceType.Immunizations]: 'Immunizations',\n [InsuranceVerificationServiceType.RoutinePhysical]: 'Routine Physical',\n [InsuranceVerificationServiceType.FamilyPlanning]: 'Family Planning',\n [InsuranceVerificationServiceType.Infertility]: 'Infertility',\n [InsuranceVerificationServiceType.Abortion]: 'Abortion',\n [InsuranceVerificationServiceType.HivTreatment]: 'Hiv Treatment',\n [InsuranceVerificationServiceType.EmergencyServices]: 'Emergency Services',\n [InsuranceVerificationServiceType.CancerTreatment]: 'Cancer Treatment',\n [InsuranceVerificationServiceType.RetailPharmacy]: 'Retail Pharmacy',\n [InsuranceVerificationServiceType.FreeStandingPrescriptionDrug]: 'Free Standing Prescription Drug',\n [InsuranceVerificationServiceType.MailOrderPharmacy]: 'Mail Order Pharmacy',\n [InsuranceVerificationServiceType.BrandNamePrescriptionDrug]: 'Brand Name Prescription Drug',\n [InsuranceVerificationServiceType.GenericPrescriptionDrug]: 'Generic Prescription Drug',\n [InsuranceVerificationServiceType.Podiatry]: 'Podiatry',\n [InsuranceVerificationServiceType.DentalTestAndExaminations]: 'Dental Test And Examinations',\n [InsuranceVerificationServiceType.PeriodontalSurgicalServices]: 'Periodontal Surgical Services',\n [InsuranceVerificationServiceType.DentureRepairs]: 'Denture Repairs',\n [InsuranceVerificationServiceType.DentalNonSurgicalExtractions]: 'Dental Non Surgical Extractions',\n [InsuranceVerificationServiceType.PrescriptionDrug]: 'Prescription Drug',\n [InsuranceVerificationServiceType.BariatricServices]: 'Bariatric Services',\n [InsuranceVerificationServiceType.Psychiatric]: 'Psychiatric',\n [InsuranceVerificationServiceType.Psychotherapy]: 'Psychotherapy',\n [InsuranceVerificationServiceType.PsychiatricInpatient]: 'Psychiatric Inpatient',\n [InsuranceVerificationServiceType.PsychiatricOutpatient]: 'Psychiatric Outpatient',\n [InsuranceVerificationServiceType.Rehabilitation]: 'Rehabilitation',\n [InsuranceVerificationServiceType.RehabilitationInpatient]: 'Rehabilitation Inpatient',\n [InsuranceVerificationServiceType.RehabilitationOutpatient]: 'Rehabilitation Outpatient',\n [InsuranceVerificationServiceType.OccupationalTherapy]: 'Occupational Therapy',\n [InsuranceVerificationServiceType.PhysicalMedicine]: 'Physical Medicine',\n [InsuranceVerificationServiceType.SpeechTherapy]: 'Speech Therapy',\n [InsuranceVerificationServiceType.SkilledNursingCare]: 'Skilled Nursing Care',\n [InsuranceVerificationServiceType.SubstanceAbuse]: 'Substance Abuse',\n [InsuranceVerificationServiceType.AlcoholismTreatment]: 'Alcoholism Treatment',\n [InsuranceVerificationServiceType.DrugAddiction]: 'Drug Addiction',\n [InsuranceVerificationServiceType.Optometry]: 'Optometry',\n [InsuranceVerificationServiceType.Frames]: 'Frames',\n [InsuranceVerificationServiceType.Lenses]: 'Lenses',\n [InsuranceVerificationServiceType.RoutineEyeExam]: 'Routine Eye Exam',\n [InsuranceVerificationServiceType.NonmedicallyNecessaryPhysical]: 'Nonmedically Necessary Physical',\n [InsuranceVerificationServiceType.ExperimentalDrugTherapy]: 'Experimental Drug Therapy',\n [InsuranceVerificationServiceType.BurnCare]: 'Burn Care',\n [InsuranceVerificationServiceType.IndependentMedicalEvaluation]: 'Independent Medical Evaluation',\n [InsuranceVerificationServiceType.PsychiatricTreatmentPartialHospitalization]: 'Psychiatric Treatment Partial Hospitalization',\n [InsuranceVerificationServiceType.DayCare]: 'Day Care',\n [InsuranceVerificationServiceType.CognitiveTherapy]: 'Cognitive Therapy',\n [InsuranceVerificationServiceType.MassageTherapy]: 'Massage Therapy',\n [InsuranceVerificationServiceType.PulmonaryRehabilitation]: 'Pulmonary Rehabilitation',\n [InsuranceVerificationServiceType.CardiacRehabilitation]: 'Cardiac Rehabilitation',\n [InsuranceVerificationServiceType.Pediatric]: 'Pediatric',\n [InsuranceVerificationServiceType.NurseryRoomAndBoard]: 'Nursery Room And Board',\n [InsuranceVerificationServiceType.Orthopedic]: 'Orthopedic',\n [InsuranceVerificationServiceType.Cardiac]: 'Cardiac',\n [InsuranceVerificationServiceType.Lymphatic]: 'Lymphatic',\n [InsuranceVerificationServiceType.Gastrointestinal]: 'Gastrointestinal',\n [InsuranceVerificationServiceType.Endocrine]: 'Endocrine',\n [InsuranceVerificationServiceType.Neurology]: 'Neurology',\n [InsuranceVerificationServiceType.Gynecological]: 'Gynecological',\n [InsuranceVerificationServiceType.Obstetrical]: 'Obstetrical',\n [InsuranceVerificationServiceType.ObstetricalGynecological]: 'Obstetrical Gynecological',\n [InsuranceVerificationServiceType.SickPhysicianVisit]: 'Sick Physician Visit',\n [InsuranceVerificationServiceType.WellPhysicianVisit]: 'Well Physician Visit',\n [InsuranceVerificationServiceType.CoronaryCare]: 'Coronary Care',\n [InsuranceVerificationServiceType.ScreeningXRay]: 'Screening X-Ray',\n [InsuranceVerificationServiceType.ScreeningLaboratory]: 'Screening Laboratory',\n [InsuranceVerificationServiceType.MammogramHighRisk]: 'Mammogram High Risk',\n [InsuranceVerificationServiceType.MammogramLowRisk]: 'Mammogram Low Risk',\n [InsuranceVerificationServiceType.FluVaccination]: 'Flu Vaccination',\n [InsuranceVerificationServiceType.EyewearAccessories]: 'Eyewear Accessories',\n [InsuranceVerificationServiceType.CaseManagement]: 'Case Management',\n [InsuranceVerificationServiceType.Dermatology]: 'Dermatology',\n [InsuranceVerificationServiceType.DurableMedicalEquipment]: 'Durable Medical Equipment',\n [InsuranceVerificationServiceType.DiabeticSupplies]: 'Diabetic Supplies',\n [InsuranceVerificationServiceType.AppliedBehavioralAnalysisTherapy]: 'Applied Behavioral Analysis Therapy',\n [InsuranceVerificationServiceType.NonMedicalEquipment]: 'Non Medical Equipment',\n [InsuranceVerificationServiceType.PsychiatricEmergency]: 'Psychiatric Emergency',\n [InsuranceVerificationServiceType.StepDownUnit]: 'Step Down Unit',\n [InsuranceVerificationServiceType.SkilledNursingFacilityHeadLevelOfCare]: 'Skilled Nursing Facility Head Level Of Care',\n [InsuranceVerificationServiceType.SkilledNursingFacilityVentilatorLevelOfCare]: 'Skilled Nursing Facility Ventilator Level Of Care',\n [InsuranceVerificationServiceType.LevelOfCare1]: 'Level Of Care 1',\n [InsuranceVerificationServiceType.LevelOfCare2]: 'Level Of Care 2',\n [InsuranceVerificationServiceType.LevelOfCare3]: 'Level Of Care 3',\n [InsuranceVerificationServiceType.LevelOfCare4]: 'Level Of Care 4',\n [InsuranceVerificationServiceType.Radiographs]: 'Radiographs',\n [InsuranceVerificationServiceType.DiagnosticImaging]: 'Diagnostic Imaging',\n [InsuranceVerificationServiceType.FixedProsthodontics]: 'Fixed Prosthodontics',\n [InsuranceVerificationServiceType.RemovableProsthodontics]: 'Removable Prosthodontics',\n [InsuranceVerificationServiceType.IntraoralImages]: 'Intraoral Images',\n [InsuranceVerificationServiceType.OralEvaluation]: 'Oral Evaluation',\n [InsuranceVerificationServiceType.DentalProphylaxis]: 'Dental Prophylaxis',\n [InsuranceVerificationServiceType.PanoramicImages]: 'Panoramic Images',\n [InsuranceVerificationServiceType.Sealants]: 'Sealants',\n [InsuranceVerificationServiceType.FluorideTreatments]: 'Fluoride Treatments',\n [InsuranceVerificationServiceType.DentalImplants]: 'Dental Implants',\n [InsuranceVerificationServiceType.TemporomandibularJointDysfunction]: 'Temporomandibular Joint Dysfunction',\n [InsuranceVerificationServiceType.LongTermCarePharmacy]: 'Long Term Care Pharmacy',\n [InsuranceVerificationServiceType.ComprehensiveMedicationTherapyManagementReview]: 'Comprehensive Medication Therapy Management Review',\n [InsuranceVerificationServiceType.TargetedMedicationTherapyManagementReview]: 'Targeted Medication Therapy Management Review',\n [InsuranceVerificationServiceType.DietaryServices]: 'Dietary Services',\n [InsuranceVerificationServiceType.IntensiveCardiacRehabilitation]: 'Intensive Cardiac Rehabilitation',\n [InsuranceVerificationServiceType.ConvenienceCare]: 'Convenience Care',\n [InsuranceVerificationServiceType.Telemedicine]: 'Telemedicine',\n [InsuranceVerificationServiceType.PharmacistServices]: 'Pharmacist Services',\n [InsuranceVerificationServiceType.DiabeticEducation]: 'Diabetic Education',\n [InsuranceVerificationServiceType.EarlyIntervention]: 'Early Intervention',\n [InsuranceVerificationServiceType.PreventiveServices]: 'Preventive Services',\n [InsuranceVerificationServiceType.SpecialtyPharmacy]: 'Specialty Pharmacy',\n [InsuranceVerificationServiceType.DurableMedicalEquipmentNew]: 'Durable Medical Equipment New',\n [InsuranceVerificationServiceType.CATScan]: 'CAT Scan',\n [InsuranceVerificationServiceType.Ophthalmology]: 'Ophthalmology',\n [InsuranceVerificationServiceType.ContactLenses]: 'ContactLenses',\n [InsuranceVerificationServiceType.FertilityPreservation]: 'Fertility Preservation',\n [InsuranceVerificationServiceType.MedicallyTailoredMeals]: 'Medically Tailored Meals',\n [InsuranceVerificationServiceType.IVTherapy]: 'IV Therapy',\n [InsuranceVerificationServiceType.MedicalCoverage]: 'Medical Coverage',\n [InsuranceVerificationServiceType.SocialWorkCoverage]: 'Social Work Coverage',\n [InsuranceVerificationServiceType.DentalCoverage]: 'Dental Coverage',\n [InsuranceVerificationServiceType.HearingCoverage]: 'Hearing Coverage',\n [InsuranceVerificationServiceType.PrescriptionDrugCoverage]: 'Prescription Drug Coverage',\n [InsuranceVerificationServiceType.VisionCoverage]: 'Vision Coverage',\n [InsuranceVerificationServiceType.OrthodontiaCoverage]: 'Orthodontia Coverage',\n [InsuranceVerificationServiceType.MentalHealthCoverage]: 'Mental Health Coverage',\n [InsuranceVerificationServiceType.GenericPrescriptionDrugFormulary]: 'Generic Prescription Drug Formulary',\n [InsuranceVerificationServiceType.GenericPrescriptionDrugNonFormulary]: 'Generic Prescription Drug Non Formulary',\n [InsuranceVerificationServiceType.Allergy]: 'Allergy',\n [InsuranceVerificationServiceType.IntesiveCare]: 'Intesive Care',\n [InsuranceVerificationServiceType.MentalHealth]: 'Mental Health',\n [InsuranceVerificationServiceType.NeonatalIntensiveCare]: 'Neonatal Intensive Care',\n [InsuranceVerificationServiceType.Oncology]: 'Oncology',\n [InsuranceVerificationServiceType.PositronEmissionTomographyScan]: 'Positron Emission Tomography Scan',\n [InsuranceVerificationServiceType.PhysicalTherapy]: 'Physical Therapy',\n [InsuranceVerificationServiceType.Pulmonary]: 'Pulmonary',\n [InsuranceVerificationServiceType.Renal]: 'Renal',\n [InsuranceVerificationServiceType.ResidentialPsychiatricTreatment]: 'Residential Psychiatric Treatment',\n [InsuranceVerificationServiceType.SeriousMentalHealth]: 'Serious Mental Health',\n [InsuranceVerificationServiceType.TransitionalCare]: 'Transitional Care',\n [InsuranceVerificationServiceType.TransitionalNurseryCare]: 'Transitional Nursery Care',\n [InsuranceVerificationServiceType.UrgentCare]: 'Urgent Care'\n}","import React from \"react\";\nimport _ from \"lodash\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport { Box, Dialog, DialogContent, DialogTitle, Divider, IconButton, Typography } from \"@material-ui/core\";\nimport { useFacade } from \"./insuranceVerificationModal.hooks\";\nimport moment from \"moment\";\nimport { insuranceVerificationEligibilityCodeLabel, insuranceVerificationServiceTypeLabel, insuranceVerificationTimePeriodQualifierLabel } from \"../../constants/insurance.constants\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\n\nexport const InsuranceVerificationModalComponent: React.FC = () => {\n const [\n {\n isOpen,\n isLoading,\n notFound,\n details\n },\n handleClose\n ] = useFacade();\n\n\n const renderField = (title: string, value: string) => (\n \n {title}\n \n \n {value}\n \n \n \n )\n\n const renderContent = () => {\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n if (notFound) {\n return (\n \n Unable to find 271 result.\n \n )\n }\n\n return (\n \n \n \n Sender\n \n {renderField(\"Name\", details?.sender?.organizationName)}\n \n \n \n Subscriber\n \n {renderField(\"Name\", `${details?.subscriber?.firstName} ${details?.subscriber?.lastName}`)}\n {renderField(\"Policy Number\", `${details?.subscriber?.memberId}`)}\n {renderField(\"DOB\", `${moment(details?.subscriber?.birthday).format('YYYY-MM-DD')}`)}\n {details?.subscriber?.address && (\n renderField(\"Address\", `${details?.subscriber?.address} ${details?.subscriber?.city} ${details?.subscriber?.state} ${details?.subscriber?.zipCode}`)\n )}\n \n \n {details?.dependent && (\n \n Dependent\n \n {renderField(\"Name\", `${details?.dependent?.firstName} ${details?.dependent?.lastName}`)}\n {renderField(\"Address\", `${details?.dependent?.address} ${details?.dependent?.city} ${details?.dependent?.state} ${details?.dependent?.zipCode}`)}\n {renderField(\"DOB\", `${moment(details?.dependent?.birthday).format('YYYY-MM-DD')}`)}\n {renderField(\"Insured is Subscriber\", `${details?.dependent?.insuredBenefit?.insuredIsSubscriber}`)}\n {renderField(\"Relationship\", `${details?.dependent?.insuredBenefit?.relationshipCode}`)}\n \n \n )}\n \n Benefits\n \n {Object.entries(_.groupBy(details?.benefits, 'serviceTypeCode')).map(([key, value]: [string, any[]]) => (\n \n Service Type: {insuranceVerificationServiceTypeLabel[key] ?? key}\n \n {value.map((benefit, index) => (\n \n {index !== 0 && }\n {renderField(\"Type\", insuranceVerificationEligibilityCodeLabel[benefit.eligibilityCode] ?? benefit.eligibilityCode)}\n {renderField(\"Coverage\", benefit.coverageLevelCode)}\n {benefit.inNetworkIndicator && renderField(\"In Network\", benefit.inNetworkIndicator)}\n {benefit.timePeriodQualifier && renderField(\"Time Period\", insuranceVerificationTimePeriodQualifierLabel[benefit.timePeriodQualifier])}\n {renderField(\"Amount\", benefit.amount)}\n {benefit.message && renderField(\"Message\", benefit.message)}\n \n ))}\n \n \n ))}\n \n \n \n \n );\n }\n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n \n \n Insurance Verification Result\n handleClose()}>\n \n \n \n \n {renderContent()}\n \n );\n}","import { Box, Card, Link, Table, TableBody, TableContainer, TableHead } from \"@material-ui/core\";\nimport moment from 'moment';\nimport React from 'react';\nimport { useStyles } from \"./insuranceCardHistory.styles\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { VerificationsHistoryModel } from \"../../models/insurance.models\";\nimport { InsuranceVerificationModalComponent } from \"../insuranceVerificationModalComponent/InsuranceVerificationModalComponent\";\nimport { useFacade } from \"./insuranceCardHistoryComponent.hooks\";\n\ninterface InsuranceCardHistoryComponentProps {\n insurances: VerificationsHistoryModel[];\n displayNameHistory: Function;\n displayNumberCoverageHistory: Function;\n}\n\nexport const InsuranceCardHistoryComponent: React.FC = (props: InsuranceCardHistoryComponentProps) => {\n const [\n state,\n handleViewDetails\n ] = useFacade();\n\n const classes = useStyles();\n\n return (\n \n \n \n \n \n \n Member ID\n \n \n Carrier\n \n \n Status\n \n \n Details\n \n \n \n \n {\n props.insurances.map((verification, index) =>\n \n \n \n {props.displayNumberCoverageHistory(+verification.coverageId)}\n \n \n \n \n {props.displayNameHistory(+verification.coverageId)}\n \n \n \n {verification.isVerified ? 'Verified' : 'Failed verification'} on {moment(toCurrentTimeZone(verification.runAt)).format('MM/DD/YYYY')}\n \n \n \n handleViewDetails(verification.id)}>View\n \n \n \n )\n }\n \n
\n
\n \n
\n );\n}","import { StringValueToken } from \"html2canvas/dist/types/css/syntax/tokenizer\";\nimport { StateModel } from \"../../account/models/address.model\";\nimport {CoverageStatus} from \"../enums/coverageStatus\";\nimport { AddressModel } from \"../../common/models/address.models\";\n\nexport interface PolicyHolderModel {\n firstName: string,\n lastName: string,\n relationship: string,\n dateOfBirth: string\n}\n\nexport interface CreateCoverageModel {\n insuranceId: number;\n memberId: string;\n isPrimary: boolean;\n frontImage: File;\n backImage: File;\n policyHolder: PolicyHolderModel;\n}\n\nexport interface CreateCoverageOnBehalfModel extends CreateCoverageModel {\n patientId: number;\n}\n\nexport interface UpdateCoverageModel {\n id: number;\n insuranceId: number;\n memberId: string;\n isPrimary: boolean;\n frontImage: File;\n backImage: File;\n policyHolder: PolicyHolderModel;\n}\n\nexport interface UpdateCoverageOnBehalfModel extends UpdateCoverageModel{\n patientId: number;\n}\n\nexport interface InsuranceVerificationModel {\n id: number;\n patientId: number,\n isVerified: boolean,\n coverageId: string,\n }\n\nexport interface InsuranceVerificationDetailsModel {\n benefits: BenefitModel[];\n sender: SenderModel;\n subscriber: SubscriberModel;\n dependent: SubscriberModel;B\n}\n\ninterface BenefitModel {\n amount: number;\n coverageLevelCode: string;\n coveragePlanDescription: string;\n dateTimePeriod: string;\n dateTimePeriodFormat: string;\n eligibilityCode: string;\n inNetworkIndicator: string;\n insuranceTypeCode: string;\n message: string;\n quantityQualifier: string;\n serviceTypeCode: string;\n timePeriodQualifier: string;\n}\n\ninterface SenderModel {\n entityIdentifierCode: string;\n entityTypeQualifier: string;\n identificationCodeQualifier: string;\n identifier: string;\n organizationName: string;\n}\n\ninterface SubscriberModel {\n address: string;\n birthday: string;\n city: string;\n entityIdentifierCode: string;\n entityTypeQualifier: string;\n firstName: string; \n gender: string;\n identificationCodeQualifier: string;\n insuredBenefit: InsuredBenefitModel;\n lastName: string;\n memberId: string;\n middleInitial: string;\n state: string;\n validation: ValidationModel;\n zipCode: string;\n}\n\ninterface InsuredBenefitModel {\n insuredIsSubscriber: string;\n maintenanceReasonCode: string;\n maintenanceTypeCode: string;\n relationshipCode: string;\n}\n\ninterface ValidationModel {\n responseCode: string;\n reasonCode: string;\n actionCode: string;\n}\n\nexport interface VerificationsHistoryModel {\n id: number;\n patientId: number,\n isVerified: boolean,\n coverageId: number,\n runAt: Date,\n}\n\nexport enum CoveragePriority {\n Primary = 10,\n Secondary = 20,\n Tertiary = 30\n}\n\nexport interface CoverageModel {\n id: number;\n memberId: string;\n status: CoverageStatus;\n priority: CoveragePriority;\n policyHolder: PolicyHolderModel;\n insurance: InsuranceModel;\n verifications: InsuranceVerificationModel[];\n universalId: string;\n}\n\nexport const Relationships = {\n 'SELF': 'Self',\n 'CHILD': 'Child',\n 'SPS': 'Spouse',\n 'E': 'Employer',\n 'U': 'Unknown',\n 'OTHER': 'Other'\n}\n\nexport const RelationshipNames: Map = new Map()\n .set('SELF', 'Self')\n .set('CHILD', 'Child')\n .set('SPS', 'Spouse')\n .set('E', 'Employer')\n .set('U', 'Unknown')\n .set('OTHER', 'Other');\n\nexport interface InsuranceModel {\n id: number;\n name: string;\n states: StateModel[];\n}\n\nexport interface AddInsuranceModel {\n insurance: InsuranceModel;\n states: StateModel[];\n}\n\nexport interface UpdateInsuranceStatesModel {\n id: number;\n states: StateModel[];\n}\n\nexport interface RemitModel {\n id: string;\n createdDate: string;\n details: RemitDetailModel[];\n meta: MetaModel;\n organization: IdentifierModel;\n total: CostModel;\n}\n\ninterface RemitDetailModel {\n payee: IdentifierModel;\n amount: CostModel;\n date: string;\n claim: IdentifierModel;\n type: {\n codings: CodingModel[];\n }\n}\n\ninterface CodingModel {\n code: string;\n display: StringValueToken;\n system: string;\n}\n\ninterface MetaModel {\n lastUpdated: string;\n}\n\ninterface IdentifierModel {\n identifier: string;\n}\n\ninterface CostModel {\n unit: string;\n value: number;\n}\n\ninterface InsurancePlan {\n insurance: InsuranceModel;\n name: string;\n}\n\nexport interface RealTimeEligibilityConfiguration {\n failureManagementType: number;\n npi: string;\n tradingPartnerId: string;\n requireGroupNumber: boolean;\n includeCptCode: boolean;\n memberIdValidationRegex: string;\n}\n\nexport interface ClaimAutomationConfiguration {\n useSubscriberName: boolean;\n addressOverride: AddressModel;\n}\n\ninterface ClaimSubmissionConfiguration {\n claimsPartnerId: string;\n cptCode: string;\n modifier: string;\n lockCodeEntries: boolean;\n placeOfService: string;\n includeRenderingProviderInformation: boolean;\n}\n\ninterface RealTimeSubmissionConfiguration {\n serviceTypeCode: string;\n payerOverride: string;\n}\n\ninterface RealTimeResponseConfiguration {\n use271Price: boolean;\n preDeductibleSubsidy: number;\n postDeductibleSubsidy: number;\n useOutOfPocketMaximum: boolean;\n preDeductibleOrganizationSubsidy: number;\n postDeductibleOrganizationSubsidy: number;\n nonCoveredExclusions: boolean;\n includeEligibilityMessageRegex: string;\n excludeEligibilityMessageRegex: string;\n eligibleGroupNumbers: string;\n groupIdRegex: string;\n rejectIfNoServiceTypeBenefit: boolean;\n blockPlanDescriptions: string;\n blockInsurancePlans: string;\n allowZeroDollarDeductible: boolean;\n allowZeroDollarCopay: boolean;\n allowZeroPercentCoinsurance: boolean;\n responseServiceTypes: string;\n copayPreDeductibleRegex: string;\n copayPostDeductibleRegex: string;\n determineDeductibleRegex: string;\n determineCopayRegex: string;\n determineCoinsuranceRegex: string;\n alwaysApplyCopayAfterDeductible: boolean;\n}\n\nexport interface ServiceConfiguration {\n id?: number;\n label: string;\n type: number;\n fee: number;\n maximumVisitLength: number;\n minimumVisitLength: number;\n newPatientsOnly: boolean;\n supportsRte: boolean;\n supportsClaims: boolean;\n insuranceConfigId: number;\n claimSubmissionConfig: ClaimSubmissionConfiguration;\n rteSubmissionConfig: RealTimeSubmissionConfiguration;\n rteResponseConfig: RealTimeResponseConfiguration;\n stateIds: number[];\n isOpen: boolean;\n insurancePlanIds: number[];\n}\n\nconst emptyClaimSubmissionConfiguration = {\n claimsPartnerId: '',\n cptCode: '',\n modifier: '',\n lockCodeEntries: false,\n placeOfService: '',\n includeRenderingProviderInformation: false\n}\n\nconst emptyRealTimeSubmissionConfiguration = {\n serviceTypeCode: '',\n payerOverride: ''\n}\n\nconst emptyRealTimeResponseConfiguration = {\n use271Price: false,\n preDeductibleSubsidy: 0,\n postDeductibleSubsidy: 0,\n useOutOfPocketMaximum: false,\n preDeductibleOrganizationSubsidy: 0,\n postDeductibleOrganizationSubsidy: 0,\n nonCoveredExclusions: false,\n includeEligibilityMessageRegex: '',\n excludeEligibilityMessageRegex: '',\n eligibleGroupNumbers: '',\n groupIdRegex: '',\n rejectIfNoServiceTypeBenefit: false,\n blockPlanDescriptions: '',\n blockInsurancePlans: '',\n allowZeroDollarDeductible: false,\n allowZeroDollarCopay: false,\n allowZeroPercentCoinsurance: false,\n responseServiceTypes: '',\n copayPreDeductibleRegex: '',\n copayPostDeductibleRegex: '',\n determineDeductibleRegex: '',\n determineCopayRegex: '',\n determineCoinsuranceRegex: '',\n alwaysApplyCopayAfterDeductible: false\n}\n\nconst emptyServiceConfiguration: ServiceConfiguration = {\n id: 0,\n label: '',\n type: 0,\n fee: 0,\n maximumVisitLength: 0,\n minimumVisitLength: 0,\n newPatientsOnly: false,\n supportsRte: false,\n supportsClaims: false,\n insuranceConfigId: 0,\n claimSubmissionConfig: Object.assign({}, emptyClaimSubmissionConfiguration),\n rteSubmissionConfig: Object.assign({}, emptyRealTimeSubmissionConfiguration),\n rteResponseConfig: Object.assign({}, emptyRealTimeResponseConfiguration),\n isOpen: true,\n stateIds: [],\n insurancePlanIds: []\n}\n\nexport const getInitServiceConfiguration = () => Object.assign({}, emptyServiceConfiguration);\n\nexport interface InsuranceConfiguration {\n id: number;\n insurance: InsuranceModel;\n payerNameAlias: string;\n payerLogo: string;\n groupIdDisplayName: string;\n memberIdDisplayName: string;\n supportsEligibilityLookup: boolean;\n providerInstructions: string;\n patientMessaging: string;\n startDate: Date;\n endDate: Date;\n rteConfig: RealTimeEligibilityConfiguration;\n claimAutomationConfig: ClaimAutomationConfiguration;\n serviceConfigurations: ServiceConfiguration[];\n insurancePlans: InsurancePlan[];\n}\n\nexport interface CreateInsuranceConfigurationModel {\n payerNameAlias: string;\n payerLogo: string;\n groupIdDisplayName: string;\n memberIdDisplayName: string;\n supportsEligibilityLookup: boolean;\n providerInstructions: string;\n patientMessaging: string;\n startDate: Date;\n endDate: Date;\n insuranceId: number;\n practiceId: number;\n rteConfig: RealTimeEligibilityConfiguration;\n claimAutomationConfig: ClaimAutomationConfiguration;\n}\n\nexport interface UpdateInsuranceConfigurationModel extends CreateInsuranceConfigurationModel {\n id: number;\n insurancePlanIds: number[];\n}\n\nexport interface CreateServiceConfigurationModel extends ServiceConfiguration {\n stateIds: number[];\n}\n\nexport interface UpdateServiceConfigurationModel extends CreateServiceConfigurationModel {\n id: number;\n}\n\nexport interface InsurancePlanModel {\n id: number;\n name: string;\n insuranceId: number;\n identifier: string;\n}\n\nexport interface InsuranceAvailabilityModel {\n isAvailable: boolean;\n unavailabilityReason: string;\n}","import { useState } from \"react\";\nimport { insuranceVerificationService } from \"../../services/insuranceVerification.service\";\n\ninterface InsuranceCardHistoryComponentState {\n isVerifyInsuranceOpen: boolean;\n selectedCoverageId: string;\n isRunningVerification: boolean;\n}\n\nexport function useFacade(): [InsuranceCardHistoryComponentState, Function] {\n const [state, setState] = useState({\n isVerifyInsuranceOpen: false,\n selectedCoverageId: '',\n } as InsuranceCardHistoryComponentState);\n\n const handleViewDetails = (insuranceVerificationId: number) => {\n insuranceVerificationService.requestInsuranceVerificationDetails(insuranceVerificationId).subscribe(\n (model) => {\n setState(state => ({\n ...state,\n isAddButtonLoading: true\n }));\n }\n )\n }\n\n return [state, handleViewDetails];\n}","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { notWhitespaceValidationRule, rangeValidationRule, stringLengthValidationRule } from \"../../../common/validation/general-validation-rules\";\n\nexport const insuranceComponentValidator = new GeneralValidator({\n 'memberId': [stringLengthValidationRule(1, null, \"Member id should not be empty.\"), notWhitespaceValidationRule()],\n 'insurance.id': [rangeValidationRule(1, null, \"Insurance Provider should not be empty.\"), notWhitespaceValidationRule()],\n 'insuranceId': [stringLengthValidationRule(1, null, \"Insurance Provider should not be empty.\"), notWhitespaceValidationRule()],\n 'policyHolder.firstName': [stringLengthValidationRule(1, null, \"First name should not be empty.\"), notWhitespaceValidationRule()],\n 'policyHolder.lastName': [stringLengthValidationRule(1, null, \"Last name should not be empty.\"), notWhitespaceValidationRule()],\n 'policyHolder.dateOfBirth': [stringLengthValidationRule(1, null, \"Date of birth should not be empty.\"), notWhitespaceValidationRule()],\n 'policyHolder.relationship': [stringLengthValidationRule(1, null, \"Relationship should not be empty.\"), notWhitespaceValidationRule()],\n});","var _path, _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCamera = function SvgCamera(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_3915_76415\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 2,\n y: 3,\n width: 20,\n height: 18\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20 5H16.83L15.59 3.65C15.22 3.24 14.68 3 14.12 3H9.88C9.32 3 8.78 3.24 8.4 3.65L7.17 5H4C2.9 5 2 5.9 2 7V19C2 20.1 2.9 21 4 21H20C21.1 21 22 20.1 22 19V7C22 5.9 21.1 5 20 5ZM12 10C10.3431 10 9 11.3431 9 13C9 14.6569 10.3431 16 12 16C13.6569 16 15 14.6569 15 13C15 11.3431 13.6569 10 12 10ZM7 13C7 15.76 9.24 18 12 18C14.76 18 17 15.76 17 13C17 10.24 14.76 8 12 8C9.24 8 7 10.24 7 13Z\",\n fill: \"black\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_3915_76415)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"#1F72A2\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCamera, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/camera.e53308b0.svg\";\nexport { ForwardRef as ReactComponent };","import {createStyles, makeStyles} from \"@material-ui/core/styles\";\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n dropContainer: {\n height: 121,\n width: '100%',\n border: `1px dashed ${colors.gray1}`,\n background: `${colors.lightGray2}99`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dropIcon: {\n color: colors.gray1,\n fontSize: 40,\n marginRight: 4,\n\n },\n dropTitle: {\n color: colors.gray1,\n fontSize: 16,\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.gray8,\n display: 'flex',\n alignItems: 'center',\n maxWidth: 500,\n height: 32,\n },\n attachmentIcon: {\n color: colors.gray2,\n },\n attachmentTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n\n label: {\n textTransform: `none`,\n color: colors.main,\n fontSize: 16,\n textDecoration: 'underline',\n },\n progress: {\n color: colors.main\n },\n deleteIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '278px',\n maxWidth: '278px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n uploadedImage: {\n background: colors.lightGray2,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n width: '100%',\n height: '121px'\n }\n })\n);","import {DialogTitle} from \"../../../common/components/dialogTitle/DialogTitle\";\nimport {\n Box,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n FormControl, FormHelperText,\n Grid, IconButton,\n InputLabel,\n MenuItem,\n Select, TextField\n} from \"@material-ui/core\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport React from \"react\";\nimport {useFacade} from \"./createInsuranceModalComponent.hooks\";\nimport {WildHealthDatePicker} from \"../../../common/components/WildHealthDatePicker\";\nimport {RelationshipNames, Relationships} from \"../../models/insurance.models\";\nimport CheckBoxOutlineBlankIcon from \"@material-ui/icons/CheckBoxOutlineBlank\";\nimport {colors} from \"../../../common/constants/colors\";\nimport CheckBoxIcon from \"@material-ui/icons/CheckBox\";\nimport { ReactComponent as PhotoIcon } from '@img/icons/camera.svg';\nimport Dropzone from \"react-dropzone\";\nimport {useStyles} from \"./createInsuranceModalComponent.styles\";\n\nexport const CreateInsuranceModalComponent: React.FC = () => {\n\n const [\n {\n isOpen,\n containPolicyHolder,\n insurances,\n frontImage,\n backImage,\n model,\n errors\n },\n handleChanges,\n handleSetAsPrimary,\n handleUploadFrontImage,\n handleUploadBackImage,\n togglePolicyHolder,\n handleClose,\n handleSubmit\n ] = useFacade();\n\n const controlIcon = ;\n const controlCheckedIcon = ;\n const fileTypes = [\"image/jpeg\", \"image/png\"];\n const classes = useStyles();\n\n const renderDropZone = (image: File, handleUpload: Function) => {\n return (\n <>\n {\n !image &&\n handleUpload(t[0])}\n >\n {\n ({ getRootProps, getInputProps, open }) => {\n const rootProps = getRootProps();\n delete rootProps['onClick']\n\n return (\n
\n \n \n \n \n \n \n
\n )\n }\n }\n \n }\n {\n image &&\n \n\n \n }\n \n )\n }\n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n handleClose()} id='dialog-title'>Add Insurance\n \n \n \n \n \n \n \n \n \n \n Insurance Provider\n handleChanges('insuranceId', v.target.value as string)}\n >\n {\n insurances.sort((a, b) => a.name?.toLowerCase() > b.name?.toLowerCase() ? 1 : -1).map((value) => {\n return {value.name}\n })\n }\n \n {errors[`insurance.id`]}\n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n Please upload both the front and the back of your insurance card. (Optional)\n \n \n \n {\n renderDropZone(frontImage, handleUploadFrontImage)\n }\n \n \n {\n renderDropZone(backImage, handleUploadBackImage)\n }\n \n \n \n \n handleSetAsPrimary(!model.isPrimary)}\n />\n \n \n Set as Primary\n \n \n \n \n \n \n togglePolicyHolder()}\n />\n \n \n I am not the main policyholder\n \n \n \n {\n containPolicyHolder &&\n <>\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n handleChanges(`policyHolder.dateOfBirth`, momentDate.toISOString())}\n disableFuture\n error={!!errors[`policyHolder.dateOfBirth`]}\n helperText={errors[`policyHolder.dateOfBirth`]}\n />\n \n \n \n Relationship to policyholder\n handleChanges('policyHolder.relationship', v.target.value as string)}\n >\n {\n Object\n .keys(Relationships)\n .filter(x => Relationships[x] !== Relationships.SELF)\n .map((key) => {\n return {RelationshipNames.get(key)}\n })\n }\n \n {errors[`policyHolder.relationship`]}\n \n \n \n }\n \n \n \n \n \n \n \n\n \n \n handleClose()}\n width={100}\n size='large'\n color='tertiary'\n >\n Cancel\n \n \n \n handleSubmit()}>\n Save\n \n \n \n \n \n );\n}\n","import {useEffect, useState} from \"react\";\nimport {CreateCoverageOnBehalfModel, InsuranceModel} from \"../../models/insurance.models\";\nimport {insuranceService} from \"../../services/insurance.service\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {insuranceQuery} from \"../../stores/insurance.query\";\nimport {insuranceComponentValidator} from \"../insuranceComponent/insuranceComponent.validator\";\nimport {confirmService} from \"../../../../services/confirm.service\";\n\ninterface CreateInsuranceModalComponentState extends IErrorState {\n isOpen: boolean;\n containPolicyHolder: boolean;\n insurances: InsuranceModel[];\n model: CreateCoverageOnBehalfModel;\n frontImage: File;\n backImage: File;\n callback: Function;\n}\n\nexport function useFacade(): [\n CreateInsuranceModalComponentState,\n (field: string, value: string) => void,\n (isPrimary: boolean) => void,\n (frontImage: File) => void,\n (backImage: File) => void,\n () => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isOpen: false,\n containPolicyHolder: false,\n insurances: [],\n callback: null,\n frontImage: null,\n backImage: null,\n errors: {},\n model: {\n patientId: 0,\n insuranceId: 0,\n memberId: '',\n policyHolder: null\n }\n } as CreateInsuranceModalComponentState);\n\n const handleChanges = (field: string, value: string) => {\n const model = state.model;\n\n insuranceComponentValidator.validateAndSetState(state, setState, field, value);\n\n const fields = field.split('.');\n\n if (fields.length > 1) {\n const obj = model[fields[0]];\n obj[fields[1]] = value;\n } else {\n model[field] = value;\n }\n\n setState({...state, model: model});\n }\n\n const handleSetAsPrimary = (isPrimary: boolean) => {\n setState(state => ({\n ...state,\n model: {\n ...state.model,\n isPrimary: isPrimary\n }\n }));\n }\n\n const handleUploadFrontImage = (frontImage: File) => {\n setState(state => ({\n ...state,\n frontImage: frontImage\n }));\n }\n\n const handleUploadBackImage = (backImage: File) => {\n setState(state => ({\n ...state,\n backImage: backImage\n }));\n }\n\n const togglePolicyHolder = () => {\n setState(state => ({\n ...state,\n containPolicyHolder: !state.containPolicyHolder,\n model: {\n ...state.model,\n policyHolder: !state.containPolicyHolder\n ? {\n firstName: '',\n lastName: '',\n dateOfBirth: null,\n relationship: ''\n } : null\n }\n }));\n }\n\n const handleClose = () => {\n state.callback(null);\n close();\n }\n\n const handleSubmit = () => {\n confirmService.confirmInsurance().subscribe(\n () => {\n const model = state.model;\n model.frontImage = state.frontImage;\n model.backImage = state.backImage;\n state.callback(state.model);\n close();\n });\n }\n\n const close = () => {\n setState(state => ({\n ...state,\n isOpen: false,\n containPolicyHolder: false,\n callback: null,\n frontImage: null,\n backImage: null,\n errors: {},\n model: {\n patientId: 0,\n insuranceId: 0,\n memberId: '',\n isPrimary: false,\n frontImage: null,\n backImage: null,\n policyHolder: null\n }\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(insuranceQuery.insurances$, insurances => {\n setState(state => ({\n ...state,\n insurances: insurances,\n }))\n })\n ];\n\n subscriptions.push(insuranceService.onCreateInsurance.subscribe((data) => {\n setState(state => ({\n ...state,\n isOpen: true,\n containPolicyHolder: false,\n callback: data.callback,\n errors: {},\n model: {\n patientId: data.data,\n insuranceId: 0,\n memberId: '',\n isPrimary: false,\n frontImage: null,\n backImage: null,\n policyHolder: null\n }\n }));\n }));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n }\n }, [])\n\n return [\n state,\n handleChanges,\n handleSetAsPrimary,\n handleUploadFrontImage,\n handleUploadBackImage,\n togglePolicyHolder,\n handleClose,\n handleSubmit\n ];\n}","import { Box, Dialog, DialogActions, DialogContent, DialogContentText, useMediaQuery, useTheme, Button } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { DialogTitle } from '../../components/dialogTitle/DialogTitle';\nimport { WildHealthButton } from '../../components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../styles/common.styles';\nimport { useFacade } from \"./confirmInsuranceDialog.hooks\";\nimport { useStyles } from \"./ConfirmDialog.styles\";\nimport { isIOS } from \"react-device-detect\";\n\nexport const ConfirmInsuranceDialog: React.FC = () => {\n const [state, handleAnswer] = useFacade();\n\n const handleKeyPress = (event) => {\n if (event.key === 'Enter') {\n handleAnswer(true);\n }\n }\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n handleKeyPress(e)}>\n \n {!fullScreen && (\n \n Insurance Confirmation\n \n )}\n\n \n {\n fullScreen ? (\n <>\n \n \n Insurance Confirmation\n \n \n As an insurance patient you’ll have access to:\n ● Going forward, you’ll have unlimited provider visits billed through your insurance\n ● A discount of up to 20% on your membership starting your next billing cycle\n \n \n \n \n \n \n \n \n \n \n \n ) : (\n \n As an insurance patient you’ll have access to:\n ● Going forward, you’ll have unlimited provider visits billed through your insurance\n ● A discount of up to 20% on your membership starting your next billing cycle\n \n )\n }\n \n {!fullScreen && (\n \n \n handleAnswer(false)}>\n Cancel\n \n handleAnswer(true)}>\n Save\n \n \n \n\n )\n }\n \n \n );\n}\n","import {useState} from 'react';\nimport {confirmService} from \"../../../../services/confirm.service\";\n\nexport interface ConfirmInsuranceDialogState {\n isOpen: boolean;\n handleAnswer: Function;\n}\n\nexport function useFacade(): [ConfirmInsuranceDialogState, Function]{\n\n const [state, setState] = useState({\n isOpen: false,\n } as ConfirmInsuranceDialogState);\n\n const handleAnswer = (result: boolean) => {\n setState({...state, isOpen: false});\n state.handleAnswer(result);\n setState({...state, isOpen: false});\n }\n\n confirmService.onQuestionInsurance.subscribe((question) => {\n setState({...state, \n isOpen: true, \n handleAnswer: question.callback});\n })\n\n return [state, handleAnswer];\n}","import {Box, CircularProgress, FormControlLabel, InputLabel} from \"@material-ui/core\";\nimport React from 'react';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useFacade } from \"./insuranceVerificationComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthSwitcher } from \"../../../common/components/WIldHealthSwitcher\";\nimport { InsuranceCardComponent } from \"../insuranceCard/InsuranceCardComponent\";\nimport { InsuranceCardHistoryComponent } from \"../insuranceCardHistory/InsuranceCardHistoryComponent\";\nimport {CreateInsuranceModalComponent} from \"../createInsuranceModalComponent/CreateInsuranceModalComponent\";\nimport {ConfirmInsuranceDialog} from \"../../../common/dialogs/confirmDialog/ConfirmInsuranceDialog\";\nimport moment from 'moment';\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { CoverageStatus } from \"../../enums/coverageStatus\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthTooltip } from \"../../../common/components/WildHealthTooltip\";\n\ninterface insuranceVerificationComponentProps {\n patientId: number;\n}\n\nexport const InsuranceVerificationComponent: React.FC = (props: insuranceVerificationComponentProps) => {\n const {\n patientId,\n } = props;\n const [\n {\n isInsuranceLoading,\n isSubscriptionLoading,\n isPayByCash,\n isInsuranceAvailable,\n insuranceUnavailibilityReason,\n isPayByCashLoading,\n isAddButtonLoading,\n patientInsurances,\n verificationHistory,\n },\n isEnabledInsuranceAdd,\n isEnabledInsuranceVerificationToggle,\n handleCashPay,\n handleAddInsurance,\n displayName,\n displayNameHistory,\n displayNumberCoverageHistory,\n ] = useFacade(patientId);\n\n if (isInsuranceLoading) {\n return (\n \n \n \n );\n }\n\n const getInsuranceHistory = () => {\n return verificationHistory.filter(item => patientInsurances.find(el => (+el.id) === (+item.coverageId)))\n }\n\n const getIsInsuranceToggleDisabled = () => {\n const activeCoverages = patientInsurances.filter(c => c.status === CoverageStatus.Active)\n if (isEnabledInsuranceVerificationToggle && activeCoverages && activeCoverages.length) {\n const verificationHistories = verificationHistory.filter(item => activeCoverages.find(el => (+el.id) === (+item.coverageId)));\n if (verificationHistories && verificationHistories.length) {\n const lastVerification = verificationHistories[verificationHistories.length - 1];\n if (isPayByCash) {\n if (lastVerification.isVerified && moment(moment(toCurrentTimeZone(lastVerification.runAt))).isAfter(moment(toCurrentTimeZone(new Date())).add('weeks', -2))) {\n return false;\n }\n return true;\n } else {\n return lastVerification.isVerified;\n }\n }\n }\n\n return isPayByCash;\n }\n\n return (\n \n Insurance Verification \n \n \n \n Patients Insurance\n \n \n \n handleAddInsurance()} \n disabled={isAddButtonLoading || !isInsuranceAvailable || !isEnabledInsuranceAdd}\n >\n \n {\n isAddButtonLoading && \n }\n \n \n Add Insurance Card\n \n \n \n \n \n \n \n {\n (patientInsurances && patientInsurances.length) ?\n :\n \n }\n \n \n \n Payment Type\n \n \n {!isSubscriptionLoading && \n \n Insurance\n \n \n handleCashPay()}\n name=\"editModeToggle\" />\n }\n />\n \n }\n {\n (verificationHistory && !!getInsuranceHistory().length) &&\n \n \n History\n \n \n \n }\n \n \n \n )\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {CoverageModel, InsuranceModel, VerificationsHistoryModel} from \"../../models/insurance.models\";\nimport { insuranceService } from \"../../services/insurance.service\";\nimport { insuranceVerificationService } from \"../../services/insuranceVerification.service\";\nimport { insuranceQuery } from \"../../stores/insurance.query\";\nimport { SubscriptionModel, SubscriptionStatus, SubscriptionType } from \"../../../payment/models/subscription.models\";\nimport { subscriptionService } from \"../../../payment/services/subscription.service\";\nimport { subscriptionQuery } from \"../../../payment/stores/subscriptionStore\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { isFeatureFlag } from \"../../../common/components/featureFlags/featureFlags\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\n\ninterface InsuranceVerificationComponentState {\n isInsuranceLoading: boolean;\n isSubscriptionLoading: boolean;\n isPayByCash: boolean;\n isPayByCashLoading: boolean;\n isAddButtonLoading: boolean;\n isInsuranceAvailable: boolean;\n insuranceUnavailibilityReason: string;\n patientInsurances: Array;\n verificationHistory: Array;\n insurances: InsuranceModel[];\n}\n\nexport function useFacade(patientId: number): [\n InsuranceVerificationComponentState,\n boolean,\n boolean,\n () => void,\n () => void,\n (id: number) => void,\n (id: number) => void,\n (id: number) => void,\n] {\n const featureFlags = useFlags();\n const isEnabledInsuranceAdd = isFeatureFlag(featureFlags, FeatureFlag.EnabledInsuranceAdd);\n const isEnabledInsuranceVerificationToggle = isFeatureFlag(featureFlags, FeatureFlag.EnabledInsuranceVerificationToggle);\n \n const [state, setState] = useState({\n isInsuranceLoading: true,\n isSubscriptionLoading: true,\n insurances: [],\n isPayByCash: true,\n isPayByCashLoading: false,\n isAddButtonLoading: false,\n isInsuranceAvailable: false,\n insuranceUnavailibilityReason: '',\n patientInsurances: [],\n verificationHistory: [],\n } as InsuranceVerificationComponentState);\n\n\n const handleCashPay = () => {\n setState(state => ({\n ...state,\n isPayByCashLoading: true\n }));\n\n const cb = () => setState(state => ({ ...state, isPayByCashLoading: false }));\n const success = () => state.isPayByCash ? setState(state => ({ ...state, isPayByCashLoading: false, isPayByCash: false })) : setState(state => ({ ...state, isPayByCashLoading: false, isPayByCash: true }));\n\n const action = state.isPayByCash ? insuranceService.turnOnInsurance(patientId) : insuranceService.turnOffInsurance(patientId);\n\n action.subscribe(() => {\n subscriptionService.getPatientCurrent(patientId).subscribe(success, success)\n }, cb);\n }\n\n const handleAddInsurance = () => {\n if (state.isAddButtonLoading || state.isPayByCashLoading) {\n return;\n }\n\n insuranceService.requestCreateInsurance(patientId).subscribe(\n (model) => {\n setState(state => ({\n ...state,\n isAddButtonLoading: true\n }));\n insuranceService.createCoverageOnBehalf(model).subscribe(\n () => {\n setState(state => ({\n ...state,\n isAddButtonLoading: false\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isAddButtonLoading: false\n }));\n }\n );\n }\n )\n }\n\n const displayName = (id: number) => {\n return state.insurances.find(el => el.id === id)?.name ?? ''\n }\n\n const displayNameHistory = (id: number) => {\n const insurance = state.patientInsurances.find(el => (+el.id) === id)?.insurance;\n if (!insurance) {\n return ''\n }\n return insurance.name;\n }\n\n const displayNumberCoverageHistory = (id: number) => {\n return state.patientInsurances.find(el => (+el.id) === id)?.memberId\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(insuranceQuery.verificationList$, verificationList => {\n setState(state => ({\n ...state,\n verificationHistory: verificationList,\n }));\n }),\n onEmit(insuranceQuery.coverages$, coverages => {\n setState(state => ({\n ...state,\n patientInsurances: coverages,\n }));\n }),\n onEmit(insuranceQuery.insurances$, insurances => {\n setState(state => ({\n ...state,\n insurances: insurances,\n }))\n }),\n onEmit(subscriptionQuery.subscription$, subscription => {\n if (subscription?.type === SubscriptionType.Insurance && subscription?.status === SubscriptionStatus.Active) {\n setState((state) => ({ ...state, isPayByCash: false }))\n }\n })\n ];\n\n if (patientsQuery.getTargetPatientSubscription()) {\n subscriptionService.getPatientCurrent(patientId).subscribe(\n () => {\n setState((state) => ({ ...state, isSubscriptionLoading: false }))\n },\n () => {\n setState((state) => ({ ...state, isSubscriptionLoading: false }))\n }\n )\n } else {\n setState((state) => ({ ...state, isSubscriptionLoading: false }))\n }\n\n insuranceService.getInsuranceAvailabilityOnBehalf(patientId).subscribe(\n (available) => {\n setState(state => ({\n ...state,\n isInsuranceAvailable: available.isAvailable,\n insuranceUnavailibilityReason: available.unavailabilityReason\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isInsuranceAvailable: false\n }));\n }\n )\n\n insuranceService.getInsurances().subscribe(() => {\n insuranceService.getCoveragesByEmploy(patientId).subscribe(() => {\n setState((state) => ({ ...state, isInsuranceLoading: false }))\n }, () => {\n setState((state) => ({ ...state, isInsuranceLoading: false }))\n })\n insuranceVerificationService.getInsuranceVerification(patientId).subscribe();\n },\n () => {\n setState((state) => ({ ...state, isInsuranceLoading: false }))\n }\n );\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n isEnabledInsuranceAdd,\n isEnabledInsuranceVerificationToggle,\n handleCashPay,\n handleAddInsurance,\n displayName,\n displayNameHistory,\n displayNumberCoverageHistory\n ];\n}","import {createStyles, makeStyles} from \"@material-ui/core/styles\";\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n primary: {\n background: 'rgba(91, 174, 212, 0.14)',\n color: colors.main,\n fontSize: 12,\n fontWeight: 500,\n width: 80,\n height: 22,\n textAlign: 'center',\n borderRadius: 2,\n paddingTop: 3\n },\n secondary: {\n background: 'rgba(255, 161, 37, 0.08)',\n color: colors.average1,\n fontSize: 12,\n fontWeight: 500,\n width: 100,\n height: 22,\n textAlign: 'center',\n borderRadius: 2,\n paddingTop: 3\n },\n image: {\n width: 230,\n height: 120,\n background: 'rgba(0, 0, 0, 0.7)',\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n }\n }\n ));\n","export enum AttachmentType {\n None = 0,\n InsuranceCardFront = 1,\n ScheduledMessageAttachment = 2,\n LabReports = 3,\n ImagingReports = 4,\n Consults = 5,\n ECGs = 6,\n HospitalReports = 7,\n Consents = 8,\n MedicalForms = 9,\n OldRecords = 10,\n Miscellaneous = 11,\n AgreementConfirmationDocument = 12,\n ProfilePhoto = 13,\n InsuranceCardBack = 14,\n EpigeneticReports = 24\n}\n\nexport interface AttachmentModel {\n id: number,\n type: AttachmentType;\n name: string;\n description: string;\n referenceId: number;\n dateUploaded: Date;\n isViewed: boolean;\n isViewableByPatient: boolean;\n uploadedBy: string;\n uploadedById: number;\n}","import {useEffect, useState} from \"react\";\nimport {AttachmentModel, AttachmentType} from \"../../../common/models/attachment.models\";\nimport {insuranceService} from \"../../services/insurance.service\";\n\ninterface InsuranceListItemState {\n primaryAttachment: AttachmentModel;\n isLoading: boolean;\n imageUrl: string;\n}\n\nlet stateContext: InsuranceListItemState;\n\nexport function useFacade(attachments: AttachmentModel[]): [InsuranceListItemState\n] {\n const [state, setState] = useState({\n primaryAttachment: null,\n isLoading: false,\n imageUrl: ''\n } as InsuranceListItemState);\n\n stateContext = state;\n\n const getAttachment = () => {\n if (attachments.some(x => x.type === AttachmentType.InsuranceCardFront)) {\n return attachments.find(x => x.type === AttachmentType.InsuranceCardFront);\n }\n\n return attachments.length\n ? attachments[0]\n : null\n }\n\n const useEffectCB = () => {\n const primaryAttachment = getAttachment();\n\n if (stateContext.primaryAttachment?.id !== primaryAttachment?.id) {\n setState(state => ({\n ...state,\n primaryAttachment: primaryAttachment,\n isLoading: true\n }));\n\n if (primaryAttachment) {\n insuranceService.GetInsuranceImage(primaryAttachment.id).subscribe(\n data => {\n if (data) {\n setState(state => ({\n ...state,\n isLoading: false,\n imageUrl: \"data:image/png;base64, \" + data\n }));\n }\n },\n error => {\n setState(state => ({\n ...state,\n isLoading: false,\n imageUrl: null\n }));\n }\n )\n }\n }\n\n return () => {\n }\n }\n\n useEffect(useEffectCB, [attachments]);\n\n return [state];\n}","import React from \"react\";\nimport {CoverageModel, CoveragePriority} from \"../../models/insurance.models\";\nimport {Box, Card, CardContent, IconButton} from \"@material-ui/core\";\nimport {useStyles} from \"./insuranceListItemComponent.styles\";\nimport {CoverageStatus} from \"../../enums/coverageStatus\";\nimport VisibilityOffOutlinedIcon from \"@material-ui/icons/VisibilityOffOutlined\";\nimport VisibilityOutlinedIcon from '@material-ui/icons/VisibilityOutlined';\nimport CommentIcon from '@material-ui/icons/Comment';\nimport {AttachmentModel} from \"../../../common/models/attachment.models\";\nimport {useFacade} from \"./insuranceListItem.hooks\";\nimport EditIcon from \"@material-ui/icons/Edit\";\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\n\ninterface InsuranceListItemComponentProps {\n coverage: CoverageModel;\n handleEdit: Function;\n handleActivationSwitch: Function;\n attachments: AttachmentModel[];\n handleOpen: Function;\n}\n\nexport const InsuranceListItemComponent: React.FC = (props: InsuranceListItemComponentProps) => {\n const {\n coverage,\n handleEdit,\n handleOpen,\n handleActivationSwitch,\n attachments\n } = props;\n\n const [\n {\n isLoading,\n imageUrl\n }\n ] = useFacade(attachments);\n\n const classes = useStyles();\n\n const renderPriority = (priority: CoveragePriority) => {\n if (priority === CoveragePriority.Primary)\n {\n return \n PRIMARY\n \n }\n\n return \n SECONDARY\n \n }\n\n return (\n <>\n \n \n \n \n {\n renderPriority(coverage.priority)\n }\n \n \n \n handleOpen(coverage)}>\n \n \n \n }\n permissions={[]}\n userType={UserType.Employee}\n />\n \n handleActivationSwitch(coverage)}>\n {\n coverage.status === CoverageStatus.Active\n ? \n : \n }\n \n \n {\n coverage.status === CoverageStatus.Active &&\n \n handleEdit(coverage)}>\n \n \n \n }\n \n \n \n {coverage.insurance.name}\n \n \n {\n isLoading || !imageUrl\n ? \n : \"coverage\"/\n\n }\n \n \n \n \n )\n}","import {Box, Divider, Grid} from \"@material-ui/core\";\nimport React from 'react';\nimport {useFacade} from \"./InsurancesListComponent.hooks\";\nimport {CoverageModel} from \"../../models/insurance.models\";\nimport {CoverageStatus} from \"../../enums/coverageStatus\";\nimport {WildHealthPlaceHolder} from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport {InsuranceListItemComponent} from \"../InsuranceListItemComponent/InsuranceListItemComponent\";\nimport {AttachmentModel} from \"../../../common/models/attachment.models\";\n\ninterface InsurancesListComponentProps {\n handleEdit: Function,\n insurances: CoverageModel[];\n attachments: AttachmentModel[];\n patientId: number;\n handleOpen?: Function,\n}\n\nexport const InsurancesListComponent: React.FC = (props: InsurancesListComponentProps) => {\n const [\n handleActivationSwitch\n ] = useFacade();\n\n const activeCoverages = props.insurances.filter(x => x.status === CoverageStatus.Active).sort((a, b) => a.priority > b.priority ? 1 : -1);\n const inactiveCoverages = props.insurances.filter(x => x.status === CoverageStatus.NotActive).sort((a, b) => a.priority > b.priority ? 1 : -1);\n\n return (\n <>\n \n \n Active\n \n \n\n \n \n \n\n \n {\n activeCoverages && activeCoverages.length > 0\n ? \n {\n activeCoverages.map((coverage, index) => {\n return (\n \n props.handleOpen && props.handleOpen(coverage)}\n handleActivationSwitch={handleActivationSwitch}\n attachments={props.attachments?.filter(x => x.description === coverage?.id?.toString())}\n />\n \n )\n })\n }\n \n : \n }\n \n\n \n \n Inactive\n \n \n\n \n \n \n\n \n {\n inactiveCoverages && inactiveCoverages.length > 0\n ? \n {\n inactiveCoverages.map((coverage, index) => {\n return (\n \n {}}\n handleOpen={() => props.handleOpen && props.handleOpen(coverage)}\n handleActivationSwitch={handleActivationSwitch}\n attachments={props.attachments?.filter(x => x.description === coverage?.id?.toString())}\n />\n \n )\n })\n }\n \n : \n }\n \n \n );\n}","import {CoverageModel} from '../../models/insurance.models';\nimport {CoverageStatus} from \"../../enums/coverageStatus\";\nimport {insuranceService} from \"../../services/insurance.service\";\nimport {confirmService} from \"../../../../services/confirm.service\";\n\nexport function useFacade(): [Function] {\n const handleActivationSwitch = (coverage: CoverageModel) => {\n if (coverage.status === CoverageStatus.Active) {\n confirmService.confirm('Mark as Inactive? ', 'Are you sure you want to mark this insurance card as inactive?', 'Mark as inactive', 'Cancel', \"danger\").subscribe(() => {\n insuranceService.deactivateCoverage(coverage.id).subscribe();\n });\n } else {\n insuranceService.activateCoverage(coverage.id).subscribe();\n }\n }\n\n return [handleActivationSwitch]\n}\n","import {createStyles, makeStyles} from \"@material-ui/core/styles\";\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n dropContainer: {\n height: 121,\n width: '100%',\n border: `1px dashed ${colors.gray1}`,\n background: `${colors.lightGray2}99`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dropIcon: {\n color: colors.gray1,\n fontSize: 40,\n marginRight: 4,\n\n },\n dropTitle: {\n color: colors.gray1,\n fontSize: 16,\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.gray8,\n display: 'flex',\n alignItems: 'center',\n maxWidth: 500,\n height: 32,\n },\n attachmentIcon: {\n color: colors.gray2,\n },\n attachmentTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n\n label: {\n textTransform: `none`,\n color: colors.main,\n fontSize: 16,\n textDecoration: 'underline',\n },\n progress: {\n color: colors.main\n },\n deleteIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '278px',\n maxWidth: '278px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n uploadedImage: {\n background: colors.lightGray2,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: 'cover',\n width: '100%',\n height: '121px'\n }\n })\n);","\nexport enum LeftByType {\n Employee = 0,\n Patient = 5,\n Clarity = 10\n}\n\nexport interface CommentModel {\n id: number;\n description: string;\n leftBy: string;\n leftByType: LeftByType;\n createdAt: Date;\n createdBy: number;\n modifiedAt: Date;\n}\n\nexport interface CreateCommentModel {\n commentableUniversalId: string;\n description: string;\n}","import {DialogTitle} from \"../../../common/components/dialogTitle/DialogTitle\";\nimport {\n Box,\n Checkbox,\n Dialog,\n DialogActions,\n DialogContent,\n FormControl, FormHelperText,\n Grid, IconButton,\n InputLabel,\n MenuItem,\n Select, TextField\n} from \"@material-ui/core\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport React from \"react\";\nimport {useFacade} from \"./updateInsuranceModalComponent.hooks\";\nimport {WildHealthDatePicker} from \"../../../common/components/WildHealthDatePicker\";\nimport {RelationshipNames, Relationships} from \"../../models/insurance.models\";\nimport CheckBoxOutlineBlankIcon from \"@material-ui/icons/CheckBoxOutlineBlank\";\nimport {colors} from \"../../../common/constants/colors\";\nimport CheckBoxIcon from \"@material-ui/icons/CheckBox\";\nimport { ReactComponent as PhotoIcon } from '@img/icons/camera.svg';\nimport Dropzone from \"react-dropzone\";\nimport {useStyles} from \"./updateInsuranceModalComponent.styles\";\n\nexport const UpdateInsuranceModalComponent: React.FC = () => {\n const [\n {\n isOpen,\n containPolicyHolder,\n insurances,\n frontImage,\n backImage,\n model,\n errors\n },\n handleChanges,\n handleSetAsPrimary,\n handleUploadFrontImage,\n handleUploadBackImage,\n togglePolicyHolder,\n handleClose,\n handleSubmit\n ] = useFacade();\n\n const controlIcon = ;\n const controlCheckedIcon = ;\n const fileTypes = [\"image/jpeg\", \"image/png\"];\n const classes = useStyles();\n\n const renderDropZone = (image: File, handleUpload: Function) => {\n return (\n <>\n {\n !image &&\n handleUpload(t[0])}\n >\n {\n ({ getRootProps, getInputProps, open }) => {\n const rootProps = getRootProps();\n delete rootProps['onClick']\n\n return (\n
\n \n \n \n \n \n \n
\n )\n }\n }\n \n }\n {\n image &&\n \n\n \n }\n \n )\n }\n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n handleClose()} id='dialog-title'>Edit Insurance\n \n \n \n \n \n \n \n \n \n \n Insurance Provider\n handleChanges('insuranceId', v.target.value as string)}\n >\n {\n insurances.map((value) => {\n return {value.name}\n })\n }\n \n {errors[`insurance.id`]}\n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n Please upload both the front and the back of your insurance card. (Optional)\n \n \n \n {\n renderDropZone(frontImage, handleUploadFrontImage)\n }\n \n \n {\n renderDropZone(backImage, handleUploadBackImage)\n }\n \n \n \n \n handleSetAsPrimary(!model.isPrimary)}\n />\n \n \n Set as Primary\n \n \n \n \n \n \n togglePolicyHolder()}\n />\n \n \n I am not the main policyholder\n \n \n \n {\n containPolicyHolder &&\n <>\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n handleChanges(`policyHolder.dateOfBirth`, momentDate.toISOString())}\n disableFuture\n error={!!errors[`policyHolder.dateOfBirth`]}\n helperText={errors[`policyHolder.dateOfBirth`]}\n />\n \n \n \n Relationship to policyholder\n handleChanges('policyHolder.relationship', v.target.value as string)}\n >\n {\n Object\n .keys(Relationships)\n .filter(x => Relationships[x] !== Relationships.SELF)\n .map((key) => {\n return {RelationshipNames.get(key)}\n })\n }\n \n {errors[`policyHolder.relationship`]}\n \n \n \n }\n \n \n \n \n \n \n \n\n \n \n handleClose()}\n width={100}\n size='large'\n color='tertiary'\n >\n Cancel\n \n \n \n handleSubmit()}>\n Save\n \n \n \n \n \n );\n}\n","import {useEffect, useState} from \"react\";\nimport {\n CoveragePriority,\n InsuranceModel,\n UpdateCoverageOnBehalfModel\n} from \"../../models/insurance.models\";\nimport {insuranceService} from \"../../services/insurance.service\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {insuranceQuery} from \"../../stores/insurance.query\";\nimport {insuranceComponentValidator} from \"../insuranceComponent/insuranceComponent.validator\";\nimport {confirmService} from \"../../../../services/confirm.service\";\n\ninterface UpdateInsuranceModalComponentState extends IErrorState {\n isOpen: boolean;\n containPolicyHolder: boolean;\n insurances: InsuranceModel[];\n model: UpdateCoverageOnBehalfModel;\n frontImage: File;\n backImage: File;\n callback: Function;\n}\n\nexport function useFacade(): [\n UpdateInsuranceModalComponentState,\n (field: string, value: string) => void,\n (isPrimary: boolean) => void,\n (frontImage: File) => void,\n (backImage: File) => void,\n () => void,\n () => void,\n () => void,\n] {\n const [state, setState] = useState({\n isOpen: false,\n containPolicyHolder: false,\n insurances: [],\n callback: null,\n frontImage: null,\n backImage: null,\n errors: {},\n model: {\n id: 0,\n patientId: 0,\n insuranceId: 0,\n memberId: '',\n isPrimary: false,\n frontImage: null,\n backImage: null,\n policyHolder: null\n }\n } as UpdateInsuranceModalComponentState);\n\n const handleChanges = (field: string, value: string) => {\n const model = state.model;\n\n insuranceComponentValidator.validateAndSetState(state, setState, field, value);\n\n const fields = field.split('.');\n\n if (fields.length > 1) {\n const obj = model[fields[0]];\n obj[fields[1]] = value;\n } else {\n model[field] = value;\n }\n\n setState({...state, model: model});\n }\n\n const handleSetAsPrimary = (isPrimary: boolean) => {\n setState(state => ({\n ...state,\n model: {\n ...state.model,\n isPrimary: isPrimary\n }\n }));\n }\n\n const handleUploadFrontImage = (frontImage: File) => {\n setState(state => ({\n ...state,\n frontImage: frontImage\n }));\n }\n\n const handleUploadBackImage = (backImage: File) => {\n setState(state => ({\n ...state,\n backImage: backImage\n }));\n }\n\n const togglePolicyHolder = () => {\n setState(state => ({\n ...state,\n containPolicyHolder: !state.containPolicyHolder,\n model: {\n ...state.model,\n policyHolder: !state.containPolicyHolder\n ? {\n firstName: '',\n lastName: '',\n dateOfBirth: null,\n relationship: ''\n } : null\n }\n }));\n }\n\n const handleClose = () => {\n state.callback(null);\n close();\n }\n\n const handleSubmit = () => {\n confirmService.confirmInsurance().subscribe(\n () => {\n const model = state.model;\n model.frontImage = state.frontImage;\n model.backImage = state.backImage;\n state.callback(state.model);\n close();\n });\n }\n\n const close = () => {\n setState(state => ({\n ...state,\n isOpen: false,\n containPolicyHolder: false,\n callback: null,\n frontImage: null,\n backImage: null,\n errors: {},\n model: {\n id: 0,\n patientId: 0,\n insuranceId: 0,\n memberId: '',\n isPrimary: false,\n frontImage: null,\n backImage: null,\n policyHolder: null\n }\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(insuranceQuery.insurances$, insurances => {\n setState(state => ({\n ...state,\n insurances: insurances,\n }))\n })\n ];\n\n subscriptions.push(insuranceService.onUpdateInsurance.subscribe((data) => {\n const patientId = data.data.patientId;\n const coverage = data.data.coverage;\n setState(state => ({\n ...state,\n isOpen: true,\n containPolicyHolder: false,\n callback: data.callback,\n errors: {},\n model: {\n id: coverage.id,\n patientId: patientId,\n insuranceId: coverage.insurance.id,\n memberId: coverage.memberId,\n isPrimary: coverage.priority === CoveragePriority.Primary,\n frontImage: null,\n backImage: null,\n policyHolder: coverage.policyHolder\n }\n }));\n }));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n }\n }, [])\n\n return [\n state,\n handleChanges,\n handleSetAsPrimary,\n handleUploadFrontImage,\n handleUploadBackImage,\n togglePolicyHolder,\n handleClose,\n handleSubmit\n ];\n}","import Axios from 'axios-observable';\nimport { Observable } from 'rxjs';\nimport { authHeader } from '../../common/helpers/auth-header';\nimport { snackService } from '../../common/snack/state';\nimport { InsuranceStore, insuranceStore } from '../../insurance/stores/insurance.store';\nimport { CommentModel, CreateCommentModel } from '../models/comment.models';\n\n/**\n * Provides method for working with Comments\n */\nexport class CommentsService {\n private url = `${process.env.REACT_APP_API_URL}Comments`;\n\n constructor(private commentsStore: InsuranceStore) {\n }\n\n public getComments(universalId: string): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.get(`${this.url}/${universalId}`, config).pipe()\n .subscribe(\n response => {\n this.commentsStore.update({ comments: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public saveComment(model: CreateCommentModel): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.post(`${this.url}`, model, config).pipe()\n .subscribe(\n response => {\n this.commentsStore.updateComment(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public updateComment(commentId: number, model: CreateCommentModel): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.put(`${this.url}/${commentId}`, model, config).pipe()\n .subscribe(\n response => {\n this.commentsStore.updateComment(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n });\n }\n\n public deleteComment(commentId: number) {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.delete(`${this.url}/${commentId}`, config).pipe()\n .subscribe(\n response => {\n this.commentsStore.removeComment(commentId);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const commentsService = new CommentsService(insuranceStore);\n","import React from \"react\";\nimport {\n Avatar,\n Box,\n Dialog,\n FormControl,\n TextField\n} from \"@material-ui/core\";\nimport moment from 'moment';\nimport { useFacade } from \"./commentsDialogComponent.hooks\";\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { CommentModel, LeftByType } from \"../../models/comment.models\";\n\ninterface CommentsDialogComponentProps {\n isOpen: boolean;\n universalId: string;\n handleClose: () => void;\n}\n\nexport const CommentsDialogComponent: React.FC = (props: CommentsDialogComponentProps) => {\n\n const {\n isOpen,\n universalId,\n handleClose\n } = props;\n\n const [\n {\n isLoading,\n isSaving,\n isNewComment,\n comments,\n initialComment,\n selectCommentId,\n selectedComment,\n canSubmit,\n canUpdate\n },\n handleChangeComment,\n handleUpdateComment,\n handleNewAdd,\n handleEdit,\n handleCancel,\n handleSubmit,\n handleUpdate,\n handleDelete\n ] = useFacade(universalId);\n\n const renderName = (comment: CommentModel) => {\n switch (comment.leftByType) {\n case LeftByType.Clarity:\n return 'Clarity';\n default:\n return comment.leftBy ?? 'Unknown';\n }\n }\n\n const renderContent = () => {\n if (isLoading) {\n return (\n \n \n \n );\n }\n\n return (\n \n {\n comments && comments.length > 0\n ? \n {\n comments.map(comment => {\n return (\n \n \n \n {renderName(comment).trim()[0]}\n \n {renderName(comment)}\n {comment.modifiedAt ? moment(toCurrentTimeZone(comment.modifiedAt)).format(\"MMMM DD, yyyy h:mm a\") : moment(toCurrentTimeZone(comment.createdAt)).format(\"MMMM DD, yyyy h:mm a\")}\n {comment.modifiedAt && (Edited)}\n \n {selectCommentId === comment.id ? (\n <>\n \n \n \n \n \n \n handleCancel()}\n >\n Cancel\n \n \n \n handleUpdate()}\n disabled={!canUpdate}\n loading={isSaving}\n >\n Save\n \n \n \n \n ) : (\n \n {comment.description}\n {comment.createdBy === authQuery.getId() && (\n \n handleEdit(comment.id)}>Edit\n {'●'}\n handleDelete(comment.id)}>Delete\n \n )}\n \n )}\n \n )\n })\n }\n \n : \n }\n \n )\n }\n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n \n handleClose()} id='dialog-title'>Comments\n \n \n {isNewComment ? (\n \n \n \n \n \n \n \n handleCancel()}\n >\n Cancel\n \n \n \n handleSubmit()}\n disabled={!canSubmit}\n loading={isSaving}\n >\n Save\n \n \n \n \n ) : (\n \n \n handleNewAdd()}\n disabled={isNewComment || isLoading || isSaving}\n >\n Add Comment\n \n \n \n )}\n \n {renderContent()}\n \n \n );\n}\n","import { useEffect, useState, ChangeEventHandler } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { commentsService } from \"../../services/comments.service\";\nimport { insuranceQuery } from \"../../../insurance/stores/insurance.query\";\nimport { CommentModel } from \"../../models/comment.models\";\n\ninterface CreateInsuranceModalComponentState {\n isLoading: boolean;\n isSaving: boolean;\n isNewComment: boolean;\n comments: CommentModel[];\n initialComment: string;\n selectCommentId: number;\n selectedComment: string;\n canSubmit: boolean;\n canUpdate: boolean;\n}\n\nexport function useFacade(universalId: string): [\n CreateInsuranceModalComponentState,\n ChangeEventHandler,\n ChangeEventHandler,\n () => void,\n (id: number) => void,\n () => void,\n () => void,\n () => void,\n (id: number) => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n isSaving: false,\n isNewComment: false,\n comments: [],\n initialComment: '',\n selectCommentId: 0,\n selectedComment: '',\n canSubmit: false,\n canUpdate: false,\n } as CreateInsuranceModalComponentState);\n\n const handleEdit = (id: number) => {\n const item = state.comments.find(x => x.id === id);\n if (item) {\n setState(state => ({\n ...state,\n isNewComment: false,\n canUpdate: true,\n initialComment: '',\n selectCommentId: id,\n selectedComment: item.description\n }))\n }\n }\n\n const handleCancel = () => {\n setState(state => ({\n ...state,\n isSaving: false,\n isNewComment: false,\n selectCommentId: 0,\n selectedComment: '',\n initialComment: '',\n }))\n }\n\n const handleUpdateComment = (e: any) => {\n const comment = e.target.value;\n const canUpdate = e.target.value.length > 0;\n setState({\n ...state,\n canUpdate,\n selectedComment: comment,\n })\n }\n\n const handleChangeComment = (e: any) => {\n const comment = e.target.value;\n const canSubmit = e.target.value.length > 0;\n setState({\n ...state,\n canSubmit,\n initialComment: comment,\n })\n }\n\n const handleNewAdd = () => {\n setState(state => ({\n ...state,\n isNewComment: true,\n selectCommentId: 0,\n selectedComment: ''\n }))\n }\n\n const handleSubmit = () => {\n if (!state.canSubmit || !universalId) return;\n const model = {\n description: state.initialComment,\n commentableUniversalId: universalId\n }\n setState(state => ({ ...state, isSaving: true }))\n const cb = () => setState(state => ({ ...state, isSaving: false }))\n commentsService.saveComment(model).subscribe(() => { handleCancel() }, cb)\n }\n\n const handleUpdate = () => {\n if (!state.canUpdate || !universalId) return;\n const model = {\n description: state.selectedComment,\n commentableUniversalId: universalId\n }\n setState(state => ({ ...state, isSaving: true }))\n const cb = () => setState(state => ({ ...state, isSaving: false }))\n commentsService.updateComment(state.selectCommentId, model).subscribe(() => { handleCancel() }, cb)\n }\n\n const handleDelete = (id: number) => {\n setState(state => ({ ...state, isSaving: true }))\n const cb = () => setState(state => ({ ...state, isSaving: false }))\n commentsService.deleteComment(id).subscribe(cb, cb)\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(insuranceQuery.comments$, comments => {\n setState(state => ({\n ...state,\n comments: comments,\n }))\n })\n ];\n setState(state => ({ ...state, isLoading: true }))\n \n if (universalId) {\n const cb = () => setState(state => ({ ...state, isLoading: false }))\n commentsService.getComments(universalId).subscribe(cb, cb)\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n }\n }, [universalId])\n\n return [\n state,\n handleChangeComment,\n handleUpdateComment,\n handleNewAdd,\n handleEdit,\n handleCancel,\n handleSubmit,\n handleUpdate,\n handleDelete\n ];\n}","import {Box, CircularProgress} from \"@material-ui/core\";\nimport React from 'react';\nimport { useFacade } from \"./insuranceInfoComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {CreateInsuranceModalComponent} from \"../createInsuranceModalComponent/CreateInsuranceModalComponent\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {ConfirmInsuranceDialog} from \"../../../common/dialogs/confirmDialog/ConfirmInsuranceDialog\";\nimport {InsurancesListComponent} from \"../insurancesListComponent/InsurancesListComponent\";\nimport {UpdateInsuranceModalComponent} from \"../updateInsuranceModalComponent/UpdateInsuranceModalComponent\";\nimport { CommentsDialogComponent } from \"../../../comments/components/CommentsDialogComponent/CommentsDialogComponent\";\nimport { WildHealthTooltip } from \"../../../common/components/WildHealthTooltip\";\n\ninterface InsuranceInformationComponentProps {\n patientId: number;\n}\n\nexport const InsuranceInformationComponent: React.FC = (props: InsuranceInformationComponentProps) => {\n const {\n patientId,\n } = props;\n const [\n {\n isInsuranceLoading,\n isInsuranceAvailable,\n insuranceUnavailibilityReason,\n isAddButtonLoading,\n patientInsurances,\n attachments,\n isOpenComments,\n selectedUniversalId\n },\n isEnabledInsuranceAdd,\n handleAddInsurance,\n handleEditInsurance,\n handleOpenComments,\n handleCloseComments\n ] = useFacade(patientId);\n\n if (isInsuranceLoading) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n Insurance Information \n \n \n handleAddInsurance()} \n disabled={isAddButtonLoading || !isInsuranceAvailable || !isEnabledInsuranceAdd}\n >\n \n {\n isAddButtonLoading && \n }\n \n \n Add Insurance Card\n \n \n \n \n\n \n \n \n \n \n \n \n \n \n \n )\n}\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {CoverageModel, InsuranceModel} from \"../../models/insurance.models\";\nimport {insuranceService} from \"../../services/insurance.service\";\nimport {insuranceQuery} from \"../../stores/insurance.query\";\nimport {SubscriptionModel, SubscriptionStatus, SubscriptionType} from \"../../../payment/models/subscription.models\";\nimport {subscriptionService} from \"../../../payment/services/subscription.service\";\nimport {subscriptionQuery} from \"../../../payment/stores/subscriptionStore\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {AttachmentModel} from \"../../../common/models/attachment.models\";\nimport { insuranceStore } from \"../../stores/insurance.store\";\nimport { isFeatureFlag } from \"../../../common/components/featureFlags/featureFlags\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\n\ninterface InsuranceInformationComponentState {\n subscriptionType: SubscriptionType;\n isInsuranceLoading: boolean;\n isSubscriptionLoading: boolean;\n isAddButtonLoading: boolean;\n isInsuranceAvailable: boolean;\n insuranceUnavailibilityReason: string;\n patientInsurances: Array;\n insurances: InsuranceModel[];\n attachments: AttachmentModel[];\n selectedUniversalId: string;\n isOpenComments: boolean;\n}\n\nexport function useFacade(patientId: number): [\n InsuranceInformationComponentState,\n boolean,\n () => void,\n (coverage: CoverageModel) => void,\n (coverage: CoverageModel) => void,\n () => void\n] {\n const featureFlags = useFlags();\n const isEnabledInsuranceAdd = isFeatureFlag(featureFlags, FeatureFlag.EnabledInsuranceAdd);\n\n const [state, setState] = useState({\n isInsuranceLoading: true,\n isSubscriptionLoading: true,\n insurances: [],\n isAddButtonLoading: false,\n isInsuranceAvailable: false,\n insuranceUnavailibilityReason: '',\n patientInsurances: [],\n attachments: [],\n selectedUniversalId: '',\n isOpenComments: false\n } as InsuranceInformationComponentState);\n\n const reload = () => {\n if (patientsQuery.getTargetPatientSubscription()) {\n subscriptionService.getPatientCurrent(patientId).subscribe(\n () => {\n setState((state) => ({...state, isSubscriptionLoading: false}))\n },\n () => {\n setState((state) => ({...state, isSubscriptionLoading: false}))\n }\n )\n } else {\n setState((state) => ({...state, isSubscriptionLoading: false}))\n }\n\n insuranceService.getInsuranceAvailabilityOnBehalf(patientId).subscribe(\n (available) => {\n setState(state => ({\n ...state,\n isInsuranceAvailable: available.isAvailable,\n insuranceUnavailibilityReason: available.unavailabilityReason\n }));\n },\n () => {\n setState(state => ({\n ...state,\n isInsuranceAvailable: false\n }));\n }\n );\n\n insuranceService.getInsuranceUploadsOnBehalf(patientId).subscribe(\n () => {\n setState((state) => ({...state, isAttachmentsLoading: false}))\n },\n () => {\n setState((state) => ({...state, isAttachmentsLoading: false}))\n }\n );\n\n insuranceService.getAvailableInsurancesByEmployee(patientId).subscribe(() => {\n insuranceService.getCoveragesByEmploy(patientId).subscribe(() => {\n setState((state) => ({...state, isInsuranceLoading: false}))\n }, () => {\n setState((state) => ({...state, isInsuranceLoading: false}))\n })\n },\n () => {\n setState((state) => ({...state, isInsuranceLoading: false}))\n }\n )\n }\n\n const handleAddInsurance = () => {\n if (state.isAddButtonLoading) {\n return;\n }\n\n insuranceService.requestCreateInsurance(patientId).subscribe(\n (model) => {\n setState(state => ({\n ...state,\n isAddButtonLoading: true\n }));\n insuranceService.createCoverageOnBehalf(model).subscribe(\n () => {\n setState(state => ({\n ...state,\n isAddButtonLoading: false\n }));\n\n reload();\n },\n () => {\n setState(state => ({\n ...state,\n isAddButtonLoading: false\n }));\n }\n );\n }\n )\n }\n\n const handleEditInsurance = (coverage: CoverageModel) => {\n insuranceService.requestUpdateInsurance(coverage, patientId).subscribe(\n (model) => {\n\n insuranceService.updateCoverageOnBehalf(model).subscribe(\n () => {\n reload();\n },\n () => {}\n );\n }\n )\n }\n\n const handleOpenComments = (coverage: CoverageModel) => {\n setState(state => ({\n ...state,\n isOpenComments: true,\n selectedUniversalId: coverage.universalId\n }))\n }\n\n const handleCloseComments = () => {\n insuranceStore.resetComments();\n setState(state => ({\n ...state,\n isOpenComments: false,\n selectedUniversalId: ''\n }))\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(insuranceQuery.coverages$, coverages => {\n setState(state => ({\n ...state,\n patientInsurances: coverages,\n }));\n }),\n onEmit(insuranceQuery.insurances$, insurances => {\n setState(state => ({\n ...state,\n insurances: insurances,\n }))\n }),\n onEmit(subscriptionQuery.subscription$, subscription => {\n if (subscription?.type === SubscriptionType.Insurance && subscription?.status === SubscriptionStatus.Active) {\n setState((state) => ({...state, isPayByCash: false}))\n }\n }),\n onEmit(insuranceQuery.attachments$, attachments => {\n setState(state => ({\n ...state,\n attachments: attachments,\n }))\n }),\n ];\n\n reload();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n isEnabledInsuranceAdd,\n handleAddInsurance,\n handleEditInsurance,\n handleOpenComments,\n handleCloseComments\n ];\n}","import React from 'react';\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { useFacade } from \"./patientProfileComponent.hooks\";\n\ninterface PatientInformationComponentProps {\n patientId: number;\n patientIntakeId: string;\n}\n\nexport const PatientProfileComponent: React.FC = (props: PatientInformationComponentProps) => {\n const [\n tabItems,\n ] = useFacade(props.patientId, props.patientIntakeId);\n\n return (\n \n );\n}","import React from 'react';\nimport { ManagePlanComponent } from '../../../account/components/managePlan/ManagePlanComponent';\nimport { ResetPasswordComponent } from '../../../account/components/resetPasswordComponent/ResetPasswordComponent';\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { isElementEnabled } from \"../../../common/components/ProtectedElement\";\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { isFeatureFlag } from '../../../common/components/featureFlags/featureFlags';\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\nimport { PatientInformationComponent } from '../patientInformationComponent/PatientInformationComponent';\nimport { PatientInformationRedesignComponent } from '../patientInformationRedesignComponent/patientInformationRedesignComponent/PatientInformationRedesignComponent';\nimport {\n InsuranceVerificationComponent\n} from \"../../../insurance/components/insuranceVerificationComponent/InsuranceVerificationComponent\";\nimport {\n InsuranceInformationComponent\n} from \"../../../insurance/components/insuranceInformationComponent/InsuranceInformationComponent\";\n\nexport function useFacade(patientId: number, patientIntakeId: string): [TabItem[]] {\n const featureFlags = useFlags();\n const isNewPatientProfile = isFeatureFlag(featureFlags, FeatureFlag.NewPatientProfile);\n \n const tabItems: TabItem[] = [\n {\n title: 'Personal Information',\n content: isNewPatientProfile ? : ,\n keepMounted: true,\n },\n\n ];\n\n if (isElementEnabled([PermissionType.ManageInsurance], UserType.Employee)) {\n tabItems.push({\n title: 'Insurance Information',\n content: ,\n });\n\n tabItems.push({\n title: 'Insurance Verification',\n content: ,\n });\n }\n\n tabItems.push({\n title: 'Care Team',\n content: <>,\n keepMounted: true,\n disabled: true,\n },\n {\n title: 'Membership',\n content: ,\n keepMounted: true,\n });\n\n if (isElementEnabled([PermissionType.Coaching, PermissionType.ManagePatients], UserType.Employee)) {\n tabItems.push({\n title: 'Password',\n content: ,\n });\n }\n\n return [tabItems];\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"recompose\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {ConversationModelBaseView, PatientConversationModel} from \"../../models/conversation.models\";\nimport {conversationsViewService} from \"../../services/conversationsView.service\";\nimport {patientConversationsQuery} from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport {patientConversationsStore} from \"../../stores/patientConversationsStore/patientConversations.store\";\nimport {conversationsService} from \"../../services/conversations.service\";\nimport {\n StaffOrHealthCoachMessagesEnum\n} from \"../patientConversationsViewComponent/patientConversationsViewComponent.hooks\";\n\nexport enum StaffChatState {\n History,\n Selected\n}\n\ninterface StaffChatComponentState {\n targetConversation: PatientConversationModel;\n view: StaffChatState;\n isLoadingMessages: boolean;\n messagesStaff: ConversationModelBaseView[]\n}\n\n\nexport function useFacade(): [\n StaffChatComponentState,\n (conversation: any) => void,\n () => void,\n (StaffOrHealthCoachMessagesEnum)=> void\n] {\n const [state, setState] = useState({\n targetConversation: null,\n isLoadingMessages: false,\n view: StaffChatState.History,\n messagesStaff: null,\n } as StaffChatComponentState);\n\n const handleOpenConversation = (conversation) => {\n patientConversationsStore.setTargetConversation(conversation);\n setState(state => ({\n ...state,\n view: StaffChatState.Selected,\n isLoadingMessages: true,\n targetConversation: conversation\n }));\n }\n\n const handleNavigateToMessageHistory = () => {\n patientConversationsStore.setTargetConversation(null);\n setState(state => ({ ...state, view: StaffChatState.History }));\n }\n\n const handleDownloadMessages = (staffOrHealth: StaffOrHealthCoachMessagesEnum) => {\n conversationsService.downloadAllMessages(state.targetConversation,\n state.messagesStaff,\n StaffOrHealthCoachMessagesEnum.STAFF)\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientConversationsQuery.targetStaffConversation$, messages =>\n setState(state => ({ ...state, messagesStaff: messages }))\n ),\n ];\n\n if (state.targetConversation && state.targetConversation.vendorExternalId) {\n conversationsViewService.getPatientAllMessagesStaff(state.targetConversation.vendorExternalId).subscribe(() => {\n setState(state => ({ ...state, isLoadingMessages: false }))\n }, () => {\n setState(state => ({ ...state, isLoadingMessages: false }))\n });\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [state.targetConversation]);\n\n return [\n state,\n handleOpenConversation,\n handleNavigateToMessageHistory,\n handleDownloadMessages\n ];\n}\n","import React, { useEffect, useRef } from 'react';\nimport {ConversationModelBase, ConversationModelBaseView} from \"../../models/conversation.models\";\nimport { Box, List, ListSubheader } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport { useStyles, } from \"../conversationComponent/conversationComponent.styles\";\nimport { convertMessagesToGroupsForView } from \"../../helpers/messages.converter\";\nimport { groupBy } from \"../../../common/helpers/group.by\";\nimport moment from 'moment';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { MessageComponentView } from '../messageComponent/MessageComponentView';\nimport { useStylesThread } from \"../threadComponent/threadComponent.styles\";\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\n\ninterface ConversationComponentProps {\n messages: ConversationModelBaseView[];\n conversation: ConversationModelBase;\n threadHeight?: string;\n background?: string;\n isCompact?: boolean;\n}\n\nexport const ConversationViewComponent: React.FC = (props: ConversationComponentProps) => {\n const {\n conversation,\n threadHeight,\n background = '#FFF',\n isCompact = false\n } = props;\n\n const classes = useStyles();\n const messagesUnreadRef = useRef(null)\n const classesThread = useStylesThread()\n\n const scrollTo = () => {\n messagesUnreadRef.current?.scrollIntoView({ behavior: \"smooth\" })\n }\n\n useEffect(() => {\n setTimeout(() => {\n scrollTo()\n }, 500);\n\n }, []);\n\n if (!props.messages?.length) {\n return (\n \n \n \n )\n }\n\n const messageGroups = props.messages ? convertMessagesToGroupsForView(props.messages, conversation.patients[0].vendorExternalIdentity, conversation.patients, conversation.employees) : [];\n\n const groupedByDate = groupBy(messageGroups, x => moment(toCurrentTimeZone(x.date)).format('MMM DD, yyyy'));\n\n const displayMessagesDate = (groups, date, index) => {\n\n const dateFormated = moment(toCurrentTimeZone(date)).format('MMM DD, yyyy');\n\n if (index === 0) {\n return dateFormated\n }\n\n if (index + 1 === groups.length) {\n return moment(toCurrentTimeZone(groups[index - 1].messages[0].date)).format('MMM DD, yyyy') === dateFormated ? '' : dateFormated\n }\n\n if (moment(toCurrentTimeZone(groups[index - 1].messages[0].date)).format('MMM DD, yyyy') === dateFormated) {\n return ''\n }\n return dateFormated\n\n }\n\n return (\n \n \n \n \n {\n Array.from(groupedByDate).map(([dateKey, groups], index) => {\n return (\n \n {\n groups.map((group, i) => {\n const messageIndex = group.messages[0].originalMessage.index;\n return (\n \n {displayMessagesDate(groups, group.messages[0].date, i) &&\n \n \n
\n {displayMessagesDate(groups, group.messages[0].date, i)}\n
\n
\n
}\n \n \n \n
\n )\n })\n }\n \n
\n )\n })\n }\n
\n \n\n )\n}","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { employeeTypesNames } from '../../../employee/models/employee.enums';\nimport { ConversationModelBaseView, conversationTitles, ConversationType, PatientConversationModel } from \"../../models/conversation.models\";\nimport { MessageAvatarsComponent } from '../messageAvatarsComponent/MessageAvatarsComponent';\nimport { useStyles } from '../healthCareChatComponent/healthCareChatComponent.styles';\nimport { SecondaryButton } from '../../../common/components/wildHealthButton/SecondaryButton';\nimport { ConversationViewComponent } from '../conversationViewComponent/ConversationViewComponent';\nimport { displayShortName } from '../../helpers/messages.converter';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport {colors} from \"../../../common/constants/colors\";\nimport DownloadButton from \"../../../common/components/wildHealthButton/downloadButton/DownloadButton\";\nimport {\n StaffOrHealthCoachMessagesEnum\n} from \"../patientConversationsViewComponent/patientConversationsViewComponent.hooks\";\nimport { profileQuery } from '../../../account/stores/profileStore';\n\ninterface HealthCareChatComponentProps {\n messages: ConversationModelBaseView[];\n isLoading: boolean;\n conversation: PatientConversationModel;\n openFullChat: () => void;\n downloadMessages: (StaffOrHealthCoachMessagesEnum)=> void;\n}\n\nexport const HealthCareChatViewComponent: React.FC = (props: HealthCareChatComponentProps) => {\n const { isLoading, conversation, messages, downloadMessages } = props;\n\n const classes = useStyles();\n\n const maxParticipantsCount = 2;\n\n const renderHeaderArea = () => {\n const defaultParticipantsInitials = [{ image: '', initials: 'HC' }, { image: '', initials: 'Pr' }];\n const defaultParticipants = [{ image: '', firstName: 'Health', lastName: 'Coach', position: '' }, { image: '', firstName: 'Provider', lastName: '', position: '' }];\n\n const participantsInitials = conversation ?\n conversation.employees.filter(i => i.isActive && !i.isDeleted).map(i => ({ image: profileQuery.getPhoto(i.employeeId), initials: displayShortName(i.firstName, i.lastName) })) : defaultParticipantsInitials;\n\n const participants = conversation ?\n conversation.employees.filter(i => i.isActive && !i.isDeleted).slice(0, maxParticipantsCount).map(i => ({ image: profileQuery.getPhoto(i.employeeId), firstName: i.firstName, lastName: i.lastName, position: employeeTypesNames.get(i.type) })) : defaultParticipants;\n\n return (\n \n \n \n \n \n \n \n {conversationTitles.get(ConversationType.HealthCare)}\n \n \n\n \n props.openFullChat()} disabled={isLoading}>\n Expand\n \n downloadMessages(StaffOrHealthCoachMessagesEnum.HEALTH_COACH)}\n disabled={isLoading && !messages?.length}\n style = {{\n background: colors.stroke\n }}\n width = {40}\n square ={true}\n >\n \n \n \n \n \n {\n participants.map((item, index) =>\n \n \n {item.position}\n \n \n {`${item.firstName} ${item.lastName}`}\n \n \n )\n }\n \n \n );\n }\n\n const renderContent = () => {\n\n return conversation.employees?.length\n ? \n : \n }\n\n return (\n \n {renderHeaderArea()}\n {\n !isLoading && !conversation ?\n :\n isLoading\n ? \n : renderContent()\n }\n \n )\n};\n","import { Box, IconButton } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from '../staffChatComponent/staffChatComponent.styles';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { StaffChatState, useFacade } from \"./staffChatViewComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { ConversationViewComponent } from \"../conversationViewComponent/ConversationViewComponent\";\nimport { StaffConversationsHistoryComponent } from \"../staffConversationsHistoryComponent/StaffConversationsHistoryComponent\";\nimport { conversationTitles, ConversationType, PatientConversationModel } from \"../../models/conversation.models\";\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport { MessageAvatarsComponent } from '../messageAvatarsComponent/MessageAvatarsComponent';\nimport { SecondaryButton } from '../../../common/components/wildHealthButton/SecondaryButton';\nimport DownloadButton from \"../../../common/components/wildHealthButton/downloadButton/DownloadButton\";\nimport {colors} from \"../../../common/constants/colors\";\nimport GetAppIcon from \"@material-ui/icons/GetApp\";\nimport {\n StaffOrHealthCoachMessagesEnum\n} from \"../patientConversationsViewComponent/patientConversationsViewComponent.hooks\";\n\n\ninterface StaffChatComponentProps {\n isLoading: boolean;\n conversations: PatientConversationModel[];\n openFullChat: () => void;\n}\n\nexport const StaffChatViewComponent: React.FC = (props: StaffChatComponentProps) => {\n const { isLoading, conversations } = props;\n\n const [\n {\n view,\n isLoadingMessages,\n targetConversation,\n messagesStaff,\n },\n handleOpenConversation,\n handleNavigateToMessageHistory,\n downloadMessages\n ] = useFacade();\n\n const classes = useStyles();\n\n const renderHeaderArea = () => {\n return (\n \n \n \n \n {\n view !== StaffChatState.History &&\n handleNavigateToMessageHistory()}>\n \n \n }\n \n \n \n \n \n \n {conversationTitles.get(ConversationType.Support)}\n \n \n \n {view !== StaffChatState.History &&\n props.openFullChat()} disabled={isLoadingMessages}>\n Expand\n \n }\n downloadMessages(StaffOrHealthCoachMessagesEnum.STAFF)}\n disabled={isLoading || !messagesStaff?.length}\n style = {{\n background: colors.stroke\n }}\n width = {40}\n square ={true}\n > \n \n \n \n );\n }\n\n const renderConversationsHistory = () => {\n if (!conversations.length) {\n return ;\n }\n\n return (\n \n handleOpenConversation(conversation)} />\n \n )\n }\n\n const renderSelectedConversation = () => {\n return (\n <>\n {\n isLoadingMessages\n ? < WildHealthLinearProgress />\n : \n }\n \n\n )\n }\n\n const renderContent = () => {\n switch (view) {\n case StaffChatState.History: return renderConversationsHistory();\n case StaffChatState.Selected: return renderSelectedConversation();\n }\n }\n\n return (\n \n {renderHeaderArea()}\n {\n isLoading\n ? \n : renderContent()\n }\n \n )\n};\n","import { ReactComponent as OpenSideIcon } from '@img/icons/OpenSide.svg';\nimport { Box, Divider, Drawer, IconButton, useMediaQuery, useTheme } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { BackButton } from '../../../common/components/wildHealthButton/BackButton';\nimport { MessagesPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/MessagesPlaceHolder';\nimport { employeeTypesNames } from '../../../employee/models/employee.enums';\nimport { conversationTitles, ConversationType, PatientConversationModel } from \"../../models/conversation.models\";\nimport { AttachmentsViewComponent } from '../attachmentsViewComponent/AttachmentsViewComponent';\nimport { ChatMembersComponent } from '../chatMembersComponent/ChatMembersComponent';\nimport { ConversationViewComponent } from '../conversationViewComponent/ConversationViewComponent';\nimport { MessageAvatarsComponent } from '../messageAvatarsComponent/MessageAvatarsComponent';\nimport { useFacade } from './fullHealthCareViewChatComponent.hooks';\nimport { useStyles } from '../fullHealthCareChatComponent/fullHealthCareChatComponent.styles';\nimport { displayShortName } from '../../helpers/messages.converter';\nimport { profileQuery } from '../../../account/stores/profileStore';\n\nexport interface FullViewChatComponentProps {\n conversation: PatientConversationModel;\n messages: any;\n closeFullChat: () => void;\n}\n\nexport const FullHealthCareViewChatComponent: React.FC = (props: FullViewChatComponentProps) => {\n const classes = useStyles();\n\n const [\n {\n isSideAreaOpen\n },\n handleToggleSideArea,\n ] = useFacade();\n\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down('md'));\n\n const renderGoBack = () => {\n return (\n \n props.closeFullChat()}\n >\n \n \n \n Back\n \n \n \n \n )\n }\n\n const renderHeaderArea = () => {\n const defaultParticipants = [{image: '', initials: 'HC'}, {image: '', initials: 'Pr'}];\n\n const participantsInitials = props.conversation ?\n props.conversation.employees.filter(i => i.isActive && !i.isDeleted).map(i => ({image: profileQuery.getPhoto(i.employeeId), initials: displayShortName(i.firstName, i.lastName)})) : defaultParticipants;\n\n return (\n \n \n \n \n \n \n {conversationTitles.get(ConversationType.HealthCare)}\n \n \n {\n isMiddleScreen &&\n \n handleToggleSideArea(!isSideAreaOpen)}>\n \n \n handleToggleSideArea(!isSideAreaOpen)}\n >\n \n {renderSideArea}\n \n \n \n }\n \n )\n }\n\n const renderSideArea = (className: any) => {\n const members = props.conversation ?\n props.conversation.employees\n .filter(i => i.isActive && !i.isDeleted)\n .map(i => ({image: profileQuery.getPhoto(i.employeeId), firstName: i.firstName, lastName: i.lastName, position: employeeTypesNames.get(i.type), initials: displayShortName(i.firstName, i.lastName)})) :\n [{firstName: 'Health', lastName: 'Coach', initials: 'HC', position: 'Health Coach'}, {firstName: 'Provider', lastName: '', initials: 'Pr', position: 'Provider'}]\n\n return (\n \n \n\n \n\n \n \n )\n }\n\n const renderContent = () => {\n return props.conversation.employees?.length\n ? \n : \n }\n\n return (\n \n {renderGoBack()}\n\n
\n
\n {renderHeaderArea()}\n\n \n {\n !props.conversation ?\n \n : renderContent()\n }\n
\n {\n !isMiddleScreen && \n
\n \n\n {renderSideArea(clsx('flat-scroll', classes.sideContainer, classes.sideMaxHeight))}\n
\n }\n
\n
\n )\n};\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { ConversationModelBaseView, PatientConversationModel } from \"../../models/conversation.models\";\nimport { patientConversationsQuery } from \"../../stores/patientConversationsStore/patientConversations.query\";\nimport { patientConversationsStore } from \"../../stores/patientConversationsStore/patientConversations.store\";\nimport { conversationsViewService } from \"../../services/conversationsView.service\";\nimport { employeeConversationsStore } from \"../../stores/employeeConversationsStore/employeeConversations.store\";\n\nexport enum FullStaffChatComponentView {\n SelectedConversation\n}\n\ninterface FullStaffChatComponentState {\n isSideAreaOpen: boolean;\n isLoading: boolean;\n targetConversation: PatientConversationModel;\n messagesStaff: ConversationModelBaseView[];\n}\n\nexport function useFacade(): [FullStaffChatComponentState, (open: boolean) => void, (conversation: PatientConversationModel) => void] {\n const [state, setState] = useState({\n isSideAreaOpen: false,\n isLoading: false,\n author: null,\n targetConversation: null,\n messagesStaff: null,\n } as FullStaffChatComponentState);\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isSideAreaOpen: open });\n }\n\n const handleSelectConversation = (conversation: PatientConversationModel) => {\n setState(state => ({ ...state, isLoading: true, targetConversation: conversation}))\n patientConversationsStore.setTargetConversation(conversation);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientConversationsQuery.targetStaffConversation$, messages =>\n setState(state => ({ ...state, messagesStaff: messages }))\n ),\n ];\n\n if (state.targetConversation && state.targetConversation.vendorExternalId) {\n conversationsViewService.getPatientAllMessagesStaff(state.targetConversation.vendorExternalId).subscribe(() => {\n employeeConversationsStore.resetAttachmentsView(); \n },\n () => {},\n () => { setState(state => ({ ...state, isLoading: false }))}\n );\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [state.targetConversation]);\n\n return [state, handleToggleSideArea, handleSelectConversation];\n}\n","import { useState } from \"react\";\n\ninterface FullHealthCareChatComponentState {\n isSideAreaOpen: boolean;\n}\n\nexport function useFacade(): [FullHealthCareChatComponentState, (open: boolean) => void] {\n const [state, setState] = useState({\n\n isSideAreaOpen: false,\n } as FullHealthCareChatComponentState);\n\n const handleToggleSideArea = (open: boolean) => {\n setState({ ...state, isSideAreaOpen: open });\n }\n\n return [state, handleToggleSideArea];\n}\n","import { Box, Divider, Drawer, useMediaQuery, useTheme, IconButton } from '@material-ui/core';\nimport React from 'react';\nimport { BackButton } from '../../../common/components/wildHealthButton/BackButton';\nimport { ArrowBack } from '@material-ui/icons';\nimport { useStyles } from '../fullStaffChatComponent/fullStaffChatComponent.styles';\nimport { useFacade } from './fullStaffViewChatComponent.hooks';\nimport { ReactComponent as OpenSideIcon } from '@img/icons/OpenSide.svg';\nimport clsx from 'clsx';\nimport {conversationTitles, ConversationType, PatientConversationModel} from \"../../models/conversation.models\";\nimport { MessageAvatarsComponent } from '../messageAvatarsComponent/MessageAvatarsComponent';\nimport { StaffConversationsHistoryComponent } from '../staffConversationsHistoryComponent/StaffConversationsHistoryComponent';\nimport { WildHealthTabControl } from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { useStylesSideBarTabs } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.styles';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { ChatsPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/ChatsPlaceHolder';\nimport { ConversationViewComponent } from '../conversationViewComponent/ConversationViewComponent';\nimport { AttachmentsViewComponent } from '../attachmentsViewComponent/AttachmentsViewComponent';\n\nexport interface FullStaffViewChatComponentProps {\n targetConversation: PatientConversationModel;\n conversations: PatientConversationModel[];\n closeFullChat: () => void;\n}\n\nexport const FullStaffViewChatComponent: React.FC = (props: FullStaffViewChatComponentProps) => {\n const classes = useStyles();\n const sideBarTabsStyle = useStylesSideBarTabs();\n\n const [\n {\n isLoading,\n isSideAreaOpen,\n messagesStaff,\n },\n handleToggleSideArea,\n handleSelectConversation,\n ] = useFacade();\n\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down('md'));\n \n\n const renderGoBack = () => {\n return (\n \n props.closeFullChat()}\n >\n \n \n \n Back\n \n \n \n \n )\n }\n\n const renderHeaderArea = () => {\n return (\n \n \n \n \n \n \n \n {conversationTitles.get(ConversationType.Support)}\n \n \n {props.targetConversation?.subject}\n \n \n \n \n {\n isMiddleScreen &&\n \n handleToggleSideArea(!isSideAreaOpen)}>\n \n \n handleToggleSideArea(!isSideAreaOpen)}\n >\n \n {renderSideArea('100%')}\n \n \n \n }\n \n \n )\n }\n\n const renderSideArea = (height: string) => {\n\n const tabs: TabItem[] = [\n {\n title: 'Message History',\n content: (\n isLoading ? :\n !props.conversations.length ? :\n handleSelectConversation(conversation)}\n />\n ),\n keepMounted: true,\n \n },\n {\n title: 'Attachments',\n content: (\n isLoading ? :\n \n \n \n ),\n keepMounted: true,\n },\n ];\n\n return (\n \n \n \n )\n }\n\n const renderSelectedConversation = () => {\n return (\n \n )\n }\n\n return (\n \n {renderGoBack()}\n\n
\n
\n {renderHeaderArea()}\n\n \n\n {renderSelectedConversation()}\n
\n {\n !isMiddleScreen &&\n
\n \n\n {renderSideArea('calc(100vh - 300px)')}\n
\n }\n
\n
\n )\n};\n","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgHealthSectionEmptyState = function SvgHealthSectionEmptyState(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 241,\n height: 138,\n viewBox: \"0 0 241 138\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1541_46603)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 121.039,\n cy: 150.127,\n rx: 120.414,\n ry: 82.5696,\n fill: \"url(#paint0_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 183.743,\n cy: 83.7432,\n r: 7.74316,\n fill: \"url(#paint1_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 182.637,\n y: 90.0114,\n width: 2.21233,\n height: 6.637,\n fill: \"#DAE1E9\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 191.486,\n y: 94.4362,\n width: 2.21233,\n height: 8.84933,\n transform: \"rotate(90 191.486 94.4362)\",\n fill: \"url(#paint2_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 24.2143,\n cy: 104.214,\n r: 13.2143,\n fill: \"url(#paint3_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 22.3257,\n y: 114.911,\n width: 3.7755,\n height: 11.3265,\n fill: \"#DAE1E9\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 37.428,\n y: 122.463,\n width: 3.7755,\n height: 15.102,\n transform: \"rotate(90 37.428 122.463)\",\n fill: \"url(#paint4_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M101.586 21.071V79.1204V81.0466C101.586 89.3051 108.277 96 116.535 96H155.93C162.847 96 164.85 89.9618 164.987 86.9426V21.071C164.987 10.8609 171.3 7.48494 174.456 7.07324H120.112C105.95 7.07324 101.86 16.4051 101.586 21.071Z\",\n fill: \"#EFF3F6\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 115.49,\n y: 20.7651,\n width: 36.1706,\n height: 4.34047,\n rx: 2.17024,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 115.49,\n y: 28.7227,\n width: 36.1706,\n height: 4.34047,\n rx: 2.17024,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 115.49,\n y: 36.6802,\n width: 36.1706,\n height: 4.34047,\n rx: 2.17024,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 115.49,\n y: 58.3826,\n width: 36.1706,\n height: 4.34047,\n rx: 2.17024,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 115.49,\n y: 66.3401,\n width: 16.6385,\n height: 4.34047,\n rx: 2.17024,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M175.842 7.07324C169.62 7.07324 164.576 12.1171 164.576 18.3391V30.9517H184.107C185.764 30.9517 187.107 29.6085 187.107 27.9517V18.3391C187.107 12.1171 182.064 7.07324 175.842 7.07324Z\",\n fill: \"url(#paint5_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M159.224 96C145.638 96 146.461 84.4725 146.461 79.5321L88 79.5321C88 85.7076 88 96 99.5275 96L159.224 96Z\",\n fill: \"url(#paint6_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M88.1386 71.5633C89.0338 70.4422 88.8493 68.8074 87.7267 67.914C86.6067 67.0226 84.9763 67.2066 84.0831 68.3252L75.6215 78.9228C74.7264 80.044 74.9109 81.6788 76.0335 82.5722C77.1535 83.4636 78.7839 83.2796 79.677 82.1609L88.1386 71.5633Z\",\n fill: \"#2275A6\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n r: 22.0416,\n transform: \"matrix(-1 0 0 1 98.7406 53.0416)\",\n fill: \"url(#paint7_linear_1541_46603)\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_1541_46603)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n r: 16.2193,\n transform: \"matrix(-1 0 0 1 98.7399 53.0418)\",\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M85.4914 74.912L87.772 72.0464C86.2609 71.1725 84.8632 70.1298 83.6058 68.9449L82.0289 70.9263C83.0106 72.5637 84.344 74.2945 85.4914 74.912Z\",\n fill: \"#166592\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 129,\n cy: 105,\n rx: 30,\n ry: 3,\n fill: \"#EBF0F6\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 74.1453,\n cy: 113.132,\n rx: 13.1453,\n ry: 2.13168,\n fill: \"#EBF0F6\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_1541_46603\",\n x: 80.0662,\n y: 36.0044,\n width: 35.7111,\n height: 35.711,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: -0.818092,\n dy: 0.818092\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 0.818092\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.0677083 0 0 0 0 0.369318 0 0 0 0 0.541667 0 0 0 1 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_1541_46603\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_1541_46603\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_1541_46603\",\n x1: 121.039,\n y1: 67.5571,\n x2: 121.352,\n y2: 180.152,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#F1F6FB\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.601737,\n stopColor: \"#FAFCFF\",\n stopOpacity: 0.170619\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#FAFCFF\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_1541_46603\",\n x1: 183.743,\n y1: 76,\n x2: 183.743,\n y2: 91.4863,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#E2E9F1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D9E1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint2_linear_1541_46603\",\n x1: 192.592,\n y1: 95.5423,\n x2: 192.592,\n y2: 101.442,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#DAE1E9\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#DAE1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint3_linear_1541_46603\",\n x1: 24.2143,\n y1: 91,\n x2: 24.2143,\n y2: 117.429,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#E2E9F1\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D9E1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint4_linear_1541_46603\",\n x1: 39.3157,\n y1: 124.35,\n x2: 39.3157,\n y2: 134.418,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#DAE1E9\",\n stopOpacity: 0\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#DAE1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint5_linear_1541_46603\",\n x1: 175.89,\n y1: 10.6373,\n x2: 181.918,\n y2: 29.7113,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#ECF4FD\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D9E1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint6_linear_1541_46603\",\n x1: 114.766,\n y1: 96,\n x2: 112.596,\n y2: 80.4466,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#EAF1F9\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#D9E1E9\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint7_linear_1541_46603\",\n x1: 34.7457,\n y1: 2.1448,\n x2: 6.00543,\n y2: 42.038,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#3E98CC\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#1F72A2\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1541_46603\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 241,\n height: 138,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHealthSectionEmptyState, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/HealthSectionEmptyState.16f0bdd9.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, Grid } from '@material-ui/core';\nimport React from 'react';\nimport { useStyles } from '../patientConversationsComponent/patientConversationsComponent.styles';\nimport { useFacade } from './patientConversationsViewComponent.hooks';\nimport { HealthCareChatViewComponent } from '../healthCareChatViewComponent/HealthCareChatViewComponent';\nimport { StaffChatViewComponent } from '../staffChatViewComponent/StaffChatViewComponent';\nimport { FullHealthCareViewChatComponent } from '../fullHealthCareViewChatComponent/FullHealthCareViewChatComponent';\nimport { FullStaffViewChatComponent } from '../fullStaffViewChatComponent/FullStaffViewChatComponent';\n\ninterface PatientConversationsComponentProps {\n patientId?: number;\n}\n\nexport const PatientConversationsViewComponent: React.FC = (props: PatientConversationsComponentProps) => {\n const { patientId } = props;\n const classes = useStyles();\n\n const [\n {\n isSupportLoading,\n isSupportPhotosLoading,\n isHealthCareLoading,\n isHCPhotosLoading,\n supportConversations,\n healthCareConversation,\n isFullStaffChatOpen,\n isFullHealthCareChatOpen,\n messagesHealthcare,\n targetConversation\n },\n handleOpenStaffChat,\n handleOpenHealthCareChat,\n handleCloseStaffChat,\n handleCloseHealthCareChat,\n handleDownloadMessages,\n ] = useFacade(patientId);\n\n const renderFullChat = () => {\n return <>\n { isFullStaffChatOpen && }\n { isFullHealthCareChatOpen && }\n \n }\n return (\n isFullStaffChatOpen || isFullHealthCareChatOpen\n ? renderFullChat()\n : \n \n \n \n \n \n \n\n \n \n \n \n \n \n\n\n )\n};\n","import { colors } from '../../../common/constants/colors'\nimport { makeStyles, Theme } from '@material-ui/core/styles'\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n container: {\n width: '100%',\n marginTop: '10px',\n paddingTop: \"30px\",\n paddingLeft: \"30px\",\n paddingRight: \"30px\",\n backgroundColor: colors.white,\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: \"16px\",\n paddingLeft: \"16px\",\n paddingRight: \"16px\",\n },\n },\n item: {\n paddingBottom: '30px'\n },\n empty: {\n display: 'flex',\n width: '100%'\n },\n title: {\n fontSize: 20,\n fontWeight: 600\n },\n titleConteiner: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n button: {\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n },\n root: {\n height: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n flex: 1,\n },\n },\n image: {\n maxWidth: 241,\n width: '100%',\n },\n message: {\n fontFamily: \"Poppins\",\n fontWeight: 600,\n fontSize: 20,\n color: colors.gray1,\n marginBottom: 8,\n },\n}));","import { ReactComponent as NoInformationIcon } from '@img/icons/HealthSectionEmptyState.svg';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton'\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent'\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress'\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models'\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton'\nimport { ProtectedElement } from '../../../common/components/ProtectedElement'\nimport { navigationService } from '../../../../services/navigation.service'\nimport { useStyles } from './HealthSummaryWrapperComponent.styles'\nimport { UserType } from '../../../auth/models/auth.enums'\nimport { authQuery } from '../../../auth/stores/auth'\nimport { Box, Button, Grid } from '@material-ui/core'\nimport EditIcon from '@material-ui/icons/Edit'\nimport AddIcon from '@material-ui/icons/Add'\nimport { useHistory } from 'react-router'\nimport React from 'react'\nimport {healthSummaryRxntMedicationsService} from \"../../services/healthSummaryRxntMedicationsService\";\nimport {\n ManageRxntButtonComponent\n} from \"../../../patientSupplements/components/manageRxntButton/ManageRxntButtonComponent\";\nimport {healthSummaryRxntAllergiesService} from \"../../services/HealthSummaryRxntAllergiesService\";\n\n\nexport interface HealthSummaryWrapperComponentProps {\n isLoading: boolean\n patientId?: number\n isEmpty: boolean\n title: string\n mapKey?: string\n handleAdd?: Function\n handleEdit?: Function\n handleSave?: Function\n handleCancel?: Function\n editMode?: boolean\n disableUpdateButton?: boolean\n children: React.ReactNode\n}\n\nexport const HealthSummaryWrapperComponent: React.FC = (props: HealthSummaryWrapperComponentProps) => {\n const {\n isLoading,\n patientId = null,\n isEmpty,\n title,\n mapKey,\n handleAdd,\n handleEdit,\n handleSave,\n handleCancel,\n editMode,\n disableUpdateButton,\n children\n } = props\n\n const rxntMapKeys = [\n healthSummaryRxntMedicationsService.mapKey,\n healthSummaryRxntAllergiesService.mapKey\n ];\n\n const history = useHistory();\n\n const classes = useStyles();\n\n const loadingItem = () => ()\n\n const linkQuestionnaireButton = () => {\n const clickAction = authQuery.getType() === UserType.Employee\n ? () => navigationService.toPatientHealthForms(history, patientId)\n : () => navigationService.toMyHealthForms(history)\n\n\n return \n }\n\n const getEmptyMessage = (): string => {\n switch (mapKey) {\n case 'MEDICATIONS': return 'No medications prescribed.'\n case 'SUPPLEMENTS': return 'No supplements prescribed.'\n case 'ALLERGIES': return 'No known drug allergies'\n default: return 'No information provided.'\n }\n }\n\n const getEmptyDescription = () => {\n switch (mapKey) {\n case 'MEDICATIONS':\n case 'SUPPLEMENTS':\n return '';\n case 'FAMILY_HISTORY': return No pertinent family history.\n case 'PROBLEMS_LIST': return No pertinent problem list.\n case 'SURGICAL_HISTORY': return No pertinent surgical history.\n default: return Complete your {linkQuestionnaireButton()} to have your info displayed here.\n }\n }\n\n const emptyContent = () => {\n return \n \n \n \n {getEmptyMessage()}\n {getEmptyDescription()}\n \n \n \n }\n\n return \n \n \n {title}\n \n\n \n {handleAdd && !isEmpty && !disableUpdateButton &&\n { handleAdd(e) }}>\n \n Add\n \n }\n userType={UserType.Employee}\n permissions={[]}\n />\n }\n {disableUpdateButton && rxntMapKeys.includes(mapKey) &&\n }\n userType={UserType.Employee}\n permissions={[]}\n />\n }\n {handleEdit && !disableUpdateButton &&\n \n \n {\n handleEdit(false)\n handleCancel()\n }}\n size='default'\n color='tertiary'>\n Cancel\n \n \n \n { handleSave() }}\n size='default'>\n Save\n \n \n \n :\n \n }\n userType={UserType.Employee}\n permissions={[]}\n />\n }\n \n \n \n {\n isLoading\n ? loadingItem()\n : isEmpty && !editMode ? emptyContent() : children\n }\n \n \n}","import {\n HealthSummaryDataModel,\n HealthSummaryMapItemModel,\n HealthSummaryMapModel\n} from '../../models/healthSummary.models'\nimport { HealthSummaryWrapperComponent } from '../wrapperComponent/HealthSummaryWrapperComponent'\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent'\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models'\nimport { BlockItemComponent } from '../blockItemComponent/BlockItemComponent'\nimport { getKey, onlyUnique } from '../../helpers/healthSummaryHelper'\nimport { useStyles } from './HealthSummaryBlockItemsComponent.styles'\nimport { useFacade } from './healthSummaryBlockItemsComponent.hooks'\nimport { Box, Button, TextField } from '@material-ui/core'\nimport AddIcon from '@material-ui/icons/Add'\nimport moment from 'moment'\nimport React from 'react'\n\nexport interface HealthSummaryBlockItemsComponentProps {\n data: HealthSummaryDataModel[]\n map: HealthSummaryMapModel\n rowFormat: boolean\n patientId?: number\n}\n\nexport const HealthSummaryBlockItemsComponent: React.FC = (props: HealthSummaryBlockItemsComponentProps) => {\n const {\n data,\n map,\n rowFormat,\n patientId\n } = props\n\n const [\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditMode,\n cancelChanges,\n saveChanges,\n state\n ] = useFacade(map, patientId)\n\n const classes = useStyles()\n\n const buildItems = (item: HealthSummaryMapItemModel) => {\n const newItem = (key: string, val: string, name: string = item.name, tooltip: string = '') => ({ key: key, name: name, value: val, tooltip: tooltip })\n\n const valueItems = data.filter(x => getKey(x.key) === item.key)\n\n const result = valueItems.map(valueItem => {\n if (!valueItem) {\n return newItem(item.key, '', item.name, '')\n }\n\n //use name as value if it is needed\n const value = map.useNameValue ? valueItem.name : valueItem.value\n //using name to view label\n if (item.viewLabelCondition === value) {\n return newItem(valueItem.key, item.name, '', valueItem.tooltip)\n }\n\n //apply date format\n if (item.dateFormat) {\n const date = moment(value)\n\n const formatedValue = date.isValid() ? date.format(item.dateFormat) : value\n\n return newItem(valueItem.key, formatedValue)\n }\n\n return newItem(valueItem.key, value, item.name, valueItem.tooltip)\n })\n\n return result\n }\n\n const getItemsByMapKey = (items, section) => {\n\n switch (map.key) {\n case 'PROBLEMS_LIST':\n return items.map((item) =>\n item.value &&\n \n \n )\n default:\n return items.map((item) =>\n item.value &&\n \n \n )\n }\n }\n\n const getItems = (subSection: string) => {\n const newItem = (item) => ({\n key: item.key,\n name: map.useNameValue ? '' : item.name,\n value: map.useNameValue ? item.name : item.value,\n tooltip: item?.tooltip\n })\n\n const subSectionItems = data\n .filter(x => x.key.includes(map.key) && x.key.includes(subSection ?? ''))\n .map(x => newItem(x))\n\n return map.items\n .filter(x => x.subSection === subSection)\n .flatMap(x => buildItems(x))\n .concat(subSectionItems)\n }\n\n const subSubsectionItem = (section: string, items) => ({\n section: section,\n items: items,\n hasItems: !!items.length\n })\n\n const sections = map.items\n .map(x => x.subSection)\n .filter(onlyUnique)\n .map(section => {\n return subSubsectionItem(section, getItems(section))\n })\n\n const newItem = (section: string) => state.draft.find(x => x.section === section && x.isNew)\n\n const AddInformationItem = (section: string) =>\n \n {\n state.editMode && !newItem(section) &&\n \n }\n {\n newItem(section) &&\n \n {\n handleEditNewItem(e.target.value)\n }}\n onBlur={() => {\n handleSaveNewItem()\n }}\n value={newItem(section).value}\n placeholder=\"Type here...\"\n variant=\"outlined\"\n size=\"small\"\n autoFocus\n required\n />\n \n }\n \n return \n \n \n {\n sections.map(({ section, items, hasItems }) => {\n return (hasItems || state.editMode) &&\n \n {section}\n \n {\n getItemsByMapKey(items, section)\n }\n \n {AddInformationItem(section)}\n \n }\n )\n }\n \n \n {/* figure our requirements about footer */}\n {/* { getFooter() } */}\n \n}","import { HealthSummaryDraftModel, HealthSummaryMapModel } from '../../models/healthSummary.models'\nimport { healthSummaryService } from '../../services/healthSummary.service'\nimport { buildKey } from '../../helpers/healthSummaryHelper'\nimport { healthSummaryStore } from '../../stores'\nimport { useState } from 'react'\n\nexport interface HealthSummaryBlockItemsComponentState {\n draft: HealthSummaryDraftModel[]\n isLoading: boolean\n editMode: boolean\n}\n\nexport function useFacade(map: HealthSummaryMapModel, patientId: number): [\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n HealthSummaryBlockItemsComponentState\n] {\n const [state, setState] = useState({\n isLoading: false,\n editMode: false,\n draft: []\n } as HealthSummaryBlockItemsComponentState)\n\n const handleEditMode = (editMode: boolean) => {\n setState({\n ...state,\n editMode: editMode\n })\n }\n\n const handleEditNewItem = (value: string) => {\n const draft = state.draft\n const item = state.draft.find(x => x.isNew)\n\n draft[draft.indexOf(draft.find(x=> x.key === item.key))].value = value\n\n setState({\n ...state,\n draft: draft\n })\n }\n\n const handleAddInformation = (subSection: string) => {\n const newDataItem = {\n name: '',\n value: '',\n key: buildKey(map.key, subSection),\n section: subSection,\n isNew: true,\n patientId: patientId\n } as HealthSummaryDraftModel\n\n setState({\n ...state,\n draft: [...state.draft, newDataItem]\n })\n }\n\n const handleSaveNewItem = () => {\n const draft = state.draft\n const item = state.draft.find(x => x.isNew)\n\n if (item.value) {\n healthSummaryStore.add(item)\n }\n\n setState({\n ...state,\n draft: draft.filter(x=> x.key !== item.key)\n })\n }\n\n const saveChanges = () => { \n setState(state => ({...state, isLoading: true}))\n\n const data = healthSummaryStore.getValue().data\n const originData = healthSummaryStore.getValue().originData\n\n let editedValues = []\n data.forEach(dataItem => {\n const orign = originData.find(x => x.key === dataItem.key)\n\n if (orign && orign.value !== dataItem.value) {\n editedValues.push(dataItem)\n }\n })\n\n editedValues = editedValues.concat(data.filter(x=> (x.isNew || x.isDeleted) && !editedValues.find(el => el.id === x.id)))\n\n healthSummaryService.batchUpdate(editedValues).subscribe(() => {\n healthSummaryStore.updateDataAfterSave()\n setState(state => ({\n ...state, \n isLoading: false,\n editMode: false\n }))\n })\n }\n\n const cancelChanges = () => {\n setState({\n ...state,\n editMode: false\n })\n\n healthSummaryStore.refreshData()\n }\n\n return [\n handleAddInformation,\n handleEditNewItem,\n handleSaveNewItem,\n handleEditMode,\n cancelChanges,\n saveChanges,\n state\n ]\n}","import { WildHealthAutocompleteComponent } from '../../../common/components/wildhealthAutocomplete/WildHealthAutocompleteComponent'\nimport { HealthSummaryDataModel, HealthSummaryListDataModel, HealthSummaryMapModel } from '../../models/healthSummary.models'\nimport { Box, IconButton, Menu, MenuItem, Table, TableBody, TableContainer, TableHead, TextField, Tooltip } from '@material-ui/core'\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell'\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow'\nimport { HealthSummaryWrapperComponent } from '../wrapperComponent/HealthSummaryWrapperComponent'\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent'\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models'\nimport { ProtectedElement } from '../../../common/components/ProtectedElement'\nimport { useStyles } from './healthSummaryListItemsComponent.styles'\nimport { useFacade } from './healthSummaryListItemsComponent.hooks'\nimport { PermissionType } from '../../../auth/models/auth.enums'\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz'\nimport React from 'react'\nimport InfoIcon from '@material-ui/icons/InfoRounded';\nimport { colors } from '../../../common/constants/colors'\n\nexport interface HealthSummaryListItemsComponentProps {\n data: HealthSummaryDataModel[]\n map: HealthSummaryMapModel\n patientId?: number\n}\n\nexport const HealthSummaryListItemsComponent: React.FC = (props: HealthSummaryListItemsComponentProps) => {\n const {\n patientId,\n data,\n map\n } = props\n\n const [\n getIcdCodesAutoComplete,\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n cancelChanges,\n handleEditMode,\n saveNewChanges,\n state,\n isRxnt\n ] = useFacade(map, patientId)\n\n const classes = useStyles()\n\n const getName = (key: string): string => map.items.find(x => x.key === key)?.name;\n\n const getData = () => {\n return data?.map(x => ({\n name: x.name || getName(x.key),\n key: x.key,\n value: x.value,\n tooltip: x.tooltip ? x.tooltip : ''\n }) as HealthSummaryListDataModel) ?? [];\n }\n\n const renderToggleButtonCell = (key: string) => (\n { handleToggleActions(key, e.currentTarget) }}>\n \n \n )\n\n const renderMenuItems = () => (\n { handleToggleActions(0) }}\n >\n { handleEdit() }}>\n Edit\n \n { handleDelete() }}>\n Delete\n \n \n )\n\n const renderItemRow = (item: HealthSummaryListDataModel) => {\n return \n \n \n \n {item.tooltip && \n \n }\n \n {\n item.name\n }\n \n \n \n \n {item.value ?? '--'}\n \n \n {!state.addNewRow && !map.editRestricted &&\n \n \n \n \n \n \n \n }\n \n }\n\n const getEditCell = (type: string, value: string, handleEdit: Function) => {\n return { handleEdit(e.target.value) }}\n onBlur={(e) => { handleBlur(e) }}\n autoFocus={type === 'name'}\n placeholder=\"Type here...\"\n className={classes.input}\n id={`list-edit-${type}`}\n variant=\"outlined\"\n value={value}\n size=\"small\"\n fullWidth\n required\n />\n }\n\n const renderRowEditor = () => {\n if (map.key === 'PROBLEMS_LIST') {\n return \n \n { saveValue(value) }}\n id={'auto-complete-value'}\n value={state.editRowValue}\n />\n \n \n }\n\n return (\n \n {getEditCell('name', state.editRowName, handleEditRowName)}\n \n \n {getEditCell('value', state.editRowValue, handleEditRowValue)}\n \n )\n }\n\n return handleAddNewRow()}\n disableUpdateButton={map.editRestricted || !!state.selectedKey}\n mapKey={map.key}\n >\n \n \n \n \n \n \n \n {map.nameColumn}\n \n \n \n {map.valueColumn}\n \n {!state.addNewRow &&\n \n \n \n \n }\n \n \n \n {\n getData().map((item) =>\n state.isEditorOpened && state.selectedKey === item.key\n ? renderRowEditor()\n : renderItemRow(item))\n }\n {\n state.addNewRow && renderRowEditor()\n }\n \n
\n
\n \n
\n \n}","import {HealthSummaryDataModel, HealthSummaryMapModel} from '../../models/healthSummary.models'\nimport {healthSummaryService} from '../../services/healthSummary.service'\nimport {icdCodesService} from '../../../notes/services/icdCodes.service'\nimport {buildKey} from '../../helpers/healthSummaryHelper'\nimport {healthSummaryQuery} from '../../stores'\nimport {Observable} from 'rxjs'\nimport {useState} from 'react'\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\nimport {isFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\n\nexport interface HealthSummaryListItemsComponentState {\n isEditorOpened: boolean\n isMenuOpened: boolean\n editRowValue: string\n selectedKey: string\n editRowName: string\n isLoading: boolean\n addNewRow: boolean\n anchorEl: any\n editMode: boolean\n}\n\nexport function useFacade(map: HealthSummaryMapModel, patientId?: number): [\n (searchQuery: string) => Observable,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n HealthSummaryListItemsComponentState,\n boolean\n] {\n const [state, setState] = useState({\n isEditorOpened: false,\n isMenuOpened: false,\n selectedKey: null,\n addNewRow: false,\n isLoading: false,\n anchorEl: null,\n editMode: false,\n } as HealthSummaryListItemsComponentState);\n\n const flags = useFlags();\n\n const setInitialState = () => {\n setState({\n ...state,\n isEditorOpened: false,\n selectedKey: null,\n addNewRow: false,\n editRowValue: '',\n isLoading: false,\n editRowName: '',\n editMode: false,\n })\n }\n\n const handleToggleActions = (key: string, anchorEl: Element) => {\n setState(state => ({\n ...state,\n isMenuOpened: !state.isMenuOpened,\n anchorEl: anchorEl,\n selectedKey: key\n }))\n }\n\n const handleEdit = () => {\n const dataItem = healthSummaryQuery.getDataItem(state.selectedKey)\n\n setState({\n ...state,\n editRowName: dataItem.name || healthSummaryQuery.getDataItemName(state.selectedKey),\n editRowValue: dataItem.value,\n isEditorOpened: true,\n isMenuOpened: false\n })\n }\n\n const handleDelete = () => {\n setState({\n ...state,\n isMenuOpened: false,\n selectedKey: null,\n anchorEl: null\n })\n\n healthSummaryService.delete(patientId, map, state.selectedKey, flags)\n }\n\n const handleEditRowName = (value: string) => {\n setState({\n ...state,\n editRowName: value\n })\n }\n\n const handleEditRowValue = (value: string) => {\n setState(state => ({\n ...state,\n editRowValue: value\n }))\n }\n\n const handleAddNewRow = () => {\n setState({\n ...state,\n addNewRow: true\n })\n }\n\n const getIcdCodesAutoComplete = (searchQuery: string): Observable => {\n return new Observable((observer) => {\n icdCodesService.get(searchQuery).subscribe(\n (data) => {\n observer.next(data.map((x) => x.code + ' ' + x.description));\n observer.complete();\n },\n error => {\n observer.next([]);\n observer.complete();\n }\n )\n })\n }\n\n const handleBlur = (e, value) => {\n if (value) {\n setState(state => ({\n ...state,\n editRowValue: value\n }))\n }\n\n if (e?.currentTarget?.id.includes('list-edit') && e?.relatedTarget) {\n return\n }\n\n if (state.editRowName && state.editRowValue) { \n saveChanges({name: state.editRowName, value: state.editRowValue})\n return\n }\n\n if (state.addNewRow && !state.editRowName && !state.editRowValue) {\n setInitialState()\n return\n }\n }\n\n const parseValue = (value: string) => { \n if (!value) {\n return ''\n }\n\n const arr = value.split(' ')\n\n if (!arr || !arr.length) {\n return ''\n }\n\n return arr;\n }\n\n const saveValue = (value: string) => {\n const parsedValue = parseValue(value)\n\n if (!parsedValue) { \n return\n }\n\n const editValue = parsedValue.length > 1 ? parsedValue[0] : ''\n const editName = parsedValue.length > 1 ? value.replace(editValue, '').trim() : value\n\n setState(state => ({\n ...state,\n editRowValue: editValue,\n editRowName: editName\n }))\n\n const result = {name: editName, value: editValue}\n\n saveChanges(result)\n }\n \n const saveChanges = ({name, value}) => {\n if (map.useNameValue && (!name || !value)) { \n setInitialState()\n return\n }\n\n setState(state => ({...state, isLoading: true }))\n \n const isNew = !state.selectedKey\n\n const model = { \n key: isNew ? buildKey(map.key) : state.selectedKey, \n name: name ?? state.editRowName, \n value: value ?? state.editRowValue\n } as HealthSummaryDataModel\n\n const callback = () => {\n if (map.useJsonData) {\n const service = healthSummaryService.getJsonDataService(map.key, flags)\n service.get(patientId)\n }\n\n setInitialState()\n }\n\n isNew \n ? healthSummaryService.create(patientId, map, model, flags).subscribe(callback, callback)\n : healthSummaryService.update(patientId, map, model, flags).subscribe(callback, callback)\n }\n\n const cancelChanges = () => {\n setInitialState()\n return\n }\n\n const handleEditMode = () => {\n setState(state => ({...state, editMode: true, addNewRow: true }))\n }\n\n const saveNewChanges = () => {\n if (state.editRowName && state.editRowValue) { \n if (map.key === 'PROBLEMS_LIST') {\n return\n }\n saveChanges({name: state.editRowName, value: state.editRowValue})\n return\n }\n\n if (state.addNewRow && !state.editRowName && !state.editRowValue) {\n setInitialState()\n return\n }\n }\n\n return [\n getIcdCodesAutoComplete,\n handleToggleActions,\n handleEditRowValue,\n handleEditRowName,\n handleAddNewRow,\n handleDelete,\n handleEdit,\n handleBlur,\n saveValue,\n cancelChanges,\n handleEditMode,\n saveNewChanges,\n state,\n isFeatureFlag(flags, FeatureFlag.RxntIntegration)\n ]\n}","import { WildHealthPlaceHolderBase } from './WildHealthPlaceHolderBase'\nimport { RoutesConstants } from '../../../../constants/route.constants'\nimport { ImageConstants } from '../../../../constants/image.constants'\nimport { useStyles } from './commonPlaceHolder.styles'\nimport { Box } from '@material-ui/core'\nimport React from 'react'\n\nexport interface HealthSummaryPlaceHolderProps {\n title: string;\n children: React.ReactNode\n}\n\nexport const HealthSummaryPlaceHolder: React.FC = (props: HealthSummaryPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n \n {props.children}\n \n \"img\"\n \n \n );\n}\n","import { HealthSummaryDataModel, HealthSummaryMapModel } from '../../models/healthSummary.models'\nimport { HealthSummaryWrapperComponent } from '../wrapperComponent/HealthSummaryWrapperComponent'\nimport { useFacade } from './healthSummaryContentComponent.hooks'\nimport { Box, TextField } from '@material-ui/core'\nimport React from 'react'\n\nexport interface HealthSummaryContentComponentProps {\n data: HealthSummaryDataModel[]\n map: HealthSummaryMapModel\n patientId?: number\n}\n\nexport const HealthSummaryContentComponent: React.FC = (props: HealthSummaryContentComponentProps) => {\n const {\n data,\n map,\n patientId\n } = props\n\n const [\n handleEditValue,\n handleEditMode,\n cancelChanges,\n saveChanges,\n state\n ] = useFacade(map, patientId)\n\n const getValue = () => data?.find(x => x.key === map.key)?.value\n\n return \n \n {\n state.editMode\n ? { handleEditValue(e.target.value) }}\n placeholder=\"Type here...\"\n value={state.value}\n variant=\"outlined\"\n inputProps={{ maxLength: 1500 }}\n rows={8}\n multiline\n fullWidth\n />\n : \n {getValue()}\n \n }\n \n \n}","import { HealthSummaryDataModel, HealthSummaryMapModel } from '../../models/healthSummary.models'\nimport { healthSummaryService } from '../../services/healthSummary.service'\nimport { healthSummaryQuery, healthSummaryStore } from '../../stores'\nimport { useState } from 'react'\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\nexport interface HealthSummaryContentComponentState {\n isLoading: boolean\n editMode: boolean\n value: string\n}\n\nexport function useFacade(map: HealthSummaryMapModel, patientId: number): [\n Function,\n Function,\n Function,\n Function,\n HealthSummaryContentComponentState\n] {\n const [state, setState] = useState({\n isLoading: false,\n editMode: false,\n value: ''\n } as HealthSummaryContentComponentState);\n\n const flags = useFlags();\n\n const handleEditValue = (value: string) => {\n setState({\n ...state,\n value: value\n })\n }\n\n const cancelChanges = () => {\n setState({\n ...state,\n editMode: false,\n value: ''\n })\n\n healthSummaryStore.refreshData()\n }\n\n const handleEditMode = (editMode: boolean) => {\n const item = healthSummaryQuery.getDataItem(map.key)\n\n if(!item) {\n const newDataItem = {\n name: '',\n value: '',\n key: map.key,\n isNew: true,\n patientId: patientId\n } as HealthSummaryDataModel\n\n healthSummaryStore.add(newDataItem)\n } \n\n const value = editMode && item ? item.value : ''\n\n setState({\n ...state,\n editMode: editMode,\n value: value\n })\n }\n\n const saveChanges = () => {\n setState(state => ({\n ...state,\n isLoading: true,\n editMode: false\n }))\n\n const dataItem = healthSummaryQuery.getDataItem(map.key)\n\n if (!dataItem) {\n return\n }\n\n dataItem.value = state.value\n\n healthSummaryStore.edit(dataItem)\n\n const callback = () => {\n setState(state => ({\n ...state,\n isLoading: false\n }))\n }\n\n dataItem.isNew \n ? healthSummaryService.create(patientId, map, dataItem, flags).subscribe(callback)\n : healthSummaryService.update(patientId, map, dataItem, flags).subscribe(callback)\n }\n\n return [\n handleEditValue,\n handleEditMode,\n cancelChanges,\n saveChanges,\n state\n ]\n}","import { createStyles, makeStyles } from '@material-ui/core/styles'\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n flexGrow: 1,\n display: 'flex',\n },\n container: {\n width: '100%',\n height: '100%',\n },\n emptyPage: {\n display: 'flex',\n width: '100%'\n }\n })\n)\n","import { HealthSummaryDataModel, HealthSummaryMapModel } from '../../models/healthSummary.models'\nimport { healthSummaryService } from '../../services/healthSummary.service'\nimport { healthSummaryQuery, healthSummaryStore } from '../../stores'\nimport { onEmit } from '../../../common/helpers/on-emit'\nimport { useState, useEffect } from 'react'\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\nexport interface PatientHealthSummaryComponentState {\n data: HealthSummaryDataModel[]\n map: HealthSummaryMapModel[]\n isDataPresent: boolean\n isLoading: boolean\n}\n\nexport function useFacade(patientId?: number): [\n PatientHealthSummaryComponentState\n] {\n const [state, setState] = useState({\n isDataPresent: false,\n isLoading: true,\n data: null,\n map: []\n } as PatientHealthSummaryComponentState);\n\n const flags = useFlags();\n\n const getJsonData = (map: HealthSummaryMapModel[]) => {\n const jsonDataSections = map.filter(x => x.useJsonData)\n\n healthSummaryStore.update({ jsonDataSections: jsonDataSections.length })\n\n jsonDataSections.forEach(x => healthSummaryService.getMapData(patientId, x, flags))\n }\n\n useEffect(() => {\n const subscriptions = [\n onEmit(healthSummaryQuery.data$, data => {\n setState(state => ({\n ...state,\n isDataPresent: !!data.length,\n data: data.filter(x => !x.isDeleted),\n isLoading: !healthSummaryStore.isLoading()\n }))\n }),\n onEmit(healthSummaryQuery.map$, map => {\n setState(state => ({\n ...state,\n map: map\n }))\n\n getJsonData(map)\n })\n ]\n\n healthSummaryStore.clear();\n healthSummaryService.getMap();\n healthSummaryService.getData(patientId).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n healthSummaryStore.clear();\n }\n\n }, [patientId])\n\n return [\n state\n ]\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles'\nimport { colors } from '../../../common/constants/colors'\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n rootView: {\n fontSize: 14,\n minHeight: 30,\n borderRadius: 2,\n display: 'flex',\n minWidth: 64,\n paddingRight: 14,\n color: colors.black,\n width: '100%',\n },\n container: {\n marginRight: '10px',\n marginTop: '10px',\n marginBottom: '10px',\n display: 'flex'\n },\n containerMain: {\n width: '100%',\n marginTop: '10px',\n paddingTop: \"30px\",\n paddingLeft: \"30px\",\n paddingRight: \"30px\",\n backgroundColor: colors.white,\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: \"16px\",\n paddingLeft: \"16px\",\n paddingRight: \"16px\",\n },\n },\n title: {\n fontSize: 20,\n fontWeight: 600\n },\n titleContainer: {\n display: 'flex',\n justifyContent: 'space-between',\n alignItems: 'center'\n },\n button: {\n color: colors.main,\n fontSize: 14\n },\n buttonText: {\n marginLeft: '6px',\n textTransform: 'capitalize'\n },\n empty: {\n display: 'flex',\n width: '100%'\n },\n root: {\n height: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n flex: 1,\n },\n \n },\n message: {\n fontFamily: \"Poppins\",\n fontWeight: 600,\n fontSize: 20,\n color: colors.gray1,\n marginBottom: 8,\n },\n valueView: {\n fontSize: 14,\n minHeight: 30,\n borderRadius: 2,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 'fit-content',\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n minWidth: 64,\n paddingRight: 14,\n paddingLeft: 14,\n color: '#091D36',\n backgroundColor: '#EFF3F8'\n },\n })\n)","import { useStyles } from './BlockItemApoeComponent.styles'\nimport { useFacade } from './blockItemApoeComponent.hooks'\nimport { Box, Button, FormControl, FormControlLabel, Grid, MenuItem, RadioGroup, Select } from '@material-ui/core'\nimport React from 'react'\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\nimport { WildHealthRadio } from '../../../common/components/WildHealthRadio';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { FeatureFlag } from '../../../common/components/featureFlags/featureFlags.models';\nimport { FeatureComponent } from '../../../common/components/featureFlags/FeatureComponent';\nimport { UserType } from '../../../auth/models/auth.enums';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport EditIcon from '@material-ui/icons/Edit'\nimport { colors } from '../../../common/constants/colors';\nimport { YesNo } from '../../../inputs/models/input.models';\nimport { apoeNames, ApoeSoursConstants, apoeSoursNames } from '../../../healthReport/constants/apoe.constants';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { ReactComponent as NoInformationIcon } from '@img/icons/HealthSectionEmptyState.svg';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { useHistory } from 'react-router';\nimport { WildHealthDatePicker } from '../../../common/components/WildHealthDatePicker';\nimport moment from 'moment';\n\ninterface BlockItemApoeComponentProps {\n patientId?: number\n}\n\nexport const BlockItemApoeComponent: React.FC = (props: BlockItemApoeComponentProps) => {\n const {\n patientId\n } = props\n\n const [\n state,\n handleEditValue,\n handleSelectedSours,\n handleHideApoe,\n handleEditMode,\n cancelChanges,\n saveChanges,\n handleDateColonoscopyChanges,\n handleDatePsaChanges\n ] = useFacade(patientId)\n\n const classes = useStyles()\n const history = useHistory()\n const isEmployView = authQuery.isEmployeeUser()\n\n const getApoeScoreValue = () => {\n return state.hideApoe !== YesNo.Yes && state.selectedSours === ApoeSoursConstants.BloodTest && state.selectedApoe ? `(99%)` : ''\n }\n\n const linkQuestionnaireButton = () => {\n const clickAction = authQuery.getType() === UserType.Employee\n ? () => navigationService.toPatientHealthForms(history, patientId)\n : () => navigationService.toMyHealthForms(history)\n\n\n return \n }\n\n const emptyContent = () => {\n return \n \n \n \n No information provided.\n Complete {linkQuestionnaireButton()} to have your info displayed here.\n \n \n \n }\n\n const getHeader = () => {\n return isEmployView\n ? \n \n Your APOE Status: Apo-{state.selectedApoe} {getApoeScoreValue()}*\n \n {state.hideApoe === YesNo.Yes && 'Patient Opted Out'}\n \n : \n {state.hideApoe !== YesNo.Yes && \n Your APOE Status: Apo-{state.selectedApoe} {getApoeScoreValue()}*\n }\n \n }\n\n const getRecommendationText = () => {\n if (!state.selectedApoe) {\n return 'We were unable to obtain an APOE that had a higher than 50% accuracy score.'\n }\n if (state.hideApoe === YesNo.Yes) {\n return 'The patient requested to not be given their APOE result.'\n }\n\n\n return state.selectedSours === ApoeSoursConstants.BloodTest\n ? 'This result is based in a blood test confirmation.'\n : 'The APOE result was obtained through outside source and was not a blood test. The confidence in accuracy is not known.'\n }\n\n\n const renderViewElement = () =>\n \n \n {getHeader()}\n \n \n {state.colonoscopy.value && \n Colonoscopy in past:\n {`${moment(state.colonoscopy.value).format('MM/DD/YYYY')}`}\n }\n {state.psa.value && \n PSA in the past:\n {`${moment(state.psa.value).format('MM/DD/YYYY')}`}\n }\n \n \n\n\n const renderEditElement = () => {\n return \n \n \n \n handleEditValue(v.target.value)}>\n {\n state.apoes.map(apoe => {\n return {apoeNames[apoe]}\n })\n }\n \n \n \n \n Patient Opted Out\n }\n checkStatus={state.hideApoe === YesNo.Yes}\n handleCheck={() => handleHideApoe(state.hideApoe === YesNo.Yes ? YesNo.No : YesNo.Yes)}\n defaultIcon\n />\n \n \n \n handleSelectedSours(String(event.target.value))}>\n \n } label={apoeSoursNames[ApoeSoursConstants.BloodTest]} />\n } label={apoeSoursNames[ApoeSoursConstants.Other]} />\n \n \n \n \n \n \n Colonoscopy in past:\n \n handleDateColonoscopyChanges(momentDate?.toDate())}\n useKeyboardDatePicker\n keyboardIcon={\n \n \n \n }\n name='colonoscopy'\n />\n \n \n \n PSA in the past:\n \n handleDatePsaChanges(momentDate?.toDate())}\n useKeyboardDatePicker\n keyboardIcon={\n \n \n \n }\n name='psa'\n />\n \n \n\n \n \n }\n\n\n const renderContent = () => {\n if (state.isLoading) {\n return \n }\n\n if ((!isEmployView && !state.selectedApoe && !state.colonoscopy?.value && !state.psa?.value) ||\n (!isEmployView && state.hideApoe === YesNo.Yes && !state.colonoscopy?.value && !state.psa?.value)) {\n return emptyContent()\n }\n\n return \n \n {state.editMode ? renderEditElement() : renderViewElement()}\n \n {(!isEmployView && state.hideApoe === YesNo.Yes) || (!isEmployView && !state.selectedApoe)\n ? <>\n : \n *\n \n {getRecommendationText()}\n \n }\n \n }\n\n return (\n \n \n \n Screening/Health Maintenance\n \n\n \n \n \n {\n handleEditMode(false)\n cancelChanges()\n }}\n size='default'\n color='tertiary'>\n Cancel\n \n \n \n { saveChanges() }}\n size='default'>\n Save\n \n \n \n :\n \n }\n userType={UserType.Employee}\n permissions={[]}\n />\n \n \n \n {renderContent()}\n \n \n\n )\n}","import { FileModel } from \"../../common/models/file.models\";\n\n\nexport enum DocumentCategory {\n LabReports = 3,\n ImagingReports = 4,\n Consults = 5,\n ECGs = 6,\n HospitalReports = 7,\n Consents = 8,\n MedicalForms = 9,\n OldRecords = 10,\n Miscellaneous = 11,\n Prescriptions = 22,\n EpigeneticReports = 24\n}\n\nexport const documentCategorySections = [\n DocumentCategory.LabReports,\n DocumentCategory.EpigeneticReports,\n DocumentCategory.ImagingReports,\n DocumentCategory.Consults,\n DocumentCategory.ECGs,\n DocumentCategory.HospitalReports,\n DocumentCategory.Consents,\n DocumentCategory.MedicalForms,\n DocumentCategory.OldRecords,\n DocumentCategory.Miscellaneous,\n DocumentCategory.Prescriptions\n];\n\nexport const documentCategoryNames : { [el: number]: string; } = {\n [DocumentCategory.LabReports]: 'Lab Reports',\n [DocumentCategory.EpigeneticReports]: 'Epigenetic Reports',\n [DocumentCategory.ImagingReports]: 'Imaging Reports',\n [DocumentCategory.Consults]: 'Consults',\n [DocumentCategory.ECGs]: 'ECGs',\n [DocumentCategory.HospitalReports]: 'Hospital Reports',\n [DocumentCategory.Consents]: 'Consents',\n [DocumentCategory.MedicalForms]: 'Medical Forms',\n [DocumentCategory.OldRecords]: 'Outside Records',\n [DocumentCategory.Miscellaneous]: 'Miscellaneous',\n [DocumentCategory.Prescriptions]: 'Prescriptions'\n}\n\nexport interface UpdateDnaFileSynchronizationStatusModel {\n fileName: string;\n isSynchronized: boolean;\n}\n\nexport interface DocumentCategoryModel {\n name: string,\n id: number,\n type: number,\n documents: DocumentModel[],\n}\n\nexport interface DocumentsModel {\n id: number;\n uploadedAt: Date;\n file: FileModel;\n}\n\nexport interface DocumentModel {\n dateUploaded: string;\n id: number;\n name: string;\n referenceId: number;\n type: number;\n isViewableByPatient: boolean;\n isViewed?: boolean;\n}\n\nexport interface TransferDocumentModel {\n id: number;\n attachmentType: number;\n}\n\nexport interface DocumentsToSendModel {\n file: File;\n name: string;\n}\n\nexport interface ViewableDocumentModel {\n id: number;\n isViewableByPatient: boolean;\n}\n\n","import { useEffect, useState } from 'react'\nimport { Subscription } from 'rxjs/internal/Subscription';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { apoes, ApoeSoursConstants } from '../../../healthReport/constants/apoe.constants';\nimport { ApoeModel, YesNo } from '../../../inputs/models/input.models';\nimport { inputsService } from '../../../inputs/services/inputs.service';\nimport { patientInputsService } from '../../../inputs/services/patientInputs.service';\nimport { inputsQuery } from '../../../inputs/stores/inputsStore/inputs.query';\nimport { DetailedQuestionNames } from '../../../questionnaire/static/detailedQuestionnaire.static';\nimport { HealthSummaryDataModel } from '../../models/healthSummary.models';\nimport { IErrorState } from '../../../common/validation/error-state';\n\nexport interface ApoeItemModel {\n name: string;\n}\n\nexport interface BlockItemApoeComponentState extends IErrorState {\n editMode: boolean,\n isLoading: boolean,\n apoes: string[],\n selectedApoe: string,\n hideApoe: YesNo,\n selectedSours: string,\n colonoscopy: HealthSummaryDataModel,\n psa: HealthSummaryDataModel,\n}\n\nexport function useFacade(patientId: number): [\n BlockItemApoeComponentState,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n Function,\n] {\n const [state, setState] = useState({\n apoes: apoes,\n isLoading: true,\n selectedApoe: null,\n selectedSours: ApoeSoursConstants.BloodTest,\n hideApoe: YesNo.None,\n editMode: false,\n colonoscopy: null,\n psa: null,\n errors: {}\n } as BlockItemApoeComponentState)\n\n\n const initialColonoscopy = {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_LAST_SCREENING,\n id: null,\n tooltip: '',\n }\n\n const initialPsa = {\n isDeleted: false,\n patientId: patientId,\n isNew: true,\n value: '',\n name: '',\n key: DetailedQuestionNames.DATE_OF_PSA_OR_PROSTATE_EXAM,\n id: null,\n tooltip: '',\n }\n\n const handleEditMode = (editMode: boolean) => {\n setState({\n ...state,\n editMode: editMode\n })\n }\n\n const handleDateColonoscopyChanges = (val) => {\n setState(state => ({\n ...state,\n colonoscopy: {\n ...state.colonoscopy,\n value: val\n }\n }))\n }\n\n const handleDatePsaChanges = (val) => {\n setState(state => ({\n ...state,\n psa: {\n ...state.psa,\n value: val\n }\n }))\n }\n\n const handleHideApoe = (val: YesNo) => {\n setState(state => ({\n ...state,\n hideApoe: val\n }))\n }\n\n const handleSelectedSours = (val: string) => {\n setState(state => ({\n ...state,\n selectedSours: val\n }))\n }\n\n const handleEditValue = (value: string) => {\n setState({\n ...state,\n selectedApoe: value\n })\n }\n\n const saveChanges = () => {\n setState(state => ({ ...state, isLoading: true }))\n\n const model = {\n hideApoe: state.hideApoe,\n score: state.selectedApoe,\n source: state.selectedSours,\n colonoscopy: state.colonoscopy,\n psa: state.psa,\n } as ApoeModel\n\n inputsService.updateApoeInfo(patientId, model).subscribe(() => {\n setState(state => ({\n ...state,\n isLoading: false,\n editMode: false\n }))\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }))\n })\n\n }\n\n const cancelChanges = () => {\n const apoeFromStore = inputsQuery.getApoe()\n if (apoeFromStore) {\n setState(state => ({\n ...state,\n editMode: false,\n hideApoe: apoeFromStore.hideApoe,\n selectedApoe: apoeFromStore.score,\n selectedSours: apoeFromStore.source ?? ApoeSoursConstants.BloodTest,\n colonoscopy: apoeFromStore.colonoscopy ? apoeFromStore.colonoscopy : initialColonoscopy,\n psa: apoeFromStore.psa ? apoeFromStore.psa : initialPsa,\n }))\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(inputsQuery.apoeInfo$, apoeInfo => {\n if (apoeInfo) {\n setState(state => ({\n ...state,\n hideApoe: apoeInfo.hideApoe,\n selectedSours: apoeInfo.source ?? ApoeSoursConstants.BloodTest,\n selectedApoe: apoeInfo.score,\n colonoscopy: apoeInfo.colonoscopy ? apoeInfo.colonoscopy : initialColonoscopy,\n psa: apoeInfo.psa ? apoeInfo.psa : initialPsa,\n }))\n }\n\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }))\n\n if (patientId) {\n inputsService.getApoe(patientId).subscribe(cb, cb)\n } else {\n patientInputsService.getApoe().subscribe(cb, cb)\n }\n\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleEditValue,\n handleSelectedSours,\n handleHideApoe,\n handleEditMode,\n cancelChanges,\n saveChanges,\n handleDateColonoscopyChanges,\n handleDatePsaChanges\n ]\n}","import { HealthSummaryMapModel, HealthSummarySectionPosition, HealthSummarySectionType } from '../../models/healthSummary.models'\nimport { HealthSummaryBlockItemsComponent } from '../../components/blockItemsComponent/HealthSummaryBlockItemsComponent'\nimport { HealthSummaryListItemsComponent } from '../../components/listItemsComponent/HealthSummaryListItemsComponent'\nimport { HealthSummaryPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/HealthSummaryPlaceHolder'\nimport { HealthSummaryContentComponent } from '../../components/contentComponent/HealthSummaryContentComponent'\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress'\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton'\nimport { navigationService } from '../../../../services/navigation.service'\nimport { useStyles } from './healthSummaryComponent.styles'\nimport { UserType } from '../../../auth/models/auth.enums'\nimport { useFacade } from './healthSummaryComponent.hooks'\nimport { getKey } from '../../helpers/healthSummaryHelper'\nimport { authQuery } from '../../../auth/stores/auth'\nimport { Box, Grid } from '@material-ui/core'\nimport { useHistory } from 'react-router'\nimport React from 'react'\nimport { BlockItemApoeComponent } from '../blockItemApoeComponent/BlockItemApoeComponent'\n\nexport interface HealthSummaryComponentProps {\n patientId?: number\n}\n\nexport const HealthSummaryComponent: React.FC = (props: HealthSummaryComponentProps) => {\n const { patientId } = props\n\n const [state] = useFacade(patientId)\n\n const classes = useStyles()\n const history = useHistory()\n\n const getSectionMap = (sectionPosition: HealthSummarySectionPosition): HealthSummaryMapModel[] => {\n return state.map\n .filter(x => x.sectionPosition === sectionPosition && x.key !== \"SCREENING_HEALTH_MAINTENANCE\")\n .sort((a, b) => a.order - b.order)\n }\n\n const getSectionData = (section: HealthSummaryMapModel) => {\n var keys = [...section.items.map(x => x.key), section.key]\n\n return state.data.filter(x => keys.includes(getKey(x.key)))\n }\n\n const buildSectionComponent = (map: HealthSummaryMapModel, rowFormat?: boolean) => {\n const isEmployeeMode = !!patientId;\n\n const sectionType = isEmployeeMode ? map.editSectionType : map.sectionType;\n switch (sectionType) {\n case HealthSummarySectionType.Block:\n return \n case HealthSummarySectionType.List:\n return (\n \n )\n case HealthSummarySectionType.Content:\n return (\n \n )\n }\n }\n\n const renderContent = () => {\n return (\n \n \n \n {\n getSectionMap(HealthSummarySectionPosition.Left).map(mapItem =>\n buildSectionComponent(mapItem)\n )\n }\n \n \n\n \n \n {\n getSectionMap(HealthSummarySectionPosition.Right).map(mapItem =>\n buildSectionComponent(mapItem)\n )\n }\n \n \n \n\n \n \n {\n getSectionMap(HealthSummarySectionPosition.Bottom).map(mapItem =>\n buildSectionComponent(mapItem, true)\n )\n }\n \n \n \n )\n }\n\n const linkQuestionnaireButton = () => {\n const clickAction = authQuery.getType() === UserType.Employee\n ? () => navigationService.toPatientHealthForms(history, patientId)\n : () => navigationService.toMyHealthForms(history)\n\n return \n }\n\n\n const renderEmptyPage = () => {\n return \n \n Complete {linkQuestionnaireButton()} to have your info displayed here.\n \n \n }\n\n if (state.isLoading) {\n return (\n \n );\n }\n\n return (\n state.isDataPresent ? renderContent() : renderEmptyPage()\n )\n}\n\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { DocumentModel } from '../../../documents/models/documents.models';\nimport { DocumentSourceModel, DocumentSourceTypeModel } from '../../../kbDocuments/models/documentSource.model';\n\n/**\n * Represents documents state\n */\nexport interface DocumentsState {\n documentList: DocumentModel[];\n kbDocuments: DocumentSourceModel[];\n documentSourceTypes: DocumentSourceTypeModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): DocumentsState {\n return {\n documentList: [],\n kbDocuments: [],\n documentSourceTypes: []\n };\n}\n\n/**\n * Provides documents states management\n */\n@StoreConfig({ name: 'documents', resettable: true })\nexport class DocumentsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public updateDocument(document: DocumentModel): void {\n const newDocumentList = this.getValue().documentList.map(x => x.id === document.id ? document : x);\n this.update({ documentList: newDocumentList });\n }\n\n public deleteFileInput(documentId: number): void {\n const newDocumentList = this.getValue().documentList.filter(x => x.id !== documentId);\n this.update({ documentList: newDocumentList });\n }\n\n public viewFile(documentId: number): void {\n const newDocumentList = this.getValue().documentList.map(el =>{\n return el.id !== documentId \n ? el\n : {\n ...el,\n isViewed: true,\n }\n });\n\n this.update({ documentList: newDocumentList });\n }\n\n public updateKbDocument(document: DocumentSourceModel): void {\n const newDocumentList = this.getValue().kbDocuments.map(x => x.id === document.id ? document : x);\n this.update({ kbDocuments: newDocumentList });\n }\n\n public deleteKbDocument(documentId: number): void {\n const newDocumentList = this.getValue().kbDocuments.filter(x => x.id !== documentId);\n this.update({ kbDocuments: newDocumentList });\n }\n}\n\nexport const documentsStore = new DocumentsStore();\n","import {Query} from '@datorama/akita';\nimport {DocumentsState, documentsStore, DocumentsStore} from \"./documents.store\";\n\n/**\n * Provides inputs queries\n */\nexport class DocumentsQuery extends Query {\n documentList$ = this.select(state => state.documentList);\n kbDocuments$ = this.select(state => state.kbDocuments);\n documentSourceTypes$ = this.select(state => state.documentSourceTypes);\n\n constructor(protected store: DocumentsStore) {\n super(store);\n }\n\n\n}\n\nexport const documentsQuery = new DocumentsQuery(documentsStore);\n","import Axios from 'axios-observable';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { documentsStore, DocumentsStore } from \"../stores/documentsStore\";\nimport { FileInputModel, FileInputType, } from \"../models/input.models\";\nimport { Observable, Subject } from \"rxjs\";\nimport { CallbackSimpleModel } from \"../../common/models/callback.model\";\nimport { DocumentCategory, documentCategoryNames, DocumentModel } from '../../documents/models/documents.models';\nconst FileDownload = require('js-file-download');\n\nexport class PatientDocumentsService {\n private urlDocuments = `${process.env.REACT_APP_API_URL}Documents`;\n private urlUploads = `${this.urlDocuments}/UploadDocuments`;\n\n constructor(private documentsStore: DocumentsStore) {\n }\n\n public onUpload = new Subject>();\n\n\n /**\n * Returns all user uploads\n */\n\n public getDocuments(): Observable {\n\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.urlDocuments}/GetDocuments/Patient`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.documentsStore.update({ documentList: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Downloads uploaded file\n */\n\n public download(id: number, name: string): Observable {\n return new Observable(observer => {\n Axios.get(`${this.urlDocuments}/DownloadDocument/Patient?documentId=${id}`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n FileDownload(response.data, decodeURIComponent(name));\n snackService.success('File successfully downloaded!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n // /**\n // * Views uploaded file\n // */\n public viewinline(input: DocumentModel): Observable {\n return new Observable(observer => {\n Axios.get(`${this.urlDocuments}/Document/${input.id}/viewinline/Patient`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n const file = new Blob([response.data], { type: response.data.type });\n const fileURL = URL.createObjectURL(file);\n window.open(fileURL, '_blank');\n\n snackService.success('File successfully opened!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Returns all user uploads\n */\n public upload(): Observable {\n return new Observable(observer => {\n this.onUpload.next({\n callback: (files: any, documentType: DocumentCategory, viewableFileIndexes: number[], isSendToKb: boolean) => {\n if (!files) {\n observer.error();\n observer.complete();\n return;\n }\n\n const formData = new FormData();\n formData.append('attachmentType', documentType.toString());\n files.forEach((item) => {\n formData.append('documents', item.file, item.name);\n });\n if (viewableFileIndexes.length) {\n viewableFileIndexes.forEach(item => {\n formData.append('IsViewableByPatientFileIndexes[]', item.toString());\n });\n }\n const generativeAiKbInlineModel = {\n isSendToKb: isSendToKb,\n };\n formData.append('generativeAiKbInline', JSON.stringify(generativeAiKbInlineModel));\n\n Axios.post(`${this.urlUploads}/Patient`, formData, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n snackService.success(`Files successfully uploaded to ${documentCategoryNames[documentType]}`);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n }\n });\n });\n }\n}\n\nexport const patientDocumentsService = new PatientDocumentsService(documentsStore);","import Axios from 'axios-observable';\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { documentsStore, DocumentsStore } from \"../stores/documentsStore\";\nimport { FileInputModel, FileInputType, } from \"../models/input.models\";\nimport { Observable, Subject } from \"rxjs\";\nimport { CallbackModel } from \"../../common/models/callback.model\";\nimport { DocumentCategory, documentCategoryNames, DocumentModel, TransferDocumentModel, ViewableDocumentModel } from '../../documents/models/documents.models';\nconst FileDownload = require('js-file-download');\n\n/**\n * Provides method for working with inputs\n */\nexport class DocumentsService {\n private urlDocuments = `${process.env.REACT_APP_API_URL}Documents`;\n private urlUploads = `${this.urlDocuments}/UploadDocuments`;\n\n constructor(private documentsStore: DocumentsStore) {\n }\n\n public onUpload = new Subject>();\n\n /**\n * Returns all patients uploads\n */\n public getDocuments(patientId: number): Observable {\n\n const config = { headers: authHeader() };\n\n return new Observable((observer) => {\n Axios.get(`${this.urlDocuments}/GetDocuments/Employee/Patient?patientId=${patientId}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.documentsStore.update({ documentList: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Downloads uploaded file\n */\n public download(id: number, name: string): Observable {\n return new Observable(observer => {\n\n Axios.get(`${this.urlDocuments}/DownloadDocument/Employee/Patient?documentId=${id}`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n FileDownload(response.data, decodeURIComponent(name));\n snackService.success('File successfully downloaded!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n /**\n * Transfer uploaded file\n */\n\n public transfer(model: TransferDocumentModel): Observable {\n return new Observable(observer => {\n Axios.put(`${this.urlDocuments}/TransferDocument`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n /**\n * Returns all patients uploads\n */\n public upload(patientId: number): Observable {\n return new Observable(observer => {\n this.onUpload.next({\n data: patientId,\n callback: (files: any, documentType: DocumentCategory, viewableFileIndexes: number[], isSendToKb: boolean) => {\n if (!files) {\n observer.error();\n observer.complete();\n return;\n }\n\n const formData = new FormData();\n formData.append('patientId', patientId.toString());\n formData.append('attachmentType', documentType.toString());\n files.forEach((item) => {\n formData.append('documents', item.file, item.name);\n });\n if (viewableFileIndexes.length) {\n viewableFileIndexes.forEach(item => {\n formData.append('IsViewableByPatientFileIndexes[]', item.toString());\n });\n } else {\n formData.append('IsViewableByPatientFileIndexes[]', '-1');\n }\n const generativeAiKbInlineModel = {\n isSendToKb: isSendToKb,\n };\n formData.append('generativeAiKbInline', JSON.stringify(generativeAiKbInlineModel));\n\n Axios.post(`${this.urlUploads}/Employee/Patient`, formData, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n snackService.success(`Files successfully uploaded to ${documentCategoryNames[documentType]}!`);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n }\n });\n });\n }\n\n // /**\n // * Views uploaded file\n // */\n public viewinline(input: DocumentModel): Observable {\n return new Observable(observer => {\n Axios.get(`${this.urlDocuments}/Document/${input.id}/viewinline/Employee/Patient`, {\n headers: authHeader(),\n responseType: 'blob',\n })\n .pipe()\n .subscribe(\n (response) => {\n const file = new Blob([response.data], { type: response.data.type });\n const fileURL = URL.createObjectURL(file);\n window.open(fileURL, '_blank');\n\n snackService.success('File successfully opened!');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n // /**\n // * Viewedfile\n // */\n \n public viewDocument(id: number): Observable {\n return new Observable(observer => {\n Axios.patch<[]>(`${this.urlDocuments}/Document/${id}/SetViewed`, [], { headers: authHeader() })\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n\n /**\n * Deletes upload\n */\n public deleteUpload(id: number): Observable {\n return new Observable(observer => {\n Axios.delete(`${this.urlDocuments}/DeleteDocument?attachmentId=${id}`, { headers: authHeader() })\n .pipe()\n .subscribe(\n () => {\n snackService.success('File successfully deleted!');\n observer.next();\n observer.complete();\n },\n error => snackService.commonErrorHandler(error)\n );\n }\n )\n }\n\n /**\n * Update the attachment as viewable by the Patient\n */\n\n public setViewableByPatient(model: ViewableDocumentModel): Observable {\n return new Observable(observer => {\n Axios.put(`${this.urlDocuments}/Document/SetViewableByPatient`, model, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.documentsStore.updateDocument(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n },\n );\n });\n }\n\n}\n\nexport const documentsService = new DocumentsService(documentsStore);\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n cardTitle: {\n fontSize: 18,\n fontWeight: 500,\n paddingLeft: 12,\n paddingRight: 10,\n },\n cardDocumentCoun: {\n fontSize: 14,\n fontWeight: 500,\n padding: 4,\n backgroundColor: colors.gray3,\n color: colors.gray1,\n },\n cardUnreadLabele: {\n fontSize: 12,\n fontWeight: 700,\n color: colors.bad,\n backgroundColor: `${colors.bad}14`,\n display: 'flex',\n height: 'min-content',\n },\n cardMain: {\n position: 'relative',\n display: 'flex',\n boxSizing: 'border-box',\n boxShadow: \"0px 4px 9px rgba(168, 173, 198, 0.15)\",\n borderRadius: \"2px\",\n border: `1px solid ${colors.stroke}`,\n paddingLeft: 20,\n justifyContent: 'space-between',\n alignItems: 'center',\n minHeight: 74,\n },\n cardActive: {\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: `${colors.stroke}CC`,\n },\n }\n })\n);","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgConsents = function SvgConsents(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.29985 13.9086L10.9023 4.18768L9.67831 3.3573C9.6342 3.32718 9.57999 3.31585 9.52757 3.32594C9.47514 3.33586 9.4289 3.36633 9.39897 3.41062L5.84389 8.63408C5.61698 8.9671 5.22977 9.1538 4.82804 9.12387C4.42632 9.09394 4.07098 8.85179 3.89613 8.48902C3.72112 8.12607 3.75318 7.6974 3.97991 7.36438L7.51218 2.14862C7.87814 1.60782 8.44427 1.2348 9.08565 1.11236C9.72708 0.989964 10.391 1.12795 10.9303 1.49604L12.1543 2.32642L12.8703 1.26998C13.5294 0.391939 14.5951 -0.0837011 15.6887 0.0121615C16.7823 0.107992 17.749 0.761785 18.2451 1.74118C18.7412 2.72057 18.6966 3.88661 18.1269 4.82511L9.54377 17.4741C7.98022 19.7825 5.73253 21.5427 3.11681 22.5071C2.86545 22.599 2.58521 22.5639 2.36433 22.4127C2.14362 22.2614 2.00953 22.0127 2.00457 21.7452C1.93159 18.9573 2.73438 16.2166 4.30005 13.9084L4.29985 13.9086ZM15.8795 20.3383C14.7089 20.3383 14.102 21.0341 13.6981 21.4962C13.3451 21.8999 13.2613 21.9583 13.0456 21.9583C12.8296 21.9583 12.7434 21.8974 12.393 21.4937C11.9893 21.0316 11.3773 20.3358 10.2091 20.3358C9.04087 20.3358 8.44923 21.0112 8.04556 21.4709C7.85178 21.6618 7.74248 21.9224 7.74248 22.1945C7.74248 22.4667 7.85178 22.7273 8.04556 22.9182C8.23616 23.109 8.49459 23.2162 8.76421 23.2162C9.03381 23.2162 9.29241 23.109 9.48286 22.9182L9.51333 22.8878L9.55389 22.8421C9.90692 22.4384 9.99071 22.3775 10.2065 22.3775C10.4224 22.3775 10.5087 22.4384 10.8591 22.8421C11.2627 23.3042 11.8747 24 13.0429 24C14.2112 24 14.8205 23.3042 15.2243 22.8421C15.5774 22.4384 15.6611 22.3775 15.8769 22.3775C16.0928 22.3775 16.1791 22.4384 16.5321 22.8421C16.9358 23.3042 17.5478 24 18.716 24C19.8842 24 20.4935 23.3042 20.8974 22.8446C21.0944 22.6457 21.2005 22.3743 21.1907 22.0946C21.181 21.8149 21.0563 21.5517 20.8459 21.3669C20.6356 21.1822 20.3584 21.0924 20.0797 21.1187C19.8011 21.1453 19.5457 21.2854 19.3739 21.5063C19.0208 21.9075 18.9371 21.9684 18.7187 21.9684C18.5003 21.9684 18.4165 21.9075 18.0634 21.5038C17.6699 21.0365 17.0502 20.3383 15.8797 20.3383L15.8795 20.3383Z\",\n fill: \"\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgConsents, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/consents.b3597b3e.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgConsult = function SvgConsult(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_496_45763)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.2428 8.75438C10.2428 11.0721 8.57304 12.9663 6.52937 12.9663C4.48566 12.9663 2.81592 11.0722 2.81592 8.75438C2.81592 6.43652 4.48571 4.54248 6.52937 4.54248C8.57291 4.54248 10.2428 6.43652 10.2428 8.75438Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.5948 2.00029C14.0558 2.00029 11.1898 4.16848 11.1898 6.86013C11.1898 7.58279 11.3892 8.25573 11.7629 8.87879L10.6415 10.9722C10.5168 11.1965 10.7411 11.4706 10.9904 11.371L13.2832 10.4489C14.4297 11.2215 15.95 11.7199 17.5949 11.7199C21.1339 11.7199 23.9999 9.55173 23.9999 6.86008C23.9997 4.16848 21.1338 2.00024 17.5949 2.00024L17.5948 2.00029ZM19.3642 8.75422H14.604C14.3299 8.75422 14.1056 8.52996 14.1056 8.25582C14.1056 7.98168 14.3299 7.75742 14.604 7.75742H19.3642C19.6383 7.75742 19.8626 7.98168 19.8626 8.25582C19.8626 8.52979 19.6381 8.75422 19.364 8.75422H19.3642ZM20.6103 6.262H14.604C14.3299 6.262 14.1056 6.03774 14.1056 5.7636C14.1056 5.48946 14.3299 5.2652 14.604 5.2652H20.6103C20.8844 5.2652 21.1087 5.48946 21.1087 5.7636C21.1087 6.03757 20.8842 6.262 20.6101 6.262H20.6103Z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.1588 19.8701L12.6353 18.0508C12.2864 17.029 11.8876 16.0071 11.2896 15.1349C10.7413 14.3373 9.64468 13.0664 8.57312 13.5898C8.12461 13.8141 7.45166 14.0383 6.62918 14.0634C5.83158 14.0385 5.15881 13.8141 4.71012 13.5898C2.69129 12.6177 0.996665 16.73 0.597865 18.0509L0.0744089 19.8702C-0.174885 20.6926 0.223916 21.6147 0.946776 21.8888C2.89071 22.6864 4.80977 22.9356 6.55428 22.9356H6.62903H6.70379C8.4483 22.9356 10.3674 22.6863 12.3113 21.9137C13.0341 21.6147 13.4079 20.7175 13.1588 19.8702L13.1588 19.8701Z\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_496_45763\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgConsult, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/consult.38647e72.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEcg = function SvgEcg(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_496_45768)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.1604 1H1.76465C1.27712 0.999215 0.809247 1.19208 0.464247 1.53634C0.1192 1.88086 -0.074707 2.34819 -0.074707 2.83573V17.548C-0.0736575 18.0352 0.12051 18.5023 0.465302 18.8463C0.810087 19.1906 1.27742 19.3837 1.7647 19.3837H22.1604C22.6477 19.3837 23.115 19.1906 23.4598 18.8463C23.8046 18.5023 23.9987 18.0352 23.9998 17.548V2.83573C23.9998 2.34821 23.8059 1.88087 23.4608 1.53634C23.1158 1.19208 22.6479 0.999216 22.1604 1H22.1604ZM18.775 10.9423H15.7881C15.4636 10.9428 15.1754 10.735 15.0733 10.4269L14.7913 9.56941L13.008 13.7712C12.8905 14.0493 12.6179 14.2298 12.3161 14.2301H12.2935C11.9836 14.2222 11.7102 14.0251 11.605 13.7336L9.89343 8.95621L9.20122 10.5736V10.5739C9.08235 10.8502 8.81025 11.0294 8.50927 11.0289H5.16137C4.74574 11.0289 4.40883 10.6919 4.40883 10.2766C4.40883 9.86096 4.74575 9.52432 5.16137 9.52432H8.01253L9.26516 6.60914V6.60888C9.38718 6.3247 9.67083 6.14418 9.97995 6.15389C10.2883 6.16333 10.5598 6.36013 10.6645 6.65034L12.3724 11.4165L14.1856 7.14702V7.14675C14.3084 6.85996 14.596 6.67891 14.9077 6.69176C15.221 6.7041 15.4939 6.90929 15.5922 7.20711L16.3445 9.43772H18.7785C19.1938 9.43772 19.5307 9.77464 19.5307 10.19C19.5307 10.6056 19.1938 10.9423 18.7785 10.9423L18.775 10.9423ZM4.31467 21.874C4.31362 21.6318 4.40912 21.3994 4.57994 21.2277C4.75077 21.0564 4.98298 20.9598 5.22491 20.9598H18.6991C18.9411 20.9598 19.1733 21.0564 19.3441 21.2277C19.5149 21.3994 19.6104 21.6318 19.6094 21.874V23.4051H4.3141L4.31467 21.874Z\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_496_45768\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEcg, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ecg.805563c5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgOther = function SvgOther(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.747177 0C0.54913 0.000837051 0.35962 0.0796893 0.219649 0.219645C0.0796779 0.3596 0.000842352 0.549112 6.63862e-06 0.747178V10.049C0.00084368 10.2469 0.0796951 10.4364 0.219649 10.5763C0.359603 10.7163 0.549113 10.7953 0.747177 10.796H10.0429C10.2418 10.7968 10.4328 10.7185 10.5741 10.5785C10.7152 10.4384 10.7951 10.2479 10.7957 10.049V0.747213C10.7951 0.548161 10.7152 0.357813 10.5741 0.217708C10.4328 0.077585 10.2418 -0.00076715 10.0429 7.28578e-05L0.747177 0ZM13.9527 0C13.7545 0.000334824 13.5647 0.0791879 13.4244 0.219143C13.2841 0.359099 13.2049 0.548945 13.2042 0.747148V10.0489C13.2049 10.2472 13.2841 10.4368 13.4244 10.5768C13.5647 10.7167 13.7545 10.7956 13.9527 10.7959H23.2471C23.446 10.7968 23.637 10.7184 23.7782 10.5785C23.9195 10.4383 23.9992 10.2478 24 10.049V0.747153C23.9992 0.548101 23.9195 0.357753 23.7782 0.217648C23.6371 0.077525 23.446 -0.00082715 23.2471 1.28573e-05L13.9527 0ZM0.747177 13.204C0.54913 13.2048 0.35962 13.2838 0.219649 13.4238C0.0796779 13.5637 0.000842352 13.7533 6.63862e-06 13.9512V23.247C-0.000830403 23.446 0.077518 23.637 0.217639 23.7782C0.35776 23.9195 0.548106 23.9992 0.747138 24H10.0428C10.2427 24.0008 10.4347 23.9216 10.576 23.7803C10.7175 23.6389 10.7965 23.447 10.7957 23.247V13.9512C10.795 13.7523 10.7151 13.5618 10.574 13.4217C10.4327 13.2817 10.2417 13.2034 10.0428 13.204L0.747177 13.204ZM13.9527 13.204C13.7545 13.2045 13.5647 13.2833 13.4244 13.4233C13.2841 13.5632 13.2049 13.7529 13.2042 13.9511V23.2469C13.2034 23.4461 13.2819 23.6375 13.4224 23.7786C13.5627 23.9199 13.7535 23.9996 13.9527 23.9999H23.2471C23.447 24.0008 23.6389 23.9216 23.7803 23.7803C23.9216 23.6388 24.0008 23.447 24 23.2469V13.9511C23.9991 13.7522 23.9194 13.5617 23.7782 13.4216C23.637 13.2817 23.446 13.2033 23.2471 13.204L13.9527 13.204Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOther, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/other.16413584.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgOldRecords = function SvgOldRecords(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_496_45785)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.8843 8.40002H1.11629C0.0113264 8.40002 -0.0438736 8.93786 0.0161265 9.59498L1.00661 20.4048C1.06661 21.0622 1.22237 21.6 2.32565 21.6H21.6747C22.7998 21.6 22.9333 21.0622 22.9932 20.4051L23.9837 9.59522C24.044 8.93786 23.989 8.40002 22.8843 8.40002ZM22.0853 5.76002C21.9521 5.23202 21.2993 4.80002 20.634 4.80002H12.4568C11.7917 4.80002 10.862 4.4189 10.3911 3.9533L9.67613 3.24698C9.20501 2.78114 8.27549 2.40002 7.61045 2.40002H3.70349C3.03845 2.40002 2.43413 2.93666 2.36093 3.59282L2.01029 6.72002H22.3272L22.0853 5.76002Z\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_496_45785\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 24,\n height: 24,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOldRecords, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/oldRecords.bd6609f5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMedicalForms = function SvgMedicalForms(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.2727 2.57489H18.3636V4.2889C18.3636 4.97088 18.0763 5.6247 17.5649 6.10697C17.0534 6.58904 16.3598 6.85991 15.6364 6.85991H8.36364C7.64021 6.85991 6.94665 6.58904 6.43506 6.10697C5.9237 5.62471 5.63636 4.97088 5.63636 4.2889V2.57489H4.72727C4.00384 2.57489 3.31029 2.84576 2.7987 3.32783C2.28734 3.81009 2 4.46392 2 5.1459V21.429C2 22.111 2.28734 22.7648 2.7987 23.2471C3.31027 23.7291 4.00384 24 4.72727 24H19.2727C19.9962 24 20.6897 23.7291 21.2013 23.2471C21.7127 22.7648 22 22.111 22 21.429V5.1459C22 4.46392 21.7127 3.8101 21.2013 3.32783C20.6897 2.84576 19.9962 2.57489 19.2727 2.57489ZM12 19.715C10.5534 19.715 9.16597 19.1733 8.14306 18.2089C7.12016 17.2446 6.54545 15.9367 6.54545 14.573C6.54545 13.2092 7.1201 11.9013 8.14306 10.937C9.16603 9.9727 10.5534 9.43092 12 9.43092C13.4466 9.43092 14.834 9.97265 15.8569 10.937C16.8798 11.9013 17.4545 13.2092 17.4545 14.573C17.4545 15.9367 16.8799 17.2446 15.8569 18.2089C14.834 19.1732 13.4466 19.715 12 19.715ZM7.45455 4.2889V2.57489C7.45455 2.34763 7.55033 2.12955 7.72078 1.96886C7.89123 1.80818 8.12257 1.71788 8.36364 1.71788H9.42738C9.67879 1.04413 10.2162 0.499323 10.9108 0.213916C11.6054 -0.0713052 12.3947 -0.0713052 13.0894 0.213916C13.7839 0.499328 14.3213 1.04413 14.5727 1.71788H15.6365C15.8775 1.71788 16.1089 1.80818 16.2793 1.96886C16.4498 2.12955 16.5456 2.34763 16.5456 2.57489V4.2889C16.5456 4.51616 16.4498 4.73424 16.2793 4.89492C16.1089 5.05561 15.8775 5.1459 15.6365 5.1459H8.36374C8.12267 5.1459 7.89134 5.05561 7.72088 4.89492C7.55043 4.73424 7.45465 4.51616 7.45465 4.2889H7.45455ZM15.1818 14.573C15.1818 14.8002 15.086 15.0183 14.9156 15.179C14.7451 15.3397 14.5138 15.43 14.2727 15.43H12.9091V16.7155C12.9091 17.0217 12.7358 17.3046 12.4545 17.4577C12.1733 17.6107 11.8267 17.6107 11.5455 17.4577C11.2642 17.3046 11.0909 17.0217 11.0909 16.7155V15.43H9.72727C9.40239 15.43 9.10229 15.2666 8.93995 15.0015C8.77761 14.7363 8.77761 14.4096 8.93995 14.1444C9.10229 13.8793 9.40241 13.7159 9.72727 13.7159H11.0909V12.4304C11.0909 12.1242 11.2642 11.8413 11.5455 11.6882C11.8267 11.5352 12.1733 11.5352 12.4545 11.6882C12.7358 11.8413 12.9091 12.1242 12.9091 12.4304V13.7159H14.2727C14.5138 13.7159 14.7451 13.8062 14.9156 13.9669C15.086 14.1276 15.1818 14.3457 15.1818 14.573Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMedicalForms, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/medicalForms.f34c5e62.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLabReports = function SvgLabReports(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 22,\n viewBox: \"0 0 24 22\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 13.517C24 14.881 22.894 16 21.531 16C18.54 16 17.471 11.78 22.443 8C22.384 10.365 24 11.303 24 13.517ZM21.629 10.051C21.283 10.24 20.773 10.749 20.695 11.385C20.58 12.335 21.562 12.615 21.648 11.341C21.688 10.803 21.649 10.546 21.629 10.051ZM16.287 7.127C15.05 8.365 14.558 9.718 14.343 11H2.831C4.628 7.894 7.424 7.915 8.9 7.848C10.692 7.766 12.922 7.664 14.872 5.713L16.051 4.535L14.636 3.121L13.457 4.299C10.401 7.355 6.599 4.088 2.344 8.343C0.781 9.905 0 11.953 0 14C0 18.423 3.586 22 8 22C10.047 22 12.095 21.219 13.657 19.656C17.903 15.411 14.651 11.591 17.701 8.541L18.88 7.363L17.466 5.949L16.287 7.127ZM21.708 4.535L17.465 0.293C17.269 0.098 17.013 0 16.757 0C15.871 0 15.422 1.077 16.05 1.707L20.293 5.949C20.928 6.584 22 6.121 22 5.242C22 4.986 21.903 4.73 21.708 4.535Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLabReports, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/LabReports.1fe3c802.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgHospitalRecord = function SvgHospitalRecord(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.7001 23.4002C18.1535 23.4002 23.4003 18.1534 23.4003 11.7001C23.4003 5.24679 18.1535 0 11.7001 0C5.2468 0 0 5.24679 0 11.7001C0 18.1534 5.2468 23.4002 11.7001 23.4002ZM4.9948 10.1068C4.9948 9.98088 5.09384 9.88184 5.2198 9.88184H9.88175V5.2199C9.88175 5.09394 9.9808 4.99489 10.1068 4.99489H13.2883C13.4143 4.99489 13.5133 5.09394 13.5133 5.2199V9.88184H18.1799C18.3059 9.88184 18.4049 9.98088 18.4049 10.1068V13.2884C18.4049 13.4144 18.3059 13.5134 18.1799 13.5134H13.5179V18.18C13.5179 18.3059 13.4189 18.405 13.2929 18.405H10.1114C9.98542 18.405 9.88638 18.3059 9.88638 18.18V13.518H5.2198C5.09384 13.518 4.9948 13.419 4.9948 13.293V10.1068Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgHospitalRecord, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/hospitalRecord.1ff8e4c3.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgImagingReports = function SvgImagingReports(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 20,\n viewBox: \"0 0 24 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M3.6 16.25L9 8.75L13.2 14.375L16.2 10.625L20.4 16.25H3.6ZM21.6 2.5H12L9.6 0H2.4C1.76348 0 1.15303 0.263392 0.702944 0.732233C0.252856 1.20107 0 1.83696 0 2.5V17.5C0 18.163 0.252856 18.7989 0.702944 19.2678C1.15303 19.7366 1.76348 20 2.4 20H21.6C22.2365 20 22.847 19.7366 23.2971 19.2678C23.7471 18.7989 24 18.163 24 17.5V5C24 4.33696 23.7471 3.70107 23.2971 3.23223C22.847 2.76339 22.2365 2.5 21.6 2.5Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgImagingReports, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ImagingReports.a5edf882.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgPrescriptions = function SvgPrescriptions(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 22,\n height: 24,\n viewBox: \"0 0 22 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.9189 22.9898L18.3745 21.5427L13.4856 16.6826L12.03 18.1297C11.3525 18.8032 11.0137 19.6132 11.0137 20.5597C11.0137 21.5063 11.3525 22.3163 12.03 22.9898C12.7074 23.6633 13.5223 24 14.4744 24C15.4265 24 16.2414 23.6633 16.9189 22.9898ZM19.5281 20.3959L20.9838 18.9488C21.6613 18.2753 22 17.4653 22 16.5188C22 15.5722 21.6613 14.7622 20.9838 14.0887C20.3063 13.4152 19.4915 13.0785 18.5393 13.0785C17.5872 13.0785 16.7724 13.4152 16.0949 14.0887L14.6392 15.5358L19.5281 20.3959ZM4.39451 8.19113H15.3808V6.5529H4.39451V8.19113ZM9.88764 3.35836C10.144 3.35836 10.3683 3.2628 10.5605 3.07167C10.7528 2.88055 10.8489 2.65757 10.8489 2.40273C10.8489 2.1479 10.7528 1.92491 10.5605 1.73379C10.3683 1.54266 10.144 1.4471 9.88764 1.4471C9.63129 1.4471 9.40699 1.54266 9.21473 1.73379C9.02247 1.92491 8.92634 2.1479 8.92634 2.40273C8.92634 2.65757 9.02247 2.88055 9.21473 3.07167C9.40699 3.2628 9.63129 3.35836 9.88764 3.35836ZM9.53059 21.843H1.64794C1.19018 21.843 0.801082 21.6837 0.480649 21.3652C0.160216 21.0466 0 20.6598 0 20.2048V3.82253C0 3.36746 0.160216 2.98066 0.480649 2.66212C0.801082 2.34357 1.19018 2.1843 1.64794 2.1843H7.2784C7.36995 1.54721 7.66292 1.02389 8.1573 0.614334C8.65169 0.204778 9.22846 0 9.88764 0C10.5468 0 11.1236 0.204778 11.618 0.614334C12.1124 1.02389 12.4053 1.54721 12.4969 2.1843H18.1273C18.5851 2.1843 18.9742 2.34357 19.2946 2.66212C19.6151 2.98066 19.7753 3.36746 19.7753 3.82253V11.5768C19.0062 11.3766 18.2372 11.3675 17.4682 11.5495C16.6991 11.7315 16.0033 12.0592 15.3808 12.5324V11.1945H4.39451V12.8328H15.0237L12.0025 15.8362H4.39451V17.4744H10.4095C9.93342 18.0933 9.61756 18.785 9.46192 19.5495C9.30628 20.314 9.32917 21.0785 9.53059 21.843Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPrescriptions, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Prescriptions.bc8a914b.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { Box } from \"@material-ui/core\";\nimport { useStyles } from './documentCategoryCardComponent.styles';\nimport clsx from 'clsx';\nimport { DocumentCategory, DocumentCategoryModel, DocumentModel } from '../../models/documents.models';\nimport { ReactComponent as ConsentsIcon } from '@img/icons/consents.svg';\nimport { ReactComponent as ConsultIcon } from '@img/icons/consult.svg';\nimport { ReactComponent as EsgIcon } from '@img/icons/ecg.svg';\nimport { ReactComponent as OtherIcon } from '@img/icons/other.svg';\nimport { ReactComponent as OldRecordsIcon } from '@img/icons/oldRecords.svg';\nimport { ReactComponent as MedicalFormsIcon } from '@img/icons/medicalForms.svg';\nimport { ReactComponent as LabReportsIcon } from '@img/icons/LabReports.svg';\nimport { ReactComponent as HospitalRecordIcon } from '@img/icons/hospitalRecord.svg';\nimport { ReactComponent as ImagingReportsIcon } from '@img/icons/ImagingReports.svg';\nimport { ReactComponent as PrescriptionsIcon } from '@img/icons/Prescriptions.svg';\nimport { colors } from '../../../common/constants/colors';\n\ninterface DocumentCategoryCardComponentProps {\n isEmployeePerspective: boolean;\n category: any;\n handleStart?: (category: DocumentCategoryModel) => void;\n}\n\nexport const DocumentCategoryCardComponent: React.FC = (props: DocumentCategoryCardComponentProps) => {\n const {\n isEmployeePerspective,\n category,\n handleStart = () => { },\n } = props;\n\n const categoryId = category.name.replace(' ', '')\n\n const renderIcon = () => {\n switch (category.type) {\n case DocumentCategory.LabReports: return ;\n case DocumentCategory.Consents: return ;\n case DocumentCategory.Consults: return ;\n case DocumentCategory.ECGs: return ;\n case DocumentCategory.Miscellaneous: return ;\n case DocumentCategory.OldRecords: return ;\n case DocumentCategory.MedicalForms: return ;\n case DocumentCategory.HospitalReports: return ;\n case DocumentCategory.ImagingReports: return ;\n case DocumentCategory.Prescriptions: return ;\n default: return <>;\n }\n }\n\n const classes = useStyles();\n\n const getNewDocument = (documents: DocumentModel[]): number => {\n return documents.filter(el => !el.isViewed).length\n }\n\n return (\n { handleStart(category) }}> \n \n {renderIcon()}\n {category.name}\n {category.documents.length}\n \n {isEmployeePerspective && !!getNewDocument(category.documents) && \n {`${getNewDocument(category.documents)} ${getNewDocument(category.documents) > 1 ? 'new documents' : 'new document'}`}\n }\n \n )\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n dropContainer: {\n height: 60,\n width: '100%',\n border: `1px dashed ${colors.gray1}`,\n background: `${colors.lightGray2}99`,\n display: \"flex\",\n justifyContent: \"center\",\n alignItems: \"center\",\n },\n dropIcon: {\n color: colors.gray1,\n fontSize: 40,\n marginRight: 4,\n\n },\n dropTitle: {\n color: colors.gray1,\n fontSize: 16,\n },\n attachment: {\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n background: colors.gray8,\n display: 'flex',\n alignItems: 'center',\n maxWidth: 500,\n height: 32,\n },\n attachmentIcon: {\n color: colors.gray2,\n },\n attachmentTitle: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n whiteSpace: 'nowrap',\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n },\n\n label: {\n textTransform: `none`,\n color: colors.main,\n fontSize: 16,\n textDecoration: 'underline',\n },\n progress: {\n color: colors.main\n },\n deleteIcon: {\n color: colors.bad,\n cursor: 'pointer',\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '278px',\n maxWidth: '278px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n","import React from 'react';\nimport { Box, IconButton, Button, FormControl, MenuItem, Select, Tooltip, TextField } from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { CloudUploadOutlined, Delete } from '@material-ui/icons';\nimport EditIcon from '@material-ui/icons/Edit';\nimport InfoIcon from '@material-ui/icons/InfoOutlined';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport VisibilityOffIcon from '@material-ui/icons/VisibilityOff';\nimport Dropzone from 'react-dropzone';\nimport clsx from 'clsx';\nimport { useStyles } from \"./uploadDocumentsDialog.styles\";\nimport { useFacade } from \"./uploadDocumentsDialog.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\nimport { documentCategoryNames } from '../../../documents/models/documents.models';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\n\nexport const UploadDocumentsDialog: React.FC = () => {\n const [\n {\n isOpen,\n documentType,\n documentTypes,\n toSendAttachments,\n editIndex,\n patientId,\n viewableFileIndexs,\n isSendToKB\n },\n handleDataCategoriesSelect,\n handleSubmit,\n handleClose,\n handleDropAttachment,\n handleRemoveAttachment,\n handleEditAttachment,\n handleSaveAttachment,\n handleChanges,\n handleSetViewable,\n handleToogleSend\n ] = useFacade();\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const tooltipContent = ' File types that can be uploaded:\\n' +\n 'PDFs,\\n' +\n 'JPEGs,\\n' +\n 'PNGs,\\n' +\n 'CSV,\\n' +\n 'Google Docs,\\n' +\n 'Excel/Google Sheets,\\n' +\n 'Word Docs,\\n' +\n 'TXT Files,\\n' +\n 'Keynote files,\\n' +\n 'Number Files,\\n' +\n 'HTMLs'\n\n const fileTypes = [\n \"application/pdf\",\n 'image/jpeg',\n 'image/png',\n 'text/csv',\n \"application/vnd.openxmlformats-officedocument.wordprocessingml.document\",\n 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',\n 'text/html',\n 'application/msword',\n 'text/plain'\n ]\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n const accessIcon = (isViewable: boolean) => !isViewable ? : ;\n\n const getFileSize = (size: number) => {\n if (size < 1024) {\n return size + ' bytes';\n } else if (size > 1024 && size < 1048576) {\n return (size / 1024).toFixed(1) + ' KB';\n } else if (size > 1048576) {\n return (size / 1048576).toFixed(1) + ' MB';\n }\n }\n\n const renderTitle = (item, index) => {\n\n return editIndex === index\n ?\n \n { handleSaveAttachment(index) }}\n >\n \n \n \n ),\n }}\n onChange={(v) => handleChanges(index, v.target.value)}\n />\n : \n {item.name}\n \n { handleEditAttachment(index) }}\n >\n \n \n \n \n }\n\n return (\n handleClose()} aria-labelledby=\"form-dialog-title\">\n Upload New Document\n \n \n \n \n Choose the best category location for your file\n \n \n \n {\n if (!documentType) {\n return Choose category;\n }\n\n return documentCategoryNames[Number(documentType)]\n }}\n displayEmpty\n onChange={(v) => handleDataCategoriesSelect(v.target.value)}>\n {\n documentTypes.map((documentType) => {\n return \n {documentCategoryNames[Number(documentType)]}\n \n })\n }\n \n \n \n \n \n \n {\n ({ getRootProps, getInputProps, open }) => {\n const rootProps = getRootProps();\n delete rootProps['onClick']\n\n return (\n
\n \n Drag and Drop your file or \n \n \n \n\n \n \n \n \n \n \n
)\n }\n }\n \n
\n { \n toSendAttachments && toSendAttachments.length ? \n toSendAttachments.map((item, index) =>\n \n \n {renderTitle(item, index)}\n {patientId && (\n {viewableFileIndexs.includes(index) ? 'This document is viewable for the patient. Click to change access.' : 'This document is not viewable for the patient. Click to change access.'}

}\n classes={customTooltipClasses}>\n handleSetViewable(index)}\n >\n {accessIcon(viewableFileIndexs.includes(index))}\n \n
\n )}\n
\n\n \n {getFileSize(item.file.size)}\n handleRemoveAttachment(index)} />\n \n
\n )\n : <>\n }\n \n handleToogleSend(event.target.checked)}\n />\n
}\n permissions={[]}\n />\n \n
\n \n \n handleClose()}\n >\n Cancel\n \n \n \n handleSubmit()}\n disabled={!toSendAttachments.length || Number.isInteger(editIndex) ||!documentType}\n >\n Upload\n \n \n \n
\n )\n}","import { useState } from 'react';\nimport { DropEvent, FileRejection } from 'react-dropzone';\nimport { snackService } from '../../../common/snack/state';\nimport { DocumentCategory, documentCategorySections, DocumentsToSendModel } from '../../../documents/models/documents.models';\nimport { documentsService } from '../../services/documents.service';\nimport { patientDocumentsService } from '../../services/patientDocuments.service';\n\nexport interface UploadInputsDialogState {\n isOpen: boolean;\n editIndex: number,\n fileToCangeType: string,\n isLoading: boolean;\n patientId: number;\n documentType: DocumentCategory;\n documentTypes: DocumentCategory[];\n handleUpload: Function;\n toSendAttachments: DocumentsToSendModel[];\n viewableFileIndexs: number[];\n isSendToKB: boolean;\n}\n\nexport function useFacade(): [\n UploadInputsDialogState,\n Function,\n Function,\n Function,\n (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => void,\n (index: number) => void,\n (index: number) => void,\n (index: number) => void,\n (index: number, value: string) => void,\n (index: number) => void,\n (status: boolean) => void\n] {\n const [state, setState] = useState({\n isOpen: false,\n isLoading: false,\n patientId: null,\n fileToCangeType: '',\n documentType: null,\n documentTypes: [],\n toSendAttachments: [],\n viewableFileIndexs: [],\n isSendToKB: true,\n } as UploadInputsDialogState);\n\n\n const setDefaultState = () => {\n setState({\n ...state,\n editIndex: null,\n fileToCangeType: '',\n isOpen: false,\n isLoading: false,\n patientId: null,\n handleUpload: null,\n documentType: null,\n toSendAttachments: []\n });\n }\n\n const getAllowedExtensions = (): string => {\n return \".txt,.csv,.png,.pdf,.jpeg,.docx,.xlsx,.html,.doc,.txt,.key,.numbers\";\n }\n\n const removeTypeFromName = (name: string) => {\n const indexPoint = name.lastIndexOf('.')\n return name.slice(0, indexPoint)\n }\n\n const getType = (name: string) => {\n const indexOfSlesh = name.lastIndexOf('.')\n return name.slice(indexOfSlesh + 1)\n }\n\n const handleEditAttachment = (index: number) => {\n if (Number.isInteger(state.editIndex)) {\n handleSaveAttachment(state.editIndex)\n } else {\n const files = state.toSendAttachments;\n const fileToCange = files[index];\n fileToCange.name = removeTypeFromName(fileToCange.name)\n\n setState({ ...state, toSendAttachments: [...files], editIndex: index });\n }\n\n }\n\n const handleSaveAttachment = (index: number) => {\n const files = state.toSendAttachments;\n const fileToSave = files[index];\n fileToSave.name = `${fileToSave.name}.${getType(fileToSave.file.name)}`\n\n setState({ ...state, toSendAttachments: [...files], editIndex: null });\n }\n\n const handleChanges = (index: number, value: string) => {\n const files = state.toSendAttachments;\n const fileToCange = files[index];\n fileToCange.name = value\n\n setState({ ...state, toSendAttachments: [...files] });\n }\n\n const handleFileUpload = (event) => {\n event.preventDefault();\n const file = event.target.files[0];\n\n if (!getAllowedExtensions().includes(getType(file.name))) {\n snackService.error(\"This file types is not allowed.\")\n return\n }\n\n setState(state => ({\n ...state,\n toSendAttachments: [\n ...state.toSendAttachments,\n {\n file: file,\n name: file.name,\n }\n ]\n }));\n\n event.target.value = '';\n }\n\n const handleDataCategoriesSelect = (documentType: DocumentCategory) => {\n setState({ ...state, documentType });\n }\n\n const handleDropAttachment = (acceptedFiles: File[], fileRejections: FileRejection[], event: DropEvent) => {\n\n //The only dropped file might be rejected, so we should check this first.\n\n if (fileRejections && fileRejections.length) {\n snackService.error(`This file type is not allowed. The file must be one of: ${getAllowedExtensions().replaceAll(',', ', ')}`)\n }\n\n\n if (acceptedFiles && acceptedFiles.length) {\n setState(state => ({\n ...state,\n toSendAttachments: [\n ...state.toSendAttachments,\n ...acceptedFiles.map(file => {\n return {\n file: file,\n name: file.name\n };\n })\n ]\n }));\n }\n\n\n }\n\n const handleRemoveAttachment = (index: number) => {\n var editIndex = null;\n if (Number.isInteger(state.editIndex)) {\n editIndex = state.editIndex > index ? state.editIndex - 1 : state.editIndex < index ? state.editIndex : null;\n }\n if (state.viewableFileIndexs.includes(index)) {\n state.viewableFileIndexs.splice(state.viewableFileIndexs.indexOf(index), 1)\n }\n const newViewableFileIndexs = state.viewableFileIndexs.map(item => item > index ? item - 1 : item)\n setState(state => ({\n ...state,\n toSendAttachments: state.toSendAttachments.filter((i, itemIndex) => index !== itemIndex),\n viewableFileIndexs: newViewableFileIndexs,\n editIndex\n }));\n }\n\n const handleSetViewable = (index: number) => {\n if (state.viewableFileIndexs.includes(index)) {\n state.viewableFileIndexs.splice(state.viewableFileIndexs.indexOf(index), 1)\n setState({ ...state })\n } else {\n setState(state => ({\n ...state,\n viewableFileIndexs: [...state.viewableFileIndexs, index]\n }))\n }\n }\n\n const handleToogleSend = (status: boolean) => {\n setState(state => ({ ...state, isSendToKB: status }))\n }\n\n const handleSubmit = () => {\n setState({ ...state, isLoading: true });\n\n if (state.toSendAttachments.length > 0) {\n state.handleUpload(state.toSendAttachments, state.documentType, state.viewableFileIndexs, state.isSendToKB);\n\n setState(state => ({\n ...state,\n toSendAttachments: [],\n viewableFileIndexs: [],\n isSendToKB: true,\n isLoading: false,\n isOpen: false\n }));\n }\n setDefaultState();\n }\n\n const handleClose = () => {\n state.handleUpload(null, null, null);\n setDefaultState();\n }\n\n patientDocumentsService.onUpload.subscribe((callbackModel) => {\n const categories = documentCategorySections;\n setState({\n ...state,\n isOpen: true,\n handleUpload: callbackModel.callback,\n documentTypes: categories,\n documentType: null\n });\n })\n\n documentsService.onUpload.subscribe((callbackModel) => {\n const categories = documentCategorySections;\n setState({\n ...state,\n isOpen: true,\n patientId: callbackModel.data,\n handleUpload: callbackModel.callback,\n documentTypes: categories,\n documentType: null\n });\n })\n\n return [\n state, \n handleDataCategoriesSelect, \n handleSubmit, \n handleClose, \n handleDropAttachment,\n handleRemoveAttachment, \n handleEditAttachment, \n handleSaveAttachment,\n handleChanges,\n handleSetViewable,\n handleToogleSend\n ];\n}","import { useEffect, useState } from \"react\";\nimport { confirmService } from \"../../../../services/confirm.service\";\nimport { documentsService } from \"../../../inputs/services/documents.service\";\nimport { patientDocumentsService } from \"../../../inputs/services/patientDocuments.service\";\nimport { documentsStore } from \"../../../inputs/stores/documentsStore/documents.store\";\nimport { DocumentCategoryModel, DocumentModel, ViewableDocumentModel } from \"../../models/documents.models\";\n\ninterface UploadInputsFilesComponentState {\n isLoading: boolean;\n newDocumentsExist: DocumentModel[];\n isDownloading: boolean;\n isUploading: boolean;\n isActionsOpen: boolean;\n actionsAnchorEl: HTMLButtonElement;\n selectedFile: DocumentModel;\n}\n\nexport function useFacade(patientId: number, file: DocumentCategoryModel): [\n UploadInputsFilesComponentState,\n (fileId?: number, target?: HTMLButtonElement) => void,\n (file: DocumentModel) => void,\n (fileId: number) => void,\n (fileId: number) => void,\n (fileId: number, isViewable: boolean) => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n newDocumentsExist: file.documents.filter(el => !el.isViewed),\n isDownloading: false,\n isUploading: false,\n isActionsOpen: false,\n actionsAnchorEl: null,\n selectedFile: null,\n } as UploadInputsFilesComponentState);\n\n const handleToggleActions = (fileId?: number, target?: HTMLButtonElement) => {\n setState(state => ({\n ...state,\n actionsAnchorEl: target,\n isActionsOpen: !state.isActionsOpen,\n selectedFile: file.documents.find(i => i.id === fileId),\n }));\n }\n\n const handleDownload = (fileId: number) => {\n setState(state => ({\n ...state,\n isDownloading: true,\n isActionsOpen: false,\n }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isDownloading: false,\n }));\n }\n\n const input = file.documents.find(i => i.id === fileId);\n if (input) {\n setState(state => ({\n ...state,\n selectedFile: input,\n }));\n\n const action = patientId ? documentsService.download(fileId, input.name) : patientDocumentsService.download(fileId, input.name)\n action.subscribe(cb, cb)\n }\n }\n\n const handleTransfer = (file: DocumentModel) => {\n confirmService.confirmAndSelected(\n 'Transfer File',\n 'Select another category to transfer the file to',\n `${file.type}`,\n 'Transfer')\n .subscribe((reason) => handleOrderReplacement(file.id, +reason));\n }\n\n const handleOrderReplacement = (id: number, type: number) => {\n const cb = () => {\n setState(state => ({\n ...state,\n isActionsOpen: false\n }));\n }\n documentsService.transfer({ id: id, attachmentType: type }).subscribe(() => {\n const action = patientId ? documentsService.getDocuments(patientId) : patientDocumentsService.getDocuments()\n action.subscribe(cb, cb)\n\n },\n () => cb);\n }\n\n const handleDelete = (fileId: number) => {\n confirmService.confirm(\n 'Delete File',\n 'Are you sure you want to delete this file?',\n 'Delete',\n 'Cancel',\n 'danger'\n ).subscribe(() => {\n\n documentsService.deleteUpload(fileId).subscribe(() => {\n documentsStore.deleteFileInput(fileId)\n setState(state => ({\n ...state,\n isActionsOpen: false\n }));\n \n });\n\n })\n }\n\n const viewAllDocuments = () => {\n if(state.newDocumentsExist.length) {\n state.newDocumentsExist.forEach(el => {\n documentsStore.viewFile(el.id);\n documentsService.viewDocument(el.id).subscribe()\n })\n }\n }\n\n const handleSetViewable = (fileId: number, isViewable: boolean) => {\n const viewableDocumentModel = {\n id: fileId,\n isViewableByPatient: isViewable\n } as ViewableDocumentModel\n documentsService.setViewableByPatient(viewableDocumentModel).subscribe();\n }\n\n useEffect(() => {\n patientId && setTimeout(() => {\n viewAllDocuments()\n }, 2000)\n },\n [])\n\n return [\n state,\n handleToggleActions,\n handleTransfer,\n handleDownload,\n handleDelete,\n handleSetViewable\n ];\n}\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) =>\n createStyles({\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.lightBlack,\n },\n customWidth: {\n width: '278px',\n maxWidth: '278px',\n backgroundColor: colors.lightBlack,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n);\n","import { Box, CircularProgress, IconButton, Popover, Table, TableBody, TableContainer, TableHead, TableRow, Typography, Tooltip } from \"@material-ui/core\";\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport VisibilityIcon from '@material-ui/icons/Visibility';\nimport VisibilityOffIcon from '@material-ui/icons/VisibilityOff';\nimport React from \"react\";\nimport { WildHealthMenuItem } from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport { CommonPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { useFacade } from \"./uploadDocumentsFilesComponent.hooks\";\nimport { useStyles } from \"./uploadDocumentsFilesComponent.styles\";\nimport moment from 'moment';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { DocumentCategoryModel } from \"../../models/documents.models\";\nimport { InputsComponentProps } from \"../../../inputs/components/inputsComponentProps\";\n\ninterface UploadInputsFilesComponentProps extends InputsComponentProps {\n file: DocumentCategoryModel;\n}\n\nexport const UploadDocumentsFilesComponent: React.FC = (props: UploadInputsFilesComponentProps) => {\n const { patientId, file } = props;\n\n const [\n {\n isDownloading,\n isUploading,\n isActionsOpen,\n actionsAnchorEl,\n selectedFile,\n newDocumentsExist,\n },\n handleToggleActions,\n handleTransfer,\n handleDownload,\n handleDelete,\n handleSetViewable\n ] = useFacade(patientId, file);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const getAction = (id: number) => patientId ? (event: React.MouseEvent) => handleToggleActions(id, event.currentTarget) : () => handleDownload(id);\n const actionsIcon = patientId ? : ;\n const accessIcon = (isViewable: boolean) => !isViewable ? : ;\n\n const renderTable = () => {\n return (\n \n \n \n \n \n File Name\n \n \n Date\n \n {patientId && (\n \n Patient Access\n \n )}\n \n Action\n \n \n \n \n {\n file.documents.map((item, index) =>\n \n \n handleDownload(item.id)}>{decodeURIComponent(item.name)}\n \n \n {moment(toCurrentTimeZone(new Date(item.dateUploaded))).format(\"MM/DD/yyyy\")}\n \n {patientId && (\n \n {item.isViewableByPatient ? 'This document is viewable for the patient. Click to change access.' : 'This document is not viewable for the patient. Click to change access.'}

}\n classes={customTooltipClasses}>\n handleSetViewable(item.id, !item.isViewableByPatient)}\n >\n {isDownloading && item.id === selectedFile.id ? : accessIcon(item.isViewableByPatient)}\n \n
\n
\n )}\n \n \n {isDownloading && item.id === selectedFile.id ? : actionsIcon}\n \n \n
\n )\n }\n
\n
\n
\n )\n }\n\n return (\n \n \n \n {file.name}\n \n \n\n \n {\n file && file.documents.length ? renderTable() :\n \n }\n \n\n {\n patientId &&\n handleToggleActions()}\n >\n handleTransfer(selectedFile)}\n disabled={!selectedFile || isUploading}\n >\n \n Transfer\n \n \n handleDownload(selectedFile.id)}\n disabled={!selectedFile || isUploading || isDownloading}\n >\n \n Download\n \n \n handleDelete(selectedFile.id)}\n disabled={!selectedFile || isUploading}\n >\n \n Delete\n \n \n \n }\n \n )\n};","import {\n Box, Grid,\n} from '@material-ui/core';\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { useFacade } from \"./documentsComponent.hooks\";\nimport { DocumentCategoryCardComponent } from '../documentCategoryCardComponent/DocumentCategoryCardComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { InputsComponentProps } from '../../../inputs/components/inputsComponentProps';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { UploadDocumentsDialog } from '../../../inputs/components/uploadDocumentsDialog/UploadDocumentsDialog';\nimport { UploadDocumentsFilesComponent } from '../uploadDocumentsFilesComponent/UploadDocumentsFilesComponent';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\n\nexport const DocumentsComponent: React.FC = (props: InputsComponentProps) => {\n const { patientId } = props;\n const [\n {\n\n isLoading,\n isUploading,\n documentsCategory,\n activeCategory\n },\n handleGoToDocuments,\n handleOpenDocumentsList,\n handleDocumentUpload,\n ] = useFacade(patientId);\n\n const commonClasses = commonUseStyles();\n\n const documentsFileList = (type: number) => {\n return documentsCategory.find(el => el.type === type)\n }\n\n const renderContent = () => {\n return !activeCategory\n ? (<>\n \n Documents\n { handleDocumentUpload() }} disabled={isUploading} loading={isUploading}>\n Upload New Document\n \n \n \n {documentsCategory.map((item, index) => (\n \n \n \n\n ))}\n \n \n \n )\n : \n }\n\n return (\n <>\n {activeCategory && \n { handleGoToDocuments() }}\n />\n }\n \n {\n isLoading\n ? \n : renderContent()\n }\n \n \n )\n}\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { DocumentCategoryModel, documentCategoryNames, documentCategorySections, DocumentModel, } from \"../../models/documents.models\";\nimport { patientDocumentsService } from \"../../../inputs/services/patientDocuments.service\";\nimport { documentsService } from \"../../../inputs/services/documents.service\";\nimport { documentsQuery } from \"../../../inputs/stores/documentsStore/documents.query\";\n\ninterface DocumentsPageState {\n isLoading: boolean;\n isUploading: boolean;\n documentsCategory: DocumentCategoryModel[];\n activeCategory: DocumentCategoryModel;\n\n}\n\nexport function useFacade(patientId: number): [\n DocumentsPageState,\n () => void,\n (category: DocumentCategoryModel) => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n isUploading: false,\n documentsCategory: [],\n activeCategory: null,\n\n } as DocumentsPageState);\n\n const handleGoToDocuments = () => {\n setState(state => ({\n ...state,\n activeCategory: null,\n }));\n }\n\n const handleOpenDocumentsList = (category: DocumentCategoryModel) => {\n if (!category.documents.length) {\n return\n }\n setState(state => ({\n ...state,\n activeCategory: category,\n }));\n }\n\n\n const handleDocumentUpload = () => {\n setState(state => ({\n ...state,\n isUploading: true\n }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isUploading: false\n }));\n }\n\n const action = patientId ? documentsService.upload(patientId) : patientDocumentsService.upload();\n\n action.subscribe(() => {\n cb();\n const action = patientId ? documentsService.getDocuments(patientId) : patientDocumentsService.getDocuments()\n action.subscribe(cb, cb)\n }, cb);\n }\n\n const useEffectCB = () => {\n\n const subscriptions: Subscription[] = [\n onEmit(documentsQuery.documentList$, documents => {\n const createDocumentsCategory = documentCategorySections.map(el => {\n return {\n name: documentCategoryNames[Number(el)],\n id: Number(el),\n type: Number(el),\n documents: documents.length ? documents.filter(doc => doc.type === Number(el)) : [],\n }\n })\n setState(state => ({\n ...state,\n documentsCategory: createDocumentsCategory\n }));\n\n }),\n\n ];\n const cb = () => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n }\n\n const action = patientId ? documentsService.getDocuments(patientId) : patientDocumentsService.getDocuments()\n action.subscribe(cb, cb)\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [state, handleGoToDocuments, handleOpenDocumentsList, handleDocumentUpload];\n}","import React from 'react';\nimport { ReactComponent as SupplementMeds } from '@img/icons/SupplementMeds.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst SupplementMedsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default SupplementMedsIcon;","import React from 'react';\nimport { ReactComponent as Results } from '@img/icons/Results.svg';\nimport { IconProps } from './IconProps';\nimport { colors } from '../../modules/common/constants/colors';\n\nconst ResultsIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return (\n \n )\n}\n\nexport default ResultsIcon;","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {notificationsQuery} from \"../../../notifications/stores/notifications\";\nimport {NotificationModel, NotificationType} from \"../../../notifications/models/notifications.models\";\n\nconst interestedTypes = [\n NotificationType.NewDocuments\n];\n\nexport function useFacade(patientId:number): [boolean] {\n const [newDocuments, setNewDocumnts] = useState(false);\n\n const hasNewDocuments = (notifications: NotificationModel[]): boolean => {\n notifications = notifications.filter(x => interestedTypes.includes(x.type));\n\n notifications = notifications.filter(x => x.linkData.includes(patientId.toString()));\n\n return notifications.length > 0;\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(notificationsQuery.notifications$, notifications => {\n if (notifications && notifications.length) {\n setNewDocumnts(() => (hasNewDocuments(notifications)));\n } else {\n setNewDocumnts(() => false);\n }\n }),\n ];\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }, []);\n\n return [newDocuments];\n}","import React from \"react\";\nimport {useFacade} from \"./newDocumentsBadgeComponent.hooks\";\nimport {Badge} from \"@material-ui/core\";\n\ninterface NewDocumentsComponentProps {\n patientId: number;\n}\n\nexport const NewDocumentsComponent: React.FC = (props:NewDocumentsComponentProps) => {\n const{\n patientId\n } = props;\n\n const [newDocuments] = useFacade(patientId);\n\n return (\n <>\n {\n newDocuments\n ? \n : <>\n }\n \n );\n}","\nexport enum PatientCourseStatus {\n NotStarted = 0,\n InProgress = 5,\n Completed = 10,\n}\n\nexport const courseStatuses: { [status: number]: string } = {\n [PatientCourseStatus.NotStarted]: 'Not Started',\n [PatientCourseStatus.InProgress]: 'In Progress',\n [PatientCourseStatus.Completed]: 'Completed',\n}","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n historyContainer: {\n minHeight: 'calc(100vh - 300px)'\n },\n filters: {\n minWidth: 300,\n },\n nested: {\n paddingRight: theme.spacing(2),\n minWidth: 20,\n },\n activeIcon: {\n color: colors.main,\n },\n avatar: {\n width: 24,\n height: 24,\n backgroundColor: colors.gray4,\n color: colors.gray1,\n fontSize: 12,\n },\n avatarPreparing: {\n width: 6,\n height: 6,\n backgroundColor: colors.gray1,\n borderRadius: '50%',\n },\n avatarGood: {\n width: 6,\n height: 6,\n backgroundColor: colors.good,\n borderRadius: '50%',\n },\n avatarOrange: {\n width: 6,\n height: 6,\n backgroundColor: colors.average1,\n borderRadius: '50%',\n },\n avatarDanger: {\n width: 6,\n height: 6,\n backgroundColor: colors.bad,\n borderRadius: '50%',\n },\n avatarNA: {\n width: 6,\n height: 6,\n borderRadius: '50%',\n border: `1px solid ${colors.mediumGray}`,\n },\n avatarEmpty: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n width: 24,\n height: 24,\n fontSize: 11,\n borderRadius: '50%',\n background: '#F6F8FB',\n color: colors.gray1,\n marginRight: 12\n },\n customTooltip: {\n backgroundColor: colors.lightBlack,\n padding: 12,\n fontSize: 14,\n },\n arrow: {\n color: colors.lightBlack,\n },\n banner: {\n backgroundColor: colors.gray3,\n width: '100%',\n padding: '20px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n\n [theme.breakpoints.down(\"xs\")]: {\n display: 'inherit'\n },\n },\n nextUpSection: {\n display: 'flex',\n alignItems: 'center',\n [theme.breakpoints.down(\"xs\")]: {\n justifyContent: 'space-between',\n },\n },\n nextUp: {\n backgroundColor: colors.average2,\n padding: '5px 10px',\n fontSize: '14px',\n width: 'auto',\n borderRadius: 2,\n\n [theme.breakpoints.down(\"xs\")]: {\n width: 'fit-content',\n },\n },\n start: {\n backgroundColor: colors.main,\n padding: '9px 30px',\n fontSize: '14px',\n color: colors.white,\n width: 'auto',\n cursor: 'pointer !important',\n borderRadius: 2,\n textTransform: 'capitalize',\n\n [theme.breakpoints.down(\"xs\")]: {\n width: 'fit-content',\n },\n },\n bannerMessage: {\n width: '75%',\n textAlign: 'center',\n\n [theme.breakpoints.down(\"xs\")]: {\n textAlign: 'left',\n width: '100%',\n marginTop: 16\n },\n },\n noCompleted: {\n [theme.breakpoints.down(\"xs\")]: {\n textAlign: 'center',\n marginTop: '150px',\n fontSize: 20,\n fontWeight: 600,\n paddingLeft: 48,\n paddingRight: 48,\n },\n },\n image: {\n maxWidth: 300,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n maxWidth: 444,\n },\n },\n}));\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { BaseCourseModel, PatientCourseHistoryModel } from '../../models/courses.model';\n\nexport interface CoursesState {\n courses: BaseCourseModel[];\n patientCourseHistories: PatientCourseHistoryModel;\n}\n\n/**\n * Creates initial course state\n */\nexport function createInitialState(): CoursesState {\n return {\n courses: [],\n patientCourseHistories: null\n };\n}\n\n/**\n * Provides course state management\n */\n@StoreConfig({ name: 'courses', resettable: true })\nexport class CoursesStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setCourses(courses: BaseCourseModel[]): void {\n this.update({\n courses: courses\n })\n }\n\n public setPatientCourseHistories(courseHistories: PatientCourseHistoryModel): void {\n\n this.update({\n patientCourseHistories: courseHistories\n })\n }\n}\n\nexport const coursesStore = new CoursesStore();\n","import { CoursesState, CoursesStore, coursesStore } from './courses.store';\nimport { Query } from '@datorama/akita';\nimport { BaseCourseModel } from '../../models/courses.model';\n\n/**\n * Provides method for working with courses store\n */\nexport class CoursesQuery extends Query {\n patientCourseHistories$ = this.select(state => state.patientCourseHistories);\n courses$ = this.select(state => state.courses);\n\n constructor(protected store: CoursesStore) {\n super(store);\n }\n\n /**\n * Returns course histories\n */\n public getToken(): Array {\n return this.getValue().courses;\n }\n}\n\nexport const coursesQuery = new CoursesQuery(coursesStore);","import Axios from 'axios-observable';\nimport { authHeader } from '../../common/helpers/auth-header';\nimport { snackService } from '../../common/snack/state';\nimport { Observable } from 'rxjs';\nimport { coursesStore, CoursesStore } from '../stores/courses';\n\nexport class CoursesService {\n private url = `${process.env.REACT_APP_API_URL}lms`;\n\n constructor(private coursesStore: CoursesStore) {\n }\n\n public getCourses(): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.get(`${this.url}/courses/challenge`, config).pipe()\n .subscribe(\n response => {\n this.coursesStore.setCourses(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getPatientCourseHistoriesByUserId(userId: number): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.get(`${this.url}/users/${userId}`, config).pipe()\n .subscribe(\n response => {\n this.coursesStore.setPatientCourseHistories(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getPatientCourseHistoriesByPatientId(patientId: number): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.get(`${this.url}/patients/${patientId}`, config).pipe()\n .subscribe(\n response => {\n this.coursesStore.setPatientCourseHistories(response.data);\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public assignCourse(userId: number, courseId: string): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.post(`${this.url}/users/${userId}/Courses/${courseId}`, null, config).pipe()\n .subscribe(\n response => {\n snackService.success(\"Course successfully assigned!\");\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public assignCourseByPatientId(patientId: number, courseId: string): Observable {\n const config = { headers: authHeader() };\n return new Observable(observer => {\n Axios.post(`${this.url}/patients/${patientId}/Courses/${courseId}`, null, config).pipe()\n .subscribe(\n response => {\n snackService.success(\"Course successfully assigned!\");\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public delete(userId: number, courseId: string): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.delete(`${this.url}/users/${userId}/Courses/${courseId}`, config).pipe()\n .subscribe(\n response => {\n snackService.success('Course successfully unassingned!')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.error('Failed to unassign course!');\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public deleteCourseByPatientId(patientId: number, courseId: string): Observable {\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.delete(`${this.url}/patients/${patientId}/Courses/${courseId}`, config).pipe()\n .subscribe(\n response => {\n snackService.success('Course successfully unassingned!')\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.error('Failed to unassign course!');\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const coursesService = new CoursesService(coursesStore);\n","import { onEmit } from \"../../../common/helpers/on-emit\";\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { CreateFellowModel } from \"../../../employee/models/employee.models\";\nimport { BaseCourseModel } from '../../models/courses.model';\nimport { coursesQuery } from \"../../stores/courses\";\nimport { coursesService } from \"../../services/courses.service\";\n\ninterface AddFellowButtonComponentState extends IErrorState {\n isLoading: boolean;\n isOpen: boolean;\n fellow: CreateFellowModel;\n courses: BaseCourseModel[];\n selectedCourses: BaseCourseModel[];\n}\n\nconst initModel: CreateFellowModel = {\n firstName: '',\n lastName: '',\n email: '',\n phoneNumber: '',\n credentials: '',\n rosterId: 0\n};\n\nexport function useFacade(patientId: number): [\n AddFellowButtonComponentState,\n Function,\n () => void,\n (status: boolean) => void\n] {\n\n const [state, setState] = useState({\n isLoading: false,\n isOpen: false,\n fellow: Object.assign({}, initModel),\n errors: {},\n courses: [],\n selectedCourses: [],\n } as AddFellowButtonComponentState);\n\n const handleCoursesSelect = (courses) => {\n setState(state => ({ ...state, selectedCourses: courses }));\n }\n\n const handleToggle = (status: boolean) => {\n setState(state => ({\n ...state,\n isOpen: status,\n }));\n }\n\n const handleAssign = () => {\n if (!state.selectedCourses.length && !patientId) return;\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n\n state.selectedCourses.map(c => {\n coursesService.assignCourseByPatientId(patientId, c.id).subscribe();\n })\n\n setState(state => ({\n ...state,\n isLoading: false,\n isOpen: false,\n }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(coursesQuery.courses$, courses => {\n setState(state => ({ ...state, courses: courses }));\n }),\n ];\n const cb = () => {\n setState(state => ({ ...state, isLoading: false }));\n }\n\n coursesService.getCourses().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleCoursesSelect,\n handleAssign,\n handleToggle,\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialog: {\n [theme.breakpoints.down(\"xs\")]: {\n paddingTop: '205px !important',\n paddingLeft: '0px !important',\n paddingRight: '0px !important',\n paddingBottom: '0px !important',\n '& .MuiDialog-paperFullScreen': {\n borderRadius: '20px 20px 0 0',\n },\n },\n },\n dialogContent: {\n padding: '30px 40px',\n width: 540,\n height: 540,\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n width: 'auto',\n },\n },\n dialogTitle: {\n display: 'flex',\n justifyContent: \"space-between\",\n alignItems: \"center\",\n margin: 0,\n paddingRight: theme.spacing(1),\n paddingLeft: theme.spacing(5),\n paddingTop: 30,\n boxShadow: \"0px 2px 13px rgba(168, 173, 198, 0.14)\"\n },\n action: {\n color: colors.main,\n paddingRight: theme.spacing(5),\n paddingLeft: theme.spacing(5),\n paddingBottom: theme.spacing(2),\n paddingTop: theme.spacing(2),\n boxShadow: \"0px 2px 13px rgba(168, 173, 198, 0.25)\"\n },\n fixedButton: {\n fill: colors.main,\n width: 58,\n height: 58\n },\n icon: {\n fill: colors.main,\n },\n })\n);\n","var _g, _path, _line, _path2, _path3, _rect, _line2, _path4, _path5, _path6, _rect2, _rect3, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyRiskScores = function SvgEmptyRiskScores(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 478,\n height: 320,\n viewBox: \"0 0 478 390\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_11075:238643)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 53,\n width: 358,\n height: 270,\n rx: 2,\n fill: \"none\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M94.2188 96.3633H95.8398C96.9271 96.3633 97.7148 96.1615 98.2031 95.7578C98.6914 95.3542 98.9355 94.7552 98.9355 93.9609C98.9355 93.1536 98.6719 92.5742 98.1445 92.2227C97.6172 91.8711 96.8229 91.6953 95.7617 91.6953H94.2188V96.3633ZM94.2188 98.2969V104H91.8848V89.7227H95.918C97.7604 89.7227 99.1243 90.0677 100.01 90.7578C100.895 91.4479 101.338 92.4896 101.338 93.8828C101.338 95.6602 100.413 96.9264 98.5645 97.6816L102.598 104H99.9414L96.5234 98.2969H94.2188ZM106.729 104H104.434V93.1992H106.729V104ZM104.297 90.3379C104.297 89.9277 104.408 89.612 104.629 89.3906C104.857 89.1693 105.179 89.0586 105.596 89.0586C105.999 89.0586 106.312 89.1693 106.533 89.3906C106.761 89.612 106.875 89.9277 106.875 90.3379C106.875 90.7285 106.761 91.0378 106.533 91.2656C106.312 91.487 105.999 91.5977 105.596 91.5977C105.179 91.5977 104.857 91.487 104.629 91.2656C104.408 91.0378 104.297 90.7285 104.297 90.3379ZM117.275 100.924C117.275 101.979 116.891 102.789 116.123 103.355C115.355 103.915 114.255 104.195 112.822 104.195C111.383 104.195 110.228 103.977 109.355 103.541V101.559C110.625 102.145 111.807 102.438 112.9 102.438C114.313 102.438 115.02 102.011 115.02 101.158C115.02 100.885 114.941 100.657 114.785 100.475C114.629 100.292 114.372 100.104 114.014 99.9082C113.656 99.7129 113.158 99.4915 112.52 99.2441C111.276 98.7624 110.433 98.2806 109.99 97.7988C109.554 97.3171 109.336 96.6921 109.336 95.9238C109.336 94.9993 109.707 94.2832 110.449 93.7754C111.198 93.2611 112.214 93.0039 113.496 93.0039C114.766 93.0039 115.967 93.2611 117.1 93.7754L116.357 95.5039C115.192 95.0221 114.212 94.7812 113.418 94.7812C112.207 94.7812 111.602 95.1263 111.602 95.8164C111.602 96.1549 111.758 96.4414 112.07 96.6758C112.389 96.9102 113.079 97.2324 114.141 97.6426C115.033 97.9876 115.68 98.3034 116.084 98.5898C116.488 98.8763 116.787 99.2083 116.982 99.5859C117.178 99.957 117.275 100.403 117.275 100.924ZM121.982 98.2969L123.281 96.6758L126.543 93.1992H129.189L124.844 97.8379L129.463 104H126.768L123.301 99.2637L122.041 100.299V104H119.766V88.8047H122.041V96.2168L121.924 98.2969H121.982ZM144.883 100.123C144.883 101.393 144.424 102.389 143.506 103.111C142.588 103.834 141.322 104.195 139.707 104.195C138.092 104.195 136.771 103.945 135.742 103.443V101.236C136.393 101.542 137.083 101.783 137.812 101.959C138.548 102.135 139.232 102.223 139.863 102.223C140.788 102.223 141.468 102.047 141.904 101.695C142.347 101.344 142.568 100.872 142.568 100.279C142.568 99.7454 142.367 99.293 141.963 98.9219C141.559 98.5508 140.726 98.1113 139.463 97.6035C138.161 97.0762 137.243 96.474 136.709 95.7969C136.175 95.1198 135.908 94.306 135.908 93.3555C135.908 92.1641 136.331 91.2266 137.178 90.543C138.024 89.8594 139.16 89.5176 140.586 89.5176C141.953 89.5176 143.314 89.8171 144.668 90.416L143.926 92.3203C142.656 91.7865 141.523 91.5195 140.527 91.5195C139.772 91.5195 139.199 91.6855 138.809 92.0176C138.418 92.3431 138.223 92.776 138.223 93.3164C138.223 93.6875 138.301 94.0065 138.457 94.2734C138.613 94.5339 138.87 94.7812 139.229 95.0156C139.587 95.25 140.231 95.5592 141.162 95.9434C142.21 96.3796 142.979 96.7865 143.467 97.1641C143.955 97.5417 144.313 97.9681 144.541 98.4434C144.769 98.9186 144.883 99.4785 144.883 100.123ZM151.758 104.195C150.124 104.195 148.88 103.72 148.027 102.77C147.181 101.812 146.758 100.442 146.758 98.6582C146.758 96.8418 147.201 95.4453 148.086 94.4688C148.978 93.4922 150.264 93.0039 151.943 93.0039C153.083 93.0039 154.108 93.2155 155.02 93.6387L154.326 95.4844C153.356 95.1068 152.555 94.918 151.924 94.918C150.055 94.918 149.121 96.1582 149.121 98.6387C149.121 99.8496 149.352 100.761 149.814 101.373C150.283 101.979 150.967 102.281 151.865 102.281C152.887 102.281 153.854 102.027 154.766 101.52V103.521C154.355 103.762 153.916 103.935 153.447 104.039C152.985 104.143 152.422 104.195 151.758 104.195ZM166.885 98.5801C166.885 100.344 166.432 101.721 165.527 102.711C164.622 103.701 163.363 104.195 161.748 104.195C160.739 104.195 159.847 103.967 159.072 103.512C158.298 103.056 157.702 102.402 157.285 101.549C156.868 100.696 156.66 99.7064 156.66 98.5801C156.66 96.8288 157.109 95.4616 158.008 94.4785C158.906 93.4954 160.173 93.0039 161.807 93.0039C163.369 93.0039 164.606 93.5085 165.518 94.5176C166.429 95.5202 166.885 96.8743 166.885 98.5801ZM159.023 98.5801C159.023 101.074 159.945 102.32 161.787 102.32C163.61 102.32 164.521 101.074 164.521 98.5801C164.521 96.1126 163.604 94.8789 161.768 94.8789C160.804 94.8789 160.104 95.1979 159.668 95.8359C159.238 96.474 159.023 97.3887 159.023 98.5801ZM175.01 93.0039C175.472 93.0039 175.853 93.0365 176.152 93.1016L175.928 95.2402C175.602 95.1621 175.264 95.123 174.912 95.123C173.994 95.123 173.249 95.4225 172.676 96.0215C172.109 96.6204 171.826 97.3984 171.826 98.3555V104H169.531V93.1992H171.328L171.631 95.1035H171.748C172.106 94.459 172.572 93.9479 173.145 93.5703C173.724 93.1927 174.346 93.0039 175.01 93.0039ZM182.881 104.195C181.201 104.195 179.886 103.707 178.936 102.73C177.992 101.747 177.52 100.396 177.52 98.6777C177.52 96.9134 177.959 95.5267 178.838 94.5176C179.717 93.5085 180.924 93.0039 182.461 93.0039C183.887 93.0039 185.013 93.4368 185.84 94.3027C186.667 95.1686 187.08 96.36 187.08 97.877V99.1172H179.883C179.915 100.165 180.199 100.973 180.732 101.539C181.266 102.099 182.018 102.379 182.988 102.379C183.626 102.379 184.219 102.32 184.766 102.203C185.319 102.079 185.911 101.878 186.543 101.598V103.463C185.983 103.73 185.417 103.919 184.844 104.029C184.271 104.14 183.617 104.195 182.881 104.195ZM182.461 94.7422C181.732 94.7422 181.146 94.9733 180.703 95.4355C180.267 95.8978 180.007 96.5716 179.922 97.457H184.824C184.811 96.5651 184.596 95.8913 184.18 95.4355C183.763 94.9733 183.19 94.7422 182.461 94.7422ZM196.943 100.924C196.943 101.979 196.559 102.789 195.791 103.355C195.023 103.915 193.923 104.195 192.49 104.195C191.051 104.195 189.896 103.977 189.023 103.541V101.559C190.293 102.145 191.475 102.438 192.568 102.438C193.981 102.438 194.688 102.011 194.688 101.158C194.688 100.885 194.609 100.657 194.453 100.475C194.297 100.292 194.04 100.104 193.682 99.9082C193.324 99.7129 192.826 99.4915 192.188 99.2441C190.944 98.7624 190.101 98.2806 189.658 97.7988C189.222 97.3171 189.004 96.6921 189.004 95.9238C189.004 94.9993 189.375 94.2832 190.117 93.7754C190.866 93.2611 191.882 93.0039 193.164 93.0039C194.434 93.0039 195.635 93.2611 196.768 93.7754L196.025 95.5039C194.86 95.0221 193.88 94.7812 193.086 94.7812C191.875 94.7812 191.27 95.1263 191.27 95.8164C191.27 96.1549 191.426 96.4414 191.738 96.6758C192.057 96.9102 192.747 97.2324 193.809 97.6426C194.701 97.9876 195.348 98.3034 195.752 98.5898C196.156 98.8763 196.455 99.2083 196.65 99.5859C196.846 99.957 196.943 100.403 196.943 100.924Z\",\n fill: \"#091D36\"\n })), _line || (_line = /*#__PURE__*/React.createElement(\"line\", {\n x1: 328.645,\n y1: 126,\n x2: 328.645,\n y2: 199,\n stroke: \"#E6E9ED\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M330 133H391C392.105 133 393 133.895 393 135V154C393 155.105 392.105 156 391 156H330V133Z\",\n fill: \"#C7CDD7\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M327.643 170H286.999C285.895 170 284.999 170.895 284.999 172V191C284.999 192.105 285.895 193 286.999 193H327.643V170Z\",\n fill: \"#E2E5EA\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 293,\n width: 358,\n height: 30,\n rx: 2,\n fill: \"none\"\n })), _line2 || (_line2 = /*#__PURE__*/React.createElement(\"line\", {\n x1: 418,\n y1: 293.5,\n x2: 60,\n y2: 293.5,\n stroke: \"#DEE2E8\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M328.817 315.846H327.676V304.047H328.817V315.846Z\",\n fill: \"#7C8A9D\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M271.48 310.438H267.892V309.099H271.48V310.438Z\",\n fill: \"#7C8A9D\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M384.786 308.524H387.384V310.042H384.786V313.002H383.173V310.042H380.562V308.524H383.173V305.756H384.786V308.524Z\",\n fill: \"#7C8A9D\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 138,\n width: 77,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 175,\n width: 145,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_11075:238643\",\n x: 0,\n y: 0,\n width: 478,\n height: 390,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 7\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 30\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.65875 0 0 0 0 0.67735 0 0 0 0 0.775 0 0 0 0.12 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_11075:238643\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_11075:238643\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyRiskScores, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyRiskScores.155f6160.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport {\n Box,\n Dialog,\n DialogActions,\n DialogContent,\n IconButton,\n TextField,\n useTheme,\n useMediaQuery,\n Typography,\n Button\n} from \"@material-ui/core\";\nimport clsx from 'clsx';\nimport { Autocomplete } from '@material-ui/lab';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./assignCourseButtonComponent.hooks\";\nimport { useStyles } from \"./assignCourseButtonComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport Cancel from \"@img/icons/cancel.svg\";\nimport AddCircleIcon from '@material-ui/icons/AddCircle';\nimport CheckIcon from '@material-ui/icons/Check';\nimport { BaseCourseModel } from '../../models/courses.model';\n\ninterface AssignCourseButtonComponentProps {\n patientId: number;\n}\n\nexport const AssignCourseButtonComponent: React.FC = (props: AssignCourseButtonComponentProps) => {\n const [\n {\n isLoading,\n isOpen,\n courses,\n selectedCourses,\n },\n handleCoursesSelect,\n handleAssign,\n handleToggle,\n ] = useFacade(props.patientId);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const renderOptionLabel = (course: BaseCourseModel): string => {\n return `${course.name}`;\n }\n\n const renderOption = (course) => {\n return (\n \n \n {course.name}\n {selectedCourses.find(c => c.id === course.id) && }\n \n \n )\n }\n\n const renderInput = (params) => {\n return (\n \n )\n }\n\n return (\n <>\n {\n !isSmallScreen ? (\n handleToggle(!isOpen)}\n >\n Assign Course\n \n ) : (\n \n \n handleToggle(!isOpen)}>\n \n \n \n \n )\n }\n handleToggle(!isOpen)}\n fullScreen={isSmallScreen}\n className={classes.dialog}\n open={isOpen}\n >\n {\n !isSmallScreen &&\n \n Assign Course\n \n {\n handleToggle(!isOpen)\n }} >\n Cancel\n \n \n\n \n }\n \n {\n isSmallScreen &&\n \n \n \n \n Assign Course\n \n \n \n \n }\n \n Name of the course\n renderOptionLabel(course)}\n onChange={(e, values) => handleCoursesSelect(values)}\n renderInput={(params) => renderInput(params)}\n renderOption={(course) => renderOption(course)}\n />\n \n \n {\n !isSmallScreen &&\n \n handleToggle(!isOpen)}\n color=\"tertiary\"\n size='large'\n disabled={isLoading}\n >\n Cancel\n \n \n { handleAssign() }}\n loading={isLoading}\n disabled={!selectedCourses.length}\n autoFocus\n size='large'\n >\n Assign Course(s)\n \n \n \n }\n \n \n );\n}\n","import React from 'react';\nimport { Box, Table, TableBody, TableContainer, TableHead, useTheme, useMediaQuery, Divider, Button, List, ListItem, ListItemIcon, ListItemText, Popover } from '@material-ui/core';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { useStyles } from './patientCourseHistoryComponent.styles';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useFacade } from './patientCourseHistoryComponent.hooks';\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport emptyCourses from \"@img/placeholders/EmptyReport.png\";\nimport clsx from 'clsx';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport moment from 'moment';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport { WildHealthStatusLabel } from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\nimport { AssignCourseButtonComponent } from \"../assignCourseButtonComponent/AssignCourseButtonComponent\";\nimport { authQuery } from '../../../auth/stores/auth';\nimport { PatientCourseHistoryModel } from '../../models/courses.model';\nimport { PatientCourseStatus } from '../../models/courses.enums';\nimport { UserType } from '../../../auth/models/auth.enums';\n\nconst filtersPopoverProps: any = {\n id: \"notificationsPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n },\n};\n\ninterface PatientCourseHistoryComponentProps {\n patientId?: number;\n}\n\nexport const PatientCourseHistoryComponent: React.FC = (props: PatientCourseHistoryComponentProps) => {\n const { patientId } = props;\n\n const [\n {\n histories,\n isLoading,\n filtersState,\n },\n handleToggleFilters,\n handleOnNotStartedStatusChanges,\n handleOnInProgressStatusChanges,\n handleOnCompletedStatusChanges,\n handleClearFilters,\n handleApplyFilters,\n handleGoToNorthPassAcademy\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const getStatus = (course: PatientCourseHistoryModel) => {\n if (course.status && course.status === PatientCourseStatus.Completed) {\n return Completed;\n } else {\n return In progress;\n }\n }\n\n const bannerComponent: JSX.Element = (\n \n \n \n Next Up\n \n {isSmallScreen && (\n handleGoToNorthPassAcademy()}>\n Start\n \n )}\n \n \n Browse our challenges & resources available in our Academy \n \n {!isSmallScreen && (\n handleGoToNorthPassAcademy()}>\n Start\n \n )}\n \n )\n\n const renderDate = (dt: Date) => {\n \n if(dt != null) {\n return moment(dt).format('MM/DD/YYYY')\n } \n\n return \"\"\n }\n\n const renderCourseHistories = (): JSX.Element => {\n if (isLoading) {\n return (\n \n \n );\n }\n\n if (!histories || !histories.courses.length) {\n return (\n \n \n \n \n \n );\n }\n\n if (isSmallScreen) {\n return (\n \n {\n histories.courses.map((course, index) =>\n \n \n \n \n {renderDate(histories.createdAt)}\n \n \n {/* \n {getStatus(histories)}\n */}\n \n \n {course.name}\n \n \n \n \n \n )\n }\n \n );\n } else {\n return (\n \n \n \n \n \n {/* Date Started */}\n Course Name\n {/* Course Status */}\n \n \n \n {\n histories.courses.map((course, index) =>\n \n {/* \n {renderDate(histories.createdAt)}\n */}\n {course.name}\n {/* {getStatus(histories)} */}\n \n )\n }\n \n
\n
\n
\n );\n }\n }\n\n return (\n \n \n \n {PagesNamesService.courseHistory}\n \n {/* handleToggleFilters(event)}\n startIcon={}\n className={commonClasses.grayButton}\n >\n Filter\n */}\n \n {bannerComponent}\n \n {\n renderCourseHistories()\n }\n \n {authQuery.getType() === UserType.Employee && (\n \n \n \n )}\n \n \n handleOnNotStartedStatusChanges(!filtersState.filters.notStartedStatus.isSelected)}\n >\n \n {filtersState.filters.notStartedStatus.isSelected ? : }\n \n \n \n handleOnInProgressStatusChanges(!filtersState.filters.inProgressStatus.isSelected)}\n >\n \n {filtersState.filters.inProgressStatus.isSelected ? : }\n \n \n \n handleOnCompletedStatusChanges(!filtersState.filters.completedStatus.isSelected)}\n >\n \n {filtersState.filters.completedStatus.isSelected ? : }\n \n \n\n \n \n\n \n handleClearFilters()}\n content={Clear all}\n id=\"course-history-filter-clear-all\"\n />\n handleApplyFilters()}\n content={Apply}\n id=\"course-history-filter-apply\"\n />\n \n \n \n )\n}","import React from 'react';\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport {\n PatientCourseStatus\n} from '../../models/courses.enums';\nimport { PatientCourseHistoryModel } from '../../models/courses.model';\nimport { coursesQuery } from '../../stores/courses';\nimport { coursesService } from '../../services/courses.service';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { PatientModel } from '../../../patients/models/patient.model';\nimport { patientsQuery } from '../../../patients/stores/patientsStore';\nimport { PatientConversationModel } from '../../../conversations/models/conversation.models';\nimport { patientConversationsQuery } from '../../../conversations/stores/patientConversationsStore/patientConversations.query';\n\ninterface CourseFilterStatusViewModel {\n status: number;\n title: string;\n isSelected: boolean;\n}\n\nexport interface CourseHistoryFilterModel {\n notStartedStatus: CourseFilterStatusViewModel;\n inProgressStatus: CourseFilterStatusViewModel;\n completedStatus: CourseFilterStatusViewModel;\n}\n\ninterface CourseHistoryFiltersState {\n isOpen: boolean;\n anchorEl: HTMLButtonElement;\n filters: CourseHistoryFilterModel;\n}\n\ninterface PatientCourseHistoryComponentState {\n histories: PatientCourseHistoryModel;\n isLoading: boolean;\n filtersState: CourseHistoryFiltersState;\n}\n\nexport function useFacade(patientId: number | null): [\n PatientCourseHistoryComponentState,\n (event?: React.MouseEvent) => void,\n (toSelect: boolean) => void,\n (toSelect: boolean) => void,\n (toSelect: boolean) => void,\n () => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n histories: null,\n isLoading: true,\n filtersState: {\n isOpen: false,\n anchorEl: null,\n filters: {\n notStartedStatus: {\n status: PatientCourseStatus.NotStarted,\n title: 'Not Started',\n isSelected: false,\n },\n inProgressStatus: {\n status: PatientCourseStatus.InProgress,\n title: 'In Progress',\n isSelected: false,\n },\n completedStatus: {\n status: PatientCourseStatus.Completed,\n title: 'Completed',\n isSelected: false,\n }\n },\n },\n } as PatientCourseHistoryComponentState);\n\n const handleGoToNorthPassAcademy = () => {\n navigationService.toNewTabNorthPassAcademy();\n }\n\n const handleToggleFilters = (event?: React.MouseEvent) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({ ...state }));\n }\n\n const handleOnNotStartedStatusChanges = (toSelect: boolean) => {\n const item = state.filtersState.filters.notStartedStatus;\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleOnInProgressStatusChanges = (toSelect: boolean) => {\n const item = state.filtersState.filters.inProgressStatus;\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleOnCompletedStatusChanges = (toSelect: boolean) => {\n const item = state.filtersState.filters.completedStatus;\n if (item) {\n item.isSelected = toSelect;\n setState(state => ({ ...state }));\n }\n }\n\n const handleClearFilters = () => {\n state.filtersState.filters.notStartedStatus.isSelected = false;\n state.filtersState.filters.inProgressStatus.isSelected = false;\n state.filtersState.filters.completedStatus.isSelected = false;\n setState(state => ({ ...state }));\n }\n\n const setHistories = (histories: PatientCourseHistoryModel) => {\n const anchorEl = null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({\n ...state,\n isLoading: false,\n histories: histories,\n }));\n }\n\n const handleApplyFilters = () => {\n const notStartedStatus = state.filtersState.filters.notStartedStatus;\n const inProgressStatus = state.filtersState.filters.inProgressStatus;\n const completedStatus = state.filtersState.filters.completedStatus;\n if (!patientId) return;\n setState(state => ({\n ...state,\n isLoading: true\n }));\n const cb = () => {\n const anchorEl = null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({\n ...state,\n isLoading: false\n }));\n }\n if (patientId) {\n coursesService.getPatientCourseHistoriesByPatientId(patientId).subscribe(cb, cb)\n } else {\n coursesService.getPatientCourseHistoriesByUserId(authQuery.getId()).subscribe(cb, cb)\n }\n \n\n // coursesService.getPatientCourseHistoriesById(authQuery.getId()).subscribe((histories) => {\n // const filteredHistories = (notStartedStatus || inProgressStatus || completedStatus) ? histories?.courses.filter(\n // (c) =>\n // notStartedStatus && c.status === PatientCourseStatus.NotStarted\n // || inProgressStatus && c.status === PatientCourseStatus.InProgress\n // || completedStatus && c.status === PatientCourseStatus.Completed\n // ) : histories;\n // setHistories(filteredHistories)\n // }, cb)\n }\n\n const useEffectCB = () => {\n const cb = () => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n }\n const subscriptions: Subscription[] = [\n onEmit(coursesQuery.patientCourseHistories$, histories => {\n setState(state => ({ ...state, histories: histories }));\n }),\n ];\n \n if (!patientId) {\n coursesService.getPatientCourseHistoriesByUserId(authQuery.getId()).subscribe(cb, cb);\n } else {\n coursesService.getPatientCourseHistoriesByPatientId(patientId).subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [\n state,\n handleToggleFilters,\n handleOnNotStartedStatusChanges,\n handleOnInProgressStatusChanges,\n handleOnCompletedStatusChanges,\n handleClearFilters,\n handleApplyFilters,\n handleGoToNorthPassAcademy\n ];\n}","var _g, _path, _rect, _line, _path2, _path3, _path4, _line2, _path5, _path6, _rect2, _rect3, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyLifestyle = function SvgEmptyLifestyle(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 478,\n height: 320,\n viewBox: \"0 0 478 390\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_11075:238725)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 53,\n width: 358,\n height: 270,\n rx: 2,\n fill: \"none\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.8848 104V89.7227H94.2188V101.998H100.264V104H91.8848ZM104.775 104H102.48V93.1992H104.775V104ZM102.344 90.3379C102.344 89.9277 102.454 89.612 102.676 89.3906C102.904 89.1693 103.226 89.0586 103.643 89.0586C104.046 89.0586 104.359 89.1693 104.58 89.3906C104.808 89.612 104.922 89.9277 104.922 90.3379C104.922 90.7285 104.808 91.0378 104.58 91.2656C104.359 91.487 104.046 91.5977 103.643 91.5977C103.226 91.5977 102.904 91.487 102.676 91.2656C102.454 91.0378 102.344 90.7285 102.344 90.3379ZM113.486 94.9375H110.85V104H108.545V94.9375H106.768V93.8633L108.545 93.1602V92.457C108.545 91.181 108.844 90.237 109.443 89.625C110.042 89.0065 110.957 88.6973 112.188 88.6973C112.995 88.6973 113.789 88.8307 114.57 89.0977L113.965 90.8359C113.398 90.6536 112.858 90.5625 112.344 90.5625C111.823 90.5625 111.442 90.7253 111.201 91.0508C110.967 91.3698 110.85 91.8516 110.85 92.4961V93.1992H113.486V94.9375ZM120.049 104.195C118.369 104.195 117.054 103.707 116.104 102.73C115.16 101.747 114.688 100.396 114.688 98.6777C114.688 96.9134 115.127 95.5267 116.006 94.5176C116.885 93.5085 118.092 93.0039 119.629 93.0039C121.055 93.0039 122.181 93.4368 123.008 94.3027C123.835 95.1686 124.248 96.36 124.248 97.877V99.1172H117.051C117.083 100.165 117.367 100.973 117.9 101.539C118.434 102.099 119.186 102.379 120.156 102.379C120.794 102.379 121.387 102.32 121.934 102.203C122.487 102.079 123.079 101.878 123.711 101.598V103.463C123.151 103.73 122.585 103.919 122.012 104.029C121.439 104.14 120.785 104.195 120.049 104.195ZM119.629 94.7422C118.9 94.7422 118.314 94.9733 117.871 95.4355C117.435 95.8978 117.174 96.5716 117.09 97.457H121.992C121.979 96.5651 121.764 95.8913 121.348 95.4355C120.931 94.9733 120.358 94.7422 119.629 94.7422ZM134.111 100.924C134.111 101.979 133.727 102.789 132.959 103.355C132.191 103.915 131.09 104.195 129.658 104.195C128.219 104.195 127.064 103.977 126.191 103.541V101.559C127.461 102.145 128.643 102.438 129.736 102.438C131.149 102.438 131.855 102.011 131.855 101.158C131.855 100.885 131.777 100.657 131.621 100.475C131.465 100.292 131.208 100.104 130.85 99.9082C130.492 99.7129 129.993 99.4915 129.355 99.2441C128.112 98.7624 127.269 98.2806 126.826 97.7988C126.39 97.3171 126.172 96.6921 126.172 95.9238C126.172 94.9993 126.543 94.2832 127.285 93.7754C128.034 93.2611 129.049 93.0039 130.332 93.0039C131.602 93.0039 132.803 93.2611 133.936 93.7754L133.193 95.5039C132.028 95.0221 131.048 94.7812 130.254 94.7812C129.043 94.7812 128.438 95.1263 128.438 95.8164C128.438 96.1549 128.594 96.4414 128.906 96.6758C129.225 96.9102 129.915 97.2324 130.977 97.6426C131.868 97.9876 132.516 98.3034 132.92 98.5898C133.324 98.8763 133.623 99.2083 133.818 99.5859C134.014 99.957 134.111 100.403 134.111 100.924ZM140.625 102.34C141.185 102.34 141.745 102.252 142.305 102.076V103.805C142.051 103.915 141.722 104.007 141.318 104.078C140.921 104.156 140.508 104.195 140.078 104.195C137.904 104.195 136.816 103.049 136.816 100.758V94.9375H135.342V93.9219L136.924 93.082L137.705 90.7969H139.121V93.1992H142.197V94.9375H139.121V100.719C139.121 101.272 139.258 101.682 139.531 101.949C139.811 102.21 140.176 102.34 140.625 102.34ZM142.832 93.1992H145.332L147.529 99.3223C147.861 100.195 148.083 101.015 148.193 101.783H148.271C148.33 101.425 148.438 100.992 148.594 100.484C148.75 99.9701 149.577 97.5417 151.074 93.1992H153.555L148.936 105.436C148.096 107.682 146.696 108.805 144.736 108.805C144.229 108.805 143.734 108.749 143.252 108.639V106.822C143.597 106.9 143.991 106.939 144.434 106.939C145.54 106.939 146.318 106.298 146.768 105.016L147.168 104L142.832 93.1992ZM157.49 104H155.195V88.8047H157.49V104ZM165.498 104.195C163.818 104.195 162.503 103.707 161.553 102.73C160.609 101.747 160.137 100.396 160.137 98.6777C160.137 96.9134 160.576 95.5267 161.455 94.5176C162.334 93.5085 163.542 93.0039 165.078 93.0039C166.504 93.0039 167.63 93.4368 168.457 94.3027C169.284 95.1686 169.697 96.36 169.697 97.877V99.1172H162.5C162.533 100.165 162.816 100.973 163.35 101.539C163.883 102.099 164.635 102.379 165.605 102.379C166.243 102.379 166.836 102.32 167.383 102.203C167.936 102.079 168.529 101.878 169.16 101.598V103.463C168.6 103.73 168.034 103.919 167.461 104.029C166.888 104.14 166.234 104.195 165.498 104.195ZM165.078 94.7422C164.349 94.7422 163.763 94.9733 163.32 95.4355C162.884 95.8978 162.624 96.5716 162.539 97.457H167.441C167.428 96.5651 167.214 95.8913 166.797 95.4355C166.38 94.9733 165.807 94.7422 165.078 94.7422Z\",\n fill: \"#091D36\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 293,\n width: 358,\n height: 30,\n rx: 2,\n fill: \"none\"\n })), _line || (_line = /*#__PURE__*/React.createElement(\"line\", {\n x1: 418,\n y1: 293.5,\n x2: 60,\n y2: 293.5,\n stroke: \"#DEE2E8\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M308.817 315.846H307.676V304.047H308.817V315.846Z\",\n fill: \"#7C8A9D\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M231.48 310.438H227.892V309.099H231.48V310.438Z\",\n fill: \"#7C8A9D\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M384.786 308.524H387.384V310.042H384.786V313.002H383.173V310.042H380.562V308.524H383.173V305.756H384.786V308.524Z\",\n fill: \"#7C8A9D\"\n })), _line2 || (_line2 = /*#__PURE__*/React.createElement(\"line\", {\n x1: 305,\n y1: 126,\n x2: 305,\n y2: 199,\n stroke: \"#E6E9ED\",\n strokeWidth: 2\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M306 133H393.028C394.133 133 395.028 133.895 395.028 135V154C395.028 155.105 394.133 156 393.028 156H306V133Z\",\n fill: \"#C7CDD7\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M304 171H260.539C259.434 171 258.539 171.895 258.539 173V192C258.539 193.105 259.434 194 260.539 194H304V171Z\",\n fill: \"#E2E5EA\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 138,\n width: 100,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 175,\n width: 72,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_11075:238725\",\n x: 0,\n y: 0,\n width: 478,\n height: 390,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 7\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 30\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.65875 0 0 0 0 0.67735 0 0 0 0 0.775 0 0 0 0.12 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_11075:238725\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_11075:238725\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyLifestyle, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyLifestyle.8bfe20a8.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyLabs = function SvgEmptyLabs(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 668,\n height: 514,\n viewBox: \"0 0 668 584\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_11075:238676)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 53,\n width: 548,\n height: 464,\n rx: 2,\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 53,\n width: 548,\n height: 464,\n rx: 2,\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.8848 104V89.7227H94.2188V101.998H100.264V104H91.8848ZM109.238 104L108.779 102.496H108.701C108.18 103.154 107.656 103.603 107.129 103.844C106.602 104.078 105.924 104.195 105.098 104.195C104.036 104.195 103.206 103.909 102.607 103.336C102.015 102.763 101.719 101.952 101.719 100.904C101.719 99.791 102.132 98.9512 102.959 98.3848C103.786 97.8184 105.046 97.5091 106.738 97.457L108.604 97.3984V96.8223C108.604 96.1322 108.441 95.6178 108.115 95.2793C107.796 94.9342 107.298 94.7617 106.621 94.7617C106.068 94.7617 105.537 94.8431 105.029 95.0059C104.521 95.1686 104.033 95.3607 103.564 95.582L102.822 93.9414C103.408 93.6354 104.049 93.4043 104.746 93.248C105.443 93.0853 106.1 93.0039 106.719 93.0039C108.092 93.0039 109.128 93.3034 109.824 93.9023C110.527 94.5013 110.879 95.4421 110.879 96.7246V104H109.238ZM105.82 102.438C106.654 102.438 107.321 102.206 107.822 101.744C108.33 101.275 108.584 100.621 108.584 99.7812V98.8438L107.197 98.9023C106.117 98.9414 105.329 99.1237 104.834 99.4492C104.346 99.7682 104.102 100.26 104.102 100.924C104.102 101.406 104.245 101.78 104.531 102.047C104.818 102.307 105.247 102.438 105.82 102.438ZM119.6 93.0039C120.947 93.0039 121.995 93.4922 122.744 94.4688C123.499 95.4453 123.877 96.8158 123.877 98.5801C123.877 100.351 123.496 101.731 122.734 102.721C121.973 103.704 120.915 104.195 119.561 104.195C118.193 104.195 117.132 103.704 116.377 102.721H116.221L115.801 104H114.082V88.8047H116.377V92.418C116.377 92.6849 116.364 93.082 116.338 93.6094C116.312 94.1367 116.292 94.472 116.279 94.6152H116.377C117.106 93.541 118.18 93.0039 119.6 93.0039ZM119.004 94.8789C118.079 94.8789 117.412 95.1523 117.002 95.6992C116.598 96.2396 116.39 97.1478 116.377 98.4238V98.5801C116.377 99.8952 116.585 100.849 117.002 101.441C117.419 102.027 118.099 102.32 119.043 102.32C119.857 102.32 120.472 101.998 120.889 101.354C121.312 100.709 121.523 99.778 121.523 98.5605C121.523 96.1061 120.684 94.8789 119.004 94.8789ZM133.799 100.924C133.799 101.979 133.415 102.789 132.646 103.355C131.878 103.915 130.778 104.195 129.346 104.195C127.907 104.195 126.751 103.977 125.879 103.541V101.559C127.148 102.145 128.33 102.438 129.424 102.438C130.837 102.438 131.543 102.011 131.543 101.158C131.543 100.885 131.465 100.657 131.309 100.475C131.152 100.292 130.895 100.104 130.537 99.9082C130.179 99.7129 129.681 99.4915 129.043 99.2441C127.799 98.7624 126.956 98.2806 126.514 97.7988C126.077 97.3171 125.859 96.6921 125.859 95.9238C125.859 94.9993 126.23 94.2832 126.973 93.7754C127.721 93.2611 128.737 93.0039 130.02 93.0039C131.289 93.0039 132.49 93.2611 133.623 93.7754L132.881 95.5039C131.715 95.0221 130.736 94.7812 129.941 94.7812C128.73 94.7812 128.125 95.1263 128.125 95.8164C128.125 96.1549 128.281 96.4414 128.594 96.6758C128.913 96.9102 129.603 97.2324 130.664 97.6426C131.556 97.9876 132.204 98.3034 132.607 98.5898C133.011 98.8763 133.311 99.2083 133.506 99.5859C133.701 99.957 133.799 100.403 133.799 100.924Z\",\n fill: \"#091D36\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 409,\n y1: 132,\n x2: 409,\n y2: 437,\n stroke: \"#E6E9ED\",\n strokeWidth: 2\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M410 156H516C517.105 156 518 156.895 518 158V177C518 178.105 517.105 179 516 179H410V156Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M410 196H556C557.105 196 558 196.895 558 198V217C558 218.105 557.105 219 556 219H410V196Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M408 235H306C304.895 235 304 235.895 304 237V256C304 257.105 304.895 258 306 258H408V235Z\",\n fill: \"#E2E5EA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M410 275H578C579.105 275 580 275.895 580 277V296C580 297.105 579.105 298 578 298H410V275Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M410 315H476C477.105 315 478 315.895 478 317V336C478 337.105 477.105 338 476 338H410V315Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M408 354H381C379.895 354 379 354.895 379 356V375C379 376.105 379.895 377 381 377H408V354Z\",\n fill: \"#E2E5EA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M408 394H446C447.105 394 448 394.895 448 396V415C448 416.105 447.105 417 446 417H408V394Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 487,\n width: 548,\n height: 30,\n rx: 2,\n fill: \"none\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 608,\n y1: 487.5,\n x2: 60,\n y2: 487.5,\n stroke: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M410.817 509.846H409.676V498.047H410.817V509.846Z\",\n fill: \"#AFBACA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M299.48 504.438H295.892V503.099H299.48V504.438Z\",\n fill: \"#AFBACA\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M520.786 502.524H523.384V504.042H520.786V507.002H519.173V504.042H516.562V502.524H519.173V499.756H520.786V502.524Z\",\n fill: \"#AFBACA\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 155,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 196,\n width: 71,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 237,\n width: 93,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 278,\n width: 125,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 319,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 360,\n width: 102,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 401,\n width: 117,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_11075:238676\",\n x: 0,\n y: 0,\n width: 668,\n height: 584,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 7\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 30\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.65875 0 0 0 0 0.67735 0 0 0 0 0.775 0 0 0 0.12 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_11075:238676\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_11075:238676\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyLabs, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyLabs.34669913.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path, _line, _path2, _path3, _path4, _path5, _rect, _line2, _path6, _path7, _path8, _rect2, _rect3, _rect4, _rect5, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyBiomarkers = function SvgEmptyBiomarkers(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 478,\n height: 320,\n viewBox: \"0 0 478 390\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_11075:238703)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 53,\n width: 358,\n height: 270,\n rx: 2,\n fill: \"none\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.8848 89.7227H96.123C98.0892 89.7227 99.5085 90.0091 100.381 90.582C101.26 91.1549 101.699 92.0599 101.699 93.2969C101.699 94.1302 101.484 94.8236 101.055 95.377C100.625 95.9303 100.007 96.2786 99.1992 96.4219V96.5195C100.202 96.7083 100.938 97.0827 101.406 97.6426C101.882 98.196 102.119 98.9479 102.119 99.8984C102.119 101.181 101.67 102.187 100.771 102.916C99.8796 103.639 98.6361 104 97.041 104H91.8848V89.7227ZM94.2188 95.6211H96.4648C97.4414 95.6211 98.1543 95.4681 98.6035 95.1621C99.0527 94.8496 99.2773 94.3223 99.2773 93.5801C99.2773 92.9095 99.0332 92.4245 98.5449 92.125C98.0632 91.8255 97.2949 91.6758 96.2402 91.6758H94.2188V95.6211ZM94.2188 97.5156V102.037H96.6992C97.6758 102.037 98.4115 101.852 98.9062 101.48C99.4076 101.103 99.6582 100.51 99.6582 99.7031C99.6582 98.9609 99.4043 98.4108 98.8965 98.0527C98.3887 97.6947 97.6172 97.5156 96.582 97.5156H94.2188ZM107.139 104H104.844V93.1992H107.139V104ZM104.707 90.3379C104.707 89.9277 104.818 89.612 105.039 89.3906C105.267 89.1693 105.589 89.0586 106.006 89.0586C106.41 89.0586 106.722 89.1693 106.943 89.3906C107.171 89.612 107.285 89.9277 107.285 90.3379C107.285 90.7285 107.171 91.0378 106.943 91.2656C106.722 91.487 106.41 91.5977 106.006 91.5977C105.589 91.5977 105.267 91.487 105.039 91.2656C104.818 91.0378 104.707 90.7285 104.707 90.3379ZM120.01 98.5801C120.01 100.344 119.557 101.721 118.652 102.711C117.747 103.701 116.488 104.195 114.873 104.195C113.864 104.195 112.972 103.967 112.197 103.512C111.423 103.056 110.827 102.402 110.41 101.549C109.993 100.696 109.785 99.7064 109.785 98.5801C109.785 96.8288 110.234 95.4616 111.133 94.4785C112.031 93.4954 113.298 93.0039 114.932 93.0039C116.494 93.0039 117.731 93.5085 118.643 94.5176C119.554 95.5202 120.01 96.8743 120.01 98.5801ZM112.148 98.5801C112.148 101.074 113.07 102.32 114.912 102.32C116.735 102.32 117.646 101.074 117.646 98.5801C117.646 96.1126 116.729 94.8789 114.893 94.8789C113.929 94.8789 113.229 95.1979 112.793 95.8359C112.363 96.474 112.148 97.3887 112.148 98.5801ZM131.758 104H129.453V97.3398C129.453 96.513 129.297 95.8978 128.984 95.4941C128.672 95.084 128.184 94.8789 127.52 94.8789C126.634 94.8789 125.983 95.1686 125.566 95.748C125.156 96.321 124.951 97.278 124.951 98.6191V104H122.656V93.1992H124.453L124.775 94.6152H124.893C125.192 94.1009 125.625 93.7038 126.191 93.4238C126.764 93.1439 127.393 93.0039 128.076 93.0039C129.736 93.0039 130.837 93.5703 131.377 94.7031H131.533C131.852 94.1693 132.301 93.7526 132.881 93.4531C133.46 93.1536 134.124 93.0039 134.873 93.0039C136.162 93.0039 137.1 93.3294 137.686 93.9805C138.278 94.6315 138.574 95.6243 138.574 96.959V104H136.279V97.3398C136.279 96.513 136.12 95.8978 135.801 95.4941C135.488 95.084 135 94.8789 134.336 94.8789C133.444 94.8789 132.79 95.1589 132.373 95.7188C131.963 96.2721 131.758 97.125 131.758 98.2773V104ZM148.535 104L148.076 102.496H147.998C147.477 103.154 146.953 103.603 146.426 103.844C145.898 104.078 145.221 104.195 144.395 104.195C143.333 104.195 142.503 103.909 141.904 103.336C141.312 102.763 141.016 101.952 141.016 100.904C141.016 99.791 141.429 98.9512 142.256 98.3848C143.083 97.8184 144.342 97.5091 146.035 97.457L147.9 97.3984V96.8223C147.9 96.1322 147.738 95.6178 147.412 95.2793C147.093 94.9342 146.595 94.7617 145.918 94.7617C145.365 94.7617 144.834 94.8431 144.326 95.0059C143.818 95.1686 143.33 95.3607 142.861 95.582L142.119 93.9414C142.705 93.6354 143.346 93.4043 144.043 93.248C144.74 93.0853 145.397 93.0039 146.016 93.0039C147.389 93.0039 148.424 93.3034 149.121 93.9023C149.824 94.5013 150.176 95.4421 150.176 96.7246V104H148.535ZM145.117 102.438C145.951 102.438 146.618 102.206 147.119 101.744C147.627 101.275 147.881 100.621 147.881 99.7812V98.8438L146.494 98.9023C145.413 98.9414 144.626 99.1237 144.131 99.4492C143.643 99.7682 143.398 100.26 143.398 100.924C143.398 101.406 143.542 101.78 143.828 102.047C144.115 102.307 144.544 102.438 145.117 102.438ZM158.857 93.0039C159.32 93.0039 159.701 93.0365 160 93.1016L159.775 95.2402C159.45 95.1621 159.111 95.123 158.76 95.123C157.842 95.123 157.096 95.4225 156.523 96.0215C155.957 96.6204 155.674 97.3984 155.674 98.3555V104H153.379V93.1992H155.176L155.479 95.1035H155.596C155.954 94.459 156.419 93.9479 156.992 93.5703C157.572 93.1927 158.193 93.0039 158.857 93.0039ZM164.229 98.2969L165.527 96.6758L168.789 93.1992H171.436L167.09 97.8379L171.709 104H169.014L165.547 99.2637L164.287 100.299V104H162.012V88.8047H164.287V96.2168L164.17 98.2969H164.229ZM178.174 104.195C176.494 104.195 175.179 103.707 174.229 102.73C173.285 101.747 172.812 100.396 172.812 98.6777C172.812 96.9134 173.252 95.5267 174.131 94.5176C175.01 93.5085 176.217 93.0039 177.754 93.0039C179.18 93.0039 180.306 93.4368 181.133 94.3027C181.96 95.1686 182.373 96.36 182.373 97.877V99.1172H175.176C175.208 100.165 175.492 100.973 176.025 101.539C176.559 102.099 177.311 102.379 178.281 102.379C178.919 102.379 179.512 102.32 180.059 102.203C180.612 102.079 181.204 101.878 181.836 101.598V103.463C181.276 103.73 180.71 103.919 180.137 104.029C179.564 104.14 178.91 104.195 178.174 104.195ZM177.754 94.7422C177.025 94.7422 176.439 94.9733 175.996 95.4355C175.56 95.8978 175.299 96.5716 175.215 97.457H180.117C180.104 96.5651 179.889 95.8913 179.473 95.4355C179.056 94.9733 178.483 94.7422 177.754 94.7422ZM190.459 93.0039C190.921 93.0039 191.302 93.0365 191.602 93.1016L191.377 95.2402C191.051 95.1621 190.713 95.123 190.361 95.123C189.443 95.123 188.698 95.4225 188.125 96.0215C187.559 96.6204 187.275 97.3984 187.275 98.3555V104H184.98V93.1992H186.777L187.08 95.1035H187.197C187.555 94.459 188.021 93.9479 188.594 93.5703C189.173 93.1927 189.795 93.0039 190.459 93.0039ZM200.869 100.924C200.869 101.979 200.485 102.789 199.717 103.355C198.949 103.915 197.848 104.195 196.416 104.195C194.977 104.195 193.822 103.977 192.949 103.541V101.559C194.219 102.145 195.4 102.438 196.494 102.438C197.907 102.438 198.613 102.011 198.613 101.158C198.613 100.885 198.535 100.657 198.379 100.475C198.223 100.292 197.965 100.104 197.607 99.9082C197.249 99.7129 196.751 99.4915 196.113 99.2441C194.87 98.7624 194.027 98.2806 193.584 97.7988C193.148 97.3171 192.93 96.6921 192.93 95.9238C192.93 94.9993 193.301 94.2832 194.043 93.7754C194.792 93.2611 195.807 93.0039 197.09 93.0039C198.359 93.0039 199.561 93.2611 200.693 93.7754L199.951 95.5039C198.786 95.0221 197.806 94.7812 197.012 94.7812C195.801 94.7812 195.195 95.1263 195.195 95.8164C195.195 96.1549 195.352 96.4414 195.664 96.6758C195.983 96.9102 196.673 97.2324 197.734 97.6426C198.626 97.9876 199.274 98.3034 199.678 98.5898C200.081 98.8763 200.381 99.2083 200.576 99.5859C200.771 99.957 200.869 100.403 200.869 100.924Z\",\n fill: \"#091D36\"\n })), _line || (_line = /*#__PURE__*/React.createElement(\"line\", {\n x1: 327.52,\n y1: 126,\n x2: 327.52,\n y2: 261,\n stroke: \"#E6E9ED\",\n strokeWidth: 2\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329 138H394C395.105 138 396 138.895 396 140V159C396 160.105 395.105 161 394 161H329V138Z\",\n fill: \"#C7CDD7\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M327 172.019H294C292.895 172.019 292 172.914 292 174.019V193.019C292 194.123 292.895 195.019 294 195.019H327V172.019Z\",\n fill: \"#E2E5EA\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329 206.037H375C376.105 206.037 377 206.933 377 208.037V227.037C377 228.142 376.105 229.037 375 229.037H329V206.037Z\",\n fill: \"#C7CDD7\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M329 243.701H370C371.105 243.701 372 244.597 372 245.701V264.701C372 265.806 371.105 266.701 370 266.701H329V243.701Z\",\n fill: \"#C7CDD7\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 293,\n width: 358,\n height: 30,\n rx: 2,\n fill: \"none\"\n })), _line2 || (_line2 = /*#__PURE__*/React.createElement(\"line\", {\n x1: 418,\n y1: 293.5,\n x2: 60,\n y2: 293.5,\n stroke: \"#DEE2E8\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M328.817 315.846H327.676V304.047H328.817V315.846Z\",\n fill: \"#7C8A9D\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M271.48 310.438H267.892V309.099H271.48V310.438Z\",\n fill: \"#7C8A9D\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M384.786 308.524H387.384V310.042H384.786V313.002H383.173V310.042H380.562V308.524H383.173V305.756H384.786V308.524Z\",\n fill: \"#7C8A9D\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 138,\n width: 112,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 175,\n width: 85,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 212,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 90,\n y: 249,\n width: 112,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_11075:238703\",\n x: 0,\n y: 0,\n width: 478,\n height: 390,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 7\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 30\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.65875 0 0 0 0 0.67735 0 0 0 0 0.775 0 0 0 0.12 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_11075:238703\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_11075:238703\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyBiomarkers, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyBiomarkers.777a4573.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _path, _g2, _path2, _path3, _path4, _path5, _path6, _rect, _rect2, _rect3, _rect4, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyHealthBiomarkers = function SvgEmptyHealthBiomarkers(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 668,\n height: 514,\n viewBox: \"0 0 668 584\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_11075:238660)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 60,\n y: 53,\n width: 548,\n height: 464,\n rx: 2,\n fill: \"none\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M103.145 104H100.801V97.5645H94.2188V104H91.8848V89.7227H94.2188V95.5625H100.801V89.7227H103.145V104ZM111.377 104.195C109.697 104.195 108.382 103.707 107.432 102.73C106.488 101.747 106.016 100.396 106.016 98.6777C106.016 96.9134 106.455 95.5267 107.334 94.5176C108.213 93.5085 109.421 93.0039 110.957 93.0039C112.383 93.0039 113.509 93.4368 114.336 94.3027C115.163 95.1686 115.576 96.36 115.576 97.877V99.1172H108.379C108.411 100.165 108.695 100.973 109.229 101.539C109.762 102.099 110.514 102.379 111.484 102.379C112.122 102.379 112.715 102.32 113.262 102.203C113.815 102.079 114.408 101.878 115.039 101.598V103.463C114.479 103.73 113.913 103.919 113.34 104.029C112.767 104.14 112.113 104.195 111.377 104.195ZM110.957 94.7422C110.228 94.7422 109.642 94.9733 109.199 95.4355C108.763 95.8978 108.503 96.5716 108.418 97.457H113.32C113.307 96.5651 113.092 95.8913 112.676 95.4355C112.259 94.9733 111.686 94.7422 110.957 94.7422ZM124.941 104L124.482 102.496H124.404C123.883 103.154 123.359 103.603 122.832 103.844C122.305 104.078 121.628 104.195 120.801 104.195C119.74 104.195 118.91 103.909 118.311 103.336C117.718 102.763 117.422 101.952 117.422 100.904C117.422 99.791 117.835 98.9512 118.662 98.3848C119.489 97.8184 120.749 97.5091 122.441 97.457L124.307 97.3984V96.8223C124.307 96.1322 124.144 95.6178 123.818 95.2793C123.499 94.9342 123.001 94.7617 122.324 94.7617C121.771 94.7617 121.24 94.8431 120.732 95.0059C120.225 95.1686 119.736 95.3607 119.268 95.582L118.525 93.9414C119.111 93.6354 119.753 93.4043 120.449 93.248C121.146 93.0853 121.803 93.0039 122.422 93.0039C123.796 93.0039 124.831 93.3034 125.527 93.9023C126.23 94.5013 126.582 95.4421 126.582 96.7246V104H124.941ZM121.523 102.438C122.357 102.438 123.024 102.206 123.525 101.744C124.033 101.275 124.287 100.621 124.287 99.7812V98.8438L122.9 98.9023C121.82 98.9414 121.032 99.1237 120.537 99.4492C120.049 99.7682 119.805 100.26 119.805 100.924C119.805 101.406 119.948 101.78 120.234 102.047C120.521 102.307 120.951 102.438 121.523 102.438ZM132.08 104H129.785V88.8047H132.08V104ZM139.395 102.34C139.954 102.34 140.514 102.252 141.074 102.076V103.805C140.82 103.915 140.492 104.007 140.088 104.078C139.691 104.156 139.277 104.195 138.848 104.195C136.673 104.195 135.586 103.049 135.586 100.758V94.9375H134.111V93.9219L135.693 93.082L136.475 90.7969H137.891V93.1992H140.967V94.9375H137.891V100.719C137.891 101.272 138.027 101.682 138.301 101.949C138.581 102.21 138.945 102.34 139.395 102.34ZM152.744 104H150.439V97.3594C150.439 96.526 150.27 95.9043 149.932 95.4941C149.6 95.084 149.069 94.8789 148.34 94.8789C147.376 94.8789 146.667 95.1686 146.211 95.748C145.762 96.321 145.537 97.2845 145.537 98.6387V104H143.242V88.8047H145.537V92.6621C145.537 93.2806 145.498 93.9414 145.42 94.6445H145.566C145.879 94.1237 146.312 93.7201 146.865 93.4336C147.425 93.1471 148.076 93.0039 148.818 93.0039C151.436 93.0039 152.744 94.3223 152.744 96.959V104ZM161.377 89.7227H165.615C167.581 89.7227 169.001 90.0091 169.873 90.582C170.752 91.1549 171.191 92.0599 171.191 93.2969C171.191 94.1302 170.977 94.8236 170.547 95.377C170.117 95.9303 169.499 96.2786 168.691 96.4219V96.5195C169.694 96.7083 170.43 97.0827 170.898 97.6426C171.374 98.196 171.611 98.9479 171.611 99.8984C171.611 101.181 171.162 102.187 170.264 102.916C169.372 103.639 168.128 104 166.533 104H161.377V89.7227ZM163.711 95.6211H165.957C166.934 95.6211 167.646 95.4681 168.096 95.1621C168.545 94.8496 168.77 94.3223 168.77 93.5801C168.77 92.9095 168.525 92.4245 168.037 92.125C167.555 91.8255 166.787 91.6758 165.732 91.6758H163.711V95.6211ZM163.711 97.5156V102.037H166.191C167.168 102.037 167.904 101.852 168.398 101.48C168.9 101.103 169.15 100.51 169.15 99.7031C169.15 98.9609 168.896 98.4108 168.389 98.0527C167.881 97.6947 167.109 97.5156 166.074 97.5156H163.711ZM176.631 104H174.336V93.1992H176.631V104ZM174.199 90.3379C174.199 89.9277 174.31 89.612 174.531 89.3906C174.759 89.1693 175.081 89.0586 175.498 89.0586C175.902 89.0586 176.214 89.1693 176.436 89.3906C176.663 89.612 176.777 89.9277 176.777 90.3379C176.777 90.7285 176.663 91.0378 176.436 91.2656C176.214 91.487 175.902 91.5977 175.498 91.5977C175.081 91.5977 174.759 91.487 174.531 91.2656C174.31 91.0378 174.199 90.7285 174.199 90.3379ZM189.502 98.5801C189.502 100.344 189.049 101.721 188.145 102.711C187.24 103.701 185.98 104.195 184.365 104.195C183.356 104.195 182.464 103.967 181.689 103.512C180.915 103.056 180.319 102.402 179.902 101.549C179.486 100.696 179.277 99.7064 179.277 98.5801C179.277 96.8288 179.727 95.4616 180.625 94.4785C181.523 93.4954 182.79 93.0039 184.424 93.0039C185.986 93.0039 187.223 93.5085 188.135 94.5176C189.046 95.5202 189.502 96.8743 189.502 98.5801ZM181.641 98.5801C181.641 101.074 182.562 102.32 184.404 102.32C186.227 102.32 187.139 101.074 187.139 98.5801C187.139 96.1126 186.221 94.8789 184.385 94.8789C183.421 94.8789 182.721 95.1979 182.285 95.8359C181.855 96.474 181.641 97.3887 181.641 98.5801ZM201.25 104H198.945V97.3398C198.945 96.513 198.789 95.8978 198.477 95.4941C198.164 95.084 197.676 94.8789 197.012 94.8789C196.126 94.8789 195.475 95.1686 195.059 95.748C194.648 96.321 194.443 97.278 194.443 98.6191V104H192.148V93.1992H193.945L194.268 94.6152H194.385C194.684 94.1009 195.117 93.7038 195.684 93.4238C196.257 93.1439 196.885 93.0039 197.568 93.0039C199.229 93.0039 200.329 93.5703 200.869 94.7031H201.025C201.344 94.1693 201.794 93.7526 202.373 93.4531C202.952 93.1536 203.617 93.0039 204.365 93.0039C205.654 93.0039 206.592 93.3294 207.178 93.9805C207.77 94.6315 208.066 95.6243 208.066 96.959V104H205.771V97.3398C205.771 96.513 205.612 95.8978 205.293 95.4941C204.98 95.084 204.492 94.8789 203.828 94.8789C202.936 94.8789 202.282 95.1589 201.865 95.7188C201.455 96.2721 201.25 97.125 201.25 98.2773V104ZM218.027 104L217.568 102.496H217.49C216.969 103.154 216.445 103.603 215.918 103.844C215.391 104.078 214.714 104.195 213.887 104.195C212.826 104.195 211.995 103.909 211.396 103.336C210.804 102.763 210.508 101.952 210.508 100.904C210.508 99.791 210.921 98.9512 211.748 98.3848C212.575 97.8184 213.835 97.5091 215.527 97.457L217.393 97.3984V96.8223C217.393 96.1322 217.23 95.6178 216.904 95.2793C216.585 94.9342 216.087 94.7617 215.41 94.7617C214.857 94.7617 214.326 94.8431 213.818 95.0059C213.311 95.1686 212.822 95.3607 212.354 95.582L211.611 93.9414C212.197 93.6354 212.839 93.4043 213.535 93.248C214.232 93.0853 214.889 93.0039 215.508 93.0039C216.882 93.0039 217.917 93.3034 218.613 93.9023C219.316 94.5013 219.668 95.4421 219.668 96.7246V104H218.027ZM214.609 102.438C215.443 102.438 216.11 102.206 216.611 101.744C217.119 101.275 217.373 100.621 217.373 99.7812V98.8438L215.986 98.9023C214.906 98.9414 214.118 99.1237 213.623 99.4492C213.135 99.7682 212.891 100.26 212.891 100.924C212.891 101.406 213.034 101.78 213.32 102.047C213.607 102.307 214.036 102.438 214.609 102.438ZM228.35 93.0039C228.812 93.0039 229.193 93.0365 229.492 93.1016L229.268 95.2402C228.942 95.1621 228.604 95.123 228.252 95.123C227.334 95.123 226.589 95.4225 226.016 96.0215C225.449 96.6204 225.166 97.3984 225.166 98.3555V104H222.871V93.1992H224.668L224.971 95.1035H225.088C225.446 94.459 225.911 93.9479 226.484 93.5703C227.064 93.1927 227.686 93.0039 228.35 93.0039ZM233.721 98.2969L235.02 96.6758L238.281 93.1992H240.928L236.582 97.8379L241.201 104H238.506L235.039 99.2637L233.779 100.299V104H231.504V88.8047H233.779V96.2168L233.662 98.2969H233.721ZM247.666 104.195C245.986 104.195 244.671 103.707 243.721 102.73C242.777 101.747 242.305 100.396 242.305 98.6777C242.305 96.9134 242.744 95.5267 243.623 94.5176C244.502 93.5085 245.71 93.0039 247.246 93.0039C248.672 93.0039 249.798 93.4368 250.625 94.3027C251.452 95.1686 251.865 96.36 251.865 97.877V99.1172H244.668C244.701 100.165 244.984 100.973 245.518 101.539C246.051 102.099 246.803 102.379 247.773 102.379C248.411 102.379 249.004 102.32 249.551 102.203C250.104 102.079 250.697 101.878 251.328 101.598V103.463C250.768 103.73 250.202 103.919 249.629 104.029C249.056 104.14 248.402 104.195 247.666 104.195ZM247.246 94.7422C246.517 94.7422 245.931 94.9733 245.488 95.4355C245.052 95.8978 244.792 96.5716 244.707 97.457H249.609C249.596 96.5651 249.382 95.8913 248.965 95.4355C248.548 94.9733 247.975 94.7422 247.246 94.7422ZM259.951 93.0039C260.413 93.0039 260.794 93.0365 261.094 93.1016L260.869 95.2402C260.544 95.1621 260.205 95.123 259.854 95.123C258.936 95.123 258.19 95.4225 257.617 96.0215C257.051 96.6204 256.768 97.3984 256.768 98.3555V104H254.473V93.1992H256.27L256.572 95.1035H256.689C257.048 94.459 257.513 93.9479 258.086 93.5703C258.665 93.1927 259.287 93.0039 259.951 93.0039ZM270.361 100.924C270.361 101.979 269.977 102.789 269.209 103.355C268.441 103.915 267.34 104.195 265.908 104.195C264.469 104.195 263.314 103.977 262.441 103.541V101.559C263.711 102.145 264.893 102.438 265.986 102.438C267.399 102.438 268.105 102.011 268.105 101.158C268.105 100.885 268.027 100.657 267.871 100.475C267.715 100.292 267.458 100.104 267.1 99.9082C266.742 99.7129 266.243 99.4915 265.605 99.2441C264.362 98.7624 263.519 98.2806 263.076 97.7988C262.64 97.3171 262.422 96.6921 262.422 95.9238C262.422 94.9993 262.793 94.2832 263.535 93.7754C264.284 93.2611 265.299 93.0039 266.582 93.0039C267.852 93.0039 269.053 93.2611 270.186 93.7754L269.443 95.5039C268.278 95.0221 267.298 94.7812 266.504 94.7812C265.293 94.7812 264.688 95.1263 264.688 95.8164C264.688 96.1549 264.844 96.4414 265.156 96.6758C265.475 96.9102 266.165 97.2324 267.227 97.6426C268.118 97.9876 268.766 98.3034 269.17 98.5898C269.574 98.8763 269.873 99.2083 270.068 99.5859C270.264 99.957 270.361 100.403 270.361 100.924Z\",\n fill: \"#091D36\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n opacity: 0.4\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M295.657 91.343C292.533 88.2192 287.468 88.2188 284.343 91.343C281.219 94.4672 281.219 99.5325 284.343 102.657C287.467 105.781 292.533 105.781 295.657 102.657C298.781 99.5325 298.781 94.4675 295.657 91.343ZM291.043 100.478C291.043 101.055 290.576 101.522 290 101.522C289.423 101.522 288.956 101.055 288.956 100.478V96.3044C288.956 95.728 289.423 95.2609 290 95.2609C290.576 95.2609 291.043 95.728 291.043 96.3044V100.478ZM289.981 94.5207C289.38 94.5207 288.979 94.095 288.992 93.5694C288.979 93.0185 289.38 92.6056 289.993 92.6056C290.607 92.6056 290.995 93.0188 291.008 93.5694C291.008 94.095 290.607 94.5207 289.981 94.5207Z\",\n fill: \"#AFBACA\"\n }))), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M339.18 388.534C287.718 337.072 287.718 253.635 339.18 202.173C390.642 150.711 474.079 150.711 525.541 202.173C577.003 253.635 577.003 337.072 525.541 388.534C474.079 439.996 390.642 439.996 339.18 388.534ZM498.08 229.634C461.784 193.337 402.937 193.337 366.64 229.634C330.344 265.93 330.344 324.777 366.64 361.074C402.937 397.37 461.784 397.37 498.08 361.074C534.377 324.777 534.377 265.93 498.08 229.634Z\",\n fill: \"#F7FAFC\",\n fillOpacity: 0.29\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M368.902 410.771C352.691 401.839 338.543 389.592 327.38 374.828C316.217 360.064 308.289 343.114 304.114 325.082C299.938 307.05 299.608 288.34 303.145 270.172C306.682 252.004 314.007 234.784 324.642 219.636L356.476 241.985C348.98 252.662 343.817 264.799 341.324 277.605C338.831 290.41 339.064 303.597 342.007 316.307C344.95 329.017 350.538 340.964 358.406 351.37C366.274 361.777 376.246 370.409 387.672 376.704L368.902 410.771Z\",\n fill: \"#E2E5EA\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M324.548 219.77C341.276 195.88 365.456 178.214 393.3 169.54L404.752 206.303C385.044 212.442 367.929 224.946 356.09 241.855L324.548 219.77Z\",\n fill: \"#E6EAF0\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M558.467 336.477C552.381 355.008 542.256 371.956 528.825 386.099C515.394 400.242 498.99 411.227 480.799 418.261C462.607 425.296 443.08 428.204 423.628 426.777C404.176 425.349 385.283 419.622 368.313 410.007L387.408 376.304C399.39 383.093 412.729 387.137 426.463 388.145C440.197 389.152 453.984 387.099 466.828 382.132C479.672 377.165 491.254 369.41 500.737 359.424C510.22 349.438 517.368 337.472 521.666 324.389L558.467 336.477Z\",\n fill: \"#D9DDE5\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M433.306 163.577C454.142 163.577 474.682 168.518 493.238 177.994C511.795 187.47 527.84 201.212 540.056 218.091C552.273 234.97 560.313 254.506 563.516 275.095C566.719 295.683 564.995 316.738 558.484 336.531L521.311 324.303C525.888 310.387 527.1 295.585 524.848 281.111C522.596 266.636 516.944 252.902 508.355 241.035C499.767 229.168 488.487 219.508 475.441 212.845C462.395 206.183 447.955 202.709 433.306 202.709L433.306 163.577Z\",\n fill: \"#C7CDD7\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 87,\n y: 223,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 87,\n y: 260,\n width: 109,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 87,\n y: 297,\n width: 109,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 87,\n y: 334,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_11075:238660\",\n x: 0,\n y: 0,\n width: 668,\n height: 584,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 7\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 30\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.65875 0 0 0 0 0.67735 0 0 0 0 0.775 0 0 0 0.12 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_11075:238660\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_11075:238660\",\n result: \"shape\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyHealthBiomarkers, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyHealthBiomarkers.d68776f1.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _rect2, _rect3, _rect4, _rect5, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyMobileHealthScore = function SvgEmptyMobileHealthScore(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 343,\n height: 422,\n viewBox: \"0 0 343 422\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 422,\n rx: 2,\n fill: \"#EFF1F4\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M29.1445 37H26.8008V30.5645H20.2188V37H17.8848V22.7227H20.2188V28.5625H26.8008V22.7227H29.1445V37ZM37.377 37.1953C35.6973 37.1953 34.3822 36.707 33.4316 35.7305C32.4876 34.7474 32.0156 33.3965 32.0156 31.6777C32.0156 29.9134 32.4551 28.5267 33.334 27.5176C34.2129 26.5085 35.4206 26.0039 36.957 26.0039C38.3828 26.0039 39.5091 26.4368 40.3359 27.3027C41.1628 28.1686 41.5762 29.36 41.5762 30.877V32.1172H34.3789C34.4115 33.1654 34.6947 33.9727 35.2285 34.5391C35.7624 35.099 36.5143 35.3789 37.4844 35.3789C38.1224 35.3789 38.7148 35.3203 39.2617 35.2031C39.8151 35.0794 40.4076 34.8776 41.0391 34.5977V36.4629C40.4792 36.7298 39.9128 36.9186 39.3398 37.0293C38.7669 37.14 38.1126 37.1953 37.377 37.1953ZM36.957 27.7422C36.2279 27.7422 35.6419 27.9733 35.1992 28.4355C34.763 28.8978 34.5026 29.5716 34.418 30.457H39.3203C39.3073 29.5651 39.0924 28.8913 38.6758 28.4355C38.2591 27.9733 37.6862 27.7422 36.957 27.7422ZM50.9414 37L50.4824 35.4961H50.4043C49.8835 36.1536 49.3594 36.6029 48.832 36.8438C48.3047 37.0781 47.6276 37.1953 46.8008 37.1953C45.7396 37.1953 44.9095 36.9089 44.3105 36.3359C43.7181 35.763 43.4219 34.9525 43.4219 33.9043C43.4219 32.791 43.8353 31.9512 44.6621 31.3848C45.4889 30.8184 46.7487 30.5091 48.4414 30.457L50.3066 30.3984V29.8223C50.3066 29.1322 50.1439 28.6178 49.8184 28.2793C49.4993 27.9342 49.0013 27.7617 48.3242 27.7617C47.7708 27.7617 47.2402 27.8431 46.7324 28.0059C46.2246 28.1686 45.7363 28.3607 45.2676 28.582L44.5254 26.9414C45.1113 26.6354 45.7526 26.4043 46.4492 26.248C47.1458 26.0853 47.8034 26.0039 48.4219 26.0039C49.7956 26.0039 50.8307 26.3034 51.5273 26.9023C52.2305 27.5013 52.582 28.4421 52.582 29.7246V37H50.9414ZM47.5234 35.4375C48.3568 35.4375 49.0241 35.2064 49.5254 34.7441C50.0332 34.2754 50.2871 33.6211 50.2871 32.7812V31.8438L48.9004 31.9023C47.8197 31.9414 47.0319 32.1237 46.5371 32.4492C46.0488 32.7682 45.8047 33.2598 45.8047 33.9238C45.8047 34.4056 45.9479 34.7799 46.2344 35.0469C46.5208 35.3073 46.9505 35.4375 47.5234 35.4375ZM58.0801 37H55.7852V21.8047H58.0801V37ZM65.3945 35.3398C65.9544 35.3398 66.5143 35.252 67.0742 35.0762V36.8047C66.8203 36.9154 66.4915 37.0065 66.0879 37.0781C65.6908 37.1562 65.2773 37.1953 64.8477 37.1953C62.6732 37.1953 61.5859 36.0495 61.5859 33.7578V27.9375H60.1113V26.9219L61.6934 26.082L62.4746 23.7969H63.8906V26.1992H66.9668V27.9375H63.8906V33.7188C63.8906 34.2721 64.0273 34.6823 64.3008 34.9492C64.5807 35.2096 64.9453 35.3398 65.3945 35.3398ZM78.7441 37H76.4395V30.3594C76.4395 29.526 76.2702 28.9043 75.9316 28.4941C75.5996 28.084 75.069 27.8789 74.3398 27.8789C73.3763 27.8789 72.6667 28.1686 72.2109 28.748C71.7617 29.321 71.5371 30.2845 71.5371 31.6387V37H69.2422V21.8047H71.5371V25.6621C71.5371 26.2806 71.498 26.9414 71.4199 27.6445H71.5664C71.8789 27.1237 72.3118 26.7201 72.8652 26.4336C73.4251 26.1471 74.0762 26.0039 74.8184 26.0039C77.4355 26.0039 78.7441 27.3223 78.7441 29.959V37ZM95.6094 33.123C95.6094 34.3926 95.1504 35.3887 94.2324 36.1113C93.3145 36.834 92.0482 37.1953 90.4336 37.1953C88.819 37.1953 87.4974 36.9447 86.4688 36.4434V34.2363C87.1198 34.5423 87.8099 34.7832 88.5391 34.959C89.2747 35.1348 89.9583 35.2227 90.5898 35.2227C91.5143 35.2227 92.1947 35.0469 92.6309 34.6953C93.0736 34.3438 93.2949 33.8717 93.2949 33.2793C93.2949 32.7454 93.0931 32.293 92.6895 31.9219C92.2858 31.5508 91.4525 31.1113 90.1895 30.6035C88.8874 30.0762 87.9694 29.474 87.4355 28.7969C86.9017 28.1198 86.6348 27.306 86.6348 26.3555C86.6348 25.1641 87.0579 24.2266 87.9043 23.543C88.7507 22.8594 89.8867 22.5176 91.3125 22.5176C92.6797 22.5176 94.0404 22.8171 95.3945 23.416L94.6523 25.3203C93.3828 24.7865 92.25 24.5195 91.2539 24.5195C90.4987 24.5195 89.9258 24.6855 89.5352 25.0176C89.1445 25.3431 88.9492 25.776 88.9492 26.3164C88.9492 26.6875 89.0273 27.0065 89.1836 27.2734C89.3398 27.5339 89.597 27.7812 89.9551 28.0156C90.3132 28.25 90.9577 28.5592 91.8887 28.9434C92.9368 29.3796 93.7051 29.7865 94.1934 30.1641C94.6816 30.5417 95.0397 30.9681 95.2676 31.4434C95.4954 31.9186 95.6094 32.4785 95.6094 33.123ZM102.484 37.1953C100.85 37.1953 99.6068 36.7201 98.7539 35.7695C97.9076 34.8125 97.4844 33.4421 97.4844 31.6582C97.4844 29.8418 97.9271 28.4453 98.8125 27.4688C99.7044 26.4922 100.99 26.0039 102.67 26.0039C103.809 26.0039 104.835 26.2155 105.746 26.6387L105.053 28.4844C104.083 28.1068 103.282 27.918 102.65 27.918C100.782 27.918 99.8477 29.1582 99.8477 31.6387C99.8477 32.8496 100.079 33.7611 100.541 34.373C101.01 34.9785 101.693 35.2812 102.592 35.2812C103.614 35.2812 104.581 35.0273 105.492 34.5195V36.5215C105.082 36.7624 104.643 36.9349 104.174 37.0391C103.712 37.1432 103.148 37.1953 102.484 37.1953ZM117.611 31.5801C117.611 33.3444 117.159 34.7214 116.254 35.7109C115.349 36.7005 114.089 37.1953 112.475 37.1953C111.465 37.1953 110.574 36.9674 109.799 36.5117C109.024 36.056 108.428 35.4017 108.012 34.5488C107.595 33.696 107.387 32.7064 107.387 31.5801C107.387 29.8288 107.836 28.4616 108.734 27.4785C109.633 26.4954 110.899 26.0039 112.533 26.0039C114.096 26.0039 115.333 26.5085 116.244 27.5176C117.156 28.5202 117.611 29.8743 117.611 31.5801ZM109.75 31.5801C109.75 34.0736 110.671 35.3203 112.514 35.3203C114.337 35.3203 115.248 34.0736 115.248 31.5801C115.248 29.1126 114.33 27.8789 112.494 27.8789C111.531 27.8789 110.831 28.1979 110.395 28.8359C109.965 29.474 109.75 30.3887 109.75 31.5801ZM125.736 26.0039C126.199 26.0039 126.579 26.0365 126.879 26.1016L126.654 28.2402C126.329 28.1621 125.99 28.123 125.639 28.123C124.721 28.123 123.975 28.4225 123.402 29.0215C122.836 29.6204 122.553 30.3984 122.553 31.3555V37H120.258V26.1992H122.055L122.357 28.1035H122.475C122.833 27.459 123.298 26.9479 123.871 26.5703C124.451 26.1927 125.072 26.0039 125.736 26.0039ZM133.607 37.1953C131.928 37.1953 130.613 36.707 129.662 35.7305C128.718 34.7474 128.246 33.3965 128.246 31.6777C128.246 29.9134 128.686 28.5267 129.564 27.5176C130.443 26.5085 131.651 26.0039 133.188 26.0039C134.613 26.0039 135.74 26.4368 136.566 27.3027C137.393 28.1686 137.807 29.36 137.807 30.877V32.1172H130.609C130.642 33.1654 130.925 33.9727 131.459 34.5391C131.993 35.099 132.745 35.3789 133.715 35.3789C134.353 35.3789 134.945 35.3203 135.492 35.2031C136.046 35.0794 136.638 34.8776 137.27 34.5977V36.4629C136.71 36.7298 136.143 36.9186 135.57 37.0293C134.997 37.14 134.343 37.1953 133.607 37.1953ZM133.188 27.7422C132.458 27.7422 131.872 27.9733 131.43 28.4355C130.993 28.8978 130.733 29.5716 130.648 30.457H135.551C135.538 29.5651 135.323 28.8913 134.906 28.4355C134.49 27.9733 133.917 27.7422 133.188 27.7422Z\",\n fill: \"#091D36\"\n })), _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 63,\n width: 182,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 145,\n y: 100,\n width: 182,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 218,\n y: 63,\n width: 109,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 100,\n width: 109,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.0102 369.997C34.9634 321.95 34.9634 244.05 83.0102 196.003C131.057 147.957 208.957 147.957 257.003 196.003C305.05 244.05 305.05 321.95 257.003 369.997C208.957 418.043 131.057 418.043 83.0102 369.997ZM239.604 213.403C201.167 174.965 138.847 174.965 100.41 213.403C61.972 251.84 61.972 314.16 100.41 352.597C138.847 391.035 201.167 391.035 239.604 352.597C278.042 314.16 278.042 251.84 239.604 213.403Z\",\n fill: \"#E2E5EA\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M170.89 172.271C170.89 165.477 176.413 159.904 183.174 160.583C208.031 163.076 231.649 173.095 250.793 189.446C273.068 208.471 287.825 234.82 292.407 263.754C296.99 292.687 291.098 322.306 275.792 347.284C260.486 372.261 236.77 390.958 208.909 400.01C181.049 409.063 150.872 407.877 123.808 396.667C96.7437 385.456 74.5674 364.957 61.2681 338.855C47.9688 312.754 44.4192 282.764 51.2578 254.279C57.1351 229.798 70.3535 207.811 88.9976 191.182C94.0687 186.66 101.812 187.922 105.806 193.419C109.799 198.916 108.517 206.558 103.56 211.206C89.6021 224.297 79.693 241.243 75.1843 260.023C69.7134 282.811 72.5531 306.803 83.1925 327.684C93.832 348.565 111.573 364.965 133.224 373.933C154.876 382.902 179.017 383.85 201.305 376.608C223.594 369.366 242.567 354.409 254.812 334.427C267.057 314.445 271.77 290.75 268.104 267.603C264.438 244.456 252.633 223.377 234.812 208.157C220.126 195.614 202.149 187.728 183.162 185.342C176.42 184.495 170.89 179.066 170.89 172.271Z\",\n fill: \"#C7CDD7\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyMobileHealthScore, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyMobileHealthScore.404779a3.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyMobileLabs = function SvgEmptyMobileLabs(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 343,\n height: 500,\n viewBox: \"0 0 343 500\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1345_16486)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 500,\n rx: 2,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8848 37V22.7227H20.2188V34.998H26.2637V37H17.8848ZM35.2383 37L34.7793 35.4961H34.7012C34.1803 36.1536 33.6562 36.6029 33.1289 36.8438C32.6016 37.0781 31.9245 37.1953 31.0977 37.1953C30.0365 37.1953 29.2064 36.9089 28.6074 36.3359C28.015 35.763 27.7188 34.9525 27.7188 33.9043C27.7188 32.791 28.1322 31.9512 28.959 31.3848C29.7858 30.8184 31.0456 30.5091 32.7383 30.457L34.6035 30.3984V29.8223C34.6035 29.1322 34.4408 28.6178 34.1152 28.2793C33.7962 27.9342 33.2982 27.7617 32.6211 27.7617C32.0677 27.7617 31.5371 27.8431 31.0293 28.0059C30.5215 28.1686 30.0332 28.3607 29.5645 28.582L28.8223 26.9414C29.4082 26.6354 30.0495 26.4043 30.7461 26.248C31.4427 26.0853 32.1003 26.0039 32.7188 26.0039C34.0924 26.0039 35.1276 26.3034 35.8242 26.9023C36.5273 27.5013 36.8789 28.4421 36.8789 29.7246V37H35.2383ZM31.8203 35.4375C32.6536 35.4375 33.321 35.2064 33.8223 34.7441C34.3301 34.2754 34.584 33.6211 34.584 32.7812V31.8438L33.1973 31.9023C32.1165 31.9414 31.3288 32.1237 30.834 32.4492C30.3457 32.7682 30.1016 33.2598 30.1016 33.9238C30.1016 34.4056 30.2448 34.7799 30.5312 35.0469C30.8177 35.3073 31.2474 35.4375 31.8203 35.4375ZM45.5996 26.0039C46.9473 26.0039 47.9954 26.4922 48.7441 27.4688C49.4993 28.4453 49.877 29.8158 49.877 31.5801C49.877 33.3509 49.4961 34.7311 48.7344 35.7207C47.9727 36.7038 46.9147 37.1953 45.5605 37.1953C44.1934 37.1953 43.1322 36.7038 42.377 35.7207H42.2207L41.8008 37H40.082V21.8047H42.377V25.418C42.377 25.6849 42.3639 26.082 42.3379 26.6094C42.3118 27.1367 42.2923 27.472 42.2793 27.6152H42.377C43.1061 26.541 44.1803 26.0039 45.5996 26.0039ZM45.0039 27.8789C44.0794 27.8789 43.4121 28.1523 43.002 28.6992C42.5983 29.2396 42.39 30.1478 42.377 31.4238V31.5801C42.377 32.8952 42.5853 33.849 43.002 34.4414C43.4186 35.0273 44.099 35.3203 45.043 35.3203C45.8568 35.3203 46.472 34.998 46.8887 34.3535C47.3118 33.709 47.5234 32.778 47.5234 31.5605C47.5234 29.1061 46.6836 27.8789 45.0039 27.8789ZM59.7988 33.9238C59.7988 34.9785 59.4147 35.7891 58.6465 36.3555C57.8783 36.9154 56.778 37.1953 55.3457 37.1953C53.9069 37.1953 52.7513 36.9772 51.8789 36.541V34.5586C53.1484 35.1445 54.3301 35.4375 55.4238 35.4375C56.8366 35.4375 57.543 35.0111 57.543 34.1582C57.543 33.8848 57.4648 33.6569 57.3086 33.4746C57.1523 33.2923 56.8952 33.1035 56.5371 32.9082C56.179 32.7129 55.681 32.4915 55.043 32.2441C53.7995 31.7624 52.9564 31.2806 52.5137 30.7988C52.0775 30.3171 51.8594 29.6921 51.8594 28.9238C51.8594 27.9993 52.2305 27.2832 52.9727 26.7754C53.7214 26.2611 54.737 26.0039 56.0195 26.0039C57.2891 26.0039 58.4902 26.2611 59.623 26.7754L58.8809 28.5039C57.7155 28.0221 56.7357 27.7812 55.9414 27.7812C54.7305 27.7812 54.125 28.1263 54.125 28.8164C54.125 29.1549 54.2812 29.4414 54.5938 29.6758C54.9128 29.9102 55.6029 30.2324 56.6641 30.6426C57.556 30.9876 58.2038 31.3034 58.6074 31.5898C59.0111 31.8763 59.3105 32.2083 59.5059 32.5859C59.7012 32.957 59.7988 33.403 59.7988 33.9238Z\",\n fill: \"#091D36\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 91C16 89.8954 16.8954 89 18 89H325C326.105 89 327 89.8954 327 91V101C327 102.105 326.105 103 325 103H18C16.8954 103 16 102.105 16 101V91Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 89H223C224.105 89 225 89.8954 225 91V101C225 102.105 224.105 103 223 103H171V89Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 63,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 63,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 145C16 143.895 16.8954 143 18 143H325C326.105 143 327 143.895 327 145V155C327 156.105 326.105 157 325 157H18C16.8954 157 16 156.105 16 155V145Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 143H148C146.895 143 146 143.895 146 145V155C146 156.105 146.895 157 148 157H171V143Z\",\n fill: \"#DADFE7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 117,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 117,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 199C16 197.895 16.8954 197 18 197H325C326.105 197 327 197.895 327 199V209C327 210.105 326.105 211 325 211H18C16.8954 211 16 210.105 16 209V199Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 197H211C212.105 197 213 197.895 213 199V209C213 210.105 212.105 211 211 211H171V197Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 171,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 171,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 253C16 251.895 16.8954 251 18 251H325C326.105 251 327 251.895 327 253V263C327 264.105 326.105 265 325 265H18C16.8954 265 16 264.105 16 263V253Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M172 251H105C103.895 251 103 251.895 103 253V263C103 264.105 103.895 265 105 265H172V251Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 225,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 225,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 307C16 305.895 16.8954 305 18 305H325C326.105 305 327 305.895 327 307V317C327 318.105 326.105 319 325 319H18C16.8954 319 16 318.105 16 317V307Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 305H191C192.105 305 193 305.895 193 307V317C193 318.105 192.105 319 191 319H171V305Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 279,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 279,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 361C16 359.895 16.8954 359 18 359H325C326.105 359 327 359.895 327 361V371C327 372.105 326.105 373 325 373H18C16.8954 373 16 372.105 16 371V361Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 359H237C238.105 359 239 359.895 239 361V371C239 372.105 238.105 373 237 373H171V359Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 333,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 333,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 415C16 413.895 16.8954 413 18 413H325C326.105 413 327 413.895 327 415V425C327 426.105 326.105 427 325 427H18C16.8954 427 16 426.105 16 425V415Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 413H67C65.8954 413 65 413.895 65 415V425C65 426.105 65.8954 427 67 427H171V413Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 387,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 387,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 469C16 467.895 16.8954 467 18 467H325C326.105 467 327 467.895 327 469V479C327 480.105 326.105 481 325 481H18C16.8954 481 16 480.105 16 479V469Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 467H275C276.105 467 277 467.895 277 469V479C277 480.105 276.105 481 275 481H171V467Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 441,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 441,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n y: 470,\n width: 343,\n height: 30,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 343,\n y1: 470.5,\n y2: 470.5,\n stroke: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M172.811 481.047V492.846H171.71V481.047H172.811Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.4053 486.092V487.404H57.7891V486.092H61.4053Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.384 485.545V487.028H278.562V485.545H285.384ZM282.772 482.756V490.002H281.18V482.756H282.772Z\",\n fill: \"#7C8A9D\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1345_16486\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 500,\n rx: 2,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyMobileLabs, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyMobileLabs.3971c854.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyMobileBiomarkers = function SvgEmptyMobileBiomarkers(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 343,\n height: 315,\n viewBox: \"0 0 343 315\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1345_16543)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 315,\n rx: 2,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8848 22.7227H22.123C24.0892 22.7227 25.5085 23.0091 26.3809 23.582C27.2598 24.1549 27.6992 25.0599 27.6992 26.2969C27.6992 27.1302 27.4844 27.8236 27.0547 28.377C26.625 28.9303 26.0065 29.2786 25.1992 29.4219V29.5195C26.2018 29.7083 26.9375 30.0827 27.4062 30.6426C27.8815 31.196 28.1191 31.9479 28.1191 32.8984C28.1191 34.181 27.6699 35.1868 26.7715 35.916C25.8796 36.6387 24.6361 37 23.041 37H17.8848V22.7227ZM20.2188 28.6211H22.4648C23.4414 28.6211 24.1543 28.4681 24.6035 28.1621C25.0527 27.8496 25.2773 27.3223 25.2773 26.5801C25.2773 25.9095 25.0332 25.4245 24.5449 25.125C24.0632 24.8255 23.2949 24.6758 22.2402 24.6758H20.2188V28.6211ZM20.2188 30.5156V35.0371H22.6992C23.6758 35.0371 24.4115 34.8516 24.9062 34.4805C25.4076 34.1029 25.6582 33.5104 25.6582 32.7031C25.6582 31.9609 25.4043 31.4108 24.8965 31.0527C24.3887 30.6947 23.6172 30.5156 22.582 30.5156H20.2188ZM33.1387 37H30.8438V26.1992H33.1387V37ZM30.707 23.3379C30.707 22.9277 30.8177 22.612 31.0391 22.3906C31.2669 22.1693 31.5892 22.0586 32.0059 22.0586C32.4095 22.0586 32.722 22.1693 32.9434 22.3906C33.1712 22.612 33.2852 22.9277 33.2852 23.3379C33.2852 23.7285 33.1712 24.0378 32.9434 24.2656C32.722 24.487 32.4095 24.5977 32.0059 24.5977C31.5892 24.5977 31.2669 24.487 31.0391 24.2656C30.8177 24.0378 30.707 23.7285 30.707 23.3379ZM46.0098 31.5801C46.0098 33.3444 45.5573 34.7214 44.6523 35.7109C43.7474 36.7005 42.4876 37.1953 40.873 37.1953C39.8639 37.1953 38.972 36.9674 38.1973 36.5117C37.4225 36.056 36.8268 35.4017 36.4102 34.5488C35.9935 33.696 35.7852 32.7064 35.7852 31.5801C35.7852 29.8288 36.2344 28.4616 37.1328 27.4785C38.0312 26.4954 39.2975 26.0039 40.9316 26.0039C42.4941 26.0039 43.7311 26.5085 44.6426 27.5176C45.554 28.5202 46.0098 29.8743 46.0098 31.5801ZM38.1484 31.5801C38.1484 34.0736 39.0697 35.3203 40.9121 35.3203C42.735 35.3203 43.6465 34.0736 43.6465 31.5801C43.6465 29.1126 42.7285 27.8789 40.8926 27.8789C39.929 27.8789 39.2292 28.1979 38.793 28.8359C38.3633 29.474 38.1484 30.3887 38.1484 31.5801ZM57.7578 37H55.4531V30.3398C55.4531 29.513 55.2969 28.8978 54.9844 28.4941C54.6719 28.084 54.1836 27.8789 53.5195 27.8789C52.6341 27.8789 51.9831 28.1686 51.5664 28.748C51.1562 29.321 50.9512 30.278 50.9512 31.6191V37H48.6562V26.1992H50.4531L50.7754 27.6152H50.8926C51.1921 27.1009 51.625 26.7038 52.1914 26.4238C52.7643 26.1439 53.3926 26.0039 54.0762 26.0039C55.7363 26.0039 56.8366 26.5703 57.377 27.7031H57.5332C57.8522 27.1693 58.3014 26.7526 58.8809 26.4531C59.4603 26.1536 60.1243 26.0039 60.873 26.0039C62.1621 26.0039 63.0996 26.3294 63.6855 26.9805C64.278 27.6315 64.5742 28.6243 64.5742 29.959V37H62.2793V30.3398C62.2793 29.513 62.1198 28.8978 61.8008 28.4941C61.4883 28.084 61 27.8789 60.3359 27.8789C59.444 27.8789 58.7897 28.1589 58.373 28.7188C57.9629 29.2721 57.7578 30.125 57.7578 31.2773V37ZM74.5352 37L74.0762 35.4961H73.998C73.4772 36.1536 72.9531 36.6029 72.4258 36.8438C71.8984 37.0781 71.2214 37.1953 70.3945 37.1953C69.3333 37.1953 68.5033 36.9089 67.9043 36.3359C67.3118 35.763 67.0156 34.9525 67.0156 33.9043C67.0156 32.791 67.429 31.9512 68.2559 31.3848C69.0827 30.8184 70.3424 30.5091 72.0352 30.457L73.9004 30.3984V29.8223C73.9004 29.1322 73.7376 28.6178 73.4121 28.2793C73.0931 27.9342 72.5951 27.7617 71.918 27.7617C71.3646 27.7617 70.834 27.8431 70.3262 28.0059C69.8184 28.1686 69.3301 28.3607 68.8613 28.582L68.1191 26.9414C68.7051 26.6354 69.3464 26.4043 70.043 26.248C70.7396 26.0853 71.3971 26.0039 72.0156 26.0039C73.3893 26.0039 74.4245 26.3034 75.1211 26.9023C75.8242 27.5013 76.1758 28.4421 76.1758 29.7246V37H74.5352ZM71.1172 35.4375C71.9505 35.4375 72.6178 35.2064 73.1191 34.7441C73.627 34.2754 73.8809 33.6211 73.8809 32.7812V31.8438L72.4941 31.9023C71.4134 31.9414 70.6257 32.1237 70.1309 32.4492C69.6426 32.7682 69.3984 33.2598 69.3984 33.9238C69.3984 34.4056 69.5417 34.7799 69.8281 35.0469C70.1146 35.3073 70.5443 35.4375 71.1172 35.4375ZM84.8574 26.0039C85.3197 26.0039 85.7005 26.0365 86 26.1016L85.7754 28.2402C85.4499 28.1621 85.1113 28.123 84.7598 28.123C83.8418 28.123 83.0964 28.4225 82.5234 29.0215C81.957 29.6204 81.6738 30.3984 81.6738 31.3555V37H79.3789V26.1992H81.1758L81.4785 28.1035H81.5957C81.9538 27.459 82.4193 26.9479 82.9922 26.5703C83.5716 26.1927 84.1934 26.0039 84.8574 26.0039ZM90.2285 31.2969L91.5273 29.6758L94.7891 26.1992H97.4355L93.0898 30.8379L97.709 37H95.0137L91.5469 32.2637L90.2871 33.2988V37H88.0117V21.8047H90.2871V29.2168L90.1699 31.2969H90.2285ZM104.174 37.1953C102.494 37.1953 101.179 36.707 100.229 35.7305C99.2845 34.7474 98.8125 33.3965 98.8125 31.6777C98.8125 29.9134 99.252 28.5267 100.131 27.5176C101.01 26.5085 102.217 26.0039 103.754 26.0039C105.18 26.0039 106.306 26.4368 107.133 27.3027C107.96 28.1686 108.373 29.36 108.373 30.877V32.1172H101.176C101.208 33.1654 101.492 33.9727 102.025 34.5391C102.559 35.099 103.311 35.3789 104.281 35.3789C104.919 35.3789 105.512 35.3203 106.059 35.2031C106.612 35.0794 107.204 34.8776 107.836 34.5977V36.4629C107.276 36.7298 106.71 36.9186 106.137 37.0293C105.564 37.14 104.91 37.1953 104.174 37.1953ZM103.754 27.7422C103.025 27.7422 102.439 27.9733 101.996 28.4355C101.56 28.8978 101.299 29.5716 101.215 30.457H106.117C106.104 29.5651 105.889 28.8913 105.473 28.4355C105.056 27.9733 104.483 27.7422 103.754 27.7422ZM116.459 26.0039C116.921 26.0039 117.302 26.0365 117.602 26.1016L117.377 28.2402C117.051 28.1621 116.713 28.123 116.361 28.123C115.443 28.123 114.698 28.4225 114.125 29.0215C113.559 29.6204 113.275 30.3984 113.275 31.3555V37H110.98V26.1992H112.777L113.08 28.1035H113.197C113.555 27.459 114.021 26.9479 114.594 26.5703C115.173 26.1927 115.795 26.0039 116.459 26.0039ZM126.869 33.9238C126.869 34.9785 126.485 35.7891 125.717 36.3555C124.949 36.9154 123.848 37.1953 122.416 37.1953C120.977 37.1953 119.822 36.9772 118.949 36.541V34.5586C120.219 35.1445 121.4 35.4375 122.494 35.4375C123.907 35.4375 124.613 35.0111 124.613 34.1582C124.613 33.8848 124.535 33.6569 124.379 33.4746C124.223 33.2923 123.965 33.1035 123.607 32.9082C123.249 32.7129 122.751 32.4915 122.113 32.2441C120.87 31.7624 120.027 31.2806 119.584 30.7988C119.148 30.3171 118.93 29.6921 118.93 28.9238C118.93 27.9993 119.301 27.2832 120.043 26.7754C120.792 26.2611 121.807 26.0039 123.09 26.0039C124.359 26.0039 125.561 26.2611 126.693 26.7754L125.951 28.5039C124.786 28.0221 123.806 27.7812 123.012 27.7812C121.801 27.7812 121.195 28.1263 121.195 28.8164C121.195 29.1549 121.352 29.4414 121.664 29.6758C121.983 29.9102 122.673 30.2324 123.734 30.6426C124.626 30.9876 125.274 31.3034 125.678 31.5898C126.081 31.8763 126.381 32.2083 126.576 32.5859C126.771 32.957 126.869 33.403 126.869 33.9238Z\",\n fill: \"#091D36\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n y: 285,\n width: 343,\n height: 30,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 343,\n y1: 285.5,\n y2: 285.5,\n stroke: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M172.811 296.047V307.846H171.71V296.047H172.811Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.4053 301.092V302.404H57.7891V301.092H61.4053Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.384 300.545V302.028H278.562V300.545H285.384ZM282.772 297.756V305.002H281.18V297.756H282.772Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 91C16 89.8954 16.8954 89 18 89H325C326.105 89 327 89.8954 327 91V101C327 102.105 326.105 103 325 103H18C16.8954 103 16 102.105 16 101V91Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 89H223C224.105 89 225 89.8954 225 91V101C225 102.105 224.105 103 223 103H171V89Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 63,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 63,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 145C16 143.895 16.8954 143 18 143H325C326.105 143 327 143.895 327 145V155C327 156.105 326.105 157 325 157H18C16.8954 157 16 156.105 16 155V145Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 143H148C146.895 143 146 143.895 146 145V155C146 156.105 146.895 157 148 157H171V143Z\",\n fill: \"#DADFE7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 117,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 117,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 199C16 197.895 16.8954 197 18 197H325C326.105 197 327 197.895 327 199V209C327 210.105 326.105 211 325 211H18C16.8954 211 16 210.105 16 209V199Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 197H211C212.105 197 213 197.895 213 199V209C213 210.105 212.105 211 211 211H171V197Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 171,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 171,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 253C16 251.895 16.8954 251 18 251H325C326.105 251 327 251.895 327 253V263C327 264.105 326.105 265 325 265H18C16.8954 265 16 264.105 16 263V253Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 251H211C212.105 251 213 251.895 213 253V263C213 264.105 212.105 265 211 265H171V251Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 225,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 225,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1345_16543\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 315,\n rx: 2,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyMobileBiomarkers, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyMobileBiomarkers.83eaae19.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyMobileLifestyle = function SvgEmptyMobileLifestyle(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 343,\n height: 207,\n viewBox: \"0 0 343 207\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1345_16576)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 207,\n rx: 2,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.8848 37V22.7227H20.2188V34.998H26.2637V37H17.8848ZM30.7754 37H28.4805V26.1992H30.7754V37ZM28.3438 23.3379C28.3438 22.9277 28.4544 22.612 28.6758 22.3906C28.9036 22.1693 29.2259 22.0586 29.6426 22.0586C30.0462 22.0586 30.3587 22.1693 30.5801 22.3906C30.8079 22.612 30.9219 22.9277 30.9219 23.3379C30.9219 23.7285 30.8079 24.0378 30.5801 24.2656C30.3587 24.487 30.0462 24.5977 29.6426 24.5977C29.2259 24.5977 28.9036 24.487 28.6758 24.2656C28.4544 24.0378 28.3438 23.7285 28.3438 23.3379ZM39.4863 27.9375H36.8496V37H34.5449V27.9375H32.7676V26.8633L34.5449 26.1602V25.457C34.5449 24.181 34.8444 23.237 35.4434 22.625C36.0423 22.0065 36.957 21.6973 38.1875 21.6973C38.9948 21.6973 39.7891 21.8307 40.5703 22.0977L39.9648 23.8359C39.3984 23.6536 38.8581 23.5625 38.3438 23.5625C37.8229 23.5625 37.4421 23.7253 37.2012 24.0508C36.9668 24.3698 36.8496 24.8516 36.8496 25.4961V26.1992H39.4863V27.9375ZM46.0488 37.1953C44.3691 37.1953 43.054 36.707 42.1035 35.7305C41.1595 34.7474 40.6875 33.3965 40.6875 31.6777C40.6875 29.9134 41.127 28.5267 42.0059 27.5176C42.8848 26.5085 44.0924 26.0039 45.6289 26.0039C47.0547 26.0039 48.181 26.4368 49.0078 27.3027C49.8346 28.1686 50.248 29.36 50.248 30.877V32.1172H43.0508C43.0833 33.1654 43.3665 33.9727 43.9004 34.5391C44.4342 35.099 45.1862 35.3789 46.1562 35.3789C46.7943 35.3789 47.3867 35.3203 47.9336 35.2031C48.487 35.0794 49.0794 34.8776 49.7109 34.5977V36.4629C49.151 36.7298 48.5846 36.9186 48.0117 37.0293C47.4388 37.14 46.7845 37.1953 46.0488 37.1953ZM45.6289 27.7422C44.8997 27.7422 44.3138 27.9733 43.8711 28.4355C43.4349 28.8978 43.1745 29.5716 43.0898 30.457H47.9922C47.9792 29.5651 47.7643 28.8913 47.3477 28.4355C46.931 27.9733 46.3581 27.7422 45.6289 27.7422ZM60.1113 33.9238C60.1113 34.9785 59.7272 35.7891 58.959 36.3555C58.1908 36.9154 57.0905 37.1953 55.6582 37.1953C54.2194 37.1953 53.0638 36.9772 52.1914 36.541V34.5586C53.4609 35.1445 54.6426 35.4375 55.7363 35.4375C57.1491 35.4375 57.8555 35.0111 57.8555 34.1582C57.8555 33.8848 57.7773 33.6569 57.6211 33.4746C57.4648 33.2923 57.2077 33.1035 56.8496 32.9082C56.4915 32.7129 55.9935 32.4915 55.3555 32.2441C54.112 31.7624 53.2689 31.2806 52.8262 30.7988C52.39 30.3171 52.1719 29.6921 52.1719 28.9238C52.1719 27.9993 52.543 27.2832 53.2852 26.7754C54.0339 26.2611 55.0495 26.0039 56.332 26.0039C57.6016 26.0039 58.8027 26.2611 59.9355 26.7754L59.1934 28.5039C58.028 28.0221 57.0482 27.7812 56.2539 27.7812C55.043 27.7812 54.4375 28.1263 54.4375 28.8164C54.4375 29.1549 54.5938 29.4414 54.9062 29.6758C55.2253 29.9102 55.9154 30.2324 56.9766 30.6426C57.8685 30.9876 58.5163 31.3034 58.9199 31.5898C59.3236 31.8763 59.623 32.2083 59.8184 32.5859C60.0137 32.957 60.1113 33.403 60.1113 33.9238ZM66.625 35.3398C67.1849 35.3398 67.7448 35.252 68.3047 35.0762V36.8047C68.0508 36.9154 67.722 37.0065 67.3184 37.0781C66.9212 37.1562 66.5078 37.1953 66.0781 37.1953C63.9036 37.1953 62.8164 36.0495 62.8164 33.7578V27.9375H61.3418V26.9219L62.9238 26.082L63.7051 23.7969H65.1211V26.1992H68.1973V27.9375H65.1211V33.7188C65.1211 34.2721 65.2578 34.6823 65.5312 34.9492C65.8112 35.2096 66.1758 35.3398 66.625 35.3398ZM68.832 26.1992H71.332L73.5293 32.3223C73.8613 33.1947 74.0827 34.015 74.1934 34.7832H74.2715C74.3301 34.4251 74.4375 33.9922 74.5938 33.4844C74.75 32.9701 75.5768 30.5417 77.0742 26.1992H79.5547L74.9355 38.4355C74.0957 40.6816 72.696 41.8047 70.7363 41.8047C70.2285 41.8047 69.7337 41.7493 69.252 41.6387V39.8223C69.597 39.9004 69.9909 39.9395 70.4336 39.9395C71.5404 39.9395 72.3184 39.2982 72.7676 38.0156L73.168 37L68.832 26.1992ZM83.4902 37H81.1953V21.8047H83.4902V37ZM91.498 37.1953C89.8184 37.1953 88.5033 36.707 87.5527 35.7305C86.6087 34.7474 86.1367 33.3965 86.1367 31.6777C86.1367 29.9134 86.5762 28.5267 87.4551 27.5176C88.334 26.5085 89.5417 26.0039 91.0781 26.0039C92.5039 26.0039 93.6302 26.4368 94.457 27.3027C95.2839 28.1686 95.6973 29.36 95.6973 30.877V32.1172H88.5C88.5326 33.1654 88.8158 33.9727 89.3496 34.5391C89.8835 35.099 90.6354 35.3789 91.6055 35.3789C92.2435 35.3789 92.8359 35.3203 93.3828 35.2031C93.9362 35.0794 94.5286 34.8776 95.1602 34.5977V36.4629C94.6003 36.7298 94.0339 36.9186 93.4609 37.0293C92.888 37.14 92.2337 37.1953 91.498 37.1953ZM91.0781 27.7422C90.349 27.7422 89.763 27.9733 89.3203 28.4355C88.8841 28.8978 88.6237 29.5716 88.5391 30.457H93.4414C93.4284 29.5651 93.2135 28.8913 92.7969 28.4355C92.3802 27.9733 91.8073 27.7422 91.0781 27.7422Z\",\n fill: \"#091D36\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n y: 177,\n width: 343,\n height: 30,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 343,\n y1: 177.5,\n y2: 177.5,\n stroke: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M172.811 188.047V199.846H171.71V188.047H172.811Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.4053 193.092V194.404H57.7891V193.092H61.4053Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.384 192.545V194.028H278.562V192.545H285.384ZM282.772 189.756V197.002H281.18V189.756H282.772Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 91C16 89.8954 16.8954 89 18 89H325C326.105 89 327 89.8954 327 91V101C327 102.105 326.105 103 325 103H18C16.8954 103 16 102.105 16 101V91Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 89H223C224.105 89 225 89.8954 225 91V101C225 102.105 224.105 103 223 103H171V89Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 63,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 63,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 145C16 143.895 16.8954 143 18 143H325C326.105 143 327 143.895 327 145V155C327 156.105 326.105 157 325 157H18C16.8954 157 16 156.105 16 155V145Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 143H148C146.895 143 146 143.895 146 145V155C146 156.105 146.895 157 148 157H171V143Z\",\n fill: \"#DADFE7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 117,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 117,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1345_16576\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 207,\n rx: 2,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyMobileLifestyle, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyMobileLifestyle.46ac3bd5.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEmptyMobileRiskScores = function SvgEmptyMobileRiskScores(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 343,\n height: 237,\n viewBox: \"0 0 343 237\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1345_16597)\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 237,\n rx: 2,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.2188 29.3633H21.8398C22.9271 29.3633 23.7148 29.1615 24.2031 28.7578C24.6914 28.3542 24.9355 27.7552 24.9355 26.9609C24.9355 26.1536 24.6719 25.5742 24.1445 25.2227C23.6172 24.8711 22.8229 24.6953 21.7617 24.6953H20.2188V29.3633ZM20.2188 31.2969V37H17.8848V22.7227H21.918C23.7604 22.7227 25.1243 23.0677 26.0098 23.7578C26.8952 24.4479 27.3379 25.4896 27.3379 26.8828C27.3379 28.6602 26.4134 29.9264 24.5645 30.6816L28.5977 37H25.9414L22.5234 31.2969H20.2188ZM32.7285 37H30.4336V26.1992H32.7285V37ZM30.2969 23.3379C30.2969 22.9277 30.4076 22.612 30.6289 22.3906C30.8568 22.1693 31.179 22.0586 31.5957 22.0586C31.9993 22.0586 32.3118 22.1693 32.5332 22.3906C32.7611 22.612 32.875 22.9277 32.875 23.3379C32.875 23.7285 32.7611 24.0378 32.5332 24.2656C32.3118 24.487 31.9993 24.5977 31.5957 24.5977C31.179 24.5977 30.8568 24.487 30.6289 24.2656C30.4076 24.0378 30.2969 23.7285 30.2969 23.3379ZM43.2754 33.9238C43.2754 34.9785 42.8913 35.7891 42.123 36.3555C41.3548 36.9154 40.2546 37.1953 38.8223 37.1953C37.3835 37.1953 36.2279 36.9772 35.3555 36.541V34.5586C36.625 35.1445 37.8066 35.4375 38.9004 35.4375C40.3132 35.4375 41.0195 35.0111 41.0195 34.1582C41.0195 33.8848 40.9414 33.6569 40.7852 33.4746C40.6289 33.2923 40.3717 33.1035 40.0137 32.9082C39.6556 32.7129 39.1576 32.4915 38.5195 32.2441C37.276 31.7624 36.4329 31.2806 35.9902 30.7988C35.554 30.3171 35.3359 29.6921 35.3359 28.9238C35.3359 27.9993 35.707 27.2832 36.4492 26.7754C37.1979 26.2611 38.2135 26.0039 39.4961 26.0039C40.7656 26.0039 41.9668 26.2611 43.0996 26.7754L42.3574 28.5039C41.1921 28.0221 40.2122 27.7812 39.418 27.7812C38.207 27.7812 37.6016 28.1263 37.6016 28.8164C37.6016 29.1549 37.7578 29.4414 38.0703 29.6758C38.3893 29.9102 39.0794 30.2324 40.1406 30.6426C41.0326 30.9876 41.6803 31.3034 42.084 31.5898C42.4876 31.8763 42.7871 32.2083 42.9824 32.5859C43.1777 32.957 43.2754 33.403 43.2754 33.9238ZM47.9824 31.2969L49.2812 29.6758L52.543 26.1992H55.1895L50.8438 30.8379L55.4629 37H52.7676L49.3008 32.2637L48.041 33.2988V37H45.7656V21.8047H48.041V29.2168L47.9238 31.2969H47.9824ZM70.8828 33.123C70.8828 34.3926 70.4238 35.3887 69.5059 36.1113C68.5879 36.834 67.3216 37.1953 65.707 37.1953C64.0924 37.1953 62.7708 36.9447 61.7422 36.4434V34.2363C62.3932 34.5423 63.0833 34.7832 63.8125 34.959C64.5482 35.1348 65.2318 35.2227 65.8633 35.2227C66.7878 35.2227 67.4681 35.0469 67.9043 34.6953C68.347 34.3438 68.5684 33.8717 68.5684 33.2793C68.5684 32.7454 68.3665 32.293 67.9629 31.9219C67.5592 31.5508 66.7259 31.1113 65.4629 30.6035C64.1608 30.0762 63.2428 29.474 62.709 28.7969C62.1751 28.1198 61.9082 27.306 61.9082 26.3555C61.9082 25.1641 62.3314 24.2266 63.1777 23.543C64.0241 22.8594 65.1602 22.5176 66.5859 22.5176C67.9531 22.5176 69.3138 22.8171 70.668 23.416L69.9258 25.3203C68.6562 24.7865 67.5234 24.5195 66.5273 24.5195C65.7721 24.5195 65.1992 24.6855 64.8086 25.0176C64.418 25.3431 64.2227 25.776 64.2227 26.3164C64.2227 26.6875 64.3008 27.0065 64.457 27.2734C64.6133 27.5339 64.8704 27.7812 65.2285 28.0156C65.5866 28.25 66.2311 28.5592 67.1621 28.9434C68.2103 29.3796 68.9785 29.7865 69.4668 30.1641C69.9551 30.5417 70.3132 30.9681 70.541 31.4434C70.7689 31.9186 70.8828 32.4785 70.8828 33.123ZM77.7578 37.1953C76.1237 37.1953 74.8802 36.7201 74.0273 35.7695C73.181 34.8125 72.7578 33.4421 72.7578 31.6582C72.7578 29.8418 73.2005 28.4453 74.0859 27.4688C74.9779 26.4922 76.2637 26.0039 77.9434 26.0039C79.0827 26.0039 80.1081 26.2155 81.0195 26.6387L80.3262 28.4844C79.3561 28.1068 78.5553 27.918 77.9238 27.918C76.0553 27.918 75.1211 29.1582 75.1211 31.6387C75.1211 32.8496 75.3522 33.7611 75.8145 34.373C76.2832 34.9785 76.9668 35.2812 77.8652 35.2812C78.8874 35.2812 79.8542 35.0273 80.7656 34.5195V36.5215C80.3555 36.7624 79.916 36.9349 79.4473 37.0391C78.985 37.1432 78.4219 37.1953 77.7578 37.1953ZM92.8848 31.5801C92.8848 33.3444 92.4323 34.7214 91.5273 35.7109C90.6224 36.7005 89.3626 37.1953 87.748 37.1953C86.7389 37.1953 85.847 36.9674 85.0723 36.5117C84.2975 36.056 83.7018 35.4017 83.2852 34.5488C82.8685 33.696 82.6602 32.7064 82.6602 31.5801C82.6602 29.8288 83.1094 28.4616 84.0078 27.4785C84.9062 26.4954 86.1725 26.0039 87.8066 26.0039C89.3691 26.0039 90.6061 26.5085 91.5176 27.5176C92.429 28.5202 92.8848 29.8743 92.8848 31.5801ZM85.0234 31.5801C85.0234 34.0736 85.9447 35.3203 87.7871 35.3203C89.61 35.3203 90.5215 34.0736 90.5215 31.5801C90.5215 29.1126 89.6035 27.8789 87.7676 27.8789C86.804 27.8789 86.1042 28.1979 85.668 28.8359C85.2383 29.474 85.0234 30.3887 85.0234 31.5801ZM101.01 26.0039C101.472 26.0039 101.853 26.0365 102.152 26.1016L101.928 28.2402C101.602 28.1621 101.264 28.123 100.912 28.123C99.9941 28.123 99.2487 28.4225 98.6758 29.0215C98.1094 29.6204 97.8262 30.3984 97.8262 31.3555V37H95.5312V26.1992H97.3281L97.6309 28.1035H97.748C98.1061 27.459 98.5716 26.9479 99.1445 26.5703C99.724 26.1927 100.346 26.0039 101.01 26.0039ZM108.881 37.1953C107.201 37.1953 105.886 36.707 104.936 35.7305C103.992 34.7474 103.52 33.3965 103.52 31.6777C103.52 29.9134 103.959 28.5267 104.838 27.5176C105.717 26.5085 106.924 26.0039 108.461 26.0039C109.887 26.0039 111.013 26.4368 111.84 27.3027C112.667 28.1686 113.08 29.36 113.08 30.877V32.1172H105.883C105.915 33.1654 106.199 33.9727 106.732 34.5391C107.266 35.099 108.018 35.3789 108.988 35.3789C109.626 35.3789 110.219 35.3203 110.766 35.2031C111.319 35.0794 111.911 34.8776 112.543 34.5977V36.4629C111.983 36.7298 111.417 36.9186 110.844 37.0293C110.271 37.14 109.617 37.1953 108.881 37.1953ZM108.461 27.7422C107.732 27.7422 107.146 27.9733 106.703 28.4355C106.267 28.8978 106.007 29.5716 105.922 30.457H110.824C110.811 29.5651 110.596 28.8913 110.18 28.4355C109.763 27.9733 109.19 27.7422 108.461 27.7422ZM122.943 33.9238C122.943 34.9785 122.559 35.7891 121.791 36.3555C121.023 36.9154 119.923 37.1953 118.49 37.1953C117.051 37.1953 115.896 36.9772 115.023 36.541V34.5586C116.293 35.1445 117.475 35.4375 118.568 35.4375C119.981 35.4375 120.688 35.0111 120.688 34.1582C120.688 33.8848 120.609 33.6569 120.453 33.4746C120.297 33.2923 120.04 33.1035 119.682 32.9082C119.324 32.7129 118.826 32.4915 118.188 32.2441C116.944 31.7624 116.101 31.2806 115.658 30.7988C115.222 30.3171 115.004 29.6921 115.004 28.9238C115.004 27.9993 115.375 27.2832 116.117 26.7754C116.866 26.2611 117.882 26.0039 119.164 26.0039C120.434 26.0039 121.635 26.2611 122.768 26.7754L122.025 28.5039C120.86 28.0221 119.88 27.7812 119.086 27.7812C117.875 27.7812 117.27 28.1263 117.27 28.8164C117.27 29.1549 117.426 29.4414 117.738 29.6758C118.057 29.9102 118.747 30.2324 119.809 30.6426C120.701 30.9876 121.348 31.3034 121.752 31.5898C122.156 31.8763 122.455 32.2083 122.65 32.5859C122.846 32.957 122.943 33.403 122.943 33.9238Z\",\n fill: \"#091D36\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n y: 207,\n width: 343,\n height: 30,\n fill: \"#EFF1F4\"\n }), /*#__PURE__*/React.createElement(\"line\", {\n x1: 343,\n y1: 207.5,\n y2: 207.5,\n stroke: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M172.811 218.047V229.846H171.71V218.047H172.811Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M61.4053 223.092V224.404H57.7891V223.092H61.4053Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M285.384 222.545V224.028H278.562V222.545H285.384ZM282.772 219.756V227.002H281.18V219.756H282.772Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 91C16 89.8954 16.8954 89 18 89H325C326.105 89 327 89.8954 327 91V101C327 102.105 326.105 103 325 103H18C16.8954 103 16 102.105 16 101V91Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 89H223C224.105 89 225 89.8954 225 91V101C225 102.105 224.105 103 223 103H171V89Z\",\n fill: \"#C7CDD7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 63,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 63,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16 145C16 143.895 16.8954 143 18 143H325C326.105 143 327 143.895 327 145V155C327 156.105 326.105 157 325 157H18C16.8954 157 16 156.105 16 155V145Z\",\n fill: \"#E9ECF1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M171 143H148C146.895 143 146 143.895 146 145V155C146 156.105 146.895 157 148 157H171V143Z\",\n fill: \"#DADFE7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 16,\n y: 117,\n width: 139,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 306,\n y: 117,\n width: 21,\n height: 13,\n rx: 2,\n fill: \"#DEE2E8\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1345_16597\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 343,\n height: 237,\n rx: 2,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEmptyMobileRiskScores, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/EmptyMobileRiskScores.dbb393c6.svg\";\nexport { ForwardRef as ReactComponent };","import { Store, StoreConfig } from \"@datorama/akita\";\nimport { HealthScoreModel } from \"../models/score.model\";\n\n/**\n * Represents Health core state\n */\nexport interface HealthScoreState {\n healthScore: HealthScoreModel;\n isHealthScoreAvailable: boolean;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): HealthScoreState {\n\n return {\n healthScore: null,\n isHealthScoreAvailable: false,\n };\n}\n\n/**\n * Provides Health Score states management\n */\n@StoreConfig({name: 'Health Score', resettable: true })\nexport class HealthScoreStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n}\n\nexport const healthScoreStore = new HealthScoreStore();\n","import { Query } from \"@datorama/akita\";\nimport { HealthScoreState, healthScoreStore, HealthScoreStore } from \"./score.store\";\n\n/**\n * Provides Health Score queries\n */\nexport class HealthScoreQuery extends Query {\n healthScore$ = this.select((state) => state.healthScore);\n isHealthScoreAvailable$ = this.select((state) => state.isHealthScoreAvailable);\n\n constructor(protected store: HealthScoreStore) {\n super(store);\n }\n}\n\nexport const healthScoreQuery = new HealthScoreQuery(healthScoreStore);\n","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { HealthScoreModel } from \"../models/score.model\";\nimport { HealthScoreStore, healthScoreStore } from \"../stores\";\n\nexport class HealthScoreService {\n constructor(private healthScoreStore: HealthScoreStore) {}\n \n /**\n * Returns Health Score\n */\n\n\n public getByPatient(): Observable {\n const url = `${process.env.REACT_APP_API_URL}HealthScore/Patient`;\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.healthScoreStore.update({healthScore: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n \n public getHealthScoreAvailable(): Observable {\n const url = `${process.env.REACT_APP_API_URL}HealthScore/Patient/Availability`;\n const config = {headers: authHeader()};\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.healthScoreStore.update({isHealthScoreAvailable: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getHealthScoreAvailableByEmployee(patientId: number): Observable {\n const url = `${process.env.REACT_APP_API_URL}HealthScore/Patient/${patientId}/Availability`;\n const config = {headers: authHeader()};\n\n return new Observable(observer => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.healthScoreStore.update({isHealthScoreAvailable: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n public getByEmployee(patientId: number): Observable {\n const url = `${process.env.REACT_APP_API_URL}HealthScore/Patient/${patientId}`;\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.get(url, config)\n .pipe()\n .subscribe(\n (response) => {\n this.healthScoreStore.update({healthScore: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n );\n })\n }\n\n}\n\nexport const healthScoreService = new HealthScoreService(healthScoreStore);\n","import { useState, useEffect } from \"react\";\nimport { useHistory } from \"react-router-dom\";\nimport { Subscription } from 'rxjs';\nimport {HealthScoreCategoriesDisplaytModel, HealthScoreModel, ScoreTermsModel} from \"../../models/score.model\";\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {healthScoreQuery} from \"../../stores\";\nimport {healthScoreService} from \"../../services/healthScore.service\";\nimport {questionnaireService} from \"../../../questionnaire/services/questionnaire.service\";\nimport {QuestionnaireSubType} from \"../../../questionnaire/models/questionnaire.models\";\n\n\nexport interface HealthScoreComponentState {\n isLoading: boolean,\n categories: HealthScoreCategoriesDisplaytModel[],\n generalScore: number,\n labsScore: ScoreTermsModel[],\n filteredGeneralScore: any,\n isCompletedQuestionnaires: boolean,\n isResultsFromLabs: boolean,\n}\n\nconst orderLabsTerms = [\n \"crp\",\n \"total_cholesteral\",\n \"hdl_c\",\n \"tc_hdl_ratio\",\n \"triglycerides\",\n \"hba1c\",\n \"glucose\",\n \"sodium\",\n \"egfr\",\n \"albumin\",\n \"ast_delta\",\n \"alt_sgpt\",\n \"ast_sgpt\",\n \"alt_delta\",\n \"dhea\",\n \"testosterone\",\n \"thyroid\",\n \"homocysteine\",\n \"vitamin_d\",\n \"uric_acid\",\n \"cac\",\n \"white_blood_cell_count\",\n \"haemoglobin_concentration\",\n \"hct\",\n \"mean_corpuscular_haemoglobin_concentration_g_per_dl\",\n \"red_blood_cell_distribution_width\",\n \"monocytes_number\",\n \"neutrophils_number\",\n \"red_blood_cell_count\"\n]\n\nexport function useFacade(patientId: number | null): [\n HealthScoreComponentState,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n categories: [\n {\n name: 'Labs',\n hoverText: 'This data is sourced from your latest lab results which have implications on your current and future health outlook.'\n },\n {\n name: 'Biomarkers',\n hoverText: 'This data is sourced from your health intake and vitals. We assess multiple biomarkers, like weight, BMI, pulse rate, and blood pressure, which all have direct implications on your current and future health outlook.'\n },\n {\n name: 'Lifestyle',\n hoverText: 'This data is sourced from your health intake. Things like sleep, stress, mindfulness, alcohol intake, and smoking habits have direct implications on your current and future health outlook.'\n },\n {\n name: 'Risk scores',\n hoverText: 'This data is sourced from your health intake and vitals. Metabolic health and cardiovascular disease risk are among the considerations.'\n }\n ],\n generalScore: 0,\n labsScore: null,\n filteredGeneralScore: [],\n isCompletedQuestionnaires: false,\n isResultsFromLabs: false,\n } as HealthScoreComponentState);\n\n const history = useHistory();\n\n const handleComplete = () => {\n if(patientId) {\n navigationService.toPatientHealthForms(history, patientId) \n } else {\n navigationService.toMyHealthForms(history)\n } \n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(healthScoreQuery.healthScore$, result => {\n\n if (result) {\n if(result.patientScore.scoredTerms < 10){\n setState(state => ({ ...state, isResultsFromLabs: false }))\n return;\n }\n\n const filteredGeneralCatgory = result.categories.map(categori => {\n return result.terms.filter(el => !!el.name && el.termCategory === categori.name)\n })\n const filteredLabCategory = filteredGeneralCatgory.find(el => el[0].termCategory === 'lab')\n\n let labsTerms = [];\n\n orderLabsTerms.map(x => \n {\n const term = filteredLabCategory?.find(t => t.term === x);\n\n if(term){\n labsTerms.push(term);\n }\n });\n \n filteredLabCategory?.map(x => \n {\n if(!orderLabsTerms.includes(x.term)){\n labsTerms.push(x);\n }\n }\n );\n\n setState(state => ({\n ...state,\n generalScore: result.patientScore.score,\n isResultsFromLabs: true,\n labsScore: labsTerms.map(el => {\n return el.displayValue === 0 ? {\n ...el,\n displayValue: 1.5,\n } : el\n }),\n filteredGeneralScore: filteredGeneralCatgory.filter(el => el[0].termCategory !== 'lab')\n\n }));\n }\n\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (patientId) {\n questionnaireService.getResults(patientId).subscribe(\n\n (result) => {\n const isCompleted = !!result.filter(q => q.submittedAt && q.questionnaire.subType === QuestionnaireSubType.MedicalHistoryIncomplete).length\n setState(state => ({\n ...state,\n isCompletedQuestionnaires: isCompleted\n }));\n\n if (isCompleted) {\n healthScoreService.getByEmployee(patientId).subscribe(cb, cb)\n } else {\n cb()\n }\n },\n\n cb\n )\n } else {\n questionnaireService.getAllMyResults().subscribe(\n\n (result) => {\n const isCompleted = !!result.filter(q => q.submittedAt && q.questionnaire.subType === QuestionnaireSubType.MedicalHistoryIncomplete).length\n setState(state => ({\n ...state,\n isCompletedQuestionnaires: isCompleted\n }));\n\n if (isCompleted) {\n healthScoreService.getByPatient().subscribe(cb, cb)\n } else {\n cb()\n }\n },\n\n cb\n )\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleComplete];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport {colors} from \"../../../common/constants/colors\";\n\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n sections: {\n backgroundColor: colors.white,\n padding: 30,\n height: '100%',\n paddingBottom: 0,\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n emptySections: {\n backgroundColor: colors.gray3,\n height: '100%',\n justifyContent: 'center',\n },\n emptyContainer: {\n position: 'absolute',\n background: 'rgba(236, 238, 239, 0.5)',\n top: 0,\n height: '100%',\n width: '100%',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'center',\n alignItems: 'center',\n [theme.breakpoints.down(\"xs\")]: {\n position: \"fixed\",\n top: 0,\n left: 0,\n right: 0,\n bottom: 0,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n height: \"100%\",\n },\n },\n title: {\n fontWeight: 600,\n fontSize: 24,\n },\n subTitle: {\n padding: 24,\n },\n banner: {\n backgroundColor: colors.white,\n width: '100%',\n padding: '20px',\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n marginBottom: 16,\n [theme.breakpoints.down(\"xs\")]: {\n display: 'inherit',\n padding: '16px',\n },\n },\n nextUp: {\n backgroundColor: colors.average2,\n padding: '5px 10px 5px 10px',\n fontSize: '14px',\n width: 'auto',\n\n [theme.breakpoints.down(\"xs\")]: {\n width: 'fit-content',\n },\n },\n bannerMessage: {\n width: '75%',\n textAlign: 'center',\n\n [theme.breakpoints.down(\"xs\")]: {\n textAlign: 'left',\n width: '100%',\n marginTop: 16\n },\n },\n\n }),\n);","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 600,\n paddingRight: 10,\n },\n boxCircle: {\n width: 14,\n height: 14,\n borderRadius: '50%',\n },\n scoreSection: {\n position: \"absolute\",\n top: '50%',\n left: '50%',\n transform: 'translate(-50%, -50%)',\n textAlign: 'center',\n },\n scoreTitle: {\n fontWeight: 500,\n fontSize: 12,\n textTransform: 'uppercase',\n },\n scoreNumber: {\n fontWeight: 700,\n fontSize: 46,\n },\n tooltip: {\n width: '225px',\n maxWidth: '225px',\n padding: 8,\n background: colors.lightBlack,\n },\n arrow: {\n color: colors.lightBlack,\n },\n tooltipPlacement: {\n margin: '12px 0',\n },\n })\n);","import { Box, Typography, Tooltip, Grid, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport React from 'react';\nimport { PieChart, Pie, Cell } from 'recharts';\nimport { HealthScoreCategoriesDisplaytModel } from '../../../healthScore/models/score.model';\nimport information from \"@img/icons/information.svg\";\nimport { useStyles } from \"./BiomarkersComponent.style\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useFacade } from './biomarkersComponent.hooks';\nimport clsx from \"clsx\";\nimport { WildHealthClickableTooltip } from \"../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\n\ninterface BiomarkersComponentProps {\n title: string,\n colors: string[],\n result: number,\n categories: HealthScoreCategoriesDisplaytModel[],\n}\n\nexport const BiomarkersComponent: React.FC = (props: BiomarkersComponentProps) => {\n const {\n title,\n result,\n colors,\n } = props;\n\n const [\n state,\n handleCategoryTooltipToggle,\n handleTooltipToggle,\n ] = useFacade(props.categories);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.tooltip,\n arrow: classes.arrow,\n tooltipPlacementTop: classes.tooltipPlacement,\n tooltipPlacementBottom: classes.tooltipPlacement,\n };\n\n const scores = (scoreVal: number) => {\n const emptyPartScore = 100 - Number(scoreVal)\n return [{\n name: 'score',\n score: Number(scoreVal)\n },\n {\n name: 'empty',\n score: emptyPartScore,\n },]\n }\n\n return (\n \n \n \n {title}\n \n {isSmallScreen ? (\n \n handleTooltipToggle(false)}\n customClasses={customTooltipClasses}\n >\n handleTooltipToggle(true)} src={information} alt=\"img\" />\n \n \n ) : (\n \n \"img\"\n \n )}\n \n \n {isSmallScreen ? (\n \n {\n state.categories.map((item, index) => {\n return (\n \n \n {item.name}\n \n handleCategoryTooltipToggle(index, false)}\n customClasses={customTooltipClasses}\n >\n \"img\" handleCategoryTooltipToggle(index, true)} />\n \n \n \n \n )\n })\n }\n \n ) : (\n \n {\n state.categories.map((item, index) => {\n return (\n \n {item.name}\n \n \n \"img\"\n \n \n \n )\n })\n }\n \n )}\n \n \n \n {scores(result).map((entry, index) => (\n \n ))}\n \n \n \n Score\n {Number(result)}\n \n \n \n \n\n )\n}\n\n","import { useState, useEffect } from \"react\";\nimport { HealthScoreCategoriesDisplaytModel } from '../../../healthScore/models/score.model';\n\ninterface HealthScoreCategoriesViewModel extends HealthScoreCategoriesDisplaytModel {\n isOpened: boolean;\n}\n\ninterface BiomarkersComponentState {\n isOpen: boolean;\n categories: HealthScoreCategoriesViewModel[];\n}\n\n/**\n * Custom Hook to manage a view Model for Biomarkers component\n */\nexport function useFacade(categories: HealthScoreCategoriesDisplaytModel[]): [\n BiomarkersComponentState,\n (index: number, status: boolean) => void,\n (status: boolean) => void,\n] {\n\n const [state, setState] = useState({\n categories: [],\n isOpen: false,\n } as BiomarkersComponentState);\n\n const handleCategoryTooltipToggle = (index: number, status: boolean) => {\n state.categories.forEach((c, idx) => {\n if (idx === index) {\n c.isOpened = status;\n }\n })\n setState(state => ({ ...state }));\n }\n\n const handleTooltipToggle = (status: boolean) => {\n setState({ ...state, isOpen: status });\n }\n\n useEffect(() => {\n setState(state => ({ ...state, categories: categories.map(i => { return { ...i, isOpened: false } as HealthScoreCategoriesViewModel }) }));\n }, []);\n\n return [\n state,\n handleCategoryTooltipToggle,\n handleTooltipToggle,\n ];\n}\n","import { colors } from '../../common/constants/colors';\n\nexport interface ScoreTermsModel { \n age: number,\n name: string,\n term: string,\n displayValueLowerBound: number,\n displayValueUpperBound: number,\n termCategory: string,\n patientValue: string,\n hazarRatio: number,\n displayValue: number,\n referenceLink: string,\n hoverOverText: string,\n hoverOverName: string,\n patient: number,\n patientNote: string,\n race: string,\n reference: string,\n sex: string,\n termSubcategory: string,\n}\n\nexport interface HealthPatientScoreModel { \n clarityPortalPatientId: string,\n externalPatientId: string,\n healthScoreModel: number,\n healthScoreVersion: number,\n patient: number,\n score: number,\n totalTerms: number,\n scoredTerms: number,\n}\n\nexport interface HealthScoreCategoriesModel { \n name: string,\n value: number, // count of result\n}\n\nexport interface HealthScoreCategoriesDisplaytModel { \n name: string,\n hoverText: string,\n} \nexport interface HealthScoreModel { \n categories: HealthScoreCategoriesModel[],\n patientScore: HealthPatientScoreModel,\n terms: ScoreTermsModel[],\n}\n\nexport interface BiomarkersModel { \n name: string,\n score: number,\n}\n\nexport interface HabitBiomarkersModel { \n name: string,\n score: number,\n items: ScoreTermsModel[]\n}\n\nexport const ColorsForHealth = [\n colors.main, \n colors.lightGray, \n];\nexport const ColorsForHabit = [\n colors.main, \n colors.accent2, \n colors.average1, \n colors.accent3, \n colors.average2, \n colors.lightGray, \n];","import { Tooltip, createStyles, makeStyles, Theme, withStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontSize: 20,\n fontWeight: 600,\n paddingRight: 10,\n paddingBottom: 10,\n },\n itemContainer: {\n maxHeight: 650,\n overflowY: 'auto'\n },\n itemContent: {\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'space-between',\n [theme.breakpoints.down(\"xs\")]: {\n display: 'inherit',\n },\n },\n scoreSection: {\n height: 40,\n maxHeight: 40,\n fontSize: 14,\n },\n divider: {\n height: 16,\n borderLeft: `2px solid ${colors.gray1}`\n },\n indicator:{\n color: colors.gray1,\n fontWeight:600\n },\n cardFooter: {\n boxSizing: 'border-box',\n margin: '30px -30px 0',\n display: 'flex',\n justifyContent: 'flex-end',\n borderTop: `2px solid ${colors.stroke}`,\n paddingRight: 26,\n [theme.breakpoints.down(\"xs\")]: {\n margin: '30px 0 0',\n paddingRight: 0,\n },\n },\n chartTooltip: {\n maxWidth: 320,\n fontSize: 12,\n padding: 10,\n color: colors.white,\n backgroundColor: colors.lightBlack,\n borderRadius: 2,\n marginLeft: -100\n },\n paddingRight: {\n paddingRight: 8,\n },\n tooltip: {\n width: '225px',\n maxWidth: '225px',\n padding: 8,\n background: colors.lightBlack,\n },\n arrow: {\n color: colors.lightBlack,\n },\n tooltipPlacement: {\n margin: '12px 0',\n },\n })\n);\n\nexport const OptionTooltip = withStyles((theme: Theme) => ({\n}))(Tooltip);","import {ValueInputModel, VitalValueSourceType} from \"../../inputs/models/input.models\";\n\nexport interface TileVitalModel {\n HeartRate?: VitalDetailsModel | null;\n HRV?: VitalDetailsModel | null;\n RHR?: VitalDetailsModel | null;\n Weight?: VitalDetailsModel | null;\n Height?: VitalDetailsModel | null;\n BMI?: VitalDetailsModel | null;\n Waist?: VitalDetailsModel | null;\n Steps?: VitalDetailsModel | null;\n Calories?: VitalDetailsModel | null;\n SystolicBloodPressure?: VitalDetailsModel | null;\n DiastolicBloodPressure?: VitalDetailsModel | null;\n}\n\nexport interface VitalDetailsModel {\n id: number | null;\n displayName?: string;\n dimension?: string;\n value: number | null;\n valueId: number | null;\n date: Date | null;\n}\n\nexport interface VitalModel {\n id: number;\n name: string;\n displayName: string;\n dimension: string;\n values: VitalValueModel[];\n}\n\nexport interface VitalValueModel extends ValueInputModel {\n\n}\n\nexport function createVitalValueModel(id: number, name: string, value: number, date: Date, source: VitalValueSourceType) {\n return {\n id: id,\n name: name,\n value: value,\n isChanged: false,\n isInitialized: true,\n editable: true,\n notification: null,\n date: date,\n sourceType: source\n } as VitalValueModel;\n}\n\nexport interface CreateVitalModel {\n name: string;\n value: number;\n dateTime: Date;\n}\n\nexport interface UpdateVitalValueModel {\n vitalId: number;\n valueId: number;\n value: number;\n dateTime: Date;\n}\n\nexport interface GeneralInputsVitalsModel {\n systolicBloodPressure: VitalDetailsModel | null;\n weight: VitalDetailsModel | null;\n}\n\nexport enum VitalsDateRangeType {\n None = 0,\n SevenDays = 1,\n ThirtyDays = 5,\n SixMonth = 10,\n Year = 15\n}\n","import { Store, StoreConfig } from \"@datorama/akita\";\nimport moment from \"moment\";\nimport { mediumPageSizes } from \"../../common/pagination/models/page-sizes\";\nimport { TileVitalModel, VitalModel } from \"../models/vital.model\";\n\nexport enum VitalsHistoryMode {\n Normal,\n Edit,\n}\n\nexport enum VitalsHistoryView {\n Graph,\n Values,\n}\n\n/**\n * Represents vital state\n */\nexport interface VitalState {\n latestVital: TileVitalModel;\n vitals: VitalModel[];\n vitalsAverage: VitalModel[];\n totalVitals: number;\n view: VitalsHistoryView;\n mode: VitalsHistoryMode;\n startDate: Date;\n endDate: Date;\n selectedPage: number;\n pageSize: number;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): VitalState {\n let year = new Date().getFullYear();\n\n const start = moment().year(year).startOf(\"year\").toDate();\n const end = moment().year(year).endOf(\"year\").toDate();\n\n return {\n latestVital: null,\n vitals: [],\n vitalsAverage: [],\n totalVitals: 0,\n view: 0,\n mode: 0,\n startDate: start,\n endDate: end,\n selectedPage: 1,\n pageSize: mediumPageSizes[1],\n };\n}\n\n/**\n * Provides vitals states management\n */\n@StoreConfig({name: 'vitals', resettable: true })\nexport class VitalStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setPage(page: number) {\n this.update({selectedPage: page});\n }\n\n public setPageSize(pageSize: number) {\n this.update({pageSize: pageSize});\n }\n\n public setView(view: VitalsHistoryView) {\n this.update({view: view});\n }\n\n public setMode(mode: VitalsHistoryMode) {\n this.update({mode: mode});\n }\n\n public setTotal(total: number) {\n this.update({totalVitals: total});\n }\n\n public setDateRange(startDate: Date, endDate: Date) {\n this.update({startDate: startDate, endDate: endDate});\n }\n\n public addVital(item: VitalModel) {\n const value = this.getValue();\n this.update({vitals: [...value.vitals, item], totalVitals: value.totalVitals++});\n }\n\n public updateVital(item: VitalModel) {\n const vitals = this.getValue().vitals;\n this.update({ vitals: vitals.map(x => x.id === item.id ? item : x) });\n }\n}\n\nexport const vitalStore = new VitalStore();\n","import { Box, Link, Typography, useTheme, useMediaQuery, RootRef } from \"@material-ui/core\";\nimport React, { useEffect, useRef } from 'react';\nimport {\n BarChart,\n Bar,\n Cell,\n XAxis,\n YAxis,\n Tooltip,\n ReferenceLine\n} from \"recharts\";\nimport { ScoreTermsModel } from '../../../healthScore/models/score.model';\nimport { useStyles, OptionTooltip } from \"./GeneralChartComponent.style\";\nimport { colors } from \"../../../common/constants/colors\";\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useFacade } from './generalChartComponent.hooks';\nimport trendingUp from \"@img/icons/TrendingUp.svg\";\nimport trendingDown from \"@img/icons/TrendingDown.svg\";\nimport { WildHealthClickableTooltip } from \"../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\n\n\ninterface GeneralChartComponentProps {\n title: string,\n color: string,\n data: ScoreTermsModel[],\n}\n\nexport const GeneralChartComponent: React.FC = (props: GeneralChartComponentProps) => {\n const {\n title,\n color,\n } = props;\n\n const refBlock = useRef(null);\n\n const [\n { data , barSize },\n handleChartTooltipToggle,\n ] = useFacade(props.data, refBlock);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.tooltip,\n arrow: classes.arrow,\n tooltipPlacementTop: classes.tooltipPlacement,\n tooltipPlacementBottom: classes.tooltipPlacement,\n };\n\n const defaulScoreHeight = 40;\n\n const displayDataWithValue = data.filter(el => el.displayValue !== null)\n\n const renderTooltip = ({ payload }) => {\n if (payload.length) {\n const text = payload[0];\n return {text.payload.hoverOverText}\n }\n return <>\n }\n\n const renderItemName = (name: string) => {\n const x = name.split(\" \")\n return x.map((el, index) => {el})\n }\n\n const getFillColor = (value: number) => {\n if (value < 0) {\n return colors.bad\n }\n\n if (value < 1 && value > 0) {\n return colors.accent2\n }\n return colors.main\n }\n\n const smallChartWidth = window.innerWidth - 70;\n\n return (\n \n \n \n \n \n {title.replace('_', ' ')}\n \n \n 380 && classes.itemContainer], 'flat-scroll')}>\n {displayDataWithValue && displayDataWithValue.length !== 0 && (\n <>\n {isSmallScreen ? (\n displayDataWithValue.map((item, index) => {\n return (\n \n \n \n \n handleChartTooltipToggle(item.name, false, \"title\")}\n customClasses={customTooltipClasses}\n >\n handleChartTooltipToggle(item.name, true, \"title\")}>{renderItemName(item.name)}\n \n {item.referenceLink &&\n \n \n [{index + 1}]\n \n \n }\n \n handleChartTooltipToggle(item.name, false, \"score\")}\n customClasses={customTooltipClasses}\n >\n 0 ? trendingUp : trendingDown} alt=\"img\" onClick={() => handleChartTooltipToggle(item.name, true, \"score\")} />\n \n \n \n \n \n \n \n \n \n \n \n )\n })\n ) : (\n \n \n {\n displayDataWithValue.map((item, index) => {\n return (\n \n \n {renderItemName(item.name)}\n {item.referenceLink &&\n \n \n [{index + 1}]\n \n \n }\n \n \n \n )\n })\n }\n \n \n \n \n \n\n \n \n {\n displayDataWithValue.map((entry, index) => (\n \n ))\n }\n \n \n \n )}\n \n )}\n \n \n \n \n -\n \n +\n \n \n\n \n \n )\n}\n\n","import { useState, useEffect } from \"react\";\nimport { ScoreTermsModel } from '../../../healthScore/models/score.model';\n\ninterface ScoreTermsViewModel extends ScoreTermsModel {\n isOpenedTitle: boolean;\n isOpenedGraph: boolean;\n}\n\ninterface GeneralChartComponentState {\n data: ScoreTermsViewModel[];\n barSize: number;\n}\n\n/**\n * Custom Hook to manage a view Model for GeneralChart component\n */\nexport function useFacade(data: ScoreTermsModel[], ref: any): [\n GeneralChartComponentState,\n (name: string, status: boolean, type: string) => void,\n] {\n\n const [state, setState] = useState({\n data: [],\n } as GeneralChartComponentState);\n\n const handleChartTooltipToggle = (name: string, status: boolean, type: string) => {\n state.data.forEach(item => {\n if (item.name === name && type === \"title\") {\n item.isOpenedTitle = status;\n } else if (item.name === name && type === \"score\") {\n item.isOpenedGraph = status;\n }\n })\n setState(state => ({ ...state }));\n }\n\n useEffect(() => {\n setState(state => ({ ...state, data: data.map(i => { return { ...i, isOpenedTitle: false, isOpenedGraph: false } as ScoreTermsViewModel }) }));\n\n function renderBars(){\n setState(state => ({\n ...state,\n barSize:ref.current.offsetWidth - 200\n }));\n }\n\n window.addEventListener('resize',renderBars);\n\n if(!state.barSize)\n {\n setState(state => ({\n ...state,\n barSize:ref.current.offsetWidth - 200\n }));\n }\n\n return ()=>{\n window.removeEventListener('resize', renderBars);\n }\n }, []);\n\n return [\n state,\n handleChartTooltipToggle,\n ];\n}\n","import { Box, Grid, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport React from 'react';\nimport { ReactComponent as emptyRiskScores } from '@img/placeholders/EmptyRiskScores.svg';\nimport { ReactComponent as emptyLifestyle } from '@img/placeholders/EmptyLifestyle.svg';\nimport { ReactComponent as emptyLabs } from '@img/placeholders/EmptyLabs.svg';\nimport { ReactComponent as emptyBiomarkers } from '@img/placeholders/EmptyBiomarkers.svg';\nimport { ReactComponent as emptyHealthBiomarkers } from '@img/placeholders/EmptyHealthBiomarkers.svg';\nimport { ReactComponent as emptyMobileHealthScore } from '@img/placeholders/EmptyMobileHealthScore.svg';\nimport { ReactComponent as emptyMobileLabs } from '@img/placeholders/EmptyMobileLabs.svg';\nimport { ReactComponent as emptyMobileBiomarkers } from '@img/placeholders/EmptyMobileBiomarkers.svg';\nimport { ReactComponent as emptyMobileLifestyle } from '@img/placeholders/EmptyMobileLifestyle.svg';\nimport { ReactComponent as emptyMobileRiskScores } from '@img/placeholders/EmptyMobileRiskScores.svg';\nimport clsx from \"clsx\";\nimport {useFacade} from \"./healthScoreComponent.hooks\";\nimport {useStyles} from \"./healthScoreComponent.style\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport {UserType} from \"../../../auth/models/auth.enums\";\nimport {BiomarkersComponent} from \"../../../patients/components/BiomarkersComponent/BiomarkersComponent\";\nimport {ColorsForHealth} from \"../../models/score.model\";\nimport {GeneralChartComponent} from \"../../../patients/components/GeneralChartComponent/GeneralChartComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\n\ninterface HealthScoreComponentProps {\n patientId?: number | null\n}\n\nexport const HealthScoreComponent: React.FC = (props: HealthScoreComponentProps) => {\n const [\n {\n isLoading,\n labsScore,\n generalScore,\n filteredGeneralScore,\n isCompletedQuestionnaires,\n isResultsFromLabs,\n categories,\n },\n handleComplete\n ] = useFacade(props.patientId);\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const emptyState = () => {\n return (\n \n \n \n \n {React.createElement(isSmallScreen ? emptyMobileHealthScore : emptyHealthBiomarkers)}\n \n \n \n \n {React.createElement(isSmallScreen ? emptyMobileLabs : emptyLabs)}\n \n \n \n \n \n \n {React.createElement(isSmallScreen ? emptyMobileBiomarkers : emptyBiomarkers)}\n \n \n \n \n {React.createElement(isSmallScreen ? emptyMobileLifestyle : emptyLifestyle)}\n \n \n \n \n {React.createElement(isSmallScreen ? emptyMobileRiskScores : emptyRiskScores)}\n \n \n \n {isSmallScreen ? (\n \n Your Health Score is
in progress
\n
\n ) : (\n \n Your Health Score is in progress \n {!isCompletedQuestionnaires\n ? \"Tell us more about your medical history & lifestyle\"\n : \"We're awaiting the results from your labs. Once we receive those, we'll update your score\"}\n \n {\n !isCompletedQuestionnaires &&\n handleComplete()}>\n Complete Questionnaire\n \n }\n \n )}\n
\n )\n }\n\n const renderContent = () => {\n return (\n <>\n \n \n Beta\n \n \n You have beta access to our new Health Score! If you have any concerns with this score, please reach out to your Care Team.\n \n \n \n }\n permissions={[]}\n userType={UserType.Patient}\n />\n \n \n \n \n \n \n \n \n {!!labsScore?.length && }\n \n \n \n \n {filteredGeneralScore.map((el, index) => {\n return (\n \n \n {!!el.length\n ? {\n return el.displayValue === 0 ? {\n ...el,\n displayValue: 1.5,\n } : el\n })}\n color={ColorsForHealth[index + 1]}\n />\n : <>}\n \n \n )\n })\n }\n \n \n )\n }\n\n\n return (\n <>\n {\n isLoading\n ? \n : isResultsFromLabs && isCompletedQuestionnaires\n ? renderContent()\n : emptyState()\n }\n \n )\n}\n\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n itemContent: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n width: \"50vw\",\n },\n },\n buttonTitle: {\n marginLeft: 8,\n alignItems: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: 0,\n },\n },\n })\n);\n","import { Box, MenuItem, Popover, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport { OptionsButton } from \"../wildHealthButton/OptionsButton\";\nimport ArrowDropDownIcon from \"@material-ui/icons/ArrowDropDown\";\nimport ArrowDropUpIcon from \"@material-ui/icons/ArrowDropUp\";\nimport KeyboardArrowDownIcon from \"@material-ui/icons/KeyboardArrowDown\";\nimport KeyboardArrowUpIcon from \"@material-ui/icons/KeyboardArrowUp\";\nimport { useStyles as useCheckboxDropdownStyles } from \"../checkBoxDropdown/checkboxDropdown.styles\";\nimport { useStyles } from \"./SelectViewModeComponent.styles\";\n\nexport interface ViewMode {\n id: number;\n title: string;\n icon?: JSX.Element;\n}\n\ninterface SelectViewModeComponentProps {\n selectedId: number;\n options: ViewMode[];\n disabled?: boolean;\n handleChanges: Function;\n}\n\nexport const SelectViewModeComponent: React.FC = (\n props: SelectViewModeComponentProps\n) => {\n const { selectedId, options, disabled, handleChanges } = props;\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const checkboxDropdownClasses = useCheckboxDropdownStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const renderItemContent = (view: ViewMode) => {\n return (\n \n {view.icon}\n \n {view.title}\n \n \n );\n };\n\n const renderButtonContent = (view: ViewMode) => {\n const [DownArrowIcon, UpArrowIcon] = isSmallScreen\n ? [KeyboardArrowDownIcon, KeyboardArrowUpIcon]\n : [ArrowDropDownIcon, ArrowDropUpIcon];\n\n return (\n \n {view.icon}\n \n {view.title}\n \n {Boolean(anchorEl) ? : }\n \n );\n };\n\n const handleOnClick = (id: number) => {\n handleClose();\n handleChanges(id);\n };\n\n return (\n \n \n {renderButtonContent(options.find((i) => i.id === selectedId))}\n \n\n \n {options.map((item, index) => (\n handleOnClick(item.id)}\n >\n {renderItemContent(item)}\n \n ))}\n \n \n );\n};\n","import { Query } from \"@datorama/akita\";\nimport { VitalState, vitalStore, VitalStore } from \"./vital.store\";\n\n/**\n * Provides vital queries\n */\nexport class VitalQuery extends Query {\n latestVital$ = this.select((state) => state.latestVital);\n vitals$ = this.select(state => state.vitals);\n vitalsAverage$ = this.select(state => state.vitalsAverage);\n totalVitals$ = this.select(state => state.totalVitals);\n view$ = this.select(state => state.view);\n mode$ = this.select(state => state.mode);\n startDate$ = this.select(state => state.startDate);\n endDate$ = this.select(state => state.endDate);\n selectedPage$ = this.select(state => state.selectedPage);\n pageSize$ = this.select(state => state.pageSize);\n\n constructor(protected store: VitalStore) {\n super(store);\n }\n}\n\nexport const vitalQuery = new VitalQuery(vitalStore);\n","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { CreateVitalModel, createVitalValueModel, TileVitalModel, UpdateVitalValueModel, VitalModel, VitalsDateRangeType } from \"../models/vital.model\";\nimport { VitalStore, vitalStore } from \"../stores\";\n\nexport class VitalService {\n private url = `${process.env.REACT_APP_API_URL}PatientVitals`;\n private latestVitalUrl = `${this.url}/latest`;\n\n constructor(private vitalStore: VitalStore) { }\n\n /**\n * Returns vital\n */\n public getVital(patientId: number | null = null): Observable {\n let url = this.latestVitalUrl;\n if (patientId) {\n url = `${url}?patientId=${patientId}`;\n }\n return new Observable(observer => {\n Axios.get(url, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.vitalStore.update({ latestVital: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n getLatestVital(vitals: Array): TileVitalModel {\n const firstIndex = 0;\n const tileVital: TileVitalModel = {};\n vitals.forEach(vital => {\n tileVital[vital.name] = {\n id: vital.id,\n displayName: vital.displayName,\n dimension: vital.values && vital.values.length > 0\n ? vital.dimension\n : null,\n value: vital.values && vital.values.length > 0\n ? vital.values[firstIndex].value\n : null,\n valueId: vital.values && vital.values.length > 0\n ? vital.values[firstIndex].id\n : null,\n date: vital.values && vital.values.length > 0\n ? vital.values[firstIndex].date\n : null,\n }\n });\n return tileVital;\n }\n\n /**\n * Create vital values\n */\n public createVital(vitals: Array, patientId: number | null = null): Observable> {\n let url = this.url;\n if (patientId) {\n url = `${url}?patientId=${patientId}`;\n }\n return new Observable(observer => {\n Axios.post>(url, vitals, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.vitalStore.update({ vitals: response.data });\n const latestVital = this.getLatestVital(response.data);\n this.vitalStore.update({ latestVital: latestVital });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Get vitals values in data range\n */\n public get(page: number, pageSize: number, start?: Date, end?: Date, patientId: number | null = null): Observable {\n let url = `${this.url}?page=${page - 1}&pageSize=${pageSize}&start=${start.toISOString()}&end=${end.toISOString()}`;\n if (patientId) {\n url = `${url}&patientId=${patientId}`;\n }\n\n return new Observable(observer => {\n //Used 'fetch' because there is issue with converting date from UTC to Local DateTime\n fetch(url, { headers: authHeader() })\n .then(async (response) => {\n response.json().then(json => {\n if (json.data) {\n const vitals = json.data.map(i => ({ ...i, values: i.values.map(v => createVitalValueModel(v.id, i.name, v.value, new Date(`${v.date}Z`), v.sourceType)) }));\n this.vitalStore.update({ vitals: vitals, totalVitals: json.totalCount });\n\n observer.next();\n observer.complete();\n } else {\n observer.error();\n observer.complete();\n }\n\n })\n })\n .catch(error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n });\n })\n }\n\n public getVitalAverage(patientId: number, dateRange: VitalsDateRangeType): Observable {\n let url = `${this.url}/Average?patientId=${patientId}&dateRange=${dateRange}`;\n\n return new Observable(observer => {\n Axios.get(url, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.vitalStore.update({ vitalsAverage: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n\n }\n\n );\n })\n }\n\n public create(items: CreateVitalModel[], patientId: number | null = null): Observable {\n let url = this.url;\n if (patientId) {\n url = `${url}?patientId=${patientId}`;\n }\n\n return new Observable(observer => {\n Axios.post(url, items, { headers: authHeader() })\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public remove(items: number[], patientId: number | null = null): Observable {\n const ids = items && items.length\n ? items.map(id => `ids=${id}`).join('&')\n : '';\n\n let url = `${this.url}?${ids}`;\n if (patientId) {\n url = `${url}&patientId=${patientId}`;\n }\n\n return new Observable(observer => {\n Axios.delete(url, { headers: authHeader() })\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public updateVitalValue(items: UpdateVitalValueModel[], patientId: number | null = null): Observable {\n let url = this.url;\n if (patientId) {\n url = `${url}?patientId=${patientId}`;\n }\n\n return new Observable(observer => {\n Axios.patch(url, items, { headers: authHeader() })\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public checkDate(date: Date, patientId: number | null = null): Observable {\n let url = `${this.url}/CheckDate?date=${date.toISOString()}`\n if (patientId) {\n url = `${url}&patientId=${patientId}`;\n }\n\n return new Observable(observer => {\n Axios.get(url, { headers: authHeader() })\n .pipe()\n .subscribe(\n () => {\n observer.next();\n observer.complete();\n },\n error => {\n const messages = error?.response?.data?.messages;\n observer.error(messages?.length ? messages[0] : error);\n observer.complete();\n }\n );\n })\n }\n}\n\nexport const vitalService = new VitalService(vitalStore);\n","import {VitalModel} from \"../models/vital.model\";\n\nexport const getUniqDates = (items: VitalModel[]) => {\n const matrix: Array> = [];\n const dates: Array = [];\n\n if (items.length) {\n items.forEach(item => {\n const vitalDates: Array = [];\n item.values.forEach(x => vitalDates.push(new Date(x.date).getTime()));\n matrix.push(vitalDates);\n });\n\n matrix.forEach(arr => {\n arr.forEach(d => {\n if (!dates.includes(d)) {\n dates.push(d);\n } else {\n const duplicateCount = arr.filter(x => x === d).length;\n const actualCount = dates.filter(x => x === d).length;\n\n for(let n = 0; n < duplicateCount - actualCount; n++) {\n dates.push(d);\n }\n }\n })\n })\n\n return dates.sort((a, b) => a - b).reverse();\n }\n\n return dates;\n}","import moment from 'moment';\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { graphPageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { IErrorState } from '../../../common/validation/error-state';\nimport { LabInputNotificationType } from \"../../../inputs/models/input.models\";\nimport { VitalModel, VitalsDateRangeType, VitalValueModel } from \"../../models/vital.model\";\nimport { vitalService } from \"../../services/vital.service\";\nimport { vitalQuery, VitalsHistoryView } from \"../../stores\";\nimport { vitalsNormalValuesValidator } from '../../validators/vital.validator';\nimport {getUniqDates} from \"../../helpers/get-unique-dates\";\n\ninterface VitalsHistoryComponentState extends IPaginationState, IErrorState {\n isLoading: boolean;\n view: VitalsHistoryView;\n range: VitalsDateRangeType;\n avg: number\n items: VitalModel[];\n vitalFromStore: VitalModel[];\n dates: Array;\n}\n\nconst defaultState = {\n isLoading: true,\n view: VitalsHistoryView.Graph,\n range: VitalsDateRangeType.SevenDays,\n avg: 1,\n items: [],\n vitalFromStore: [],\n totalCount: 0,\n selectedPage: 1,\n pageSize: graphPageSizes[0],\n dates: [],\n} as VitalsHistoryComponentState\n\nexport function useFacade(patientId: number | null): [\n VitalsHistoryComponentState,\n Array,\n (view: VitalsHistoryView) => void,\n (range: VitalsDateRangeType) => void,\n (value: any) => void,\n (page: number) => void,\n] {\n const [state, setState] = useState({ ...defaultState, });\n\n const getEmptyValue = (date: Date, name?: string): VitalValueModel => {\n const castedDate = new Date(date);\n\n const emptyValue = {\n id: castedDate.getTime(),\n date: castedDate,\n value: null,\n name: name ?? '',\n notification: {\n notificationType: LabInputNotificationType.Empty,\n message: '',\n },\n } as VitalValueModel;\n\n return Object.assign({}, emptyValue);\n }\n\n const addMissingValuesToVitals = (items: VitalModel[], dates: number[]) => {\n items.forEach(item => {\n const toPush = [];\n\n dates.forEach(date => {\n if (!item.values.map(i => new Date(i.date).getTime()).includes(new Date(date).getTime())) {\n toPush.push(getEmptyValue(new Date(date), item.name));\n }\n });\n\n item.values = [...item.values, ...toPush]\n item.values = item.values.sort((p, n) => new Date(p.date).getTime() - new Date(n.date).getTime()).reverse();\n });\n return items;\n }\n\n const validateValues = (items: VitalModel[]) => {\n items.forEach(vital => {\n vital.values.forEach(value => {\n if (value.value !== null) {\n const error = vitalsNormalValuesValidator.validate(vital.name, value.value.toString());\n if (error) {\n value.notification = {\n notificationType: LabInputNotificationType.Error,\n message: error,\n }\n }\n }\n });\n });\n }\n\n const getColumns = (dates: Array) => {\n const columns = ['Metric'];\n\n if (state.view === VitalsHistoryView.Graph) {\n columns.push('Values');\n } else {\n dates.forEach(date => columns.push(moment(date).format(\"MM/DD/YYYY\")));\n columns.push('');\n }\n\n return columns;\n }\n\n const switchView = (view: VitalsHistoryView) => {\n setState(state => ({ ...state, view: view, pageSize: graphPageSizes[0], selectedPage: 1 }));\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n setState(state => ({ ...state, pageSize: value, selectedPage: 1 }));\n\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n setState(state => ({ ...state, selectedPage: page }));\n }\n\n const switchRange = (range: VitalsDateRangeType) => {\n switch (range) {\n case VitalsDateRangeType.SevenDays:\n setState(state => ({ ...state, avg: 1 }));\n break;\n case VitalsDateRangeType.SixMonth:\n setState(state => ({ ...state, avg: 7 }));\n break;\n case VitalsDateRangeType.ThirtyDays:\n setState(state => ({ ...state, avg: 1 }));\n break;\n case VitalsDateRangeType.Year:\n setState(state => ({ ...state, avg: 30 }));\n break;\n\n }\n setState(state => ({ ...state, range: range }));\n handleDateRangeChange(range)\n }\n\n const handleDateRangeChange = (range: VitalsDateRangeType) => {\n\n setState(state => ({ ...state, isLoading: true, selectedPage: 1 }));\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n vitalService.getVitalAverage(patientId, range).subscribe(cb, cb);\n\n\n }\n\n const prepareVitals = () => {\n const vitalsCopy = JSON.parse(JSON.stringify(state.vitalFromStore));\n\n validateValues(vitalsCopy);\n const numStart = (state.selectedPage - 1) * state.pageSize\n const numEnd = state.selectedPage * state.pageSize\n const dates = getUniqDates(vitalsCopy);\n const datesView = dates.slice(numStart, numEnd)\n const items = addMissingValuesToVitals(vitalsCopy, dates);\n\n setState(state => ({\n ...state,\n dates: datesView,\n items: items,\n totalCount: dates.length,\n }))\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(vitalQuery.vitalsAverage$, vitals => {\n setState(state => ({\n ...state, vitalFromStore: vitals.sort((a, b) => {\n let x = a.displayName.toLowerCase();\n let y = b.displayName.toLowerCase();\n \n if(x === \"blood pressure diastolic\" && y === \"blood pressure systolic\"){\n return 1;\n }\n return x < y ? -1 : x > y ? 1 : 0;\n })\n }))\n }),\n ];\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n vitalService.getVitalAverage(patientId, state.range).subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n useEffect(() => {\n if (state.vitalFromStore.length) {\n prepareVitals()\n }\n }, [state.vitalFromStore, state.pageSize, state.selectedPage]);\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n getColumns(state.dates),\n switchView,\n switchRange,\n handlePageSizeChange,\n handlePageChange,\n ];\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n cell: {\n width: 300,\n minWidth: 150,\n maxWidth: 300,\n '&:last-child': {\n width: 'auto',\n minWidth: 0,\n },\n },\n title: {\n fontWeight: 500,\n fontSize: '20px',\n lineHeight: '24px', \n },\n placeHolder: {\n display: 'flex',\n width: '100%', \n justifyContent: 'center', \n alignItems: 'center',\n marginTop: '18vh' \n }\n })\n);\n","import React from \"react\";\nimport { AreaChart, Area, ResponsiveContainer, CartesianGrid, XAxis, YAxis } from \"recharts\";\nimport { colors } from \"../../../common/constants/colors\";\nimport { useTheme, useMediaQuery } from \"@material-ui/core\";\n\ninterface BiometricGraphModel {\n name: number,\n date: string,\n}\n\ninterface BiometricInputsGraphComponentProps {\n data: BiometricGraphModel[];\n renderRange?: boolean;\n minValue?: number;\n maxValue?: number;\n height: number;\n width: number;\n}\n\nexport const BiometricInputsGraphComponent: React.FC = (\n props: BiometricInputsGraphComponentProps\n) => {\n const { data, renderRange, minValue, maxValue, height, width } = props;\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const graphData: object[] = data.map((item) => {\n return {\n min: 1,\n max: 200,\n name: item.name,\n date: item.date,\n };\n });\n\n const CheckIsNormal = (value: number): boolean => {\n if (minValue !== null && value <= minValue) {\n return false;\n }\n\n return !(maxValue !== null && value >= maxValue);\n };\n\n const CustomizedDot = (props) => {\n const { cx, cy, payload } = props;\n\n if (CheckIsNormal(payload.name)) {\n return (\n \n );\n }\n\n return (\n \n );\n };\n\n return (\n \n \n \n \n \n {renderRange && minValue !== null && (\n \n )}\n {renderRange && maxValue !== null && (\n \n )}\n \n \n \n );\n};\n","import { TextField } from \"@material-ui/core\";\nimport { createStyles, makeStyles, withStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n textField: {\n borderColor: colors.gray4,\n },\n dimension: {\n color: colors.gray1,\n fontSize: 12,\n },\n danger: {\n color: colors.bad,\n },\n cell: {\n verticalAlign: \"initial\",\n },\n notificationToolTipPopper: {\n [theme.breakpoints.down(\"xs\")]: {\n background: colors.lightBlack,\n },\n },\n notificationToolTipArrow: {\n [theme.breakpoints.down(\"xs\")]: {\n color: colors.lightBlack,\n },\n },\n cellName: {\n [theme.breakpoints.down(\"xs\")]: {\n width: \"30%\",\n },\n },\n graphContainer: {\n width: \"fit-content\",\n [theme.breakpoints.down(\"xs\")]: {\n width: \"70%\",\n },\n },\n })\n);\n\nexport const VitalsTextField = withStyles({\n root: {\n \"& label.Mui-focused\": {\n color: colors.main,\n },\n \"& .MuiInput-underline:after\": {\n borderBottomColor: colors.main,\n },\n \"& .MuiOutlinedInput-root\": {\n \"& fieldset\": {\n borderColor: colors.gray4,\n },\n \"&:hover fieldset\": {\n borderColor: colors.gray1,\n },\n \"&.Mui-focused fieldset\": {\n borderColor: colors.main,\n },\n },\n },\n})(TextField);\n","import { Box, Tooltip, useTheme } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { renderEmptyValue } from \"../../../common/helpers/empty-value\";\nimport { renderBiometricValuesGraph } from \"../../../inputs/helpers/render-biometric-values-graph\";\nimport {\n LabInputNotificationType,\n} from \"../../../inputs/models/input.models\";\nimport { VitalModel, VitalValueModel } from \"../../models/vital.model\";\nimport { VitalsHistoryView } from \"../../stores\";\nimport { useStyles } from \"./biometricRowComponent.styles\";\nimport WarningIcon from \"@material-ui/icons/Warning\";\nimport warning from \"@img/icons/warning.svg\";\nimport { vitalsNormalValues } from \"../../validators/vital.validator\";\n\n\ninterface BiometricRowComponentProps {\n avg: number;\n rowWidth: number;\n selectedPage: number;\n index: number;\n vitals: VitalModel[];\n view: VitalsHistoryView;\n}\n\nexport const BiometricRowComponent: React.FC = (\n props: BiometricRowComponentProps\n) => {\n const { avg, rowWidth, index, vitals, view, selectedPage } =\n props;\n\n const classes = useStyles();\n if (!vitals.length) {\n return <>;\n }\n\n const vital = vitals[0];\n\n const nameCell = (\n \n \n {vital.displayName}\n \n \n  \n {vital.dimension && `(${vital.dimension === '\"' ? \"in\" : vital.dimension})`}\n \n \n \n Avg: {avg}\n \n );\n\n const renderNotificationImage = (notificationType: LabInputNotificationType) => {\n switch (notificationType) {\n case LabInputNotificationType.Empty:\n return <>;\n case LabInputNotificationType.Error:\n return img;\n case LabInputNotificationType.Warning:\n return ;\n }\n };\n\n const renderWarning = (value: VitalValueModel) => {\n return (\n \n \n {renderNotificationImage(value.notification.notificationType)}\n \n \n );\n };\n\n const renderGraph = () => {\n const numStart = (selectedPage - 1) * rowWidth\n const numEnd = selectedPage * rowWidth\n const valuesView = vital.values.slice(numStart, numEnd)\n return [\n nameCell,\n \n {\n \n {valuesView.filter((x) => !!x.value).length < 2\n ? renderEmptyValue(\"Insufficient data for trending\")\n : vitals.map((item) =>\n renderBiometricValuesGraph(\n item.values.slice(numStart, numEnd),\n vitalsNormalValues.get(item.name),\n 200,\n rowWidth < 2 ? 100 : rowWidth * 70\n )\n )}\n \n }\n ,\n ];\n };\n\n const renderViewValues = () => {\n let cells = [nameCell];\n\n const getWarning = (index: number) => {\n const hasError = vitals.find(\n (i) =>\n i.values[index].notification?.notificationType ===\n LabInputNotificationType.Error\n );\n if (hasError) {\n const value = hasError.values[index];\n if (value && value.notification) {\n return renderWarning(value);\n }\n }\n\n return <>;\n };\n\n const getValue = (value: VitalValueModel) => {\n const outOfNorm =\n value.notification?.notificationType === LabInputNotificationType.Error;\n\n return \n {value.value ? value.value : '-'}\n \n };\n\n const numStart = (selectedPage - 1) * rowWidth\n\n const numEnd = selectedPage * rowWidth\n const valuesView = vital.values.slice(numStart, numEnd)\n\n\n valuesView.forEach((item, index) => {\n const warning = getWarning(index + numStart);\n cells.push(\n \n \n {vitals\n .map((x) => getValue(x.values[index + numStart]))\n .reduce(\n (a, c) => (!a.length ? [c] : [...a, / , c]),\n []\n )}\n {warning}\n \n \n );\n });\n\n cells.push();\n\n return cells;\n };\n\n const views = new Map([\n [VitalsHistoryView.Graph, renderGraph()],\n [VitalsHistoryView.Values, renderViewValues()],\n ]);\n\n return {views.get(view)};\n};\n","import React from \"react\";\nimport { LabRangeModel, InputModel } from \"../models/input.models\";\nimport { renderEmptyValue } from \"../../common/helpers/empty-value\";\nimport { sortLabInputValues } from \"./sort-lab-input-values\";\nimport { BiometricInputsGraphComponent } from \"../components/biometricInputsGraphComponent/BiometricInputsGraphComponent\";\nimport moment from \"moment\";\n\nexport const renderBiometricValuesGraph = (\n values: InputModel[],\n range?: LabRangeModel,\n height: number = 400,\n width: number = 440,\n renderRange = false\n) => {\n\n const initializedValues = values\n .filter((x) => !!x.value)\n .sort(sortLabInputValues);\n\n if (initializedValues.length < 2) {\n return renderEmptyValue(\"Insufficient data for trending\");\n }\n\n return (\n {\n return {\n name: x.value,\n date: moment(x.date).format('MM/DD'),\n }\n })}\n renderRange={renderRange}\n minValue={range?.from}\n maxValue={range?.to}\n height={height}\n width={width}\n />\n );\n};\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n itemContent: {\n display: \"flex\",\n alignItems: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n width: \"50vw\",\n },\n },\n buttonTitle: {\n marginLeft: 8,\n alignItems: \"center\",\n [theme.breakpoints.down(\"xs\")]: {\n marginLeft: 0,\n },\n },\n })\n);\n","import { Box, MenuItem, Popover, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport { OptionsButton } from \"../wildHealthButton/OptionsButton\";\nimport ArrowDropDownIcon from \"@material-ui/icons/ArrowDropDown\";\nimport ArrowDropUpIcon from \"@material-ui/icons/ArrowDropUp\";\nimport KeyboardArrowDownIcon from \"@material-ui/icons/KeyboardArrowDown\";\nimport KeyboardArrowUpIcon from \"@material-ui/icons/KeyboardArrowUp\";\nimport { useStyles as useCheckboxDropdownStyles } from \"../checkBoxDropdown/checkboxDropdown.styles\";\nimport { useStyles } from \"./selectRangeComponent.styles\";\n\nexport interface ViewMode {\n id: number;\n title: string;\n}\n\ninterface SelectRangeComponentProps {\n selectedId: number;\n options: ViewMode[];\n disabled?: boolean;\n handleChanges: Function;\n}\n\nexport const SelectRangeComponent: React.FC = (\n props: SelectRangeComponentProps\n) => {\n const { selectedId, options, disabled, handleChanges } = props;\n\n const [anchorEl, setAnchorEl] = React.useState(null);\n const checkboxDropdownClasses = useCheckboxDropdownStyles();\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const handleClick = (event) => {\n setAnchorEl(event.currentTarget);\n };\n\n const handleClose = () => {\n setAnchorEl(null);\n };\n\n const renderItemContent = (view: ViewMode) => {\n return (\n \n \n {view.title}\n \n \n );\n };\n\n const renderButtonContent = (view: ViewMode) => {\n const [DownArrowIcon, UpArrowIcon] = isSmallScreen\n ? [KeyboardArrowDownIcon, KeyboardArrowUpIcon]\n : [ArrowDropDownIcon, ArrowDropUpIcon];\n\n return (\n \n \n {view.title}\n \n {Boolean(anchorEl) ? : }\n \n );\n };\n\n const handleOnClick = (id: number) => {\n handleClose();\n handleChanges(id);\n };\n\n return (\n \n \n {renderButtonContent(options.find((i) => i.id === selectedId))}\n \n\n \n {options.map((item, index) => (\n handleOnClick(item.id)}\n >\n {renderItemContent(item)}\n \n ))}\n \n \n );\n};\n","import chartView from \"@img/icons/chartView.svg\";\nimport valuesView from \"@img/icons/valuesView.svg\";\nimport { Box, Grid, Table, TableBody, TableContainer, TableFooter, TableHead } from '@material-ui/core';\nimport React from 'react';\nimport { SelectViewModeComponent } from '../../../common/components/selectViewModeComponent/SelectViewModeComponent';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { useFacade } from './biometricComponent.hooks';\nimport { VitalsHistoryView } from '../../stores';\nimport { useStyles } from './biometricComponent.styles';\nimport { VitalModel, VitalsDateRangeType } from \"../../models/vital.model\";\nimport { graphPageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { BiometricRowComponent } from \"../biometricRowComponent/BiometricRowComponent\";\nimport { SelectRangeComponent } from \"../../../common/components/selectRangeComponent/SelectRangeComponent\";\nimport { HealthReportPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/HealthReportPlaceHolder\";\n\nexport interface BiometricComponentProps {\n patientId: number | null;\n}\n\nexport const BiometricComponent: React.FC = (props: BiometricComponentProps) => {\n const [\n state,\n columns,\n switchView,\n switchRange,\n handlePageSizeChange,\n handlePageChange,\n ] = useFacade(props.patientId);\n\n const {\n isLoading,\n view,\n range,\n avg,\n items,\n } = state;\n\n const classes = useStyles();\n\n const hasItems = items && items.length > 0 && items[0].values?.length > 0;\n\n const viewModes = [\n {\n id: VitalsHistoryView.Graph,\n title: 'Graph View',\n icon: \"img\"\n,\n },\n {\n id: VitalsHistoryView.Values,\n title: 'Values View',\n icon: \"img\"\n,\n },\n ]\n\n const rangeModes = [\n {\n id: VitalsDateRangeType.SevenDays,\n title: 'Last 7 days',\n },\n {\n id: VitalsDateRangeType.ThirtyDays,\n title: 'Last 30 days',\n },\n {\n id: VitalsDateRangeType.SixMonth,\n title: 'Last 6 months',\n },\n {\n id: VitalsDateRangeType.Year,\n title: 'Last year',\n },\n ]\n\n const renderOptions = () => {\n return (\n \n Biometrics\n \n \n \n \n switchView(id as VitalsHistoryView)}\n />\n \n \n switchRange(id as VitalsDateRangeType)}\n />\n \n \n \n \n \n )\n }\n\n const getVitals = () => {\n const vitals: Array = [];\n\n items.forEach(vital => {\n if (!vitals.map(i => i[0].displayName).includes(vital.displayName)) {\n vitals.push([vital]);\n } else {\n const item = vitals.find(i => i[0].displayName === vital.displayName);\n item.push(vital);\n }\n });\n\n return vitals;\n }\n\n const renderTable = () => {\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n if (!hasItems) {\n return \n {renderOptions()}\n \n \n }\n\n const groupedVitals = getVitals();\n\n return (\n \n \n \n \n {\n columns.map((item, index) =>\n {item}\n )\n }\n \n \n \n {\n groupedVitals.map((vitals, index) => {\n\n return (\n \n \n \n )\n })\n }\n \n \n \n \n \n \n \n \n
\n
\n )\n }\n\n return (\n \n {hasItems && renderOptions()}\n {renderTable()}\n \n )\n}","import {GoalCategory} from \"../models/notes.models\";\n\nexport const goalCategoryNames = new Map()\n .set(GoalCategory.Diet, 'Diet')\n .set(GoalCategory.Exercise, 'Exercise')\n .set(GoalCategory.Mindfulness, 'Mindfulness')\n .set(GoalCategory.Longevity, 'Longevity')\n .set(GoalCategory.Neuro, 'Neuro')\n .set(GoalCategory.Sleep, 'Sleep')\n .set(GoalCategory.Other, 'Other');","var _mask, _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDiet = function SvgDiet(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 32,\n viewBox: \"0 0 27 32\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _mask || (_mask = /*#__PURE__*/React.createElement(\"mask\", {\n id: \"path-1-outside-1_104_1215\",\n maskUnits: \"userSpaceOnUse\",\n x: 1,\n y: 1,\n width: 26,\n height: 30,\n fill: \"black\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"white\",\n x: 1,\n y: 1,\n width: 26,\n height: 30\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9513 15.7523C25.8786 14.7956 25.6061 13.8845 25.1519 13.0371C24.6978 12.1897 24.0892 11.4699 23.3352 10.8777C22.5813 10.2855 21.7275 9.86632 20.8009 9.62942C19.8744 9.39252 18.9297 9.35608 17.985 9.51097L14.4879 10.0941V9.60209C14.5151 8.17158 14.7876 6.7593 15.2509 5.63859C15.8322 4.2263 16.6861 3.32426 17.7852 2.9598C17.8942 2.92336 17.9941 2.83224 18.0486 2.71379C18.1031 2.59534 18.1122 2.46778 18.0759 2.34022C18.0395 2.21266 17.9487 2.11243 17.8306 2.05776C17.7125 1.99398 17.5854 1.98487 17.4582 2.02132C15.7505 2.59534 14.8149 4.09874 14.3335 5.2559C14.2517 5.44724 14.179 5.6477 14.1064 5.84815L13.7975 6.75019L13.3524 5.91193C13.0345 5.30146 12.6258 4.74566 12.1353 4.25364C11.4722 3.5885 10.6909 3.06914 9.81892 2.7229C8.94691 2.37667 8.02947 2.21266 7.09387 2.23999C6.69419 2.2491 6.31269 2.41311 6.02201 2.70468C5.73134 2.99625 5.57692 3.36982 5.55875 3.77984C5.5315 4.73655 5.69501 5.66592 6.05835 6.54974C6.42169 7.43355 6.93945 8.21714 7.62071 8.88228L8.16572 9.41075L7.42088 9.57475C5.99476 9.88455 4.66857 10.6681 3.70572 11.7706C2.76103 12.8822 2.16152 14.2945 2.05252 15.7523V15.889C1.80726 18.8138 2.42494 21.7295 3.8238 24.308L4.47782 25.5108L6.33085 28.1166C6.71236 28.6542 7.19379 29.0825 7.75697 29.4105C8.32014 29.7294 8.95599 29.9298 9.59184 29.9845C10.2368 30.0392 10.8908 29.9481 11.4994 29.7294C12.108 29.5107 12.6621 29.1462 13.1254 28.6907C13.2434 28.5722 13.3706 28.4811 13.525 28.4173C13.6795 28.3535 13.8339 28.3262 13.9974 28.3262C14.1609 28.3262 14.3244 28.3627 14.4697 28.4173C14.6241 28.4811 14.7513 28.5722 14.8694 28.6816C15.3236 29.1371 15.8868 29.5016 16.4953 29.7203C17.0949 29.9389 17.758 30.0301 18.4029 29.9754C19.0478 29.9207 19.6837 29.7203 20.2378 29.4105C20.81 29.0825 21.2914 28.6542 21.6639 28.1166L23.4806 25.5654L24.1618 24.3171C25.5607 21.7386 26.1875 18.8229 25.9513 15.889V15.7523ZM6.98487 6.13972C6.68511 5.39258 6.54886 4.60899 6.57611 3.80717C6.57611 3.66139 6.63969 3.51561 6.7487 3.41538C6.8577 3.30604 6.99395 3.25137 7.14837 3.25137C7.93864 3.23315 8.71982 3.36982 9.46467 3.66139C10.2095 3.96207 10.8726 4.39942 11.4358 4.96433C12.5894 6.12149 13.198 7.65223 13.1526 9.28319C13.1526 9.41986 13.089 9.56564 12.98 9.67498C12.8801 9.77521 12.7348 9.83899 12.5894 9.83899C12.5349 9.83899 12.4804 9.83899 12.435 9.83899C12.1625 9.83899 11.89 9.82076 11.6175 9.78432L11.3268 9.73876C10.1641 9.51097 9.11949 8.95517 8.29289 8.12603C7.72972 7.56111 7.28462 6.89597 6.99395 6.14883L6.98487 6.13972ZM23.2989 23.8342L22.6721 24.9823L20.8645 27.5335C20.5738 27.9435 20.1923 28.2898 19.7563 28.5358C19.3203 28.7818 18.8298 28.9367 18.3302 28.9822C18.2394 28.9822 18.1395 28.9913 18.0486 28.9913C17.6399 28.9913 17.2311 28.9185 16.8496 28.7818C16.3773 28.6087 15.9413 28.3262 15.587 27.9709C14.7513 27.1326 13.2616 27.1326 12.4259 27.9709C12.0717 28.3262 11.6357 28.6087 11.1633 28.7818C10.6909 28.9549 10.1823 29.0187 9.68267 28.9822C9.18308 28.9458 8.69257 28.7909 8.25656 28.5358C7.82055 28.2898 7.43904 27.9435 7.14837 27.5335L5.35892 25.0278L4.7049 23.8342C3.39688 21.4288 2.81553 18.7045 3.03354 15.971V15.8343C3.1062 15.0234 3.34238 14.2398 3.72388 13.52C4.11448 12.8002 4.63224 12.1806 5.27717 11.6704C5.9221 11.1692 6.64878 10.8048 7.43904 10.6044C8.22931 10.4039 9.03774 10.3675 9.84618 10.5041L12.871 11.0144C13.6159 11.1419 14.3789 11.1419 15.1237 11.0144L18.1485 10.5041C18.957 10.3675 19.7654 10.4039 20.5557 10.6044C21.3459 10.8048 22.0726 11.1601 22.7176 11.6704C23.3625 12.1715 23.8802 12.8002 24.2708 13.52C24.6614 14.2398 24.8885 15.0234 24.9521 15.8343V15.971C25.1792 18.7045 24.6069 21.4197 23.2898 23.8342H23.2989Z\"\n }))), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9513 15.7523C25.8786 14.7956 25.6061 13.8845 25.1519 13.0371C24.6978 12.1897 24.0892 11.4699 23.3352 10.8777C22.5813 10.2855 21.7275 9.86632 20.8009 9.62942C19.8744 9.39252 18.9297 9.35608 17.985 9.51097L14.4879 10.0941V9.60209C14.5151 8.17158 14.7876 6.7593 15.2509 5.63859C15.8322 4.2263 16.6861 3.32426 17.7852 2.9598C17.8942 2.92336 17.9941 2.83224 18.0486 2.71379C18.1031 2.59534 18.1122 2.46778 18.0759 2.34022C18.0395 2.21266 17.9487 2.11243 17.8306 2.05776C17.7125 1.99398 17.5854 1.98487 17.4582 2.02132C15.7505 2.59534 14.8149 4.09874 14.3335 5.2559C14.2517 5.44724 14.179 5.6477 14.1064 5.84815L13.7975 6.75019L13.3524 5.91193C13.0345 5.30146 12.6258 4.74566 12.1353 4.25364C11.4722 3.5885 10.6909 3.06914 9.81892 2.7229C8.94691 2.37667 8.02947 2.21266 7.09387 2.23999C6.69419 2.2491 6.31269 2.41311 6.02201 2.70468C5.73134 2.99625 5.57692 3.36982 5.55875 3.77984C5.5315 4.73655 5.69501 5.66592 6.05835 6.54974C6.42169 7.43355 6.93945 8.21714 7.62071 8.88228L8.16572 9.41075L7.42088 9.57475C5.99476 9.88455 4.66857 10.6681 3.70572 11.7706C2.76103 12.8822 2.16152 14.2945 2.05252 15.7523V15.889C1.80726 18.8138 2.42494 21.7295 3.8238 24.308L4.47782 25.5108L6.33085 28.1166C6.71236 28.6542 7.19379 29.0825 7.75697 29.4105C8.32014 29.7294 8.95599 29.9298 9.59184 29.9845C10.2368 30.0392 10.8908 29.9481 11.4994 29.7294C12.108 29.5107 12.6621 29.1462 13.1254 28.6907C13.2434 28.5722 13.3706 28.4811 13.525 28.4173C13.6795 28.3535 13.8339 28.3262 13.9974 28.3262C14.1609 28.3262 14.3244 28.3627 14.4697 28.4173C14.6241 28.4811 14.7513 28.5722 14.8694 28.6816C15.3236 29.1371 15.8868 29.5016 16.4953 29.7203C17.0949 29.9389 17.758 30.0301 18.4029 29.9754C19.0478 29.9207 19.6837 29.7203 20.2378 29.4105C20.81 29.0825 21.2914 28.6542 21.6639 28.1166L23.4806 25.5654L24.1618 24.3171C25.5607 21.7386 26.1875 18.8229 25.9513 15.889V15.7523ZM6.98487 6.13972C6.68511 5.39258 6.54886 4.60899 6.57611 3.80717C6.57611 3.66139 6.63969 3.51561 6.7487 3.41538C6.8577 3.30604 6.99395 3.25137 7.14837 3.25137C7.93864 3.23315 8.71982 3.36982 9.46467 3.66139C10.2095 3.96207 10.8726 4.39942 11.4358 4.96433C12.5894 6.12149 13.198 7.65223 13.1526 9.28319C13.1526 9.41986 13.089 9.56564 12.98 9.67498C12.8801 9.77521 12.7348 9.83899 12.5894 9.83899C12.5349 9.83899 12.4804 9.83899 12.435 9.83899C12.1625 9.83899 11.89 9.82076 11.6175 9.78432L11.3268 9.73876C10.1641 9.51097 9.11949 8.95517 8.29289 8.12603C7.72972 7.56111 7.28462 6.89597 6.99395 6.14883L6.98487 6.13972ZM23.2989 23.8342L22.6721 24.9823L20.8645 27.5335C20.5738 27.9435 20.1923 28.2898 19.7563 28.5358C19.3203 28.7818 18.8298 28.9367 18.3302 28.9822C18.2394 28.9822 18.1395 28.9913 18.0486 28.9913C17.6399 28.9913 17.2311 28.9185 16.8496 28.7818C16.3773 28.6087 15.9413 28.3262 15.587 27.9709C14.7513 27.1326 13.2616 27.1326 12.4259 27.9709C12.0717 28.3262 11.6357 28.6087 11.1633 28.7818C10.6909 28.9549 10.1823 29.0187 9.68267 28.9822C9.18308 28.9458 8.69257 28.7909 8.25656 28.5358C7.82055 28.2898 7.43904 27.9435 7.14837 27.5335L5.35892 25.0278L4.7049 23.8342C3.39688 21.4288 2.81553 18.7045 3.03354 15.971V15.8343C3.1062 15.0234 3.34238 14.2398 3.72388 13.52C4.11448 12.8002 4.63224 12.1806 5.27717 11.6704C5.9221 11.1692 6.64878 10.8048 7.43904 10.6044C8.22931 10.4039 9.03774 10.3675 9.84618 10.5041L12.871 11.0144C13.6159 11.1419 14.3789 11.1419 15.1237 11.0144L18.1485 10.5041C18.957 10.3675 19.7654 10.4039 20.5557 10.6044C21.3459 10.8048 22.0726 11.1601 22.7176 11.6704C23.3625 12.1715 23.8802 12.8002 24.2708 13.52C24.6614 14.2398 24.8885 15.0234 24.9521 15.8343V15.971C25.1792 18.7045 24.6069 21.4197 23.2898 23.8342H23.2989Z\",\n fill: \"#7C8A9D\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.9513 15.7523H26.2013V15.7429L26.2006 15.7334L25.9513 15.7523ZM23.3352 10.8777L23.4897 10.6811L23.4897 10.6811L23.3352 10.8777ZM17.985 9.51097L17.9446 9.26427L17.9439 9.26438L17.985 9.51097ZM14.4879 10.0941H14.2379V10.3892L14.529 10.3407L14.4879 10.0941ZM14.4879 9.60209L14.2379 9.59733V9.60209H14.4879ZM15.2509 5.63859L15.4819 5.73409L15.4821 5.73375L15.2509 5.63859ZM17.7852 2.9598L17.8639 3.1971L17.8645 3.1969L17.7852 2.9598ZM18.0759 2.34022L18.3163 2.27174L18.3163 2.27173L18.0759 2.34022ZM17.8306 2.05776L17.7118 2.27773L17.7186 2.28139L17.7256 2.28463L17.8306 2.05776ZM17.4582 2.02132L17.3893 1.78075L17.3785 1.78435L17.4582 2.02132ZM14.3335 5.2559L14.5634 5.35413L14.5643 5.35193L14.3335 5.2559ZM14.1064 5.84815L13.8713 5.76293L13.8699 5.76717L14.1064 5.84815ZM13.7975 6.75019L13.5767 6.86743L13.8472 7.37686L14.0341 6.83117L13.7975 6.75019ZM13.3524 5.91193L13.1307 6.02741L13.1316 6.02917L13.3524 5.91193ZM9.81892 2.7229L9.72667 2.95526L9.72667 2.95526L9.81892 2.7229ZM7.09387 2.23999L7.09957 2.48993L7.10117 2.48989L7.09387 2.23999ZM6.02201 2.70468L6.19906 2.88119L6.19906 2.88119L6.02201 2.70468ZM5.55875 3.77984L5.30897 3.76877L5.30886 3.77272L5.55875 3.77984ZM7.62071 8.88228L7.44607 9.06116L7.44668 9.06176L7.62071 8.88228ZM8.16572 9.41075L8.21948 9.6549L8.67354 9.55492L8.33976 9.23127L8.16572 9.41075ZM7.42088 9.57475L7.47395 9.81906L7.47464 9.81891L7.42088 9.57475ZM3.70572 11.7706L3.5174 11.6061L3.51522 11.6087L3.70572 11.7706ZM2.05252 15.7523L1.80321 15.7337L1.80252 15.743V15.7523H2.05252ZM2.05252 15.889L2.30164 15.9099L2.30252 15.8995V15.889H2.05252ZM3.8238 24.308L3.60406 24.4272L3.60417 24.4275L3.8238 24.308ZM4.47782 25.5108L4.25819 25.6302L4.26537 25.6434L4.27408 25.6556L4.47782 25.5108ZM6.33085 28.1166L6.53473 27.972L6.53459 27.9718L6.33085 28.1166ZM7.75697 29.4105L7.63113 29.6265L7.63378 29.628L7.75697 29.4105ZM9.59184 29.9845L9.57042 30.2336L9.57072 30.2336L9.59184 29.9845ZM11.4994 29.7294L11.5839 29.9647L11.5839 29.9647L11.4994 29.7294ZM13.1254 28.6907L13.3007 28.8689L13.3024 28.8672L13.1254 28.6907ZM14.4697 28.4173L14.5652 28.1861L14.5577 28.1833L14.4697 28.4173ZM14.8694 28.6816L15.0466 28.5049L15.0392 28.4981L14.8694 28.6816ZM16.4953 29.7203L16.581 29.4854L16.5799 29.485L16.4953 29.7203ZM20.2378 29.4105L20.3598 29.6287L20.3621 29.6274L20.2378 29.4105ZM21.6639 28.1166L21.4602 27.9716L21.4584 27.9743L21.6639 28.1166ZM23.4806 25.5654L23.6842 25.7104L23.6929 25.6983L23.7 25.6852L23.4806 25.5654ZM24.1618 24.3171L24.3813 24.4369L24.3816 24.4364L24.1618 24.3171ZM25.9513 15.889H25.7013V15.8991L25.7021 15.9091L25.9513 15.889ZM6.98487 6.13972L6.75284 6.23281L6.77183 6.28012L6.80782 6.31623L6.98487 6.13972ZM6.57611 3.80717L6.82611 3.81567V3.80717H6.57611ZM6.7487 3.41538L6.91807 3.59958L6.92574 3.59188L6.7487 3.41538ZM7.14837 3.25137L7.14837 3.50144L7.15413 3.50131L7.14837 3.25137ZM9.46467 3.66139L9.55825 3.42955L9.5558 3.42859L9.46467 3.66139ZM11.4358 4.96433L11.6129 4.78783L11.6129 4.78782L11.4358 4.96433ZM13.1526 9.28319L12.9026 9.27623V9.28319H13.1526ZM12.98 9.67498L13.1571 9.85149L12.98 9.67498ZM11.6175 9.78432L11.5788 10.0314L11.5844 10.0321L11.6175 9.78432ZM11.3268 9.73876L11.2787 9.98428L11.2881 9.98575L11.3268 9.73876ZM6.99395 6.14883L7.22694 6.05819L7.20796 6.0094L7.17099 5.97232L6.99395 6.14883ZM23.2989 23.8342L23.5183 23.954L23.7202 23.5842H23.2989V23.8342ZM22.6721 24.9823L22.8761 25.1268L22.8846 25.1149L22.8916 25.1021L22.6721 24.9823ZM20.8645 27.5335L21.0685 27.6781L21.0685 27.678L20.8645 27.5335ZM18.3302 28.9822V29.2322H18.3416L18.3529 29.2312L18.3302 28.9822ZM16.8496 28.7818L16.7636 29.0165L16.7653 29.0171L16.8496 28.7818ZM11.1633 28.7818L11.2493 29.0165L11.2494 29.0165L11.1633 28.7818ZM8.25656 28.5358L8.38283 28.32L8.37941 28.318L8.25656 28.5358ZM7.14837 27.5335L7.35232 27.3889L7.35182 27.3882L7.14837 27.5335ZM5.35892 25.0278L5.13967 25.148L5.14682 25.161L5.15547 25.1731L5.35892 25.0278ZM4.7049 23.8342L4.48527 23.9537L4.48566 23.9544L4.7049 23.8342ZM3.03354 15.971L3.28275 15.9909L3.28354 15.981V15.971H3.03354ZM3.03354 15.8343L2.78453 15.812L2.78354 15.8232V15.8343H3.03354ZM3.72388 13.52L3.50414 13.4008L3.50299 13.4029L3.72388 13.52ZM5.27717 11.6704L5.12377 11.473L5.12205 11.4743L5.27717 11.6704ZM7.43904 10.6044L7.5005 10.8467L7.50051 10.8467L7.43904 10.6044ZM9.84618 10.5041L9.8045 10.7506L9.80459 10.7506L9.84618 10.5041ZM12.871 11.0144L12.9132 10.7679L12.9126 10.7678L12.871 11.0144ZM15.1237 11.0144L15.0822 10.7678L15.0815 10.7679L15.1237 11.0144ZM18.1485 10.5041L18.1901 10.7506L18.1902 10.7506L18.1485 10.5041ZM20.5557 10.6044L20.4942 10.8467L20.4942 10.8467L20.5557 10.6044ZM22.7176 11.6704L22.5624 11.8664L22.5642 11.8678L22.7176 11.6704ZM24.9521 15.8343H25.2021V15.8246L25.2013 15.8148L24.9521 15.8343ZM24.9521 15.971H24.7021V15.9814L24.703 15.9917L24.9521 15.971ZM23.2898 23.8342L23.0703 23.7145L22.8687 24.0842H23.2898V23.8342ZM26.2006 15.7334C26.1252 14.7408 25.8423 13.796 25.3723 12.919L24.9316 13.1552C25.3699 13.9729 25.6321 14.8504 25.702 15.7713L26.2006 15.7334ZM25.3723 12.919C24.9015 12.0407 24.2703 11.2943 23.4897 10.6811L23.1808 11.0743C23.908 11.6455 24.494 12.3387 24.9316 13.1552L25.3723 12.919ZM23.4897 10.6811C22.7082 10.0672 21.8228 9.63266 20.8629 9.38721L20.739 9.87163C21.6321 10.1 22.4544 10.5037 23.1808 11.0743L23.4897 10.6811ZM20.8629 9.38721C19.902 9.14153 18.9224 9.10394 17.9446 9.26427L18.0255 9.75768C18.937 9.60822 19.8468 9.64351 20.739 9.87163L20.8629 9.38721ZM17.9439 9.26438L14.4468 9.84751L14.529 10.3407L18.0262 9.75757L17.9439 9.26438ZM14.7379 10.0941V9.60209H14.2379V10.0941H14.7379ZM14.7378 9.60685C14.7646 8.20214 15.0325 6.82142 15.4819 5.73409L15.0199 5.54308C14.5428 6.69718 14.2657 8.14103 14.2379 9.59733L14.7378 9.60685ZM15.4821 5.73375C16.0451 4.36605 16.8542 3.5319 17.8639 3.1971L17.7065 2.72251C16.518 3.11663 15.6194 4.08656 15.0197 5.54342L15.4821 5.73375ZM17.8645 3.1969C18.0447 3.13666 18.195 2.99378 18.2757 2.81829L17.8215 2.60929C17.7933 2.6707 17.7438 2.71006 17.7059 2.72271L17.8645 3.1969ZM18.2757 2.81829C18.3559 2.64418 18.3686 2.45515 18.3163 2.27174L17.8354 2.4087C17.8559 2.48041 17.8504 2.54651 17.8215 2.60929L18.2757 2.81829ZM18.3163 2.27173C18.2587 2.06956 18.1153 1.91406 17.9357 1.8309L17.7256 2.28463C17.7821 2.31081 17.8204 2.35576 17.8354 2.4087L18.3163 2.27173ZM17.9494 1.8378C17.7685 1.7401 17.5733 1.72828 17.3893 1.78099L17.5271 2.26164C17.5975 2.24147 17.6565 2.24787 17.7118 2.27773L17.9494 1.8378ZM17.3785 1.78435C15.5685 2.39276 14.5941 3.97851 14.1026 5.15987L14.5643 5.35193C15.0356 4.21897 15.9325 2.79792 17.5379 2.25829L17.3785 1.78435ZM14.1036 5.15768C14.0186 5.35657 13.9436 5.56371 13.8713 5.76295L14.3414 5.93335C14.4145 5.73168 14.4848 5.53792 14.5634 5.35413L14.1036 5.15768ZM13.8699 5.76717L13.561 6.66921L14.0341 6.83117L14.3429 5.92913L13.8699 5.76717ZM14.0183 6.63295L13.5733 5.79469L13.1316 6.02917L13.5767 6.86743L14.0183 6.63295ZM13.5742 5.79646C13.2443 5.16307 12.8204 4.58677 12.3123 4.07713L11.9582 4.43014C12.4312 4.90454 12.8247 5.43985 13.1307 6.02741L13.5742 5.79646ZM12.3123 4.07713C11.6256 3.38831 10.8157 2.84968 9.91118 2.49055L9.72667 2.95526C10.5662 3.2886 11.3187 3.78869 11.9582 4.43014L12.3123 4.07713ZM9.91118 2.49055C9.00796 2.13192 8.05668 1.96176 7.08657 1.9901L7.10117 2.48989C8.00227 2.46356 8.88585 2.62141 9.72667 2.95526L9.91118 2.49055ZM7.08817 1.99006C6.62283 2.00067 6.18028 2.19182 5.84497 2.52818L6.19906 2.88119C6.44509 2.6344 6.76556 2.49754 7.09957 2.48993L7.08817 1.99006ZM5.84497 2.52818C5.50753 2.86665 5.32975 3.30047 5.309 3.76877L5.80851 3.7909C5.82409 3.43917 5.95515 3.12585 6.19906 2.88119L5.84497 2.52818ZM5.30886 3.77272C5.28064 4.76325 5.45004 5.72753 5.82712 6.64479L6.28957 6.45468C5.93998 5.60431 5.78237 4.70985 5.80865 3.78696L5.30886 3.77272ZM5.82712 6.64479C6.20275 7.55849 6.7392 8.37103 7.44607 9.06116L7.79536 8.7034C7.1397 8.06325 6.64063 7.30862 6.28957 6.45468L5.82712 6.64479ZM7.44668 9.06176L7.99169 9.59023L8.33976 9.23127L7.79474 8.7028L7.44668 9.06176ZM8.11196 9.1666L7.36712 9.3306L7.47464 9.81891L8.21948 9.6549L8.11196 9.1666ZM7.36781 9.33045C5.88908 9.65167 4.51551 10.4633 3.51742 11.6062L3.89402 11.9351C4.82163 10.8729 6.10044 10.1174 7.47394 9.81906L7.36781 9.33045ZM3.51522 11.6087C2.53766 12.759 1.91632 14.221 1.80321 15.7337L2.30182 15.771C2.40672 14.368 2.9844 13.0054 3.89622 11.9325L3.51522 11.6087ZM1.80252 15.7523V15.889H2.30252V15.7523H1.80252ZM1.80339 15.8681C1.55403 18.8418 2.18212 21.8062 3.60406 24.4272L4.04355 24.1888C2.66776 21.6528 2.06049 18.7858 2.30164 15.9099L1.80339 15.8681ZM3.60417 24.4275L4.25819 25.6302L4.69744 25.3913L4.04343 24.1886L3.60417 24.4275ZM4.27408 25.6556L6.12711 28.2615L6.53459 27.9718L4.68156 25.3659L4.27408 25.6556ZM6.12698 28.2613C6.53032 28.8297 7.039 29.2816 7.63114 29.6265L7.88279 29.1944C7.34858 28.8833 6.89441 28.4788 6.53473 27.972L6.12698 28.2613ZM7.63378 29.628C8.22725 29.9641 8.89768 30.1757 9.57042 30.2336L9.61325 29.7354C9.0143 29.6839 8.41304 29.4947 7.88015 29.1929L7.63378 29.628ZM9.57072 30.2336C10.2529 30.2914 10.9428 30.195 11.5839 29.9647L11.4149 29.4941C10.8387 29.7011 10.2207 29.7869 9.61295 29.7354L9.57072 30.2336ZM11.5839 29.9647C12.23 29.7325 12.8143 29.3472 13.3007 28.8689L12.9501 28.5124C12.5099 28.9453 11.986 29.2889 11.4149 29.4941L11.5839 29.9647ZM13.3024 28.8672C13.4011 28.7682 13.5014 28.6976 13.6205 28.6484L13.4296 28.1863C13.2398 28.2646 13.0858 28.3763 12.9483 28.5142L13.3024 28.8672ZM13.6205 28.6484C13.7418 28.5983 13.8635 28.5762 13.9974 28.5762V28.0762C13.8043 28.0762 13.6171 28.1088 13.4296 28.1863L13.6205 28.6484ZM13.9974 28.5762C14.125 28.5762 14.2585 28.605 14.3817 28.6513L14.5577 28.1833C14.3903 28.1203 14.1968 28.0762 13.9974 28.0762V28.5762ZM14.3743 28.6484C14.4942 28.6979 14.5969 28.7699 14.6995 28.865L15.0392 28.4981C14.9058 28.3745 14.754 28.2643 14.5652 28.1863L14.3743 28.6484ZM14.6923 28.8581C15.1716 29.3388 15.7661 29.7239 16.4108 29.9555L16.5799 29.485C16.0074 29.2793 15.4755 28.9354 15.0464 28.5051L14.6923 28.8581ZM16.4097 29.9551C17.0429 30.1861 17.7424 30.2823 18.424 30.2245L18.3818 29.7263C17.7735 29.7778 17.1468 29.6918 16.581 29.4854L16.4097 29.9551ZM18.424 30.2245C19.1055 30.1667 19.7756 29.9553 20.3598 29.6287L20.1158 29.1923C19.5917 29.4852 18.9902 29.6747 18.3818 29.7263L18.424 30.2245ZM20.3621 29.6274C20.9641 29.2823 21.4742 28.8295 21.8694 28.259L21.4584 27.9743C21.1087 28.479 20.656 28.8826 20.1134 29.1936L20.3621 29.6274ZM21.8675 28.2617L23.6842 25.7104L23.2769 25.4204L21.4602 27.9716L21.8675 28.2617ZM23.7 25.6852L24.3813 24.4369L23.9424 24.1974L23.2611 25.4457L23.7 25.6852ZM24.3816 24.4364C25.8033 21.8157 26.4406 18.8517 26.2005 15.8689L25.7021 15.9091C25.9343 18.7942 25.3181 21.6615 23.9421 24.1979L24.3816 24.4364ZM26.2013 15.889V15.7523H25.7013V15.889H26.2013ZM7.21689 6.04663C6.93015 5.33194 6.79989 4.58296 6.82596 3.81566L6.32625 3.79868C6.29783 4.63501 6.44007 5.45321 6.75284 6.23281L7.21689 6.04663ZM6.82611 3.80717C6.82611 3.73144 6.86032 3.65236 6.91791 3.59941L6.57948 3.23135C6.41907 3.37885 6.32611 3.59134 6.32611 3.80717H6.82611ZM6.92574 3.59188C6.98631 3.53113 7.05819 3.50137 7.14837 3.50137V3.00137C6.92971 3.00137 6.72909 3.08095 6.57165 3.23887L6.92574 3.59188ZM7.15413 3.50131C7.9114 3.48384 8.65964 3.61474 9.37354 3.89419L9.5558 3.42859C8.78 3.12491 7.96587 2.98245 7.14261 3.00144L7.15413 3.50131ZM9.37108 3.89321C10.0851 4.18146 10.7197 4.60016 11.2588 5.14084L11.6129 4.78782C11.0255 4.19868 10.3339 3.74268 9.55825 3.42957L9.37108 3.89321ZM11.2588 5.14084C12.3641 6.24952 12.9462 7.71396 12.9027 9.27623L13.4025 9.29015C13.4498 7.5905 12.8148 5.99347 11.6129 4.78783L11.2588 5.14084ZM12.9026 9.28319C12.9026 9.34596 12.871 9.43023 12.803 9.49848L13.1571 9.85149C13.307 9.70106 13.4026 9.49376 13.4026 9.28319H12.9026ZM12.803 9.49848C12.7478 9.55383 12.6653 9.58899 12.5894 9.58899V10.089C12.8042 10.089 13.0124 9.99659 13.1571 9.85149L12.803 9.49848ZM12.5894 9.58899C12.5893 9.58899 12.5892 9.58899 12.5891 9.58899C12.589 9.58899 12.5889 9.58899 12.5888 9.58899C12.5887 9.58899 12.5886 9.58899 12.5885 9.58899C12.5884 9.58899 12.5883 9.58899 12.5882 9.58899C12.588 9.58899 12.5879 9.58899 12.5878 9.58899C12.5877 9.58899 12.5876 9.58899 12.5875 9.58899C12.5874 9.58899 12.5873 9.58899 12.5872 9.58899C12.5871 9.58899 12.587 9.58899 12.5869 9.58899C12.5868 9.58899 12.5867 9.58899 12.5866 9.58899C12.5865 9.58899 12.5863 9.58899 12.5862 9.58899C12.5861 9.58899 12.586 9.58899 12.5859 9.58899C12.5858 9.58899 12.5857 9.58899 12.5856 9.58899C12.5855 9.58899 12.5854 9.58899 12.5853 9.58899C12.5852 9.58899 12.5851 9.58899 12.585 9.58899C12.5849 9.58899 12.5847 9.58899 12.5846 9.58899C12.5845 9.58899 12.5844 9.58899 12.5843 9.58899C12.5842 9.58899 12.5841 9.58899 12.584 9.58899C12.5839 9.58899 12.5838 9.58899 12.5837 9.58899C12.5836 9.58899 12.5835 9.58899 12.5834 9.58899C12.5833 9.58899 12.5832 9.58899 12.583 9.58899C12.5829 9.58899 12.5828 9.58899 12.5827 9.58899C12.5826 9.58899 12.5825 9.58899 12.5824 9.58899C12.5823 9.58899 12.5822 9.58899 12.5821 9.58899C12.582 9.58899 12.5819 9.58899 12.5818 9.58899C12.5817 9.58899 12.5816 9.58899 12.5815 9.58899C12.5813 9.58899 12.5812 9.58899 12.5811 9.58899C12.581 9.58899 12.5809 9.58899 12.5808 9.58899C12.5807 9.58899 12.5806 9.58899 12.5805 9.58899C12.5804 9.58899 12.5803 9.58899 12.5802 9.58899C12.5801 9.58899 12.58 9.58899 12.5799 9.58899C12.5797 9.58899 12.5796 9.58899 12.5795 9.58899C12.5794 9.58899 12.5793 9.58899 12.5792 9.58899C12.5791 9.58899 12.579 9.58899 12.5789 9.58899C12.5788 9.58899 12.5787 9.58899 12.5786 9.58899C12.5785 9.58899 12.5784 9.58899 12.5783 9.58899C12.5782 9.58899 12.578 9.58899 12.5779 9.58899C12.5778 9.58899 12.5777 9.58899 12.5776 9.58899C12.5775 9.58899 12.5774 9.58899 12.5773 9.58899C12.5772 9.58899 12.5771 9.58899 12.577 9.58899C12.5769 9.58899 12.5768 9.58899 12.5767 9.58899C12.5766 9.58899 12.5765 9.58899 12.5763 9.58899C12.5762 9.58899 12.5761 9.58899 12.576 9.58899C12.5759 9.58899 12.5758 9.58899 12.5757 9.58899C12.5756 9.58899 12.5755 9.58899 12.5754 9.58899C12.5753 9.58899 12.5752 9.58899 12.5751 9.58899C12.575 9.58899 12.5749 9.58899 12.5748 9.58899C12.5746 9.58899 12.5745 9.58899 12.5744 9.58899C12.5743 9.58899 12.5742 9.58899 12.5741 9.58899C12.574 9.58899 12.5739 9.58899 12.5738 9.58899C12.5737 9.58899 12.5736 9.58899 12.5735 9.58899C12.5734 9.58899 12.5733 9.58899 12.5732 9.58899C12.573 9.58899 12.5729 9.58899 12.5728 9.58899C12.5727 9.58899 12.5726 9.58899 12.5725 9.58899C12.5724 9.58899 12.5723 9.58899 12.5722 9.58899C12.5721 9.58899 12.572 9.58899 12.5719 9.58899C12.5718 9.58899 12.5717 9.58899 12.5716 9.58899C12.5715 9.58899 12.5713 9.58899 12.5712 9.58899C12.5711 9.58899 12.571 9.58899 12.5709 9.58899C12.5708 9.58899 12.5707 9.58899 12.5706 9.58899C12.5705 9.58899 12.5704 9.58899 12.5703 9.58899C12.5702 9.58899 12.5701 9.58899 12.57 9.58899C12.5699 9.58899 12.5698 9.58899 12.5697 9.58899C12.5695 9.58899 12.5694 9.58899 12.5693 9.58899C12.5692 9.58899 12.5691 9.58899 12.569 9.58899C12.5689 9.58899 12.5688 9.58899 12.5687 9.58899C12.5686 9.58899 12.5685 9.58899 12.5684 9.58899C12.5683 9.58899 12.5682 9.58899 12.5681 9.58899C12.568 9.58899 12.5678 9.58899 12.5677 9.58899C12.5676 9.58899 12.5675 9.58899 12.5674 9.58899C12.5673 9.58899 12.5672 9.58899 12.5671 9.58899C12.567 9.58899 12.5669 9.58899 12.5668 9.58899C12.5667 9.58899 12.5666 9.58899 12.5665 9.58899C12.5664 9.58899 12.5663 9.58899 12.5661 9.58899C12.566 9.58899 12.5659 9.58899 12.5658 9.58899C12.5657 9.58899 12.5656 9.58899 12.5655 9.58899C12.5654 9.58899 12.5653 9.58899 12.5652 9.58899C12.5651 9.58899 12.565 9.58899 12.5649 9.58899C12.5648 9.58899 12.5647 9.58899 12.5646 9.58899C12.5645 9.58899 12.5643 9.58899 12.5642 9.58899C12.5641 9.58899 12.564 9.58899 12.5639 9.58899C12.5638 9.58899 12.5637 9.58899 12.5636 9.58899C12.5635 9.58899 12.5634 9.58899 12.5633 9.58899C12.5632 9.58899 12.5631 9.58899 12.563 9.58899C12.5629 9.58899 12.5628 9.58899 12.5626 9.58899C12.5625 9.58899 12.5624 9.58899 12.5623 9.58899C12.5622 9.58899 12.5621 9.58899 12.562 9.58899C12.5619 9.58899 12.5618 9.58899 12.5617 9.58899C12.5616 9.58899 12.5615 9.58899 12.5614 9.58899C12.5613 9.58899 12.5612 9.58899 12.5611 9.58899C12.561 9.58899 12.5608 9.58899 12.5607 9.58899C12.5606 9.58899 12.5605 9.58899 12.5604 9.58899C12.5603 9.58899 12.5602 9.58899 12.5601 9.58899C12.56 9.58899 12.5599 9.58899 12.5598 9.58899C12.5597 9.58899 12.5596 9.58899 12.5595 9.58899C12.5594 9.58899 12.5593 9.58899 12.5592 9.58899C12.559 9.58899 12.5589 9.58899 12.5588 9.58899C12.5587 9.58899 12.5586 9.58899 12.5585 9.58899C12.5584 9.58899 12.5583 9.58899 12.5582 9.58899C12.5581 9.58899 12.558 9.58899 12.5579 9.58899C12.5578 9.58899 12.5577 9.58899 12.5576 9.58899C12.5575 9.58899 12.5574 9.58899 12.5572 9.58899C12.5571 9.58899 12.557 9.58899 12.5569 9.58899C12.5568 9.58899 12.5567 9.58899 12.5566 9.58899C12.5565 9.58899 12.5564 9.58899 12.5563 9.58899C12.5562 9.58899 12.5561 9.58899 12.556 9.58899C12.5559 9.58899 12.5558 9.58899 12.5557 9.58899C12.5556 9.58899 12.5555 9.58899 12.5553 9.58899C12.5552 9.58899 12.5551 9.58899 12.555 9.58899C12.5549 9.58899 12.5548 9.58899 12.5547 9.58899C12.5546 9.58899 12.5545 9.58899 12.5544 9.58899C12.5543 9.58899 12.5542 9.58899 12.5541 9.58899C12.554 9.58899 12.5539 9.58899 12.5538 9.58899C12.5537 9.58899 12.5536 9.58899 12.5534 9.58899C12.5533 9.58899 12.5532 9.58899 12.5531 9.58899C12.553 9.58899 12.5529 9.58899 12.5528 9.58899C12.5527 9.58899 12.5526 9.58899 12.5525 9.58899C12.5524 9.58899 12.5523 9.58899 12.5522 9.58899C12.5521 9.58899 12.552 9.58899 12.5519 9.58899C12.5518 9.58899 12.5517 9.58899 12.5515 9.58899C12.5514 9.58899 12.5513 9.58899 12.5512 9.58899C12.5511 9.58899 12.551 9.58899 12.5509 9.58899C12.5508 9.58899 12.5507 9.58899 12.5506 9.58899C12.5505 9.58899 12.5504 9.58899 12.5503 9.58899C12.5502 9.58899 12.5501 9.58899 12.55 9.58899C12.5499 9.58899 12.5498 9.58899 12.5496 9.58899C12.5495 9.58899 12.5494 9.58899 12.5493 9.58899C12.5492 9.58899 12.5491 9.58899 12.549 9.58899C12.5489 9.58899 12.5488 9.58899 12.5487 9.58899C12.5486 9.58899 12.5485 9.58899 12.5484 9.58899C12.5483 9.58899 12.5482 9.58899 12.5481 9.58899C12.548 9.58899 12.5479 9.58899 12.5478 9.58899C12.5476 9.58899 12.5475 9.58899 12.5474 9.58899C12.5473 9.58899 12.5472 9.58899 12.5471 9.58899C12.547 9.58899 12.5469 9.58899 12.5468 9.58899C12.5467 9.58899 12.5466 9.58899 12.5465 9.58899C12.5464 9.58899 12.5463 9.58899 12.5462 9.58899C12.5461 9.58899 12.546 9.58899 12.5459 9.58899C12.5458 9.58899 12.5456 9.58899 12.5455 9.58899C12.5454 9.58899 12.5453 9.58899 12.5452 9.58899C12.5451 9.58899 12.545 9.58899 12.5449 9.58899C12.5448 9.58899 12.5447 9.58899 12.5446 9.58899C12.5445 9.58899 12.5444 9.58899 12.5443 9.58899C12.5442 9.58899 12.5441 9.58899 12.544 9.58899C12.5439 9.58899 12.5438 9.58899 12.5437 9.58899C12.5435 9.58899 12.5434 9.58899 12.5433 9.58899C12.5432 9.58899 12.5431 9.58899 12.543 9.58899C12.5429 9.58899 12.5428 9.58899 12.5427 9.58899C12.5426 9.58899 12.5425 9.58899 12.5424 9.58899C12.5423 9.58899 12.5422 9.58899 12.5421 9.58899C12.542 9.58899 12.5419 9.58899 12.5418 9.58899C12.5417 9.58899 12.5416 9.58899 12.5414 9.58899C12.5413 9.58899 12.5412 9.58899 12.5411 9.58899C12.541 9.58899 12.5409 9.58899 12.5408 9.58899C12.5407 9.58899 12.5406 9.58899 12.5405 9.58899C12.5404 9.58899 12.5403 9.58899 12.5402 9.58899C12.5401 9.58899 12.54 9.58899 12.5399 9.58899C12.5398 9.58899 12.5397 9.58899 12.5396 9.58899C12.5395 9.58899 12.5393 9.58899 12.5392 9.58899C12.5391 9.58899 12.539 9.58899 12.5389 9.58899C12.5388 9.58899 12.5387 9.58899 12.5386 9.58899C12.5385 9.58899 12.5384 9.58899 12.5383 9.58899C12.5382 9.58899 12.5381 9.58899 12.538 9.58899C12.5379 9.58899 12.5378 9.58899 12.5377 9.58899C12.5376 9.58899 12.5375 9.58899 12.5374 9.58899C12.5373 9.58899 12.5372 9.58899 12.537 9.58899C12.5369 9.58899 12.5368 9.58899 12.5367 9.58899C12.5366 9.58899 12.5365 9.58899 12.5364 9.58899C12.5363 9.58899 12.5362 9.58899 12.5361 9.58899C12.536 9.58899 12.5359 9.58899 12.5358 9.58899C12.5357 9.58899 12.5356 9.58899 12.5355 9.58899C12.5354 9.58899 12.5353 9.58899 12.5352 9.58899C12.5351 9.58899 12.535 9.58899 12.5349 9.58899C12.5347 9.58899 12.5346 9.58899 12.5345 9.58899C12.5344 9.58899 12.5343 9.58899 12.5342 9.58899C12.5341 9.58899 12.534 9.58899 12.5339 9.58899C12.5338 9.58899 12.5337 9.58899 12.5336 9.58899C12.5335 9.58899 12.5334 9.58899 12.5333 9.58899C12.5332 9.58899 12.5331 9.58899 12.533 9.58899C12.5329 9.58899 12.5328 9.58899 12.5327 9.58899C12.5326 9.58899 12.5325 9.58899 12.5323 9.58899C12.5322 9.58899 12.5321 9.58899 12.532 9.58899C12.5319 9.58899 12.5318 9.58899 12.5317 9.58899C12.5316 9.58899 12.5315 9.58899 12.5314 9.58899C12.5313 9.58899 12.5312 9.58899 12.5311 9.58899C12.531 9.58899 12.5309 9.58899 12.5308 9.58899C12.5307 9.58899 12.5306 9.58899 12.5305 9.58899C12.5304 9.58899 12.5303 9.58899 12.5302 9.58899C12.5301 9.58899 12.53 9.58899 12.5298 9.58899C12.5297 9.58899 12.5296 9.58899 12.5295 9.58899C12.5294 9.58899 12.5293 9.58899 12.5292 9.58899C12.5291 9.58899 12.529 9.58899 12.5289 9.58899C12.5288 9.58899 12.5287 9.58899 12.5286 9.58899C12.5285 9.58899 12.5284 9.58899 12.5283 9.58899C12.5282 9.58899 12.5281 9.58899 12.528 9.58899C12.5279 9.58899 12.5278 9.58899 12.5277 9.58899C12.5276 9.58899 12.5275 9.58899 12.5274 9.58899C12.5272 9.58899 12.5271 9.58899 12.527 9.58899C12.5269 9.58899 12.5268 9.58899 12.5267 9.58899C12.5266 9.58899 12.5265 9.58899 12.5264 9.58899C12.5263 9.58899 12.5262 9.58899 12.5261 9.58899C12.526 9.58899 12.5259 9.58899 12.5258 9.58899C12.5257 9.58899 12.5256 9.58899 12.5255 9.58899C12.5254 9.58899 12.5253 9.58899 12.5252 9.58899C12.5251 9.58899 12.525 9.58899 12.5249 9.58899C12.5248 9.58899 12.5247 9.58899 12.5246 9.58899C12.5244 9.58899 12.5243 9.58899 12.5242 9.58899C12.5241 9.58899 12.524 9.58899 12.5239 9.58899C12.5238 9.58899 12.5237 9.58899 12.5236 9.58899C12.5235 9.58899 12.5234 9.58899 12.5233 9.58899C12.5232 9.58899 12.5231 9.58899 12.523 9.58899C12.5229 9.58899 12.5228 9.58899 12.5227 9.58899C12.5226 9.58899 12.5225 9.58899 12.5224 9.58899C12.5223 9.58899 12.5222 9.58899 12.5221 9.58899C12.522 9.58899 12.5219 9.58899 12.5218 9.58899C12.5217 9.58899 12.5216 9.58899 12.5214 9.58899C12.5213 9.58899 12.5212 9.58899 12.5211 9.58899C12.521 9.58899 12.5209 9.58899 12.5208 9.58899C12.5207 9.58899 12.5206 9.58899 12.5205 9.58899C12.5204 9.58899 12.5203 9.58899 12.5202 9.58899C12.5201 9.58899 12.52 9.58899 12.5199 9.58899C12.5198 9.58899 12.5197 9.58899 12.5196 9.58899C12.5195 9.58899 12.5194 9.58899 12.5193 9.58899C12.5192 9.58899 12.5191 9.58899 12.519 9.58899C12.5189 9.58899 12.5188 9.58899 12.5187 9.58899C12.5186 9.58899 12.5185 9.58899 12.5184 9.58899C12.5182 9.58899 12.5181 9.58899 12.518 9.58899C12.5179 9.58899 12.5178 9.58899 12.5177 9.58899C12.5176 9.58899 12.5175 9.58899 12.5174 9.58899C12.5173 9.58899 12.5172 9.58899 12.5171 9.58899C12.517 9.58899 12.5169 9.58899 12.5168 9.58899C12.5167 9.58899 12.5166 9.58899 12.5165 9.58899C12.5164 9.58899 12.5163 9.58899 12.5162 9.58899C12.5161 9.58899 12.516 9.58899 12.5159 9.58899C12.5158 9.58899 12.5157 9.58899 12.5156 9.58899C12.5155 9.58899 12.5154 9.58899 12.5153 9.58899C12.5152 9.58899 12.5151 9.58899 12.515 9.58899C12.5149 9.58899 12.5148 9.58899 12.5147 9.58899C12.5145 9.58899 12.5144 9.58899 12.5143 9.58899C12.5142 9.58899 12.5141 9.58899 12.514 9.58899C12.5139 9.58899 12.5138 9.58899 12.5137 9.58899C12.5136 9.58899 12.5135 9.58899 12.5134 9.58899C12.5133 9.58899 12.5132 9.58899 12.5131 9.58899C12.513 9.58899 12.5129 9.58899 12.5128 9.58899C12.5127 9.58899 12.5126 9.58899 12.5125 9.58899C12.5124 9.58899 12.5123 9.58899 12.5122 9.58899C12.5121 9.58899 12.512 9.58899 12.5119 9.58899C12.5118 9.58899 12.5117 9.58899 12.5116 9.58899C12.5115 9.58899 12.5114 9.58899 12.5113 9.58899C12.5112 9.58899 12.5111 9.58899 12.511 9.58899C12.5109 9.58899 12.5108 9.58899 12.5107 9.58899C12.5106 9.58899 12.5105 9.58899 12.5103 9.58899C12.5102 9.58899 12.5101 9.58899 12.51 9.58899C12.5099 9.58899 12.5098 9.58899 12.5097 9.58899C12.5096 9.58899 12.5095 9.58899 12.5094 9.58899C12.5093 9.58899 12.5092 9.58899 12.5091 9.58899C12.509 9.58899 12.5089 9.58899 12.5088 9.58899C12.5087 9.58899 12.5086 9.58899 12.5085 9.58899C12.5084 9.58899 12.5083 9.58899 12.5082 9.58899C12.5081 9.58899 12.508 9.58899 12.5079 9.58899C12.5078 9.58899 12.5077 9.58899 12.5076 9.58899C12.5075 9.58899 12.5074 9.58899 12.5073 9.58899C12.5072 9.58899 12.5071 9.58899 12.507 9.58899C12.5069 9.58899 12.5068 9.58899 12.5067 9.58899C12.5066 9.58899 12.5065 9.58899 12.5064 9.58899C12.5063 9.58899 12.5062 9.58899 12.5061 9.58899C12.506 9.58899 12.5059 9.58899 12.5058 9.58899C12.5057 9.58899 12.5056 9.58899 12.5055 9.58899C12.5054 9.58899 12.5053 9.58899 12.5052 9.58899C12.5051 9.58899 12.5049 9.58899 12.5048 9.58899C12.5047 9.58899 12.5046 9.58899 12.5045 9.58899C12.5044 9.58899 12.5043 9.58899 12.5042 9.58899C12.5041 9.58899 12.504 9.58899 12.5039 9.58899C12.5038 9.58899 12.5037 9.58899 12.5036 9.58899C12.5035 9.58899 12.5034 9.58899 12.5033 9.58899C12.5032 9.58899 12.5031 9.58899 12.503 9.58899C12.5029 9.58899 12.5028 9.58899 12.5027 9.58899C12.5026 9.58899 12.5025 9.58899 12.5024 9.58899C12.5023 9.58899 12.5022 9.58899 12.5021 9.58899C12.502 9.58899 12.5019 9.58899 12.5018 9.58899C12.5017 9.58899 12.5016 9.58899 12.5015 9.58899C12.5014 9.58899 12.5013 9.58899 12.5012 9.58899C12.5011 9.58899 12.501 9.58899 12.5009 9.58899C12.5008 9.58899 12.5007 9.58899 12.5006 9.58899C12.5005 9.58899 12.5004 9.58899 12.5003 9.58899C12.5002 9.58899 12.5001 9.58899 12.5 9.58899C12.4999 9.58899 12.4998 9.58899 12.4997 9.58899C12.4996 9.58899 12.4995 9.58899 12.4994 9.58899C12.4993 9.58899 12.4992 9.58899 12.4991 9.58899C12.499 9.58899 12.4989 9.58899 12.4988 9.58899C12.4987 9.58899 12.4986 9.58899 12.4985 9.58899C12.4984 9.58899 12.4983 9.58899 12.4982 9.58899C12.4981 9.58899 12.498 9.58899 12.4979 9.58899C12.4978 9.58899 12.4977 9.58899 12.4976 9.58899C12.4975 9.58899 12.4974 9.58899 12.4973 9.58899C12.4972 9.58899 12.4971 9.58899 12.497 9.58899C12.4969 9.58899 12.4968 9.58899 12.4967 9.58899C12.4966 9.58899 12.4965 9.58899 12.4964 9.58899C12.4963 9.58899 12.4962 9.58899 12.4961 9.58899C12.496 9.58899 12.4959 9.58899 12.4958 9.58899C12.4957 9.58899 12.4956 9.58899 12.4955 9.58899C12.4954 9.58899 12.4953 9.58899 12.4952 9.58899C12.4951 9.58899 12.495 9.58899 12.4949 9.58899C12.4948 9.58899 12.4947 9.58899 12.4946 9.58899C12.4945 9.58899 12.4944 9.58899 12.4943 9.58899C12.4942 9.58899 12.4941 9.58899 12.494 9.58899C12.4939 9.58899 12.4938 9.58899 12.4937 9.58899C12.4936 9.58899 12.4935 9.58899 12.4934 9.58899C12.4933 9.58899 12.4932 9.58899 12.4931 9.58899C12.493 9.58899 12.4929 9.58899 12.4928 9.58899C12.4927 9.58899 12.4926 9.58899 12.4925 9.58899C12.4924 9.58899 12.4923 9.58899 12.4922 9.58899C12.4921 9.58899 12.492 9.58899 12.4919 9.58899C12.4918 9.58899 12.4917 9.58899 12.4916 9.58899C12.4915 9.58899 12.4914 9.58899 12.4913 9.58899C12.4912 9.58899 12.4911 9.58899 12.491 9.58899C12.4909 9.58899 12.4908 9.58899 12.4907 9.58899C12.4906 9.58899 12.4905 9.58899 12.4904 9.58899C12.4903 9.58899 12.4902 9.58899 12.4901 9.58899C12.49 9.58899 12.4899 9.58899 12.4898 9.58899C12.4897 9.58899 12.4896 9.58899 12.4895 9.58899C12.4894 9.58899 12.4893 9.58899 12.4892 9.58899C12.4891 9.58899 12.489 9.58899 12.4889 9.58899C12.4888 9.58899 12.4887 9.58899 12.4886 9.58899C12.4885 9.58899 12.4884 9.58899 12.4883 9.58899C12.4882 9.58899 12.4881 9.58899 12.488 9.58899C12.4879 9.58899 12.4878 9.58899 12.4877 9.58899C12.4876 9.58899 12.4875 9.58899 12.4874 9.58899C12.4873 9.58899 12.4872 9.58899 12.4871 9.58899C12.487 9.58899 12.4869 9.58899 12.4868 9.58899C12.4867 9.58899 12.4866 9.58899 12.4865 9.58899C12.4864 9.58899 12.4863 9.58899 12.4862 9.58899C12.4861 9.58899 12.486 9.58899 12.4859 9.58899C12.4858 9.58899 12.4857 9.58899 12.4856 9.58899C12.4855 9.58899 12.4854 9.58899 12.4853 9.58899C12.4852 9.58899 12.4851 9.58899 12.485 9.58899C12.4849 9.58899 12.4848 9.58899 12.4847 9.58899C12.4846 9.58899 12.4845 9.58899 12.4844 9.58899C12.4843 9.58899 12.4842 9.58899 12.4841 9.58899C12.484 9.58899 12.4839 9.58899 12.4838 9.58899C12.4837 9.58899 12.4836 9.58899 12.4835 9.58899C12.4834 9.58899 12.4833 9.58899 12.4832 9.58899C12.4831 9.58899 12.483 9.58899 12.4829 9.58899C12.4828 9.58899 12.4827 9.58899 12.4826 9.58899C12.4825 9.58899 12.4824 9.58899 12.4823 9.58899C12.4822 9.58899 12.4821 9.58899 12.482 9.58899C12.4819 9.58899 12.4818 9.58899 12.4817 9.58899C12.4816 9.58899 12.4815 9.58899 12.4814 9.58899C12.4814 9.58899 12.4813 9.58899 12.4812 9.58899C12.4811 9.58899 12.481 9.58899 12.4809 9.58899C12.4808 9.58899 12.4807 9.58899 12.4806 9.58899C12.4805 9.58899 12.4804 9.58899 12.4803 9.58899C12.4802 9.58899 12.4801 9.58899 12.48 9.58899C12.4799 9.58899 12.4798 9.58899 12.4797 9.58899C12.4796 9.58899 12.4795 9.58899 12.4794 9.58899C12.4793 9.58899 12.4792 9.58899 12.4791 9.58899C12.479 9.58899 12.4789 9.58899 12.4788 9.58899C12.4787 9.58899 12.4786 9.58899 12.4785 9.58899C12.4784 9.58899 12.4783 9.58899 12.4782 9.58899C12.4781 9.58899 12.478 9.58899 12.4779 9.58899C12.4778 9.58899 12.4777 9.58899 12.4776 9.58899C12.4775 9.58899 12.4774 9.58899 12.4773 9.58899C12.4772 9.58899 12.4771 9.58899 12.477 9.58899C12.4769 9.58899 12.4768 9.58899 12.4767 9.58899C12.4767 9.58899 12.4766 9.58899 12.4765 9.58899C12.4764 9.58899 12.4763 9.58899 12.4762 9.58899C12.4761 9.58899 12.476 9.58899 12.4759 9.58899C12.4758 9.58899 12.4757 9.58899 12.4756 9.58899C12.4755 9.58899 12.4754 9.58899 12.4753 9.58899C12.4752 9.58899 12.4751 9.58899 12.475 9.58899C12.4749 9.58899 12.4748 9.58899 12.4747 9.58899C12.4746 9.58899 12.4745 9.58899 12.4744 9.58899C12.4743 9.58899 12.4742 9.58899 12.4741 9.58899C12.474 9.58899 12.4739 9.58899 12.4738 9.58899C12.4737 9.58899 12.4736 9.58899 12.4735 9.58899C12.4734 9.58899 12.4733 9.58899 12.4732 9.58899C12.4732 9.58899 12.4731 9.58899 12.473 9.58899C12.4729 9.58899 12.4728 9.58899 12.4727 9.58899C12.4726 9.58899 12.4725 9.58899 12.4724 9.58899C12.4723 9.58899 12.4722 9.58899 12.4721 9.58899C12.472 9.58899 12.4719 9.58899 12.4718 9.58899C12.4717 9.58899 12.4716 9.58899 12.4715 9.58899C12.4714 9.58899 12.4713 9.58899 12.4712 9.58899C12.4711 9.58899 12.471 9.58899 12.4709 9.58899C12.4708 9.58899 12.4707 9.58899 12.4706 9.58899C12.4705 9.58899 12.4704 9.58899 12.4703 9.58899C12.4703 9.58899 12.4702 9.58899 12.4701 9.58899C12.47 9.58899 12.4699 9.58899 12.4698 9.58899C12.4697 9.58899 12.4696 9.58899 12.4695 9.58899C12.4694 9.58899 12.4693 9.58899 12.4692 9.58899C12.4691 9.58899 12.469 9.58899 12.4689 9.58899C12.4688 9.58899 12.4687 9.58899 12.4686 9.58899C12.4685 9.58899 12.4684 9.58899 12.4683 9.58899C12.4682 9.58899 12.4681 9.58899 12.468 9.58899C12.4679 9.58899 12.4678 9.58899 12.4678 9.58899C12.4677 9.58899 12.4676 9.58899 12.4675 9.58899C12.4674 9.58899 12.4673 9.58899 12.4672 9.58899C12.4671 9.58899 12.467 9.58899 12.4669 9.58899C12.4668 9.58899 12.4667 9.58899 12.4666 9.58899C12.4665 9.58899 12.4664 9.58899 12.4663 9.58899C12.4662 9.58899 12.4661 9.58899 12.466 9.58899C12.4659 9.58899 12.4658 9.58899 12.4657 9.58899C12.4656 9.58899 12.4656 9.58899 12.4655 9.58899C12.4654 9.58899 12.4653 9.58899 12.4652 9.58899C12.4651 9.58899 12.465 9.58899 12.4649 9.58899C12.4648 9.58899 12.4647 9.58899 12.4646 9.58899C12.4645 9.58899 12.4644 9.58899 12.4643 9.58899C12.4642 9.58899 12.4641 9.58899 12.464 9.58899C12.4639 9.58899 12.4638 9.58899 12.4637 9.58899C12.4636 9.58899 12.4635 9.58899 12.4635 9.58899C12.4634 9.58899 12.4633 9.58899 12.4632 9.58899C12.4631 9.58899 12.463 9.58899 12.4629 9.58899C12.4628 9.58899 12.4627 9.58899 12.4626 9.58899C12.4625 9.58899 12.4624 9.58899 12.4623 9.58899C12.4622 9.58899 12.4621 9.58899 12.462 9.58899C12.4619 9.58899 12.4618 9.58899 12.4617 9.58899C12.4616 9.58899 12.4616 9.58899 12.4615 9.58899C12.4614 9.58899 12.4613 9.58899 12.4612 9.58899C12.4611 9.58899 12.461 9.58899 12.4609 9.58899C12.4608 9.58899 12.4607 9.58899 12.4606 9.58899C12.4605 9.58899 12.4604 9.58899 12.4603 9.58899C12.4602 9.58899 12.4601 9.58899 12.46 9.58899C12.4599 9.58899 12.4599 9.58899 12.4598 9.58899C12.4597 9.58899 12.4596 9.58899 12.4595 9.58899C12.4594 9.58899 12.4593 9.58899 12.4592 9.58899C12.4591 9.58899 12.459 9.58899 12.4589 9.58899C12.4588 9.58899 12.4587 9.58899 12.4586 9.58899C12.4585 9.58899 12.4584 9.58899 12.4583 9.58899C12.4582 9.58899 12.4582 9.58899 12.4581 9.58899C12.458 9.58899 12.4579 9.58899 12.4578 9.58899C12.4577 9.58899 12.4576 9.58899 12.4575 9.58899C12.4574 9.58899 12.4573 9.58899 12.4572 9.58899C12.4571 9.58899 12.457 9.58899 12.4569 9.58899C12.4568 9.58899 12.4567 9.58899 12.4567 9.58899C12.4566 9.58899 12.4565 9.58899 12.4564 9.58899C12.4563 9.58899 12.4562 9.58899 12.4561 9.58899C12.456 9.58899 12.4559 9.58899 12.4558 9.58899C12.4557 9.58899 12.4556 9.58899 12.4555 9.58899C12.4554 9.58899 12.4553 9.58899 12.4552 9.58899C12.4552 9.58899 12.4551 9.58899 12.455 9.58899C12.4549 9.58899 12.4548 9.58899 12.4547 9.58899C12.4546 9.58899 12.4545 9.58899 12.4544 9.58899C12.4543 9.58899 12.4542 9.58899 12.4541 9.58899C12.454 9.58899 12.4539 9.58899 12.4538 9.58899C12.4538 9.58899 12.4537 9.58899 12.4536 9.58899C12.4535 9.58899 12.4534 9.58899 12.4533 9.58899C12.4532 9.58899 12.4531 9.58899 12.453 9.58899C12.4529 9.58899 12.4528 9.58899 12.4527 9.58899C12.4526 9.58899 12.4525 9.58899 12.4525 9.58899C12.4524 9.58899 12.4523 9.58899 12.4522 9.58899C12.4521 9.58899 12.452 9.58899 12.4519 9.58899C12.4518 9.58899 12.4517 9.58899 12.4516 9.58899C12.4515 9.58899 12.4514 9.58899 12.4513 9.58899C12.4512 9.58899 12.4512 9.58899 12.4511 9.58899C12.451 9.58899 12.4509 9.58899 12.4508 9.58899C12.4507 9.58899 12.4506 9.58899 12.4505 9.58899C12.4504 9.58899 12.4503 9.58899 12.4502 9.58899C12.4501 9.58899 12.45 9.58899 12.45 9.58899C12.4499 9.58899 12.4498 9.58899 12.4497 9.58899C12.4496 9.58899 12.4495 9.58899 12.4494 9.58899C12.4493 9.58899 12.4492 9.58899 12.4491 9.58899C12.449 9.58899 12.4489 9.58899 12.4488 9.58899C12.4488 9.58899 12.4487 9.58899 12.4486 9.58899C12.4485 9.58899 12.4484 9.58899 12.4483 9.58899C12.4482 9.58899 12.4481 9.58899 12.448 9.58899C12.4479 9.58899 12.4478 9.58899 12.4477 9.58899C12.4477 9.58899 12.4476 9.58899 12.4475 9.58899C12.4474 9.58899 12.4473 9.58899 12.4472 9.58899C12.4471 9.58899 12.447 9.58899 12.4469 9.58899C12.4468 9.58899 12.4467 9.58899 12.4466 9.58899C12.4466 9.58899 12.4465 9.58899 12.4464 9.58899C12.4463 9.58899 12.4462 9.58899 12.4461 9.58899C12.446 9.58899 12.4459 9.58899 12.4458 9.58899C12.4457 9.58899 12.4456 9.58899 12.4455 9.58899C12.4455 9.58899 12.4454 9.58899 12.4453 9.58899C12.4452 9.58899 12.4451 9.58899 12.445 9.58899C12.4449 9.58899 12.4448 9.58899 12.4447 9.58899C12.4446 9.58899 12.4445 9.58899 12.4445 9.58899C12.4444 9.58899 12.4443 9.58899 12.4442 9.58899C12.4441 9.58899 12.444 9.58899 12.4439 9.58899C12.4438 9.58899 12.4437 9.58899 12.4436 9.58899C12.4435 9.58899 12.4435 9.58899 12.4434 9.58899C12.4433 9.58899 12.4432 9.58899 12.4431 9.58899C12.443 9.58899 12.4429 9.58899 12.4428 9.58899C12.4427 9.58899 12.4426 9.58899 12.4425 9.58899C12.4425 9.58899 12.4424 9.58899 12.4423 9.58899C12.4422 9.58899 12.4421 9.58899 12.442 9.58899C12.4419 9.58899 12.4418 9.58899 12.4417 9.58899C12.4416 9.58899 12.4416 9.58899 12.4415 9.58899C12.4414 9.58899 12.4413 9.58899 12.4412 9.58899C12.4411 9.58899 12.441 9.58899 12.4409 9.58899C12.4408 9.58899 12.4407 9.58899 12.4406 9.58899C12.4406 9.58899 12.4405 9.58899 12.4404 9.58899C12.4403 9.58899 12.4402 9.58899 12.4401 9.58899C12.44 9.58899 12.4399 9.58899 12.4398 9.58899C12.4397 9.58899 12.4397 9.58899 12.4396 9.58899C12.4395 9.58899 12.4394 9.58899 12.4393 9.58899C12.4392 9.58899 12.4391 9.58899 12.439 9.58899C12.4389 9.58899 12.4388 9.58899 12.4388 9.58899C12.4387 9.58899 12.4386 9.58899 12.4385 9.58899C12.4384 9.58899 12.4383 9.58899 12.4382 9.58899C12.4381 9.58899 12.438 9.58899 12.438 9.58899C12.4379 9.58899 12.4378 9.58899 12.4377 9.58899C12.4376 9.58899 12.4375 9.58899 12.4374 9.58899C12.4373 9.58899 12.4372 9.58899 12.4371 9.58899C12.4371 9.58899 12.437 9.58899 12.4369 9.58899C12.4368 9.58899 12.4367 9.58899 12.4366 9.58899C12.4365 9.58899 12.4364 9.58899 12.4363 9.58899C12.4363 9.58899 12.4362 9.58899 12.4361 9.58899C12.436 9.58899 12.4359 9.58899 12.4358 9.58899C12.4357 9.58899 12.4356 9.58899 12.4355 9.58899C12.4355 9.58899 12.4354 9.58899 12.4353 9.58899C12.4352 9.58899 12.4351 9.58899 12.435 9.58899V10.089C12.4351 10.089 12.4352 10.089 12.4353 10.089C12.4354 10.089 12.4355 10.089 12.4355 10.089C12.4356 10.089 12.4357 10.089 12.4358 10.089C12.4359 10.089 12.436 10.089 12.4361 10.089C12.4362 10.089 12.4363 10.089 12.4363 10.089C12.4364 10.089 12.4365 10.089 12.4366 10.089C12.4367 10.089 12.4368 10.089 12.4369 10.089C12.437 10.089 12.4371 10.089 12.4371 10.089C12.4372 10.089 12.4373 10.089 12.4374 10.089C12.4375 10.089 12.4376 10.089 12.4377 10.089C12.4378 10.089 12.4379 10.089 12.438 10.089C12.438 10.089 12.4381 10.089 12.4382 10.089C12.4383 10.089 12.4384 10.089 12.4385 10.089C12.4386 10.089 12.4387 10.089 12.4388 10.089C12.4388 10.089 12.4389 10.089 12.439 10.089C12.4391 10.089 12.4392 10.089 12.4393 10.089C12.4394 10.089 12.4395 10.089 12.4396 10.089C12.4397 10.089 12.4397 10.089 12.4398 10.089C12.4399 10.089 12.44 10.089 12.4401 10.089C12.4402 10.089 12.4403 10.089 12.4404 10.089C12.4405 10.089 12.4406 10.089 12.4406 10.089C12.4407 10.089 12.4408 10.089 12.4409 10.089C12.441 10.089 12.4411 10.089 12.4412 10.089C12.4413 10.089 12.4414 10.089 12.4415 10.089C12.4416 10.089 12.4416 10.089 12.4417 10.089C12.4418 10.089 12.4419 10.089 12.442 10.089C12.4421 10.089 12.4422 10.089 12.4423 10.089C12.4424 10.089 12.4425 10.089 12.4425 10.089C12.4426 10.089 12.4427 10.089 12.4428 10.089C12.4429 10.089 12.443 10.089 12.4431 10.089C12.4432 10.089 12.4433 10.089 12.4434 10.089C12.4435 10.089 12.4435 10.089 12.4436 10.089C12.4437 10.089 12.4438 10.089 12.4439 10.089C12.444 10.089 12.4441 10.089 12.4442 10.089C12.4443 10.089 12.4444 10.089 12.4445 10.089C12.4445 10.089 12.4446 10.089 12.4447 10.089C12.4448 10.089 12.4449 10.089 12.445 10.089C12.4451 10.089 12.4452 10.089 12.4453 10.089C12.4454 10.089 12.4455 10.089 12.4455 10.089C12.4456 10.089 12.4457 10.089 12.4458 10.089C12.4459 10.089 12.446 10.089 12.4461 10.089C12.4462 10.089 12.4463 10.089 12.4464 10.089C12.4465 10.089 12.4466 10.089 12.4466 10.089C12.4467 10.089 12.4468 10.089 12.4469 10.089C12.447 10.089 12.4471 10.089 12.4472 10.089C12.4473 10.089 12.4474 10.089 12.4475 10.089C12.4476 10.089 12.4477 10.089 12.4477 10.089C12.4478 10.089 12.4479 10.089 12.448 10.089C12.4481 10.089 12.4482 10.089 12.4483 10.089C12.4484 10.089 12.4485 10.089 12.4486 10.089C12.4487 10.089 12.4488 10.089 12.4488 10.089C12.4489 10.089 12.449 10.089 12.4491 10.089C12.4492 10.089 12.4493 10.089 12.4494 10.089C12.4495 10.089 12.4496 10.089 12.4497 10.089C12.4498 10.089 12.4499 10.089 12.45 10.089C12.45 10.089 12.4501 10.089 12.4502 10.089C12.4503 10.089 12.4504 10.089 12.4505 10.089C12.4506 10.089 12.4507 10.089 12.4508 10.089C12.4509 10.089 12.451 10.089 12.4511 10.089C12.4512 10.089 12.4512 10.089 12.4513 10.089C12.4514 10.089 12.4515 10.089 12.4516 10.089C12.4517 10.089 12.4518 10.089 12.4519 10.089C12.452 10.089 12.4521 10.089 12.4522 10.089C12.4523 10.089 12.4524 10.089 12.4525 10.089C12.4525 10.089 12.4526 10.089 12.4527 10.089C12.4528 10.089 12.4529 10.089 12.453 10.089C12.4531 10.089 12.4532 10.089 12.4533 10.089C12.4534 10.089 12.4535 10.089 12.4536 10.089C12.4537 10.089 12.4538 10.089 12.4538 10.089C12.4539 10.089 12.454 10.089 12.4541 10.089C12.4542 10.089 12.4543 10.089 12.4544 10.089C12.4545 10.089 12.4546 10.089 12.4547 10.089C12.4548 10.089 12.4549 10.089 12.455 10.089C12.4551 10.089 12.4552 10.089 12.4552 10.089C12.4553 10.089 12.4554 10.089 12.4555 10.089C12.4556 10.089 12.4557 10.089 12.4558 10.089C12.4559 10.089 12.456 10.089 12.4561 10.089C12.4562 10.089 12.4563 10.089 12.4564 10.089C12.4565 10.089 12.4566 10.089 12.4567 10.089C12.4567 10.089 12.4568 10.089 12.4569 10.089C12.457 10.089 12.4571 10.089 12.4572 10.089C12.4573 10.089 12.4574 10.089 12.4575 10.089C12.4576 10.089 12.4577 10.089 12.4578 10.089C12.4579 10.089 12.458 10.089 12.4581 10.089C12.4582 10.089 12.4582 10.089 12.4583 10.089C12.4584 10.089 12.4585 10.089 12.4586 10.089C12.4587 10.089 12.4588 10.089 12.4589 10.089C12.459 10.089 12.4591 10.089 12.4592 10.089C12.4593 10.089 12.4594 10.089 12.4595 10.089C12.4596 10.089 12.4597 10.089 12.4598 10.089C12.4599 10.089 12.4599 10.089 12.46 10.089C12.4601 10.089 12.4602 10.089 12.4603 10.089C12.4604 10.089 12.4605 10.089 12.4606 10.089C12.4607 10.089 12.4608 10.089 12.4609 10.089C12.461 10.089 12.4611 10.089 12.4612 10.089C12.4613 10.089 12.4614 10.089 12.4615 10.089C12.4616 10.089 12.4616 10.089 12.4617 10.089C12.4618 10.089 12.4619 10.089 12.462 10.089C12.4621 10.089 12.4622 10.089 12.4623 10.089C12.4624 10.089 12.4625 10.089 12.4626 10.089C12.4627 10.089 12.4628 10.089 12.4629 10.089C12.463 10.089 12.4631 10.089 12.4632 10.089C12.4633 10.089 12.4634 10.089 12.4635 10.089C12.4635 10.089 12.4636 10.089 12.4637 10.089C12.4638 10.089 12.4639 10.089 12.464 10.089C12.4641 10.089 12.4642 10.089 12.4643 10.089C12.4644 10.089 12.4645 10.089 12.4646 10.089C12.4647 10.089 12.4648 10.089 12.4649 10.089C12.465 10.089 12.4651 10.089 12.4652 10.089C12.4653 10.089 12.4654 10.089 12.4655 10.089C12.4656 10.089 12.4656 10.089 12.4657 10.089C12.4658 10.089 12.4659 10.089 12.466 10.089C12.4661 10.089 12.4662 10.089 12.4663 10.089C12.4664 10.089 12.4665 10.089 12.4666 10.089C12.4667 10.089 12.4668 10.089 12.4669 10.089C12.467 10.089 12.4671 10.089 12.4672 10.089C12.4673 10.089 12.4674 10.089 12.4675 10.089C12.4676 10.089 12.4677 10.089 12.4678 10.089C12.4678 10.089 12.4679 10.089 12.468 10.089C12.4681 10.089 12.4682 10.089 12.4683 10.089C12.4684 10.089 12.4685 10.089 12.4686 10.089C12.4687 10.089 12.4688 10.089 12.4689 10.089C12.469 10.089 12.4691 10.089 12.4692 10.089C12.4693 10.089 12.4694 10.089 12.4695 10.089C12.4696 10.089 12.4697 10.089 12.4698 10.089C12.4699 10.089 12.47 10.089 12.4701 10.089C12.4702 10.089 12.4703 10.089 12.4703 10.089C12.4704 10.089 12.4705 10.089 12.4706 10.089C12.4707 10.089 12.4708 10.089 12.4709 10.089C12.471 10.089 12.4711 10.089 12.4712 10.089C12.4713 10.089 12.4714 10.089 12.4715 10.089C12.4716 10.089 12.4717 10.089 12.4718 10.089C12.4719 10.089 12.472 10.089 12.4721 10.089C12.4722 10.089 12.4723 10.089 12.4724 10.089C12.4725 10.089 12.4726 10.089 12.4727 10.089C12.4728 10.089 12.4729 10.089 12.473 10.089C12.4731 10.089 12.4732 10.089 12.4732 10.089C12.4733 10.089 12.4734 10.089 12.4735 10.089C12.4736 10.089 12.4737 10.089 12.4738 10.089C12.4739 10.089 12.474 10.089 12.4741 10.089C12.4742 10.089 12.4743 10.089 12.4744 10.089C12.4745 10.089 12.4746 10.089 12.4747 10.089C12.4748 10.089 12.4749 10.089 12.475 10.089C12.4751 10.089 12.4752 10.089 12.4753 10.089C12.4754 10.089 12.4755 10.089 12.4756 10.089C12.4757 10.089 12.4758 10.089 12.4759 10.089C12.476 10.089 12.4761 10.089 12.4762 10.089C12.4763 10.089 12.4764 10.089 12.4765 10.089C12.4766 10.089 12.4767 10.089 12.4767 10.089C12.4768 10.089 12.4769 10.089 12.477 10.089C12.4771 10.089 12.4772 10.089 12.4773 10.089C12.4774 10.089 12.4775 10.089 12.4776 10.089C12.4777 10.089 12.4778 10.089 12.4779 10.089C12.478 10.089 12.4781 10.089 12.4782 10.089C12.4783 10.089 12.4784 10.089 12.4785 10.089C12.4786 10.089 12.4787 10.089 12.4788 10.089C12.4789 10.089 12.479 10.089 12.4791 10.089C12.4792 10.089 12.4793 10.089 12.4794 10.089C12.4795 10.089 12.4796 10.089 12.4797 10.089C12.4798 10.089 12.4799 10.089 12.48 10.089C12.4801 10.089 12.4802 10.089 12.4803 10.089C12.4804 10.089 12.4805 10.089 12.4806 10.089C12.4807 10.089 12.4808 10.089 12.4809 10.089C12.481 10.089 12.4811 10.089 12.4812 10.089C12.4813 10.089 12.4814 10.089 12.4814 10.089C12.4815 10.089 12.4816 10.089 12.4817 10.089C12.4818 10.089 12.4819 10.089 12.482 10.089C12.4821 10.089 12.4822 10.089 12.4823 10.089C12.4824 10.089 12.4825 10.089 12.4826 10.089C12.4827 10.089 12.4828 10.089 12.4829 10.089C12.483 10.089 12.4831 10.089 12.4832 10.089C12.4833 10.089 12.4834 10.089 12.4835 10.089C12.4836 10.089 12.4837 10.089 12.4838 10.089C12.4839 10.089 12.484 10.089 12.4841 10.089C12.4842 10.089 12.4843 10.089 12.4844 10.089C12.4845 10.089 12.4846 10.089 12.4847 10.089C12.4848 10.089 12.4849 10.089 12.485 10.089C12.4851 10.089 12.4852 10.089 12.4853 10.089C12.4854 10.089 12.4855 10.089 12.4856 10.089C12.4857 10.089 12.4858 10.089 12.4859 10.089C12.486 10.089 12.4861 10.089 12.4862 10.089C12.4863 10.089 12.4864 10.089 12.4865 10.089C12.4866 10.089 12.4867 10.089 12.4868 10.089C12.4869 10.089 12.487 10.089 12.4871 10.089C12.4872 10.089 12.4873 10.089 12.4874 10.089C12.4875 10.089 12.4876 10.089 12.4877 10.089C12.4878 10.089 12.4879 10.089 12.488 10.089C12.4881 10.089 12.4882 10.089 12.4883 10.089C12.4884 10.089 12.4885 10.089 12.4886 10.089C12.4887 10.089 12.4888 10.089 12.4889 10.089C12.489 10.089 12.4891 10.089 12.4892 10.089C12.4893 10.089 12.4894 10.089 12.4895 10.089C12.4896 10.089 12.4897 10.089 12.4898 10.089C12.4899 10.089 12.49 10.089 12.4901 10.089C12.4902 10.089 12.4903 10.089 12.4904 10.089C12.4905 10.089 12.4906 10.089 12.4907 10.089C12.4908 10.089 12.4909 10.089 12.491 10.089C12.4911 10.089 12.4912 10.089 12.4913 10.089C12.4914 10.089 12.4915 10.089 12.4916 10.089C12.4917 10.089 12.4918 10.089 12.4919 10.089C12.492 10.089 12.4921 10.089 12.4922 10.089C12.4923 10.089 12.4924 10.089 12.4925 10.089C12.4926 10.089 12.4927 10.089 12.4928 10.089C12.4929 10.089 12.493 10.089 12.4931 10.089C12.4932 10.089 12.4933 10.089 12.4934 10.089C12.4935 10.089 12.4936 10.089 12.4937 10.089C12.4938 10.089 12.4939 10.089 12.494 10.089C12.4941 10.089 12.4942 10.089 12.4943 10.089C12.4944 10.089 12.4945 10.089 12.4946 10.089C12.4947 10.089 12.4948 10.089 12.4949 10.089C12.495 10.089 12.4951 10.089 12.4952 10.089C12.4953 10.089 12.4954 10.089 12.4955 10.089C12.4956 10.089 12.4957 10.089 12.4958 10.089C12.4959 10.089 12.496 10.089 12.4961 10.089C12.4962 10.089 12.4963 10.089 12.4964 10.089C12.4965 10.089 12.4966 10.089 12.4967 10.089C12.4968 10.089 12.4969 10.089 12.497 10.089C12.4971 10.089 12.4972 10.089 12.4973 10.089C12.4974 10.089 12.4975 10.089 12.4976 10.089C12.4977 10.089 12.4978 10.089 12.4979 10.089C12.498 10.089 12.4981 10.089 12.4982 10.089C12.4983 10.089 12.4984 10.089 12.4985 10.089C12.4986 10.089 12.4987 10.089 12.4988 10.089C12.4989 10.089 12.499 10.089 12.4991 10.089C12.4992 10.089 12.4993 10.089 12.4994 10.089C12.4995 10.089 12.4996 10.089 12.4997 10.089C12.4998 10.089 12.4999 10.089 12.5 10.089C12.5001 10.089 12.5002 10.089 12.5003 10.089C12.5004 10.089 12.5005 10.089 12.5006 10.089C12.5007 10.089 12.5008 10.089 12.5009 10.089C12.501 10.089 12.5011 10.089 12.5012 10.089C12.5013 10.089 12.5014 10.089 12.5015 10.089C12.5016 10.089 12.5017 10.089 12.5018 10.089C12.5019 10.089 12.502 10.089 12.5021 10.089C12.5022 10.089 12.5023 10.089 12.5024 10.089C12.5025 10.089 12.5026 10.089 12.5027 10.089C12.5028 10.089 12.5029 10.089 12.503 10.089C12.5031 10.089 12.5032 10.089 12.5033 10.089C12.5034 10.089 12.5035 10.089 12.5036 10.089C12.5037 10.089 12.5038 10.089 12.5039 10.089C12.504 10.089 12.5041 10.089 12.5042 10.089C12.5043 10.089 12.5044 10.089 12.5045 10.089C12.5046 10.089 12.5047 10.089 12.5048 10.089C12.5049 10.089 12.5051 10.089 12.5052 10.089C12.5053 10.089 12.5054 10.089 12.5055 10.089C12.5056 10.089 12.5057 10.089 12.5058 10.089C12.5059 10.089 12.506 10.089 12.5061 10.089C12.5062 10.089 12.5063 10.089 12.5064 10.089C12.5065 10.089 12.5066 10.089 12.5067 10.089C12.5068 10.089 12.5069 10.089 12.507 10.089C12.5071 10.089 12.5072 10.089 12.5073 10.089C12.5074 10.089 12.5075 10.089 12.5076 10.089C12.5077 10.089 12.5078 10.089 12.5079 10.089C12.508 10.089 12.5081 10.089 12.5082 10.089C12.5083 10.089 12.5084 10.089 12.5085 10.089C12.5086 10.089 12.5087 10.089 12.5088 10.089C12.5089 10.089 12.509 10.089 12.5091 10.089C12.5092 10.089 12.5093 10.089 12.5094 10.089C12.5095 10.089 12.5096 10.089 12.5097 10.089C12.5098 10.089 12.5099 10.089 12.51 10.089C12.5101 10.089 12.5102 10.089 12.5103 10.089C12.5105 10.089 12.5106 10.089 12.5107 10.089C12.5108 10.089 12.5109 10.089 12.511 10.089C12.5111 10.089 12.5112 10.089 12.5113 10.089C12.5114 10.089 12.5115 10.089 12.5116 10.089C12.5117 10.089 12.5118 10.089 12.5119 10.089C12.512 10.089 12.5121 10.089 12.5122 10.089C12.5123 10.089 12.5124 10.089 12.5125 10.089C12.5126 10.089 12.5127 10.089 12.5128 10.089C12.5129 10.089 12.513 10.089 12.5131 10.089C12.5132 10.089 12.5133 10.089 12.5134 10.089C12.5135 10.089 12.5136 10.089 12.5137 10.089C12.5138 10.089 12.5139 10.089 12.514 10.089C12.5141 10.089 12.5142 10.089 12.5143 10.089C12.5144 10.089 12.5145 10.089 12.5147 10.089C12.5148 10.089 12.5149 10.089 12.515 10.089C12.5151 10.089 12.5152 10.089 12.5153 10.089C12.5154 10.089 12.5155 10.089 12.5156 10.089C12.5157 10.089 12.5158 10.089 12.5159 10.089C12.516 10.089 12.5161 10.089 12.5162 10.089C12.5163 10.089 12.5164 10.089 12.5165 10.089C12.5166 10.089 12.5167 10.089 12.5168 10.089C12.5169 10.089 12.517 10.089 12.5171 10.089C12.5172 10.089 12.5173 10.089 12.5174 10.089C12.5175 10.089 12.5176 10.089 12.5177 10.089C12.5178 10.089 12.5179 10.089 12.518 10.089C12.5181 10.089 12.5182 10.089 12.5184 10.089C12.5185 10.089 12.5186 10.089 12.5187 10.089C12.5188 10.089 12.5189 10.089 12.519 10.089C12.5191 10.089 12.5192 10.089 12.5193 10.089C12.5194 10.089 12.5195 10.089 12.5196 10.089C12.5197 10.089 12.5198 10.089 12.5199 10.089C12.52 10.089 12.5201 10.089 12.5202 10.089C12.5203 10.089 12.5204 10.089 12.5205 10.089C12.5206 10.089 12.5207 10.089 12.5208 10.089C12.5209 10.089 12.521 10.089 12.5211 10.089C12.5212 10.089 12.5213 10.089 12.5214 10.089C12.5216 10.089 12.5217 10.089 12.5218 10.089C12.5219 10.089 12.522 10.089 12.5221 10.089C12.5222 10.089 12.5223 10.089 12.5224 10.089C12.5225 10.089 12.5226 10.089 12.5227 10.089C12.5228 10.089 12.5229 10.089 12.523 10.089C12.5231 10.089 12.5232 10.089 12.5233 10.089C12.5234 10.089 12.5235 10.089 12.5236 10.089C12.5237 10.089 12.5238 10.089 12.5239 10.089C12.524 10.089 12.5241 10.089 12.5242 10.089C12.5243 10.089 12.5244 10.089 12.5246 10.089C12.5247 10.089 12.5248 10.089 12.5249 10.089C12.525 10.089 12.5251 10.089 12.5252 10.089C12.5253 10.089 12.5254 10.089 12.5255 10.089C12.5256 10.089 12.5257 10.089 12.5258 10.089C12.5259 10.089 12.526 10.089 12.5261 10.089C12.5262 10.089 12.5263 10.089 12.5264 10.089C12.5265 10.089 12.5266 10.089 12.5267 10.089C12.5268 10.089 12.5269 10.089 12.527 10.089C12.5271 10.089 12.5272 10.089 12.5274 10.089C12.5275 10.089 12.5276 10.089 12.5277 10.089C12.5278 10.089 12.5279 10.089 12.528 10.089C12.5281 10.089 12.5282 10.089 12.5283 10.089C12.5284 10.089 12.5285 10.089 12.5286 10.089C12.5287 10.089 12.5288 10.089 12.5289 10.089C12.529 10.089 12.5291 10.089 12.5292 10.089C12.5293 10.089 12.5294 10.089 12.5295 10.089C12.5296 10.089 12.5297 10.089 12.5298 10.089C12.53 10.089 12.5301 10.089 12.5302 10.089C12.5303 10.089 12.5304 10.089 12.5305 10.089C12.5306 10.089 12.5307 10.089 12.5308 10.089C12.5309 10.089 12.531 10.089 12.5311 10.089C12.5312 10.089 12.5313 10.089 12.5314 10.089C12.5315 10.089 12.5316 10.089 12.5317 10.089C12.5318 10.089 12.5319 10.089 12.532 10.089C12.5321 10.089 12.5322 10.089 12.5323 10.089C12.5325 10.089 12.5326 10.089 12.5327 10.089C12.5328 10.089 12.5329 10.089 12.533 10.089C12.5331 10.089 12.5332 10.089 12.5333 10.089C12.5334 10.089 12.5335 10.089 12.5336 10.089C12.5337 10.089 12.5338 10.089 12.5339 10.089C12.534 10.089 12.5341 10.089 12.5342 10.089C12.5343 10.089 12.5344 10.089 12.5345 10.089C12.5346 10.089 12.5347 10.089 12.5349 10.089C12.535 10.089 12.5351 10.089 12.5352 10.089C12.5353 10.089 12.5354 10.089 12.5355 10.089C12.5356 10.089 12.5357 10.089 12.5358 10.089C12.5359 10.089 12.536 10.089 12.5361 10.089C12.5362 10.089 12.5363 10.089 12.5364 10.089C12.5365 10.089 12.5366 10.089 12.5367 10.089C12.5368 10.089 12.5369 10.089 12.537 10.089C12.5372 10.089 12.5373 10.089 12.5374 10.089C12.5375 10.089 12.5376 10.089 12.5377 10.089C12.5378 10.089 12.5379 10.089 12.538 10.089C12.5381 10.089 12.5382 10.089 12.5383 10.089C12.5384 10.089 12.5385 10.089 12.5386 10.089C12.5387 10.089 12.5388 10.089 12.5389 10.089C12.539 10.089 12.5391 10.089 12.5392 10.089C12.5393 10.089 12.5395 10.089 12.5396 10.089C12.5397 10.089 12.5398 10.089 12.5399 10.089C12.54 10.089 12.5401 10.089 12.5402 10.089C12.5403 10.089 12.5404 10.089 12.5405 10.089C12.5406 10.089 12.5407 10.089 12.5408 10.089C12.5409 10.089 12.541 10.089 12.5411 10.089C12.5412 10.089 12.5413 10.089 12.5414 10.089C12.5416 10.089 12.5417 10.089 12.5418 10.089C12.5419 10.089 12.542 10.089 12.5421 10.089C12.5422 10.089 12.5423 10.089 12.5424 10.089C12.5425 10.089 12.5426 10.089 12.5427 10.089C12.5428 10.089 12.5429 10.089 12.543 10.089C12.5431 10.089 12.5432 10.089 12.5433 10.089C12.5434 10.089 12.5435 10.089 12.5437 10.089C12.5438 10.089 12.5439 10.089 12.544 10.089C12.5441 10.089 12.5442 10.089 12.5443 10.089C12.5444 10.089 12.5445 10.089 12.5446 10.089C12.5447 10.089 12.5448 10.089 12.5449 10.089C12.545 10.089 12.5451 10.089 12.5452 10.089C12.5453 10.089 12.5454 10.089 12.5455 10.089C12.5456 10.089 12.5458 10.089 12.5459 10.089C12.546 10.089 12.5461 10.089 12.5462 10.089C12.5463 10.089 12.5464 10.089 12.5465 10.089C12.5466 10.089 12.5467 10.089 12.5468 10.089C12.5469 10.089 12.547 10.089 12.5471 10.089C12.5472 10.089 12.5473 10.089 12.5474 10.089C12.5475 10.089 12.5476 10.089 12.5478 10.089C12.5479 10.089 12.548 10.089 12.5481 10.089C12.5482 10.089 12.5483 10.089 12.5484 10.089C12.5485 10.089 12.5486 10.089 12.5487 10.089C12.5488 10.089 12.5489 10.089 12.549 10.089C12.5491 10.089 12.5492 10.089 12.5493 10.089C12.5494 10.089 12.5495 10.089 12.5496 10.089C12.5498 10.089 12.5499 10.089 12.55 10.089C12.5501 10.089 12.5502 10.089 12.5503 10.089C12.5504 10.089 12.5505 10.089 12.5506 10.089C12.5507 10.089 12.5508 10.089 12.5509 10.089C12.551 10.089 12.5511 10.089 12.5512 10.089C12.5513 10.089 12.5514 10.089 12.5515 10.089C12.5517 10.089 12.5518 10.089 12.5519 10.089C12.552 10.089 12.5521 10.089 12.5522 10.089C12.5523 10.089 12.5524 10.089 12.5525 10.089C12.5526 10.089 12.5527 10.089 12.5528 10.089C12.5529 10.089 12.553 10.089 12.5531 10.089C12.5532 10.089 12.5533 10.089 12.5534 10.089C12.5536 10.089 12.5537 10.089 12.5538 10.089C12.5539 10.089 12.554 10.089 12.5541 10.089C12.5542 10.089 12.5543 10.089 12.5544 10.089C12.5545 10.089 12.5546 10.089 12.5547 10.089C12.5548 10.089 12.5549 10.089 12.555 10.089C12.5551 10.089 12.5552 10.089 12.5553 10.089C12.5555 10.089 12.5556 10.089 12.5557 10.089C12.5558 10.089 12.5559 10.089 12.556 10.089C12.5561 10.089 12.5562 10.089 12.5563 10.089C12.5564 10.089 12.5565 10.089 12.5566 10.089C12.5567 10.089 12.5568 10.089 12.5569 10.089C12.557 10.089 12.5571 10.089 12.5572 10.089C12.5574 10.089 12.5575 10.089 12.5576 10.089C12.5577 10.089 12.5578 10.089 12.5579 10.089C12.558 10.089 12.5581 10.089 12.5582 10.089C12.5583 10.089 12.5584 10.089 12.5585 10.089C12.5586 10.089 12.5587 10.089 12.5588 10.089C12.5589 10.089 12.559 10.089 12.5592 10.089C12.5593 10.089 12.5594 10.089 12.5595 10.089C12.5596 10.089 12.5597 10.089 12.5598 10.089C12.5599 10.089 12.56 10.089 12.5601 10.089C12.5602 10.089 12.5603 10.089 12.5604 10.089C12.5605 10.089 12.5606 10.089 12.5607 10.089C12.5608 10.089 12.561 10.089 12.5611 10.089C12.5612 10.089 12.5613 10.089 12.5614 10.089C12.5615 10.089 12.5616 10.089 12.5617 10.089C12.5618 10.089 12.5619 10.089 12.562 10.089C12.5621 10.089 12.5622 10.089 12.5623 10.089C12.5624 10.089 12.5625 10.089 12.5626 10.089C12.5628 10.089 12.5629 10.089 12.563 10.089C12.5631 10.089 12.5632 10.089 12.5633 10.089C12.5634 10.089 12.5635 10.089 12.5636 10.089C12.5637 10.089 12.5638 10.089 12.5639 10.089C12.564 10.089 12.5641 10.089 12.5642 10.089C12.5643 10.089 12.5645 10.089 12.5646 10.089C12.5647 10.089 12.5648 10.089 12.5649 10.089C12.565 10.089 12.5651 10.089 12.5652 10.089C12.5653 10.089 12.5654 10.089 12.5655 10.089C12.5656 10.089 12.5657 10.089 12.5658 10.089C12.5659 10.089 12.566 10.089 12.5661 10.089C12.5663 10.089 12.5664 10.089 12.5665 10.089C12.5666 10.089 12.5667 10.089 12.5668 10.089C12.5669 10.089 12.567 10.089 12.5671 10.089C12.5672 10.089 12.5673 10.089 12.5674 10.089C12.5675 10.089 12.5676 10.089 12.5677 10.089C12.5678 10.089 12.568 10.089 12.5681 10.089C12.5682 10.089 12.5683 10.089 12.5684 10.089C12.5685 10.089 12.5686 10.089 12.5687 10.089C12.5688 10.089 12.5689 10.089 12.569 10.089C12.5691 10.089 12.5692 10.089 12.5693 10.089C12.5694 10.089 12.5695 10.089 12.5697 10.089C12.5698 10.089 12.5699 10.089 12.57 10.089C12.5701 10.089 12.5702 10.089 12.5703 10.089C12.5704 10.089 12.5705 10.089 12.5706 10.089C12.5707 10.089 12.5708 10.089 12.5709 10.089C12.571 10.089 12.5711 10.089 12.5712 10.089C12.5713 10.089 12.5715 10.089 12.5716 10.089C12.5717 10.089 12.5718 10.089 12.5719 10.089C12.572 10.089 12.5721 10.089 12.5722 10.089C12.5723 10.089 12.5724 10.089 12.5725 10.089C12.5726 10.089 12.5727 10.089 12.5728 10.089C12.5729 10.089 12.573 10.089 12.5732 10.089C12.5733 10.089 12.5734 10.089 12.5735 10.089C12.5736 10.089 12.5737 10.089 12.5738 10.089C12.5739 10.089 12.574 10.089 12.5741 10.089C12.5742 10.089 12.5743 10.089 12.5744 10.089C12.5745 10.089 12.5746 10.089 12.5748 10.089C12.5749 10.089 12.575 10.089 12.5751 10.089C12.5752 10.089 12.5753 10.089 12.5754 10.089C12.5755 10.089 12.5756 10.089 12.5757 10.089C12.5758 10.089 12.5759 10.089 12.576 10.089C12.5761 10.089 12.5762 10.089 12.5763 10.089C12.5765 10.089 12.5766 10.089 12.5767 10.089C12.5768 10.089 12.5769 10.089 12.577 10.089C12.5771 10.089 12.5772 10.089 12.5773 10.089C12.5774 10.089 12.5775 10.089 12.5776 10.089C12.5777 10.089 12.5778 10.089 12.5779 10.089C12.578 10.089 12.5782 10.089 12.5783 10.089C12.5784 10.089 12.5785 10.089 12.5786 10.089C12.5787 10.089 12.5788 10.089 12.5789 10.089C12.579 10.089 12.5791 10.089 12.5792 10.089C12.5793 10.089 12.5794 10.089 12.5795 10.089C12.5796 10.089 12.5797 10.089 12.5799 10.089C12.58 10.089 12.5801 10.089 12.5802 10.089C12.5803 10.089 12.5804 10.089 12.5805 10.089C12.5806 10.089 12.5807 10.089 12.5808 10.089C12.5809 10.089 12.581 10.089 12.5811 10.089C12.5812 10.089 12.5813 10.089 12.5815 10.089C12.5816 10.089 12.5817 10.089 12.5818 10.089C12.5819 10.089 12.582 10.089 12.5821 10.089C12.5822 10.089 12.5823 10.089 12.5824 10.089C12.5825 10.089 12.5826 10.089 12.5827 10.089C12.5828 10.089 12.5829 10.089 12.583 10.089C12.5832 10.089 12.5833 10.089 12.5834 10.089C12.5835 10.089 12.5836 10.089 12.5837 10.089C12.5838 10.089 12.5839 10.089 12.584 10.089C12.5841 10.089 12.5842 10.089 12.5843 10.089C12.5844 10.089 12.5845 10.089 12.5846 10.089C12.5847 10.089 12.5849 10.089 12.585 10.089C12.5851 10.089 12.5852 10.089 12.5853 10.089C12.5854 10.089 12.5855 10.089 12.5856 10.089C12.5857 10.089 12.5858 10.089 12.5859 10.089C12.586 10.089 12.5861 10.089 12.5862 10.089C12.5863 10.089 12.5865 10.089 12.5866 10.089C12.5867 10.089 12.5868 10.089 12.5869 10.089C12.587 10.089 12.5871 10.089 12.5872 10.089C12.5873 10.089 12.5874 10.089 12.5875 10.089C12.5876 10.089 12.5877 10.089 12.5878 10.089C12.5879 10.089 12.588 10.089 12.5882 10.089C12.5883 10.089 12.5884 10.089 12.5885 10.089C12.5886 10.089 12.5887 10.089 12.5888 10.089C12.5889 10.089 12.589 10.089 12.5891 10.089C12.5892 10.089 12.5893 10.089 12.5894 10.089V9.58899ZM12.435 9.58899C12.1737 9.58899 11.9123 9.57151 11.6506 9.53652L11.5844 10.0321C11.8677 10.07 12.1513 10.089 12.435 10.089V9.58899ZM11.6562 9.53733L11.3655 9.49178L11.2881 9.98575L11.5788 10.0313L11.6562 9.53733ZM11.3749 9.49343C10.2605 9.27511 9.26099 8.74301 8.46994 7.94952L8.11585 8.30253C8.97799 9.16733 10.0677 9.74683 11.2788 9.9841L11.3749 9.49343ZM8.46994 7.94952C7.92969 7.4076 7.50437 6.77129 7.22694 6.05819L6.76096 6.23947C7.06488 7.02065 7.52974 7.71462 8.11585 8.30253L8.46994 7.94952ZM7.17099 5.97232L7.16191 5.96321L6.80782 6.31623L6.81691 6.32534L7.17099 5.97232ZM23.0795 23.7144L22.4527 24.8625L22.8916 25.1021L23.5183 23.954L23.0795 23.7144ZM22.4682 24.8378L20.6605 27.389L21.0685 27.678L22.8761 25.1268L22.4682 24.8378ZM20.6606 27.3889C20.3909 27.7694 20.0369 28.0904 19.6335 28.318L19.8792 28.7535C20.3478 28.4891 20.7568 28.1177 21.0685 27.6781L20.6606 27.3889ZM19.6335 28.318C19.2278 28.547 18.7713 28.691 18.3075 28.7333L18.3529 29.2312C18.8883 29.1824 19.4129 29.0166 19.8792 28.7535L19.6335 28.318ZM18.3302 28.7322C18.2778 28.7322 18.224 28.7349 18.1775 28.7371C18.1286 28.7394 18.087 28.7413 18.0486 28.7413V29.2413C18.1011 29.2413 18.1549 29.2387 18.2014 29.2365C18.2503 29.2342 18.2918 29.2322 18.3302 29.2322V28.7322ZM18.0486 28.7413C17.6692 28.7413 17.289 28.6736 16.9339 28.5464L16.7653 29.0171C17.1732 29.1633 17.6105 29.2413 18.0486 29.2413V28.7413ZM16.9356 28.5471C16.4984 28.3868 16.0932 28.1246 15.764 27.7944L15.4099 28.1474C15.7893 28.5278 16.2561 28.8305 16.7636 29.0165L16.9356 28.5471ZM15.764 27.7944C14.8307 26.8581 13.1823 26.8581 12.2489 27.7944L12.603 28.1474C13.341 27.4071 14.672 27.4071 15.4099 28.1474L15.764 27.7944ZM12.2489 27.7944C11.9197 28.1246 11.5145 28.3868 11.0773 28.5471L11.2494 29.0165C11.7568 28.8305 12.2237 28.5278 12.603 28.1474L12.2489 27.7944ZM11.0773 28.5471C10.6405 28.7071 10.1676 28.7669 9.70086 28.7329L9.66448 29.2316C10.197 29.2704 10.7414 29.2027 11.2493 29.0165L11.0773 28.5471ZM9.70086 28.7329C9.24037 28.6993 8.78671 28.5563 8.38282 28.32L8.1303 28.7515C8.59843 29.0255 9.12579 29.1923 9.66448 29.2316L9.70086 28.7329ZM8.37941 28.318C7.97602 28.0904 7.62204 27.7694 7.35232 27.3889L6.94442 27.6781C7.25605 28.1177 7.66508 28.4891 8.13371 28.7535L8.37941 28.318ZM7.35182 27.3882L5.56236 24.8826L5.15547 25.1731L6.94493 27.6788L7.35182 27.3882ZM5.57816 24.9077L4.92415 23.7141L4.48566 23.9544L5.13967 25.148L5.57816 24.9077ZM4.92453 23.7148C3.63959 21.3518 3.0686 18.6759 3.28275 15.9909L2.78433 15.9511C2.56246 18.733 3.15416 21.5058 4.48528 23.9537L4.92453 23.7148ZM3.28354 15.971V15.8343H2.78354V15.971H3.28354ZM3.28254 15.8567C3.35217 15.0796 3.57849 14.3282 3.94478 13.6371L3.50299 13.4029C3.10626 14.1515 2.86024 14.9672 2.78453 15.812L3.28254 15.8567ZM3.94362 13.6393C4.31831 12.9487 4.81423 12.3554 5.43228 11.8664L5.12205 11.4743C4.45024 12.0058 3.91064 12.6517 3.50415 13.4008L3.94362 13.6393ZM5.43056 11.8678C6.04972 11.3867 6.74539 11.0382 7.5005 10.8467L7.37758 10.362C6.55216 10.5714 5.79447 10.9518 5.12377 11.473L5.43056 11.8678ZM7.50051 10.8467C8.25773 10.6546 9.03104 10.6199 9.8045 10.7506L9.88785 10.2576C9.04445 10.115 8.20089 10.1532 7.37758 10.362L7.50051 10.8467ZM9.80459 10.7506L12.8294 11.2609L12.9126 10.7678L9.88776 10.2576L9.80459 10.7506ZM12.8288 11.2608C13.6016 11.3931 14.3932 11.3931 15.1659 11.2608L15.0815 10.7679C14.3646 10.8907 13.6301 10.8907 12.9132 10.7679L12.8288 11.2608ZM15.1653 11.2609L18.1901 10.7506L18.107 10.2576L15.0822 10.7678L15.1653 11.2609ZM18.1902 10.7506C18.9637 10.6199 19.737 10.6546 20.4942 10.8467L20.6171 10.362C19.7938 10.1532 18.9503 10.115 18.1069 10.2576L18.1902 10.7506ZM20.4942 10.8467C21.2509 11.0386 21.9455 11.3784 22.5624 11.8664L22.8727 11.4743C22.1997 10.9419 21.441 10.571 20.6171 10.362L20.4942 10.8467ZM22.5642 11.8678C23.1798 12.3462 23.6757 12.9475 24.0511 13.6393L24.4906 13.4008C24.0848 12.6529 23.5452 11.9969 22.8709 11.473L22.5642 11.8678ZM24.0511 13.6393C24.4246 14.3275 24.642 15.077 24.7029 15.8539L25.2013 15.8148C25.1351 14.9698 24.8983 14.1521 24.4906 13.4008L24.0511 13.6393ZM24.7021 15.8343V15.971H25.2021V15.8343H24.7021ZM24.703 15.9917C24.926 18.6765 24.364 21.3429 23.0703 23.7145L23.5093 23.954C24.8498 21.4965 25.4324 18.7324 25.2012 15.9503L24.703 15.9917ZM23.2898 24.0842H23.2989V23.5842H23.2898V24.0842Z\",\n fill: \"#7C8A9D\",\n mask: \"url(#path-1-outside-1_104_1215)\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDiet, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Diet.f63a66c7.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgExercise = function SvgExercise(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 26,\n height: 14,\n viewBox: \"0 0 26 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_104_1217)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.1566 2.64937C23.1566 2.54028 23.1151 2.43639 23.0372 2.36366C22.9593 2.28574 22.8607 2.24418 22.7516 2.24418H20.7161V0.805219C20.7161 0.696128 20.6746 0.592232 20.5967 0.519505C20.524 0.441583 20.4202 0.400024 20.3111 0.400024H17.8706C17.7668 0.400024 17.6629 0.441583 17.585 0.519505C17.5071 0.597427 17.4656 0.696128 17.4656 0.805219V6.54028H8.51882V0.805219C8.51882 0.696128 8.47728 0.592232 8.39939 0.519505C8.32151 0.441583 8.22285 0.400024 8.1138 0.400024H5.6733C5.56426 0.400024 5.4656 0.441583 5.38771 0.519505C5.30982 0.597427 5.26828 0.696128 5.26828 0.805219V2.24418H3.2328C3.12376 2.24418 3.0251 2.28574 2.94721 2.36366C2.86932 2.44158 2.82778 2.54548 2.82778 2.64937V6.54028H1V7.35067H2.82778V11.2416C2.82778 11.3507 2.86932 11.4546 2.94721 11.5273C3.0251 11.6052 3.12376 11.6468 3.2328 11.6468H5.26828V13.0805C5.26828 13.1896 5.30982 13.2935 5.38771 13.3663C5.4656 13.4442 5.56426 13.4857 5.6733 13.4857H8.1138C8.22285 13.4857 8.32151 13.4442 8.39939 13.3663C8.47728 13.2883 8.51882 13.1896 8.51882 13.0805V7.35067H17.476V13.0857C17.476 13.1948 17.5175 13.2987 17.5954 13.3715C17.6733 13.4442 17.772 13.4909 17.881 13.4909H20.3215C20.4254 13.4909 20.5292 13.4494 20.6071 13.3715C20.685 13.2935 20.7265 13.1896 20.7265 13.0857V11.652H22.762C22.871 11.652 22.9697 11.6104 23.0476 11.5325C23.1255 11.4546 23.167 11.3559 23.167 11.2468V7.35587H25V6.54548H23.167V2.64937H23.1566ZM5.27347 10.8364H3.63782V3.05457H5.27347V10.8364ZM7.71398 12.6805H6.07832V1.21041H7.71398V12.6805ZM19.9165 12.6805H18.2808V1.21041H19.9165V12.6805ZM22.357 10.8364H20.7213V3.05457H22.357V10.8364Z\",\n fill: \"#7C8A9D\",\n stroke: \"#7C8A9D\",\n strokeWidth: 0.25\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_104_1217\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 26,\n height: 14,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgExercise, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Exercise.22248cda.svg\";\nexport { ForwardRef as ReactComponent };","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMindfulness = function SvgMindfulness(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 21,\n height: 19,\n viewBox: \"0 0 21 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_104_1219)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.29212 3.07934C6.78086 2.5906 7.62329 2.5906 8.11203 3.07934C8.3564 3.32371 8.49144 3.64525 8.49144 3.98608C8.49144 4.32691 8.3564 4.65488 8.11203 4.89282C7.86766 5.13076 7.54612 5.27224 7.20529 5.27224H0.768078C0.594447 5.27224 0.433677 5.33654 0.311493 5.45873C0.189308 5.58091 0.125 5.74168 0.125 5.91531C0.125 6.08894 0.189308 6.24971 0.311493 6.3719C0.433677 6.49408 0.594447 6.55839 0.768078 6.55839H7.19886C7.70689 6.55839 8.20206 6.41048 8.62649 6.12753C9.05092 5.84457 9.37889 5.44587 9.57182 4.96999C9.76474 4.50054 9.81618 3.98608 9.71972 3.48448C9.61683 2.98288 9.37889 2.52629 9.01877 2.16617C8.65864 1.80605 8.20206 1.56168 7.70046 1.46521C7.19886 1.36875 6.6844 1.41377 6.21495 1.61312C5.7455 1.80605 5.34679 2.13402 5.05741 2.55845C4.77445 2.98288 4.62655 3.47805 4.62655 3.98608C4.62655 4.15971 4.69085 4.32048 4.81304 4.44267C5.05741 4.68703 5.48184 4.68703 5.71978 4.44267C5.84196 4.32048 5.90627 4.15971 5.90627 3.98608C5.90627 3.64525 6.04132 3.31728 6.28569 3.07934H6.29212Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.311493 10.6034C0.189308 10.7255 0.125 10.8863 0.125 11.0599C0.125 11.2336 0.195739 11.3943 0.311493 11.5165C0.433677 11.6387 0.594447 11.703 0.768078 11.703H13.6811C14.1891 11.703 14.6843 11.8509 15.1087 12.1339C15.5331 12.4168 15.8611 12.8155 16.054 13.285C16.247 13.7544 16.2984 14.2689 16.202 14.7705C16.1055 15.2721 15.8611 15.7287 15.501 16.0888C15.1409 16.4489 14.6843 16.6933 14.1827 16.7898C13.6811 16.8927 13.1666 16.8412 12.6972 16.6419C12.2277 16.4489 11.829 16.121 11.5461 15.6965C11.2631 15.2721 11.1152 14.7769 11.1152 14.2689C11.1152 14.1017 11.0445 13.9345 10.9287 13.8123C10.8065 13.6901 10.6458 13.6258 10.4721 13.6258C10.2985 13.6258 10.1377 13.6901 10.0155 13.8123C9.89335 13.9345 9.82905 14.0953 9.82905 14.2689C9.82905 15.0342 10.0541 15.7737 10.4786 16.4104C10.903 17.047 11.501 17.5357 12.2084 17.8316C12.9158 18.1274 13.6875 18.1981 14.4399 18.0502C15.1923 17.9023 15.874 17.5357 16.4142 16.9956C16.9544 16.4554 17.3209 15.7737 17.4688 15.0213C17.6167 14.2689 17.5396 13.4972 17.2502 12.7898C16.9544 12.0824 16.4656 11.4844 15.829 11.0599C15.1923 10.6355 14.4528 10.4104 13.6875 10.4104H0.768078C0.594447 10.4104 0.433677 10.4747 0.311493 10.5969V10.6034Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M19.3852 1.44593C18.755 0.815715 17.9576 0.384853 17.083 0.211222C16.2084 0.0375904 15.3081 0.127622 14.4849 0.468453C13.6618 0.809284 12.9608 1.38162 12.4657 2.12759C11.9705 2.86713 11.7068 3.73529 11.7068 4.62917C11.7068 4.8028 11.7711 4.96357 11.8933 5.08575C12.1313 5.32369 12.5621 5.32369 12.8001 5.08575C12.9223 4.96357 12.9866 4.8028 12.9866 4.62917C12.9866 3.77387 13.321 2.9636 13.9255 2.35267C14.5299 1.74818 15.3402 1.41378 16.202 1.41378C17.0637 1.41378 17.8675 1.74818 18.4784 2.35267C19.0829 2.9636 19.4173 3.76744 19.4173 4.62917C19.4173 5.49089 19.0829 6.29474 18.4784 6.90566C17.874 7.51016 17.0637 7.84456 16.202 7.84456H0.768078C0.594447 7.84456 0.433677 7.90886 0.311493 8.03105C0.189308 8.15323 0.125 8.314 0.125 8.48763C0.125 8.66127 0.189308 8.82204 0.311493 8.94422C0.433677 9.06641 0.594447 9.13071 0.768078 9.13071H16.202C17.0958 9.13071 17.9576 8.86705 18.7035 8.37188C19.4431 7.87671 20.0218 7.17576 20.3627 6.35262C20.7035 5.52948 20.7935 4.62917 20.6199 3.75458C20.4463 2.88 20.0218 2.08258 19.3852 1.45236V1.44593Z\",\n fill: \"#7C8A9D\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M14.4371 0.352962C15.283 0.00272369 16.2084 -0.0898483 17.1073 0.0886147C18.0066 0.267144 18.8262 0.710129 19.4736 1.35754L19.5102 1.39415V1.40063C20.1442 2.04269 20.5675 2.84855 20.7425 3.73024C20.921 4.62917 20.8284 5.55458 20.4782 6.40044C20.1278 7.24667 19.5329 7.96701 18.7731 8.47575C18.0069 8.98431 17.1208 9.25571 16.202 9.25571H0.768078C0.562535 9.25571 0.369594 9.1791 0.223104 9.03261C0.0766149 8.88612 0 8.69318 0 8.48763C0 8.28209 0.076615 8.08915 0.223104 7.94266C0.369594 7.79617 0.562535 7.71956 0.768078 7.71956H16.202C17.0307 7.71956 17.8091 7.3982 18.3899 6.81743C18.9713 6.2297 19.2923 5.45748 19.2923 4.62917C19.2923 3.80095 18.9714 3.0288 18.3901 2.44109C17.8024 1.85979 17.0302 1.53878 16.202 1.53878C15.3732 1.53878 14.5949 1.86011 14.0141 2.44084C13.4327 3.02848 13.1116 3.80713 13.1116 4.62917C13.1116 4.83471 13.0349 5.02765 12.8885 5.17414C12.6017 5.4609 12.0917 5.4609 11.8049 5.17414C11.6584 5.02765 11.5818 4.83471 11.5818 4.62917C11.5818 3.71068 11.8528 2.81839 12.3617 2.05826C12.8707 1.29144 13.5913 0.70316 14.4371 0.352962ZM17.0586 0.333829C16.2084 0.16503 15.3332 0.25252 14.5328 0.583944C13.7323 0.915377 13.0511 1.4717 12.5698 2.19672C12.0885 2.91563 11.8318 3.75998 11.8318 4.62917C11.8318 4.77089 11.8838 4.89948 11.9817 4.99736C12.1708 5.18649 12.5226 5.18649 12.7117 4.99736C12.8096 4.89948 12.8616 4.77089 12.8616 4.62917C12.8616 3.74074 13.2091 2.89893 13.8366 2.26475C14.4647 1.63663 15.3073 1.28878 16.202 1.28878C17.0969 1.28878 17.9323 1.63641 18.5664 2.26382L18.5673 2.26475C19.1947 2.89883 19.5423 3.73418 19.5423 4.62917C19.5423 5.52416 19.1947 6.3595 18.5673 6.99358C17.9392 7.6217 17.0966 7.96956 16.202 7.96956H0.768078C0.626359 7.96956 0.497761 8.02156 0.399881 8.11944C0.302001 8.21732 0.25 8.34592 0.25 8.48763C0.25 8.62935 0.302001 8.75795 0.399881 8.85583C0.497761 8.95371 0.626359 9.00571 0.768078 9.00571H16.202C17.0707 9.00571 17.9084 8.74959 18.6341 8.26795C19.3533 7.78635 19.9159 7.10481 20.2472 6.3048C20.5786 5.50437 20.6661 4.62917 20.4973 3.77892C20.3285 2.92851 19.9159 2.15364 19.2972 1.5412L19.2602 1.50451V1.49813C18.653 0.904814 17.8917 0.49922 17.0586 0.333829ZM6.16676 1.49779C6.6604 1.28833 7.19999 1.24169 7.72406 1.34247C8.2505 1.44371 8.72957 1.7002 9.10716 2.07779C9.48547 2.4561 9.73462 2.93506 9.84217 3.45937L9.84248 3.46088C9.9435 3.98616 9.88967 4.52522 9.68757 5.01719C9.48509 5.5165 9.14081 5.93489 8.69583 6.23155C8.25063 6.52835 7.73128 6.6834 7.19886 6.6834H0.768078C0.562535 6.6834 0.369594 6.60679 0.223104 6.4603C0.076615 6.31381 0 6.12087 0 5.91532C0 5.70978 0.076615 5.51684 0.223104 5.37035C0.369593 5.22386 0.562535 5.14725 0.768078 5.14725H7.20529C7.51089 5.14725 7.80182 5.02041 8.02483 4.80327C8.24444 4.58944 8.36644 4.29402 8.36644 3.98609C8.36644 3.67912 8.24507 3.38917 8.02364 3.16774C7.58372 2.72781 6.82043 2.72781 6.38051 3.16774L6.34389 3.20435H6.33808C6.14042 3.41477 6.03127 3.69483 6.03127 3.98609C6.03127 4.19136 5.95486 4.38406 5.80875 4.53048C5.521 4.8253 5.01698 4.82339 4.72465 4.53106C4.57816 4.38457 4.50155 4.19163 4.50155 3.98609C4.50155 3.45366 4.6566 2.93432 4.9534 2.48912L4.95413 2.48804C5.25669 2.04428 5.67427 1.70034 6.16676 1.49779ZM7.67685 1.58797C7.19796 1.49588 6.70888 1.53918 6.26381 1.72819L6.26247 1.72876C5.81655 1.91201 5.43708 2.2237 5.16105 2.62835C4.89218 3.03189 4.75155 3.50267 4.75155 3.98609C4.75155 4.12781 4.80355 4.25641 4.90143 4.35429C5.09764 4.5505 5.442 4.54878 5.63022 4.35547L5.63138 4.35428C5.72926 4.2564 5.78127 4.12781 5.78127 3.98609C5.78127 3.61236 5.92936 3.25183 6.19848 2.98979L6.23488 2.95435H6.24182C6.78392 2.4537 7.67536 2.4659 8.20042 2.99096C8.46772 3.25827 8.61644 3.6114 8.61644 3.98609C8.61644 4.35982 8.46836 4.72035 8.19923 4.98239C7.9335 5.24113 7.58135 5.39725 7.20529 5.39725H0.768078C0.626359 5.39725 0.497761 5.44925 0.399881 5.54713C0.302001 5.64501 0.25 5.77361 0.25 5.91532C0.25 6.05704 0.302001 6.18564 0.399881 6.28352C0.497761 6.3814 0.626359 6.4334 0.768078 6.4334H7.19886C7.68249 6.4334 8.15349 6.29264 8.55715 6.02353C8.96097 5.75433 9.27259 5.37538 9.45597 4.92304C9.63952 4.47641 9.68881 3.98638 9.59711 3.50879C9.49878 3.03022 9.27212 2.59631 8.93038 2.25457C8.58772 1.91191 8.15362 1.67966 7.67685 1.58797ZM0.223104 10.5085C0.369594 10.3621 0.562535 10.2854 0.768078 10.2854H13.6875C14.4776 10.2854 15.2412 10.5179 15.8983 10.9559C16.5558 11.3943 17.0603 12.0119 17.3655 12.7416C17.6641 13.4714 17.7441 14.2689 17.5915 15.0454C17.4387 15.8224 17.0601 16.5264 16.5026 17.0839C15.945 17.6415 15.2411 18.0201 14.464 18.1729C13.6882 18.3254 12.8912 18.2526 12.1602 17.9469C11.4305 17.6417 10.8129 17.1372 10.3745 16.4797C9.9365 15.8226 9.70405 15.059 9.70405 14.2689C9.70405 14.0634 9.78066 13.8704 9.92715 13.7239C10.0736 13.5774 10.2666 13.5008 10.4721 13.5008C10.6777 13.5008 10.8706 13.5774 11.0171 13.7239L11.0195 13.7263C11.1557 13.8701 11.2402 14.0676 11.2402 14.2689C11.2402 14.7525 11.381 15.2235 11.6501 15.6272C11.9194 16.0311 12.2985 16.3429 12.7447 16.5262L12.746 16.5268C13.1921 16.7162 13.6808 16.7651 14.1576 16.6673L14.1591 16.667C14.6358 16.5753 15.0699 16.3431 15.4126 16.0004C15.7553 15.6578 15.9875 15.2237 16.0792 14.7469C16.1711 14.2691 16.1221 13.7794 15.9384 13.3325C15.7551 12.8863 15.4433 12.5072 15.0394 12.2379C14.6357 11.9688 14.1647 11.828 13.6811 11.828H0.768078C0.562534 11.828 0.369593 11.7514 0.223104 11.6049L0.220715 11.6025C0.084928 11.4592 0 11.2683 0 11.0599C0 10.8723 0.0638747 10.6951 0.186493 10.5542V10.5452L0.223104 10.5085ZM0.436493 10.652V10.6551L0.399881 10.6918C0.302 10.7896 0.25 10.9182 0.25 11.0599C0.25 11.1983 0.306057 11.3285 0.401069 11.4293C0.498802 11.5264 0.626932 11.578 0.768078 11.578H13.6811C14.2135 11.578 14.7329 11.7331 15.1781 12.0299C15.623 12.3265 15.9672 12.7448 16.1697 13.2375C16.3719 13.7295 16.4257 14.2687 16.3247 14.7941C16.2235 15.3205 15.967 15.7996 15.5894 16.1772C15.212 16.5546 14.7332 16.811 14.207 16.9124C13.6811 17.0201 13.1414 16.9662 12.649 16.7572C12.1566 16.5547 11.7386 16.2106 11.4421 15.7659C11.1453 15.3207 10.9902 14.8013 10.9902 14.2689C10.9902 14.1363 10.9337 14 10.8391 13.8995L10.8403 13.9007L10.9287 13.8123L10.838 13.8983L10.8391 13.8995C10.7414 13.8024 10.6133 13.7508 10.4721 13.7508C10.3304 13.7508 10.2018 13.8028 10.1039 13.9007C10.006 13.9986 9.95405 14.1272 9.95405 14.2689C9.95405 15.0094 10.1717 15.7248 10.5826 16.341C10.9931 16.9568 11.5716 17.4298 12.2567 17.7162C12.9404 18.0022 13.6869 18.0708 14.4158 17.9276C15.1436 17.7845 15.8029 17.43 16.3258 16.9072C16.8486 16.3843 17.2031 15.725 17.3462 14.9972C17.4893 14.2691 17.4147 13.5223 17.1346 12.8375C16.8481 12.1527 16.3753 11.5744 15.7596 11.164C15.1434 10.7531 14.428 10.5354 13.6875 10.5354H0.768078C0.6434 10.5354 0.528878 10.5757 0.436493 10.652Z\",\n fill: \"#7C8A9D\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_104_1219\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 21,\n height: 19,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMindfulness, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Mindfulness.3483d86a.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLongevity = function SvgLongevity(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 8,\n viewBox: \"0 0 16 8\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.98063 2.1623C6.41834 1.38744 5.52007 0.880013 4.48464 0.880013C2.76349 0.880013 1.36462 2.27886 1.36462 4C1.36462 5.72115 2.76349 7.12 4.48464 7.12C5.64349 7.12 6.72007 6.50973 7.31664 5.51545L8.22863 4L9.13378 2.48456C9.73035 1.49027 10.8069 0.880013 11.9658 0.880013C13.6869 0.880013 15.0858 2.27886 15.0858 4C15.0858 5.72115 13.6869 7.12 11.9658 7.12C10.9372 7.12 10.0389 6.61257 9.46977 5.83771\",\n stroke: \"#7C8A9D\",\n strokeWidth: 1.25,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLongevity, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Longevity.6f522453.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgNeuro = function SvgNeuro(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.4517 6.65307L13.4434 6.63635H13.4392C13.3137 6.38139 13.1464 6.18495 12.9415 6.0512H12.9373C12.8871 6.01777 12.8328 5.98433 12.7784 5.95925L12.7115 5.92582L12.7366 5.85476C12.954 5.22782 12.929 4.45042 12.6864 3.76915C12.5776 3.46822 12.3769 3.04608 12.0172 2.74933C11.8123 2.58214 11.5739 2.48183 11.3313 2.46511H11.2686L11.2561 2.39406C11.118 1.73787 10.7082 1.31155 10.3945 1.06495C9.83827 0.642812 9.16075 0.438012 8.47067 0.421294C8.24065 0.421294 8.01063 0.471449 7.80152 0.571759C7.59659 0.680429 7.42093 0.835073 7.29128 1.03151L7.22437 1.136L7.15327 1.03151C7.02362 0.839253 6.84796 0.680429 6.64722 0.571759C6.43392 0.467269 6.2039 0.417114 5.97806 0.417114H5.97387C5.28799 0.417114 4.62301 0.634453 4.07932 1.03987L4.05004 1.06077C3.73637 1.30737 3.32233 1.73787 3.1885 2.38988L3.17595 2.4484H3.11322C2.86646 2.46929 2.62808 2.5696 2.42315 2.73679C2.06347 3.02936 1.85854 3.45568 1.75399 3.75661C1.51142 4.43788 1.48632 5.21947 1.7038 5.8464L1.72889 5.91746L1.65779 5.95089H1.65361C1.60343 5.98015 1.54906 6.00523 1.4905 6.04702C1.27721 6.19331 1.10574 6.39811 0.992817 6.63635C0.754429 7.11282 0.645691 7.78155 0.645691 8.66345C0.645691 9.68327 1.07228 10.2726 1.44032 10.5819C1.68289 10.7867 1.97565 10.9413 2.28513 11.0291L2.3395 11.0416L2.35205 11.096C2.4566 11.6184 2.68663 12.1074 3.02121 12.517C3.40597 13.0019 4.09186 13.5828 5.15415 13.5828C5.94878 13.5828 6.55102 13.1231 6.90652 12.7511C6.99852 12.6508 7.08635 12.5463 7.17 12.4376L7.23691 12.3457L7.30383 12.4376C7.38747 12.5463 7.4753 12.6508 7.56731 12.7511C7.9228 13.1231 8.52086 13.5828 9.31967 13.5828C10.382 13.5828 11.072 13.0019 11.4526 12.517C11.7872 12.0991 12.0298 11.5808 12.1134 11.096L12.1218 11.0458L12.172 11.0333C12.4815 10.9497 12.77 10.795 13.0168 10.5861C13.3806 10.2684 13.8114 9.68745 13.8114 8.66763C13.8114 7.78156 13.6985 7.117 13.4601 6.64471L13.4517 6.65307ZM12.4856 10.1556C12.218 10.352 11.9294 10.4231 11.7997 10.4231C11.7077 10.4231 11.6283 10.4607 11.5697 10.515V10.5192C11.5112 10.5777 11.4735 10.6655 11.4735 10.7532C11.4735 11.0751 11.3062 11.6268 10.9215 12.1074C10.4907 12.6466 9.93446 12.9225 9.30712 12.9225C8.75925 12.9225 8.31593 12.5881 8.03572 12.2997C7.88934 12.145 7.75969 11.9695 7.65932 11.8023C7.62586 11.7396 7.5924 11.6728 7.56313 11.6059L7.55476 11.5599V10.678H8.26575C8.74252 10.678 9.1942 10.4899 9.53297 10.1514C9.87173 9.81284 10.0599 9.36144 10.0599 8.88497V7.29672L10.1143 7.27582C10.3778 7.18805 10.5911 7.00415 10.7291 6.76591C10.8671 6.52768 10.9173 6.25182 10.8713 5.98015C10.8253 5.70848 10.6831 5.46188 10.474 5.28634C10.0557 4.93107 9.39077 4.93107 8.96836 5.28634C8.75925 5.46606 8.61705 5.70848 8.57105 5.98015C8.52504 6.25182 8.57105 6.52768 8.71743 6.77009C8.85544 7.00833 9.07292 7.18805 9.33222 7.28L9.39077 7.3009V8.88915C9.39077 9.50773 8.88472 10.0176 8.26156 10.0176H7.55058V2.41078C7.55476 2.16418 7.60495 1.93013 7.68441 1.70443C7.73878 1.54142 7.83497 1.39096 7.96044 1.26557C8.10682 1.14018 8.28247 1.07749 8.47067 1.08585H8.4874C9.01437 1.08585 9.5497 1.26557 9.98047 1.58322C10.4071 1.91341 10.6371 2.36062 10.6371 2.83292C10.6371 2.88725 10.6538 2.93741 10.6747 2.9792C10.6956 3.02518 10.7333 3.06698 10.7793 3.10041C10.8169 3.12549 10.8629 3.15057 10.9173 3.15893C10.9717 3.16729 11.0218 3.15893 11.0679 3.14639H11.072C11.2561 3.08369 11.4192 3.11713 11.599 3.25924C11.7788 3.40552 11.9419 3.6563 12.059 3.98649C12.3142 4.7012 12.2598 5.50368 11.9419 5.98433C11.9043 6.03867 11.8918 6.09718 11.8834 6.14733V6.15569V6.16405C11.8834 6.21003 11.8876 6.27272 11.921 6.33124C11.9461 6.37721 11.9838 6.42319 12.0465 6.45662C12.1134 6.49424 12.1845 6.49842 12.2389 6.49842C12.3518 6.49842 12.4689 6.53186 12.5735 6.59873C12.7031 6.69486 12.7993 6.81189 12.862 6.94564C13.0377 7.30508 13.1339 7.88187 13.1339 8.66763C13.1339 9.29457 12.9415 9.76686 12.5735 10.0845L12.4898 10.1597L12.4856 10.1556ZM10.2189 6.16823C10.2189 6.30198 10.1687 6.42737 10.0725 6.5235C9.98047 6.61545 9.85082 6.66978 9.71698 6.66978C9.58315 6.66978 9.45769 6.61963 9.36149 6.5235C9.2653 6.42737 9.21512 6.30198 9.21512 6.16823C9.21512 6.03449 9.2653 5.9091 9.36149 5.81297C9.54969 5.62489 9.88427 5.62489 10.0725 5.81297C10.1687 5.9091 10.2189 6.03449 10.2189 6.16823ZM5.13742 12.9225C4.51009 12.9225 3.94967 12.6466 3.52308 12.1074C3.13831 11.6226 2.97102 11.0751 2.97102 10.7532C2.97102 10.6613 2.93338 10.5819 2.87901 10.5234V10.5192C2.81209 10.4523 2.72845 10.4231 2.64481 10.4231C2.50261 10.4231 2.16385 10.3353 1.87109 10.0845C1.50723 9.77104 1.31067 9.29875 1.31067 8.66763C1.31067 7.87769 1.40686 7.3009 1.5867 6.94146L1.62015 6.8704L1.69125 6.89548C1.72889 6.90802 1.76653 6.91638 1.80836 6.91638H3.26796C3.88693 6.91638 4.39717 7.42211 4.39717 8.04487V8.3876L4.33862 8.40849C4.07932 8.50045 3.86184 8.68017 3.72382 8.9184C3.58581 9.15664 3.53562 9.43249 3.58163 9.70417C3.62763 9.97584 3.76983 10.2224 3.98312 10.398C4.40553 10.7532 5.06214 10.7532 5.48873 10.398C5.69785 10.2183 5.84004 9.97584 5.88605 9.70417C5.93205 9.43249 5.88605 9.15664 5.73967 8.91422C5.60165 8.67599 5.38418 8.50045 5.12488 8.40431L5.06633 8.38342V8.04069C5.06633 7.56422 4.87813 7.11282 4.53936 6.77427C4.2006 6.43573 3.74892 6.24764 3.27214 6.24764H2.56116V6.15987C2.56116 6.093 2.54025 6.02613 2.50261 5.97597C2.18476 5.49532 2.13039 4.69284 2.38551 3.97813C2.50261 3.6563 2.6699 3.39716 2.84974 3.25088C3.02539 3.10877 3.19268 3.07951 3.3767 3.13803C3.41852 3.15057 3.47289 3.15893 3.52726 3.15057C3.58163 3.14221 3.63182 3.12131 3.66946 3.09205C3.71546 3.05862 3.74892 3.01264 3.76565 2.98756V2.97502C3.78656 2.93323 3.80329 2.87889 3.80329 2.82038C3.80329 2.34809 4.03331 1.90087 4.45572 1.57068C4.89067 1.24467 5.426 1.06495 5.96551 1.06495H5.98224C6.15371 1.05241 6.33355 1.11511 6.47574 1.24049C6.60958 1.37006 6.70577 1.52053 6.76014 1.68771C6.83123 1.89669 6.88142 2.11821 6.88979 2.34391V4.16621H5.82331L5.8024 4.10769C5.71039 3.84856 5.53056 3.63122 5.29217 3.49329C5.05378 3.35537 4.77775 3.30521 4.50591 3.35119C4.23406 3.39716 3.98731 3.53927 3.81165 3.75243C3.63182 3.96559 3.53981 4.2289 3.53981 4.50058C3.53981 4.77225 3.64018 5.04392 3.81165 5.24872C3.99149 5.46188 4.23406 5.59981 4.50591 5.64996C4.76939 5.69594 5.05378 5.64996 5.29217 5.50368C5.53056 5.36575 5.70621 5.14841 5.8024 4.88928L5.82331 4.83076H6.87306L6.86469 11.6017C6.8396 11.6686 6.80614 11.7313 6.77268 11.7981C6.68067 11.9611 6.54684 12.1325 6.40046 12.2913C6.12025 12.5839 5.68112 12.9141 5.13324 12.9141L5.13742 12.9225ZM5.07051 9.86299C4.97432 9.95912 4.84885 10.0093 4.71502 10.0093C4.58119 10.0093 4.45154 9.95494 4.35953 9.86299C4.26752 9.77104 4.21315 9.64147 4.21315 9.50773C4.21315 9.37398 4.26752 9.24441 4.35953 9.15246C4.54773 8.96438 4.88231 8.96438 5.07051 9.15246C5.16252 9.24441 5.21689 9.37398 5.21689 9.50773C5.21689 9.64147 5.16252 9.77104 5.07051 9.86299ZM5.07051 4.8642C4.97432 4.96033 4.84885 5.01049 4.71502 5.01049C4.58119 5.01049 4.45154 4.95615 4.35953 4.8642C4.26333 4.76807 4.21315 4.64268 4.21315 4.50893C4.21315 4.37519 4.26333 4.2498 4.35953 4.15367C4.54773 3.96559 4.88231 3.96559 5.07051 4.15367C5.1667 4.2498 5.21689 4.37519 5.21689 4.50893C5.21689 4.64268 5.1667 4.76807 5.07051 4.8642Z\",\n fill: \"#7C8A9D\",\n stroke: \"#7C8A9D\",\n strokeWidth: 0.25\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgNeuro, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Neuro.2855678d.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgSleep = function SvgSleep(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 14,\n height: 14,\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8777 8.3824C11.3058 8.63337 10.6846 8.77326 10.0715 8.76091C7.6441 8.76091 5.66513 6.8272 5.66513 4.44914C5.66513 3.64686 5.89142 2.86103 6.32342 2.18217C6.47976 1.93531 6.47153 1.6144 6.30284 1.37989C6.1465 1.16183 5.8873 1.0672 5.6281 1.13714C2.93736 1.82011 1.05713 4.2064 1.05713 6.93829C1.05713 10.2462 3.80136 12.9328 7.17096 12.9328C9.66422 12.9328 11.8818 11.4722 12.8281 9.20937C12.9268 8.97074 12.8734 8.70743 12.6882 8.52229C12.4784 8.31657 12.1534 8.25897 11.8777 8.37829V8.3824ZM12.2562 8.97074C11.4087 10.9991 9.41324 12.3115 7.17096 12.3115C4.14284 12.3115 1.67839 9.90057 1.67839 6.93417C1.67839 4.49029 3.36524 2.35086 5.79267 1.7296C5.79267 1.7296 5.80913 1.74194 5.81324 1.76663C5.81736 1.78309 5.82147 1.816 5.8009 1.84891C5.30719 2.62651 5.04799 3.52754 5.04799 4.44914C5.04799 7.16869 7.30262 9.37806 10.0715 9.37806H10.0798C10.7874 9.37806 11.4745 9.23406 12.1246 8.95017C12.1904 8.92137 12.248 8.9584 12.2562 8.96663C12.2562 8.96663 12.2562 8.96663 12.2562 8.97074Z\",\n fill: \"#7C8A9D\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9927 3.09554L12.3015 2.95566C12.0793 2.9104 11.8777 2.80343 11.7172 2.64297C11.5568 2.48251 11.4498 2.28091 11.4046 2.05874L11.2647 1.36754C11.203 1.05074 10.9314 0.828571 10.6064 0.828571C10.2814 0.828571 10.0098 1.05074 9.9481 1.36754L9.80822 2.05874C9.76296 2.28091 9.65599 2.48251 9.49553 2.64297C9.33507 2.80343 9.13347 2.9104 8.9113 2.95566L8.2201 3.09554C7.9033 3.15726 7.68113 3.4288 7.68113 3.75383C7.68113 4.07886 7.9033 4.3504 8.2201 4.41211L8.91542 4.552C9.13759 4.59726 9.33919 4.70423 9.49964 4.86469C9.6601 5.02514 9.76707 5.22674 9.81233 5.44891L9.95222 6.14011C10.0139 6.45691 10.2855 6.67909 10.6105 6.67909C10.9355 6.67909 11.2071 6.45691 11.2688 6.136L11.4087 5.4448C11.4539 5.22263 11.5609 5.02103 11.7214 4.86057C11.8818 4.70011 12.0834 4.59314 12.3056 4.54789L12.9968 4.408C13.3136 4.34629 13.5358 4.07474 13.5358 3.74971C13.5358 3.42469 13.3136 3.15314 12.9927 3.09143V3.09554ZM12.8734 3.80731L12.1822 3.9472C11.8407 4.01714 11.528 4.18171 11.2811 4.42857C11.0343 4.67543 10.8697 4.98811 10.7998 5.3296L10.6599 6.0208C10.6599 6.0208 10.6516 6.06194 10.6064 6.06194C10.5611 6.06194 10.557 6.03726 10.5529 6.0208L10.413 5.3296C10.3431 4.98811 10.1785 4.67543 9.93164 4.42857C9.68479 4.18171 9.3721 4.01714 9.03061 3.9472L8.33942 3.80731C8.33942 3.80731 8.29827 3.79909 8.29827 3.75383C8.29827 3.70857 8.32707 3.70446 8.33942 3.70034L9.03473 3.56046C9.37621 3.49051 9.6889 3.32594 9.93576 3.07909C10.1826 2.83223 10.3472 2.51954 10.4171 2.17806L10.557 1.48686C10.557 1.48686 10.5652 1.44571 10.6105 1.44571C10.6558 1.44571 10.6599 1.4704 10.664 1.48686L10.8039 2.17806C10.8738 2.51954 11.0384 2.83223 11.2852 3.07909C11.5321 3.32594 11.8448 3.49051 12.1863 3.56046L12.8775 3.70034C12.8775 3.70034 12.9186 3.70857 12.9186 3.75383C12.9186 3.79909 12.8939 3.8032 12.8775 3.80731H12.8734Z\",\n fill: \"#7C8A9D\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8777 8.3824C11.3058 8.63337 10.6846 8.77326 10.0715 8.76091C7.6441 8.76091 5.66513 6.8272 5.66513 4.44914C5.66513 3.64686 5.89142 2.86103 6.32342 2.18217C6.47976 1.93531 6.47153 1.6144 6.30284 1.37989C6.1465 1.16183 5.8873 1.0672 5.6281 1.13714C2.93736 1.82011 1.05713 4.2064 1.05713 6.93829C1.05713 10.2462 3.80136 12.9328 7.17096 12.9328C9.66422 12.9328 11.8818 11.4722 12.8281 9.20937C12.9268 8.97074 12.8734 8.70743 12.6882 8.52229C12.4784 8.31657 12.1534 8.25897 11.8777 8.37829V8.3824ZM12.2562 8.97074C11.4087 10.9991 9.41324 12.3115 7.17096 12.3115C4.14284 12.3115 1.67839 9.90057 1.67839 6.93417C1.67839 4.49029 3.36524 2.35086 5.79267 1.7296C5.79267 1.7296 5.80913 1.74194 5.81324 1.76663C5.81736 1.78309 5.82147 1.816 5.8009 1.84891C5.30719 2.62651 5.04799 3.52754 5.04799 4.44914C5.04799 7.16869 7.30262 9.37806 10.0715 9.37806H10.0798C10.7874 9.37806 11.4745 9.23406 12.1246 8.95017C12.1904 8.92137 12.248 8.9584 12.2562 8.96663C12.2562 8.96663 12.2562 8.96663 12.2562 8.97074Z\",\n stroke: \"#7C8A9D\",\n strokeWidth: 0.5\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.9927 3.09554L12.3015 2.95566C12.0793 2.9104 11.8777 2.80343 11.7172 2.64297C11.5568 2.48251 11.4498 2.28091 11.4046 2.05874L11.2647 1.36754C11.203 1.05074 10.9314 0.828571 10.6064 0.828571C10.2814 0.828571 10.0098 1.05074 9.9481 1.36754L9.80822 2.05874C9.76296 2.28091 9.65599 2.48251 9.49553 2.64297C9.33507 2.80343 9.13347 2.9104 8.9113 2.95566L8.2201 3.09554C7.9033 3.15726 7.68113 3.4288 7.68113 3.75383C7.68113 4.07886 7.9033 4.3504 8.2201 4.41211L8.91542 4.552C9.13759 4.59726 9.33919 4.70423 9.49964 4.86469C9.6601 5.02514 9.76707 5.22674 9.81233 5.44891L9.95222 6.14011C10.0139 6.45691 10.2855 6.67909 10.6105 6.67909C10.9355 6.67909 11.2071 6.45691 11.2688 6.136L11.4087 5.4448C11.4539 5.22263 11.5609 5.02103 11.7214 4.86057C11.8818 4.70011 12.0834 4.59314 12.3056 4.54789L12.9968 4.408C13.3136 4.34629 13.5358 4.07474 13.5358 3.74971C13.5358 3.42469 13.3136 3.15314 12.9927 3.09143V3.09554ZM12.8734 3.80731L12.1822 3.9472C11.8407 4.01714 11.528 4.18171 11.2811 4.42857C11.0343 4.67543 10.8697 4.98811 10.7998 5.3296L10.6599 6.0208C10.6599 6.0208 10.6516 6.06194 10.6064 6.06194C10.5611 6.06194 10.557 6.03726 10.5529 6.0208L10.413 5.3296C10.3431 4.98811 10.1785 4.67543 9.93164 4.42857C9.68479 4.18171 9.3721 4.01714 9.03061 3.9472L8.33942 3.80731C8.33942 3.80731 8.29827 3.79909 8.29827 3.75383C8.29827 3.70857 8.32707 3.70446 8.33942 3.70034L9.03473 3.56046C9.37621 3.49051 9.6889 3.32594 9.93576 3.07909C10.1826 2.83223 10.3472 2.51954 10.4171 2.17806L10.557 1.48686C10.557 1.48686 10.5652 1.44571 10.6105 1.44571C10.6558 1.44571 10.6599 1.4704 10.664 1.48686L10.8039 2.17806C10.8738 2.51954 11.0384 2.83223 11.2852 3.07909C11.5321 3.32594 11.8448 3.49051 12.1863 3.56046L12.8775 3.70034C12.8775 3.70034 12.9186 3.70857 12.9186 3.75383C12.9186 3.79909 12.8939 3.8032 12.8775 3.80731H12.8734Z\",\n stroke: \"#7C8A9D\",\n strokeWidth: 0.5\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgSleep, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Sleep.85813e65.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgOtherGoal = function SvgOtherGoal(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 18,\n viewBox: \"0 0 17 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8.2285 3.35764C8.48819 3.35764 8.69871 3.14713 8.69871 2.88744C8.69871 2.62775 8.48819 2.41724 8.2285 2.41724C7.96882 2.41724 7.7583 2.62775 7.7583 2.88744C7.7583 3.14713 7.96882 3.35764 8.2285 3.35764Z\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.22827 4.76831V15.583\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M6.81775 5.23848H3.52632C2.48758 5.23848 1.64551 4.39641 1.64551 3.35767H6.34755L6.81775 5.23848Z\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M9.63916 5.23848H12.9306C13.9693 5.23848 14.8114 4.39641 14.8114 3.35767H10.1094L9.63916 5.23848Z\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.34766 9.94055H10.1093\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.1089 7.11926C10.8879 7.11926 11.5195 7.75082 11.5195 8.52988C11.5195 9.30894 10.8879 9.94049 10.1089 9.94049\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.34762 9.94049C5.56856 9.94049 4.93701 9.30894 4.93701 8.52988C4.93701 7.75082 5.56856 7.11926 6.34762 7.11926\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.63916 9.94055C10.4182 9.94055 11.0498 10.5721 11.0498 11.3512C11.0498 12.1302 10.4182 12.7618 9.63916 12.7618\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.81784 12.7618C6.03878 12.7618 5.40723 12.1302 5.40723 11.3512C5.40723 10.5721 6.03878 9.94055 6.81784 9.94055\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.63916 12.7617C10.1585 12.7617 10.5796 13.1828 10.5796 13.7021C10.5796 14.2215 10.1585 14.6425 9.63916 14.6425\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.81785 14.6425C6.29848 14.6425 5.87744 14.2215 5.87744 13.7021C5.87744 13.1828 6.29848 12.7617 6.81785 12.7617\",\n stroke: \"#7C8A9D\",\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgOtherGoal, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/OtherGoal.dc187964.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCeliacAndGluten = function SvgCeliacAndGluten(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 274,\n height: 84,\n viewBox: \"0 0 274 84\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n y: 0.5,\n width: 274,\n height: 83,\n fill: \"url(#pattern0)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"pattern\", {\n id: \"pattern0\",\n patternContentUnits: \"objectBoundingBox\",\n width: 1,\n height: 1\n }, /*#__PURE__*/React.createElement(\"use\", {\n xlinkHref: \"#image0_966_21254\",\n transform: \"matrix(0.00134035 0 0 0.00442478 -0.00129191 0)\"\n })), /*#__PURE__*/React.createElement(\"image\", {\n id: \"image0_966_21254\",\n width: 748,\n height: 226,\n xlinkHref: \"data:image/png;base64,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/XHvcR4QiIhz483l6qO8pEDckOlZXqsUdOF+W0hZc1OOu2JQ1GszARMwARMwARO4fgJ22K9/DXwEKSJAlGx1Yz3oPNGBJqNec+oLnbRF9RA+bujx0cKexyiURRN+3BhIxWCY2Bo+O+Z8Xl1TFSLgOOwU56IntZmACZiACZiACaSDgB32dKyTj9IETMAETMAETMAETCCjBOywZ3ThfdomYAImYAImYAImYALpIGCHPR3r5KM0ARMwARMwARMwARPIKAE77BldeJ+2CZiACZiACZiACZhAOgjYYU/HOvkoTcAETMAETMAETMAEMkrADntGF96nbQImYAImYAImYAImkA4CdtjTsU4+ShMwARMwARMwARMwgYwSsMOe0YX3aZuACZiACZiACZiACaSDgB32dKyTj9IETMAETMAETMAETCCjBOywZ3ThfdomYAImYAImYAImYALpIGCHPR3r5KM0ARMwARMwARMwARPIKAE77BldeJ+2CZiACZiACZiACZhAOgjYYU/HOvkoTcAETMAETMAETMAEMkrADntGF96nbQImYAImYAImYAImkA4CdtjTsU4+ShMwARMwARMwARMwgYwS+A96XsIWPps6WwAAAABJRU5ErkJggg==\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCeliacAndGluten, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CeliacAndGluten.b13f3863.svg\";\nexport { ForwardRef as ReactComponent };","import {GoalCategory} from \"../../../../notes/models/notes.models\";\nimport { ReactComponent as Diet } from '@img/icons/Diet.svg';\nimport { ReactComponent as Exercise } from '@img/icons/Exercise.svg';\nimport { ReactComponent as Mindfulness } from '@img/icons/Mindfulness.svg';\nimport { ReactComponent as Longevity } from '@img/icons/Longevity.svg';\nimport { ReactComponent as Neuro } from '@img/icons/Neuro.svg';\nimport { ReactComponent as Sleep } from '@img/icons/Sleep.svg';\nimport { ReactComponent as Other } from '@img/icons/OtherGoal.svg';\nimport React from \"react\";\n\nexport const healthGoalIcons = new Map()\n .set(GoalCategory.Diet, )\n .set(GoalCategory.Exercise, )\n .set(GoalCategory.Mindfulness, )\n .set(GoalCategory.Longevity, )\n .set(GoalCategory.Neuro, )\n .set(GoalCategory.Sleep, )\n .set(GoalCategory.Other, );","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n category: {\n background: colors.lightGray2,\n color: colors.gray1,\n borderRadius: 6,\n fontWeight: 600,\n fontSize: 12,\n height: 28,\n padding: 4,\n paddingTop: 6\n },\n link: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.black,\n cursor: 'pointer',\n '&:hover': {\n color: colors.main,\n textDecoration: 'underline',\n }\n },\n })\n);\n","import React from 'react';\nimport { Box, Grid, IconButton, Table, TableBody, TableContainer, TableHead, TableRow } from '@material-ui/core';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { useFacade } from './healthPlanPastGoalsComponent.hooks';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport moment from 'moment';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { colors } from '../../../common/constants/colors';\nimport { PaginationComponent } from '../../../common/pagination/components/paginationComponent/PaginationComponent';\nimport { pageSizes } from '../../../common/pagination/models/page-sizes';\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { goalCategoryNames } from '../../../notes/constants/goalCategoryNames';\nimport { healthGoalIcons } from '../../../widgets/components/healthPlanWidgetComponent/constants/healthGoalIcons';\nimport { GoalCategory, GoalModel } from '../../../notes/models/notes.models';\nimport { useStyles } from './healthPlanPastGoalsComponent.styles';\nimport { ChevronLeft } from '@material-ui/icons';\n\n\n\ninterface HealthPlanPastGoalsComponentProps {\n patientId: number;\n isMobile?: boolean;\n handleOpenGoal: (goal: GoalModel) => void;\n renderGoal?: (goal: GoalModel, index: number) => JSX.Element;\n}\n\nexport const HealthPlanPastGoalsComponent: React.FC = (props: HealthPlanPastGoalsComponentProps) => {\n const {\n patientId = null,\n isMobile = false,\n handleOpenGoal,\n renderGoal,\n } = props;\n\n const [\n {\n isLoading,\n goals,\n totalCount,\n pageSize,\n selectedPage,\n },\n handleSearchSubmit,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleGoBack,\n ] = useFacade(patientId, isMobile);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n\n if (isLoading) {\n return \n }\n\n const renderCategory = (category: GoalCategory) => {\n return (\n \n \n {healthGoalIcons.get(category)}\n \n \n {goalCategoryNames.get(category)}\n \n \n )\n }\n\n const renderTable = () => {\n return (\n <>\n \n \n \n \n \n Date\n \n \n Category\n \n \n Goal\n \n\n\n \n \n \n {goals.map((goal, index) => (\n \n \n {moment(toCurrentTimeZone(new Date(goal.date))).format('MMM YYYY')}\n \n \n {renderCategory(goal.category)}\n \n handleOpenGoal(goal)}>\n \n {goal.name}\n \n \n \n ))}\n \n
\n
\n \n \n \n \n )\n }\n\n const renderWeb = () => {\n return \n \n \n Past Goals\n \n \n \n \n \n \n {goals?.length ? renderTable() : \n No past goals yet\n }\n \n \n }\n\n const renderMobile = () => {\n return \n \n \n handleGoBack()} >\n \n \n Past Goals\n \n\n \n \n {goals?.length\n ? \n \n {\n goals.map((goal, index) => {\n return renderGoal(goal, index);\n })\n }\n \n \n : No past goals yet}\n \n }\n\n return isMobile ? renderMobile() : renderWeb();\n\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { GoalModel, GoalsFilterState } from \"../../../notes/models/notes.models\";\nimport { goalsService } from \"../../../notes/services/goals.service\";\nimport { notesQuery, notesStore } from \"../../../notes/stores/notes\";\nimport { useHistory } from 'react-router';\n\n\ninterface HealthPlanPastGoalsComponentState extends IPaginationState {\n isLoading: boolean;\n goals: GoalModel[];\n page: number;\n rowsPerPage: number;\n searchQuery: string;\n}\n\nexport function useFacade(patientId?: number, isMobile?: boolean): [\n HealthPlanPastGoalsComponentState,\n (query: string) => void,\n () => number[],\n (value: any) => void,\n (page: number) => void,\n () => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n goals: [],\n page: 0,\n rowsPerPage: isMobile ? '' : pageSizes[0],\n totalCount: 0,\n selectedPage: 1,\n pageSize: isMobile ? '' : pageSizes[0],\n searchQuery: '',\n } as HealthPlanPastGoalsComponentState);\n const history = useHistory();\n\n const handleGoBack = () => {\n notesStore.setGoalsTab(GoalsFilterState.TopGoals)\n history.goBack();\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1,\n isLoading: true,\n }));\n getPastGoal(state.searchQuery, 0, value)\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n setState(state => ({\n ...state,\n selectedPage: page,\n isLoading: true\n }));\n getPastGoal(state.searchQuery, page - 1, state.pageSize)\n }\n\n const handleSearchSubmit = (query = '') => {\n setState(state => ({ ...state, isLoading: true, searchQuery: query }));\n getPastGoal(query, 0, state.pageSize)\n }\n\n const getPastGoal = (query: string, skip: number, take: number) => {\n const cb = () => setState((state) => ({ ...state, isLoading: false }));\n\n if (patientId) {\n goalsService.getPastGoalsByEmployee(patientId, query, skip * take, take).subscribe(cb, cb);\n cb()\n } else {\n goalsService.getPastGoalsByPatient(query, skip * take, take).subscribe(cb, cb);\n cb()\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(\n notesQuery.pastGoals$,\n (goals) => {\n setState((state) => ({\n ...state,\n goals: goals,\n }));\n }\n ),\n onEmit(\n notesQuery.pastGoalsTotal$,\n (pastGoalsTotal) => {\n setState((state) => ({\n ...state,\n totalCount: pastGoalsTotal,\n }));\n }\n ),\n ];\n\n\n getPastGoal('', state.selectedPage - 1, state.pageSize,)\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [\n state,\n handleSearchSubmit,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleGoBack,\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core/styles\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 400,\n [theme.breakpoints.down(\"xs\")]: {\n height: \"fit-content\",\n },\n },\n content: {\n background: colors.bg,\n padding: 30,\n [theme.breakpoints.down(\"sm\")]: {\n padding: 20,\n },\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n title: {\n fontSize: 20,\n fontWeight: 600,\n fontFamily: \"Poppins\",\n color: colors.black,\n },\n link: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.main,\n cursor: 'pointer'\n },\n filterButton: {\n color: colors.gray1,\n cursor: 'pointer',\n fontWeight: 500,\n fontSize: 15,\n height: 40,\n padding: 10,\n paddingLeft: 15,\n paddingRight: 15\n },\n selectedFilterButton: {\n cursor: 'pointer',\n fontWeight: 500,\n fontSize: 15,\n background: colors.lightGray2,\n color: colors.main,\n borderRadius: 20,\n height: 40,\n padding: 10,\n paddingLeft: 15,\n paddingRight: 15\n },\n noHealthGoalsText: {\n fontSize: 15,\n fontWeight: 600,\n color: colors.main,\n },\n noHealthGoalsSubText: {\n fontSize: 15,\n fontWeight: 500,\n color: colors.gray1,\n }\n })\n);\n","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\nimport {colors} from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n height: 94,\n borderRadius: 12,\n border: '1px solid ' + colors.grayBorder,\n cursor: 'pointer',\n background: colors.white,\n },\n title: {\n fontSize: 14,\n fontWeight: 500,\n fontFamily: \"Be Vietnam Pro\",\n color: colors.black,\n },\n imageContainer: {\n minWidth: 92,\n minHeight: 92,\n borderRadius: '11px 0px 0px 11px',\n background: colors.lightGray2,\n backgroundRepeat: 'no-repeat',\n backgroundPosition: 'center',\n backgroundSize: 'cover'\n },\n container: {\n padding: 10,\n overflow: 'hidden',\n textOverflow: 'ellipsis'\n },\n category: {\n background: colors.lightGray2,\n color: colors.gray1,\n borderRadius: 6,\n fontWeight: 600,\n fontSize: 12,\n height: 28,\n padding: 4,\n paddingTop: 6\n },\n date: {\n fontSize: 12,\n color: colors.gray1,\n fontWeight: 500\n }\n })\n);\n","import {GoalCategory} from \"../../../../notes/models/notes.models\";\nimport DietImage from '@img/DietGoal.png';\nimport ExerciseImage from '@img/ExerciseGoal.png';\nimport MindfulnessImage from '@img/MindfulnessGoal.png';\nimport LongevityImage from '@img/LongevityGoal.png';\nimport NeuroImage from '@img/NeuroGoal.png';\nimport SleepImage from '@img/SleepGoal.png';\nimport OtherImage from '@img/OtherGoal.png';\nimport DietFullImage from '@img/DietGoalFull.png';\nimport ExerciseFullImage from '@img/ExerciseGoalFull.png';\nimport MindfulnessFullImage from '@img/MindfulnessGoalFull.png';\nimport LongevityFullImage from '@img/LongevityGoalFull.png';\nimport NeuroFullImage from '@img/NeuroGoalFull.png';\nimport SleepFullImage from '@img/SleepGoalFull.png';\nimport OtherFullImage from '@img/OtherGoalFull.png';\n\nexport const healthGoalImages = new Map()\n .set(GoalCategory.Diet, DietImage)\n .set(GoalCategory.Exercise, ExerciseImage)\n .set(GoalCategory.Mindfulness, MindfulnessImage)\n .set(GoalCategory.Longevity, LongevityImage)\n .set(GoalCategory.Neuro, NeuroImage)\n .set(GoalCategory.Sleep, SleepImage)\n .set(GoalCategory.Other, OtherImage);\n\nexport const healthGoalFullImages = new Map()\n .set(GoalCategory.Diet, DietFullImage)\n .set(GoalCategory.Exercise, ExerciseFullImage)\n .set(GoalCategory.Mindfulness, MindfulnessFullImage)\n .set(GoalCategory.Longevity, LongevityFullImage)\n .set(GoalCategory.Neuro, NeuroFullImage)\n .set(GoalCategory.Sleep, SleepFullImage)\n .set(GoalCategory.Other, OtherFullImage)","import React from \"react\";\nimport {GoalCategory, GoalModel} from \"../../../../notes/models/notes.models\";\nimport {useStyles} from \"./healthPlanItemComponent.style\";\nimport {Box} from \"@material-ui/core\";\nimport {goalCategoryNames} from \"../../../../notes/constants/goalCategoryNames\";\nimport StarIcon from \"@material-ui/icons/Star\";\nimport moment from \"moment\";\nimport {healthGoalIcons} from \"../constants/healthGoalIcons\";\nimport {healthGoalImages} from \"../constants/healthGoalImages\";\n\nexport interface HealthPlanItemComponentProps {\n goal: GoalModel;\n onClick: Function;\n}\n\nexport const HealthPlanItemComponent: React.FC = (props: HealthPlanItemComponentProps) => {\n const goal = props.goal;\n const onClick = props.onClick;\n const classes = useStyles();\n\n const renderCategory = (category: GoalCategory) => {\n return (\n \n \n {healthGoalIcons.get(category)}\n \n \n {goalCategoryNames.get(category)}\n \n \n )\n }\n\n return (\n onClick()}>\n \n\n \n \n \n \n {\n renderCategory(goal.category)\n }\n \n \n {\n goal.date &&\n \n {moment(goal.date).format('MMMM YYYY')}\n \n }\n {\n goal.isTopGoal &&\n \n \n \n }\n \n \n \n {goal.name.slice(0, 50)}\n {goal.name.length > 50 && ...}\n \n \n \n )\n}","import React from 'react';\nimport { useFacade } from './healthPlanComponent.hooks';\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { Box, Card, CardContent, Grid, Typography, useMediaQuery, useTheme } from '@material-ui/core';\nimport { WildHealthTabControl } from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport { HealthPlanPastGoalsComponent } from '../HealthPlanPastGoals/HealthPlanPastGoalsComponent';\nimport { useStyles } from './HealthPlanComponent.style';\nimport KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight';\nimport StarIcon from '@material-ui/icons/Star';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport { GoalModel, goalsFiltersStateTrackNames, GoalsFilterState } from '../../../notes/models/notes.models';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { HealthPlanItemComponent } from '../../../widgets/components/healthPlanWidgetComponent/healthPlanItemComponent/HealthPlanItemComponent';\nimport { PlatformName, Track } from '../../../tracking/tracker';\n\ninterface HealthPlanComponentProps {\n patientId?: number;\n}\n\nexport const HealthPlanComponent: React.FC = (props: HealthPlanComponentProps) => {\n const { patientId = null } = props;\n\n const [\n {\n isLoading,\n goals,\n topGoals,\n filterState,\n },\n handleFilterStateChanges,\n handleOpenGoal,\n ] = useFacade(patientId);\n\n const classes = useStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n if (isLoading) {\n return \n }\n\n const renderGoal = (goal: GoalModel, index: number) => {\n return (\n \n handleOpenGoal(goal)} />\n \n )\n }\n\n const renderContentWeb = (goals: GoalModel[], type: GoalsFilterState) => {\n Track(\"health_plan_click\", {\n type: goalsFiltersStateTrackNames[type],\n platform: PlatformName()\n })\n if (!goals || !goals.length) {\n return (\n \n \n {type === GoalsFilterState.TopGoals ? 'You have no top goals yet.' : 'You have no goals yet.'}\n \n \n {type === GoalsFilterState.TopGoals\n ? 'Your health plan will be updated after your next physician appointment.'\n : 'Your health plan will be available after your initial appointment with your physician.'}\n \n \n )\n\n }\n return \n {\n goals.map((goal, index) => {\n return renderGoal(goal, index);\n })\n }\n \n }\n\n const renderContentMobile = (goals: GoalModel[]) => {\n\n if (!goals?.length) {\n return (\n \n \n {filterState === GoalsFilterState.TopGoals ? 'You have no top goals yet.' : 'You have no goals yet.'}\n \n \n {filterState === GoalsFilterState.TopGoals\n ? 'Your health plan will be updated after your next physician appointment.'\n : 'Your health plan will be available after your initial appointment with your physician.'}\n \n \n )\n }\n\n return (\n \n \n {\n goals.map((goal, index) => {\n return renderGoal(goal, index);\n })\n }\n \n \n )\n }\n\n const renderTabControlMobile = () => {\n return \n \n handleFilterStateChanges(GoalsFilterState.TopGoals)}>\n \n \n \n \n Top Goals\n \n \n handleFilterStateChanges(GoalsFilterState.AllGoals)}>\n \n \n \n \n Other Goals\n \n \n \n \n }\n\n const items: TabItem[] = [\n {\n title: 'Top Goals',\n content: \n {renderContentWeb(topGoals, GoalsFilterState.TopGoals)}\n ,\n keepMounted: true,\n },\n {\n title: 'Other Goals',\n content: \n {renderContentWeb(goals, GoalsFilterState.AllGoals)}\n ,\n keepMounted: true,\n },\n ];\n\n return isSmallScreen ? \n {filterState === GoalsFilterState.PastGoals\n ? \n \n \n : \n \n Health Plan\n handleFilterStateChanges(GoalsFilterState.PastGoals)}>\n \n Previous Goals\n \n \n \n \n \n \n {renderTabControlMobile()}\n {renderContentMobile(filterState === GoalsFilterState.TopGoals ? topGoals : goals)}\n }\n \n : \n \n \n \n}","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { GoalModel, goalsFiltersStateTrackNames, GoalsFilterState } from \"../../../notes/models/notes.models\";\nimport { goalsService } from \"../../../notes/services/goals.service\";\nimport { notesQuery, notesStore } from \"../../../notes/stores/notes\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\n\n\ninterface HealthPlanComponentState {\n isLoading: boolean;\n goals: GoalModel[];\n topGoals: GoalModel[];\n filterState: GoalsFilterState;\n}\n\nexport function useFacade(patientId?: number): [\n HealthPlanComponentState,\n (filterState: GoalsFilterState) => void,\n (goal: GoalModel) => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n filterState: GoalsFilterState.TopGoals,\n goals: [],\n topGoals: [],\n } as HealthPlanComponentState);\n const history = useHistory();\n\n const handleFilterStateChanges = (filterState: GoalsFilterState) => {\n if (!patientId) {\n navigationService.toMyHealthPlan(history, filterState)\n } else {\n notesStore.setGoalsTab(filterState)\n }\n }\n\n const handleOpenGoal = (goal: GoalModel) => {\n goalsService.openView(goal).subscribe();\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(\n notesQuery.currentGoals$,\n (goals) => {\n const topGoals = goals.filter(x => x.isTopGoal)\n topGoals.length ? handleFilterStateChanges(GoalsFilterState.TopGoals) : handleFilterStateChanges(GoalsFilterState.AllGoals)\n setState((state) => ({\n ...state,\n goals: goals.filter(x => !x.isTopGoal),\n topGoals: topGoals,\n }));\n }\n ),\n onEmit(\n notesQuery.goalsTab$,\n (goalsTab) => {\n \n Track(\"health_plan_click\", {\n type: goalsFiltersStateTrackNames[goalsTab],\n platform: PlatformName()\n })\n\n setState((state) => ({\n ...state,\n filterState: goalsTab,\n }));\n }\n ),\n ];\n\n const cb = () => setState((state) => ({ ...state, isLoading: false }));\n\n if (patientId) {\n goalsService.getCurrentGoalsByEmployee(patientId).subscribe(cb, cb);\n } else {\n goalsService.getCurrentGoalsByPatient().subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map((it) => it.unsubscribe());\n };\n }, [patientId]);\n\n return [state, handleFilterStateChanges, handleOpenGoal];\n}","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAcrobatPdfIcon = function SvgAcrobatPdfIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 29,\n viewBox: \"0 0 24 29\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M24 24.8594V8.23444L15 0.359436H4C2.93913 0.359436 1.92172 0.728185 1.17157 1.38456C0.421427 2.04094 0 2.93118 0 3.85944V24.8594C0 25.7877 0.421427 26.6779 1.17157 27.3343C1.92172 27.9907 2.93913 28.3594 4 28.3594H20C21.0609 28.3594 22.0783 27.9907 22.8284 27.3343C23.5786 26.6779 24 25.7877 24 24.8594ZM15 5.60944C15 6.30563 15.3161 6.97331 15.8787 7.46559C16.4413 7.95787 17.2044 8.23444 18 8.23444H22V24.8594C22 25.3236 21.7893 25.7687 21.4142 26.0969C21.0391 26.4251 20.5304 26.6094 20 26.6094H4C3.46957 26.6094 2.96086 26.4251 2.58579 26.0969C2.21071 25.7687 2 25.3236 2 24.8594V3.85944C2 3.39531 2.21071 2.95019 2.58579 2.622C2.96086 2.29381 3.46957 2.10944 4 2.10944H15V5.60944Z\",\n fill: \"#1F72A2\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.206 25.0115C4.81619 24.8751 4.50213 24.6116 4.33 24.2765C3.94 23.5975 4.07 22.9185 4.49 22.348C4.886 21.8108 5.54201 21.354 6.284 20.9708C7.22388 20.5044 8.21738 20.126 9.248 19.842C10.0484 18.5831 10.7578 17.2814 11.372 15.9448C11.0048 15.2146 10.7168 14.4559 10.512 13.6785C10.34 12.9785 10.274 12.2855 10.42 11.6905C10.57 11.071 10.968 10.5145 11.72 10.2503C12.104 10.1155 12.52 10.0403 12.924 10.1155C13.1272 10.1534 13.3183 10.2303 13.4833 10.3408C13.6483 10.4513 13.7831 10.5925 13.878 10.7543C14.054 11.0413 14.118 11.3773 14.132 11.6958C14.146 12.0248 14.108 12.3888 14.038 12.7703C13.87 13.6628 13.498 14.7548 12.998 15.9098C13.5498 16.9423 14.2057 17.9297 14.958 18.8603C15.8482 18.7988 16.7436 18.8281 17.626 18.9478C18.354 19.0633 19.094 19.289 19.546 19.7615C19.786 20.0135 19.932 20.3215 19.946 20.668C19.96 21.004 19.852 21.3365 19.67 21.6533C19.5124 21.9468 19.2679 22.1981 18.962 22.3813C18.6596 22.5539 18.3026 22.6384 17.942 22.6228C17.28 22.5983 16.634 22.2798 16.076 21.893C15.3975 21.4021 14.7861 20.8443 14.254 20.2305C12.9015 20.3648 11.5651 20.6026 10.26 20.941C9.66236 21.8684 8.98015 22.7521 8.22 23.5835C7.636 24.196 7.002 24.7315 6.366 24.9608C6.00058 25.1054 5.5861 25.1236 5.206 25.0115ZM7.964 21.6848C7.632 21.8178 7.324 21.9578 7.046 22.1013C6.39 22.4408 5.964 22.7715 5.752 23.0585C5.564 23.3123 5.56 23.496 5.672 23.6903C5.692 23.7288 5.712 23.7533 5.724 23.7673C5.74787 23.7617 5.77126 23.7547 5.794 23.7463C6.068 23.6483 6.504 23.335 7.064 22.7453C7.38249 22.4041 7.68281 22.0502 7.964 21.6848ZM11.244 19.3573C11.9119 19.2209 12.5857 19.1082 13.264 19.0195C12.8998 18.5319 12.5595 18.0309 12.244 17.518C11.9303 18.1386 11.5968 18.7513 11.244 19.3555V19.3573ZM16.136 20.1448C16.436 20.43 16.728 20.6698 17.006 20.8623C17.486 21.1948 17.82 21.305 18.002 21.3103C18.0507 21.3159 18.1002 21.3066 18.142 21.284C18.2252 21.2265 18.29 21.1512 18.33 21.0653C18.4011 20.9587 18.4416 20.8386 18.448 20.7153C18.4469 20.6742 18.4283 20.6349 18.396 20.605C18.292 20.4965 17.996 20.339 17.36 20.2393C16.9555 20.1801 16.5462 20.1491 16.136 20.1465V20.1448ZM12.156 14.0093C12.3243 13.5342 12.4579 13.0502 12.556 12.5603C12.618 12.2313 12.642 11.96 12.632 11.7465C12.6326 11.6287 12.6109 11.5117 12.568 11.4C12.468 11.4109 12.3703 11.4344 12.278 11.47C12.104 11.5313 11.962 11.6555 11.886 11.9653C11.806 12.3013 11.826 12.786 11.978 13.4038C12.026 13.598 12.086 13.801 12.158 14.0093H12.156Z\",\n fill: \"#1F72A2\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAcrobatPdfIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/AcrobatPdfIcon.8f9dfbaf.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _rect, _path2, _path3, _path4, _path5, _path6;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLockedDocumentIcon = function SvgLockedDocumentIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 41,\n height: 41,\n viewBox: \"0 0 41 41\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.3333 30.8594V14.2344L23.3333 6.35944H12.3333C11.2724 6.35944 10.255 6.72819 9.50489 7.38456C8.75474 8.04094 8.33331 8.93118 8.33331 9.85944V30.8594C8.33331 31.7877 8.75474 32.6779 9.50489 33.3343C10.255 33.9907 11.2724 34.3594 12.3333 34.3594H28.3333C29.3942 34.3594 30.4116 33.9907 31.1617 33.3343C31.9119 32.6779 32.3333 31.7877 32.3333 30.8594ZM23.3333 11.6094C23.3333 12.3056 23.6494 12.9733 24.212 13.4656C24.7746 13.9579 25.5377 14.2344 26.3333 14.2344H30.3333V30.8594C30.3333 31.3236 30.1226 31.7687 29.7475 32.0969C29.3725 32.4251 28.8637 32.6094 28.3333 32.6094H12.3333C11.8029 32.6094 11.2942 32.4251 10.9191 32.0969C10.544 31.7687 10.3333 31.3236 10.3333 30.8594V9.85944C10.3333 9.39531 10.544 8.95019 10.9191 8.622C11.2942 8.29381 11.8029 8.10944 12.3333 8.10944H23.3333V11.6094Z\",\n fill: \"#1F72A2\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 18.3333,\n y: 18.3594,\n width: 21,\n height: 21,\n rx: 10.5,\n fill: \"white\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M25.5833 27.7761V26.6928C25.5833 24.8999 26.125 23.4428 28.8333 23.4428C31.5416 23.4428 32.0833 24.8999 32.0833 26.6928V27.7761\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M31.5416 34.2761H26.125C23.9583 34.2761 23.4166 33.7344 23.4166 31.5678V30.4844C23.4166 28.3178 23.9583 27.7761 26.125 27.7761H31.5416C33.7083 27.7761 34.25 28.3178 34.25 30.4844V31.5678C34.25 33.7344 33.7083 34.2761 31.5416 34.2761Z\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.9981 31.0261H31.0029\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M28.8309 31.0261H28.8357\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.6637 31.0261H26.6685\",\n stroke: \"#1F72A2\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLockedDocumentIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/LockedDocumentIcon.5cdbb00b.svg\";\nexport { ForwardRef as ReactComponent };","\nexport enum ReportType {\n Health = 1,\n Celiac = 2\n}\n\nexport const ReportTypesNames = new Map([\n [ReportType.Health, 'Health'],\n [ReportType.Celiac, 'Celiac'],\n]);\n\nexport interface ReportTemplateModel {\n id: number;\n createdAt: Date;\n version: string;\n comment: string;\n templateString: string;\n reportType: ReportType;\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n display: 'flex',\n backgroundColor:\"#fff\",\n height:'calc(100vh - 175px)'\n },\n toolBarSection: {\n marginRight: 8,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginTop: 8,\n }\n },\n arrow: {\n color: colors.black,\n },\n customWidth: {\n width: '300px',\n maxWidth: '300px',\n backgroundColor: colors.black,\n padding: 8,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n },\n tooltipPlacement: {\n margin: '8px 0',\n }\n }),\n);","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { PatientReportModel, ReportStrategy, PatientAddOnReportModel } from \"../models/healthReport.models\";\nimport { ReportType } from \"../models/reportTemplate.models\";\nimport { healthReportsStore, HealthReportsStore } from \"../stores/healthReportsStore\";\n\n\nexport class AddOnReportsServices {\n private url = `${process.env.REACT_APP_API_URL}Reports`;\n\n constructor(private healthReportsStore: HealthReportsStore) {\n }\n\n public GetPatientReport(reportType: ReportType): Observable {\n let url = `${this.url}/${reportType}`;\n return new Observable(observer => {\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({patientReport: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public GetPatientReportByEmployee(reportType: ReportType, patientId: number): Observable {\n let url = `${this.url}/${reportType}/patient/${patientId}`;\n return new Observable(observer => {\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({patientReport: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public GetPatientReportById(reportType: ReportType, reportId: number): Observable {\n let url = `${this.url}/${reportType}/${reportId}`;\n return new Observable(observer => {\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({patientReport: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public CreatePatientReport(reportType: ReportType): Observable {\n\n return new Observable(observer => {\n Axios.post(`${this.url}/${reportType}`, {}, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({patientReport: response.data});\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n\n public CreatePatientReportByEmployee(reportType: ReportType, patientId: number): Observable {\n\n return new Observable(observer => {\n Axios.post(`${this.url}/${reportType}/patient/${patientId}`, {}, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({patientReport: response.data});\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.next();\n observer.error();\n }\n );\n })\n }\n\n public GetAvailableReports(reportStrategy: ReportStrategy): Observable {\n let url = `${this.url}/available/${reportStrategy}`;\n return new Observable(observer => {\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({addOnReports: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n\n public GetAvailableReportsByEmployee(reportStrategy: ReportStrategy, patientId: number): Observable {\n let url = `${this.url}/available/${reportStrategy}/patient/${patientId}`;\n return new Observable(observer => {\n Axios.get(url, {\n headers: authHeader()\n })\n .pipe()\n .subscribe(\n (response) => {\n this.healthReportsStore.update({addOnReports: response.data});\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error)\n observer.next(error);\n observer.error();\n }\n );\n })\n }\n}\n\nexport const addOnReportsServices = new AddOnReportsServices(healthReportsStore);\n","import React from \"react\";\nimport { Box, Grid } from \"@material-ui/core\";\nimport moment from \"moment\";\nimport clsx from \"clsx\";\nimport { ReactComponent as CeliacAndGluten } from '@img/CeliacAndGluten.svg';\nimport { ReportSectionKey, SectionModel, PatientReportModel } from \"../../models/healthReport.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\n\nexport interface AddOnReportPrintComponentProps {\n patientId?: number | null;\n patientReport: PatientReportModel;\n}\n\nexport const AddOnReportPrintComponent: React.FC = (props: AddOnReportPrintComponentProps) => {\n const { patientId, patientReport } = props;\n\n\n const renderGenericContent = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n return (\n <>\n {content.title}\n {content.text}\n \n )\n }\n return <>\n }\n\n const renderRecommendationsContent = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n return {content?.recommendations?.value}\n }\n return <>\n }\n\n const renderRiskValues = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n const CeliacDiseaseRisk = content.reportValueList.find(x => x.key === 'CeliacDiseaseRisk.classification')\n const RelativeRisk = content.reportValueList.find(x => x.key === 'GlutenSensitivity.value')\n const RelativeRiskPercentile = parseInt(RelativeRisk?.value) * 10\n\n return (\n <>\n \n {CeliacDiseaseRisk?.label}: \n {CeliacDiseaseRisk?.value}\n \n \n {RelativeRisk?.label}: \n {RelativeRiskPercentile}th Percentile\n \n \n )\n }\n return <>\n }\n\n const renderCeliacPresent = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n return (\n <>\n {content.title}\n \n \n Celiac Haplotype\n Result\n \n {content.reportValueList.map((item, index) => (\n \n {item.label}\n \n \n {item.value == 'True' ? 'Yes' : 'No'}\n \n \n \n ))}\n \n \n )\n }\n return <>\n }\n\n const renderHeader = () => {\n\n return (\n \n \n Patient ID\n {patientId ?? authQuery.getPatientId()}\n \n \n Date \n {moment(toCurrentTimeZone(patientReport.createdAt)).format('ll')}\n \n \n )\n };\n\n const renderFooter = () => {\n return (\n
\n \n \n \n 1\n \n \n
\n )\n };\n\n const content = JSON.parse(patientReport.contentJson)\n\n return (\n
\n \n {renderHeader()}\n \n \n \n \n Genetic Risk Review\n Celiac Disease & Gluten Sensitivity\n \n \n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CeliacDisease)}\n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.GlutenSensitivity)}\n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.Symptoms)}\n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CausalityAndDiagnosis)}\n \n \n \n \n {renderRiskValues(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.RiskValues)}\n \n \n \n \n \n \n \n {renderRecommendationsContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CeliacAndGlutenSensitivityRecommendation)}\n \n \n \n {renderCeliacPresent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CeliacHaplotypes)}\n \n \n \n \n \n {renderFooter()}\n \n
\n \n )\n}","import React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport html2canvas from \"html2canvas\";\nimport jsPDF from \"jspdf\";\nimport moment from \"moment\";\nimport {\n PatientReportModel\n} from \"../models/healthReport.models\";\nimport { AddOnReportPrintComponent, AddOnReportPrintComponentProps } from \"../components/addOnReportsComponent/AddOnReportPrintComponent\";\nimport { toCurrentTimeZone } from \"../../timezones/helpers/timezone\";\n\n\nexport class AddOnReportPdfServices {\n private _snapshotFormat: string = \"JPEG\";\n\n public async generate(report: PatientReportModel, patientId: number | null) {\n const rootContainer = AddOnReportPdfServices._createRootContainer();\n const mainPageProps: AddOnReportPrintComponentProps = {\n patientId,\n patientReport: report\n };\n\n const pdf = new jsPDF(\"p\", \"mm\", \"letter\");\n\n await this._generatePage(pdf, AddOnReportPrintComponent, mainPageProps, rootContainer);\n\n pdf.save(`WH_AddOnReport_${report.reportTemplateName}_${report.patientId}_${moment(toCurrentTimeZone(report.createdAt)).format(\"YYYYMMDD\")}.pdf`);\n\n AddOnReportPdfServices._dispose(rootContainer);\n }\n\n private async _generatePage(pdf: jsPDF, page: Function, props: AddOnReportPrintComponentProps, container: HTMLElement) {\n const snapshot = await this._getSnapshot(page, props, container);\n const [width, height] = AddOnReportPdfServices._getSize(snapshot, pdf);\n await pdf.addImage(AddOnReportPdfServices._toImage(snapshot), this._snapshotFormat, 0, 0, width, height);\n }\n\n private async _getSnapshot(page: Function, props: TProps, rootContainer: HTMLElement): Promise {\n const element = await this._renderPage(page, props, rootContainer);\n return await html2canvas(element);\n }\n\n private static _toImage(snapshot: HTMLCanvasElement): string {\n return snapshot.toDataURL(\"image/jpeg\", 1);\n }\n\n private static _getSize(snapshot: HTMLCanvasElement, pdf: any): [number, number] {\n const pageWidth = pdf.internal.pageSize.getWidth();\n const pageHeight = pdf.internal.pageSize.getHeight();\n const imageWidth = snapshot.width;\n const imageHeight = snapshot.height;\n const ratio = imageWidth / imageHeight >= pageWidth / pageHeight ? pageWidth / imageWidth : pageHeight / imageHeight;\n\n return [imageWidth * ratio, imageHeight * ratio];\n }\n\n private async _renderPage(page: Function, props: TProps, rootContainer: HTMLElement): Promise {\n return new Promise(function (resolve) {\n // @ts-ignore\n const element = React.createElement(page, props);\n //const container = document.createElement(\"div\");\n ReactDOM.render(element, rootContainer.children[0]);\n //rootContainer.appendChild(container);\n setTimeout(() => {\n // @ts-ignore\n resolve(rootContainer.children[0]);\n }, 1)\n })\n }\n\n private static _dispose(page: HTMLElement): void {\n page.parentNode.removeChild(page);\n }\n\n private static _createRootContainer(): HTMLElement {\n const container = document.createElement(\"div\");\n\n container.style.position = \"absolute\";\n container.style.top = \"-16384px\";\n container.style.left = \"500px\";\n container.style.background = \"#FFFFFF\";\n\n container.appendChild(document.createElement(\"div\"));\n\n document.getElementsByTagName('BODY')[0].append(container);\n\n return container;\n }\n}\n\nexport const addOnReportPdfServices = new AddOnReportPdfServices();","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgExport = function SvgExport(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 20,\n viewBox: \"0 0 20 20\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.9208 2.03785C17.9356 2.05136 17.9498 2.06557 17.9632 2.08043C18.0092 2.13111 18.0454 2.18751 18.0718 2.24719C18.106 2.32449 18.125 2.41002 18.125 2.5V6.74167C18.125 7.08684 17.8452 7.36667 17.5 7.36667C17.1548 7.36667 16.875 7.08684 16.875 6.74167V4.01013L10.8755 10.0167C10.6316 10.2609 10.2359 10.2611 9.99164 10.0172C9.74742 9.77327 9.74719 9.37754 9.99112 9.13332L15.9924 3.125H13.2583C12.9132 3.125 12.6333 2.84518 12.6333 2.5C12.6333 2.15482 12.9132 1.875 13.2583 1.875L17.4999 1.875C17.4998 1.875 17.5 1.875 17.4999 1.875C17.6507 1.87505 17.8018 1.92933 17.9208 2.03785Z\",\n fill: \"#388174\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M17.4999 1.875C17.6619 1.87505 17.8098 1.93672 17.9208 2.03785L17.4999 1.875Z\",\n fill: \"#388174\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5.83333 3.125C5.11504 3.125 4.42616 3.41034 3.91825 3.91825C3.41034 4.42616 3.125 5.11504 3.125 5.83333V14.1667C3.125 14.885 3.41034 15.5738 3.91825 16.0817C4.42616 16.5897 5.11504 16.875 5.83333 16.875H14.1667C14.885 16.875 15.5738 16.5897 16.0817 16.0817C16.5897 15.5738 16.875 14.885 16.875 14.1667V10C16.875 9.65482 17.1548 9.375 17.5 9.375C17.8452 9.375 18.125 9.65482 18.125 10V14.1667C18.125 15.2165 17.708 16.2233 16.9656 16.9656C16.2233 17.708 15.2165 18.125 14.1667 18.125H5.83333C4.78352 18.125 3.7767 17.708 3.03437 16.9656C2.29204 16.2233 1.875 15.2165 1.875 14.1667V5.83333C1.875 4.78352 2.29204 3.7767 3.03437 3.03437C3.7767 2.29204 4.78352 1.875 5.83333 1.875H10C10.3452 1.875 10.625 2.15482 10.625 2.5C10.625 2.84518 10.3452 3.125 10 3.125H5.83333Z\",\n fill: \"#388174\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgExport, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Export.5eb09b88.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport { Box, Table, TableBody, TableContainer, TableHead, TableRow, IconButton, Grid, useTheme, useMediaQuery, Tooltip } from \"@material-ui/core\";\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport moment from \"moment\";\nimport clsx from \"clsx\";\nimport { ReactComponent as CeliacAndGluten } from '@img/CeliacAndGluten.svg';\nimport { ReactComponent as AcrobatPdfIcon } from '@img/icons/AcrobatPdfIcon.svg';\nimport { ReactComponent as LockedDocumentIcon } from '@img/icons/LockedDocumentIcon.svg';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { useStyles } from \"./addOnReportsComponent.styles\";\nimport { useFacade } from \"./addOnReportsComponent.hooks\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { ReportSectionKey, SectionModel, PatientAddOnReportModel } from \"../../models/healthReport.models\";\nimport { BackButton } from '../../../common/components/wildHealthButton/BackButton';\nimport { EmployeeType, employeeTypesNames } from \"../../../employee/models/employee.enums\";\nimport { AppointmentWithType, AppointmentStatus } from \"../../../appointments/models/appointments.enums\";\nimport { CreatePatientAppointmentDialogRedesignComponent } from \"../../../appointments/components/createPatientAppointmentUpdatedDialog/CreatePatientAppointmentDialogRedesignComponent\";\nimport { PatientAppointmentModel } from \"../../../appointments/models/appointments.models\";\nimport { getAvailableWithTypes, getAvailableAppointmentType } from \"../../../appointments/helpers/appointmentHelper\";\n\ninterface AddOnReportsComponentProps {\n patientId?: number | null;\n}\n\nexport const AddOnReportsComponent: React.FC = (props: AddOnReportsComponentProps) => {\n const { patientId } = props;\n const [\n {\n isLoading,\n isPatientReportLoading,\n isAppointmentsLoading,\n isAppointmentTypesLoading,\n isGenerating,\n isDownloading,\n isShowReport,\n patientReport,\n availableAddOnReports,\n assignedEmployees,\n appointmentTypes,\n appointments,\n locations,\n timeZone,\n },\n handleDownloadReport,\n handleToggleView,\n handleGenerateReport\n ] = useFacade(patientId);\n\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const getAppointmentsByWithType = (withTypes: AppointmentWithType[], appointments: PatientAppointmentModel[]): PatientAppointmentModel[] => {\n return appointments.filter(x => x.status !== AppointmentStatus.Canceled && withTypes.includes(x.withType));\n }\n\n if (isLoading || isPatientReportLoading) {\n return (\n \n )\n }\n\n const renderTable = () => {\n if (!isLoading && !patientReport) {\n return You have no reports available\n }\n\n const content = JSON.parse(patientReport.contentJson)\n\n if (isSmallScreen) {\n return (\n \n handleToggleView()}>\n \n {content?.chapters[0]?.title}\n \n \n \n {moment(toCurrentTimeZone(patientReport.createdAt)).format('L')}\n \n \n \n handleDownloadReport()}\n >\n \n \n \n \n )\n }\n\n return \n \n \n \n \n \n Report Name\n \n \n Date\n \n \n Action\n \n \n \n \n \n \n \n {content?.chapters[0]?.title}\n \n \n \n \n {moment(toCurrentTimeZone(patientReport.createdAt)).format('L')}\n \n \n \n \n handleToggleView()}\n color=\"secondary\"\n border=\"none\"\n >\n View Report\n \n handleDownloadReport()}\n >\n \n \n \n \n \n \n
\n
\n
\n }\n\n const renderGenericContent = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n return (\n <>\n {content.title}\n {content.text}\n \n )\n }\n return <>\n }\n\n const renderRecommendationsContent = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n return {content?.recommendations?.value}\n }\n return <>\n }\n\n const renderRiskValues = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n const CeliacDiseaseRisk = content.reportValueList.find(x => x.key === 'CeliacDiseaseRisk.classification')\n const RelativeRisk = content.reportValueList.find(x => x.key === 'GlutenSensitivity.value')\n const RelativeRiskPercentile = parseInt(RelativeRisk?.value) * 10\n\n return (\n <>\n \n {CeliacDiseaseRisk?.label}\n {CeliacDiseaseRisk?.value}\n \n \n {RelativeRisk?.label}\n {RelativeRiskPercentile}th Percentile\n \n \n )\n }\n return <>\n }\n\n const renderCeliacPresent = (sections: SectionModel[], key: ReportSectionKey) => {\n const content = sections.find(x => x.key === key)?.content\n if (content) {\n return (\n <>\n {content.title}\n \n \n Celiac Haplotype\n Result\n \n {content.reportValueList.map((item, index) => (\n \n {item.label}\n \n \n {item.value == 'True' ? 'Yes' : 'No'}\n \n \n \n ))}\n \n \n )\n }\n return <>\n }\n\n const renderReportContent = () => {\n\n const content = JSON.parse(patientReport.contentJson)\n\n return (\n \n \n handleToggleView()}\n >\n \n \n \n Additional Reports\n \n \n \n \n \n \n Genetic Risk Review\n Celiac Disease & Gluten Sensitivity\n \n {!isSmallScreen && (\n \n handleDownloadReport()}\n >\n Download\n \n \n {renderScheduleToReviewButton()}\n \n )}\n \n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CeliacDisease)}\n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.GlutenSensitivity)}\n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.Symptoms)}\n \n \n {renderGenericContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CausalityAndDiagnosis)}\n \n \n \n \n {renderRiskValues(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.RiskValues)}\n \n \n \n \n \n \n \n {renderRecommendationsContent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CeliacAndGlutenSensitivityRecommendation)}\n \n \n \n {renderCeliacPresent(content?.chapters[0]?.pages[0]?.sections, ReportSectionKey.CeliacHaplotypes)}\n \n \n )\n }\n\n const renderScheduleToReviewButton = () => {\n if (isAppointmentsLoading || isAppointmentTypesLoading) {\n return <>\n }\n \n const withTypes: Array = [AppointmentWithType.HealthCoachAndProvider, AppointmentWithType.Provider];\n const targetAppointments = getAppointmentsByWithType(withTypes, appointments);\n const availableWithTypes = getAvailableWithTypes(appointmentTypes);\n const targetWithType = availableWithTypes.find(x => withTypes.includes(x));\n const availableType = getAvailableAppointmentType(appointmentTypes, targetWithType);\n const employee = assignedEmployees?.find(el => el.role.displayName === employeeTypesNames.get(EmployeeType.Provider))\n const disableSchedule = !(!!availableType && !!employee && targetAppointments?.length > 0);\n\n return (\n \n \n \n )\n }\n\n const renderCannotGeneratePatientReportReason = (availableAddOnReport: PatientAddOnReportModel) => {\n if (patientId) {\n return !availableAddOnReport.hasDnaResults ? 'We are missing a DNA file to generate this report. If you feel like this patient should have a DNA file uploaded, please create a ticket in the bug channel to get this resolved.' : 'We are missing data to generate this report for you. Please create a ticket in the bug channel to get this resolved.';\n } else {\n return !availableAddOnReport.hasDnaResults ? 'We are missing a DNA file to generate this report for you. Please reach out to support@wildhealth.com if you feel like this is an error and they will help you resolve this.' : 'We are missing data to generate this report for you. Please reach out to support@wildhealth.com and they will help you resolve this.';\n }\n }\n\n return (\n \n {isShowReport && patientReport ? renderReportContent() : <>\n \n My Reports\n {patientReport && renderScheduleToReviewButton()}\n \n \n {renderTable()}\n \n \n Recommended For You\n \n \n {availableAddOnReports && availableAddOnReports.length > 0 && availableAddOnReports.map(x => (\n \n \n \n Free\n {x.canGeneratePatientReport && x.hasDnaResults ?\n :\n \n Report is Locked\n {renderCannotGeneratePatientReportReason(x)}\n }\n classes={customTooltipClasses}>\n \n \n }\n \n {x.reportTypeName}\n \n handleGenerateReport(x.reportType)}\n >\n Generate\n \n \n \n \n ))}\n \n \n \n }\n \n )\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {\n ReportStrategy,\n PatientReportModel,\n PatientAddOnReportModel\n} from \"../../models/healthReport.models\";\nimport { healthReportsQuery } from \"../../stores/healthReportsStore\";\nimport { addOnReportsServices } from \"../../services/addOnReports.service\";\nimport { ReportType } from \"../../models/reportTemplate.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { locationsService } from \"../../../locations/services/locations.service\";\nimport { appointmentsService } from \"../../../appointments/services/appointments.service\";\nimport { employeeService } from \"../../../employee/services/employees.service\";\nimport { appointmentsQuery } from \"../../../appointments/stores/appointments\";\nimport { employeesQuery } from \"../../../employee/stores/employeesStore\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore\";\nimport { locationsQuery } from \"../../../locations/stores\";\nimport { PatientAppointmentModel, AppointmentTypeModel } from \"../../../appointments/models/appointments.models\";\nimport { EmployeeModel } from \"../../../employee/models/employee.models\";\nimport { TimeZoneModel } from \"../../../timezones/models/timezone.model\";\nimport { LocationModel } from \"../../../locations/models/locations.models\";\nimport { addOnReportPdfServices } from \"../../services/addOnReportPdf.service\";\n\n\ninterface AddOnReportsComponentState {\n isLoading: boolean;\n isPatientReportLoading: boolean;\n isAppointmentsLoading: boolean;\n isAppointmentTypesLoading: boolean;\n isGenerating: boolean;\n isDownloading: boolean;\n isShowReport: boolean;\n availableAddOnReports: PatientAddOnReportModel[];\n patientReport: PatientReportModel;\n assignedEmployees: EmployeeModel[];\n appointmentTypes: AppointmentTypeModel[];\n appointments: PatientAppointmentModel[];\n locations: LocationModel[];\n timeZone: TimeZoneModel;\n}\n\n\nexport function useFacade(patientId: number | null): [\n AddOnReportsComponentState,\n () => void,\n () => void,\n (type: ReportType) => void\n] {\n\n const [state, setState] = useState({\n isLoading: true,\n isPatientReportLoading: true,\n isAppointmentsLoading: true,\n isAppointmentTypesLoading: true,\n isGenerating: false,\n isDownloading: false,\n isShowReport: false,\n availableAddOnReports: [],\n patientReport: null,\n assignedEmployees: [],\n appointmentTypes: [],\n appointments: [],\n locations: [],\n timeZone: null,\n } as AddOnReportsComponentState);\n\n const handleDownloadReport = () => {\n setState(state => ({ ...state, isDownloading: true }))\n addOnReportPdfServices.generate(state.patientReport, patientId).then(() => {\n setState(state => ({\n ...state,\n isDownloading: false\n }));\n })\n }\n\n const handleGenerateReport = (type: ReportType) => {\n setState(state => ({ ...state, isGenerating: true }))\n\n const cb = () => setState(state => ({ ...state, isGenerating: false }));\n\n if (patientId) {\n addOnReportsServices.CreatePatientReportByEmployee(type, patientId).subscribe(() => setState(state => ({ ...state, isGenerating: false, isShowReport: true })), cb);\n } else {\n addOnReportsServices.CreatePatientReport(type).subscribe(() => setState(state => ({ ...state, isGenerating: false, isShowReport: true })), cb);\n }\n }\n\n const handleViewReport = () => {\n setState(state => ({ ...state, isShowReport: !state.isShowReport }))\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(healthReportsQuery.patientReport$, report => {\n setState(state => ({\n ...state,\n patientReport: report\n }));\n }),\n onEmit(healthReportsQuery.addOnReports$, addOnReports => {\n setState(state => ({\n ...state,\n availableAddOnReports: addOnReports\n }));\n }),\n onEmit(appointmentsQuery.patientAppointments$, appointments => {\n setState(state => ({ ...state, appointments: appointments }));\n }),\n onEmit(appointmentsQuery.appointmentTypes$, types => {\n setState(state => ({ ...state, appointmentTypes: types }))\n }),\n onEmit(employeesQuery.patientEmployees$, employees => {\n setState(state => ({ ...state, assignedEmployees: employees }));\n }),\n onEmit(patientsQuery.patientTimeZone$, timeZone => {\n setState(state => ({ ...state, timeZone: timeZone }));\n }),\n onEmit(locationsQuery.availableLocations$, locations => {\n setState(state => ({ ...state, locations: locations }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n const patientReportCB = () => setState(state => ({ ...state, isPatientReportLoading: false }));\n const appointmentsCB = () => setState(state => ({ ...state, isAppointmentsLoading: false }));\n const appointmentTypeCB = () => setState(state => ({ ...state, isAppointmentTypesLoading: false }));\n\n patientsService.getPatientTimeZone(patientId);\n locationsService.getAvailable(authQuery.getCurrentPracticeId()).subscribe();\n appointmentsService.getAvailableAppointmentTypesAsync(patientId).subscribe(appointmentTypeCB, appointmentTypeCB);\n\n if (patientId) {\n addOnReportsServices.GetAvailableReportsByEmployee(ReportStrategy.AddOnFree, patientId).subscribe(cb, cb);\n addOnReportsServices.GetPatientReportByEmployee(ReportType.Celiac, patientId).subscribe(patientReportCB, () => setState(state => ({ ...state, isPatientReportLoading: false, patientReport: null })));\n employeeService.getAssignedToById(patientId).subscribe();\n appointmentsService.getPatientAppointmentsById(patientId, new Date()).subscribe(appointmentsCB, appointmentsCB);\n } else {\n addOnReportsServices.GetAvailableReports(ReportStrategy.AddOnFree).subscribe(cb, cb);\n addOnReportsServices.GetPatientReport(ReportType.Celiac).subscribe(patientReportCB, () => setState(state => ({ ...state, isPatientReportLoading: false, patientReport: null })));\n employeeService.getAssignedTo().subscribe();\n appointmentsService.getPatientAppointments(new Date()).subscribe(appointmentsCB, appointmentsCB);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, []);\n\n return [\n state,\n handleDownloadReport,\n handleViewReport,\n handleGenerateReport\n ];\n}","import { useState, useEffect, useCallback } from 'react'\nimport { groupBy, mapValues } from 'lodash';\nimport { onEmit } from '../../../common/helpers/on-emit'\nimport { VisitPrepModel } from '../../models/visitPrep.model'\nimport { patientStore, patientsQuery } from '../../stores/patientsStore'\nimport { visitPrepService } from '../../services/visitPrep.service'\nimport { documentsService } from '../../../inputs/services/documents.service'\nimport { LabInputModel, LabInputsDatasetViewModel } from '../../../inputs/models/input.models';\nimport { sortLabInputDataSets } from '../../../inputs/helpers/sort-lab-input-data-sets';\n\nexport enum SectionEnum {\n PLAN = 'PLAN',\n MDM = 'MDM',\n GOALS = 'GOALS',\n NEW_LABS = 'NEW_LABS',\n MEDICATIONS_AND_SUPPLEMENTS = 'MEDICATIONS_AND_SUPPLEMENTS',\n RECENT_DOCUMENTS = 'RECENT_DOCUMENTS'\n}\n\ntype SectionExtendState = {\n [key in SectionEnum]: boolean\n}\n\nexport interface VisitPrepComponentState {\n isLoading: boolean;\n visitPrep: VisitPrepModel;\n sectionExpandStates: SectionExtendState;\n selectedPlanTab: number;\n}\n\nexport function useFacade(patientId: number | null): [\n VisitPrepComponentState,\n (key: SectionEnum) => void,\n (fileId: number) => void,\n Function,\n (tab: number) => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n visitPrep: null,\n sectionExpandStates: {\n PLAN: true,\n MDM: true,\n GOALS: true,\n NEW_LABS: true,\n MEDICATIONS_AND_SUPPLEMENTS: true,\n RECENT_DOCUMENTS: true\n },\n selectedPlanTab: 0\n } as VisitPrepComponentState)\n\n const getDataSets = useCallback((inputs: LabInputModel[]): LabInputsDatasetViewModel[] => {\n const allValues = inputs.flatMap(x => x.values);\n \n const dataSets = groupBy(allValues, 'dataSetId');\n\n const result = mapValues(dataSets, values => ({\n id: values[0].dataSetId,\n date: values[0].date,\n selected: true,\n values\n } as LabInputsDatasetViewModel));\n \n return Object.values(result).sort(sortLabInputDataSets) as LabInputsDatasetViewModel[];\n }, []);\n\n const handleExpand = (key: SectionEnum) => {\n setState(state => ({ ...state, sectionExpandStates: {...state.sectionExpandStates, [key]: !state.sectionExpandStates[key]} }));\n }\n\n const handleDownload = (fileId: number) => {\n const input = state.visitPrep.recentDocuments.find(i => i.id === fileId);\n if (input) {\n documentsService.download(fileId, input.name).subscribe()\n }\n }\n\n const handleChangePlanTab = (tab: number) => {\n setState(state => ({\n ...state,\n selectedPlanTab: tab,\n }));\n }\n\n useEffect(() => {\n const subscriptions = [\n onEmit(patientsQuery.visitPrep$, visitPrep => {\n setState(state => ({\n ...state,\n visitPrep,\n selectedPlanTab: 0\n }))\n }),\n ]\n\n patientStore.clearVisitPrep();\n const cb = () => setState(state => ({ ...state, isLoading: false }))\n\n if (patientId) {\n visitPrepService.getVisitPrepByEmployee(patientId).subscribe(cb, cb);\n } else {\n visitPrepService.getVisitPrep().subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n patientStore.clearVisitPrep();\n }\n\n }, [patientId])\n\n return [\n state,\n handleExpand,\n handleDownload,\n getDataSets,\n handleChangePlanTab\n ]\n}","import { createStyles, makeStyles } from '@material-ui/core/styles'\nimport { colors } from '../../../common/constants/colors'\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n flexGrow: 1,\n display: 'flex',\n minHeight: 'calc(100vh - 200px)',\n backgroundColor: '#fff'\n },\n container: {\n width: '100%',\n height: '100%',\n },\n emptyPage: {\n width: '100%',\n minHeight: 'calc(100vh - 200px)',\n backgroundColor: '#fff'\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.gray900,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.gray900,\n padding: 10,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n)\n","import Axios from \"axios-observable\";\nimport { Observable } from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { snackService } from \"../../common/snack/state\";\nimport { VisitPrepModel } from \"../models/visitPrep.model\";\nimport { patientStore, PatientStore } from \"../stores/patientsStore\";\n\nexport class VisitPrepService {\n private url = `${process.env.REACT_APP_API_URL}VisitPrep`;\n\n constructor(private patientStore: PatientStore) { }\n\n public getVisitPrep(): Observable {\n return new Observable(observer => {\n Axios.get(this.url, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.patientStore.update({ visitPrep: response.data });\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getVisitPrepByEmployee(patientId: number): Observable {\n let url = `${this.url}/${patientId}`;\n\n return new Observable(observer => {\n Axios.get(url, { headers: authHeader() })\n .pipe()\n .subscribe(\n (response) => {\n this.patientStore.update({ visitPrep: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n\n }\n\n );\n })\n }\n}\n\nexport const visitPrepService = new VisitPrepService(patientStore);\n","import React from 'react';\nimport { useHistory } from 'react-router';\nimport { Box, Collapse, Divider, Link, Grid, Tooltip, TableContainer, Table, TableHead, TableBody } from '@material-ui/core';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport FiberManualRecordIcon from \"@material-ui/icons/FiberManualRecord\";\nimport InfoOutlinedIcon from '@material-ui/icons/InfoOutlined';\nimport { ReactComponent as ExportIcon } from '@img/icons/Export.svg';\nimport { ReactComponent as TopGoal } from '@img/icons/TopGoal.svg';\nimport emptyResult from \"@img/placeholders/EmptyReport.png\";\nimport warning from \"@img/icons/warning.svg\";\nimport moment from \"moment\";\nimport clsx from 'clsx';\nimport { useStyles } from './visitPrepComponent.styles';\nimport { useFacade, SectionEnum } from './visitPrepComponent.hooks';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport { ChronologicalSummaryComponent } from '../ChronologicalSummaryComponent/ChronologicalSummaryComponent';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { WildHealthTabControl } from '../../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { useStylesThreeWidthTabs } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport { GoalModel } from '../../../notes/models/notes.models';\nimport { colors } from '../../../common/constants/colors';\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { TextMarkdownComponent } from '../../../notes/components/textMarkdownComponent/TextMarkdownComponent';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { PatientMedicationModel } from '../../../patientSupplements/models/patientMedicationModel';\nimport { LabInputNotificationType, LabInputModel } from '../../../inputs/models/input.models';\nimport { LabInputRangeComponent } from '../../../inputs/components/LabInputRangeComponent/LabInputRangeComponent';\nimport { ChronologicalEventType } from '../../models/patient.model';\nimport { getDataSetByLabLatestValue } from '../../../inputs/helpers/labInputs.extensions';\n\nexport interface VisitPrepComponentProps {\n patientId: number | null;\n}\n\nconst FilterByEventType = [\n ChronologicalEventType.LabsOrdered,\n ChronologicalEventType.NotePublished,\n ChronologicalEventType.SupplementUpdated,\n ChronologicalEventType.InternalMessageSent,\n]\n\nexport const VisitPrepComponent: React.FC = (props: VisitPrepComponentProps) => {\n const { patientId } = props;\n const history = useHistory();\n const [\n state,\n handleExpand,\n handleDownload,\n getDataSets,\n handleChangePlanTab\n ] = useFacade(patientId)\n\n const classes = useStyles()\n const initialClassName = useStylesThreeWidthTabs();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n if (state.isLoading) {\n return (\n \n );\n }\n\n if (!state.visitPrep || (!state.visitPrep.healthCoachPlan && !state.visitPrep.providerPlan && !state.visitPrep.mdm && !state.visitPrep.goals.length && !state.visitPrep.medications.length && !state.visitPrep.supplements.length && !state.visitPrep.newLabs.length && !state.visitPrep.recentDocuments.length)) {\n return \n \n \n \"img\"\n \n \n \n \n \n \n }\n\n const renderEmptyValue = () => {\n return \n No information yet.\n \n }\n\n const displayDataValue = (value: Date) => {\n return value ? moment(toCurrentTimeZone(value)).format(\"MM/DD/yyyy\") : 'N/A';\n }\n\n const renderLabValue = (input: LabInputModel, dataSetId: string): JSX.Element => {\n const inputValue = input.values.find(x => x.dataSetId === dataSetId);\n if (inputValue === undefined || !inputValue.isInitialized) {\n return (\n -\n \n );\n }\n\n const notification = inputValue.notification;\n\n return (\n \n \n \n {inputValue.value}\n \n {\n notification?.notificationType === LabInputNotificationType.Error &&\n \n \"img\"\n \n }\n \n \n );\n }\n\n const renderPlanSection = () => {\n const tabs: TabItem[] = [\n {\n title: 'Provider',\n content: {state.visitPrep.providerPlan ? : renderEmptyValue()},\n keepMounted: true,\n minHeight: 32\n },\n {\n title: 'Health Coach',\n content: {state.visitPrep.healthCoachPlan ? : renderEmptyValue()},\n keepMounted: true,\n minHeight: 32\n }\n ];\n\n return \n }\n\n const renderGoals = (goals: GoalModel[]) => {\n return (\n \n {\n goals.map((goal, index) => {\n return (\n \n {goal.isTopGoal && }\n \n \n \n \n Goal {index + 1}:\n \n \n \n \n \n {\n goal.name\n }\n \n \n \n \n {\n goal.isCompleted\n ? \n \n 🎉 Success Achieved\n \n \n : \n \n \n \n \n Striving for Success\n \n \n }\n \n \n \n \n \n Est. Completion Date:\n \n \n \n \n \n {\n goal.completionDate\n ? moment(goal.completionDate).format('L')\n : 'No completion date'\n }\n \n \n \n \n \n Interventions:\n \n \n \n \n \n {\n goal.interventions.map((intervention, index) => {\n return (\n \n \n \n )\n })\n }\n \n \n \n \n )\n })\n }\n \n )\n }\n\n const renderGoalsSection = () => {\n const topGoals = state.visitPrep.goals.filter(x => x.isTopGoal);\n const regularGoals = state.visitPrep.goals.filter(x => !x.isTopGoal);\n const tabs: TabItem[] = [\n {\n title: 'Top Goals',\n content: {topGoals && !!topGoals.length ? renderGoals(topGoals) : renderEmptyValue()},\n keepMounted: true,\n minHeight: 32\n },\n {\n title: 'Regular Goals',\n content: {regularGoals && !!regularGoals.length ? renderGoals(regularGoals) : renderEmptyValue()},\n keepMounted: true,\n minHeight: 32\n }\n ];\n\n return \n }\n\n const renderNewLabSection = () => {\n const highlightedLabs = state.visitPrep.newLabs.filter(x => x.isHighlighted);\n const anyLabs = highlightedLabs.map(x => x.values).flat().length > 0;\n\n const dataSets = state.visitPrep.newLabs && state.visitPrep.newLabs.length ? getDataSets(state.visitPrep.newLabs) : [];\n return (\n \n {!!state.visitPrep.newLabs.length && anyLabs\n ? <>\n \n Collection Date: {moment(dataSets?.[0]?.date).format(\"MM/DD/YYYY\")}\n \n navigationService.toPatientLabResults(history, patientId)}\n >\n \n \n \n \n {highlightedLabs.length > 0 && <>\n Highlights\n \n \n \n \n \n \n Biomarker\n \n \n \n \n Range\n \n \n \n \n Recent Value\n \n \n \n \n Date\n \n \n \n \n \n {\n highlightedLabs.map((input, index) => {\n const dataSetByLatestValue = getDataSetByLabLatestValue(dataSets, input);\n\n if (!dataSetByLatestValue) {\n return <>\n }\n\n const range = input.values[0]?.range;\n return (\n \n \n \n {\n input.displayName\n }\n \n \n \n {range ? : ''}\n \n \n {renderLabValue(input, dataSetByLatestValue.id)}\n \n \n {\n moment(dataSetByLatestValue.values[0].date).format(\"MM/DD/YYYY\")\n }\n \n \n );\n }\n )\n }\n \n
\n
\n }\n \n : renderEmptyValue()\n }\n
\n )\n }\n\n const renderMedicationAndSupplements = (items: PatientMedicationModel[]) => {\n return (\n \n \n \n \n \n \n Name\n \n \n \n \n Strength\n \n \n \n \n Dosing Instructions\n \n \n \n \n \n {\n items.map((item, index) =>\n \n \n \n {\n item.name\n }\n \n \n \n \n {item.dosage}\n \n \n \n \n {item.instructions}\n \n \n \n )\n }\n \n
\n
\n )\n }\n\n const renderMedicationsAndSupplementsSection = () => {\n const tabs: TabItem[] = [\n {\n title: 'Medications',\n content: {state.visitPrep.medications && !!state.visitPrep.medications.length ? renderMedicationAndSupplements(state.visitPrep.medications) : renderEmptyValue()},\n keepMounted: true,\n minHeight: 32\n },\n {\n title: 'Supplements',\n content: {state.visitPrep.supplements && !!state.visitPrep.supplements.length ? renderMedicationAndSupplements(state.visitPrep.supplements) : renderEmptyValue()},\n keepMounted: true,\n minHeight: 32\n }\n ];\n\n return \n }\n\n const renderRecentDocumentSection = () => {\n return (\n \n {!!state.visitPrep.recentDocuments.length\n ? \n \n \n \n \n \n File Name\n \n \n \n \n Uploaded By\n \n \n \n \n Date\n \n \n \n \n \n {\n state.visitPrep.recentDocuments.map((item, index) =>\n \n \n handleDownload(item.id)}>\n {\n item.name\n }\n \n \n \n \n {item.uploadedBy}\n \n \n \n \n {displayDataValue(item.dateUploaded)}\n \n \n \n )\n }\n \n
\n
\n : renderEmptyValue()\n }\n
\n )\n }\n\n return (\n \n \n \n \n handleExpand(SectionEnum.PLAN)} className=\"wh-tw-cursor-pointer\">\n {state.sectionExpandStates[SectionEnum.PLAN] ? : }\n \n \n 1. Plan\n \n \n See Visit Note

} classes={customTooltipClasses}>\n navigationService.toPatientProfileNote(history, patientId, !state.selectedPlanTab ? state.visitPrep.providerPlan?.noteId : state.visitPrep.healthCoachPlan?.noteId)}\n >\n \n \n
\n
\n
\n \n {renderPlanSection()}\n \n
\n \n \n \n handleExpand(SectionEnum.MDM)} className=\"wh-tw-cursor-pointer\">\n {state.sectionExpandStates[SectionEnum.MDM] ? : }\n \n \n 2. MDM\n \n \n navigationService.toPatientProfileNote(history, patientId, state.visitPrep.mdm?.noteId)}\n >\n \n \n \n \n \n \n {state.visitPrep.mdm ? state.visitPrep.mdm.text : renderEmptyValue()}\n \n \n \n \n \n \n handleExpand(SectionEnum.GOALS)} className=\"wh-tw-cursor-pointer\">\n {state.sectionExpandStates[SectionEnum.GOALS] ? : }\n \n \n 3. Goals\n \n \n navigationService.toPatientHealthPlan(history, patientId)}\n >\n \n \n \n \n \n {renderGoalsSection()}\n \n \n \n \n \n handleExpand(SectionEnum.NEW_LABS)} className=\"wh-tw-cursor-pointer\">\n {state.sectionExpandStates[SectionEnum.NEW_LABS] ? : }\n \n \n 4. New Labs\n \n \n \n {renderNewLabSection()}\n \n \n \n \n \n handleExpand(SectionEnum.MEDICATIONS_AND_SUPPLEMENTS)} className=\"wh-tw-cursor-pointer\">\n {state.sectionExpandStates[SectionEnum.MEDICATIONS_AND_SUPPLEMENTS] ? : }\n \n \n 5. Medications & Supplements\n \n \n navigationService.toPatientsProfileSupplements(history, patientId)}\n >\n \n \n \n \n \n {renderMedicationsAndSupplementsSection()}\n \n \n \n \n \n handleExpand(SectionEnum.RECENT_DOCUMENTS)} className=\"wh-tw-cursor-pointer\">\n {state.sectionExpandStates[SectionEnum.RECENT_DOCUMENTS] ? : }\n \n \n 6. Recent Documents\n \n \n Documents uploaded since last medical visit

} classes={customTooltipClasses}>\n \n
\n
\n
\n \n {renderRecentDocumentSection()}\n \n
\n
\n \n \n \n
\n )\n}\n\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n maxHeight: 'calc(100vh - 204px)',\n overflowY: 'auto',\n [theme.breakpoints.down('sm')]: {\n padding: 0\n },\n }\n })\n);\n\n\n","import React from \"react\";\nimport {Box, List, ListItem, ListItemIcon, ListItemText} from \"@material-ui/core\";\nimport {ConversationModelBase, ConversationType} from \"../../models/conversation.models\";\nimport {useFacade} from \"./playgroundChatListComponent.hooks\";\nimport AddIcon from '@material-ui/icons/Add';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {useStyles} from \"./playgroundChatListComponent.styles\";\n\nexport interface PlaygroundChatListComponentProps {\n type: ConversationType;\n patientId?: number;\n targetConversation: ConversationModelBase | null;\n handleSelect: (conversation: ConversationModelBase) => void;\n handleCreate: () => void;\n}\n\nexport const PlaygroundChatListComponent: React.FC = (props: PlaygroundChatListComponentProps) => {\n const {\n type,\n patientId,\n targetConversation,\n handleSelect,\n handleCreate\n } = props;\n\n const [\n {\n isLoading,\n conversations\n }\n ] = useFacade(type, patientId);\n\n const classes = useStyles();\n\n if (isLoading) {\n return \n \n \n }\n\n return (\n <>\n \n \n handleCreate()}>\n \n \n \n \n \n \n \n \n \n {\n conversations.map(x => handleSelect(x)}>\n \n )\n }\n \n \n \n )\n}","import {useEffect, useState} from \"react\";\nimport {ConversationModelBase, ConversationType} from \"../../models/conversation.models\";\nimport {Subscription} from \"recompose\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {employeeConversationsQuery} from \"../../stores/employeeConversationsStore/employeeConversations.query\";\n\ninterface PlaygroundChatListComponentState {\n isLoading: boolean;\n conversations: ConversationModelBase[];\n}\n\nexport function useFacade(type: ConversationType, patientId?: number): [PlaygroundChatListComponentState] {\n const [state, setState] = useState({\n isLoading: true,\n conversations: []\n } as PlaygroundChatListComponentState);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.conversations$, conversations =>\n {\n const filteredConversations = conversations\n .filter(x => x.type === type)\n .filter(x => !patientId || x.patients.map(t => t.patientId).includes(patientId));\n\n setState(state => ({\n ...state,\n isLoading: !employeeConversationsQuery.isReady(),\n conversations: filteredConversations\n }))\n }\n )\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [type, patientId]);\n\n return [\n state\n ];\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n [theme.breakpoints.down('sm')]: {\n padding: 0\n },\n },\n thread: {\n minHeight: 600,\n maxHeight: 600,\n overflowY: \"auto\",\n }\n })\n);\n\n\n","import React from \"react\";\nimport {InputField} from \"../sendMessageComponent/sendMessageComponent.styles\";\nimport {Box, IconButton} from \"@material-ui/core\";\nimport { ReactComponent as SendIcon } from \"@img/icons/Send.svg\";\nimport {useFacade} from \"./sendPlaygroundMessageComponent.hooks\";\n\nexport interface SendPlaygroundMessageComponentProps {\n message: string;\n handleSubmit: Function;\n}\n\nexport const SendPlaygroundMessageComponent: React.FC = (props: SendPlaygroundMessageComponentProps) => {\n const [\n {\n message\n },\n handleKeyDown,\n handleMessageChanged,\n handleSendMessage\n ] = useFacade(props.handleSubmit, props.message)\n\n return (\n \n handleKeyDown(e)}\n onChange={(e: React.ChangeEvent) =>\n handleMessageChanged(e.target.value)\n }\n />\n \n handleSendMessage()} className=\"wh-tw-text-primaryV\">\n \n \n \n \n )\n}","import {useEffect, useState} from \"react\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {UserType} from \"../../../auth/models/auth.enums\";\nimport {insertString} from \"../../../common/helpers/insert-string\";\nimport {selectShortcutService} from \"../../../healthReport/services/selectShortcut.service\";\n\ninterface SendPlaygroundMessageComponentState {\n message: string;\n}\n\nlet ignoreChangesEvent = false;\n\nexport function useFacade(onSubmit: Function, message: string): [\n SendPlaygroundMessageComponentState,\n (event: any) => void,\n (value: string) => void,\n () => void,\n] {\n const [state, setState] = useState({\n message: message\n } as SendPlaygroundMessageComponentState);\n\n const handleKeyDown = (event: any) => {\n ignoreChangesEvent = false;\n\n if (event.keyCode === 13 && !event.shiftKey) {\n ignoreChangesEvent = true;\n handleSendMessage();\n }\n\n if (event.keyCode === 51 && event.altKey) {\n const userType = authQuery.getType();\n if (UserType.Employee === userType) {\n ignoreChangesEvent = true;\n\n setTimeout(() => {\n handleOnTextMessageChanged((document.getElementById('type-message') as any).value, (document.getElementById('type-message') as any).selectionStart);\n }, 1)\n }\n }\n }\n\n const handleMessageChanged = (value: string) => {\n setState(state => ({\n ...state,\n message: value\n }));\n }\n\n const handleOnTextMessageChanged = (value: string, cursorPos: number) => {\n const cb = (data) => {\n value = state.message;\n if (data) {\n handleMessageChanged(insertString(value, data, cursorPos + 1));\n }\n }\n\n selectShortcutService.select().subscribe(cb);\n }\n\n const handleSendMessage = () => {\n if (onSubmit(state.message)) {\n setState(state => ({\n ...state,\n message: ''\n }))\n }\n }\n\n useEffect(() => {\n\n setState(state => ({\n ...state,\n message: message\n }));\n\n return () => {}\n }, [message])\n\n return [\n state,\n handleKeyDown,\n handleMessageChanged,\n handleSendMessage,\n ];\n}","import {\n AddReactionModel,\n ConversationAuthorModel,\n ConversationModelBase, ReactionModel, ReactionType,\n} from \"../../models/conversation.models\";\nimport {MutableRefObject, useEffect, useRef, useState} from \"react\";\nimport {BaseConversationComponentState, useBaseFacade} from \"../conversationComponent/conversationComponent.hooks\";\nimport {conversationsService} from \"../../services/conversations.service\";\n\nexport interface PlaygroundThreadComponentState {\n\n}\n\nlet isReacted = false;\n\nexport function useFacade(conversation: ConversationModelBase, author: ConversationAuthorModel): [\n PlaygroundThreadComponentState & BaseConversationComponentState,\n MutableRefObject,\n (message: any, reaction: ReactionType) => void,\n (reaction: ReactionModel, message: any) => void\n] {\n const [state, setState] = useState({\n\n } as PlaygroundThreadComponentState);\n\n const [\n baseState\n ] = useBaseFacade(conversation, author);\n\n const lastMessageRef = useRef(null);\n\n const handleReaction = (message: any, reaction: ReactionType) => {\n const model: AddReactionModel = {\n conversationId: conversation.vendorExternalId,\n participantId: author.conversationIdentity,\n messageId: message.sid,\n type: reaction\n };\n\n isReacted = true;\n\n conversationsService.submitReaction(model).subscribe(\n () => {},\n () => {\n isReacted = false;\n }\n );\n }\n\n const handleRemoveReaction = (reaction: ReactionModel, message: any) => {\n isReacted = true;\n\n conversationsService.removeReaction(reaction.Id, conversation.vendorExternalId, message.sid).subscribe(\n () => {},\n () => {\n isReacted = false;\n }\n );\n }\n\n useEffect(() => {\n if (isReacted) {\n isReacted = false;\n return;\n }\n\n if (!baseState.isLoadingMessages) {\n lastMessageRef.current?.scrollIntoView({ behavior: \"smooth\" })\n }\n }, [baseState.isLoadingMessages, baseState.messages]);\n\n return [\n {\n ...state,\n ...baseState\n },\n lastMessageRef,\n handleReaction,\n handleRemoveReaction\n ];\n}","import { createStyles, makeStyles } from \"@material-ui/core/styles\";\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n display: \"flex\",\n flexDirection: \"column\",\n justifyContent: \"flex-end\",\n overflowY: \"auto\",\n minHeight: '100%'\n }\n })\n);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgCopyIcon = function SvgCopyIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 19,\n viewBox: \"0 0 18 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M7.5 3.3125C7.25136 3.3125 7.0129 3.41127 6.83709 3.58709C6.66127 3.7629 6.5625 4.00136 6.5625 4.25V11.75C6.5625 11.9986 6.66127 12.2371 6.83709 12.4129C7.0129 12.5887 7.25136 12.6875 7.5 12.6875H13.5C13.7486 12.6875 13.9871 12.5887 14.1629 12.4129C14.3387 12.2371 14.4375 11.9986 14.4375 11.75V6.81062C14.4375 6.81058 14.4375 6.81066 14.4375 6.81062C14.4375 6.76094 14.4177 6.71318 14.3826 6.67806L11.072 3.3675C11.0369 3.33236 10.9892 3.31254 10.9395 3.3125C10.9395 3.3125 10.9395 3.3125 10.9395 3.3125H7.5ZM6.04159 2.79159C6.42839 2.4048 6.95299 2.1875 7.5 2.1875H10.9395C11.2875 2.18757 11.6214 2.32588 11.8675 2.572M11.8675 2.572L15.1779 5.88244C15.1779 5.88242 15.178 5.88246 15.1779 5.88244C15.4241 6.12852 15.5624 6.46234 15.5625 6.81038V11.75C15.5625 12.297 15.3452 12.8216 14.9584 13.2084C14.5716 13.5952 14.047 13.8125 13.5 13.8125H12.5625V14.75C12.5625 15.297 12.3452 15.8216 11.9584 16.2084C11.5716 16.5952 11.047 16.8125 10.5 16.8125H4.5C3.95299 16.8125 3.42839 16.5952 3.04159 16.2084C2.6548 15.8216 2.4375 15.297 2.4375 14.75V7.25C2.4375 6.70299 2.6548 6.17839 3.04159 5.79159C3.42839 5.4048 3.95299 5.1875 4.5 5.1875H5.4375V4.25C5.4375 3.70299 5.6548 3.17839 6.04159 2.79159M5.4375 6.3125H4.5C4.25136 6.3125 4.0129 6.41127 3.83709 6.58709C3.66127 6.7629 3.5625 7.00136 3.5625 7.25V14.75C3.5625 14.9986 3.66127 15.2371 3.83709 15.4129C4.0129 15.5887 4.25136 15.6875 4.5 15.6875H10.5C10.7486 15.6875 10.9871 15.5887 11.1629 15.4129C11.3387 15.2371 11.4375 14.9986 11.4375 14.75V13.8125H7.5C6.95299 13.8125 6.42839 13.5952 6.04159 13.2084C5.6548 12.8216 5.4375 12.297 5.4375 11.75V6.3125Z\",\n fill: \"#4C5563\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgCopyIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/CopyIcon.c86e39e7.svg\";\nexport { ForwardRef as ReactComponent };","import {createStyles, makeStyles, Theme} from '@material-ui/core/styles';\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n messageContainer: {\n display: 'flex',\n alignItems: \"flex-end\",\n },\n myMessageContainer: {\n justifyContent: 'flex-end'\n },\n messageBlock: {\n maxWidth: '65%',\n [theme.breakpoints.down(\"xs\")]: {\n minWidth: '305px',\n }\n },\n message: {\n whiteSpace: 'pre-line',\n display: 'inline-block',\n wordBreak: 'break-word',\n padding: 10\n },\n\n myMessage: {\n borderRadius: 6,\n background: colors.mint100,\n color: colors.black\n },\n\n date: {\n padding: 10,\n fontSize: 12,\n color: colors.gray\n },\n\n reacted: {\n background: colors.mint100\n }\n }\n));\n\n\n\n\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgThumbUp = function SvgThumbUp(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 19,\n viewBox: \"0 0 18 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.4531 6.50844C16.2947 6.32895 16.1 6.18521 15.8818 6.08677C15.6635 5.98834 15.4269 5.93745 15.1875 5.9375H11.25V4.8125C11.25 4.06658 10.9537 3.35121 10.4262 2.82376C9.89879 2.29632 9.18342 2 8.4375 2C8.333 1.99993 8.23054 2.02896 8.14162 2.08386C8.0527 2.13875 7.98083 2.21733 7.93406 2.31078L5.27766 7.625H2.25C1.95163 7.625 1.66548 7.74353 1.4545 7.9545C1.24353 8.16548 1.125 8.45163 1.125 8.75V14.9375C1.125 15.2359 1.24353 15.522 1.4545 15.733C1.66548 15.944 1.95163 16.0625 2.25 16.0625H14.3438C14.7549 16.0626 15.1519 15.9127 15.4603 15.6408C15.7687 15.3689 15.9672 14.9938 16.0186 14.5859L16.8623 7.83594C16.8923 7.5983 16.8712 7.35701 16.8007 7.12813C16.7301 6.89924 16.6116 6.688 16.4531 6.50844ZM2.25 8.75H5.0625V14.9375H2.25V8.75ZM15.7458 7.69531L14.902 14.4453C14.8849 14.5813 14.8187 14.7063 14.7159 14.7969C14.6131 14.8876 14.4808 14.9375 14.3438 14.9375H6.1875V8.32039L8.76867 3.15734C9.15124 3.23391 9.49545 3.44067 9.74274 3.74244C9.99003 4.04421 10.1251 4.42235 10.125 4.8125V6.5C10.125 6.64918 10.1843 6.79226 10.2898 6.89775C10.3952 7.00324 10.5383 7.0625 10.6875 7.0625H15.1875C15.2673 7.06247 15.3462 7.07943 15.419 7.11226C15.4918 7.14508 15.5567 7.19301 15.6095 7.25287C15.6623 7.31273 15.7018 7.38314 15.7253 7.45942C15.7488 7.53571 15.7558 7.61612 15.7458 7.69531Z\",\n fill: \"#4C5563\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgThumbUp, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ThumbUp.45c9963f.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgThumbDown = function SvgThumbDown(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 19,\n viewBox: \"0 0 18 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.8623 10.9766L16.0186 4.22656C15.9672 3.81867 15.7687 3.44356 15.4603 3.17168C15.1519 2.89981 14.7549 2.74986 14.3438 2.75H2.25C1.95163 2.75 1.66548 2.86853 1.4545 3.0795C1.24353 3.29048 1.125 3.57663 1.125 3.875V10.0625C1.125 10.3609 1.24353 10.647 1.4545 10.858C1.66548 11.069 1.95163 11.1875 2.25 11.1875H5.27766L7.93406 16.5017C7.98083 16.5952 8.0527 16.6738 8.14162 16.7286C8.23054 16.7835 8.333 16.8126 8.4375 16.8125C9.18342 16.8125 9.89879 16.5162 10.4262 15.9887C10.9537 15.4613 11.25 14.7459 11.25 14V12.875H15.1875C15.427 12.8751 15.6637 12.8242 15.882 12.7257C16.1003 12.6273 16.2951 12.4835 16.4535 12.3039C16.6119 12.1243 16.7303 11.9131 16.8008 11.6842C16.8713 11.4554 16.8923 11.2141 16.8623 10.9766ZM5.0625 10.0625H2.25V3.875H5.0625V10.0625ZM15.6094 11.5595C15.557 11.6198 15.4921 11.668 15.4193 11.7009C15.3465 11.7338 15.2674 11.7505 15.1875 11.75H10.6875C10.5383 11.75 10.3952 11.8093 10.2898 11.9148C10.1843 12.0202 10.125 12.1633 10.125 12.3125V14C10.1251 14.3902 9.99003 14.7683 9.74274 15.0701C9.49545 15.3718 9.15124 15.5786 8.76867 15.6552L6.1875 10.4921V3.875H14.3438C14.4808 3.87495 14.6131 3.92494 14.7159 4.01556C14.8187 4.10619 14.8849 4.23122 14.902 4.36719L15.7458 11.1172C15.7563 11.1964 15.7496 11.2769 15.726 11.3533C15.7025 11.4296 15.6627 11.5 15.6094 11.5595Z\",\n fill: \"#4C5563\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgThumbDown, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ThumbDown.0f915141.svg\";\nexport { ForwardRef as ReactComponent };","import {ConversationModelBase} from \"../../models/conversation.models\";\nimport {useState} from \"react\";\nimport {conversationsService} from \"../../services/conversations.service\";\n\nexport enum PatientPlaygroundViewState {\n NewConversation,\n TargetConversation\n}\ninterface PatientPlaygroundComponentState {\n chatListHidden: boolean;\n targetConversation: ConversationModelBase | null;\n viewState: PatientPlaygroundViewState;\n}\n\n\nexport function useFacade(): [\n PatientPlaygroundComponentState,\n () => void,\n () => void,\n (conversation: ConversationModelBase) => void,\n (conversation: ConversationModelBase) => void\n] {\n const [state, setState] = useState({\n chatListHidden: true,\n viewState: PatientPlaygroundViewState.NewConversation\n } as PatientPlaygroundComponentState);\n\n const handleChatListToggle = () => {\n setState(state => ({\n ...state,\n chatListHidden: !state.chatListHidden\n }))\n }\n\n const handleCreateConversation = () => {\n setState(state => ({\n ...state,\n targetConversation: null,\n viewState: PatientPlaygroundViewState.NewConversation\n }))\n }\n\n const handleConversationCreated = (conversation: ConversationModelBase) => {\n conversationsService.selectConversation(conversation);\n\n setState(state => ({\n ...state,\n targetConversation: conversation,\n viewState: PatientPlaygroundViewState.TargetConversation\n }))\n }\n\n const handleSelectConversation = (conversation: ConversationModelBase) => {\n conversationsService.selectConversation(conversation);\n\n setState(state => ({\n ...state,\n targetConversation: conversation,\n viewState: PatientPlaygroundViewState.TargetConversation\n }))\n }\n\n return [\n state,\n handleChatListToggle,\n handleCreateConversation,\n handleConversationCreated,\n handleSelectConversation\n ];\n}","import React from \"react\";\nimport {Box, IconButton} from \"@material-ui/core\";\nimport {useStyles} from \"./playgroundMessageComponent.styles\";\nimport clsx from \"clsx\";\nimport moment from \"moment\";\nimport {MessageAvatarComponent} from \"../messageAvatarComponent/MessageAvatarComponent\";\nimport {ReactComponent as CopyIcon} from \"@img/icons/CopyIcon.svg\";\nimport {handleCopyToClipboard} from \"../../../common/helpers/copy-to-clipboard\";\nimport {ReactComponent as ThumbUpIcon} from \"@img/icons/ThumbUp.svg\";\nimport {ReactComponent as ThumbDownIcon} from \"@img/icons/ThumbDown.svg\";\nimport {ReactionType} from \"../../models/conversation.models\";\n\nexport interface PlaygroundMessageComponentProps {\n message: any;\n author: string;\n handleAddReaction: Function;\n handleRemoveReaction: Function;\n}\n\nexport const PlaygroundMessageComponent: React.FC = (props: PlaygroundMessageComponentProps) => {\n const {\n message,\n author,\n handleAddReaction,\n handleRemoveReaction\n } = props;\n\n const classes = useStyles();\n\n const formatDate = (date: Date) => {\n return moment(date).format('HH:mm a');\n }\n\n const isReacted = (type: ReactionType) => {\n const reactions = message?.state?.attributes?.Reactions ?? [];\n\n return reactions.some(x => x.Type == type && x.CreatedBy == author);\n }\n\n const getReaction = (type: ReactionType) => {\n const reactions = message?.state?.attributes?.Reactions ?? [];\n\n return reactions.find(x => x.Type == type && x.CreatedBy == author);\n }\n\n const handleThumbUp = () => {\n isReacted(ReactionType.Like)\n ? handleRemoveReaction(getReaction(ReactionType.Like), message)\n : handleAddReaction(message, ReactionType.Like);\n }\n\n const handleThumbDown = () => {\n isReacted(ReactionType.Dislike)\n ? handleRemoveReaction(getReaction(ReactionType.Dislike), message)\n : handleAddReaction(message, ReactionType.Dislike);\n }\n\n const renderPlaygroundResponse = () => {\n let formattedMessage: any = message;\n\n if (!message?.state?.attributes?.Interactions?.length) {\n return <>\n }\n\n const interaction = formattedMessage?.state?.attributes?.Interactions[0];\n const interactionBody = interaction.Detail;\n\n return (\n \n \n \n \n \n \n \n \n {interactionBody}\n \n \n \n \n {formatDate(message.dateCreated)}\n \n \n handleThumbUp()} className={isReacted(ReactionType.Like) ? classes.reacted : ''}>\n \n \n handleThumbDown()} className={isReacted(ReactionType.Dislike) ? classes.reacted : ''}>\n \n \n handleCopyToClipboard(interactionBody)}>\n \n \n \n \n \n \n \n )\n }\n\n return (\n <>\n \n \n \n \n \n {\n message.body\n }\n \n \n \n {formatDate(message.dateCreated)}\n \n \n \n \n\n {\n renderPlaygroundResponse()\n }\n \n )\n}","\nexport const handleCopyToClipboard = (data: string) => {\n navigator.clipboard.writeText(data).then();\n}","import {ConversationAuthorModel, ConversationModelBase} from \"../../models/conversation.models\";\nimport React from \"react\";\nimport {useFacade} from \"./playgroundThreadComponent.hooks\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {Box} from \"@material-ui/core\";\nimport {useStyles} from \"./playgroundThreadComponent.styles\";\nimport {PlaygroundMessageComponent} from \"../playgroundMessageComponent/PlaygroundMessageComponent\";\n\nexport interface PlaygroundThreadComponentProps {\n conversation: ConversationModelBase;\n author: ConversationAuthorModel;\n}\n\nexport const PlaygroundThreadComponent: React.FC = (props: PlaygroundThreadComponentProps) => {\n const {\n conversation,\n author\n } = props;\n\n const [\n {\n isLoadingMessages,\n messages,\n },\n lastMessageRef,\n handleReaction,\n handleRemoveReaction\n ] = useFacade(conversation, author);\n\n const classes = useStyles()\n\n if (isLoadingMessages) {\n return \n \n \n }\n\n return (\n \n {\n messages.map((message, index) => {\n return \n
\n \n
\n
\n })\n }\n
\n )\n}","import {ConversationModelBase, ConversationType} from \"../../models/conversation.models\";\nimport React from \"react\";\nimport {useFacade} from \"./playgroundChatComponent.hooks\";\nimport {useStyles} from \"./playgroundChatComponent.styles\";\nimport EditIcon from '@material-ui/icons/Edit';\nimport CheckCircleIcon from '@material-ui/icons/CheckCircle';\nimport CancelOutlinedIcon from '@material-ui/icons/CancelOutlined';\nimport {Box, Divider, IconButton} from \"@material-ui/core\";\nimport {InputField} from \"../sendMessageComponent/sendMessageComponent.styles\";\nimport {SendPlaygroundMessageComponent} from \"../sendPlaygroundMessageComponent/SendPlaygroundMessageComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {PlaygroundThreadComponent} from \"../playgroundThreadComponent/PlaygroundThreadComponent\";\n\nexport interface PlaygroundChatComponentProps {\n targetConversation: ConversationModelBase | null;\n type: ConversationType;\n}\n\nexport const PlaygroundChaComponent: React.FC = (props: PlaygroundChatComponentProps) => {\n const [\n {\n targetConversation,\n author,\n editSubject,\n newSubject\n },\n handleSendMessage,\n toggleEditSubject,\n handleSubjectChanges,\n submitNewSubject\n ] = useFacade(props.targetConversation, props.type);\n\n const classes = useStyles();\n\n if (!targetConversation) {\n return \n \n \n }\n\n return (\n <>\n \n \n {\n editSubject\n ? ) =>\n handleSubjectChanges(e.target.value)\n }\n /> :\n \n {targetConversation.subject}\n \n\n }\n \n \n {\n editSubject\n ? <>\n toggleEditSubject()}>\n \n \n submitNewSubject()}>\n \n \n :\n <>\n toggleEditSubject()}>\n \n \n \n\n }\n\n \n \n \n \n \n \n \n \n \n )\n}","import {\n ConnectionStatuses,\n ConversationAuthorModel,\n ConversationModelBase,\n ConversationType\n} from \"../../models/conversation.models\";\nimport {useEffect, useState} from \"react\";\nimport {conversationsService} from \"../../services/conversations.service\";\nimport {employeeConversationsQuery} from \"../../stores/employeeConversationsStore/employeeConversations.query\";\nimport {Subscription} from \"recompose\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport { getConversationAttributes } from \"../../helpers/getAttributes\";\n\ninterface PlaygroundChatComponentState {\n targetConversation: ConversationModelBase;\n author: ConversationAuthorModel;\n editSubject: boolean;\n newSubject: string;\n messages: any[];\n isLoadingMessages: boolean;\n}\n\nexport function useFacade(targetConversation: ConversationModelBase, type: ConversationType): [\n PlaygroundChatComponentState,\n (message: string) => void,\n // subject handlers\n () => void,\n (value: string) => void,\n () => void\n] {\n const [state, setState] = useState({\n targetConversation: targetConversation,\n author: null,\n editSubject: false,\n newSubject: targetConversation.subject\n } as PlaygroundChatComponentState);\n\n const toggleEditSubject = () => {\n setState(state => ({\n ...state,\n editSubject: !state.editSubject,\n newSubject: !state.editSubject ? state.targetConversation.subject : state.newSubject\n }))\n }\n\n const handleSubjectChanges = (value: string) => {\n setState(state => ({\n ...state,\n newSubject: value\n }))\n }\n\n const submitNewSubject = () => {\n conversationsService.updateSubject({\n id: targetConversation.id,\n newSubject: state.newSubject\n }).subscribe(\n () => {\n setState(state => ({\n ...state,\n editSubject: false\n }))\n }\n )\n }\n\n const handleSendMessage = (message: string): boolean => {\n if (!employeeConversationsQuery.getConnectionStatus()) return false;\n if (message.length && targetConversation.proxy?.status === ConnectionStatuses.joined) {\n const attributes = getConversationAttributes(targetConversation);\n targetConversation.proxy.sendMessage(message, attributes);\n return true;\n }\n\n return false;\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.targetConversation$, targetConversation =>\n {\n // Prevent loading default conversations into playground chat\n // But we still allow to zero out target conversation in order to close LLM\n if (targetConversation && targetConversation.type !== type) {\n return;\n }\n\n setState(state => ({\n ...state,\n targetConversation: targetConversation\n }))\n }\n ),\n onEmit(employeeConversationsQuery.author$, author =>\n setState(state => ({ ...state, author: author }))\n ),\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [type]);\n\n return [\n state,\n handleSendMessage,\n toggleEditSubject,\n handleSubjectChanges,\n submitNewSubject\n ];\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n width: '100%',\n paddingRight: 16,\n [theme.breakpoints.down('sm')]: {\n padding: 0\n },\n },\n chatListRoot: {\n width: 405,\n flexShrink: 0,\n [theme.breakpoints.down('sm')]: {\n width: '100%'\n },\n },\n chatList: {\n height: '100%',\n padding: 6,\n overflowX: 'auto',\n overflowY: 'auto',\n background: colors.white,\n boxShadow: '0px 7px 60px rgba(168, 173, 198, 0.12)',\n borderRadius: 12,\n },\n chatRoot: {\n width: '100%',\n flexDirection: 'column',\n marginRight: 16,\n [theme.breakpoints.down('sm')]: {\n margin: 0\n },\n },\n chat: {\n height: '100%',\n background: colors.white,\n boxShadow: '0px 7px 60px rgba(168, 173, 198, 0.12)',\n borderRadius: 12,\n },\n toggleButton: {\n position: 'fixed',\n zIndex: 1202,\n [theme.breakpoints.down('sm')]: {\n top: 100,\n right: 20\n },\n [theme.breakpoints.down('xs')]: {\n top: 45,\n right: 5\n },\n }\n })\n);\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport {colors} from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n [theme.breakpoints.down('sm')]: {\n padding: 0\n },\n },\n templatesListRoot: {\n minHeight: 550,\n maxHeight: 550,\n overflowY: \"auto\",\n },\n template: {\n padding: 12,\n borderRadius: 6,\n cursor: 'pointer',\n border: `1px solid ${colors.dividers}`,\n '&:hover': {\n background: colors.mint50,\n border: `1px solid ${colors.mint600}`,\n boxShadow: '0px 0px 10px 1px rgba(105,168,153,0.75)'\n },\n },\n selectedTemplate: {\n padding: 12,\n borderRadius: 6,\n cursor: 'pointer',\n background: colors.mint50,\n border: `1px solid ${colors.mint600}`,\n '&:hover': {\n boxShadow: '0px 0px 10px 1px rgba(105,168,153,0.75)'\n },\n },\n templateName: {\n fontSize: 18,\n fontWeight: 500\n },\n templateDescription: {\n fontSize: 14,\n fontWeight: 400,\n color: colors.gray600\n }\n })\n);\n\n\n","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgPlaygroundIconDisabled = function SvgPlaygroundIconDisabled(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M12.0062 2C14.6765 2 17.1794 3.04282 19.0653 4.92859L19.0741 4.93728C20.9601 6.82306 22 9.33452 22 12.0024C22 14.6703 20.9601 17.1818 19.0741 19.0675C17.1882 20.9533 14.6853 21.9961 12.015 21.9961H2.6117C2.48832 22.0135 2.37375 21.9701 2.27681 21.9092C2.17105 21.8484 2.09174 21.7528 2.04767 21.6572C2.00361 21.5442 1.98598 21.4226 2.01242 21.3009C2.03005 21.1793 2.09174 21.075 2.17105 20.9881L4.52409 18.6243L4.27733 18.3202C2.81439 16.5474 2.01242 14.2966 2.02123 11.9937C2.02123 9.32583 3.06115 6.81437 4.95592 4.9199C5.88127 3.99005 6.97406 3.26008 8.19024 2.75605C9.40642 2.25202 10.6931 2 12.0062 2Z\",\n fill: \"#AFBACA\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M14.0638 12.1414L16.2478 13.3878L15.2798 15.0444L13.0959 13.798V16.2828H11.1519V13.798L8.96797 15.0444L8 13.3878L10.1839 12.1414L8 10.8951L8.96797 9.23848L11.1519 10.4849V8H13.0959V10.4849L15.2798 9.23848L16.2478 10.8951L14.0638 12.1414Z\",\n fill: \"#FEFEFE\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPlaygroundIconDisabled, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/PlaygroundIconDisabled.d407ce59.svg\";\nexport { ForwardRef as ReactComponent };","import React from \"react\";\nimport {Box, Divider, Grid} from \"@material-ui/core\";\nimport {SendPlaygroundMessageComponent} from \"../sendPlaygroundMessageComponent/SendPlaygroundMessageComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {useFacade} from \"./startPatientPlaygroundComponent.hooks\";\nimport {useStyles} from \"./startPatientPlaygroundComponent.styls\";\n\nexport interface StartPatientPlaygroundComponentProps {\n patientId: number;\n handleCreated: Function;\n}\n\nexport const StartPatientPlaygroundComponent: React.FC = (props: StartPatientPlaygroundComponentProps) => {\n\n const [\n {\n isLoading,\n templates,\n selectedTemplate\n },\n handleSelectTemplate,\n handleSendMessage\n ] = useFacade(props.handleCreated, props.patientId);\n\n const classes = useStyles();\n\n return (\n <>\n \n \n New Chat\n \n \n \n \n \n {\n isLoading &&\n \n }\n \n {\n templates.map((template, index) => {\n return (\n \n handleSelectTemplate(template)}>\n {template.name}\n {template.description}\n \n \n )\n })\n }\n \n\n \n \n \n \n \n )\n}","import {\n ConversationTemplateModel, ConversationType,\n StartPatientPlaygroundConversationModel\n} from \"../../models/conversation.models\";\nimport {useEffect, useState} from \"react\";\nimport {conversationsService} from \"../../services/conversations.service\";\nimport {Subscription} from \"recompose\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {employeeConversationsQuery} from \"../../stores/employeeConversationsStore/employeeConversations.query\";\n\ninterface StartPatientPlaygroundComponentState {\n isLoading: boolean;\n templates: ConversationTemplateModel[];\n selectedTemplate: ConversationTemplateModel;\n}\n\nexport function useFacade(handleCreated: Function, patientId: number): [\n StartPatientPlaygroundComponentState,\n (template: ConversationTemplateModel) => void,\n (message: string) => void,\n] {\n const [state, setState] = useState({\n isLoading: false,\n templates: [],\n selectedTemplate: null\n } as StartPatientPlaygroundComponentState);\n\n const handleSelectTemplate = (template: ConversationTemplateModel) => {\n setState(state => ({\n ...state,\n selectedTemplate: template\n }));\n }\n\n const handleSendMessage = (message: string) => {\n const model: StartPatientPlaygroundConversationModel = {\n patientId: patientId,\n prompt: message\n };\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n conversationsService.startPatientPlaygroundConversations(model)\n .subscribe(\n (data) => {\n handleCreated(data);\n }, () => {\n setState(state => ({\n ...state,\n isLoading: false\n }));\n }\n );\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeeConversationsQuery.templates$, templates =>\n {\n setState(state => ({\n ...state,\n templates: templates\n }))\n }\n )\n ];\n\n conversationsService.getConversationTemplates(ConversationType.PatientPlayground).subscribe(\n () => {\n setState(state => ({\n ...state,\n isLoading: false\n }))\n }, () => {\n setState(state => ({\n ...state,\n isLoading: false\n }))\n }\n )\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleSelectTemplate,\n handleSendMessage\n ];\n}","import React from \"react\";\nimport {Box, IconButton, useMediaQuery, useTheme} from \"@material-ui/core\";\nimport FormatListBulletedIcon from '@material-ui/icons/FormatListBulleted';\nimport CloseIcon from '@material-ui/icons/Close';\nimport {PlaygroundChatListComponent} from \"../playgroundChatListComponent/PlaygroundChatListComponent\";\nimport {ConversationType} from \"../../models/conversation.models\";\nimport {PlaygroundChaComponent} from \"../playgroundChatComponent/PlaygroundChatComponent\";\nimport {useStyles} from \"./patientPlaygroundComponent.styles\";\nimport {PatientPlaygroundViewState, useFacade} from \"./patientPlaygroundComponent.hooks\";\nimport {StartPatientPlaygroundComponent} from \"../startPatientPlaygroundComponent/StartPatientPlaygroundComponent\";\n\nexport interface PatientPlaygroundComponentProps {\n patientId: number;\n}\n\nexport const PatientPlaygroundComponent: React.FC = (props: PatientPlaygroundComponentProps) => {\n const classes = useStyles();\n const theme = useTheme();\n const isMiddleScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n const [\n {\n chatListHidden,\n targetConversation,\n viewState\n },\n handleChatListToggle,\n handleCreateConversation,\n handleConversationCreated,\n handleSelectConversation\n ] = useFacade();\n\n const renderChatsList = () => {\n return (\n \n )\n }\n\n const renderChatView = () => {\n switch(viewState) {\n case PatientPlaygroundViewState.TargetConversation:\n return \n case PatientPlaygroundViewState.NewConversation:\n return \n }\n }\n\n const renderChat = () => {\n return (\n \n )\n }\n\n const renderChatListToggleButton = () => {\n return (\n \n )\n }\n\n return (\n \n {renderChat()}\n {renderChatsList()}\n {renderChatListToggleButton()}\n \n )\n}","import React from 'react';\nimport { IconProps } from './IconProps';\nimport { ReactComponent as PlaygroundSvgIcon } from '@img/icons/PlaygroundIcon.svg';\nimport { ReactComponent as PlaygroundDisabledIcon } from '@img/icons/PlaygroundIconDisabled.svg';\n\nconst PlaygroundIcon: React.FC = (props: IconProps) => {\n const { isSelected } = props;\n\n return isSelected\n ? \n : \n}\n\nexport default PlaygroundIcon;","import React from 'react';\nimport {WildHealthTabMenuControl} from \"../../../common/components/wildHealthTabMenuControl/WildHealthTabMenuControl\";\nimport {TabItem} from '../../../common/components/wildHealthTabMenuControl/wildHealthTabMenuControl.hooks';\nimport {OrdersComponent} from '../../../orders/components/ordersComponent/OrdersComponent';\nimport {HealthReportComponent} from '../../../healthReport/components/healthReportComponent/HealthReportComponent';\nimport {DataFilesComponent} from \"../../../inputs/components/dataFilesComponent/DataFilesComponent\";\nimport {GeneralInputsComponent} from \"../../../inputs/components/generalInputsComponent/GeneralInputsComponent\";\nimport {LabInputsComponent} from \"../../../inputs/components/labInputsComponent/labInputsComponent\";\nimport {\n MicrobiomeInputsComponent\n} from \"../../../inputs/components/microbiomeInputsComponent/MicrobiomeInputsComponent\";\nimport {ManageNotesComponent} from '../../../notes/components/manageNotes/ManageNotesComponent';\nimport {\n PatientMedicationsSupplementsTabsComponent\n} from '../../../patientSupplements/components/patientMedicationsSupplementsTabs/PatientMedicationsSupplementsTabsComponent';\nimport {\n QuestionnairesComponent\n} from \"../../../questionnaire/components/questionnairesComponent/QuestionnairesComponent\";\nimport {PatientProfileComponent} from '../patientProfileComponent/PatientProfileComponent';\nimport {useFacade} from './managePatientProfileComponent.hooks';\nimport {\n PatientPastAppointmentsComponent\n} from '../../../appointments/components/patientPastAppointmentsComponent/PatientPastAppointmentsComponent';\nimport {\n PatientUpcommingAppointmentsComponent\n} from '../../../appointments/components/patientUpcommingAppointmentsComponent/PatientUpcommingAppointmentsComponent';\nimport {WidgetContainerComponent} from \"../../../widgets/components/widgetContainerComponent/WidgetContainerComponent\";\nimport {WildHealthContainer} from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport {\n PatientConversationsViewComponent\n} from '../../../conversations/components/patientConversationsViewComponent/PatientConversationsViewComponent';\nimport {HealthSummaryComponent} from '../../../healthSummary/components/healthSummaryComponent/HealthSummaryComponent';\nimport {DocumentsComponent} from '../../../documents/components/documentsComponent/DocumentsComponent';\nimport PersonIcon from \"../../../../components/iconComponent/PersonIcon\";\nimport DashboardIcon from \"../../../../components/iconComponent/DashboardIcon\";\nimport HealthScoreIcon from \"../../../../components/iconComponent/HealthScoreIcon\";\nimport ConversationsIcon from \"../../../../components/iconComponent/ConversationIcon\";\nimport MedicalHistoryIcon from \"../../../../components/iconComponent/MedicalHistoryIcon\";\nimport AppointmentsIcon from \"../../../../components/iconComponent/AppointmentsIcon\";\nimport SupplementMedsIcon from \"../../../../components/iconComponent/SupplementsMedsIcon\";\nimport ResultsIcon from \"../../../../components/iconComponent/ResultsIcon\";\nimport HealthReportIcon from \"../../../../components/iconComponent/HealthReportIcon\";\nimport NotesIcon from \"../../../../components/iconComponent/NotesIcon\";\nimport DNAIcon from \"../../../../components/iconComponent/DNAIcon\";\nimport AcademyIcon from \"../../../../components/iconComponent/AcademyIcon\";\nimport {NewDocumentsComponent} from '../../../documents/components/newDocumentsBadgeComponent/NewDocumentsComponent';\nimport {\n PatientCourseHistoryComponent\n} from '../../../northPassAcademy/components/patientCourseHistory/PatientCourseHistoryComponent';\nimport {HealthScoreComponent} from \"../../../healthScore/components/healthScoreComponent/HealthScoreComponent\";\nimport {BiometricComponent} from '../../../vital/components/biometricComponent/BiometricComponent';\nimport HealthPlanIcon from '../../../../components/iconComponent/HealthPlan';\nimport {HealthPlanComponent} from '../../../healthPlan/components/HealthPlan/HealthPlanComponent';\nimport {MenuItemTypes} from '../../../../models/menu.models';\nimport {useFlags} from 'launchdarkly-react-client-sdk';\nimport {FeatureFlag} from '../../../common/components/featureFlags/featureFlags.models';\nimport {isFeatureFlag} from '../../../common/components/featureFlags/featureFlags';\nimport {AddOnReportsComponent} from '../../../healthReport/components/addOnReportsComponent/AddOnReportsComponent';\nimport {VisitPrepComponent} from '../../../patients/components/VisitPrepComponent/VisitPrepComponent';\nimport {\n PatientPlaygroundComponent\n} from \"../../../conversations/components/patientPlaygroundComponent/PatientPlaygroundComponent\";\nimport PlaygroundIcon from \"../../../../components/iconComponent/PlaygroundIcon\";\n\ninterface ManagePatientProfileComponentProps {\n patientId: number;\n patientIntakeId: string;\n resultId?: number;\n pageName: JSX.Element\n}\n\nexport const ManagePatientProfileComponent: React.FC = (props: ManagePatientProfileComponentProps) => {\n const {\n patientId,\n patientIntakeId,\n resultId = null,\n pageName\n } = props;\n\n const [\n {\n selectedTab\n },\n handleChangeTab\n ] = useFacade(patientId);\n\n const featureFlags = useFlags();\n const isHealthPlan = isFeatureFlag(featureFlags, FeatureFlag.HealthPlanDashboard);\n const isLlmPlayground = isFeatureFlag(featureFlags, FeatureFlag.LlmPlayground);\n\n const featureMap = new Map()\n .set(MenuItemTypes.HealthPlan, isHealthPlan)\n .set(MenuItemTypes.GenericPlayground, isLlmPlayground)\n\n const container = {\n component: WildHealthContainer,\n props: { margin: 0 },\n };\n\n const items: TabItem[] = [\n {\n title: 'Profile',\n type: MenuItemTypes.Profile,\n icon: (isSelected: boolean) => ,\n content: ,\n container,\n },\n {\n title: 'AI Chat',\n type: MenuItemTypes.GenericPlayground,\n icon: (isSelected: boolean) => ,\n content: \n },\n {\n title: 'Dashboard',\n type: MenuItemTypes.Dashboard,\n icon: (isSelected: boolean) => ,\n content: ,\n },\n {\n title: 'Health Score',\n type: MenuItemTypes.HealthScore,\n icon: (isSelected: boolean) => ,\n content: ,\n disabled: false,\n },\n {\n title: 'Messaging',\n type: MenuItemTypes.Messaging,\n icon: (isSelected: boolean) => ,\n content: ,\n },\n {\n title: 'Medical History',\n type: MenuItemTypes.Questionnaire,\n icon: (isSelected: boolean) => ,\n children: [\n {\n title: 'Visit Prep',\n type: MenuItemTypes.VisitPrep,\n content: \n },\n {\n title: 'Health Summary',\n type: MenuItemTypes.HealthSummary,\n content: \n },\n {\n title: 'Health Forms',\n type: MenuItemTypes.HealthForms,\n content: ,\n container,\n },\n {\n title: 'General Inputs',\n type: MenuItemTypes.GeneralInputs,\n content: ,\n container,\n },\n {\n title: 'Documents',\n type: MenuItemTypes.Documents,\n badge: ,\n content: ,\n container,\n },\n ]\n },\n {\n title: 'Appointments',\n type: MenuItemTypes.Appointments,\n icon: (isSelected: boolean) => ,\n children: [\n {\n title: 'Upcoming Appts',\n type: MenuItemTypes.UpcommingAppointments,\n content: ,\n container,\n },\n {\n title: 'Past Appts',\n type: MenuItemTypes.PastAppointments,\n content: ,\n container,\n },\n ]\n },\n {\n title: 'Supplements/Meds',\n type: MenuItemTypes.Supplements,\n icon: (isSelected: boolean) => ,\n content: ,\n container,\n },\n {\n title: 'Results',\n type: MenuItemTypes.Results,\n icon: (isSelected: boolean) => ,\n children: [\n {\n title: 'Labs',\n type: MenuItemTypes.LabsInputs,\n content: ,\n container,\n },\n {\n title: 'Microbiome',\n type: MenuItemTypes.MicrobiomeInputs,\n content: ,\n container,\n },\n {\n title: 'Data Files',\n type: MenuItemTypes.DataFilesInputs,\n content: ,\n container,\n },\n {\n title: 'Biometrics',\n type: MenuItemTypes.BioData,\n content: ,\n container,\n },\n ],\n },\n {\n title: 'Health Report',\n type: MenuItemTypes.HealthReport,\n icon: (isSelected: boolean) => ,\n children: [\n {\n title: 'My Health Report',\n type: MenuItemTypes.MyHealthReport,\n content: ,\n container,\n },\n isFeatureFlag(featureFlags, FeatureFlag.AddOnReportPage) && {\n title: 'Add-On Reports',\n type: MenuItemTypes.AddOnReports,\n content: ,\n container,\n },\n ].filter(x => x),\n },\n {\n title: 'Health Plan',\n type: MenuItemTypes.HealthPlan,\n icon: (isSelected: boolean) => ,\n content: ,\n },\n {\n title: 'Notes',\n type: MenuItemTypes.Notes,\n icon: (isSelected: boolean) => ,\n content: ,\n container,\n },\n {\n title: 'Orders',\n type: MenuItemTypes.Orders,\n icon: (isSelected: boolean) => ,\n content: ,\n container,\n },\n {\n title: 'Academy',\n type: MenuItemTypes.CourseHistory,\n icon: (isSelected: boolean) => ,\n content: ,\n container,\n },\n ];\n\n const filteredItems = items.filter(x => {\n if (featureMap.has(x.type)) {\n return featureMap.get(x.type);\n }\n\n return true;\n })\n\n return (\n \n );\n}","import { useEffect, useState } from 'react';\nimport { Subscription } from 'rxjs';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { patientProfileQuery } from '../../stores/patientProfileStore';\nimport { patientProfileStore } from '../../stores/patientProfileStore';\n\ninterface ManagePatientProfileComponentState {\n selectedTab: string;\n}\n\nexport function useFacade(patientId: number): [\n ManagePatientProfileComponentState,\n (tab: string) => void,\n] {\n const [state, setState] = useState({\n selectedTab: patientProfileQuery.getTab()\n } as ManagePatientProfileComponentState);\n\n const handleChangeTab = (tab: string) => {\n patientProfileStore.setTab(tab);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientProfileQuery.selectedTab$, selectedTab => {\n if (patientId === patientProfileStore.getValue().patientId) {\n setState(state => ({ ...state, selectedTab: selectedTab }))\n }\n })\n ];\n\n patientProfileStore.setPatientId(patientId);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [\n state,\n handleChangeTab\n ];\n}","import React from 'react';\nimport {useLocation} from \"react-router-dom\";\nimport { useHistory } from 'react-router';\nimport { Box, IconButton } from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport InfoIcon from '@material-ui/icons/Info';\nimport clsx from 'clsx';\nimport { useFacade } from \"./managePatientProfilePage.hooks\";\nimport { useStyles } from './managePatientProfilePage.styles';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PageTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { ManagePatientProfileComponent } from \"../../components/managePatientProfileComponent/ManagePatientProfileComponent\";\nimport { PatientInfoTooltipComponent } from '../../components/patientInfoTooltipComponent/PatientInfoTooltipComponent';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { navigationService } from '../../../../services/navigation.service';\nimport { patientProfileStore } from '../../stores/patientProfileStore';\n\nexport const ManagePatientProfilePage: React.FC = (props: any) => {\n const patientId = Number(props.match.params.patientId);\n const tab = new URLSearchParams(props.location.search).get('tab');\n const resultId = new URLSearchParams(props.location.search).get('resultId');\n\n const [\n {\n isLoading,\n patient,\n },\n displayPatientName,\n ] = useFacade(patientId);\n const history = useHistory();\n const location = useLocation();\n const classes = useStyles();\n\n if (tab) {\n patientProfileStore.setTab(tab);\n }\n\n const pageName = (\n navigationService.toManagePatients(history)} size='medium'>\n \n \n }\n title={displayPatientName(patient)}\n endAdornment={\n patient ?\n \n \n \n \n : <>\n }\n />\n );\n\n return (\n \n {isLoading ? (\n \n ) : (\n \n )}\n \n );\n}\n","import { useEffect, useState } from 'react';\nimport { Subscription } from 'recompose';\nimport { DataSpecificationsEnum } from '../../../common/constants/data-specifications';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { PatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { patientsQuery } from '../../../patients/stores/patientsStore';\n\ninterface CoachPatientProfileComponentState {\n isLoading: boolean;\n patient: PatientModel;\n}\n\nexport function useFacade(patientId: number): [\n CoachPatientProfileComponentState,\n (patient: PatientModel) => string] {\n\n const [state, setState] = useState({\n isLoading: true,\n patient: null,\n } as CoachPatientProfileComponentState);\n\n const displayPatientName = (patient: PatientModel) => {\n return patient\n ? `${patient.firstName} ${patient.lastName}`\n : 'Loading...';\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === patientId) {\n setState(state => ({ ...state, patient: targetPatient, isLoading: false }));\n }\n }),\n ];\n\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [\n state,\n displayPatientName\n ];\n}","import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n image: {\n maxWidth: 300,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n maxWidth: 444,\n },\n },\n groupList: {\n width: 405,\n flexShrink: 0,\n overflowX: 'auto',\n overflowY: 'auto',\n [theme.breakpoints.down('sm')]: {\n width: '100%',\n paddingTop: 16\n },\n },\n groups: {\n minHeight: 300,\n height: 'calc(100vh - 268px)',\n maxHeight: 'calc(100vh - 204px)',\n overflow: 'auto',\n },\n }),\n);\n","import {GeneralValidator} from \"../../../../common/validation/general-validator\";\nimport {stringLengthValidationRule, linkValidationRule} from \"../../../../common/validation/general-validation-rules\";\n\nexport const manageShortcutsComponentValidator = new GeneralValidator({\n // User form\n 'name': [stringLengthValidationRule(1, 100)],\n 'displayName': [stringLengthValidationRule(1, 100)],\n 'content': [stringLengthValidationRule(1, 2500)],\n 'purchaseLink': [stringLengthValidationRule(1, 250), linkValidationRule]\n});\n","import {GeneralValidator} from \"../../../../common/validation/general-validator\";\nimport {rangeValidationRule, stringLengthValidationRule} from \"../../../../common/validation/general-validation-rules\";\n\nexport const createShortcutComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 100)],\n 'displayName': [stringLengthValidationRule(1, 100)],\n 'content': [stringLengthValidationRule(1, 2500)],\n 'groupId': [rangeValidationRule(1, null, 'Shortcut group is required')]\n});\n","import React from 'react';\nimport { useFacade } from \"./createShortcutComponent.hooks\";\nimport { Box, FormControl, FormHelperText, MenuItem, Select, TextField } from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { DialogComponentProps } from \"../../../../common/dialogs/dialogProps\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const CreateShortcutComponent: React.FC = (props: DialogComponentProps) => {\n const [\n {\n groups,\n errors,\n shortcut,\n isSubmitted\n },\n handleChanges,\n handleSubmit,\n handleClose,\n isCheckedCreate\n ] = useFacade(props);\n\n return (\n <>\n handleClose()} aria-labelledby=\"form-dialog-title\">\n
handleSubmit(e)}>\n Create shortcut\n \n \n \n Label *\n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n Alternative search term *\n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n Group *\n \n handleChanges('groupId', v.target.value)}>\n {\n groups.map((group) => {\n return \n {group.name}\n \n })\n }\n \n {errors['groupId']}\n \n \n \n Shortcut content *\n {\n handleChanges(v.target.id, v.target.value)\n }}>\n \n \n \n \n \n handleClose()}\n >\n Cancel\n \n handleSubmit(e)}\n >\n Create\n \n \n
\n
\n \n )\n}","import {ShortcutGroupTabs, shortcutsQuery} from \"../../../stores/shortcutsStore\";\nimport {CreateShortcutModel, ShortcutGroupModel} from \"../../../models/shortcut.models\";\nimport {shortcutsService} from \"../../../services/shortcuts.service\";\nimport {useEffect, useState} from \"react\";\nimport {onEmit} from \"../../../../common/helpers/on-emit\";\nimport {Subscription} from \"rxjs\";\nimport {IErrorState} from \"../../../../common/validation/error-state\";\nimport {createShortcutComponentValidator} from \"./createShortcutComponent.validator\";\nimport {DialogComponentProps} from \"../../../../common/dialogs/dialogProps\";\n\n/**\n * Represents Create Shortcuts Component state\n */\ninterface CreateShortcutComponentState extends IErrorState {\n shortcut: CreateShortcutModel;\n groups: ShortcutGroupModel[];\n isSubmitted: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for Create shortcuts component\n */\nexport function useFacade(props: DialogComponentProps): [CreateShortcutComponentState, Function, Function, Function, () => boolean] {\n const [state, setState] = useState({\n shortcut: {\n name: null,\n displayName: null,\n groupId: null,\n content: null\n },\n groups: shortcutsQuery.getGroups(shortcutsQuery.getTab() === ShortcutGroupTabs.Personal),\n errors: {},\n isSubmitted: false\n } as CreateShortcutComponentState);\n\n const handleChanges = (key: string, value: string) => {\n state.shortcut[key] = value;\n setState({\n ...state,\n shortcut: Object.assign({}, state.shortcut)\n });\n\n createShortcutComponentValidator.validateAndSetState(state, setState, key, value);\n }\n\n const isCheckedCreate = () => {\n return Boolean(state.shortcut.name && state.shortcut.displayName && state.shortcut.groupId && state.shortcut.content);\n }\n\n const handleSubmit = (event: Event) => {\n event.preventDefault();\n \n if(!state.isSubmitted){\n createShortcutComponentValidator.validateObjectAndSetState(state, setState, state.shortcut);\n if (!createShortcutComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({...state, isSubmitted: true }))\n shortcutsService.createShortcut(state.shortcut).subscribe(\n () => { handleClose() },\n () => { setInitialState() }\n );\n }\n }\n\n const handleClose = () => { \n setInitialState();\n props.handleClose();\n }\n\n const setInitialState = () => {\n setState({\n ...state,\n errors: {},\n shortcut: {\n name: null,\n displayName: null,\n groupId: null,\n content: null\n },\n isSubmitted: false\n });\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(shortcutsQuery.groups$, groups => {\n setState(state => ({\n ...state,\n groups: groups.filter(x => x.isPersonal === (shortcutsQuery.getTab() === ShortcutGroupTabs.Personal))\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [props.open]);\n\n return [state, handleChanges, handleSubmit, handleClose, isCheckedCreate];\n}","import {GeneralValidator} from \"../../../../common/validation/general-validator\";\nimport {stringLengthValidationRule} from \"../../../../common/validation/general-validation-rules\";\n\nexport const createShortcutGroupComponentValidator = new GeneralValidator({\n 'name': [stringLengthValidationRule(1, 100)],\n});\n","import React from 'react';\nimport { Box, TextField } from \"@material-ui/core\";\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogTitle from \"@material-ui/core/DialogTitle\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport { DialogComponentProps } from \"../../../../common/dialogs/dialogProps\";\nimport { useFacade } from \"./createShortcutGroupComponent.hooks\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const CreateShortcutGroupComponent: React.FC = (props: DialogComponentProps) => {\n const [\n {\n group,\n errors,\n isSubmitted\n },\n handleNameChanges,\n handleSubmit,\n handleClose\n ] = useFacade(props);\n\n return (\n <>\n handleClose()} aria-labelledby=\"form-dialog-title\">\n
{ handleSubmit(e) }}>\n Create shortcut Group\n \n \n \n {\n handleNameChanges(v.target.value)\n }}\n />\n \n \n \n \n handleClose()}\n >\n Cancel\n \n { handleSubmit(e) }}\n >\n Create\n \n \n
\n
\n \n )\n}","import {CreateShortcutGroupModel} from \"../../../models/shortcut.models\";\nimport {shortcutsService} from \"../../../services/shortcuts.service\";\nimport {useState} from \"react\";\nimport {IErrorState} from \"../../../../common/validation/error-state\";\nimport {createShortcutGroupComponentValidator} from \"./createShortcutGroupComponent.validator\";\nimport {DialogComponentProps} from \"../../../../common/dialogs/dialogProps\";\nimport { shortcutsQuery, ShortcutGroupTabs } from \"../../../stores/shortcutsStore\";\n\n/**\n * Represents Create Shortcuts Group Component state\n */\ninterface CreateShortcutGroupComponentState extends IErrorState {\n group: CreateShortcutGroupModel;\n isSubmitted: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for Create shortcuts group component\n */\nexport function useFacade(props: DialogComponentProps): [CreateShortcutGroupComponentState, Function, Function, Function] {\n const [state, setState] = useState({\n group: {\n name: null,\n displayName: null,\n isPersonal: false\n },\n errors: {},\n isSubmitted: false\n } as CreateShortcutGroupComponentState);\n\n const handleNameChanges = (value: string) => {\n state.group.name = value;\n state.group.displayName = value;\n setState({\n ...state,\n group: {...state.group}\n });\n\n createShortcutGroupComponentValidator.validateAndSetState(state, setState, 'name', value);\n }\n\n const handleSubmit = (event: Event) => {\n event.preventDefault();\n if(!state.isSubmitted){\n\n createShortcutGroupComponentValidator.validateObjectAndSetState(state, setState, state.group);\n if (!createShortcutGroupComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({...state, isSubmitted: true }))\n state.group.isPersonal = shortcutsQuery.getTab() === ShortcutGroupTabs.Personal;\n shortcutsService.createGroup(state.group).subscribe(() => {\n handleClose()\n }, () => {\n setInitialState();\n });\n }\n \n }\n\n const handleClose = () => {\n setInitialState();\n props.handleClose();\n }\n\n const setInitialState = () => {\n setState({\n ...state,\n errors: {},\n group: {\n name: null,\n displayName: null,\n isPersonal: shortcutsQuery.getTab() === ShortcutGroupTabs.Personal\n },\n isSubmitted: false\n });\n\n }\n\n return [state, handleNameChanges, handleSubmit, handleClose];\n}","import React from \"react\";\nimport {ShortcutModel} from \"../../../models/shortcut.models\";\nimport {Box} from \"@material-ui/core\";\nimport {displayDate} from \"../../../../common/helpers/display-date\";\nimport { toCurrentTimeZone } from \"../../../../timezones/helpers/timezone\";\n\ninterface ShortcutAuditInformationComponentProps {\n shortcut: ShortcutModel\n}\n\nexport const ShortcutAuditInformationComponent: React.FC = (props: ShortcutAuditInformationComponentProps) => {\n const { shortcut } = props;\n return (\n \n \n \n \n Created on: \n \n \n {displayDate(toCurrentTimeZone(shortcut.createdAt))}\n \n \n \n \n Created by: \n \n \n {shortcut.createdBy}\n \n \n \n \n \n \n Modified on: \n \n \n {shortcut.modifiedAt ? displayDate(toCurrentTimeZone(shortcut.modifiedAt)) : ''}\n \n \n \n \n Modified by: \n \n \n {shortcut.modifiedBy}\n \n \n \n \n )\n};","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFolderOpen = function SvgFolderOpen(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M5 5.75C4.66848 5.75 4.35054 5.8817 4.11612 6.11612C3.8817 6.35054 3.75 6.66848 3.75 7V17C3.75 17.3315 3.8817 17.6495 4.11612 17.8839C4.35054 18.1183 4.66848 18.25 5 18.25C5.33152 18.25 5.64946 18.1183 5.88388 17.8839C6.1183 17.6495 6.25 17.3315 6.25 17V12C6.25 11.2707 6.53973 10.5712 7.05546 10.0555C7.57118 9.53973 8.27065 9.25 9 9.25H16.25V9C16.25 8.66848 16.1183 8.35054 15.8839 8.11612C15.6495 7.8817 15.3315 7.75 15 7.75H11C10.8011 7.75 10.6103 7.67098 10.4697 7.53033L8.68934 5.75H5ZM9 10.75C8.66848 10.75 8.35054 10.8817 8.11612 11.1161C7.8817 11.3505 7.75 11.6685 7.75 12V17C7.75 17.4386 7.64521 17.8665 7.44949 18.25H19C19.3315 18.25 19.6495 18.1183 19.8839 17.8839C20.1183 17.6495 20.25 17.3315 20.25 17V12C20.25 11.6685 20.1183 11.3505 19.8839 11.1161C19.6495 10.8817 19.3315 10.75 19 10.75H9ZM17.75 9.25V9C17.75 8.27065 17.4603 7.57118 16.9445 7.05546C16.4288 6.53973 15.7293 6.25 15 6.25H11.3107L9.53033 4.46967C9.38968 4.32902 9.19891 4.25 9 4.25H5C4.27065 4.25 3.57118 4.53973 3.05546 5.05546C2.53973 5.57118 2.25 6.27065 2.25 7V17C2.25 17.7293 2.53973 18.4288 3.05546 18.9445C3.57118 19.4603 4.27065 19.75 5 19.75H19C19.7293 19.75 20.4288 19.4603 20.9445 18.9445C21.4603 18.4288 21.75 17.7293 21.75 17V12C21.75 11.2707 21.4603 10.5712 20.9445 10.0555C20.4288 9.53973 19.7293 9.25 19 9.25H17.75Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFolderOpen, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/FolderOpen.83556b94.svg\";\nexport { ForwardRef as ReactComponent };","var _circle;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgEllipse1 = function SvgEllipse1(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 12,\n cy: 12,\n r: 2.5,\n fill: \"#9CA3AF\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgEllipse1, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/Ellipse1.b6a78bad.svg\";\nexport { ForwardRef as ReactComponent };","import { TextField } from '@material-ui/core';\nimport { createStyles, makeStyles, Theme, withStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n list: {\n backgroundColor: theme.palette.background.paper,\n borderRadius: '5px',\n overflow: 'auto',\n width: '100%',\n },\n search: {\n backgroundColor: colors.gray100,\n borderRadius: 50,\n },\n searchBase: {\n padding: 16,\n fontFamily: 'Be Vietnam Pro',\n fontSize: 14,\n },\n icon: {\n color: colors.black,\n },\n image: {\n maxWidth: 300,\n width: '100%',\n [theme.breakpoints.up('sm')]: {\n maxWidth: 444,\n },\n },\n groups: {\n minHeight: 300,\n height: 'calc(100vh - 268px)',\n maxHeight: 'calc(100vh - 204px)',\n overflow: 'auto',\n },\n }),\n);\n\nexport const SearchTextField = withStyles({\n root: {\n '& label.Mui-focused': {\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: 'transparent',\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': { \n borderColor: 'transparent',\n },\n '&:hover fieldset': {\n borderColor: 'transparent',\n },\n '&.Mui-focused fieldset': {\n borderColor: 'transparent',\n },\n },\n },\n})(TextField);\n","import { useEffect, useState } from \"react\";\nimport moment from \"moment\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { MyPatientModel, MyPatientsFilterModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\n\nexport enum SortingSource {\n None,\n patientName = \"firstName\",\n Name = \"name\",\n StartDate = \"startDate\",\n RenewalDate = \"renewalDate\",\n SendDate = \"sentDate\"\n}\n\nexport enum SortingObject {\n None,\n FirstName = \"firstName\",\n StartDate = \"startDate\",\n ActivePlan = \"activePlan\",\n LastMessage = \"lastMessage\",\n LastUnansweredMessage = \"lastMessage\",\n LastAppointment = \"lastAppointment\",\n NextAppointment = \"nextAppointment\",\n}\n\ninterface FilterOptionsViewModel {\n optionId: number;\n title: string;\n status: string | number;\n description?: string;\n value: number;\n valueString: string;\n}\n\ninterface PatientFilterStatusViewModel {\n id: string;\n objectName: string;\n title: string;\n description?: string;\n options: FilterOptionsViewModel[];\n}\n\ninterface MyPatientsFiltersState {\n isOpen: boolean;\n anchorEl: HTMLButtonElement;\n filters: PatientFilterStatusViewModel[];\n}\n\ninterface ManageMyPatientsState extends IPaginationState, ISortingState {\n isLoading: boolean;\n patients: MyPatientModel[],\n originalPatients: MyPatientModel[],\n filtersState: MyPatientsFiltersState;\n filteredTitle: string;\n activeSource: string;\n page: number;\n rowsPerPage: number;\n options: FilterOptionsViewModel[];\n selectedFilterId: string;\n selectedOptionId: number;\n selectedFilter: PatientFilterStatusViewModel;\n selectedOption: FilterOptionsViewModel;\n}\n\nexport function useFacade(): [\n ManageMyPatientsState,\n (event?: React.MouseEvent) => void,\n () => void,\n (query: string) => void,\n (active: string, source: string, direction: SortingDirection, object?: string | null) => void,\n () => number[],\n (value: any) => void,\n (page: number) => void,\n (filterId: string) => void,\n (optionId: number) => void,\n] {\n\n const [state, setState] = useState({\n isLoading: true,\n originalPatients: [],\n patients: [],\n filtersState: {\n isOpen: false,\n anchorEl: null,\n filters: [\n {\n id: \"lastMessage_filter\",\n objectName: \"lastMessage\",\n title: \"Last Message Sent\",\n description: \"since last message sent\",\n options: [\n {\n optionId: 1,\n title: \"> 10 days ago\",\n description: \"> 10 days\",\n status: moment(new Date()).add(-10, 'day').format('MM/DD/YYYY'),\n value: 10\n },\n {\n optionId: 2,\n title: \"> 20 days ago\",\n description: \"> 20 days\",\n status: moment(new Date()).add(-20, 'day').format('MM/DD/YYYY'),\n value: 20\n },\n {\n optionId: 3,\n title: \"> 30 days ago\",\n description: \"> 30 days\",\n status: moment(new Date()).add(-30, 'day').format('MM/DD/YYYY'),\n value: 30\n },\n {\n optionId: 4,\n title: \"> 60 days ago\",\n description: \"> 60 days\",\n status: moment(new Date()).add(-60, 'day').format('MM/DD/YYYY'),\n value: 60\n }\n ]\n },\n {\n id: \"lastUnansweredMessage_filter\",\n objectName: \"lastMessage\",\n title: \"Last unanswered Message\",\n description: \"since last message sent\",\n options: [\n {\n optionId: 1,\n title: \"> 10 days ago\",\n description: \"> 10 days\",\n status: moment(new Date()).add(-10, 'day').format('MM/DD/YYYY'),\n value: 10\n },\n {\n optionId: 2,\n title: \"> 20 days ago\",\n description: \"> 20 days\",\n status: moment(new Date()).add(-20, 'day').format('MM/DD/YYYY'),\n value: 20\n },\n {\n optionId: 3,\n title: \"> 30 days ago\",\n description: \"> 30 days\",\n status: moment(new Date()).add(-30, 'day').format('MM/DD/YYYY'),\n value: 30\n },\n {\n optionId: 4,\n title: \"> 60 days ago\",\n description: \"> 60 days\",\n status: moment(new Date()).add(-60, 'day').format('MM/DD/YYYY'),\n value: 60\n }\n ]\n },\n {\n id: \"lastCoaching_filter\",\n objectName: \"lastAppointmentCompletedHealthCoachDate\",\n title: \"Last Coaching Visit\",\n description: \"since last Coaching Visit (of any kind)\",\n options: [\n {\n optionId: 1,\n title: \"> 10 days ago\",\n description: \"> 10 days\",\n status: moment(new Date()).add(-10, 'day').format('MM/DD/YYYY'),\n value: 10\n },\n {\n optionId: 2,\n title: \"> 20 days ago\",\n description: \"> 20 days\",\n status: moment(new Date()).add(-20, 'day').format('MM/DD/YYYY'),\n value: 20\n },\n {\n optionId: 3,\n title: \"> 30 days ago\",\n description: \"> 30 days\",\n status: moment(new Date()).add(-30, 'day').format('MM/DD/YYYY'),\n value: 30\n },\n {\n optionId: 4,\n title: \"> 60 days ago\",\n description: \"> 60 days\",\n status: moment(new Date()).add(-60, 'day').format('MM/DD/YYYY'),\n value: 60\n }\n ]\n },\n {\n id: \"lastAppointment_filter\",\n objectName: \"lastAppointment\",\n title: \"Last Appointment (any type)\",\n description: \"since last appointment (of any type)\",\n options: [\n {\n optionId: 1,\n title: \"> 10 days ago\",\n description: \"> 10 days\",\n status: moment(new Date()).add(-10, 'day').format('MM/DD/YYYY'),\n value: 10\n },\n {\n optionId: 2,\n title: \"> 20 days ago\",\n description: \"> 20 days\",\n status: moment(new Date()).add(-20, 'day').format('MM/DD/YYYY'),\n value: 20\n },\n {\n optionId: 3,\n title: \"> 30 days ago\",\n description: \"> 30 days\",\n status: moment(new Date()).add(-30, 'day').format('MM/DD/YYYY'),\n value: 30\n },\n {\n optionId: 4,\n title: \"> 60 days ago\",\n description: \"> 60 days\",\n status: moment(new Date()).add(-60, 'day').format('MM/DD/YYYY'),\n value: 60\n }\n ]\n },\n {\n id: \"hasFUMDScheduled_filter\",\n objectName: \"hasFollowUpMedicalScheduled\",\n title: \"FUMD visit scheduled\",\n description: \"\",\n options: [\n {\n optionId: 1,\n title: \"Has a FUMD visit scheduled\",\n description: \"Any patients with a FUMD visit scheduled\",\n status: 1,\n value: 1\n },\n ]\n },\n {\n id: \"renewal_filter\",\n objectName: \"activePlan\",\n title: \"Plan Renewal Date\",\n description: \"until patients plan is due a renewal\",\n options: [\n {\n optionId: 1,\n title: \"< 30 days from today\",\n description: \"< 30 days\",\n status: moment(new Date()).add(30, 'day').format('MM/DD/YYYY'),\n value: 30\n },\n {\n optionId: 2,\n title: \"< 60 days from today\",\n description: \"< 60 days\",\n status: moment(new Date()).add(60, 'day').format('MM/DD/YYYY'),\n value: 60\n }\n ]\n },\n {\n id: \"noImcScheduled_filter\",\n objectName: \"daysSinceHealthCoachAndNoImcScheduled\",\n title: \"Days since ICC without IMC Scheduled\",\n description: \"since ICC without an IMC scheduled\",\n options: [\n {\n optionId: 1,\n title: \"> 30 days\",\n description: \"> 30 days\",\n status: 30,\n value: 30\n },\n {\n optionId: 2,\n title: \"> 45 days\",\n description: \"> 45 days\",\n status: 45,\n value: 45\n },\n {\n optionId: 3,\n title: \"> 60 days\",\n description: \"> 60 days\",\n status: 60,\n value: 60\n }\n ]\n },\n {\n id: \"noIccScheduled_filter\",\n objectName: \"daysSinceSignUpAndNoIccScheduled\",\n title: \"Days since Sign Up without ICC scheduled\",\n description: \"since signup without an ICC schedule\",\n options: [\n {\n optionId: 1,\n title: \"> 5 days\",\n description: \"> 5 days\",\n status: 5,\n value: 5\n },\n {\n optionId: 2,\n title: \"> 10 days\",\n description: \"> 10 days\",\n status: 10,\n value: 10\n },\n {\n optionId: 3,\n title: \"> 20 days\",\n description: \"> 20 days\",\n status: 20,\n value: 20\n },\n {\n optionId: 4,\n title: \"> 30 days\",\n description: \"> 30 days\",\n status: 30,\n value: 30\n }\n ]\n },\n {\n id: \"tags_filter\",\n objectName: \"tags\",\n title: \"Tags\",\n description: \"tag\",\n options: []\n },\n {\n id: \"planName_filter\",\n objectName: \"activePlan\",\n title: \"Plans\",\n description: \"Plan\",\n options: []\n }\n ]\n },\n filteredTitle: '',\n sortingColumns: [\n {\n title: 'Patient Info',\n source: SortingSource.patientName,\n direction: SortingDirection.Asc,\n object: SortingObject.FirstName,\n },\n {\n title: 'Start Date',\n source: SortingSource.StartDate,\n direction: SortingDirection.Desc,\n object: SortingObject.StartDate,\n },\n {\n title: 'Plan Name',\n source: SortingSource.Name,\n direction: SortingDirection.Asc,\n object: SortingObject.ActivePlan\n },\n {\n title: 'Last message',\n source: SortingSource.SendDate,\n direction: SortingDirection.Desc,\n object: SortingObject.LastMessage\n },\n {\n title: 'Last visit',\n source: SortingSource.StartDate,\n direction: SortingDirection.Desc,\n object: SortingObject.LastAppointment\n },\n {\n title: 'Upcoming visit',\n source: SortingSource.StartDate,\n direction: SortingDirection.Desc,\n object: SortingObject.NextAppointment\n }\n ],\n sortingSource: SortingSource.None,\n activeSource: SortingSource.None,\n page: 0,\n rowsPerPage: pageSizes[0],\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[0],\n options: [],\n selectedFilterId: null,\n selectedOptionId: null,\n selectedFilter: null,\n selectedOption: null\n } as ManageMyPatientsState);\n\n const setPatients = (patients: MyPatientModel[]) => {\n const tempPatients = state.selectedFilter?.id === \"lastUnansweredMessage_filter\" ? patients.filter(patient => patient.lastMessage.sentByRole === \"From Patient\") : patients;\n setState((state) => {\n return {\n ...state,\n isLoading: false,\n patients: tempPatients,\n totalCount: tempPatients.length,\n }\n });\n }\n\n const handleToggleFilters = (event?: React.MouseEvent) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n state.filtersState.isOpen = !state.filtersState.isOpen;\n state.filtersState.anchorEl = anchorEl;\n setState(state => ({ ...state }));\n }\n\n const updateMyPatientsFromFilter = () => {\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n patientsService.getMyPatients(getCurrentFilterModel()).subscribe((patients) => setPatients(patients), cb);\n }\n\n const getCurrentFilterModel = () => {\n const filter: MyPatientsFilterModel = {\n employeeId: authQuery.getEmployeeId(),\n lastAppointmentGreaterThanDaysAgo: null,\n lastCoachingVisitGreaterThanDaysAgo: null,\n lastMessageSentGreaterThanDaysAgo: null,\n daysSinceIccWithoutImcScheduledFromToday: null,\n daysSinceSignUpWithoutIccScheduledFromToday: null,\n planRenewalDateLessThanDaysFromToday: null,\n includesTags: [],\n planName: null,\n hasFollowUpMedicalScheduled: null\n };\n\n if (state.selectedFilter?.id === \"lastMessage_filter\" || state.selectedFilter?.id === \"lastUnansweredMessage_filter\") {\n filter.lastMessageSentGreaterThanDaysAgo = state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"lastAppointment_filter\") {\n filter.lastAppointmentGreaterThanDaysAgo = state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"renewal_filter\") {\n filter.planRenewalDateLessThanDaysFromToday = state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"tags_filter\") {\n filter.includesTags = [state.selectedOption.valueString];\n }\n\n if (state.selectedFilter?.id === \"lastCoaching_filter\") {\n filter.lastCoachingVisitGreaterThanDaysAgo = state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"noImcScheduled_filter\") {\n filter.daysSinceIccWithoutImcScheduledFromToday = state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"noIccScheduled_filter\") {\n filter.daysSinceSignUpWithoutIccScheduledFromToday = state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"hasFUMDScheduled_filter\") {\n filter.hasFollowUpMedicalScheduled = !!state.selectedOption.value;\n }\n\n if (state.selectedFilter?.id === \"planName_filter\") {\n filter.planName = state.selectedOption.valueString;\n }\n\n return filter;\n };\n\n const handleFilterSelect = (filterId: string) => {\n const selectedFilter = state.filtersState.filters.find(filter => filter.id === filterId);\n if (selectedFilter) {\n setState({\n ...state,\n selectedFilterId: filterId,\n selectedFilter: selectedFilter,\n options: selectedFilter.options,\n selectedOptionId: null,\n selectedOption: null,\n })\n }\n }\n\n const handleApplyFilters = () => {\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n updateMyPatientsFromFilter();\n handleToggleFilters();\n }\n\n const handleOptionSelect = (optionId: number) => {\n const selectedOption = state.options.find(o => o.optionId === optionId);\n if (selectedOption) {\n state.filteredTitle = [selectedOption.description, state.selectedFilter.description].join(\" \").trim();\n setState({\n ...state,\n selectedPage: 1,\n selectedOptionId: optionId,\n selectedOption: selectedOption,\n })\n }\n }\n\n const handleClearFilters = () => {\n setState(state => ({\n ...state,\n filteredTitle: '',\n selectedPage: 1,\n selectedFilter: null,\n selectedFilterId: null,\n selectedOption: null,\n selectedOptionId: null,\n }));\n setPatients(state.originalPatients)\n }\n\n const handleSearchSubmit = (query: string) => {\n const searchQuery = query ?? '';\n handleClearFilters();\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const trimedSearch = decodeURIComponent(searchQuery).trim().toLowerCase();\n const arrayTrimSearchKey = trimedSearch.split(' ');\n\n const filteredPatients = state.originalPatients?.filter(\n (p) =>\n arrayTrimSearchKey.find((item) =>\n p.firstName?.toLowerCase().includes(item)\n ) !== undefined ||\n arrayTrimSearchKey.find((item) =>\n p.lastName?.toLowerCase().includes(item)\n ) !== undefined ||\n arrayTrimSearchKey.find((item) =>\n p.email?.toLowerCase().includes(item)\n ) !== undefined ||\n arrayTrimSearchKey.find((item) =>\n p.patientId?.toString().toLowerCase().includes(item)\n ) !== undefined\n );\n setPatients(filteredPatients)\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n selectedPage: page\n }));\n }\n\n const setDirection = (active: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.object === active);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({\n ...state,\n columns: state.sortingColumns\n }));\n }\n\n const handleSorting = (active: string, source: string, direction: SortingDirection, object?: string | null) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(active, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n activeSource: active,\n patients: state.patients.sort((p1, p2) => handleCompare(p1, p2, direction, source, object))\n }));\n }\n\n useEffect(() => {\n if (state.selectedOption) {\n handleApplyFilters();\n \n Track(\"my_patients_filter_applied\", {\n filter_type: state.selectedFilter.title,\n filter: state.selectedOption.description,\n platform: PlatformName()\n })\n }\n }, [state.selectedOption])\n\n const useEffectCB = () => {\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n patientsService.getMyPatients(getCurrentFilterModel()).subscribe((patients) => {\n const tags = patients.reduce((prev, next) => {\n const tagsToAdd = next.tags.filter(item => !prev.includes(item.name)).map(item => item.name)\n return [...prev, ...tagsToAdd]\n }, []);\n const planNames = patients.reduce((prev, next) => {\n const planNameToAdd = next.activePlan.name;\n return prev.includes(planNameToAdd) ? prev : [planNameToAdd, ...prev]\n }, []);\n if (tags.length) {\n const options = tags.map((tag, index) => {\n const option = {} as FilterOptionsViewModel;\n option['optionId'] = index + 1;\n option['status'] = option['title'] = option['description'] = option['value'] = option['valueString'] = tag;\n return option;\n })\n state.filtersState.filters.forEach(filter => {\n if (filter.id === \"tags_filter\") {\n filter.options = options;\n }\n });\n }\n if (planNames.length) {\n const options = planNames.map((planName, index) => {\n const option = {} as FilterOptionsViewModel;\n option['optionId'] = index + 1;\n option['status'] = option['title'] = option['description'] = option['value'] = option['valueString'] = planName;\n return option;\n })\n state.filtersState.filters.forEach(filter => {\n if (filter.id === \"planName_filter\") {\n filter.options = options;\n }\n });\n }\n setState({\n ...state,\n isLoading: false,\n patients: patients,\n originalPatients: patients,\n totalCount: patients.length\n });\n }, cb);\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleToggleFilters,\n handleClearFilters,\n handleSearchSubmit,\n handleSorting,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleFilterSelect,\n handleOptionSelect,\n ];\n}","import './ShortcutGroupsListComponent.scss';\nimport React from \"react\";\nimport { Box, List, ListItem, ListItemIcon, ListItemText, ListItemSecondaryAction } from \"@material-ui/core\";\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport SearchIcon from \"@material-ui/icons/Search\";\nimport placeholderImg from \"@img/placeholders/EmptyReport.png\";\nimport { useFacade } from \"./shortcutGroupsListComponent.hooks\";\nimport { useStyles, SearchTextField } from \"./shortcutGroupsListComponent.styles\";\nimport { ShortcutGroupModel } from \"../../../models/shortcut.models\";\nimport { WildHealthPlaceHolderBase } from '../../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\n\ninterface ShortcutGroupsListComponentProps {\n groups: ShortcutGroupModel[];\n}\n\nexport const ShortcutGroupsListComponent: React.FC = (props: ShortcutGroupsListComponentProps) => {\n const {\n groups,\n } = props;\n\n const [\n {\n expanded,\n selectedShortcut,\n filteredGroup\n },\n handleGroupClick,\n handleShortcutClick,\n renderGroupIcon,\n handleFiltering\n ] = useFacade(groups);\n\n const classes = useStyles();\n\n const renderList = () => {\n return (\n \n {\n filteredGroup.map((group, index) =>\n
\n handleGroupClick(group)}\n key={index}\n button\n >\n \n {renderGroupIcon(group)}\n \n {group.name}} />\n {\n group.shortcuts.length > 0 && \n \n {!expanded.includes(group.id) ? : }\n \n }\n \n {\n expanded.includes(group.id) &&\n \n {\n group.shortcuts.map((shortcut) =>\n handleShortcutClick(shortcut)}\n key={`shortcut-${shortcut.id}`}\n button\n >\n \n \n \n )\n }\n \n }\n
\n )\n }\n
\n
\n )\n }\n\n return (\n \n \n ) =>\n handleFiltering(e.target.value)\n }\n placeholder=\"Search\"\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: ,\n }}\n />\n \n {filteredGroup.length > 0 ? renderList() : (\n \n \n \n \n \n \n \n )}\n \n )\n};","import React, { useState, useEffect, useCallback } from \"react\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { Subscription } from \"rxjs\";\nimport { ReactComponent as FolderOpenIcon } from '@img/icons/FolderOpen.svg';\nimport { ReactComponent as EllipseIcon } from '@img/icons/Ellipse1.svg';\nimport { ShortcutGroupModel, ShortcutModel } from \"../../../models/shortcut.models\";\nimport { shortcutsQuery, shortcutsStore } from \"../../../stores/shortcutsStore\";\nimport { colors } from \"../../../../common/constants/colors\";\n\ninterface ShortcutGroupsListComponentState {\n expanded: number[];\n selectedShortcut: ShortcutModel;\n search: string;\n filteredGroup: ShortcutGroupModel[];\n}\n\nexport function useFacade(groups: ShortcutGroupModel[]): [\n ShortcutGroupsListComponentState,\n (group: ShortcutGroupModel) => void,\n (shortcut: ShortcutModel) => void,\n (group: ShortcutGroupModel) => JSX.Element,\n (search: string) => void] {\n\n const [state, setState] = useState({\n expanded: [],\n selectedShortcut: null,\n search: '',\n filteredGroup: []\n } as ShortcutGroupsListComponentState);\n\n const handleGroupClick = (group: ShortcutGroupModel) => {\n const indexOf = state.expanded.indexOf(group.id);\n if (indexOf >= 0) {\n const expanded = state.expanded.slice();\n expanded.splice(indexOf, 1);\n setState({\n ...state,\n expanded: expanded\n });\n } else {\n const expanded = state.expanded.slice();\n expanded.push(group.id);\n setState({\n ...state,\n expanded\n });\n }\n }\n\n const handleShortcutClick = (shortcut: ShortcutModel) => {\n shortcutsStore.setTargetShortcut(shortcut);\n }\n\n const renderGroupIcon = (group: ShortcutGroupModel) => {\n if (!group.shortcuts.length) {\n return \n }\n if (state.selectedShortcut && state.expanded.includes(group.id) && group.id === state.selectedShortcut.groupId) {\n return \n }\n\n return \n }\n\n const handleFiltering = useCallback((search: string) => {\n const trimedSearch = decodeURIComponent(search).trim().toLowerCase();\n const arrayTrimSearchKey = trimedSearch.split(' ');\n\n let filtered = groups?.filter(g => arrayTrimSearchKey.find(item => g.name?.toLowerCase().includes(item)) !== undefined);\n\n setState(state => ({ ...state, search: search, filteredGroup: filtered }));\n }, [groups]);\n\n useEffect(() => {\n handleFiltering(state.search);\n\n return () => { };\n }, [handleFiltering]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(shortcutsQuery.targetShortcut$, targetShortcut => {\n setState(state => ({\n ...state,\n selectedShortcut: targetShortcut\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleGroupClick, handleShortcutClick, renderGroupIcon, handleFiltering];\n}","import React from 'react';\nimport { WildHealthTabControl } from \"../../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { TabItem } from \"../../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useStylesFullWidthTabs } from '../../../../common/components/wildHealthTabControl/wildHealthTabControl.styles';\nimport { useFacade } from \"./shortcutTabsComponent.hooks\";\nimport { ShortcutGroupsListComponent } from '../shortcutGroupsListComponent/ShortcutGroupsListComponent';\n\nexport const ShortcutTabsComponent: React.FC = () => {\n const tabsStyles = useStylesFullWidthTabs();\n const [\n {\n selectedTab,\n groups\n },\n handleChangeTab,\n ] = useFacade();\n\n const globalGroups = groups.filter(i => !i.isPersonal);\n const personalGroups = groups.filter(i => i.isPersonal);\n\n const tabs: TabItem[] = [\n {\n title: `Global Shortcuts`,\n content: (\n \n ),\n keepMounted: true,\n },\n {\n title: `Personal Shortcuts`,\n content: (\n \n ),\n keepMounted: true,\n },\n ];\n\n return (\n \n )\n};\n","import { useEffect, useState } from 'react';\nimport { Subscription } from 'rxjs';\nimport { onEmit } from '../../../../common/helpers/on-emit';\nimport { ShortcutGroupModel, ShortcutModel } from '../../../models/shortcut.models';\nimport { shortcutsQuery, shortcutsStore } from '../../../stores/shortcutsStore';\n\ninterface ShortcutTabsComponentState {\n selectedTab: number;\n targetShortcut: ShortcutModel;\n groups: ShortcutGroupModel[];\n}\n\n\nexport function useFacade(): [\n ShortcutTabsComponentState,\n (tab: number) => void,\n] {\n const [state, setState] = useState({\n selectedTab: 0,\n targetShortcut: null,\n groups: [],\n } as ShortcutTabsComponentState);\n\n const handleChangeTab = (tab: number) => {\n shortcutsStore.setTab(tab);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(shortcutsQuery.groups$, groups => {\n setState(state => ({\n ...state,\n groups\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe());\n };\n }, []);\n\n return [\n state,\n handleChangeTab,\n ];\n}","import React from 'react';\nimport {\n Box,\n FormControl,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField\n} from \"@material-ui/core\";\nimport placeholderImg from \"@img/placeholders/EmptyReport.png\";\nimport { useStyles } from './manageShortcutsComponent.styles';\nimport { useFacade } from \"./manageShortcutsComponent.hooks\";\nimport { PermissionType } from \"../../../../auth/models/auth.enums\";\nimport { ProtectedElement } from \"../../../../common/components/ProtectedElement\";\nimport WildHealthLinearProgress from '../../../../common/components/WildHealthLinearProgress';\nimport { CreateShortcutComponent } from \"../../../components/shortcuts/createShortcutComponent/CreateShortcutComponent\";\nimport { CreateShortcutGroupComponent } from \"../../../components/shortcuts/createShortcutGroupComponent/CreateShortcutGroupComponent\";\nimport { ShortcutAuditInformationComponent } from \"../../../components/shortcuts/shortcutAuditInformationComponent/ShortcutAuditInformationComponent\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthPlaceHolderBase } from '../../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\nimport { ShortcutTabsComponent } from '../ShortcutTabsComponent/ShortcutTabsComponent';\n\nexport const ManageShortcutsComponent: React.FC = () => {\n const [\n {\n isLoading,\n groups,\n errors,\n targetShortcut,\n createShortcut,\n createShortcutGroup,\n isSaving,\n isDeleting\n },\n handleShortcutCreate,\n handleShortcutCreated,\n handleShortcutGroupCreate,\n handleShortcutGroupCreated,\n handleChanges,\n handleSaveChanges,\n handleShortcutDelete\n ] = useFacade();\n\n const classes = useStyles();\n\n if (isLoading) {\n return \n }\n\n const renderGroupsList = () => {\n return (\n \n \n \n )\n }\n\n return (\n \n {renderGroupsList()}\n \n \n {targetShortcut && targetShortcut.displayName}\n \n handleShortcutGroupCreate()}\n >\n Create Shortcut Group \n \n handleShortcutCreate()}\n >\n Create Shortcut \n \n }\n permissions={[PermissionType.Shortcuts]}\n />\n \n {\n targetShortcut \n ? \n \n \n \n Label\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n \n Search term\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n \n Group\n \n \n handleChanges('groupId', (v.target.value) as string)}>\n {\n groups.map((group) => {\n return \n {group.name}\n \n })\n }\n \n {errors['groupId']}\n \n \n \n \n \n \n \n Shortcut content\n \n {\n handleChanges(v.target.id, v.target.value)\n }}>\n \n \n \n \n \n \n \n handleSaveChanges()}\n >\n Save \n \n handleShortcutDelete()}\n >\n Delete \n \n \n \n \n }\n defaultContent={\n \n \n \n LABEL\n \n {targetShortcut?.displayName ?? ''}\n \n \n \n \n \n Search term\n \n {targetShortcut?.name ?? ''}\n \n \n \n \n \n Group\n \n {groups.find(g => g.id === targetShortcut?.groupId)?.name ?? ''}\n \n \n \n \n \n Shortcut content\n \n {targetShortcut?.content ?? ''}\n \n \n \n \n }\n permissions={[PermissionType.Shortcuts]}\n />\n \n \n \n \n : \n \n \n \n \n }\n \n handleShortcutCreated()}\n handleSubmit={() => handleShortcutCreated()} />\n\n handleShortcutGroupCreated()}\n handleSubmit={() => handleShortcutGroupCreated()}\n />\n \n )\n};\n","\nimport { useEffect, useState } from \"react\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { Subscription } from \"rxjs\";\nimport { shortcutsQuery, shortcutsStore } from \"../../../stores/shortcutsStore\";\nimport { ShortcutGroupModel, ShortcutModel, UpdateShortcutModel } from \"../../../models/shortcut.models\";\nimport { shortcutsService } from \"../../../services/shortcuts.service\";\nimport { IErrorState } from \"../../../../common/validation/error-state\";\nimport { manageShortcutsComponentValidator } from \"./manageShortcutsComponent.validator\";\nimport { confirmService } from \"../../../../../services/confirm.service\";\n\n/**\n * Represents Manage Shortcuts Page state\n */\ninterface ManageShortcutsPageState extends IErrorState {\n isLoading: boolean;\n groups: ShortcutGroupModel[];\n targetGroup: ShortcutGroupModel | null;\n targetShortcut: ShortcutModel | null;\n createShortcut: boolean;\n createShortcutGroup: boolean;\n isSaving: boolean;\n isDeleting: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for Manage shortcuts page\n */\nexport function useFacade(): [\n ManageShortcutsPageState,\n () => void,\n () => void,\n () => void,\n () => void,\n (key: string, value: string) => void,\n () => void,\n () => void] {\n\n const [state, setState] = useState({\n isLoading: true,\n groups: [],\n errors: {},\n targetGroup: null,\n targetShortcut: null,\n createShortcut: false,\n createShortcutGroup: false,\n isSaving: false,\n isDeleting: false\n } as ManageShortcutsPageState);\n\n const handleShortcutCreate = () => {\n setState({\n ...state,\n createShortcut: true\n });\n }\n\n const handleShortcutCreated = () => {\n setState(state => ({\n ...state,\n createShortcut: false\n }));\n }\n\n const handleShortcutGroupCreate = () => {\n setState({\n ...state,\n createShortcutGroup: true\n });\n }\n\n const handleShortcutGroupCreated = () => {\n setState(state => ({\n ...state,\n createShortcutGroup: false\n }));\n }\n\n const handleChanges = (key: string, value: string) => {\n if (!state.targetShortcut) {\n return;\n }\n\n state.targetShortcut[key] = value;\n setState({\n ...state,\n targetShortcut: Object.assign({}, state.targetShortcut)\n });\n\n manageShortcutsComponentValidator.validateAndSetState(state, setState, key, value);\n }\n\n\n\n const handleSaveChanges = () => {\n if (!manageShortcutsComponentValidator.stateIsValid(state)) {\n return;\n }\n\n if (!state.targetShortcut) {\n return;\n }\n\n setState(state => ({ ...state, isSaving: true }));\n const cb = () => setState(state => ({ ...state, isSaving: false }));\n\n const model: UpdateShortcutModel = {\n id: state.targetShortcut.id,\n groupId: state.targetShortcut.groupId,\n name: state.targetShortcut.name,\n content: state.targetShortcut.content,\n displayName: state.targetShortcut.displayName\n }\n\n shortcutsService.updateShortcut(model).subscribe((shortcut: ShortcutModel) => {\n cb();\n updateTargetShortcut(shortcut);\n }, cb)\n }\n\n const handleShortcutDelete = () => {\n if (!state.targetShortcut) {\n return;\n }\n\n confirmService.confirm(`Are you sure you want to delete ${state.targetShortcut.name} shortcut?`).subscribe(() => {\n setState(state => ({...state, isDeleting: true }))\n const cb = () => setState(state => ({...state, isDeleting: false }))\n shortcutsService.deleteShortcut(state.targetShortcut.id).subscribe((shortcut: ShortcutModel) => {\n if (state.targetShortcut && state.targetShortcut.id === shortcut.id) {\n cb();\n shortcutsStore.resetTargetShortcut();\n }\n }, cb);\n })\n }\n const updateTargetShortcut = (shortcut: ShortcutModel) => {\n if (state.targetShortcut.id && state.targetShortcut.id === shortcut.id) {\n setState(state => ({\n ...state,\n targetShortcut: shortcut\n }));\n }\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n shortcutsStore.reset();\n const subscriptions: Subscription[] = [\n onEmit(shortcutsQuery.groups$, groups => {\n setState(state => ({\n ...state,\n groups\n }));\n }),\n onEmit(shortcutsQuery.targetShortcut$, targetShortcut => {\n setState(state => ({\n ...state,\n targetShortcut\n }));\n })\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n shortcutsService.get().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleShortcutCreate, handleShortcutCreated, handleShortcutGroupCreate, handleShortcutGroupCreated, handleChanges, handleSaveChanges, handleShortcutDelete];\n}","import React from 'react';\nimport { Box } from \"@material-ui/core\";\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageShortcutsComponent } from \"../../components/shortcuts/manageShortcutsComponent/ManageShortcutsComponent\";\n\nexport const ManageShortcutsPage: React.FC = () => {\n\n return (\n \n \n \n \n \n )\n}","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n width: 260,\n borderColor: colors.gray4,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n avatar: {\n minWidth: 24,\n width: 24,\n height: 24,\n backgroundColor: colors.gray4,\n color: colors.gray1,\n fontSize: 12,\n },\n avatarPreparing: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.gray1,\n borderRadius: '50%',\n },\n avatarGood: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.good,\n borderRadius: '50%',\n },\n avatarOrange: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.average1,\n borderRadius: '50%',\n },\n avatarDanger: {\n minWidth: 6,\n width: 6,\n height: 6,\n backgroundColor: colors.bad,\n borderRadius: '50%',\n },\n avatarNA: {\n minWidth: 6,\n width: 6,\n height: 6,\n borderRadius: '50%',\n border: `1px solid ${colors.mediumGray}`,\n },\n avatarEmpty: {\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n minWidth: 24,\n width: 24,\n height: 24,\n fontSize: 11,\n borderRadius: '50%',\n background: '#F6F8FB',\n color: colors.gray1,\n marginRight: 12\n },\n customTooltip: {\n backgroundColor: colors.lightBlack,\n padding: 12,\n fontSize: 14,\n },\n arrow: {\n color: colors.lightBlack,\n },\n icon: {\n fill: colors.main,\n },\n selectInput: {\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n },\n link: {\n textDecoration: 'none',\n \"&:hover\": {\n color: colors.main,\n cursor: 'pointer',\n }\n },\n}));\n","import { StatusChangeLogModel } from \"../../common/models/statusChangeLog.model\";\nimport { AddOnModel } from './addOns.models';\n\nexport enum PatientAddonStatus {\n Preparing = 0,\n InProgress = 5,\n Completed = 10,\n Failed = 15\n}\n\nexport interface PatientAddOnModel {\n id: number;\n date: Date;\n status: PatientAddonStatus;\n addOn: AddOnModel;\n bill: AddOnBillModel;\n orderId: number;\n orderNumber: string;\n statusLogs: StatusChangeLogModel[];\n}\n\nexport interface AddOnBillModel {\n isPaid: boolean;\n paymentDate: Date | null;\n}\n\nexport interface ChangePatientAddOnStatusModel {\n id: number;\n patientId: number;\n status: PatientAddonStatus;\n}\n\nexport interface BuyPatientAddOnModel {\n patientId: number;\n addOnId: number;\n}\n\nexport interface PatientAddOnsModel {\n name: string;\n status: string;\n}","import { PatientAddonStatus } from \"../models/patientAddOn.models\";\n\nexport const patientAddOnsStatuses: { [status: number]: string } = {\n [PatientAddonStatus.Preparing]: 'Preparing',\n [PatientAddonStatus.InProgress]: 'In Progress',\n [PatientAddonStatus.Completed]: 'Completed',\n [PatientAddonStatus.Failed]: 'Failed',\n}\n\nexport class AddOnNames {\n static readonly InitialLabWork: string = \"InitialLabWork\";\n static readonly FollowUpLabWork: string = \"FollowUpLabWork\";\n static readonly Dna: string = \"Dna\";\n}\n\nexport const AddOnLabels: { [name: string]: string } = {\n [AddOnNames.InitialLabWork]: \"Initial Labwork\",\n [AddOnNames.FollowUpLabWork]: \"Follow-up Labs\",\n [AddOnNames.Dna]: \"DNA\",\n};","import {\n Box,\n Button,\n Popover,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableRow,\n TableSortLabel,\n Tooltip,\n Grid,\n FormControl,\n Select,\n MenuItem,\n IconButton,\n} from '@material-ui/core';\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport CheckIcon from '@material-ui/icons/Check';\nimport CloseIcon from '@material-ui/icons/Close';\nimport moment from \"moment\";\nimport React from 'react';\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { EmployeeCoachProviderShortModel, PatientTagModel, TagSentiment } from '../../../patients/models/patient.model';\nimport { SortingObject, useFacade } from './manageMyPatientsComponent.hooks';\nimport { useStyles } from './manageMyPatientsComponent.styles';\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { colors } from '../../../common/constants/colors';\nimport { fullName } from '../../../common/helpers/display-name';\nimport clsx from 'clsx';\nimport { PatientAppointmentShortModel } from '../../../appointments/models/appointments.models';\nimport { PatientLocationModel } from '../../../locations/models/locations.models';\nimport { PatientSubscriptionModel } from '../../../payment/models/subscription.models';\nimport { PatientAddOnsModel } from '../../../addons/models/patientAddOn.models';\nimport { LastConversationModel } from '../../../conversations/models/conversation.models';\nimport { AddOnLabels, AddOnNames } from '../../../addons/constants/patientAddOn.constants';\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { navigationService } from '../../../../services/navigation.service';\nimport { WildHealthStatusLabel } from '../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel';\n\nconst filtersPopoverProps: any = {\n id: \"notificationsPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n },\n};\n\nexport const ManageMyPatientsComponent: React.FC = () => {\n const [\n {\n isLoading,\n patients,\n filtersState,\n filteredTitle,\n sortingColumns,\n activeSource,\n totalCount,\n pageSize,\n selectedPage,\n selectedFilter,\n options,\n selectedOption,\n selectedFilterId,\n selectedOptionId,\n },\n handleToggleFilters,\n handleClearFilters,\n handleSearchSubmit,\n handleSorting,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleFilterSelect,\n handleOptionSelect,\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const emptyAvaPlaceholder = () => {\n return -\n }\n\n const renderPod = (pod: PatientLocationModel | null) => {\n if (pod.hoverText !== '-') {\n return \n Pd\n \n }\n\n return emptyAvaPlaceholder();\n }\n\n const displayHealthCoach = (healthCoach: EmployeeCoachProviderShortModel) => {\n if (healthCoach.hoverText !== '-') {\n return \n HC\n \n }\n return emptyAvaPlaceholder();\n }\n\n const displayProvider = (provider: EmployeeCoachProviderShortModel) => {\n if (provider.hoverText !== '-') {\n return \n Pr\n \n }\n return emptyAvaPlaceholder();\n }\n\n const renderCanceledPlan = () => {\n return Canceled\n }\n\n const renderSubscription = (activePlan: PatientSubscriptionModel | null) => {\n if (activePlan.status === \"Active\") {\n const isRenewable = moment(toCurrentTimeZone(new Date(activePlan.renewalDate))) < moment(new Date()).add(1, 'month');\n return <>\n \n {activePlan.name}\n \n \n {`Renew: ${moment(toCurrentTimeZone(new Date(activePlan.renewalDate))).format('MM/DD/YYYY')}`}\n \n \n }\n return renderCanceledPlan();\n }\n\n const getStatusColor = (status) => {\n \n switch (status) {\n case 'N/A':\n return classes.avatarNA;\n case 'Preparing':\n case 'Placed':\n case 'Ordered':\n case 'Shipping':\n return classes.avatarPreparing;\n case 'In Progress':\n return classes.avatarOrange;\n case 'Failed':\n return classes.avatarDanger;\n default: return classes.avatarGood;\n }\n }\n\n const renderAddOns = (addOns: PatientAddOnsModel[]) => {\n if (addOns.length) {\n const initialLab = addOns.find(x => x.name === AddOnNames.InitialLabWork)\n const followUpLab = addOns.find(x => x.name === AddOnNames.FollowUpLabWork)\n const dna = addOns.find(x => x.name === AddOnNames.Dna)\n return <>\n {initialLab && (\n \n {AddOnLabels[initialLab.name]}:\n \n \n {initialLab.status}\n \n \n )}\n {dna && (\n \n {AddOnLabels[dna.name]}:\n \n \n {dna.status}\n \n \n )}\n {followUpLab && (\n \n {AddOnLabels[followUpLab.name]}:\n \n \n {followUpLab.status}\n \n \n )}\n\n \n }\n return '-';\n }\n\n const renderLastMessage = (lastMessage: LastConversationModel) => {\n if (lastMessage.sentDate) {\n return <>\n \n {moment(toCurrentTimeZone(lastMessage.sentDate)).fromNow()}\n \n \n {lastMessage.sentByRole}\n \n \n }\n return '-';\n }\n\n const renderPastAppointment = (appointment: PatientAppointmentShortModel) => {\n return <>\n \n {moment(toCurrentTimeZone(appointment.startDate)).fromNow()}\n \n \n \n \n \n {appointment.name}\n \n \n }\n\n const renderUpcomingAppointment = (appointment: PatientAppointmentShortModel) => {\n return <>\n \n {moment(toCurrentTimeZone(new Date(appointment.startDate))).format('MM/DD/YYYY')}\n \n \n {appointment.name}\n \n \n }\n\n const renderTagColor = (tag: PatientTagModel) => {\n if (tag.name.toLowerCase().includes('due')) {\n return \"bad\";\n }\n switch (tag.sentiment) {\n case TagSentiment.Danger: return \"bad\";\n case TagSentiment.Success: return \"good\";\n case TagSentiment.Warning: return \"average1\";\n case TagSentiment.Normal:\n default: return \"normal\";\n }\n }\n\n const renderTable = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && (!patients || !patients.length)) {\n return \n }\n\n const patientNameSorting = sortingColumns.find(x => x.object === SortingObject.FirstName.toString());\n const startDateSorting = sortingColumns.find(x => x.object === SortingObject.StartDate.toString());\n const activePlanSorting = sortingColumns.find(x => x.object === SortingObject.ActivePlan.toString());\n const lastMessageSorting = sortingColumns.find(x => x.object === SortingObject.LastMessage.toString());\n const lastVisitSorting = sortingColumns.find(x => x.object === SortingObject.LastAppointment.toString());\n const upcomingVisitSorting = sortingColumns.find(x => x.object === SortingObject.NextAppointment.toString());\n\n return (\n <>\n \n \n \n \n \n handleSorting(patientNameSorting.object, patientNameSorting.source, patientNameSorting.direction)}\n >\n Patient Info\n \n \n \n handleSorting(activePlanSorting.object, activePlanSorting.source, activePlanSorting.direction, activePlanSorting.object)}\n >\n Plan Name\n \n \n \n Add-ons\n \n \n handleSorting(startDateSorting.object, startDateSorting.source, startDateSorting.direction)}\n >\n Start Date\n \n \n \n handleSorting(lastMessageSorting.object, lastMessageSorting.source, lastMessageSorting.direction, lastMessageSorting.object)}\n >\n Last message\n \n \n \n handleSorting(lastVisitSorting.object, lastVisitSorting.source, lastVisitSorting.direction, lastVisitSorting.object)}\n >\n Last visit\n \n \n \n handleSorting(upcomingVisitSorting.object, upcomingVisitSorting.source, upcomingVisitSorting.direction, upcomingVisitSorting.object)}\n >\n Upcoming visit\n \n \n \n Tags\n \n \n \n \n {patients.slice((selectedPage - 1) * pageSize, (selectedPage - 1) * pageSize + pageSize).map((patient, index) => (\n \n \n \n \n navigationService.toNewTabManagePatientProfile(patient.patientId)}\n content={{fullName(patient)}}\n />\n \n \n {renderPod(patient.pod)}\n {displayHealthCoach(patient.healthCoach)}\n {displayProvider(patient.provider)}\n \n \n \n \n {renderSubscription(patient.activePlan)}\n \n \n {renderAddOns(patient.addOns)}\n \n \n {moment(toCurrentTimeZone(new Date(patient.startDate))).format('MM/DD/YYYY')}\n \n \n {renderLastMessage(patient.lastMessage)}\n \n \n {patient.lastAppointment.startDate ? renderPastAppointment(patient.lastAppointment) : '-'}\n \n \n {patient.nextAppointment.startDate ? renderUpcomingAppointment(patient.nextAppointment) : '-'}\n \n \n {patient.tags.length > 0 ? (\n \n {patient.tags.map((tag, index) => (\n \n {tag.name}\n \n ))}\n \n ) : '-'}\n \n \n ))}\n \n
\n
\n \n \n \n \n )\n }\n\n return (\n \n \n \n \n {PagesNamesService.myPatients}\n \n \n \n \n \n \n handleToggleFilters(event)}\n startIcon={}\n className={commonClasses.whiteButton}\n >\n {!filteredTitle ? 'Filter' : filteredTitle}\n \n \n \n\n \n {renderTable()}\n \n\n \n \n \n \n {\n if (selectedFilterId === null) {\n return \"-\";\n }\n\n return {selectedFilter.title};\n }}\n displayEmpty\n onChange={(event) => handleFilterSelect(event.target.value as string)}\n >\n {\n filtersState.filters.map((filter, index) =>\n \n \n {filter.title}\n {selectedFilterId === filter.id && }\n \n \n )\n }\n \n \n \n \n \n {\n if (selectedOptionId === null) {\n return \"-\";\n }\n\n return {selectedOption.title};\n }}\n displayEmpty\n disabled={!options.length}\n onChange={(event) => handleOptionSelect(event.target.value as number)}\n >\n {\n options.map((option, index) =>\n \n \n {option.title}\n {selectedOptionId === option.optionId && }\n \n \n )\n }\n \n \n \n handleClearFilters()}>\n \n \n \n \n \n );\n}","import React from 'react';\nimport { withRouter } from 'react-router';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageMyPatientsComponent } from '../../components/manageMyPatientsComponent/ManageMyPatientsComponent';\n\nclass MyPatientsPage extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default withRouter(MyPatientsPage);\n","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n notWhitespaceValidationRule,\n requiredValidationRule,\n functionValidationRule,\n emailValidationRule,\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const manageApiResponseComponentValidator = new GeneralValidator({\n 'userId': [requiredValidationRule()],\n 'vendor': [requiredValidationRule()],\n 'vendorId': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'practiceId': [notWhitespaceValidationRule(),requiredValidationRule()],\n 'patientId': [notWhitespaceValidationRule(),requiredValidationRule()],\n 'employeeId': [notWhitespaceValidationRule(),requiredValidationRule()],\n 'subscriptionId':[notWhitespaceValidationRule(),requiredValidationRule()],\n 'priceId' : [notWhitespaceValidationRule(),requiredValidationRule()],\n 'paymentPlanId' : [notWhitespaceValidationRule(),requiredValidationRule()],\n 'selectedStates': [functionValidationRule((value) => {\n return value;\n }, \"State should be selected.\")],\n 'name': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'displayName': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'title': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'paymentPlanTemplateId': [requiredValidationRule()],\n 'periodInMonths': [requiredValidationRule()],\n 'stripeProductId': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'desiredId': [requiredValidationRule()],\n 'email': [emailValidationRule],\n});","import Axios from 'axios-observable';\nimport { Observable } from \"rxjs\";\nimport { authHeader } from '../../common/helpers/auth-header';\nimport {BuyProductModel} from \"../../products/models/buyProduct.model\";\nimport { UpdateInsuranceStatesModel } from '../../insurance/models/insurance.models';\nimport { Track, PlatformName } from '../../tracking/tracker';\nimport { authQuery } from '../../auth/stores/auth';\nimport { UserType } from '../../auth/models/auth.enums';\nimport { ChangeSubscriptionPaymentPriceModel } from '../../payment/models/subscription.models';\n\n/**\n * Provides method for working with response for API\n */\nexport class EngineeringService {\n private authUrl = `${process.env.REACT_APP_API_URL}Auth/`;\n private usersUrl = `${process.env.REACT_APP_API_URL}Users/`;\n private identitiesUrl = `${process.env.REACT_APP_API_URL}Identities/`;\n private patientsUrl = `${process.env.REACT_APP_API_URL}Patients/`;\n private subscriptionUrl = `${process.env.REACT_APP_API_URL}Subscription/`;\n private paymentPlansUrl = `${process.env.REACT_APP_API_URL}PaymentPlans/`;\n private performanceTestsUrl = `${process.env.REACT_APP_API_URL}Technical/PerformanceTests/`;\n\n /**\n * Login on behalf Of User\n * @param model\n */\n public loginOnBehalfOfUser(userId: number, patientId: number, employeeId: number): Observable {\n const config = { headers: authHeader() };\n\n const model = { userId, patientId, employeeId };\n return new Observable(observer => {\n Axios.post(`${this.authUrl}Authenticate/OnBehalfOfUser`, model, config)\n .pipe()\n .subscribe(\n (response) => {\n Track(\"impersonate_user\", {\n requestor_user_id: authQuery.getId(),\n requestor_user_type: authQuery.getType() === UserType.Employee ? 'employee' : 'patient',\n impersonated_user_id: response.data.id,\n impersonated_user_type: response.data.type === UserType.Employee ? 'employee' : 'patient',\n impersonation_success: true,\n platform: PlatformName()\n })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n\n\n\n /**\n * Get All IntegrationId for Vendor and VendorId\n * @param vendor\n * @param vendorId\n */\n public getIntegrationInformation(vendor: number, vendorId: string): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) =>\n Axios.get(`${this.identitiesUrl}Get/${vendor}/${vendorId}`, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Change the patient to another practice id\n * @param patientId\n * @param practiceId\n */\n public changePracticeCopy(patientId:number, practiceId:number): Observable {\n const config = {headers: authHeader()};\n return new Observable((observer) => {\n Axios.post(`${this.patientsUrl}ChangePractice/${patientId}/Copy/${practiceId}`, {}, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n\n /**\n * Change the Subscriprtion price\n * @param model\n */\n public changeSubscriptionPrice(model: ChangeSubscriptionPaymentPriceModel): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.subscriptionUrl}${model.subscriptionId}/ChangeSubscriptionPaymentPrice`, model, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(!response?.data ? \"Success!\" : response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data ?? error?.response);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n /**\n * Buy the products by the patient\n * @param buyProductModel\n */\n public buyProducts(buyProductModel: BuyProductModel): Observable {\n const config = {headers: authHeader()};\n return new Observable((observer) => {\n Axios.post(`${this.patientsUrl}${buyProductModel.patientId}/BuyProducts`, buyProductModel, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n /**\n * Change the Subscriprtion candidate\n * @param patientId\n */\n public changeSubscriptionCandidate(patientId: number): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.patientsUrl}${patientId}/ChangeSubscriptionCandidate`, {}, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n\n /**\n * Get the populate payment plan recommend\n * @param recommendModel\n */\n public paymentPlanRecommend(recommendModel: any): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.paymentPlansUrl}recommend`, recommendModel, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n\n /**\n * Migrate the payment plan\n * @param migrationModel\n */\n public migratePaymentPlan(migrationModel: any): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.paymentPlansUrl}migrate`, migrationModel, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n\n /**\n * Add the Insurance state to the payment plan\n * @param updateInsuranceStatesModel\n */\n public addPaymentPlanInsuranceStates(updateInsuranceStatesModel: UpdateInsuranceStatesModel): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.paymentPlansUrl}AddPaymentPlanInsuranceStates`, updateInsuranceStatesModel, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n\n /**\n * Remove the Insurance state to the payment plan\n * @param removeInsuranceStatesModel\n */\n public removePaymentPlanInsuranceStates(removeInsuranceStatesModel: UpdateInsuranceStatesModel): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.paymentPlansUrl}RemovePaymentPlanInsuranceStates`, removeInsuranceStatesModel, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n /**\n * Performance test for the reset patient products\n * @param patientId\n */\n public resetPatientProducts(patientId: number): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.performanceTestsUrl}ResetPatientProductsCommand/${patientId}`, {}, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(!response?.data ? \"Success!\" : response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n /**\n * Performance test for the CreateDefaultPaymentPlan command\n * @param defaultPaymentPlanModel\n */\n public createDefaultPaymentPlan(defaultPaymentPlanModel: any): Observable {\n const config = {headers: authHeader()};\n\n return new Observable((observer) => {\n Axios.post(`${this.performanceTestsUrl}CreateDefaultPaymentPlanCommand`, defaultPaymentPlanModel, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n });\n }\n\n /**\n * Get the Patient Products to management\n * @param patientId\n */\n public getActivePatientProducts(patientId: number): Observable {\n const config = { headers: authHeader() };\n\n return new Observable((observer) =>\n Axios.get(`${this.patientsUrl}${patientId}/GetActivePatientProducts`, config)\n .pipe()\n .subscribe(\n response => {\n observer.next(response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n )\n );\n }\n\n /**\n * delete unspecific user\n */\n public deleteUnspecifiedUser(email: string) {\n\n const config = { headers: authHeader() };\n\n return new Observable(observer => {\n Axios.delete(`${this.usersUrl}/Careful?email=${email}`, config)\n .pipe()\n .subscribe(\n (response) => {\n observer.next(!response?.data ? 'User successfully deleted!' : response.data);\n observer.complete();\n },\n error => {\n observer.next(error?.response?.data);\n observer.error(error);\n observer.complete();\n }\n );\n });\n }\n}\n\nexport const engineeringService = new EngineeringService();\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { EmployerProductModel } from '../../models/employerProduct.model';\n\n/**\n * Represents employer Products state\n */\nexport interface EmployerProductsState {\n employerProducts: EmployerProductModel[];\n selectedEmployer: EmployerProductModel | null;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): EmployerProductsState {\n return {\n employerProducts: [],\n selectedEmployer: null\n };\n}\n\n/**\n * Provides employer Products state management\n */\n@StoreConfig({ name: 'employerProducts', resettable: true })\nexport class EmployerProductsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public addEmployer(model: EmployerProductModel) {\n this.update({ employerProducts: [...this.getValue().employerProducts, model] });\n }\n\n public updateEmployer(employerProduct: EmployerProductModel) {\n const employerProducts = this.getValue().employerProducts;\n this.update({ employerProducts: employerProducts.map(x => x.key === employerProduct.key ? employerProduct : x) });\n }\n\n public removeEmployer(key: string) {\n this.update({ employerProducts: this.getValue().employerProducts.filter(i => i.key !== key) });\n }\n}\n\nexport const employerProductsStore = new EmployerProductsStore();\n","import {useState, useEffect} from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {getLastObject} from \"../../../common/helpers/get-last-object\";\nimport {manageApiResponseComponentValidator} from \"./manageApiResponseComponent.validator\";\nimport {engineeringService} from \"../../services/engineering.service\";\nimport {authService} from \"../../../auth/services/auth.service\";\nimport {BuyProductModel} from \"../../../products/models/buyProduct.model\";\nimport { PaymentPlanModel, CreatePriceModel, InclusionModel } from \"../../../payment/models/paymentPlan.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { addressService } from \"../../../account/services/address.service\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport { StateModel } from \"../../../account/models/address.model\";\nimport { UpdateInsuranceStatesModel } from \"../../../insurance/models/insurance.models\";\nimport { SubscriptionModel } from \"../../../payment/models/subscription.models\";\nimport { PatientProductModel } from \"../../../products/models/patientProducts.model\";\nimport { UserType } from \"../../../auth/models/auth.enums\";\nimport { useHistory } from \"react-router\";\nimport { employerProductsService } from \"../../services/employerProducts.service\";\nimport { EmployerProductModel } from \"../../models/employerProduct.model\";\nimport { employerProductsQuery } from \"../../stores/employerProductsStore\";\nimport { paymentPlansQuery } from \"../../../payment/stores/paymentPlansStore\";\n\ninterface RequestParamState {\n userId: number;\n patientId:number;\n employeeId:number;\n vendor: number;\n vendorId: string;\n paymentPlanId: number;\n selectedStates: StateModel[];\n}\n\nexport interface EngineeringFiltersState {\n isLoginBehalfUserOpen: boolean;\n isIntegrationOpen: boolean;\n isChangeInsuranceStatesOpen: boolean;\n}\n\nexport enum ToolEnum {\n CHANGE_SUBSCRIPTION_PRICE = 'CHANGE_SUBSCRIPTION_PRICE',\n CHANGE_PRACTICE_COPY = 'CHANGE_PRACTICE_COPY',\n BUY_PRODUCTS = 'BUY_PRODUCTS',\n CHANGE_SUBSCRIPTION_CANDIDATE = 'CHANGE_SUBSCRIPTION_CANDIDATE',\n PAYMENT_PLANS_RECOMMEND = 'PAYMENT_PLANS_RECOMMEND',\n PAYMENT_PLANS_MIGRATE = 'PAYMENT_PLANS_MIGRATE',\n RESET_PATIENT_PRODUCTS = 'RESET_PATIENT_PRODUCTS',\n GET_ACTIVE_PATIENT_PRODUCTS = 'GET_ACTIVE_PATIENT_PRODUCTS',\n MANAGE_PATIENT_PRODUCTS = 'MANAGE_PATIENT_PRODUCTS',\n CREATE_DEFAULT_PAYMENT_PLAN = 'CREATE_DEFAULT_PAYMENT_PLAN',\n Delete_Unspecified_User = 'Delete_Unspecified_User'\n}\n\nexport interface PaymentPlanShortModel {\n name: string;\n displayName: string;\n}\n\nexport interface PaymentCouponShortModel {\n code: string;\n detail: string | null;\n}\n\ntype ParamsType = {\n CHANGE_SUBSCRIPTION_PRICE: {\n subscriptionId: number,\n priceId: number,\n couponCode: string,\n employerProductId: number\n },\n CHANGE_PRACTICE_COPY: {\n patientId: number,\n practiceId: number\n },\n BUY_PRODUCTS: {\n patientId: number,\n productType: number,\n quantity: number,\n isPaidForByDefaultEmployer: boolean\n },\n CHANGE_SUBSCRIPTION_CANDIDATE: {\n patientId: number,\n },\n PAYMENT_PLANS_RECOMMEND: {\n fromSubscriptionId: number,\n startDate: Date,\n endDate: Date,\n planName: string,\n paymentStrategy: number,\n isInsurance: boolean,\n couponCode: string,\n },\n RESET_PATIENT_PRODUCTS: {\n patientId: number,\n },\n GET_ACTIVE_PATIENT_PRODUCTS: {\n patientId: number\n },\n CREATE_DEFAULT_PAYMENT_PLAN: {\n name: string,\n displayName: string,\n title: string,\n practiceId: number,\n paymentPlanTemplateId: number,\n periodInMonths: number,\n prices: CreatePriceModel[],\n inclusions: InclusionModel[],\n stripeProductId: string,\n isActive: boolean,\n desiredId: number,\n includeDefaultAddOns: boolean,\n canBeActivated: boolean,\n isPrecisionCarePackageFlow: boolean\n },\n Delete_Unspecified_User: {\n email: string\n }\n}\n\ntype MenuParamsState = {\n [key in ToolEnum]: ParamsType\n}\n\ntype MenuFilterState = {\n [key in ToolEnum]: boolean\n}\n\nconst initialParamsType = {\n CHANGE_SUBSCRIPTION_PRICE: {\n subscriptionId: 0,\n priceId: 0,\n couponCode: '',\n employerProductId: -1\n },\n CHANGE_PRACTICE_COPY: {\n practiceId: 0,\n patientId: 0\n },\n BUY_PRODUCTS: {\n patientId: 0,\n productType: 20,\n quantity: 0,\n isPaidForByDefaultEmployer: true\n },\n CHANGE_SUBSCRIPTION_CANDIDATE: {\n patientId: 0,\n },\n PAYMENT_PLANS_RECOMMEND: {\n fromSubscriptionId: 0,\n startDate: new Date(),\n endDate: new Date(),\n planName: '',\n paymentStrategy: 1,\n isInsurance: false,\n couponCode: '',\n },\n RESET_PATIENT_PRODUCTS: {\n patientId: 0,\n },\n GET_ACTIVE_PATIENT_PRODUCTS: {\n patientId: 0,\n },\n CREATE_DEFAULT_PAYMENT_PLAN: {\n name: '',\n displayName: '',\n title: '',\n practiceId: 0,\n periodInMonths: 0,\n prices: [],\n inclusions: [],\n stripeProductId: '',\n isActive: true,\n desiredId: 0,\n includeDefaultAddOns: true,\n canBeActivated: true,\n isPrecisionCarePackageFlow: true\n },\n Delete_Unspecified_User: {\n email: ''\n },\n}\n\n\ninterface ManageApiResponseState extends IErrorState {\n isLoading: boolean;\n isStateLoading: boolean;\n isProductsLoading: boolean;\n responseView: any;\n filtersState: EngineeringFiltersState;\n params: RequestParamState;\n menuParams: MenuParamsState;\n menuStates: MenuFilterState;\n eligiblePaymentPlans: PaymentPlanShortModel[];\n eligiblePaymentCoupons: PaymentCouponShortModel[];\n subscriptionId: number;\n activePaymentPlans: PaymentPlanModel[];\n patientName: string,\n patientSubscription: SubscriptionModel,\n eligiblePatientProducts: PatientProductModel[];\n products: EmployerProductModel[],\n}\n\nexport function useFacade(): [\n ManageApiResponseState,\n any,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void,\n () => void,\n (stateId: number) => void,\n () => void,\n () => void,\n any,\n (field: string, value: any) => void,\n (field: string, value: any, tool:ToolEnum) => void,\n] {\n const history = useHistory();\n const params = {\n userId: null,\n patientId: null,\n employeeId: null,\n vendor: 1,\n vendorId: '',\n paymentPlanId: null,\n selectedStates: []\n }\n\n const [state, setState] = useState({\n isLoading: true,\n isStateLoading: true,\n isProductsLoading: true,\n responseView: null,\n filtersState: {\n isLoginBehalfUserOpen: false,\n isIntegrationOpen: false,\n isChangeInsuranceStatesOpen: false,\n },\n params: params,\n errors: {},\n menuParams: initialParamsType as unknown as MenuParamsState,\n menuStates: {\n CHANGE_PRACTICE_COPY: false,\n CHANGE_SUBSCRIPTION_PRICE: false,\n BUY_PRODUCTS: false,\n CHANGE_SUBSCRIPTION_CANDIDATE: false,\n RESET_PATIENT_PRODUCTS: false,\n MANAGE_PATIENT_PRODUCTS: false,\n CREATE_DEFAULT_PAYMENT_PLAN: false,\n Delete_Unspecified_User: false\n },\n eligiblePaymentPlans: [],\n eligiblePaymentCoupons: [],\n subscriptionId: 0,\n patientName: '',\n patientSubscription: null,\n eligiblePatientProducts: [],\n products: [],\n activePaymentPlans: []\n } as ManageApiResponseState);\n\n\n const handleToggleLoginBehalf = () => {\n state.filtersState.isLoginBehalfUserOpen = !state.filtersState.isLoginBehalfUserOpen;\n setState(state => ({...state}));\n }\n\n const handleToggleIntegration = () => {\n state.filtersState.isIntegrationOpen = !state.filtersState.isIntegrationOpen;\n setState(state => ({...state}));\n }\n\n const handleToggleChangeInsuranceStates = () => {\n state.filtersState.isChangeInsuranceStatesOpen = !state.filtersState.isChangeInsuranceStatesOpen;\n setState(state => ({...state}));\n }\n\n const handleToggleChangePractice = () => {\n state.menuStates[ToolEnum.CHANGE_PRACTICE_COPY] = !state.menuStates[ToolEnum.CHANGE_PRACTICE_COPY];\n setState(state => ({...state}));\n }\n\n const handleToggleChangeSubscriptionPrice = () => {\n state.menuStates[ToolEnum.CHANGE_SUBSCRIPTION_PRICE] = !state.menuStates[ToolEnum.CHANGE_SUBSCRIPTION_PRICE];\n setState(state => ({...state}));\n }\n\n const handleToggleBuyProducts = () => {\n state.menuStates[ToolEnum.BUY_PRODUCTS] = !state.menuStates[ToolEnum.BUY_PRODUCTS];\n setState(state => ({...state}));\n }\n \n const handleToggleChangeSubscription = () => {\n state.menuStates[ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE] = !state.menuStates[ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE];\n setState(state => ({...state}));\n }\n \n const handleToggleResetPatientProducts = () => {\n state.menuStates[ToolEnum.RESET_PATIENT_PRODUCTS] = !state.menuStates[ToolEnum.RESET_PATIENT_PRODUCTS];\n setState(state => ({...state}));\n }\n \n const handleToggleManagePatientProducts = () => {\n state.menuStates[ToolEnum.MANAGE_PATIENT_PRODUCTS] = !state.menuStates[ToolEnum.MANAGE_PATIENT_PRODUCTS];\n setState(state => ({...state}));\n }\n \n const handleToggleCreateDefaultPaymentPlan = () => {\n state.menuStates[ToolEnum.CREATE_DEFAULT_PAYMENT_PLAN] = !state.menuStates[ToolEnum.CREATE_DEFAULT_PAYMENT_PLAN];\n setState(state => ({...state}));\n }\n\n const handleToggleDeleteUnspecifiedUser = () => {\n state.menuStates[ToolEnum.Delete_Unspecified_User] = !state.menuStates[ToolEnum.Delete_Unspecified_User];\n setState(state => ({...state}));\n }\n\n const getLoginOnBehalfOfUser = () => {\n\n if ((state.errors.userId || !state.params.userId) && (state.errors.patientId || !state.params.patientId) && (state.errors.employeeId || !state.params.employeeId))\n {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService.loginOnBehalfOfUser(state.params.userId, state.params.patientId, state.params.employeeId)\n .subscribe((response) => {\n authService.authorize(response)\n if (response?.type === UserType.Employee || response?.type === UserType.Patient) {\n window.location.reload();\n return;\n }\n setState(state => ({...state, responseView: response, isLoading: false}))\n }, cb)\n }\n\n const getAllIntegrationIds = () => {\n if (state.errors.vendorId || !state.params.vendorId) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n const cb = () => setState(state => ({...state, isLoading: false}));\n engineeringService.getIntegrationInformation(state.params.vendor, state.params.vendorId).subscribe((response) => setState(state => ({\n ...state,\n responseView: response,\n isLoading: false\n })), cb)\n\n }\n\n const handleAddInsuranceStates = () => {\n if ((state.errors.paymentPlanId || !state.params.paymentPlanId) && (state.errors.selectedStates || !state.params.selectedStates.length)) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n const cb = () => setState(state => ({...state, isLoading: false}));\n \n const updateInsuranceStates:UpdateInsuranceStatesModel = {\n id: state.params.paymentPlanId,\n states: state.params.selectedStates\n };\n \n engineeringService.addPaymentPlanInsuranceStates(updateInsuranceStates).subscribe((response) => {\n setState(state => ({\n ...state,\n responseView: response,\n }))\n paymentPlansService.getActive(authQuery.getCurrentPracticeId(), null).subscribe((plans) => \n setState(state => ({\n ...state,\n activePaymentPlans: plans.filter(x => !x.isTrial && !x.isFounder && !x.isLimited),\n isLoading: false\n }))\n , cb);\n }, cb)\n }\n\n const handleRemoveInsuranceStates = (stateId: number) => {\n if ((state.errors.paymentPlanId || !state.params.paymentPlanId) && (!stateId)) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n const cb = () => setState(state => ({...state, isLoading: false}));\n \n const targetPaymentPlan = state.activePaymentPlans.find(i => i.id === state.params.paymentPlanId);\n const updateInsuranceStates:UpdateInsuranceStatesModel = {\n id: state.params.paymentPlanId,\n states: targetPaymentPlan.insuranceStates.filter(s => s.id === stateId)\n };\n \n engineeringService.removePaymentPlanInsuranceStates(updateInsuranceStates).subscribe((response) => {\n setState(state => ({\n ...state,\n responseView: response,\n }))\n paymentPlansService.getActive(authQuery.getCurrentPracticeId(), null).subscribe((plans) => \n setState(state => ({\n ...state,\n activePaymentPlans: plans.filter(x => !x.isTrial && !x.isFounder && !x.isLimited),\n isLoading: false\n }))\n , cb);\n }, cb)\n }\n\n const changePatientToAnotherPractice = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.CHANGE_PRACTICE_COPY]);\n const values = state.menuParams[ToolEnum.CHANGE_PRACTICE_COPY];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.CHANGE_PRACTICE_COPY).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService.changePracticeCopy(\n parseInt(values[keys[0]]),\n parseInt(values[keys[1]])).subscribe((response) => setState(state => ({\n ...state,\n responseView: response,\n isLoading: false\n })), cb)\n\n }\n\n const changeSubscriptionPrice = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.CHANGE_SUBSCRIPTION_PRICE]);\n const values = state.menuParams[ToolEnum.CHANGE_SUBSCRIPTION_PRICE];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.CHANGE_SUBSCRIPTION_PRICE).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n const model = {\n subscriptionId: values[keys[0]],\n newPaymentPriceId: values[keys[1]],\n couponCode: values[keys[2]],\n employerProductId: values[keys[3]] > -1 ? values[keys[3]] : null\n }\n\n engineeringService\n .changeSubscriptionPrice(model)\n .subscribe((response) => setState(state => ({...state, responseView: response, isLoading: false})), cb)\n\n }\n\n const buyProducts = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.BUY_PRODUCTS]);\n const values = state.menuParams[ToolEnum.BUY_PRODUCTS];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.BUY_PRODUCTS).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n const buyProductModel: BuyProductModel = {\n patientId: parseInt(values[keys[0]]),\n productType: parseInt(values[keys[1]]),\n quantity: parseInt(values[keys[2]]),\n isPaidForByDefaultEmployer: values[keys[3]]\n }\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService.buyProducts(buyProductModel).subscribe((response) => setState(state => ({\n ...state,\n responseView: response,\n isLoading: false\n })), cb)\n }\n \n const changeSubscriptionCandidate = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE]);\n const values = state.menuParams[ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService\n .changeSubscriptionCandidate(values[keys[0]])\n .subscribe((response) => {\n if (!response?.statusCode) {\n state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND] = response;\n state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND]['fromSubscriptionId'] = response.id;\n setState(state => ({...state, eligiblePaymentPlans: response.eligiblePaymentPlans, eligiblePaymentCoupons: response.eligiblePaymentCoupons, subscriptionId: response.id}))\n }\n setState(state => ({...state, responseView: response, isLoading: false}))\n }, cb)\n }\n\n const paymentPlansRecommend = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND]);\n const values = state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.PAYMENT_PLANS_RECOMMEND).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService\n .paymentPlanRecommend(values)\n .subscribe((response) => {\n if (!response?.statusCode) {\n state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND] = response;\n state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND]['fromSubscriptionId'] = state.subscriptionId;\n }\n setState(state => ({...state, responseView: response, isLoading: false}))\n }, cb)\n\n }\n\n const paymentPlansMigrate = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND]);\n const values = state.menuParams[ToolEnum.PAYMENT_PLANS_RECOMMEND];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.PAYMENT_PLANS_RECOMMEND).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService\n .migratePaymentPlan(values)\n .subscribe((response) => setState(state => ({...state, responseView: response, isLoading: false})), cb)\n\n }\n \n const resetPatientProducts = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.RESET_PATIENT_PRODUCTS]);\n const values = state.menuParams[ToolEnum.RESET_PATIENT_PRODUCTS];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.RESET_PATIENT_PRODUCTS).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService\n .resetPatientProducts(values[keys[0]])\n .subscribe((response) => setState(state => ({...state, responseView: response, isLoading: false})), cb)\n }\n \n const getActivePatientProducts = () => {\n const keys = Object.keys(state.menuParams[ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS]);\n const values = state.menuParams[ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService\n .getActivePatientProducts(values[keys[0]])\n .subscribe((response) => {\n if (!response?.statusCode) {\n setState(state => ({...state, patientName: response.patientFullName, patientSubscription: response.subscription, eligiblePatientProducts: response.eligiblePatientProducts}))\n }\n setState(state => ({...state, responseView: response, isLoading: false}))\n }, cb)\n }\n\n const handleRestoreSubscriptionPrice = () => {\n\n if (!state.patientSubscription)\n {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n const model = {\n subscriptionId: state.patientSubscription.id,\n newPaymentPriceId: state.patientSubscription.paymentPrice.id,\n couponCode: null,\n employerProductId: null\n }\n\n engineeringService\n .changeSubscriptionPrice(model)\n .subscribe((response) => setState(state => ({...state, responseView: response, isLoading: false})), cb)\n\n }\n \n const handleResetPatientProducts = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS]);\n const values = state.menuParams[ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService\n .resetPatientProducts(values[keys[0]])\n .subscribe((response) => setState(state => ({...state, responseView: response, isLoading: false})), cb)\n }\n\n const createDefaultPaymentPlan = () => {\n\n const keys = Object.keys(state.menuParams[ToolEnum.CREATE_DEFAULT_PAYMENT_PLAN]);\n const defaultPaymentPlanModel = state.menuParams[ToolEnum.CREATE_DEFAULT_PAYMENT_PLAN];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.CREATE_DEFAULT_PAYMENT_PLAN).some(k => (!!errorValues[k])) || keys.every(k=> (!defaultPaymentPlanModel[k]))) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService.createDefaultPaymentPlan(defaultPaymentPlanModel).subscribe((response) => setState(state => ({\n ...state,\n responseView: response,\n isLoading: false\n })), cb)\n }\n\n const deleteUnspecifiedUser = () => {\n const keys = Object.keys(state.menuParams[ToolEnum.Delete_Unspecified_User]);\n const values = state.menuParams[ToolEnum.Delete_Unspecified_User];\n const errorValues = state.errors;\n\n if(Object.keys(ToolEnum.Delete_Unspecified_User).some(k => (!!errorValues[k])) || keys.every(k=> (!values[k]))) {\n return;\n }\n setState(state => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n engineeringService.deleteUnspecifiedUser(values[keys[0]]).subscribe((response) => setState(state => ({\n ...state,\n responseView: response,\n isLoading: false\n })), cb)\n }\n\n const handleChanges = (field: string, value: any ) => {\n\n manageApiResponseComponentValidator.validateAndSetState(state, setState, field, value);\n\n const params = state.params;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, params);\n lastObject[key] = value;\n\n setState({...state, params: Object.assign({}, params)});\n\n }\n\n const handleChangesGeneric = (field: string, value: any, tool: ToolEnum) => {\n\n manageApiResponseComponentValidator.validateAndSetState(state, setState, field, value);\n\n setState({...state, ...state.menuParams[tool][field] = value });\n\n }\n\n const handleToggle = {\n CHANGE_SUBSCRIPTION_PRICE: handleToggleChangeSubscriptionPrice,\n CHANGE_PRACTICE_COPY: handleToggleChangePractice,\n BUY_PRODUCTS: handleToggleBuyProducts,\n CHANGE_SUBSCRIPTION_CANDIDATE: handleToggleChangeSubscription,\n RESET_PATIENT_PRODUCTS: handleToggleResetPatientProducts,\n MANAGE_PATIENT_PRODUCTS: handleToggleManagePatientProducts,\n CREATE_DEFAULT_PAYMENT_PLAN: handleToggleCreateDefaultPaymentPlan,\n Delete_Unspecified_User: handleToggleDeleteUnspecifiedUser\n }\n\n const handleSubmit = {\n CHANGE_SUBSCRIPTION_PRICE: changeSubscriptionPrice,\n CHANGE_PRACTICE_COPY: changePatientToAnotherPractice,\n BUY_PRODUCTS: buyProducts,\n CHANGE_SUBSCRIPTION_CANDIDATE: changeSubscriptionCandidate,\n PAYMENT_PLANS_RECOMMEND: paymentPlansRecommend,\n PAYMENT_PLANS_MIGRATE: paymentPlansMigrate,\n RESET_PATIENT_PRODUCTS: resetPatientProducts,\n GET_ACTIVE_PATIENT_PRODUCTS: getActivePatientProducts,\n CREATE_DEFAULT_PAYMENT_PLAN: createDefaultPaymentPlan,\n Delete_Unspecified_User: deleteUnspecifiedUser\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.activePaymentPlans$, activePaymentPlans => {\n setState(state => ({\n ...state,\n activePaymentPlans,\n }));\n }),\n onEmit(employerProductsQuery.employerProducts$, employerProducts => {\n const products = employerProducts.filter(e => !e.isDefault)\n setState(state => ({\n ...state,\n products,\n }))\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n const getStateCB = () => setState(state => ({ ...state, isStateLoading: false }))\n const employerProductsCB = () => setState(state => ({ ...state, isProductsLoading: false }));\n\n paymentPlansService.get(authQuery.getCurrentPracticeId(), null).subscribe(cb, cb);\n addressService.getStates().subscribe(getStateCB, getStateCB); \n\n employerProductsService.getAllEmployerProducts().subscribe(employerProductsCB, employerProductsCB);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n }; \n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleToggle,\n handleToggleLoginBehalf,\n handleToggleIntegration,\n handleToggleChangeInsuranceStates,\n getLoginOnBehalfOfUser,\n getAllIntegrationIds,\n handleAddInsuranceStates,\n handleRemoveInsuranceStates,\n handleRestoreSubscriptionPrice,\n handleResetPatientProducts,\n handleSubmit,\n handleChanges,\n handleChangesGeneric\n ];\n}","import { Query } from '@datorama/akita';\nimport { EmployerProductsState, employerProductsStore, EmployerProductsStore } from \"./employerProductsStore\";\nimport { EmployerProductModel } from '../../models/employerProduct.model';\n\n/**\n * Provides employerProducts queries\n */\nexport class EmployerProductsQuery extends Query {\n employerProducts$ = this.select(state => state.employerProducts);\n selectedEmployer$ = this.select(state => state.selectedEmployer);\n\n constructor(protected store: EmployerProductsStore) {\n super(store);\n }\n\n /**\n * Returns employer products\n */\n public getEmployerProducts(): EmployerProductModel[] {\n return this.getValue().employerProducts;\n }\n\n /**\n * Returns selected employer product\n */\n public getSelectedEmployer(): EmployerProductModel {\n return this.getValue().selectedEmployer;\n }\n}\n\nexport const employerProductsQuery = new EmployerProductsQuery(employerProductsStore);\n","import Axios from 'axios-observable';\nimport {Observable} from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { API_URL } from \"../../../config\";\nimport { snackService } from '../../common/snack/state';\nimport { employerProductsStore, EmployerProductsStore } from \"../stores/employerProductsStore\";\nimport { EmployerProductModel, CreateEmployerProductModel } from '../models/employerProduct.model';\n\n/**\n * Provides methods for working with employer products\n */\nexport class EmployerProductsService {\n private url = `${API_URL}EmployerProducts`;\n\n constructor(private employerProductsStore: EmployerProductsStore) {\n }\n\n /**\n * Returns all Employers\n */\n public getAllEmployerProducts(): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.url}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.employerProductsStore.update({ employerProducts: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Returns the Employer by id\n */\n public getEmployerProductById(id: number): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.url}/${id}/employer`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.employerProductsStore.update({ selectedEmployer: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Returns the Employer by key\n */\n public getEmployerProductByKey(employerKey: string): Observable {\n return new Observable(observer => {\n Axios.get(`${this.url}/${employerKey}`)\n .pipe()\n .subscribe(\n (response) => {\n this.employerProductsStore.update({ selectedEmployer: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Create Employer Product\n * @param model\n */\n public createEmployerProduct(model: CreateEmployerProductModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}/AllPractice`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.employerProductsStore.addEmployer(response.data);\n snackService.success('EmployerProduct successfully created');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const employerProductsService = new EmployerProductsService(employerProductsStore);\n","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n },\n },\n selectInput: {\n textOverflow: \"ellipsis\",\n overflow: \"hidden\"\n },\n responseSection: {\n fontSize: 12,\n margin: 0,\n padding: 10,\n whiteSpace: 'pre-wrap',\n wordBreak: \"break-word\",\n hyphens: \"auto\",\n borderRadius: 4,\n backgroundColor: colors.black,\n overflowWrap: \"break-word\",\n fontWeight: 600,\n color: colors.white\n },\n filters: {\n maxHeight: 'calc(100vh - 130px)',\n overflowY: 'auto',\n minWidth: 350,\n marginBottom: 16,\n },\n activeIcon: {\n color: colors.main,\n },\n divider: {\n borderTop: `2px solid ${colors.separators}`,\n },\n chip: {\n display: 'flex',\n gap: 6,\n alignItems: 'center',\n height: 27,\n margin: 2,\n lineHeight: '18px',\n backgroundColor: colors.separators,\n borderRadius: 2,\n padding: '4px 6px',\n overflow: 'hidden',\n fontSize: 16,\n fontWeight: 400,\n color: colors.black,\n '& svg': {\n fontSize: 18,\n cursor: 'pointer',\n fill: colors.gray1,\n margin: 0,\n },\n '& .MuiChip-label': {\n padding: 0,\n },\n },\n stateItem: {\n display: 'flex',\n gap: 6,\n alignItems: 'center',\n padding: '4px 6px',\n margin: 6,\n marginRight: 8,\n fontSize: 16,\n fontWeight: 400,\n color: colors.black,\n borderRadius: 2,\n backgroundColor: colors.separators,\n },\n removeIcon: {\n width: 18,\n height: 18,\n fill: colors.gray1,\n cursor: 'pointer'\n },\n addBtn: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.linkBlue,\n textAlign: 'start',\n fontSize: 14,\n fontWeight: 500,\n padding: 0,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n },\n removeBtn: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.linkBlue,\n textAlign: 'start',\n fontSize: 14,\n fontWeight: 500,\n padding: 0,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n marginLeft: 'auto'\n }\n}));\n","export enum IntegrationVendor {\n OpenPm = 1,\n Hint = 5,\n Stripe = 10,\n Twilio = 15,\n Elation = 20,\n Northpass = 25,\n Clarity = 95,\n None = 99,\n}\n\nexport const integrationVendorNames: { [vendor: number]: string } = {\n [IntegrationVendor.OpenPm]: 'OpenPm',\n [IntegrationVendor.Hint]: 'Hint',\n [IntegrationVendor.Stripe]: 'Stripe',\n [IntegrationVendor.Twilio]: \"Twilio\",\n [IntegrationVendor.Elation]: \"Elation\",\n [IntegrationVendor.Northpass]: \"Northpass\",\n [IntegrationVendor.Clarity]: \"Clarity\",\n [IntegrationVendor.None]: \"None\",\n}","import React, {FC, Fragment} from 'react';\nimport {Box, Collapse, FormControl, ListItem, ListItemText, TextField} from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport {WildHealthButton} from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport {useStyles} from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport {ToolEnum} from \"../manageApiResponseComponent.hooks\";\n\ntype EndpointAdminProps = {\n id: string\n params: any\n handleChanges: (field: string, value: any, tool: ToolEnum) => void,\n handleOpenToggle: ()=>void\n handleClick: (any)=>void\n title: string\n errors:any\n isOpen: boolean\n isLoading: boolean\n toolMenu: ToolEnum\n}\n\nconst EndpointAdminComponent: FC = (props): JSX.Element => {\n const {id, isLoading, title, errors, params, handleOpenToggle, handleClick, handleChanges, isOpen, toolMenu} = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const capitalize=(str)=> {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n const getParamTitle = (paramName) => {\n if(paramName.includes('Id')){\n return paramName.split('Id').map(capitalize).join(\" \")+' Id *';\n } else {\n return capitalize(paramName);\n }\n }\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n {\n Object.keys(params).map((param) => {\n return (\n \n \n {getParamTitle(param)}\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n )\n })\n }\n \n Execute\n \n \n \n \n )\n\n}\n\nexport default EndpointAdminComponent;","import React, {FC, Fragment, useState} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport {ToggleButton} from \"@material-ui/lab\";\nimport ToggleButtonGroup from \"@material-ui/lab/ToggleButtonGroup\";\n\ntype EndpointAdminToolProps = {\n id: string\n params: any\n handleChanges: (field: string, value: any) => void,\n handleOpenToggle: () => void\n handleClick: (any) => void\n title: string\n errors: any\n isOpen: boolean\n isLoading: boolean\n}\n\n\nconst LoginOnBehalfOfUserComponent: FC = (props): JSX.Element => {\n const {id, isLoading, title, errors, params, handleOpenToggle, handleClick, handleChanges, isOpen} = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const [mode,setMode] = useState('user');\n\n const handleToggle=(event: React.MouseEvent, newMode: string | null) => {\n setMode(newMode)\n if(newMode === 'user')\n {\n params.patientId = null;\n params.employeeId = null;\n } else if(newMode === 'patient') {\n params.userId = null;\n params.employeeId = null;\n } else {\n params.userId = null;\n params.patientId = null;\n }\n }\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n \n \n User Id\n \n \n Patient id\n \n \n Employee id\n \n \n \n UserId *\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n PatientId *\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n EmplyeeId *\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n Execute\n \n \n \n \n )\n\n}\n\nexport default LoginOnBehalfOfUserComponent;","import { OrderType } from \"../../orders/models/orders.models\";\n\nexport enum PaymentStrategy {\n FullPayment = 1,\n PartialPayment = 5\n}\n\nexport enum PaymentPriceType {\n Default,\n Insurance,\n PromoCode,\n InsurancePromoCode = 3\n}\n\nexport const PaymentPriceTypeNames: { [type: number]: string } = {\n [PaymentPriceType.Default]: 'Default',\n [PaymentPriceType.Insurance]: 'Insurance',\n [PaymentPriceType.PromoCode]: 'PromoCode',\n [PaymentPriceType.InsurancePromoCode]: 'InsurancePromoCode'\n}\n\nexport interface PaymentCouponModel {\n name?: string;\n id?: number;\n code: string;\n detail: string;\n}\n\nexport interface PaymentPriceModel {\n id: number;\n discount: number;\n price: number;\n originalPrice: number;\n startupFee: number;\n type: PaymentPriceType;\n strategy: PaymentStrategy;\n isExclusive: boolean;\n isAddOnsForFree: boolean;\n freeAddOnsTypes: OrderType[];\n isAutoRenewal: boolean;\n paymentCoupon: PaymentCouponModel;\n description: string;\n discounts: DiscountModel[];\n}\n\nexport interface DiscountModel{\n name: string;\n amount: number;\n source: DiscountSource;\n}\n\nexport enum DiscountSource {\n AnnualSaving = 5,\n Insurance = 10,\n Coupon = 15,\n StartupFee = 20\n}\n\nexport const DiscountSourceNames = new Map([\n [DiscountSource.AnnualSaving, \"AnnualSaving\"],\n [DiscountSource.Insurance, \"Insurance\"],\n [DiscountSource.Coupon, \"Coupon\"],\n [DiscountSource.StartupFee, \"StartupFee\"],\n]);","import React, {FC, Fragment} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, FormHelperText, Select, MenuItem } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { IntegrationVendor, integrationVendorNames } from '../../../models/integrationVendor.enums';\n\ntype EndpointAdminToolProps = {\n id: string\n params: any\n handleChanges: (field: string, value: any) => void,\n handleOpenToggle: () => void\n handleClick: (any) => void\n title: string\n errors: any\n isOpen: boolean\n isLoading: boolean\n}\n\n\nconst ViewAllIntegrationIdsComponent: FC = (props): JSX.Element => {\n const {id, isLoading, title, errors, params, handleOpenToggle, handleClick, handleChanges, isOpen} = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n \n \n Vendor *\n {\n if (params.vendor === null) {\n return Select;\n }\n\n return integrationVendorNames[params.vendor];\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"vendor\", v.target.value)}\n >\n {integrationVendorNames[IntegrationVendor.OpenPm]}\n {integrationVendorNames[IntegrationVendor.Hint]}\n {integrationVendorNames[IntegrationVendor.Stripe]}\n {integrationVendorNames[IntegrationVendor.Twilio]}\n {integrationVendorNames[IntegrationVendor.Elation]}\n {integrationVendorNames[IntegrationVendor.Northpass]}\n {integrationVendorNames[IntegrationVendor.Clarity]}\n {integrationVendorNames[IntegrationVendor.None]}\n \n {errors[`vendor`]}\n \n \n \n VendorId *\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n Execute\n \n \n \n \n )\n\n}\n\nexport default ViewAllIntegrationIdsComponent;","import React, {FC, Fragment} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, FormHelperText, Select, MenuItem, Checkbox } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { ToolEnum } from '../manageApiResponseComponent.hooks';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../../common/constants/colors';\nimport {ProductType} from \"../../../../products/enums/productType\";\n\ntype EndpointAdminToolProps = {\n id: string;\n params: any;\n handleChanges: (field: string, value: any, tool: ToolEnum) => void;\n handleOpenToggle: () => void;\n handleClick: (any) => void;\n title: string;\n errors: any;\n isOpen: boolean;\n isLoading: boolean;\n toolMenu: ToolEnum;\n}\n\nconst BuyProductsComponent: FC = (props): JSX.Element => {\n const {\n id, isLoading, title, errors, params, isOpen, toolMenu,\n handleOpenToggle,\n handleChanges,\n handleClick,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderProductTypeName = (type: ProductType) => {\n switch (type) {\n case ProductType.PhysicianVisit:\n return \"Physician Visit\";\n case ProductType.FreeLabOrder:\n return \"Free Lab Order\";\n case ProductType.FreeEpigeneticOrder:\n return \"Free Epigenetic Order\";\n }\n }\n\n const controlIcon = ;\n const controlCheckedIcon = \n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n \n Patient Id *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n \n ProductType *\n {\n if (params.productType === null || !params.productType) {\n return Select;\n }\n\n return renderProductTypeName(params.productType);\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"productType\", v.target.value, toolMenu)}\n >\n {renderProductTypeName(ProductType.PhysicianVisit)}\n {renderProductTypeName(ProductType.FreeLabOrder)}\n {renderProductTypeName(ProductType.FreeEpigeneticOrder)}\n \n {errors[`planName`]}\n \n \n \n Quantity *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n IsPaidForByDefaultEmployer *\n \n handleChanges(\"isPaidForByDefaultEmployer\", true, toolMenu)}\n />\n Yes\n handleChanges(\"isPaidForByDefaultEmployer\", false, toolMenu)}\n />\n No\n \n \n \n Execute\n \n \n \n \n )\n}\n\nexport default BuyProductsComponent;","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { employerProductsService } from \"../../services/employerProducts.service\";\nimport { EmployerProductModel } from \"../../models/employerProduct.model\";\nimport { employerProductsQuery } from \"../../stores/employerProductsStore\";\n\nexport enum SortingSource {\n None,\n Name = \"name\",\n Key = \"key\"\n}\n\ninterface ManageEmployersState extends IPaginationState, ISortingState {\n isLoading: boolean;\n employers: EmployerProductModel[];\n originalEmployers: EmployerProductModel[];\n isOpenEmployerDetail: boolean;\n selectedEmployerId: number;\n page: number;\n rowsPerPage: number;\n}\n\nexport function useFacade(): [\n ManageEmployersState,\n (query: string) => void,\n (source: string, direction: SortingDirection) => void,\n () => number[],\n (value: any) => void,\n (page: number) => void,\n (status: boolean, employerId: number) => void\n] {\n\n const [state, setState] = useState({\n isLoading: true,\n employers: [],\n originalEmployers: [],\n isOpenEmployerDetail: false,\n selectedEmployerId: 0,\n sortingColumns: [\n {title: 'Name', source: SortingSource.Name, direction: SortingDirection.Asc},\n {title: 'Key', source: SortingSource.Key, direction: SortingDirection.Asc},\n ],\n sortingSource: SortingSource.None,\n page: 0,\n rowsPerPage: pageSizes[0],\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[0]\n } as ManageEmployersState);\n\n const setEmployers = (employers: EmployerProductModel[]) => {\n setState((state) => {\n return {\n ...state,\n isLoading: false,\n employers: employers,\n totalCount: employers.length,\n }\n });\n }\n\n const handleSearchSubmit = (query: string) => {\n const searchQuery = query ?? '';\n setState(state => ({\n ...state,\n selectedPage: 1,\n isLoading: true\n }));\n\n const trimedSearch = decodeURIComponent(searchQuery).trim().toLowerCase();\n const arrayTrimSearchKey = trimedSearch.split(' ');\n\n const filteredEmployers = state.originalEmployers?.filter(\n (e) =>\n arrayTrimSearchKey.find((item) =>\n e.name?.toLowerCase().includes(item)\n ) !== undefined ||\n arrayTrimSearchKey.find((item) =>\n e.key?.toLowerCase().includes(item)\n ) !== undefined\n );\n setEmployers(filteredEmployers)\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n selectedPage: page\n }));\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n let itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({...state, columns: state.sortingColumns}));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n employers: state.employers.sort((e1, e2) => handleCompare(e1, e2, direction, source))\n }));\n }\n\n const handleToggleEmployerDetail = (status: boolean, employerId: number) => {\n setState(state => ({\n ...state,\n isOpenEmployerDetail: status,\n selectedEmployerId: employerId\n }))\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(employerProductsQuery.employerProducts$, employerProducts => {\n const employers = employerProducts.filter(e => !e.isDefault)\n setState(state => ({\n ...state,\n employers: employers,\n originalEmployers: employers,\n totalCount: employers.length\n }))\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n employerProductsService.getAllEmployerProducts().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleSearchSubmit,\n handleSorting,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleToggleEmployerDetail\n ];\n}","import React, {FC, Fragment} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, FormHelperText, Select, MenuItem, Breadcrumbs, Checkbox } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { PaymentStrategy } from '../../../../payment/models/paymentPrice.models';\nimport { PaymentPlanShortModel, PaymentCouponShortModel, ToolEnum } from '../manageApiResponseComponent.hooks';\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\nimport clsx from 'clsx';\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\nimport moment from \"moment\";\nimport DateFnsUtils from '@date-io/moment';\nimport { ReactComponent as CalendarIcon } from '@img/icons/CalendarIcon.svg';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../../common/constants/colors';\n\ntype EndpointAdminToolProps = {\n id: string;\n params: any;\n handleChanges: (field: string, value: any, tool: ToolEnum) => void;\n handleOpenToggle: () => void;\n handleChangeSubscriptionCandidate: (any) => void;\n handlePaymentPlanRecommend: (any) => void;\n handlePaymentPlanMigration: (any) => void;\n title: string;\n errors: any;\n isOpen: boolean;\n isLoading: boolean;\n eligiblePaymentPlans: PaymentPlanShortModel[];\n eligiblePaymentCoupons: PaymentCouponShortModel[];\n}\n\n\nconst ChangeSubscriptionComponent: FC = (props): JSX.Element => {\n const {\n id, isLoading, title, errors, params, isOpen, eligiblePaymentPlans, eligiblePaymentCoupons,\n handleOpenToggle,\n handleChanges,\n handleChangeSubscriptionCandidate,\n handlePaymentPlanRecommend,\n handlePaymentPlanMigration\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const capitalize=(str)=> {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n const getParamTitle = (paramName) => {\n if(paramName.includes('Id')){\n return paramName.split('Id').map(capitalize).join(\" \")+' Id';\n }\n }\n\n const getDate = (date) => {\n return date\n ? moment(date).format('YYYY-MM-DD')\n : null\n }\n\n const renderPlanName = (planName) => {\n if (eligiblePaymentPlans && eligiblePaymentPlans.length) {\n return eligiblePaymentPlans.find(plan => plan.name === params.planName)?.displayName ?? planName;\n }\n return planName; \n }\n\n const handleChangeDate = (momentDate) => {\n handleChanges(`startDate`, momentDate === null ?\n \"\" : momentDate.format(\"YYYY-MM-DD\"), ToolEnum.PAYMENT_PLANS_RECOMMEND)\n handleChanges(`endDate`, momentDate === null ?\n \"\" : momentDate.add(1, 'year').format(\"YYYY-MM-DD\"), ToolEnum.PAYMENT_PLANS_RECOMMEND)\n }\n\n const controlIcon = ;\n const controlCheckedIcon = \n\n const [step, setStep] = React.useState(ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE);\n\n const renderSubscriptionCandidate = (params: any) => (\n \n {\n Object.keys(params).map((param, index) => {\n return (\n \n \n {getParamTitle(param)} *\n handleChanges(v.target.id, v.target.value, ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE)}\n />\n \n )\n })\n }\n \n Execute\n \n \n )\n\n const renderPaymentPlanRecommend = (params: any, toolMenu: ToolEnum) => (\n \n \n Subscription Id\n \n \n \n \n StartDate *\n \n handleChangeDate(momentDate)}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\",\n \"edge\": \"end\",\n }}\n keyboardIcon={}\n minDate={new Date()}\n />\n {errors[`startDate`]}\n \n \n \n \n \n EndDate *\n \n handleChanges(`endDate`, momentDate === null ?\n \"\" : momentDate.format(\"YYYY-MM-DD\"), ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n KeyboardButtonProps={{\n \"aria-label\": \"change date\",\n \"edge\": \"end\",\n }}\n keyboardIcon={}\n minDate={new Date(params.startDate)}\n />\n {errors[`startDate`]}\n \n \n \n \n \n Plan Name *\n {\n if (params.planName === null || !params.planName) {\n return Select;\n }\n\n return renderPlanName(params.planName);\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"planName\", v.target.value, ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n >\n {eligiblePaymentPlans.map(plan => (\n {plan.displayName}\n ))}\n \n {errors[`planName`]}\n \n \n \n \n Payment Strategy *\n {\n if (params.paymentStrategy === null || !params.paymentStrategy) {\n return Select;\n }\n\n return params.paymentStrategy === PaymentStrategy.FullPayment ? \"Yearly\" : \"Monthly\";\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"paymentStrategy\", v.target.value, ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n >\n Yearly\n Monthly\n \n {errors[`paymentStrategy`]}\n \n \n \n \n CouponCode *\n {\n if (params.couponCode === null || !params.couponCode) {\n return Select;\n }\n\n return params.couponCode;\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"couponCode\", v.target.value, ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n >\n None\n {eligiblePaymentCoupons.map(couponCode => (\n {couponCode?.code}\n ))}\n \n {errors[`couponCode`]}\n \n \n \n Has insurance?\n \n handleChanges(\"isInsurance\", true, ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n />\n Yes\n handleChanges(\"isInsurance\", false, ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n />\n No\n \n \n \n {toolMenu === ToolEnum.PAYMENT_PLANS_RECOMMEND ? 'Execute' : 'Confirm Change'}\n \n \n )\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n } aria-label=\"breadcrumb\">\n setStep(ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE)}>\n Step 1\n \n params[ToolEnum.PAYMENT_PLANS_RECOMMEND]?.fromSubscriptionId && setStep(ToolEnum.PAYMENT_PLANS_RECOMMEND)}>\n Step 2\n \n params[ToolEnum.PAYMENT_PLANS_RECOMMEND]?.fromSubscriptionId && setStep(ToolEnum.PAYMENT_PLANS_MIGRATE)}>\n Step 3\n \n \n \n {step === ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE && renderSubscriptionCandidate(params[ToolEnum.CHANGE_SUBSCRIPTION_CANDIDATE])}\n {step === ToolEnum.PAYMENT_PLANS_RECOMMEND && renderPaymentPlanRecommend(params[ToolEnum.PAYMENT_PLANS_RECOMMEND], ToolEnum.PAYMENT_PLANS_RECOMMEND)}\n {step === ToolEnum.PAYMENT_PLANS_MIGRATE && renderPaymentPlanRecommend(params[ToolEnum.PAYMENT_PLANS_RECOMMEND], ToolEnum.PAYMENT_PLANS_MIGRATE)}\n \n \n )\n\n}\n\nexport default ChangeSubscriptionComponent;","import React, {FC, Fragment, useState} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, FormHelperText, Select, MenuItem, Chip } from \"@material-ui/core\";\nimport { Autocomplete, ToggleButtonGroup, ToggleButton } from \"@material-ui/lab\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { addressQuery } from '../../../../account/stores/addressStore';\nimport { StateModel } from '../../../../account/models/address.model';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { PaymentPlanModel } from '../../../../payment/models/paymentPlan.models';\n\ntype EndpointAdminToolProps = {\n id: string\n params: any\n handleChanges: (field: string, value: any) => void,\n handleOpenToggle: () => void\n handleAddClick: (any) => void\n handleRemoveClick: (any) => void\n title: string\n errors: any\n isOpen: boolean\n isLoading: boolean\n activePaymentPlans: PaymentPlanModel[]\n}\n\n\nconst ChangePaymentPlanInsuranceStatesComponent: FC = (props): JSX.Element => {\n const {id, isLoading, title, errors, params:state, activePaymentPlans, handleOpenToggle, handleAddClick, handleRemoveClick, handleChanges, isOpen} = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const [mode, setMode] = useState('add');\n\n const handleToggle=(event: React.MouseEvent, newMode: string | null) => {\n setMode(newMode)\n }\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n \n \n Add\n \n \n Remove\n \n \n \n \n \n Plan Name *\n {\n if (state.paymentPlanId === null) {\n return Select;\n }\n\n return activePaymentPlans?.find(plan => plan.id === state.paymentPlanId)?.displayName;\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"paymentPlanId\", v.target.value)}\n >\n {activePaymentPlans?.map(plan => (\n {plan.displayName}\n ))}\n \n {errors[`paymentPlan`]}\n \n \n \n Eligible States *\n {mode === \"add\" ? \n !state.selectedStates.some(t => t.id === x.id))}\n getOptionLabel={x => x.name}\n onChange={(e, values) => handleChanges(\"selectedStates\", values)}\n value={state.selectedStates}\n renderTags={(value: StateModel[], getTagProps) =>\n value.map((option: StateModel, index: number) => (\n } {...getTagProps({ index })} />\n ))\n }\n renderInput={(params) => (\n \n )}\n /> : \n \n {state.paymentPlanId && activePaymentPlans?.find(plan => plan.id === state.paymentPlanId)?.insuranceStates?.length ? activePaymentPlans?.find(plan => plan.id === state.paymentPlanId).insuranceStates.map(state => (\n \n {state.name}\n handleRemoveClick(state.id)} />\n \n )) : Empty Insurance states}\n \n }\n \n {mode === \"add\" && (\n \n Execute\n \n )}\n \n \n \n )\n\n}\n\nexport default ChangePaymentPlanInsuranceStatesComponent;","import React, {FC, Fragment} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, Table, TableBody, TableContainer, TableHead, TableRow, Breadcrumbs } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { WildHealthTableRow } from \"../../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport WildHealthLinearProgress from '../../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolder } from \"../../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { ToolEnum } from '../manageApiResponseComponent.hooks';\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\nimport clsx from 'clsx';\nimport moment from \"moment\";\nimport { SubscriptionModel } from '../../../../payment/models/subscription.models';\nimport { PatientProductModel } from '../../../../products/models/patientProducts.model';\nimport { ProductTypeNames } from '../../../../products/enums/productType';\nimport { ProductSubTypeNames } from '../../../../products/enums/productSubType';\n\ntype EndpointAdminToolProps = {\n id: string;\n params: any;\n handleChanges: (field: string, value: any, tool: ToolEnum) => void;\n handleOpenToggle: () => void;\n handleGetActivePatientProducts: () => void;\n handleRestoreSubscriptionPrice: () => void;\n handleResetPatientProducts: () => void;\n title: string;\n errors: any;\n isOpen: boolean;\n isLoading: boolean;\n patientName: string;\n patientSubscription: SubscriptionModel;\n eligiblePatientProducts: PatientProductModel[];\n}\n\n\nconst ManagePatientProductsComponent: FC = (props): JSX.Element => {\n const {\n id, isLoading, title, errors, params, isOpen, patientName, patientSubscription, eligiblePatientProducts,\n handleOpenToggle,\n handleChanges,\n handleGetActivePatientProducts,\n handleRestoreSubscriptionPrice,\n handleResetPatientProducts\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const capitalize=(str)=> {\n return str.charAt(0).toUpperCase() + str.slice(1);\n }\n\n const getParamTitle = (paramName) => {\n if(paramName.includes('Id')){\n return paramName.split('Id').map(capitalize).join(\" \")+' Id';\n }\n }\n\n const getDate = (date) => {\n return date\n ? moment(date).format('MM/DD/YYYY')\n : '-'\n }\n\n const [step, setStep] = React.useState(ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS);\n\n const renderTable = () => {\n if (isLoading) {\n return \n }\n \n if (!isLoading && (!eligiblePatientProducts || !eligiblePatientProducts.length)) {\n return \n }\n\n return (\n \n \n \n \n Type\n SubType\n Expires\n UsedAt\n UsedBy\n \n \n \n {eligiblePatientProducts.map((product, index) => (\n \n \n \n {ProductTypeNames[product.productType]}\n \n \n \n \n {ProductSubTypeNames[product.productSubType]}\n \n \n \n \n {getDate(product.expiredAt)}\n \n \n \n \n {getDate(product.usedAt)}\n \n \n \n \n {product.usedBy ?? '-'}\n \n \n \n ))}\n \n
\n
\n )\n }\n\n const renderStep1 = (params: any) => (\n \n {\n Object.keys(params).map((param, index) => {\n return (\n \n \n {getParamTitle(param)} *\n handleChanges(v.target.id, v.target.value, ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS)}\n />\n \n )\n })\n }\n \n Execute\n \n \n )\n\n const renderStep2 = () => (\n \n \n Patient Name\n \n \n \n Subscription\n \n \n \n Start Date\n \n \n \n End Date\n \n \n \n Products\n {renderTable()}\n \n \n \n \n Restore\n \n \n \n \n Reset\n \n \n \n \n \n )\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n } aria-label=\"breadcrumb\">\n setStep(ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS)}>\n Step 1\n \n patientSubscription && setStep(ToolEnum.MANAGE_PATIENT_PRODUCTS)}>\n Step 2\n \n \n \n {step === ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS && renderStep1(params[ToolEnum.GET_ACTIVE_PATIENT_PRODUCTS])}\n {step === ToolEnum.MANAGE_PATIENT_PRODUCTS && renderStep2()}\n \n \n )\n\n}\n\nexport default ManagePatientProductsComponent;","import React, {FC, Fragment} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, FormHelperText, Select, MenuItem, Checkbox } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { PaymentStrategy, PaymentPriceType, PaymentPriceTypeNames } from \"../../../../payment/models/paymentPrice.models\";\nimport { ProductType, ProductTypeNames } from \"../../../../products/enums/productType\";\nimport {InclusionOption, InclusionOptionNames, PaymentPlanModel} from \"../../../../payment/models/paymentPlan.models\";\nimport { ToolEnum } from '../manageApiResponseComponent.hooks';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from '../../../../common/constants/colors';\nimport AddIcon from '@material-ui/icons/Add';\nimport RemoveIcon from '@material-ui/icons/Remove';\n\ntype EndpointAdminToolProps = {\n id: string;\n params: any;\n paymentPlans: PaymentPlanModel[];\n handleChanges: (field: string, value: any, tool: ToolEnum) => void;\n handleOpenToggle: () => void;\n handleCreateDefaultPaymentPlan: (any) => void;\n title: string;\n errors: any;\n isOpen: boolean;\n isLoading: boolean;\n toolMenu: ToolEnum;\n}\n\n\nconst CreateDefaultPaymentPlanComponent: FC = (props): JSX.Element => {\n const {\n id, isLoading, title, errors, params, paymentPlans, isOpen, toolMenu,\n handleOpenToggle,\n handleChanges,\n handleCreateDefaultPaymentPlan,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const controlIcon = ;\n const controlCheckedIcon = \n\n const initialPrice = {\n strategy: PaymentStrategy.FullPayment,\n originalPrice: 0,\n discount: 0,\n price: 0,\n isAutoRenewal: true,\n startupFee: 0,\n discountInsurance: 0,\n type: PaymentPriceType.Default\n }\n\n const initialInclusion = {\n productType: ProductType.Membership,\n option: InclusionOption.NoOne,\n count: 0\n }\n\n const handleAddPrice = () => {\n const prices = params.prices;\n prices.push(initialPrice)\n handleChanges(\"prices\", prices, toolMenu);\n }\n\n const handleRemovePrice = (index: number) => {\n const prices = params.prices;\n prices.splice(index, 1);\n handleChanges(\"prices\", prices, toolMenu);\n }\n\n const handleChangesPrice = (field: string, value: any, index: number) => {\n const price = params.prices[index];\n price[field] = value;\n const prices = params.prices.map((item, i) => i === index ? price : item);\n handleChanges(\"prices\", prices, toolMenu);\n }\n\n const handleAddInclusion = () => {\n const inclusions = params.inclusions;\n inclusions.push(initialInclusion);\n handleChanges(\"inclusions\", inclusions, toolMenu);\n }\n\n const handleRemoveInclusion = (index: number) => {\n const inclusions = params.inclusions;\n inclusions.splice(index, 1);\n handleChanges(\"inclusions\", inclusions, toolMenu);\n }\n\n const handleChangesInclusion = (field: string, value: any, index: number) => {\n const inclusion = params.inclusions[index];\n inclusion[field] = value;\n const inclusions = params.inclusions.map((item, i) => i === index ? inclusion : item);\n handleChanges(\"inclusions\", inclusions, toolMenu);\n }\n\n const renderPricesContent = () => {\n return (\n <>\n \n \n \n {params.prices.map((price, index) => (\n \n \n \n \n \n \n \n Payment Strategy *\n {\n if (price.strategy === null || !price.strategy) {\n return Select;\n }\n\n return price.strategy === PaymentStrategy.FullPayment ? \"Yearly\" : \"Monthly\";\n }}\n displayEmpty\n onChange={(v) => handleChangesPrice(\"strategy\", v.target.value, index)}\n >\n Yearly\n Monthly\n \n {errors[`strategy`]}\n \n \n \n OriginalPrice *\n handleChangesPrice(v.target.id, v.target.value, index)}\n />\n \n \n Price *\n handleChangesPrice(v.target.id, v.target.value, index)}\n />\n \n \n Discount *\n handleChangesPrice(v.target.id, v.target.value, index)}\n />\n \n \n StartupFee *\n handleChangesPrice(v.target.id, v.target.value, index)}\n />\n \n \n DiscountInsurance *\n handleChangesPrice(v.target.id, v.target.value, index)}\n />\n \n \n IsAutoRenewal *\n \n handleChangesPrice(\"isAutoRenewal\", true, index)}\n />\n Yes\n handleChangesPrice(\"isAutoRenewal\", false, index)}\n />\n No\n \n \n \n \n PaymentType *\n {\n if (price.type === null) {\n return Select;\n }\n\n return PaymentPriceTypeNames[price.type];\n }}\n displayEmpty\n onChange={(v) => handleChangesPrice(\"type\", v.target.value, index)}\n >\n {PaymentPriceTypeNames[PaymentPriceType.Default]}\n {PaymentPriceTypeNames[PaymentPriceType.Insurance]}\n {PaymentPriceTypeNames[PaymentPriceType.PromoCode]}\n {PaymentPriceTypeNames[PaymentPriceType.InsurancePromoCode]}\n \n {errors[`type`]}\n \n \n \n \n ))}\n \n )\n }\n\n const renderInclusionsContent = () => {\n return (\n <>\n \n \n \n {params.inclusions.map((inclusion, index) => (\n \n \n \n \n \n \n \n ProductType *\n {\n if (inclusion.productType === null) {\n return Select;\n }\n\n return ProductTypeNames[inclusion.productType];\n }}\n displayEmpty\n onChange={(v) => handleChangesInclusion(\"productType\", v.target.value, index)}\n >\n {ProductTypeNames[ProductType.Membership]}\n {ProductTypeNames[ProductType.StartupFee]}\n {ProductTypeNames[ProductType.AddOns]}\n {ProductTypeNames[ProductType.PhysicianVisit]}\n {ProductTypeNames[ProductType.SickVisit]}\n {ProductTypeNames[ProductType.HealthCoachVisit]}\n {ProductTypeNames[ProductType.FollowUpLabs]}\n {ProductTypeNames[ProductType.FreeLabOrder]}\n \n {errors[`productType`]}\n \n \n \n \n Option *\n {\n if (inclusion.option === null) {\n return Select;\n }\n\n return InclusionOptionNames[inclusion.option];\n }}\n displayEmpty\n onChange={(v) => handleChangesInclusion(\"option\", v.target.value, index)}\n >\n {InclusionOptionNames[InclusionOption.NoOne]}\n {InclusionOptionNames[InclusionOption.FirstFree]}\n {InclusionOptionNames[InclusionOption.FirstAnnualFree]}\n {InclusionOptionNames[InclusionOption.Limited]}\n {InclusionOptionNames[InclusionOption.Unlimited]}\n \n {errors[`type`]}\n \n \n \n Count *\n handleChangesInclusion(v.target.id, v.target.value, index)}\n />\n \n \n \n ))}\n \n )\n }\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n \n Name *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n DisplayName *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n Title *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n Plan Template *\n \n \n {errors[`selectedPlan`]}\n \n \n \n Practice Id *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n PeriodInMonths *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n StripeProductId *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n Desired Id *\n handleChanges(v.target.id, v.target.value, toolMenu)}\n />\n \n \n IsActive *\n \n handleChanges(\"isActive\", true, toolMenu)}\n />\n Yes\n handleChanges(\"isActive\", false, toolMenu)}\n />\n No\n \n \n \n IncludeDefaultAddOns *\n \n handleChanges(\"includeDefaultAddOns\", true, toolMenu)}\n />\n Yes\n handleChanges(\"includeDefaultAddOns\", false, toolMenu)}\n />\n No\n \n \n \n CanBeActivated *\n \n handleChanges(\"canBeActivated\", true, toolMenu)}\n />\n Yes\n handleChanges(\"canBeActivated\", false, toolMenu)}\n />\n No\n \n \n \n IsPrecisionCarePackageFlow *\n \n handleChanges(\"isPrecisionCarePackageFlow\", true, toolMenu)}\n />\n Yes\n handleChanges(\"isPrecisionCarePackageFlow\", false, toolMenu)}\n />\n No\n \n \n {renderPricesContent()}\n {renderInclusionsContent()}\n \n Execute\n \n \n \n \n )\n\n}\n\nexport default CreateDefaultPaymentPlanComponent;","import React, {FC, Fragment} from 'react';\nimport { Box, Collapse, ListItem, ListItemText, TextField, FormControl, Select, MenuItem } from \"@material-ui/core\";\nimport ExpandLess from \"@material-ui/icons/ExpandLess\";\nimport ExpandMore from \"@material-ui/icons/ExpandMore\";\nimport { WildHealthButton } from \"../../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useStyles } from \"../manageApiResponseComponent.styles\";\nimport {ToolEnum} from \"../manageApiResponseComponent.hooks\";\nimport { EmployerProductModel } from '../../../models/employerProduct.model';\n\ntype EndpointAdminToolProps = {\n id: string\n params: any\n handleChanges: (field: string, value: any, tool: ToolEnum) => void,\n handleOpenToggle: ()=>void\n handleClick: (any)=>void\n title: string\n errors:any\n isOpen: boolean\n isLoading: boolean\n toolMenu: ToolEnum\n products: EmployerProductModel[]\n}\n\n\nconst ChangeSubscriptionPriceComponent: FC = (props): JSX.Element => {\n const {id, isLoading, title, errors, params, handleOpenToggle, handleClick, handleChanges, isOpen, products} = props;\n\n const classes = useStyles();\n\n return (\n \n \n {title}}/>\n {isOpen ? : }\n \n \n \n \n Subscription Id *\n handleChanges(\"subscriptionId\", v.target.value, ToolEnum.CHANGE_SUBSCRIPTION_PRICE)}\n />\n \n \n Price Id *\n handleChanges(\"priceId\", v.target.value, ToolEnum.CHANGE_SUBSCRIPTION_PRICE)}\n />\n \n \n CouponCode\n handleChanges(\"couponCode\", v.target.value, ToolEnum.CHANGE_SUBSCRIPTION_PRICE)}\n />\n \n \n \n Employer Product\n {\n if (params.employerProductId === -1) {\n return No Change;\n }\n if (params.employerProductId === 0) {\n return Remove;\n }\n\n return products.find(p => p.id === params.employerProductId)?.name\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"employerProductId\", v.target.value, ToolEnum.CHANGE_SUBSCRIPTION_PRICE)}\n >\n No Change\n Remove\n {products.map(p => (\n {p.name}\n ))}\n \n \n \n \n Execute\n \n \n \n \n )\n\n}\n\nexport default ChangeSubscriptionPriceComponent;","import { Box, Grid, List } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {ToolEnum, useFacade} from './manageApiResponseComponent.hooks';\nimport {useStyles} from './manageApiResponseComponent.styles';\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {PagesNamesService} from '../../../../constants/pagesNames.constants';\nimport EndpointAdminComponent from \"./endPointAdmin/EndpointAdminComponent\";\nimport LoginOnBehalfOfUserComponent from \"./endPointAdmin/LoginOnBehalfOfUser\";\nimport ViewAllIntegrationIdsComponent from \"./endPointAdmin/ViewAllIntegrationIds\";\nimport BuyProductsComponent from \"./endPointAdmin/BuyProductsComponent\";\nimport ChangeSubscriptionComponent from \"./endPointAdmin/ChangeSubscriptionComponent\";\nimport ChangePaymentPlanInsuranceStatesComponent from \"./endPointAdmin/ChangePaymentPlanInsuranceStates\";\nimport ManagePatientProductsComponent from \"./endPointAdmin/ManagePatientProductsComponent\";\nimport CreateDefaultPaymentPlanComponent from \"./endPointAdmin/CreateDefaultPaymentPlanComponent\";\nimport ChangeSubscriptionPriceComponent from \"./endPointAdmin/ChangeSubscriptionPriceComponent\";\n\nexport const ManageApiResponseComponent: React.FC = () => {\n const [\n {\n isLoading,\n isStateLoading,\n isProductsLoading,\n filtersState,\n responseView,\n params,\n errors,\n menuParams,\n menuStates,\n eligiblePaymentCoupons,\n eligiblePaymentPlans,\n activePaymentPlans,\n patientName,\n patientSubscription,\n eligiblePatientProducts,\n products\n },\n handleToggle,\n handleToggleLoginBehalf,\n handleToggleIntegration,\n handleToggleChangeInsuranceStates,\n getLoginOnBehalfOfUser,\n getAllIntegrationIds,\n handleAddInsuranceStates,\n handleRemoveInsuranceStates,\n handleRestoreSubscriptionPrice,\n handleResetPatientProducts,\n handleSubmit,\n handleChanges,\n handleChangesGeneric\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const loading = isLoading || isStateLoading || isProductsLoading;\n\n const renderResponse = () => {\n if (loading) {\n return \n }\n\n if (responseView) {\n return \n
{JSON.stringify(responseView, null, 4)}
\n
\n }\n\n return <>\n }\n\n return (\n \n \n \n \n {PagesNamesService.engineeringAdminTool}\n \n \n \n\n \n \n \n \n \n Request\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Response\n \n {renderResponse()}\n \n \n \n \n \n );\n}","import React from 'react';\nimport { withRouter } from 'react-router';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageApiResponseComponent } from '../../components/manageApiResponseComponent/ManageApiResponseComponent';\n\nclass EngineeringAdminPage extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default withRouter(EngineeringAdminPage);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../../common/validation/error-state\";\nimport { EmployerProductModel } from \"../../../models/employerProduct.model\";\nimport { employerProductsService } from \"../../../services/employerProducts.service\";\nimport { employerProductsQuery } from \"../../../stores/employerProductsStore\";\n\ninterface EmployerDetailDialogComponentState extends IErrorState {\n employer: EmployerProductModel;\n isLoading: boolean;\n}\n\nconst initEmployerModel: EmployerProductModel = {\n id: 0,\n universalId: '',\n name: '',\n key: '',\n isDefault: false,\n description: '',\n bannerCdnUrl: '',\n supportedPaymentPricesDescription: [],\n inclusionsDescription: [],\n discountsDescription: [],\n};\n\nexport function useFacade(\n employerId: number,\n isOpen: boolean\n): [\n EmployerDetailDialogComponentState\n] {\n\n const [state, setState] = useState({\n employer: initEmployerModel,\n isLoading: true\n } as EmployerDetailDialogComponentState);\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(employerProductsQuery.selectedEmployer$, selectedEmployer => {\n if (selectedEmployer && selectedEmployer.id === employerId) {\n setState(state => ({\n ...state,\n employer: selectedEmployer,\n }));\n }\n }),\n ];\n\n if (isOpen) {\n setState((state) => ({\n ...state,\n isLoading: true,\n employer: Object.assign({}, initEmployerModel),\n }));\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n employerProductsService.getEmployerProductById(employerId).subscribe(cb, cb);\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n };\n\n useEffect(useEffectCB, [isOpen]);\n\n return [ state ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n },\n },\n dialogTitle: {\n margin: 0,\n padding: theme.spacing(2),\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n dialogContent: {\n minHeight: 400,\n paddingLeft: 40,\n paddingRight: 40,\n paddingBottom: 30,\n [theme.breakpoints.down(\"xs\")]: {\n padding: 16,\n },\n },\n sectionTitle: {\n fontSize: 18,\n fontWeight: 500,\n },\n contextStyle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n employerBanner: {\n height: 75,\n },\n }),\n);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { paymentPlansQuery } from \"../../../payment/stores/paymentPlansStore\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport { PromoCodeVewModel } from \"../../../payment/models/paymentCoupon.model\";\n\nexport enum SortingSource {\n None,\n Discount = \"discount\",\n ExpirationDate = \"expirationDate\",\n Plans = \"paymentPlans\",\n Additional = \"additional\",\n Status = \"status\"\n}\n\ninterface PromoCodesState extends IPaginationState, ISortingState {\n isLoading: boolean;\n promoCodes: PromoCodeVewModel[];\n originalPromoCodes: PromoCodeVewModel[];\n menuAnchorEl: HTMLButtonElement;\n searchKey: string;\n selectedCodeId: number;\n targetCode: PromoCodeVewModel;\n}\n\nlet stateContext: PromoCodesState;\n\nexport function useFacade(): [\n PromoCodesState,\n (query: string) => void,\n () => number[],\n (value: any) => void,\n (page: number) => void,\n (source: string, direction: SortingDirection) => void,\n (promoCodeId: number, menuAnchorEl?: HTMLButtonElement) => void,\n () => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n promoCodes: [],\n originalPromoCodes: [],\n menuAnchorEl: null,\n searchKey: '',\n selectedCodeId: null,\n targetCode: null,\n sortingColumns: [\n {title: 'Code name'},\n {title: 'Discount', direction: SortingDirection.Asc, source: SortingSource.Discount},\n {title: 'Plans', direction: SortingDirection.Asc, source: SortingSource.Plans},\n {title: 'Expiration date', direction: SortingDirection.Asc, source: SortingSource.ExpirationDate},\n {title: 'Additional', direction: SortingDirection.Asc, source: SortingSource.Additional},\n {title: 'Status', direction: SortingDirection.Asc, source: SortingSource.Status}\n ],\n sortingSource: SortingSource.None,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[0]\n } as PromoCodesState);\n\n stateContext = state;\n\n const handleOnFilter = (search: string) => {\n setState(state => ({...state, searchKey: search}));\n }\n\n const handleSearchSubmit = (query: string) => {\n const searchQuery = query ?? '';\n\n const trimedSearch = decodeURIComponent(searchQuery).trim().toLowerCase();\n const arrayTrimSearchKey = trimedSearch.split(' ');\n\n const filteredPromoCodes = state.originalPromoCodes?.filter(\n (e) =>\n arrayTrimSearchKey.find((item) =>\n e.code?.toLowerCase().includes(item)\n ) !== undefined\n );\n \n setState(state => ({\n ...state,\n isLoading: false,\n selectedPage: 1,\n promoCodes: searchQuery ? filteredPromoCodes : state.originalPromoCodes,\n totalCount: searchQuery ? filteredPromoCodes.length : state.originalPromoCodes.length,\n }));\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({ ...state, columns: state.sortingColumns }));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n setState(state => ({\n ...state,\n sortingSource: source,\n promoCodes: state.promoCodes.sort((p1, p2) => handleCompare(p1, p2, direction, source))\n }));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n selectedPage: page\n }));\n }\n\n const handleToggleMenu = (promoCodeId: number, menuAnchorEl?: HTMLButtonElement) => {\n setState(state => ({ \n ...state, \n menuAnchorEl,\n selectedCodeId: promoCodeId,\n targetCode: promoCodeId > 0 ? state.promoCodes.find(pc => pc.id === promoCodeId) : null\n }))\n }\n\n const handleDeactivate = () => {\n paymentPlansService.deactivatePromoCode({...state.targetCode, status: \"Inactive\"}).subscribe();\n handleToggleMenu(0);\n }\n\n const handleDelete = () => {\n paymentPlansService.deletePromoCode(state.selectedCodeId).subscribe();\n handleToggleMenu(0);\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.promoCodes$, promoCodes => {\n setState(state => ({\n ...state,\n promoCodes: promoCodes,\n originalPromoCodes: promoCodes,\n totalCount: promoCodes.length\n }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n paymentPlansService.getPromoCodes().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (!stateContext.isLoading) {\n handleSearchSubmit(stateContext.searchKey);\n }\n }, 1000);\n\n return () => clearTimeout(delayDebounceFn)\n }, [stateContext.searchKey]);\n\n return [\n state,\n handleOnFilter,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleSorting,\n handleToggleMenu,\n handleDeactivate,\n handleDelete\n ];\n}","import {\n Box,\n Dialog,\n DialogContent,\n Grid,\n IconButton,\n} from \"@material-ui/core\";\nimport MuiDialogTitle from '@material-ui/core/DialogTitle';\nimport CloseIcon from '@material-ui/icons/Close';\nimport clsx from 'clsx';\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolder } from \"../../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useFacade } from \"./employerDetailDialogComponent.hooks\";\nimport { useStyles } from \"./employerDetailDialogComponent.styles\";\nimport commonUseStyles from \"../../../../common/styles/common.styles\";\nimport { RoutesConstants } from \"../../../../../constants/route.constants\";\n\nexport interface EmployerDetailDialogComponentProps {\n employeeId: number;\n isOpen: boolean;\n handleToggleDialog: (status: boolean, employerId: number) => void;\n}\n\nexport const EmployerDetailDialogComponent: React.FC = (props: EmployerDetailDialogComponentProps) => {\n const { employeeId, isOpen, handleToggleDialog } = props;\n const classes = useStyles();\n const [\n { employer, isLoading }\n ] = useFacade(employeeId, isOpen);\n\n const commonClasses = commonUseStyles();\n\n const renderNoData = () => \n\n const renderDescription = (descriptions: string[]) => {\n if (descriptions && descriptions.length > 0) {\n return descriptions.map((description, index) => {description})\n } else {\n return renderNoData();\n }\n }\n\n const renderInclusionsDescription = () => {\n if (employer.supportedPaymentPricesDescription && employer.supportedPaymentPricesDescription.length > 0) {\n return Inclusions are determined from supported PaymentPrices\n } else {\n return renderDescription(employer.inclusionsDescription);\n }\n }\n \n const renderContent = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && !employer) {\n return \n }\n\n return (<>\n \n \n Name:\n \n {employer.name}\n \n \n \n Key:\n \n {employer.key}\n \n \n \n Banner Image:\n \n \n {employer?.bannerCdnUrl ? \"img\" : renderNoData()}\n \n \n \n \n Supported Payment Price Ids:\n \n {renderDescription(employer.supportedPaymentPricesDescription)}\n \n \n \n Inclusions:\n \n {renderInclusionsDescription()}\n \n \n \n Discounts:\n \n {renderDescription(employer.discountsDescription)}\n \n )\n }\n\n return (\n <>\n handleToggleDialog(false, 0)}\n className={classes.root}\n open={isOpen}\n maxWidth=\"md\"\n >\n \n \n Employer Information\n \n handleToggleDialog(false, 0)}\n >\n \n \n \n\n \n \n {renderContent()}\n \n \n \n \n );\n}\n","import {\n Box,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableRow,\n TableSortLabel,\n} from '@material-ui/core';\nimport React from 'react';\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { useFacade } from './manageEmployerProductsComponent.hooks';\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { EmployerDetailDialogComponent } from './EmployerDetailDialogComponent/EmployerDetailDialogComponent';\n\nexport const ManageEmployerProductsComponent: React.FC = () => {\n const [\n {\n isLoading,\n employers,\n isOpenEmployerDetail,\n selectedEmployerId,\n sortingColumns,\n sortingSource,\n totalCount,\n pageSize,\n selectedPage\n },\n handleSearchSubmit,\n handleSorting,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleToggleEmployerDetail\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n\n const renderTable = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && (!employers || !employers.length)) {\n return \n }\n\n return (\n <>\n \n \n \n \n {\n sortingColumns.map((item, index) =>\n \n handleSorting(item.source, item.direction)}\n >\n {item.title}\n \n \n )\n }\n \n \n \n {employers.slice((selectedPage - 1) * pageSize, (selectedPage - 1) * pageSize + pageSize).map((employer, index) => (\n \n \n handleToggleEmployerDetail(!isOpenEmployerDetail, employer.id)}\n content={{employer.name}}\n />\n \n \n handleToggleEmployerDetail(!isOpenEmployerDetail, employer.id)}\n content={{employer.key}}\n />\n \n \n ))}\n \n
\n
\n \n \n \n \n )\n }\n\n return (\n \n \n \n \n {PagesNamesService.employers}\n \n \n \n \n \n \n\n \n {renderTable()}\n \n \n \n );\n}","import React from 'react';\nimport { withRouter } from 'react-router';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageEmployerProductsComponent } from '../../components/manageEmployerProductsComponent/ManageEmployerProductsComponent';\n\nclass EmployerAdminPage extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default withRouter(EmployerAdminPage);\n","import { TextField } from '@material-ui/core';\nimport { makeStyles, withStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n backgroundColor: colors.white,\n maxWidth: 465,\n minHeight: 'calc(100vh - 220px)'\n },\n statusPointer: {\n marginTop: 10,\n borderRadius: 5,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: colors.lightGray,\n }\n },\n search: {\n backgroundColor: colors.white,\n borderColor: colors.white,\n },\n searchBase: {\n padding: '10px 14px',\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n icon: {\n color: colors.gray2,\n },\n menuIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n \"&.MuiIconButton-root\": {\n padding: 0,\n color: colors.black,\n },\n },\n },\n}));\n\nexport const SearchTextField = withStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: colors.white,\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: colors.white,\n },\n '&:hover fieldset': {\n borderColor: colors.white,\n },\n '&.Mui-focused fieldset': {\n borderColor: colors.white,\n },\n },\n },\n})(TextField);\n","export interface CouponCodeModel {\n couponCode: string;\n}\n\nexport enum DiscountType\n{\n Percentage = 1,\n Nominal = 2\n}\n\nexport const DiscountTypeNames = new Map([\n [DiscountType.Percentage, \"%\"],\n [DiscountType.Nominal, \"$\"],\n]);\n\nexport interface CreatePromoCodeModel {\n code: string,\n description: string,\n discount: number;\n discountType: DiscountType;\n paymentPlans: number[];\n isDiscountStartupFee: boolean;\n isDiscountLabs: boolean;\n isAppliedForInsurance: boolean;\n expirationDate: Date | null;\n}\n\nexport interface PromoCodeVewModel {\n id: number;\n code: string;\n discount: number;\n discountUnitOfMeasure: string;\n paymentPlans: string[];\n additional: string[];\n status: string;\n canDelete: boolean;\n canDeactivate: boolean;\n description: string;\n expirationDate: Date;\n}\n","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n notWhitespaceValidationRule,\n requiredValidationRule,\n notNegativeValidationRule\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const createPromoCodeComponentValidator = new GeneralValidator({\n 'code': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'discount': [notWhitespaceValidationRule(), notNegativeValidationRule(\"Discount amount can not be negative\")],\n});","import { TextField, Switch } from '@material-ui/core';\nimport { makeStyles, withStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n label: {\n color: colors.darkPurple,\n fontSize: 14,\n fontWeight: 400,\n },\n searchBase: {\n padding: '10px 14px',\n },\n icon: {\n color: colors.darkPurple\n },\n activeIcon: {\n color: colors.main,\n },\n seeMoreBtn: {\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n cursor: 'pointer'\n }\n}));\n\nexport const DiscountAmountField = withStyles({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n})(TextField);\n\nexport const WildHealthSwitch = withStyles({\n switchBase: {\n color: colors.mediumGray,\n '&$checked': {\n color: colors.lightBlue2,\n '& + $track': {\n opacity: 1,\n backgroundColor: colors.main,\n },\n },\n },\n checked: {},\n track: {\n opacity: 1,\n backgroundColor: colors.lightGray1,\n },\n})(Switch);\n","import {\n Box,\n FormControl,\n FormHelperText,\n Select,\n MenuItem,\n TextField,\n Collapse,\n Popover,\n IconButton\n} from '@material-ui/core';\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { useFacade } from './createPromoCodeComponent.hooks';\nimport { useStyles, DiscountAmountField, WildHealthSwitch } from \"./createPromoCodeComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport { DiscountTypeNames, DiscountType } from \"../../../payment/models/paymentCoupon.model\";\nimport ExpandLessIcon from '@material-ui/icons/ExpandLess';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport CheckIcon from '@material-ui/icons/Check';\nimport ArrowDropDownIcon from '@material-ui/icons/ArrowDropDown';\nimport ArrowDropUpIcon from '@material-ui/icons/ArrowDropUp';\nimport { WildHealthDatePicker } from '../../../common/components/WildHealthDatePicker';\nimport moment from 'moment';\n\nexport const CreatePromoCodeComponent: React.FC = () => {\n const [\n {\n isLoading,\n isSubmitted,\n isSpecific,\n isSeeMoreOption,\n params,\n activePaymentPlans,\n errors,\n menuAnchorEl\n },\n handleToggleMoreOptions,\n handleToggleDiscountType,\n handleToggleSpecificChange,\n handleChanges,\n handleCancel,\n handleCreate,\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n if (isLoading) {\n return \n }\n\n const getExpirationDate = () => {\n return params.expirationDate\n ? moment(params.expirationDate).format('YYYY-MM-DD')\n : null\n }\n\n return (\n \n \n Create a promo code\n \n \n handleCancel()}\n color=\"secondary\"\n fullWidth\n style={{ height: 48 }}\n >\n Cancel\n \n \n \n handleCreate()}\n fullWidth\n style={{ height: 48 }}\n >\n Create\n \n \n \n \n \n \n \n Promo Code*\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n Description (optional)\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n Discount Amount*\n handleChanges(v.target.id, v.target.value)}\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: \n {DiscountTypeNames.get(params.discountType)}\n handleToggleDiscountType(e.currentTarget)}\n size='small'\n >\n {Boolean(menuAnchorEl) ? : }\n \n ,\n }}\n />\n \n \n Expiration date\n \n handleChanges(`expirationDate`, momentDate.format(\"YYYY-MM-DD\")\n )}\n />\n \n \n \n \n Apply to specific products\n \n \n \n \n \n {isSpecific && (\n \n \n {\n if (!params.paymentPlans || !params.paymentPlans.length) {\n return Find a product;\n }\n\n return params.paymentPlans.length === 1 ? `${params.paymentPlans.length} plan selected` : `${params.paymentPlans.length} plans selected`\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"paymentPlans\", v.target.value)}\n >\n {activePaymentPlans?.map(plan => (\n \n \n {plan.displayName}\n {params.paymentPlans.includes(plan.id) && }\n \n \n ))}\n \n {errors[`paymentPlans`]}\n \n \n )}\n \n \n \n See more options\n \n {isSeeMoreOption ? : }\n \n \n \n \n Discount startup fee\n \n handleChanges(\"isDiscountStartupFee\", e.target.checked)}\n />\n \n \n \n Discount labs\n \n handleChanges(\"isDiscountLabs\", e.target.checked)}\n />\n \n \n \n Applies to insurance\n \n handleChanges(\"isAppliedForInsurance\", e.target.checked)}\n />\n \n \n \n \n \n \n \n handleToggleDiscountType(null)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n handleChanges('discountType', DiscountType.Percentage)}>{DiscountTypeNames.get(DiscountType.Percentage)}\n handleChanges('discountType', DiscountType.Nominal)}>{DiscountTypeNames.get(DiscountType.Nominal)}\n \n \n )\n}","import { useEffect, useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { createPromoCodeComponentValidator } from \"./createPromoCodeComponent.validator\";\nimport { PaymentPlanModel } from \"../../../payment/models/paymentPlan.models\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { addressService } from \"../../../account/services/address.service\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport { CreatePromoCodeModel, DiscountType } from \"../../../payment/models/paymentCoupon.model\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\ninterface CreatePromoCodesState extends IErrorState {\n isLoading: boolean;\n isSubmitted: boolean;\n isSpecific: boolean;\n isSeeMoreOption: boolean;\n activePaymentPlans: PaymentPlanModel[];\n params: CreatePromoCodeModel;\n menuAnchorEl: HTMLButtonElement;\n}\n\nexport function useFacade(): [\n CreatePromoCodesState,\n () => void,\n (menuAnchorEl?: HTMLButtonElement) => void,\n (event: React.ChangeEvent) => void,\n (field: string, value: any) => void,\n () => void,\n () => void,\n] {\n const initialParmas = {\n code: '',\n description: '',\n discount: 0,\n discountType: DiscountType.Percentage,\n paymentPlans: [],\n isDiscountStartupFee: false,\n isDiscountLabs: false,\n isAppliedForInsurance: false,\n expirationDate: null\n }\n \n const [state, setState] = useState({\n isLoading: true,\n isSubmitted: false,\n isSpecific: false,\n isSeeMoreOption: false,\n activePaymentPlans: [],\n params: initialParmas,\n menuAnchorEl: null,\n errors: {},\n } as CreatePromoCodesState);\n\n const handleToggleMoreOptions = () => {\n setState(state => ({\n ...state,\n isSeeMoreOption: !state.isSeeMoreOption\n }))\n }\n\n const handleToggleDiscountType = (menuAnchorEl?: HTMLButtonElement) => {\n setState(state => ({ \n ...state, \n menuAnchorEl,\n }))\n }\n\n const handleToggleSpecificChange = (event: React.ChangeEvent) => {\n setState({ ...state, isSpecific: event.target.checked });\n };\n\n const handleChanges = (field: string, value: any) => {\n createPromoCodeComponentValidator.validateAndSetState(state, setState, field, value);\n\n const params = state.params;\n if (field === 'paymentPlans') {\n const index = params.paymentPlans.findIndex(x => x === value);\n index > -1 ? params.paymentPlans.splice(index, 1) : params.paymentPlans.push(value);\n if (!params.paymentPlans.length) {\n GeneralValidator.addError(state, 'paymentPlans', 'Please select the product.');\n setState(state => ({\n ...state,\n errors: state.errors\n }))\n } else {\n GeneralValidator.removeError(state, 'paymentPlans');\n setState(state => ({\n ...state,\n errors: state.errors\n }))\n }\n } else {\n params[field] = value;\n }\n\n setState({...state, params: Object.assign({}, params)});\n handleToggleDiscountType();\n }\n\n const handleCreate = () => {\n createPromoCodeComponentValidator.validateObjectAndSetState(state, setState, state.params);\n if (!createPromoCodeComponentValidator.stateIsValid(state)) {\n return;\n }\n if (state.isSpecific && !state.params.paymentPlans.length) {\n GeneralValidator.addError(state, 'paymentPlans', 'Please select the product.');\n setState({\n ...state,\n errors: state.errors\n });\n return;\n }\n if (!state.isSpecific) {\n state.params.paymentPlans = [];\n }\n\n setState({...state, isSubmitted: true })\n\n const cb = () => setState(state => ({ ...state, isSubmitted: false }));\n\n paymentPlansService.createPromoCode(state.params).subscribe(() => {\n setState(state => ({\n ...state,\n isSubmitted: false,\n params: Object.assign({}, initialParmas)\n }))\n }, cb);\n }\n\n const handleCancel = () => {\n setState(state => ({\n ...state,\n params: Object.assign({}, initialParmas)\n }))\n }\n\n useEffect(() => {\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n const getStateCB = () => setState(state => ({ ...state, isStateLoading: false }))\n\n paymentPlansService.getActive(authQuery.getCurrentPracticeId(), null).subscribe((plans) => \n setState(state => ({\n ...state,\n activePaymentPlans: plans.filter(x => !x.isTrial && !x.isFounder && !x.isLimited),\n isLoading: false\n }))\n , cb);\n addressService.getStates().subscribe(getStateCB, getStateCB); \n }, []);\n\n return [\n state,\n handleToggleMoreOptions,\n handleToggleDiscountType,\n handleToggleSpecificChange,\n handleChanges,\n handleCancel,\n handleCreate\n ];\n}","import {\n Box, \n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Popover\n} from '@material-ui/core';\nimport React from 'react';\nimport moment from \"moment\";\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useFacade } from './managePromoCodesComponent.hooks';\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { useStyles, SearchTextField } from \"./promoCodesComponent.styles\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport { WildHealthStatusLabel } from \"../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { CreatePromoCodeComponent } from '../createPromoCodeComponent/CreatePromoCodeComponent';\nimport SearchIcon from '@material-ui/icons/Search';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\n\nexport const ManagePromoCodesComponent: React.FC = () => {\n const [\n {\n isLoading,\n promoCodes,\n searchKey,\n menuAnchorEl,\n sortingColumns,\n sortingSource,\n totalCount,\n pageSize,\n selectedPage,\n targetCode,\n },\n handleOnFilter,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleSorting,\n handleToggleMenu,\n handleDeactivate,\n handleDelete\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderTable = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && (!promoCodes || !promoCodes.length)) {\n return \n }\n\n return (\n <>\n \n \n \n \n {\n sortingColumns.map((item, index) =>\n \n {item.source\n ? handleSorting(item.source, item.direction)}\n >\n {item.title}\n \n : item.title\n }\n \n )\n }\n Actions\n \n \n \n {promoCodes.slice((selectedPage - 1) * pageSize, (selectedPage - 1) * pageSize + pageSize).map((promoCode, index) => (\n \n \n \n {promoCode.code}\n \n {promoCode.description ?? ''}\n \n \n \n {promoCode.discount}{promoCode.discountUnitOfMeasure}\n \n \n \n {promoCode.paymentPlans.map((plan, index) => {plan})}\n \n \n \n {promoCode.expirationDate ? moment(toCurrentTimeZone(new Date(promoCode.expirationDate))).format('MM/DD/YYYY') : '∞'}\n \n \n \n {promoCode.additional.length > 0 ? promoCode.additional.map((item, index) => {item}) : -}\n \n \n \n {promoCode?.status === \"Active\" ? \"Active\" : \"Inactive\"}\n \n \n \n handleToggleMenu(promoCode.id, e.currentTarget)} className={classes.menuIcon}>\n \n \n \n \n ))}\n \n
\n
\n \n \n \n \n )\n }\n\n return (\n \n \n \n \n {PagesNamesService.promoCodes}\n \n \n \n \n \n \n All coupons\n \n \n ) => handleOnFilter(e.target.value)}\n placeholder='Search by Name'\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: ,\n }}\n value={searchKey}\n />\n \n \n\n \n {renderTable()}\n \n {targetCode && (\n handleToggleMenu(0)}\n anchorOrigin={{\n vertical: 'bottom',\n horizontal: 'right',\n }}\n transformOrigin={{\n vertical: 'top',\n horizontal: 'right',\n }}\n >\n Deactivate\n Delete\n \n )}\n \n );\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManagePromoCodesComponent } from '../../components/managePromoCodesComponent/ManagePromoCodesComponent';\n\nexport const ManagePromoCodesPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { BannerModel } from '../../../../models/banner.model';\n\n/**\n * Represents Banners state\n */\nexport interface BannersState {\n banners: BannerModel[];\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): BannersState {\n return {\n banners: [],\n };\n}\n\n/**\n * Provides banners state management\n */\n@StoreConfig({ name: 'banners', resettable: true })\nexport class BannersStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public addBanner(newBanner: BannerModel) {\n this.update({ banners: [...this.getValue().banners, newBanner] });\n }\n\n public updateBanner(banner: BannerModel) {\n const banners = this.getValue().banners;\n this.update({ banners: banners.map(x => x.id === banner.id ? banner : x) });\n }\n\n public removeBanner(id: number) {\n this.update({ banners: this.getValue().banners.filter(i => i.id !== id) });\n }\n}\n\nexport const bannersStore = new BannersStore();\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { getAvailablePages } from \"../../../common/pagination/helpers/get-evailable-pages\";\nimport { BannerModel } from \"../../../../models/banner.model\";\nimport { bannersService } from \"../../services/banners.service\";\nimport { bannersQuery } from \"../../stores/bannersStore\";\nimport { confirmService } from \"../../../../services/confirm.service\";\n\nexport enum SortingSource {\n None,\n Priority = \"priority\",\n Type = \"type\",\n Status = \"isActive\"\n}\n\ninterface ManageBannersState extends IPaginationState, ISortingState {\n isLoading: boolean;\n banners: BannerModel[];\n originalBanners: BannerModel[];\n searchKey: string;\n isEditOpen: boolean;\n menuAnchorEl: HTMLButtonElement | null;\n selectedBanner: BannerModel | null;\n}\n\nlet stateContext: ManageBannersState;\n\nexport function useFacade(): [\n ManageBannersState,\n (query: string) => void,\n () => number[],\n (value: any) => void,\n (page: number) => void,\n (source: string, direction: SortingDirection) => void,\n (bannerId: number, menuAnchorEl: HTMLButtonElement) => void,\n (status: boolean) => void,\n () => void\n] {\n const [state, setState] = useState({\n isLoading: true,\n banners: [],\n originalBanners: [],\n searchKey: '',\n isEditOpen: false,\n menuAnchorEl: null,\n selectedBanner: null,\n sortingColumns: [\n {title: 'Banner Name'},\n {title: 'Description'},\n {title: 'Type', direction: SortingDirection.Asc, source: SortingSource.Type},\n {title: 'Priority', direction: SortingDirection.Asc, source: SortingSource.Priority},\n {title: 'Status', direction: SortingDirection.Asc, source: SortingSource.Status}\n ],\n sortingSource: SortingSource.None,\n totalCount: 0,\n selectedPage: 1,\n pageSize: pageSizes[0]\n } as ManageBannersState);\n\n stateContext = state;\n\n const handleOnFilter = (search: string) => {\n setState(state => ({...state, searchKey: search}));\n }\n\n const handleSearchSubmit = (query: string) => {\n const searchQuery = query ?? '';\n\n const trimedSearch = decodeURIComponent(searchQuery).trim().toLowerCase();\n const arrayTrimSearchKey = trimedSearch.split(' ');\n\n const filteredBanners = state.originalBanners?.filter(\n (e) =>\n arrayTrimSearchKey.find((item) =>\n e.name?.toLowerCase().includes(item)\n ) !== undefined ||\n arrayTrimSearchKey.find((item) =>\n e.copy?.toLowerCase().includes(item)\n ) !== undefined\n );\n \n setState(state => ({\n ...state,\n isLoading: false,\n selectedPage: 1,\n banners: searchQuery ? filteredBanners : state.originalBanners,\n totalCount: searchQuery ? filteredBanners.length : state.originalBanners.length,\n }));\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({ ...state, columns: state.sortingColumns }));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n setState(state => ({\n ...state,\n sortingSource: source,\n banners: state.banners.sort((p1, p2) => handleCompare(p1, p2, direction, source))\n }));\n }\n\n const getAllAvailablePages = () => {\n return getAvailablePages(state);\n }\n\n const handlePageSizeChange = (value: any) => {\n if (value === state.pageSize) {\n return;\n }\n\n setState(state => ({\n ...state,\n pageSize: value,\n selectedPage: 1\n }));\n }\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n selectedPage: page\n }));\n }\n\n const handleToggleBannerActions = (bannerId: number, menuAnchorEl: HTMLButtonElement) => {\n const banner = state.banners.find(f => f.id === bannerId);\n setState(state => ({\n ...state,\n menuAnchorEl,\n selectedBanner: banner,\n }));\n }\n \n const handleToggleEditBanner = (status: boolean) => {\n setState(state => ({\n ...state,\n isEditOpen: status,\n menuAnchorEl: null\n }))\n }\n \n const handleDeleteBanner = () => {\n setState(state => ({\n ...state,\n menuAnchorEl: null\n }));\n \n confirmService.confirm(\n 'Delete Banner',\n 'Are you sure you want to delete this banner?',\n 'Yes',\n 'Cancel',\n 'danger')\n .subscribe(() => {\n bannersService.deleteBanner(state.selectedBanner.id).subscribe();\n });\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(bannersQuery.banners$, banners => {\n setState(state => ({\n ...state,\n banners: banners,\n originalBanners: banners,\n totalCount: banners.length\n }));\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n bannersService.getAllBanners().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n useEffect(() => {\n const delayDebounceFn = setTimeout(() => {\n if (!stateContext.isLoading) {\n handleSearchSubmit(stateContext.searchKey);\n }\n }, 1000);\n\n return () => clearTimeout(delayDebounceFn)\n }, [stateContext.searchKey]);\n\n return [\n state,\n handleOnFilter,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleSorting,\n handleToggleBannerActions,\n handleToggleEditBanner,\n handleDeleteBanner\n ];\n}","import { Query } from '@datorama/akita';\nimport { BannersState, BannersStore, bannersStore } from \"./bannersStore\";\nimport { BannerModel } from '../../../../models/banner.model';\n\n/**\n * Provides banners queries\n */\nexport class BannersQuery extends Query {\n banners$ = this.select(state => state.banners);\n\n constructor(protected store: BannersStore) {\n super(store);\n }\n\n /**\n * Returns all Banners\n */\n public getAllBanners(): BannerModel[] {\n return this.getValue().banners;\n }\n}\n\nexport const bannersQuery = new BannersQuery(bannersStore);\n","import Axios from 'axios-observable';\nimport {Observable} from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { API_URL } from \"../../../config\";\nimport { snackService } from '../../common/snack/state';\nimport { BannersStore, bannersStore } from \"../stores/bannersStore\";\nimport { BannerModel } from '../../../models/banner.model';\n\n\nexport class BannersService {\n private url = `${API_URL}Banners`;\n\n constructor(private bannersStore: BannersStore) {\n }\n\n /**\n * Returns all Banners\n */\n public getAllBanners(): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.url}/all`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.bannersStore.update({ banners: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n /**\n * Create Banner\n * @param model\n */\n public createBanner(model: BannerModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.bannersStore.addBanner(response.data);\n snackService.success('Banner successfully created');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n /**\n * Update Banner by ID\n * @param model\n */\n public updateBanner(model: BannerModel) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.put(`${this.url}`, model, config)\n .pipe()\n .subscribe(\n response => {\n this.bannersStore.updateBanner(response.data);\n snackService.success('Banner successfully updated');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public deleteBanner(id: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.delete(`${this.url}/${id}`, config)\n .pipe()\n .subscribe(\n () => {\n this.bannersStore.removeBanner(id);\n snackService.success('Banner successfully deleted');\n observer.next();\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const bannersService = new BannersService(bannersStore);\n","import { TextField } from '@material-ui/core';\nimport { makeStyles, withStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n search: {\n backgroundColor: colors.white,\n borderColor: colors.white,\n },\n searchBase: {\n padding: '10px 14px',\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n },\n icon: {\n color: colors.gray2,\n },\n menuIcon: {\n [theme.breakpoints.down(\"xs\")]: {\n \"&.MuiIconButton-root\": {\n padding: 0,\n color: colors.black,\n },\n },\n },\n}));\n\nexport const SearchTextField = withStyles({\n root: {\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiInput-underline:after': {\n borderBottomColor: colors.white,\n },\n '& .MuiOutlinedInput-root': {\n '& fieldset': {\n borderColor: colors.white,\n },\n '&:hover fieldset': {\n borderColor: colors.white,\n },\n '&.Mui-focused fieldset': {\n borderColor: colors.white,\n },\n },\n },\n})(TextField);\n","export enum BannerDisplayType {\n Patient = 1,\n Employee = 2,\n All = 5\n}\n\nexport const bannerTypesNames = new Map([\n [BannerDisplayType.Patient, 'Patient'],\n [BannerDisplayType.Employee, 'Employee'],\n [BannerDisplayType.All, 'All']\n]);\n\nexport interface BannerModel {\n id: number;\n type: BannerDisplayType;\n name: string;\n copy: string;\n isActive: boolean;\n priority: number;\n}","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n notWhitespaceValidationRule,\n requiredValidationRule,\n notNegativeValidationRule\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const modifyBannerValidator = new GeneralValidator({\n 'name': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'copy': [notWhitespaceValidationRule(), requiredValidationRule()],\n 'type': [requiredValidationRule()],\n 'isActive': [requiredValidationRule()],\n 'priority': [notNegativeValidationRule(\"Priority can not be negative\"), requiredValidationRule()]\n});","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n label: {\n color: colors.darkPurple,\n fontSize: 14,\n fontWeight: 400,\n },\n}));\n","import React from 'react';\nimport clsx from 'clsx';\nimport {\n Box,\n FormControl,\n FormHelperText,\n Select,\n MenuItem,\n TextField,\n} from '@material-ui/core';\nimport { useFacade } from './createBannerComponent.hooks';\nimport { useStyles } from \"./createBannerComponent.styles\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { BannerDisplayType, bannerTypesNames } from '../../../../models/banner.model';\n\nexport const CreateBannerComponent: React.FC = () => {\n const [\n {\n isLoading,\n isSubmitted,\n params,\n errors\n },\n handleChanges,\n handleCancel,\n handleCreate,\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n if (isLoading) {\n return \n }\n\n return (\n \n \n Create a banner\n \n \n handleCancel()}\n color=\"secondary\"\n fullWidth\n style={{ height: 48 }}\n >\n Cancel\n \n \n \n handleCreate()}\n fullWidth\n style={{ height: 48 }}\n >\n Create\n \n \n \n \n \n \n \n Name *\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n \n Banner Display Type \n {\n if (params.type === null) {\n return Select;\n }\n\n return bannerTypesNames.get(params.type);\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"type\", v.target.value)}\n >\n All\n Patient\n Employee\n \n {errors[`type`]}\n \n \n \n \n Copy*\n handleChanges(event.target.id, event.target.value)}\n />\n \n \n \n )\n}","import { useEffect, useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { BannerModel, BannerDisplayType } from \"../../../../models/banner.model\";\nimport { modifyBannerValidator } from \"../manageBannersComponent/modifyBanner.validator\";\nimport { bannersService } from \"../../services/banners.service\";\n\ninterface CreatePromoCodesState extends IErrorState {\n isLoading: boolean;\n isSubmitted: boolean;\n params: BannerModel;\n}\n\nexport function useFacade(): [\n CreatePromoCodesState,\n (field: string, value: any) => void,\n () => void,\n () => void,\n] {\n const initialParmas = {\n id: 0,\n name: '',\n copy: '',\n type: BannerDisplayType.All,\n isActive: true,\n priority: 0\n }\n \n const [state, setState] = useState({\n isLoading: true,\n isSubmitted: false,\n params: initialParmas,\n errors: {},\n } as CreatePromoCodesState);\n\n const handleChanges = (field: string, value: any) => {\n modifyBannerValidator.validateAndSetState(state, setState, field, value);\n\n const params = state.params;\n \n params[field] = value;\n\n setState({...state, params: Object.assign({}, params)});\n }\n\n const handleCreate = () => {\n modifyBannerValidator.validateObjectAndSetState(state, setState, state.params);\n if (!modifyBannerValidator.stateIsValid(state)) {\n return;\n }\n\n setState({...state, isSubmitted: true })\n\n const cb = () => setState(state => ({ ...state, isSubmitted: false }));\n\n bannersService.createBanner(state.params).subscribe(() => {\n setState(state => ({\n ...state,\n isSubmitted: false,\n params: Object.assign({}, initialParmas)\n }))\n }, cb);\n }\n\n const handleCancel = () => {\n setState(state => ({\n ...state,\n params: Object.assign({}, initialParmas)\n }))\n }\n\n useEffect(() => {\n setState(state => ({\n ...state,\n isLoading: false,\n params: Object.assign({}, initialParmas)\n }))\n }, []);\n\n return [\n state,\n handleChanges,\n handleCancel,\n handleCreate\n ];\n}","import { useEffect, useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { BannerModel, BannerDisplayType } from \"../../../../models/banner.model\";\nimport { modifyBannerValidator } from \"../manageBannersComponent/modifyBanner.validator\";\nimport { bannersService } from \"../../services/banners.service\";\n\ninterface UpdateBannerComponentState extends IErrorState {\n banner: BannerModel;\n isLoading: boolean;\n}\n\nconst initModel: BannerModel = {\n id: 0,\n name: '',\n copy: '',\n type: BannerDisplayType.All,\n isActive: true,\n priority: 0\n};\n\n\nexport function useFacade(\n selectedBanner: BannerModel,\n isOpen: boolean,\n handleToggleDialog: (value: boolean) => void\n): [\n UpdateBannerComponentState,\n (field: string, value: any) => void,\n () => void\n] {\n const [state, setState] = useState({\n banner: initModel,\n errors: {},\n isLoading: false,\n } as UpdateBannerComponentState);\n\n const handleChanges = (field: string, value: any) => {\n modifyBannerValidator.validateAndSetState(state, setState, field, value);\n\n const banner = state.banner;\n\n banner[field] = value;\n\n setState({ ...state, banner });\n }\n\n const handleUpdate = () => {\n modifyBannerValidator.validateObjectAndSetState(state, setState, state.banner);\n if (!modifyBannerValidator.stateIsValid(state)) {\n return;\n }\n\n setState((state) => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => {\n setState((state) => ({\n ...state,\n errors: {},\n banner: Object.assign({}, initModel),\n isLoading: false\n }));\n\n handleToggleDialog(false);\n }\n\n bannersService.updateBanner(state.banner).subscribe(cb, cb);\n }\n\n const useEffectCB = () => {\n if (isOpen) {\n setState((state) => ({\n ...state,\n errors: {},\n banner: Object.assign({}, selectedBanner)\n }));\n }\n };\n\n useEffect(useEffectCB, [isOpen]);\n\n return [\n state,\n handleChanges,\n handleUpdate\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialogContent: {\n padding: '30px 40px',\n width: 540,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n }),\n);\n","import {\n Box,\n Dialog,\n DialogContent,\n IconButton,\n TextField,\n Checkbox,\n FormControl,\n Select,\n MenuItem,\n FormHelperText\n} from \"@material-ui/core\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./updateBannerComponent.hooks\";\nimport { useStyles } from \"./updateBannerComponent.styles\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { BannerModel, bannerTypesNames, BannerDisplayType } from \"../../../../models/banner.model\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport interface UpdateBannerComponentProps {\n selectedBanner: BannerModel;\n isOpen: boolean;\n handleToggleDialog: (value: boolean) => void;\n}\n\nexport const UpdateBannerComponent: React.FC = (props: UpdateBannerComponentProps) => {\n const { selectedBanner, isOpen, handleToggleDialog } = props;\n const [\n {\n banner,\n errors,\n isLoading\n },\n handleChanges,\n handleUpdate\n ] = useFacade(selectedBanner, isOpen, handleToggleDialog);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const controlIcon = ;\n const controlCheckedIcon = \n\n return (\n <>\n handleToggleDialog(false)}\n className={classes.root}\n open={isOpen}\n >\n \n \n \n Edit Banner\n \n \n handleToggleDialog(false)}\n >\n \n \n \n \n \n Name*\n handleChanges(event.target.id, event.target.value)}\n />\n \n \n Copy*\n handleChanges(event.target.id, event.target.value)}\n />\n \n \n \n Type*\n {\n if (banner.type === null) {\n return Select;\n }\n\n return bannerTypesNames.get(banner.type);\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"type\", v.target.value)}\n >\n All\n Patient\n Employee\n \n {errors[`type`]}\n \n \n \n Priority*\n handleChanges(event.target.id, event.target.value)}\n />\n \n \n Status*\n \n handleChanges(\"isActive\", true)}\n />\n Active\n handleChanges(\"isActive\", false)}\n />\n Inactive\n \n \n \n \n handleToggleDialog(false)}\n color=\"tertiary\"\n size='medium'\n disabled={isLoading}\n >\n Cancel\n \n \n \n \n Update Banner\n \n \n \n \n \n \n );\n}\n","import React from 'react';\nimport clsx from 'clsx';\nimport {\n Box, \n Table,\n TableBody,\n TableContainer,\n TableHead,\n TableRow,\n TableSortLabel,\n IconButton,\n Popover,\n ListItemIcon,\n Typography\n} from '@material-ui/core';\nimport SearchIcon from '@material-ui/icons/Search';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport EditIcon from '@material-ui/icons/Edit';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport { useFacade } from './manageBannersComponent.hooks';\nimport { useStyles, SearchTextField } from \"./manageBannersComponent.styles\";\nimport { CreateBannerComponent } from '../createBannerComponent/CreateBannerComponent';\nimport { UpdateBannerComponent } from '../updateBannerComponent/UpdateBannerComponent';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthMenuItem } from '../../../common/components/wildHealthMenu/WildHealthMenu';\nimport { WildHealthStatusLabel } from \"../../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { PaginationComponent } from \"../../../common/pagination/components/paginationComponent/PaginationComponent\";\nimport { PermissionType } from '../../../auth/models/auth.enums';\nimport { ProtectedElement } from '../../../common/components/ProtectedElement';\nimport { bannerTypesNames } from '../../../../models/banner.model';\n\nexport const ManageBannersComponent: React.FC = () => {\n const [\n {\n isLoading,\n banners,\n selectedBanner,\n searchKey,\n isEditOpen,\n menuAnchorEl,\n sortingColumns,\n sortingSource,\n totalCount,\n pageSize,\n selectedPage,\n },\n handleOnFilter,\n getAllAvailablePages,\n handlePageSizeChange,\n handlePageChange,\n handleSorting,\n handleToggleBannerActions,\n handleToggleEditBanner,\n handleDeleteBanner\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderTable = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && (!banners || !banners.length)) {\n return \n }\n\n return (\n <>\n \n \n \n \n {\n sortingColumns.map((item, index) =>\n \n {item.source\n ? handleSorting(item.source, item.direction)}\n >\n {item.title}\n \n : item.title\n }\n \n )\n }\n Actions\n \n \n \n {banners.slice((selectedPage - 1) * pageSize, (selectedPage - 1) * pageSize + pageSize).map((banner, index) => (\n \n \n \n {banner.name}\n \n \n \n \n {banner.copy}\n \n \n \n {bannerTypesNames.get(banner.type)}\n \n \n \n {banner.priority}\n \n \n \n \n {banner.isActive ? \"Active\" : \"Inactive\"}\n \n \n \n handleToggleBannerActions(banner.id, e.currentTarget)}\n >\n \n \n \n \n ))}\n \n
\n
\n \n \n \n \n )\n }\n\n return (\n \n \n \n \n {PagesNamesService.banners}\n \n \n \n \n \n \n All banners\n \n \n ) => handleOnFilter(e.target.value)}\n placeholder='Search by Name or Description'\n InputProps={{\n inputProps: {\n className: classes.searchBase,\n },\n startAdornment: ,\n }}\n value={searchKey}\n />\n \n \n\n \n {renderTable()}\n \n \n \n handleToggleBannerActions(0, null)}\n >\n handleToggleEditBanner(true)}\n >\n \n \n \n \n Edit\n \n \n handleDeleteBanner()}\n >\n \n \n \n \n Delete\n \n \n \n }\n permissions={[PermissionType.ManageEmployees]}\n />\n \n );\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { ManageBannersComponent } from '../../components/manageBannersComponent/ManageBannersComponent';\n\nexport const ManageBannersPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import { Store, StoreConfig } from '@datorama/akita';\nimport { SyncRecordStatusCount, SyncRecordReconcileModel, SyncRecordDetail, SyncRecordTypeModel, SyncRecordListModel } from '../../models/syncRecords.model';\nimport { SyncRecordStatus } from '../../models/syncRecordStatus.enums';\nimport { authQuery } from '../../../auth/stores/auth';\n\n/**\n * Represents SyncRecords state\n */\nexport interface SyncRecordsState {\n syncRecordTypes: SyncRecordTypeModel[];\n syncRecordStatusCounts: SyncRecordStatusCount[];\n targetSyncRecordListStatusId: SyncRecordStatus;\n targetSyncRecordListStatus: string;\n totalCount: number;\n targetSyncRecords: SyncRecordDetail[];\n syncRecordReconciles: SyncRecordReconcileModel[];\n filterDate: string;\n searchSyncRecords: SyncRecordListModel[];\n typeName: string;\n practiceId: number;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): SyncRecordsState {\n return {\n syncRecordTypes: [],\n syncRecordStatusCounts: [],\n targetSyncRecordListStatusId: null,\n targetSyncRecordListStatus: '',\n totalCount: 0,\n targetSyncRecords: [],\n syncRecordReconciles: [],\n filterDate: '',\n searchSyncRecords: [],\n typeName: 'Default',\n practiceId: authQuery.getCurrentPracticeId()\n };\n}\n\n/**\n * Provides syncRecords state management\n */\n@StoreConfig({ name: 'syncRecords', resettable: true })\nexport class SyncRecordsStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setTargetSyncRecordCount(syncRecordStatusCount: SyncRecordStatusCount, typeName: string, practiceId: number): void {\n this.update({\n targetSyncRecordListStatusId: syncRecordStatusCount.statusId,\n targetSyncRecordListStatus: syncRecordStatusCount.status,\n totalCount: syncRecordStatusCount.count,\n typeName: typeName,\n practiceId: practiceId\n });\n }\n\n public updateTargetSyncRecordList(searchResult: SyncRecordListModel, typeName: string, practiceId: number): void {\n this.update({\n targetSyncRecordListStatusId: searchResult.statusId,\n targetSyncRecordListStatus: searchResult.status,\n totalCount: searchResult.total,\n targetSyncRecords: searchResult.syncRecords,\n typeName: typeName,\n practiceId: practiceId\n });\n }\n\n public setFilterDate(filterDate: string): void {\n this.update({ filterDate })\n }\n}\n\nexport const syncRecordsStore = new SyncRecordsStore();\n","import { Query } from '@datorama/akita';\nimport { syncRecordsStore, SyncRecordsStore, SyncRecordsState } from \"./syncRecordsStore\";\nimport { SyncRecordStatus } from '../../models/syncRecordStatus.enums';\n\n/**\n * Provides SyncRecords queries\n */\nexport class SyncRecordsQuery extends Query {\n syncRecordTypes$ = this.select(state => state.syncRecordTypes);\n syncRecordStatusCounts$ = this.select(state => state.syncRecordStatusCounts);\n targetSyncRecords$ = this.select(state => state.targetSyncRecords);\n targetSyncRecordListStatus$ = this.select(state => state.targetSyncRecordListStatus);\n totalCount$ = this.select(state => state.totalCount);\n syncRecordReconciles$ = this.select(state => state.syncRecordReconciles);\n filterDate$ = this.select(state => state.filterDate);\n searchSyncRecords$ = this.select(state => state.searchSyncRecords);\n typeName$ = this.select(state => state.typeName);\n practiceId$ = this.select(state => state.practiceId);\n\n constructor(protected store: SyncRecordsStore) {\n super(store);\n }\n\n public getTargetStatusId(): SyncRecordStatus {\n return this.getValue().targetSyncRecordListStatusId;\n }\n\n public getTargetStatus(): string {\n return this.getValue().targetSyncRecordListStatus;\n }\n\n public getTargetTotalCount(): number {\n return this.getValue().totalCount;\n }\n\n public getFilterDate(): string {\n return this.getValue().filterDate;\n }\n\n public getTargetTypeName(): string {\n return this.getValue().typeName;\n }\n\n public getTargetPracticeId(): number {\n return this.getValue().practiceId;\n }\n}\n\nexport const syncRecordsQuery = new SyncRecordsQuery(syncRecordsStore);\n","import Axios from 'axios-observable';\nimport {Observable} from \"rxjs\";\nimport { authHeader } from \"../../common/helpers/auth-header\";\nimport { API_URL } from \"../../../config\";\nimport { snackService } from '../../common/snack/state';\nimport { syncRecordsStore, SyncRecordsStore } from \"../stores/syncRecordsStore\";\nimport { SyncRecordStatusCount, SyncRecordListModel, SyncRecordReconcileModel, SyncRecordTypeModel } from '../models/syncRecords.model';\n\n/**\n * Provides methods for working with syncRecords\n */\nexport class SyncRecordsService {\n private url = `${API_URL}SyncRecords`;\n\n constructor(private syncRecordsStore: SyncRecordsStore) {\n }\n\n\n public getSyncRecords(): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.url}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.syncRecordsStore.update({ syncRecordTypes: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getSyncRecordType(typeName: string, practiceId: number): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.url}/Type/${typeName}/${practiceId}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.syncRecordsStore.update({ syncRecordStatusCounts: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n\n public getSyncRecordsSearch(typeName: string, practiceId: number, query: string, pageNumber?: number | null): Observable {\n const config = {\n headers: authHeader()\n };\n const searchQuery = query ? `searchQuery=${query}&` : '';\n const pageNumberQuery = pageNumber ? `page=${pageNumber}` : '';\n return new Observable(observer => {\n Axios.get(`${this.url}/${typeName}/${practiceId}/search?` +\n `${searchQuery}` +\n `${pageNumberQuery}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.syncRecordsStore.update({ searchSyncRecords: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n public getSyncRecordsStatus(typeName: string, practiceId: number, statusId: number, pageNumber?: number | null, createdAt?: string | null): Observable {\n const config = {\n headers: authHeader()\n };\n const pageNumberQuery = pageNumber ? `page=${pageNumber}&` : '';\n const createdAtQuery = createdAt ? `createdAt=${createdAt}` : '';\n return new Observable(observer => {\n Axios.get(`${this.url}/${typeName}/${practiceId}/Status/${statusId}?` +\n `${pageNumberQuery}` +\n `${createdAtQuery}`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.syncRecordsStore.update({\n targetSyncRecords: response.data.syncRecords,\n targetSyncRecordListStatus: response.data.status,\n totalCount: response.data.total\n })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n \n public getSyncRecordsReconcile(syncRecordId: number): Observable {\n const config = {\n headers: authHeader()\n };\n return new Observable(observer => {\n Axios.get(`${this.url}/${syncRecordId}/Reconcile`, config)\n .pipe()\n .subscribe(\n (response) => {\n this.syncRecordsStore.update({ syncRecordReconciles: response.data })\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error(error);\n observer.complete();\n }\n );\n })\n }\n\n \n public reconcileSyncRecord(syncRecordId: number, model: SyncRecordReconcileModel[]) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}/${syncRecordId}/Reconcile`, model, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success('SyncRecord successfully reconciled');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n\n public performSyncRecordAction(syncRecordId: number, action: number) {\n const config = {\n headers: authHeader()\n };\n\n return new Observable((observer) =>\n Axios.post(`${this.url}/${syncRecordId}/Action/${action}`, null, config)\n .pipe()\n .subscribe(\n response => {\n snackService.success('SyncRecord action performed successfully');\n observer.next(response.data);\n observer.complete();\n },\n error => {\n snackService.commonErrorHandler(error);\n observer.error();\n observer.complete();\n }\n )\n );\n }\n}\n\nexport const syncRecordsService = new SyncRecordsService(syncRecordsStore);\n","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: colors.white,\n maxWidth: 465,\n minHeight: 'calc(100vh - 220px)'\n },\n statusPointer: {\n marginTop: 10,\n borderRadius: 5,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: colors.lightGray,\n }\n },\n icon: {\n fill: colors.darkGray,\n width: 24,\n height: 24\n }\n}));\n","export enum SyncRecordStatus\n{\n PendingCleansing = 1,\n PendingValidation = 5,\n\n ReadyForSync = 10,\n SyncComplete = 15,\n Locked = 20,\n FailedSync = 25,\n \n DorothyDuplicatePolicyId = 100,\n DorothyDuplicateBirthdateZipCodeFirstLast = 105,\n DorothyRequiresDiscovery = 110,\n DorothyBlankZipCode = 115,\n DorothyInvalidBirthday = 120,\n DorothyInvalidBirthdayFormat = 125,\n DorothyInvalidAddress = 130,\n DorothyInvalidName = 135,\n DorothyUnshippableAddress = 140,\n \n DorothyDuplicatePolicyIdDiscarded = 101,\n DorothyDuplicateBirthdateZipCodeDiscarded = 106,\n DorothyRequiresDiscoveryDiscarded = 111,\n DorothyBlankZipCodeDiscarded = 116,\n DorothyInvalidBirthdayDiscarded = 121,\n DorothyInvalidAddressDiscarded = 131,\n DorothyInvalidNameDiscarded = 136,\n DorothyUnshippableAddressDiscarded = 141\n}\n\nexport enum SyncDatumBooleanKeys\n{\n SubscriptionOptIn = \"SubscriptionOptIn\",\n SmsOptIn = \"SmsOptIn\",\n SmsMarketingOptIn = \"SmsMarketingOptIn\"\n}\n\nexport enum SyncRecordAction\n{\n DorothySendValidateAddressEmail = 100,\n DorothySubscriptionOptOut = 110\n}\n\nexport const syncRecordStatusNames: { [status: string]: string } = {\n [SyncRecordStatus.PendingCleansing]: \"PendingCleansing\",\n [SyncRecordStatus.PendingValidation]: \"PendingValidation\",\n\n [SyncRecordStatus.ReadyForSync]: \"ReadyForSync\",\n [SyncRecordStatus.SyncComplete]: \"SyncComplete\",\n [SyncRecordStatus.Locked]: \"Locked\",\n [SyncRecordStatus.FailedSync]: \"FailedSync\",\n\n [SyncRecordStatus.DorothyDuplicatePolicyId]: \"DorothyDuplicatePolicyId\",\n [SyncRecordStatus.DorothyDuplicateBirthdateZipCodeFirstLast]: \"DorothyDuplicateBirthdateZipCodeFirstLast\",\n [SyncRecordStatus.DorothyRequiresDiscovery]: \"DorothyRequiresDiscovery\",\n [SyncRecordStatus.DorothyBlankZipCode]: \"DorothyBlankZipCode\",\n [SyncRecordStatus.DorothyInvalidBirthday]: \"DorothyInvalidBirthday\",\n [SyncRecordStatus.DorothyInvalidBirthdayFormat]: \"DorothyInvalidBirthdayFormat\",\n [SyncRecordStatus.DorothyInvalidAddress]: \"DorothyInvalidAddress\",\n [SyncRecordStatus.DorothyInvalidName]: \"DorothyInvalidName\",\n [SyncRecordStatus.DorothyUnshippableAddress]: \"DorothyUnshippableAddress\",\n \n [SyncRecordStatus.DorothyDuplicatePolicyIdDiscarded]: \"DorothyDuplicatePolicyIdDiscarded\",\n [SyncRecordStatus.DorothyDuplicateBirthdateZipCodeDiscarded]: \"DorothyDuplicateBirthdateZipCodeDiscarded\",\n [SyncRecordStatus.DorothyRequiresDiscoveryDiscarded]: \"DorothyRequiresDiscoveryDiscarded\",\n [SyncRecordStatus.DorothyBlankZipCodeDiscarded]: \"DorothyBlankZipCodeDiscarded\",\n [SyncRecordStatus.DorothyInvalidBirthdayDiscarded]: \"DorothyInvalidBirthdayDiscarded\",\n [SyncRecordStatus.DorothyInvalidAddressDiscarded]: \"DorothyInvalidAddressDiscarded\",\n [SyncRecordStatus.DorothyInvalidNameDiscarded]: \"DorothyInvalidNameDiscarded\",\n [SyncRecordStatus.DorothyUnshippableAddressDiscarded]: \"DorothyUnshippableAddressDiscarded\"\n}\n\nexport const syncRecordActionNames: { [action: number]: string } = {\n [SyncRecordAction.DorothySendValidateAddressEmail]: \"Send Validate Address Email\",\n [SyncRecordAction.DorothySubscriptionOptOut]: \"Opt Out of Subscription\"\n}\n\nexport const titleBysyncRecordStatus = new Map([\n [SyncRecordStatus.PendingCleansing, 'Pending'],\n [SyncRecordStatus.PendingValidation, 'Pending'],\n\n [SyncRecordStatus.ReadyForSync, 'Passed Validation'],\n [SyncRecordStatus.SyncComplete, 'Passed Validation'],\n [SyncRecordStatus.FailedSync, 'Passed Validation'],\n\n [SyncRecordStatus.Locked, 'Locked'],\n\n [SyncRecordStatus.DorothyDuplicatePolicyId, 'Failed Validation'],\n [SyncRecordStatus.DorothyDuplicateBirthdateZipCodeFirstLast, 'Failed Validation'],\n [SyncRecordStatus.DorothyRequiresDiscovery, 'Failed Validation'],\n [SyncRecordStatus.DorothyBlankZipCode, 'Failed Validation'],\n [SyncRecordStatus.DorothyInvalidBirthday, 'Failed Validation'],\n [SyncRecordStatus.DorothyInvalidBirthdayFormat, 'Failed Validation'],\n [SyncRecordStatus.DorothyInvalidAddress, 'Failed Validation'],\n [SyncRecordStatus.DorothyInvalidName, 'Failed Validation'],\n [SyncRecordStatus.DorothyUnshippableAddress, 'Failed Validation'],\n\n [SyncRecordStatus.DorothyDuplicatePolicyIdDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyDuplicateBirthdateZipCodeDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyRequiresDiscoveryDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyBlankZipCodeDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyInvalidBirthdayDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyInvalidAddressDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyInvalidNameDiscarded, 'Discarded'],\n [SyncRecordStatus.DorothyUnshippableAddressDiscarded, 'Discarded']\n]);\n","import { Box, Table, TableBody, TableContainer } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useFacade } from './syncRecordsDashboardComponent.hooks';\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { useStyles } from \"./syncRecordsDashboardComponent.styles\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\n\nexport const SyncRecordsDashboardComponent: React.FC = () => {\n const [\n {\n isLoading,\n syncRecordTypes,\n },\n handleGoTargetSyncRecordType\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderContent = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && !syncRecordTypes) {\n return \n }\n\n return (\n \n {\n syncRecordTypes.map((type, index) => (\n \n {type.name}\n \n \n \n \n {type.count > 0 ? (\n handleGoTargetSyncRecordType(type.path)}>\n \n {type.name}({type.count})\n \n \n \n ) : (\n \n \n {type.name}({type.count})\n \n \n )}\n \n \n
\n
\n
\n ))\n }\n
\n )\n }\n\n return (\n \n \n \n {PagesNamesService.syncRecords}\n \n \n\n \n {renderContent()}\n \n \n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { useHistory } from 'react-router';\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { syncRecordsService } from \"../../services/syncRecords.service\";\nimport { SyncRecordTypeModel } from \"../../models/syncRecords.model\";\nimport { syncRecordsQuery } from \"../../stores/syncRecordsStore\";\nimport { navigationService } from '../../../../services/navigation.service';\n\ninterface SyncRecordsState {\n isLoading: boolean;\n syncRecordTypes: SyncRecordTypeModel[];\n}\n\nexport function useFacade(): [\n SyncRecordsState,\n (path: string) => void\n] {\n\n const history = useHistory();\n\n const [state, setState] = useState({\n isLoading: true,\n syncRecordTypes: [],\n } as SyncRecordsState);\n\n const handleGoTargetSyncRecordType = (path: string) => {\n const typeName = path.split('/')[1];\n const practiceId = path.split('/')[2];\n navigationService.toSyncRecordType(history, typeName, practiceId);\n return;\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(syncRecordsQuery.syncRecordTypes$, syncRecordTypes => {\n setState({\n ...state,\n syncRecordTypes\n });\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n syncRecordsService.getSyncRecords().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleGoTargetSyncRecordType\n ];\n}","import React from 'react';\nimport { withRouter } from 'react-router';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { SyncRecordsDashboardComponent } from '../../components/syncRecordsDashboardComponent/SyncRecordsDashboardComponent';\n\nclass SyncRecordsDashboardPage extends React.Component {\n render() {\n return (\n \n \n \n )\n }\n}\n\nexport default withRouter(SyncRecordsDashboardPage);\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { pageSizes } from \"../../../common/pagination/models/page-sizes\";\nimport { IPaginationState } from \"../../../common/pagination/models/pagination-state\";\nimport { syncRecordsService } from \"../../services/syncRecords.service\";\nimport { syncRecordsQuery, syncRecordsStore } from \"../../stores/syncRecordsStore\";\nimport { SyncRecordDetail } from \"../../models/syncRecords.model\";\nimport { SyncRecordStatus } from \"../../models/syncRecordStatus.enums\";\nimport { useHistory } from 'react-router';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\n\nexport enum SortingSource {\n None,\n Id = \"id\",\n CreatedAt = \"createdAt\"\n}\n\ninterface SyncRecordListState extends IPaginationState, ISortingState {\n isLoading: boolean;\n syncRecords: SyncRecordDetail[];\n targetSyncRecordListStatus: string;\n filterDate: string;\n isOpen: boolean;\n anchorEl: HTMLButtonElement;\n}\n\nexport function useFacade(statusId: SyncRecordStatus, showSearchResult: boolean): [\n SyncRecordListState,\n (page: number) => void,\n (syncRecordId: number) => void,\n (source: string, direction: SortingDirection) => void,\n (event?: React.MouseEvent) => void,\n (value: any) => void\n] {\n const typeName = syncRecordsQuery.getTargetTypeName();\n const practiceId = syncRecordsQuery.getTargetPracticeId();\n const title = syncRecordsQuery.getTargetStatus();\n const targetRecordsTotal = syncRecordsQuery.getTargetTotalCount();\n const filterDate = syncRecordsQuery.getFilterDate();\n const history = useHistory();\n\n const [state, setState] = useState({\n isLoading: true,\n syncRecords: [],\n targetSyncRecordListStatus: title,\n sortingColumns: [\n {title: 'Id'},\n {title: 'Date of Create', direction: SortingDirection.Asc},\n {title: 'Detail'},\n ],\n sortingSource: SortingSource.None,\n totalCount: targetRecordsTotal,\n selectedPage: 1,\n pageSize: pageSizes[3],\n filterDate: filterDate,\n isOpen: false,\n anchorEl: null,\n } as SyncRecordListState);\n\n const handlePageChange = (page: number) => {\n if (page === state.selectedPage) {\n return;\n }\n\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n syncRecordsService.getSyncRecordsStatus(typeName, practiceId, statusId, page - 1, state.filterDate).subscribe((response) => {\n setState({\n ...state,\n selectedPage: page,\n targetSyncRecordListStatus: response.status,\n totalCount: response.total,\n syncRecords: response.syncRecords\n })\n }, cb);\n }\n\n const handleApplyFilter = (filterDate: string) => {\n\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n syncRecordsService.getSyncRecordsStatus(typeName, practiceId, statusId, 0, filterDate).subscribe((response) => {\n setState({\n ...state,\n selectedPage: 1,\n targetSyncRecordListStatus: response.status,\n totalCount: response.total,\n syncRecords: response.syncRecords,\n filterDate\n })\n syncRecordsStore.setFilterDate(filterDate);\n }, cb);\n }\n\n const handleGotoRecordReconcile = (syncRecordId: number) => {\n navigationService.toSyncRecordReconcile(history, syncRecordId);\n return;\n }\n\n const setDirection = (source: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({ ...state, columns: state.sortingColumns }));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n setState(state => ({\n ...state,\n sortingSource: source,\n syncRecords: state.syncRecords.sort((p1, p2) => handleCompare(p1, p2, direction, source))\n }));\n }\n\n const handleToggleFilter = (event?: React.MouseEvent) => {\n const anchorEl = event && event.currentTarget ? event.currentTarget : null;\n state.isOpen = !state.isOpen;\n state.anchorEl = anchorEl;\n setState(state => ({ ...state }));\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(syncRecordsQuery.targetSyncRecords$, targetSyncRecords => {\n setState({\n ...state,\n syncRecords: targetSyncRecords\n });\n }),\n onEmit(syncRecordsQuery.targetSyncRecordListStatus$, targetSyncRecordListStatus => {\n setState(state => ({\n ...state,\n targetSyncRecordListStatus: targetSyncRecordListStatus ?? state.targetSyncRecordListStatus\n }))\n }),\n onEmit(syncRecordsQuery.totalCount$, totalCount => {\n setState(state => ({\n ...state,\n totalCount: totalCount ?? state.totalCount\n }))\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n if (!showSearchResult) {\n syncRecordsService.getSyncRecordsStatus(typeName, practiceId, statusId, 0, filterDate).subscribe(cb, cb);\n } else {\n cb();\n }\n\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handlePageChange,\n handleGotoRecordReconcile,\n handleSorting,\n handleToggleFilter,\n handleApplyFilter\n ];\n}","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n backgroundColor: colors.white,\n maxWidth: 465,\n minHeight: 'calc(100vh - 220px)'\n },\n statusPointer: {\n marginTop: 10,\n borderRadius: 5,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n cursor: 'pointer',\n '&:hover': {\n backgroundColor: colors.lightGray,\n }\n },\n icon: {\n fill: colors.darkGray,\n width: 24,\n height: 24\n }\n}));\n","import { Box, Table, TableBody, TableContainer } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthContainer } from '../../../common/components/wildHealthContainer/WildHealthContainer';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { useFacade } from './syncRecordTypeComponent.hooks';\nimport { FeatureComponent } from \"../../../common/components/featureFlags/FeatureComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { titleBysyncRecordStatus } from '../../models/syncRecordStatus.enums';\nimport { useStyles } from \"./syncRecordTypeComponent.styles\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport ArrowForwardIosIcon from '@material-ui/icons/ArrowForwardIos';\nimport { SearchComponent } from '../../../common/components/searchComponent/SearchComponent';\n\ninterface SyncRecordTypeComponentProps {\n typeName: string;\n practiceId: number;\n}\n\nexport const SyncRecordTypeComponent: React.FC = (props: SyncRecordTypeComponentProps) => {\n const [\n {\n isLoading,\n syncRecordStatusCounts,\n searchQuery,\n searchSyncRecords\n },\n handleGoTargetSyncRecordList,\n handleSearchSubmit\n ] = useFacade(props.typeName, props.practiceId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderContent = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && !syncRecordStatusCounts) {\n return \n }\n\n return (\n \n {\n Object.keys(syncRecordStatusCounts).map((category, index) => {\n return (\n \n {titleBysyncRecordStatus.get(syncRecordStatusCounts[category][0].statusId)}\n \n \n \n {\n syncRecordStatusCounts[category].map(syncRecordStatusCount => (\n \n handleGoTargetSyncRecordList(syncRecordStatusCount)}>\n \n {syncRecordStatusCount.status}({syncRecordStatusCount.count})\n \n \n \n \n ))\n }\n \n
\n
\n
\n )\n })\n }\n
\n )\n }\n\n const renderSearchResultContent = () => {\n if (isLoading) {\n return \n }\n\n if (!isLoading && !searchSyncRecords) {\n return \n }\n\n return (\n \n \n \n \n \n {\n searchSyncRecords.map(syncRecordList => (\n \n handleGoTargetSyncRecordList(syncRecordList)}>\n \n {syncRecordList.status}({syncRecordList.total})\n \n \n \n \n ))\n }\n \n
\n
\n
\n
\n )\n }\n\n return (\n \n \n \n \n {props.typeName}\n \n \n \n \n \n \n\n \n {searchQuery ? renderSearchResultContent() : renderContent()}\n \n \n );\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { useHistory } from 'react-router';\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { syncRecordsService } from \"../../services/syncRecords.service\";\nimport { SyncRecordStatusCount, SyncRecordListModel } from \"../../models/syncRecords.model\";\nimport { syncRecordsQuery, syncRecordsStore } from \"../../stores/syncRecordsStore\";\nimport { navigationService } from '../../../../services/navigation.service';\n\ninterface SyncRecordsState {\n isLoading: boolean;\n syncRecordStatusCounts: any;\n searchQuery: string;\n searchSyncRecords: SyncRecordListModel[];\n}\n\nexport function useFacade(typeName: string, practiceId: number): [\n SyncRecordsState,\n (syncRecordList: SyncRecordStatusCount | SyncRecordListModel) => void,\n (query: string) => void\n] {\n\n const history = useHistory();\n\n const [state, setState] = useState({\n isLoading: true,\n syncRecordStatusCounts: null,\n searchQuery: '',\n searchSyncRecords: []\n } as SyncRecordsState);\n\n const handleGoTargetSyncRecordList = (syncRecordList: SyncRecordStatusCount | SyncRecordListModel) => {\n if (state.searchQuery) {\n syncRecordsStore.updateTargetSyncRecordList(syncRecordList as SyncRecordListModel, typeName, practiceId);\n navigationService.toTargetSyncRecordList(history, syncRecordList.statusId, true);\n } else {\n syncRecordsStore.setTargetSyncRecordCount(syncRecordList as SyncRecordStatusCount, typeName, practiceId);\n navigationService.toTargetSyncRecordList(history, syncRecordList.statusId);\n }\n return;\n }\n\n const handleSearchSubmit = (query: string) => {\n state.searchQuery = query ?? '';\n\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n }\n\n if (query) {\n syncRecordsService.getSyncRecordsSearch(typeName, practiceId, query, 0).subscribe(cb, cb);\n } else {\n syncRecordsService.getSyncRecordType(typeName, practiceId).subscribe(cb, cb);\n }\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(syncRecordsQuery.syncRecordStatusCounts$, syncRecordStatusCounts => {\n const groupByCategory = syncRecordStatusCounts.reduce((group, syncRecord) => {\n const { category } = syncRecord;\n group[category] = group[category] ?? [];\n group[category].push(syncRecord);\n return group;\n }, {});\n setState({\n ...state,\n syncRecordStatusCounts: groupByCategory\n });\n }),\n onEmit(syncRecordsQuery.searchSyncRecords$, searchSyncRecords => {\n setState(state => ({\n ...state,\n searchSyncRecords: searchSyncRecords\n }));\n\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n syncRecordsService.getSyncRecordType(typeName, practiceId).subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleGoTargetSyncRecordList,\n handleSearchSubmit\n ];\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { SyncRecordTypeComponent } from '../../components/syncRecordTypeComponent/SyncRecordTypeComponent';\nimport { Box } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useHistory } from 'react-router';\nimport { commonUseStyles } from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport { authQuery } from '../../../auth/stores/auth';\n\n\nexport const SyncRecordTypePage: React.FC = (props: any) => {\n const typeName = props?.match?.params?.typeName ?? \"Default\";\n const practiceId = props?.match?.params?.practiceId ?? authQuery.getCurrentPracticeId();\n\n const history = useHistory();\n const commonClasses = commonUseStyles();\n\n return (\n \n {navigationService.toSyncRecordDashboard(history)}}>\n \n \n \n \n Back to Sync Records\n \n \n \n \n \n \n )\n}\n\n","import { makeStyles } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n },\n },\n subscriptionCard: {\n marginTop: 10,\n borderRadius: 5,\n border: 'none',\n boxShadow: '0 3px 6px 0 rgba(0, 0, 0, 0.16)',\n },\n}));\n","import { Box, Table, TableBody, TableContainer, TableHead, IconButton, TableSortLabel, Button, Popover, FormControl } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from \"./syncRecordListComponent.hooks\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport moment from \"moment\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport EditIcon from '@material-ui/icons/Edit';\nimport { SmallPaginationComponent } from \"../../../common/pagination/components/paginationComponent/SmallPaginationComponent\";\nimport { useStyles } from \"../syncRecordReconcileComponent/syncRecordReconcileComponent.styles\";\nimport FilterListIcon from '@material-ui/icons/FilterList';\nimport CloseIcon from '@material-ui/icons/Close';\nimport { WildHealthDatePicker } from '../../../common/components/WildHealthDatePicker';\n\nconst filtersPopoverProps: any = {\n id: \"notificationsPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n },\n};\n\ninterface SyncRecordListComponentProps {\n statusId: number;\n isAvailableReconcile: boolean;\n showSearchResult: boolean;\n}\n\nexport const SyncRecordListComponent: React.FC = (props: SyncRecordListComponentProps) => {\n const { statusId, isAvailableReconcile, showSearchResult } = props;\n const [\n {\n isLoading,\n sortingColumns,\n sortingSource,\n syncRecords,\n targetSyncRecordListStatus,\n totalCount,\n selectedPage,\n pageSize,\n isOpen,\n anchorEl,\n filterDate\n },\n handlePageChange,\n handleGotoRecordReconcile,\n handleSorting,\n handleToggleFilter,\n handleApplyFilter\n ] = useFacade(statusId, showSearchResult);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const getFilterDate = () => {\n return filterDate\n ? moment(filterDate).format('YYYY-MM-DD')\n : null\n }\n\n const renderTable = (): JSX.Element => {\n\n if (isLoading) {\n return ()\n }\n\n if (!isLoading && !syncRecords.length) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n \n \n {\n sortingColumns.map((item, index) =>\n \n {item.source\n ? handleSorting(item.source, item.direction)}\n >\n {item.title}\n \n : item.title\n }\n \n )\n }\n {isAvailableReconcile && }\n \n \n \n {\n syncRecords.map((record, index) =>\n \n \n {record.id}\n \n {moment(toCurrentTimeZone(new Date(record.createdAt))).format('MM/DD/YYYY')}\n {record.detail}\n {isAvailableReconcile && (\n \n handleGotoRecordReconcile(record.id)}\n >\n \n \n \n )}\n \n )\n }\n \n
\n
\n \n \n \n
\n )\n }\n\n return (\n \n \n \n {targetSyncRecordListStatus}\n \n \n handleToggleFilter(event)}\n startIcon={}\n className={commonClasses.whButton}\n >\n {!filterDate ? 'Filter' : `${filterDate}`}\n \n \n \n {\n renderTable()\n }\n\n \n \n \n \n handleApplyFilter(momentDate === null ?\n \"\" : momentDate.format(\"YYYY-MM-DD\"))}\n />\n \n \n handleApplyFilter('')}>\n \n \n \n \n \n )\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { Box } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useHistory } from 'react-router';\nimport { SyncRecordListComponent } from \"../../components/syncRecordListComponent/SyncRecordListComponent\";\nimport { commonUseStyles } from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport { SyncRecordStatus } from '../../models/syncRecordStatus.enums';\n\nexport const SyncRecordListPage: React.FC = (props: any) => {\n const statusId = Number(props.match.params.statusId);\n const showSearchResult = props?.location?.state?.showSearchResult as boolean;\n\n const history = useHistory();\n const commonClasses = commonUseStyles();\n\n const getAvailableReconcile = (statusId: SyncRecordStatus) => {\n switch (statusId) {\n case SyncRecordStatus.ReadyForSync:\n return false;\n case SyncRecordStatus.SyncComplete:\n return true;\n case SyncRecordStatus.FailedSync:\n return false;\n default:\n return true;\n }\n }\n \n return (\n \n {navigationService.goBack(history)}}>\n \n \n \n \n Back\n \n \n \n \n \n \n \n )\n}","import { Box, Grid, FormControl, TextField, Select, MenuItem, Card, CardContent, Tooltip } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from \"./syncRecordReconcileComponent.hooks\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { useStyles } from \"./syncRecordReconcileComponent.styles\";\nimport { SyncDatumBooleanKeys, syncRecordActionNames, syncRecordStatusNames } from '../../models/syncRecordStatus.enums';\n\ninterface SyncRecordReconcileComponentProps {\n recordId: number;\n}\n\nexport const SyncRecordReconcileComponent: React.FC = (props: SyncRecordReconcileComponentProps) => {\n const [\n {\n isLoading,\n isSubmitted,\n syncRecordReconciles,\n },\n handleChanges,\n handleChangeDatums,\n handleReconcile,\n handleAction\n ] = useFacade(props.recordId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const isBooleanField = (key: string) => {\n switch (key) {\n case SyncDatumBooleanKeys.SmsMarketingOptIn:\n case SyncDatumBooleanKeys.SmsOptIn:\n case SyncDatumBooleanKeys.SubscriptionOptIn:\n return true;\n default:\n return false;\n }\n}\n\n const renderContent = (): JSX.Element => {\n\n if (isLoading) {\n return ()\n }\n\n if (!isLoading && !syncRecordReconciles.length) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n {syncRecordReconciles.map(record => (\n \n \n \n \n \n \n Status\n {\n if (record.statusId === null || !record.statusId) {\n return Select;\n }\n\n return syncRecordStatusNames[record.statusId];\n }}\n displayEmpty\n onChange={(v) => handleChanges(\"statusId\", v.target.value, record.id)}\n >\n {\n Object.keys(syncRecordStatusNames).map((status, index) => (\n {syncRecordStatusNames[status]}\n ))\n }\n \n \n \n \n \n Id\n handleChanges(v.target.id, v.target.value, record.id)}\n />\n \n \n {record.datum.map(data => (\n \n \n {data.key}\n {isBooleanField(data.key) \n ? (\n handleChangeDatums(data.key, v.target.value, record.id)}\n >\n False\n True\n \n ) : (\n handleChangeDatums(v.target.id, v.target.value, record.id)}\n />\n )}\n \n \n \n ))}\n {record.actions.map(action => (\n \n \n handleAction(action.action)}>\n {syncRecordActionNames[action.action]}\n \n \n \n ))}\n \n \n \n \n ))}\n \n
\n )\n }\n\n return (\n \n \n \n Reconcile\n \n \n handleReconcile()}\n >\n Save\n \n \n \n {\n renderContent()\n }\n \n )\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { syncRecordsService } from \"../../services/syncRecords.service\";\nimport { syncRecordsQuery } from \"../../stores/syncRecordsStore\";\nimport { SyncRecordReconcileModel } from \"../../models/syncRecords.model\";\nimport { syncRecordStatusNames } from \"../../models/syncRecordStatus.enums\";\n\ninterface SyncRecordListState {\n isLoading: boolean;\n isSubmitted: boolean;\n syncRecordReconciles: SyncRecordReconcileModel[];\n}\n\nexport function useFacade(recordId: number): [\n SyncRecordListState,\n (field: string, value: any, recordId: number) => void,\n (field: string, value: any, recordId: number) => void,\n () => void,\n (action: number) => void\n] {\n\n const [state, setState] = useState({\n isLoading: true,\n isSubmitted: false,\n syncRecordReconciles: []\n } as SyncRecordListState);\n\n const handleChanges = (field: string, value: any, recordId: number) => {\n const syncRecordReconciles = state.syncRecordReconciles.map(record => \n record.id === recordId ? {\n ...record,\n [field]: value,\n status: field === \"statusId\" ? syncRecordStatusNames[value] : record.status,\n } : record\n );\n\n setState({...state, syncRecordReconciles });\n }\n\n const handleChangeDatums = (field: string, value: any, recordId: number) => {\n const syncRecordReconciles = state.syncRecordReconciles.map(record => \n record.id === recordId ? {\n ...record,\n datum: record.datum.map(data => \n data.key === field ? {\n ...data,\n value\n } : data\n )\n } : record\n );\n\n setState({...state, syncRecordReconciles });\n }\n\n const handleReconcile = () => {\n setState({...state, isSubmitted: true })\n\n const cb = () => setState(state => ({ ...state, isSubmitted: false }));\n syncRecordsService.reconcileSyncRecord(recordId, state.syncRecordReconciles).subscribe(cb, cb)\n }\n\n const handleAction = (action: number) => {\n setState({...state, isSubmitted: true });\n\n const cb = (record: SyncRecordReconcileModel) => {\n var reconciles = state.syncRecordReconciles;\n var index = reconciles.findIndex(r => r.id === record.id);\n\n if (index !== -1) {\n reconciles[index] = { ...reconciles[index], ...record };\n }\n\n setState(state => ({ ...state, syncRecordReconciles: reconciles, isSubmitted: false }));\n };\n\n syncRecordsService.performSyncRecordAction(recordId, action).subscribe(cb, cb)\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(syncRecordsQuery.syncRecordReconciles$, syncRecordReconciles => {\n setState({\n ...state,\n syncRecordReconciles,\n });\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }));\n\n syncRecordsService.getSyncRecordsReconcile(recordId).subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleChanges,\n handleChangeDatums,\n handleReconcile,\n handleAction\n ];\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { Box } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useHistory } from 'react-router';\nimport { SyncRecordReconcileComponent } from \"../../components/syncRecordReconcileComponent/SyncRecordReconcileComponent\";\nimport { commonUseStyles } from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\n\nexport const SyncRecordReconcilePage: React.FC = (props: any) => {\n const recordId = Number(props.match.params.recordId);\n\n const history = useHistory();\n const commonClasses = commonUseStyles();\n \n return (\n \n {navigationService.goBack(history)}}>\n \n \n \n \n Back\n \n \n \n \n \n \n \n )\n}","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n addressValidationRules,\n birthdayValidationRule,\n emailValidationRule,\n firstNameValidationRule,\n functionValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n phoneNumberValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport {Gender} from \"../../../common/models/user.models\";\n\nexport const submitPatientPageValidator = new GeneralValidator({\n // User form\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'phoneNumber': [phoneNumberValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (value === Gender.Female) return true;\n return value === Gender.Male;\n }, \"Gender should be selected.\")],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()]\n});\n","import {useEffect, useState} from 'react';\nimport {useHistory} from \"react-router\";\nimport {Subscription} from 'rxjs';\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {getLastObject} from \"../../../common/helpers/get-last-object\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {LocationModel} from '../../../locations/models/locations.models';\nimport {locationsService} from '../../../locations/services/locations.service';\nimport {locationsQuery} from '../../../locations/stores';\nimport {PatientModel, SubmitPatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsService} from \"../../../patients/services/patients.service\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {EmployeeShortModel} from \"../../models/employee.models\";\nimport {employeeService} from \"../../services/employees.service\";\nimport {employeesQuery} from \"../../stores/employeesStore\";\nimport {submitPatientPageValidator} from \"./submitPatientPage.validator\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport { DataSpecificationsEnum } from '../../../common/constants/data-specifications';\n\nexport const pageFields = [\n 'firstName',\n 'lastName',\n 'birthday',\n 'gender',\n 'email',\n 'phoneNumber',\n 'billingAddress.streetAddress1',\n 'billingAddress.streetAddress2',\n 'billingAddress.city',\n 'billingAddress.state',\n 'billingAddress.zipCode',\n 'billingAddress.country',\n 'shippingAddress.streetAddress1',\n 'shippingAddress.streetAddress2',\n 'shippingAddress.city',\n 'shippingAddress.state',\n 'shippingAddress.zipCode',\n 'shippingAddress.country',\n 'assignedEmployeeIds'\n];\n\n\n/**\n * Represents Submit Patient Page state\n */\ninterface SubmitPatientPageState extends IErrorState {\n patient: PatientModel,\n employees: EmployeeShortModel[],\n locations: LocationModel[],\n isLoading: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for Submit patient page\n */\nexport function useFacade(patientId: number): [SubmitPatientPageState, Function, Function, Function, Function, Function] {\n const history = useHistory();\n const [state, setState] = useState({\n patient: null,\n employees: [],\n locations: [],\n isLoading: false,\n errors: {}\n } as SubmitPatientPageState);\n\n const handleEmployeeSelect = (id: number) => {\n if (state.patient.assignedEmployees.map(el => el.id).includes(id)) {\n state.patient.assignedEmployees = state.patient.assignedEmployees.filter(x => x.id !== id);\n } else {\n state.patient.assignedEmployees = [...state.patient.assignedEmployees, state.employees.find(el => el.id === id)];\n }\n\n setState({\n ...state,\n patient: {...state.patient}\n });\n\n submitPatientPageValidator.validateAndSetState(state, setState, 'assignedEmployeeIds', state.patient.assignedEmployees.map(el => el.id));\n }\n\n const handleOptionsChanges = (field: string, value: boolean) => {\n const patient = state.patient;\n patient.options[field] = value;\n setState({\n ...state,\n patient: {...patient}\n });\n }\n\n /**\n * Validates questionnaire page\n */\n const validateForm = () => {\n pageFields.forEach(field => {\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.patient);\n const value = lastObject[key];\n submitPatientPageValidator.validateAndSetState(state, setState, field, value);\n });\n }\n\n /**\n * Handles changes. Additionally does field validation\n * @param field\n * @param value\n */\n const handleChanges = (field: string, value: string) => {\n submitPatientPageValidator.validateAndSetState(state, setState, field, value);\n\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state.patient);\n lastObject[key] = value;\n\n setState({...state, patient: Object.assign({}, state.patient)});\n }\n\n /**\n * Handles location changes\n * @param locationId\n */\n const handleLocationChanges = (locationId: number) => {\n employeeService.getActiveCoachesAndProviders(locationId).subscribe();\n setState({...state, patient: {...state.patient, locationId: locationId, assignedEmployees: []}});\n }\n\n const handleSubmit = () => {\n validateForm();\n\n if (!submitPatientPageValidator.stateIsValid(state)) {\n return;\n }\n\n const model: SubmitPatientModel = {\n id: state.patient.id,\n firstName: state.patient.firstName,\n lastName: state.patient.lastName,\n email: state.patient.email,\n phoneNumber: state.patient.phoneNumber,\n birthday: state.patient.birthday,\n gender: state.patient.gender,\n billingAddress: state.patient.billingAddress,\n shippingAddress: state.patient.shippingAddress,\n employeeIds: state.patient.assignedEmployees.map(el => el.id),\n options: state.patient.options,\n locationId: state.patient.locationId\n }\n\n setState(state => ({...state, isLoading: true}));\n\n patientsService.submit(model).subscribe(\n () => {\n setState(state => ({...state, isLoading: false}));\n navigationService.toIntakePatients(history);\n },\n () => {\n setState(state => ({...state, isLoading: false}));\n })\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === Number(patientId)) {\n setState(state => ({\n ...state,\n patient: targetPatient\n }));\n\n if (targetPatient) {\n employeeService.getActiveCoachesAndProviders(targetPatient.locationId).subscribe();\n }\n }\n }),\n onEmit(employeesQuery.couchesAndProviders$, employees => {\n setState(state => ({\n ...state,\n employees: employees\n }));\n }),\n onEmit(locationsQuery.availableLocations$, locations => {\n setState(state => ({\n ...state,\n locations: locations,\n }))\n })\n ];\n\n patientsService.get(patientId, DataSpecificationsEnum.SubmitPatientSpecification);\n locationsService.getAvailable(authQuery.getCurrentPracticeId()).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [patientId]);\n\n return [state, handleEmployeeSelect, handleOptionsChanges, handleChanges, handleSubmit, handleLocationChanges]\n}","import React from 'react';\nimport {\n Box,\n FormControl,\n MenuItem,\n Select,\n} from '@material-ui/core';\nimport {displayLocation} from \"../../helpers/displayLocation\";\nimport {ProtectedElement} from \"../../../common/components/ProtectedElement\";\nimport {PermissionType, UserType} from \"../../../auth/models/auth.enums\";\nimport {LocationModel} from \"../../models/locations.models\"\n\ninterface SelectLocationComponentProps {\n locationId: number;\n locations: LocationModel[];\n handleChanges: Function,\n}\n\nexport const SelectLocationComponent: React.FC = (props: SelectLocationComponentProps) => {\n const { \n locationId,\n locations,\n handleChanges,\n } = props;\n\n return (\n <>\n \n \n

\n POD:\n

\n
\n \n \n \n handleChanges(e.target.value)}>\n {\n locations\n .map((location, index) =>\n \n {\n displayLocation(location)\n }\n \n )\n }\n \n }\n permissions={[PermissionType.MigrationBetweenLocations]}/>\n \n \n \n
\n \n )\n};","export enum FellowRoleType {\n Fellow = 1,\n FellowPatient = 2,\n No = 3\n}\n\nexport enum FellowRoleSubmissionType {\n RegisterAsPatient = 1,\n SubmitPracticumPatient = 2\n}\n\nexport enum SortingSource {\n Enrollment = \"isEnrolled\",\n}","import { Box, Divider, Grid } from '@material-ui/core';\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { PaymentPlanDisplayComponent } from '../../../common/components/paymentPlanDisplayComponent/PaymentPlanDisplayComponent';\nimport { UpdateAddressForm } from \"../../../common/components/updateAddressForm/UpdateAddressForm\";\nimport { UpdateUserForm } from \"../../../common/components/UpdateUserForm\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { AssignEmployeesComponent } from \"../../components/assignEmployeesComponent/AssignEmployeesComponent\";\nimport { useFacade } from \"./submitPatientPage.hooks\";\nimport { PatientOptionsComponent } from \"../../components/patientOptionsComponent/PatientOptionsComponent\";\nimport { EmployeeType } from '../../models/employee.enums';\nimport { SelectLocationComponent } from '../../../locations/components/selectLocationComponent/SelectLocationComponent';\nimport { BackTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { OptionalComponent } from '../../../common/components/OptionalComponent';\nimport { Practice } from '../../../auth/models/auth.enums';\n\nexport const SubmitPatientPage: React.FC = (props: any) => {\n const patientId = props.match.params.patientId;\n const [\n {\n patient,\n employees,\n locations,\n isLoading,\n errors,\n },\n handleEmployeeSelect,\n handleOptionsChanges,\n handleChanges,\n handleSubmit,\n handleLocationChanges\n ] = useFacade(patientId);\n const commonClasses = commonUseStyles();\n\n const renderContent = () => {\n return (\n \n \n \n Create patient\n \n Patient Demographics \n \n \n \n\n \n\n \n \n\n \n \n \n Information:\n \n \n \n \n\n \n \n\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n\n\n \n \n \n Billing address:\n \n \n \n \n\n \n \n \n Shipping address:\n \n \n \n \n\n \n \n \n Assigned Coaches:\n \n el.id)}\n handleEmployeeSelect={handleEmployeeSelect}\n employees={employees.filter(c => c.type === EmployeeType.HealthCoach)}\n />\n \n \n \n Assigned Providers:\n \n el.id)}\n handleEmployeeSelect={handleEmployeeSelect}\n employees={employees.filter(c => c.type === EmployeeType.Provider)}\n />\n \n \n \n \n \n handleSubmit()}\n >\n Validate and Assign\n \n \n \n )\n }\n\n const pageName = (\n \n );\n\n return (\n \n {\n !patient || !locations.length || isLoading ?\n :\n renderContent()\n }\n \n )\n}\n","import {useCallback, useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {PracticumPatientModel} from \"../../../patients/models/patient.model\";\nimport {patientsQuery} from \"../../../patients/stores/patientsStore\";\nimport {patientsService} from \"../../../patients/services/patients.service\";\nimport { EmployeeModel, FellowModel } from \"../../../employee/models/employee.models\";\nimport { employeesQuery, employeesStore } from \"../../../employee/stores/employeesStore\";\nimport { employeeService } from \"../../../employee/services/employees.service\";\nimport { SortingSource } from \"../../models/fellowship.enums\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\n\nexport interface FellowPatientsComponentState extends ISortingState{\n patients: PracticumPatientModel[];\n fellow: FellowModel;\n isLoading: boolean;\n}\n\nexport function useFacade(fellowId: number): [\n FellowPatientsComponentState,\n (source: string, direction: SortingDirection) => void\n] {\n const [state, setState] = useState({\n patients: [],\n sortingColumns: [\n { title: 'Enrolled', source: SortingSource.Enrollment, direction: SortingDirection.Asc},\n ],\n sortingSource: null,\n fellow: null,\n isLoading: false\n } as FellowPatientsComponentState);\n\n const getFellow = useCallback(() => {\n const fellow = employeesStore.getValue().fellows.find(x => x.id === fellowId);\n if(fellow) {\n setState(state => ({...state, fellow: fellow}));\n return;\n }\n\n employeeService.getActiveBy(fellowId);\n }, [fellowId])\n\n const setDirection = (source: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({...state, columns: state.sortingColumns}));\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n patients: state.patients.sort((p1, p2) => handleCompare(p1, p2, direction, source))\n }));\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.practicumPatients$, patients => {\n setState(state => ({\n ...state,\n patients: patients,\n isLoading: false\n }));\n }),\n onEmit(employeesQuery.employee$, employee => {\n if(!employee) {\n return;\n }\n setState(state => ({\n ...state,\n fellow: {\n id: employee.id,\n firstName: employee.firstName,\n lastName: employee.lastName,\n email: null,\n phoneNumber: null,\n createdAt: null\n } as FellowModel\n }));\n })\n ];\n\n getFellow();\n patientsService.getEmployeePracticumPatients(fellowId);\n setState(state => ({...state, isLoading: true}))\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [getFellow, fellowId])\n\n return [state, handleSorting];\n}","import React from \"react\"\nimport { WildHealthStatusLabel } from \"../../common/components/wildHealthStatusLabel/WildHealthStatusLabel\"\n\nexport const displayEnrollment = (isEnrolled: boolean): JSX.Element => {\n return(\n \n {isEnrolled ? \"Yes\" : \"No\"}\n \n );\n}","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgVectorUp = function SvgVectorUp(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 8,\n height: 5,\n viewBox: \"0 0 8 5\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.819287 4.5H7.18071C7.29332 4.49997 7.40338 4.46517 7.497 4.39999C7.59061 4.3348 7.66358 4.24216 7.70666 4.13378C7.74975 4.0254 7.76103 3.90615 7.73907 3.79109C7.71711 3.67603 7.66289 3.57034 7.58328 3.48738L4.40257 0.173686C4.29579 0.0624752 4.15099 0 4 0C3.84901 0 3.70421 0.0624752 3.59743 0.173686L0.416715 3.48738C0.337107 3.57034 0.282895 3.67603 0.260935 3.79109C0.238974 3.90615 0.25025 4.0254 0.293337 4.13378C0.336424 4.24216 0.409388 4.3348 0.503004 4.39999C0.596621 4.46517 0.706686 4.49997 0.819287 4.5Z\",\n fill: \"#1F72A2\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgVectorUp, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/VectorUp.3967b0dc.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgVectorDown = function SvgVectorDown(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 8,\n height: 5,\n viewBox: \"0 0 8 5\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M0.819287 0.5H7.18071C7.29332 0.500025 7.40338 0.53483 7.497 0.600015C7.59061 0.6652 7.66358 0.757838 7.70666 0.866219C7.74975 0.974599 7.76103 1.09385 7.73907 1.20891C7.71711 1.32397 7.66289 1.42966 7.58328 1.51262L4.40257 4.82631C4.29579 4.93752 4.15099 5 4 5C3.84901 5 3.70421 4.93752 3.59743 4.82631L0.416715 1.51262C0.337107 1.42966 0.282895 1.32397 0.260935 1.20891C0.238974 1.09385 0.25025 0.974599 0.293337 0.866219C0.336424 0.757838 0.409388 0.6652 0.503004 0.600015C0.596621 0.53483 0.706686 0.500025 0.819287 0.5Z\",\n fill: \"#1F72A2\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgVectorDown, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/VectorDown.e8634a0e.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n icon: {\n display: 'block'\n },\n up: {\n paddingBottom: 2\n },\n down: {\n paddingTop: 2\n },\n active: {\n fill: colors.main,\n },\n disabled: {\n fill: colors.gray2,\n },\n pointer: {\n cursor: 'pointer'\n }\n })\n);\n","import React from 'react';\nimport {SortingDirection} from \"../../sorting/models/sorting-destination\";\nimport {Box} from '@material-ui/core';\nimport { ReactComponent as VectorUp } from '@img/icons/VectorUp.svg';\nimport { ReactComponent as VectorDown } from '@img/icons/VectorDown.svg';\nimport {useStyles} from \"./WildHealhTableSortLabel.styles\";\nimport clsx from 'clsx';\n\ninterface WildHealhTableSortLabelProps {\n isActive: boolean,\n sortingDirection: SortingDirection,\n onClick: Function,\n title: string | JSX.Element,\n id: string,\n}\n\nexport const WildHealhTableSortLabel: React.FC = (props: WildHealhTableSortLabelProps) => {\n const {\n isActive,\n sortingDirection,\n onClick,\n title,\n id,\n } = props;\n\n const classes = useStyles();\n\n return (\n \n \n {title}\n \n onClick()}\n >\n \n \n \n \n \n \n )\n}","import React from 'react';\nimport { useFacade } from \"./fellowPatientsComponent.hooks\"\nimport { Box, Table, TableBody, TableContainer, TableHead } from '@material-ui/core';\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { displayEnrollment } from \"../../helpers/displayEnrollment\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport moment from \"moment\";\nimport { renderEmptyValue } from '../../../common/helpers/empty-value';\nimport {WildHealhTableSortLabel} from \"../../../common/components/wildHealthTableSortLabel/WildHealthTableSortLabel\";\nimport { SortingDirection } from '../../../common/sorting/models/sorting-destination';\nimport { SortingSource } from \"../../models/fellowship.enums\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\n\ninterface FellowPatientsComponentProps {\n fellowId: number;\n}\n\nexport const FellowPatientsComponent: React.FC = (props: FellowPatientsComponentProps) => {\n const { fellowId } = props;\n\n const [\n {\n patients,\n fellow,\n isLoading,\n sortingColumns,\n sortingSource\n },\n handleSorting\n ] = useFacade(fellowId);\n\n const commonClasses = commonUseStyles();\n\n const enrolledColumn = sortingColumns.find(x => x.source === SortingSource.Enrollment);\n\n const renderContent = (): JSX.Element => {\n if(isLoading || fellow == null) {\n return ()\n }\n\n if(!patients.length) {\n return ()\n }\n\n return (\n \n \n {`Patient List Assigned To: ${fellow.firstName} ${fellow.lastName}`}\n \n \n \n \n \n \n Patient Name\n Date of Birth\n Phone Number\n Email\n \n handleSorting(enrolledColumn.source, enrolledColumn.direction)}\n title={enrolledColumn.title}\n />\n \n \n \n \n {\n patients.map((patient, index) =>\n \n {`${patient.firstName} ${patient.lastName}`}\n {moment(patient.birthday).format(\"MM/DD/yyyy\")}\n {patient.phoneNumber && patient.phoneNumber.length ? patient.phoneNumber : renderEmptyValue(\"empty\")}\n {patient.email}\n \n {displayEnrollment(patient.isEnrolled)}\n \n \n )\n }\n \n
\n
\n
\n
\n )\n }\n\n return (\n \n {\n renderContent()\n }\n \n )\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { Box } from '@material-ui/core';\nimport { ArrowBack } from '@material-ui/icons';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { useHistory } from 'react-router';\nimport { FellowPatientsComponent } from \"../../components/fellowPatients/FellowPatientsComponent\";\nimport { commonUseStyles } from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { navigationNumber } from '../../../rosters/models/roster.model';\n\nexport const FellowPatientsPage: React.FC = (props: any) => {\n const fellowId = Number(props.match.params.fellowId);\n const rosterId = Number(props?.location?.state?.id);\n\n const history = useHistory();\n const commonClasses = commonUseStyles();\n \n return (\n \n {navigationService.toFellowship(history, rosterId)}}>\n \n \n \n \n Back to Roster\n \n \n \n \n \n \n \n )\n}","import React from \"react\";\nimport { makeStyles, StepConnector, StepIconProps, withStyles } from \"@material-ui/core\";\nimport { CheckCircle, RadioButtonUnchecked } from '@material-ui/icons';\nimport clsx from 'clsx';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const FellowshipStepConnector = withStyles({\n active: {\n '& $line': {\n borderColor: colors.main,\n },\n },\n completed: {\n '& $line': {\n borderColor: colors.main,\n },\n },\n line: {\n borderColor: '#eaeaf0',\n borderRadius: 1,\n height: 60,\n marginTop: 8\n },\n})(StepConnector);\n \nconst useFellowshipStepIconStyles = makeStyles({\n root: {\n color: '#eaeaf0',\n display: 'flex',\n height: 24,\n alignItems: 'center',\n },\n active: {\n color: colors.main,\n },\n incompleted: {\n color: 'currentColor',\n },\n completed: {\n color: colors.main,\n zIndex: 1,\n },\n});\n \nexport function FellowshipStepIcon(props: StepIconProps) {\n const classes = useFellowshipStepIconStyles();\n const { active, completed } = props;\n \n return (\n \n {completed ? : }\n
\n );\n}\n\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nconst stepperBackground = '#fdfdfd';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: colors.white,\n display: 'flex',\n minHeight: '100vh',\n },\n logo: {\n width: 160,\n maxHeight: 50,\n },\n sidebar: {\n height: '100vh',\n position: 'sticky',\n top: 0,\n width: '20%',\n backgroundColor: stepperBackground,\n borderRight: `1px solid ${colors.gray3}`\n },\n stepper: {\n backgroundColor: stepperBackground,\n },\n content: {\n width: '80%',\n fontSize: 16,\n fontWeight: 400,\n fontStretch: 'normal',\n fontStyle: 'normal',\n lineHeight: 1.57,\n letterSpacing: 0.53\n }\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n selectCard: {\n width: '100%',\n border: `1px solid ${colors.stroke}`,\n boxShadow: '0px 4px 9px 0px rgb(168, 173, 198, 0.15)',\n height: 65,\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n fontWeight: 500\n },\n selectCardActive: {\n backgroundColor: colors.lightGray,\n border: `1px solid ${colors.accent1}`\n },\n undoDeleteBox: {\n backgroundColor: '#373d3f',\n color: colors.white,\n height: 48\n },\n undoDelete: {\n textDecoration: 'underline',\n cursor: 'pointer'\n }\n }),\n);","import { Gender } from \"../../../common/models/user.models\";\nimport { birthdayValidationRule, emailValidationRule, firstNameValidationRule, functionValidationRule, lastNameValidationRule, notEmptyValidationRule, notWhitespaceValidationRule, optionalValidation, phoneNumberValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const createPracticumPatientValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'phoneNumber': [optionalValidation('', [phoneNumberValidationRule])],\n 'fellowId': [notEmptyValidationRule(\"Please, select a fellow.\")],\n 'gender': [functionValidationRule((value) => {\n //here should be '=='. Dont replace.\n /* eslint-disable */\n if (value == Gender.Female) return true;\n /* eslint-disable */\n return value == Gender.Male;\n }, \"Gender should be selected.\")],\n});\n","import { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router';\nimport { Subscription } from 'recompose';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { IErrorState } from '../../../common/validation/error-state';\nimport { FellowShortModel } from '../../../employee/models/employee.models';\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { employeesQuery } from '../../../employee/stores/employeesStore';\nimport { patientsService } from '../../../patients/services/patients.service';\nimport { FellowRoleType, FellowRoleSubmissionType } from '../../models/fellowship.enums';\nimport { PracticumPatientCreateModel } from '../../models/fellowship.model';\nimport { createPracticumPatientValidator } from './createPracticumPatient.validator';\nimport { PatientStartRegistrationModel } from \"../../../patients/models/patient.model\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { RosterModel } from '../../../rosters/models/roster.model';\nimport { rostersQuery } from '../../../rosters/stores/rosters';\nimport { rostersService } from '../../../rosters/services/rosters.service';\n\ninterface SelectFellowshipRoleComponentState extends IErrorState {\n isLoading: boolean;\n selectedRole: FellowRoleType | null;\n selectedFellowRoleSubmission: FellowRoleSubmissionType | null;\n fellows: FellowShortModel[];\n quarterFellows: FellowShortModel[];\n selectedPatientFellowId: number | null;\n selectedRoster: RosterModel;\n selectedLinkingFellowId: number | null;\n practicumPatients: PracticumPatientCreateModel[];\n}\n\nconst getEmptyPracticumPatient = (number: number): PracticumPatientCreateModel => {\n return {\n fellowId: null,\n firstName: null,\n lastName: null,\n birthday: null,\n phoneNumber: null,\n email: null,\n gender: null,\n deleted: false,\n number: number,\n } as PracticumPatientCreateModel\n}\n\nexport function useFacade(): [\n SelectFellowshipRoleComponentState,\n (role: FellowRoleType) => void,\n (role: FellowRoleSubmissionType) => void,\n (fellowId: number) => void,\n (fellowId: number) => void,\n () => void,\n (practicumPatientNumber: number) => void,\n (practicumPatientNumber: number) => void,\n (practicumPatientNumber: number, value: any, field: string) => void,\n () => void,\n () => boolean,\n (rosterId: number) => void,\n () => boolean,\n] {\n const [state, setState] = useState({\n isLoading: false,\n selectedRole: null,\n selectedFellowRoleSubmission: null,\n fellows: [],\n quarterFellows: [],\n selectedRoster: null,\n selectedPatientFellowId: null,\n selectedLinkingFellowId: null,\n practicumPatients: [getEmptyPracticumPatient(1)],\n errors: {}\n } as SelectFellowshipRoleComponentState);\n\n const history = useHistory();\n\n const handleChangeRole = (role: FellowRoleType) => {\n setState({ ...state, selectedRole: role });\n }\n\n const handleChangeFellowSubmission = (submit: FellowRoleSubmissionType) => {\n if (submit === FellowRoleSubmissionType.RegisterAsPatient) {\n state.selectedPatientFellowId = null;\n employeeService.selectFellow(null);\n }\n\n setState({ ...state, selectedFellowRoleSubmission: submit });\n }\n\n const handleFellowSelect = (fellowId: number) => {\n setState({\n ...state,\n selectedPatientFellowId: fellowId,\n selectedLinkingFellowId: null\n });\n const fellow = state.fellows.find(x => x.id === fellowId);\n employeeService.selectFellow(fellow);\n employeeService.linkFellow(null);\n }\n\n const handleQuarterSelect = (rosterId: number) => {\n employeeService.getActiveFellowsPublicInfoByRoster(authQuery.getCurrentPracticeId(), rosterId).subscribe(\n (response) => {\n setState({\n ...state,\n selectedRoster: rostersQuery.getRosters().find(el => el.id === rosterId),\n quarterFellows: response,\n selectedLinkingFellowId: null,\n selectedPatientFellowId: null\n })\n }\n );\n\n }\n\n const handleLinkFellow = (fellowId: number) => {\n setState({\n ...state,\n selectedLinkingFellowId: fellowId,\n selectedPatientFellowId: null\n });\n const fellow = state.fellows.find(x => x.id === fellowId);\n employeeService.linkFellow(fellow);\n employeeService.selectFellow(null);\n }\n\n const handleCreatePracticumPatient = () => {\n setState({\n ...state,\n practicumPatients: state.practicumPatients.concat([getEmptyPracticumPatient(state.practicumPatients.length + 1)])\n })\n }\n\n const handleDeletePracticumPatient = (practicumPatientNumber: number) => {\n setState({\n ...state,\n practicumPatients: state.practicumPatients.map(patient => patient.number === practicumPatientNumber ? {\n ...patient,\n deleted: true\n } : patient)\n });\n removePracticumPatientErrors(practicumPatientNumber);\n }\n\n const handleUndoDeletePracticumPatient = (practicumPatientNumber: number) => {\n setState({\n ...state,\n practicumPatients: state.practicumPatients.map(patient => patient.number === practicumPatientNumber ? {\n ...patient,\n deleted: false\n } : patient)\n });\n }\n\n const handlePracticumPatientChanges = (practicumPatientNumber: number, value: any, field: string) => {\n const practicumPatient = state.practicumPatients.find(x => x.number === practicumPatientNumber);\n\n practicumPatient[field] = value;\n\n createPracticumPatientValidator.validateAndSetState(state, setState, field, value, practicumPatientNumber.toString());\n\n setState({ ...state, practicumPatients: state.practicumPatients });\n }\n\n const removePracticumPatientErrors = (practicumPatientNumber: number) => {\n Object.keys(state.errors).forEach(key => {\n if (key.slice(key.length - 1) === practicumPatientNumber.toString()) {\n delete state.errors[key];\n }\n });\n }\n\n const validatePracticumPatient = (practicumPatient: PracticumPatientCreateModel) => {\n createPracticumPatientValidator.validateObjectAndSetState(state, setState, practicumPatient, practicumPatient.number.toString())\n }\n\n const handleSubmitPracticumPatients = () => {\n state.practicumPatients.filter(x => !x.deleted).forEach(patient => {\n validatePracticumPatient(patient);\n });\n\n if (createPracticumPatientValidator.stateIsValid(state)) {\n setState({ ...state, isLoading: true });\n const patients = state.practicumPatients.filter(x => !x.deleted).map((x) => ({\n practiceId: authQuery.getCurrentPracticeId(),\n fellowId: x.fellowId,\n firstName: x.firstName,\n lastName: x.lastName,\n email: x.email,\n birthday: x.birthday,\n phoneNumber: x.phoneNumber,\n gender: +x.gender\n } as PatientStartRegistrationModel));\n\n patientsService.startRegistration(patients).subscribe(() => {\n setState({ ...state, isLoading: false });\n navigationService.toFellowshipSubmissionReceived(history);\n },\n () => setState({ ...state, isLoading: false }))\n }\n }\n\n const isSubmitPracticumPatientsMode = (): boolean => {\n return state.selectedRole === FellowRoleType.Fellow && state.selectedFellowRoleSubmission === FellowRoleSubmissionType.SubmitPracticumPatient;\n }\n\n const canGoNext = (): boolean => {\n return (state.selectedRole === FellowRoleType.Fellow && state.selectedFellowRoleSubmission === FellowRoleSubmissionType.RegisterAsPatient && state.selectedLinkingFellowId !== null) ||\n (state.selectedRole === FellowRoleType.Fellow && state.selectedFellowRoleSubmission === FellowRoleSubmissionType.SubmitPracticumPatient && state.practicumPatients.filter(x => !x.deleted).length > 0) ||\n (state.selectedRole === FellowRoleType.FellowPatient && state.selectedPatientFellowId !== null);\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(employeesQuery.fellowsPublicInfo$, fellows => {\n setState(state => ({ ...state, fellows: fellows.filter(x => new Date(x.createdAt) >= new Date(2021, 0, 1) && new Date(x.createdAt) < new Date(2022, 6, 1)) }));\n }),\n ];\n\n employeeService.getActiveFellowsPublicInfo(authQuery.getCurrentPracticeId());\n rostersService.getActive().subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleChangeRole,\n handleChangeFellowSubmission,\n handleFellowSelect,\n handleLinkFellow,\n handleCreatePracticumPatient,\n handleDeletePracticumPatient,\n handleUndoDeletePracticumPatient,\n handlePracticumPatientChanges,\n handleSubmitPracticumPatients,\n isSubmitPracticumPatientsMode,\n handleQuarterSelect,\n canGoNext\n ];\n}","import React from 'react';\nimport moment from 'moment';\nimport { Box, FormControl, FormHelperText, IconButton, InputLabel, MenuItem, Select, TextField, Grid, createStyles, makeStyles, Theme } from '@material-ui/core';\nimport { FellowShortModel } from '../../../employee/models/employee.models';\nimport { PracticumPatientCreateModel } from '../../models/fellowship.model';\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { Remove } from '@material-ui/icons';\nimport { phoneNumberInput } from '../../../common/components/PhoneNumberInput';\nimport { Gender } from '../../../common/models/user.models';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\nimport { fullName } from '../../../common/helpers/display-name';\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n }),\n);\n\ninterface CreatePracticumPatientFormProps {\n practicumPatient: PracticumPatientCreateModel;\n fellows: FellowShortModel[];\n handleChanges: Function,\n handleDelete: Function,\n errors: { [id: string]: string; };\n}\n\nexport const CreatePracticumPatientForm: React.FC = (props: CreatePracticumPatientFormProps) => {\n const {\n practicumPatient,\n fellows,\n handleChanges,\n handleDelete,\n errors\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const getBirthday = () => {\n return practicumPatient.birthday\n ? moment(practicumPatient.birthday).format('YYYY-MM-DD')\n : null\n }\n\n return (\n \n \n \n Patient {practicumPatient.number}\n \n \n handleDelete(practicumPatient.number)}\n >\n \n \n \n \n \n Select Fellow\n \n {\n if (practicumPatient.fellowId === null) {\n return Please Select a Fellow;\n }\n\n return fullName(fellows.find((f) => f.id === practicumPatient.fellowId));\n }}\n displayEmpty\n onChange={(event) => handleChanges(practicumPatient.number, event.target.value as number, \"fellowId\")}\n disabled={!fellows.length}\n >\n {\n fellows.map((fellow, index) =>\n \n {fullName(fellow)}\n \n )\n }\n \n {errors[`fellowId${practicumPatient.number}`]}\n \n \n \n \n \n Patient First Name\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n Patient Last name\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n \n \n \n \n Patient Date of Birth\n \n \n handleChanges(practicumPatient.number, momentDate.format(\"YYYY-MM-DD\"), \"birthday\")\n }\n />\n {errors[`birthday${practicumPatient.number}`]}\n \n \n \n Patient Phone Number (Optional)\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n \n \n \n \n Preferred Patient Email\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n Select Assigned Sex at Birth\n \n {\n if (practicumPatient.gender === Gender.None || practicumPatient.gender === null) {\n return Please Select;\n }\n\n return Gender[practicumPatient.gender];\n }}\n displayEmpty\n onChange={(v) => handleChanges(practicumPatient.number, v.target.value.toString(), \"gender\")}\n >\n {Gender[Gender.Male]}\n {Gender[Gender.Female]}\n \n {errors[`gender${practicumPatient.number}`]}\n \n \n \n \n \n );\n}","import CircularProgress from \"@material-ui/core/CircularProgress/CircularProgress\";\nimport React from \"react\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { colors } from \"../../../common/constants/colors\";\n\ninterface FellowshipRegistrationNextButtonProps {\n isLoading?: boolean; \n canGoNext: boolean;\n goNext: () => void;\n label?: string;\n}\n\nexport const FellowshipRegistrationNextButton: React.FC = (props: FellowshipRegistrationNextButtonProps) => {\n const {\n isLoading = false,\n canGoNext,\n goNext,\n label\n } = props;\n\n return (\n goNext()}\n >\n { isLoading ? : label ?? 'Next Step'}\n \n );\n}","import React from 'react';\nimport clsx from 'clsx';\nimport { Box, FormControl, IconButton, MenuItem, Select, InputLabel } from '@material-ui/core';\nimport { useStyles } from \"./SelectFellowShipRoleComponent.styles\";\nimport { useFacade } from \"./selectFellowshipRoleComponent.hooks\";\nimport { FellowRoleSubmissionType, FellowRoleType } from '../../models/fellowship.enums';\nimport { CreatePracticumPatientForm } from \"../createPracticumPatientForm/CreatePracticumPatientForm\";\nimport { Add } from '@material-ui/icons';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { FellowshipRegistrationNextButton } from \"../fellowshipRegistrationButton/FellowshipRegistrationNextButton\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\nimport { fullName } from '../../../common/helpers/display-name';\nimport { rostersQuery } from '../../../rosters/stores/rosters';\nimport { NoPmRoster } from '../../../rosters/models/roster.model';\n\ninterface SelectFellowshipRoleComponentProps {\n goNext: () => void\n}\n\nexport const SelectFellowshipRoleComponent: React.FC = (props: SelectFellowshipRoleComponentProps) => {\n const {\n goNext\n } = props;\n\n const [\n {\n isLoading,\n selectedRole,\n selectedFellowRoleSubmission,\n fellows,\n quarterFellows,\n selectedPatientFellowId,\n selectedRoster,\n selectedLinkingFellowId,\n practicumPatients,\n errors\n },\n handleChangeRole,\n handleChangeFellowSubmission,\n handleFellowSelect,\n handleLinkFellow,\n handleCreatePracticumPatient,\n handleDeletePracticumPatient,\n handleUndoDeletePracticumPatient,\n handlePracticumPatientChanges,\n handleSubmitPracticumPatients,\n isSubmitPracticumPatientsMode,\n handleQuarterSelect,\n canGoNext\n ] = useFacade()\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n\n const rosters = rostersQuery.getRosters().filter(el => (el.id === NoPmRoster.January21 || el.id === NoPmRoster.July21 || el.id === NoPmRoster.January22) );\n\n const renderFellowPatientConetnt = (): JSX.Element => {\n return (\n \n \n \n Please select the fellowship class of your fellow.\n \n \n Select Class\n \n {\n if (selectedRoster === null) {\n return Please Class;\n }\n\n return selectedRoster?.name;\n }}\n displayEmpty\n onChange={(event) => handleQuarterSelect(event.target.value as number)}\n >\n {\n rosters.map((roster) =>\n \n {roster.name}\n \n )\n }\n \n \n \n \n \n \n Please select the fellow you will be working with in conjunction.\n \n \n Fellow\n \n {\n if (selectedPatientFellowId === null) {\n return Please Select;\n }\n\n return fullName(quarterFellows.find((f) => f.id === selectedPatientFellowId));\n }}\n displayEmpty\n onChange={(event) => handleFellowSelect(event.target.value as number)}\n disabled={!quarterFellows.length}\n >\n {\n quarterFellows.map((fellow, index) =>\n \n {fullName(fellow)}\n \n )\n }\n \n \n \n \n \n )\n }\n\n const renderFellowRegisterAsPatientConetnt = (): JSX.Element => {\n return (\n \n \n \n Please select your fellowship class.\n \n \n Select Class\n \n {\n if (selectedRoster === null) {\n return Please Class;\n }\n\n return selectedRoster?.name;\n }}\n displayEmpty\n onChange={(event) => handleQuarterSelect(event.target.value as number)}\n >\n {\n rosters.map((roster) =>\n \n {roster.name}\n \n )\n }\n \n \n \n \n \n \n Select your name from the roster.\n \n \n Select Fellow\n \n {\n if (selectedLinkingFellowId === null) {\n return Please Select;\n }\n\n return fullName(quarterFellows.find((f) => f.id === selectedLinkingFellowId));\n }}\n displayEmpty\n onChange={(event) => handleLinkFellow(event.target.value as number)}\n disabled={!quarterFellows.length}\n >\n {\n quarterFellows.map((fellow, index) =>\n \n {fullName(fellow)}\n \n )\n }\n \n \n \n \n \n )\n }\n\n const renderPracticumPatients = (): JSX.Element => {\n return (\n \n \n

Practicum Patient

\n
\n {\n practicumPatients.filter(x => !x.deleted).map((patient, index) => (\n \n \n \n ))\n }\n \n \n \n handleCreatePracticumPatient()}\n >\n \n \n \n \n Add Another Patient\n \n \n \n {\n practicumPatients.filter(x => x.deleted).map((patient, index) => (\n \n \n Patient {patient.number} Deleted\n \n handleUndoDeletePracticumPatient(patient.number)}\n >\n Undo\n \n \n ))\n }\n \n
\n
\n );\n }\n\n const renderFellowConetnt = (): JSX.Element => {\n return (\n \n \n Would you like to submit a practicum patient or register as a patient?\n \n \n handleChangeFellowSubmission(FellowRoleSubmissionType.SubmitPracticumPatient)}\n >\n Submit a Practicum Patient\n \n handleChangeFellowSubmission(FellowRoleSubmissionType.RegisterAsPatient)}\n >\n Register as a Patient\n \n
\n {\n selectedRole === FellowRoleType.Fellow && selectedFellowRoleSubmission === FellowRoleSubmissionType.SubmitPracticumPatient && renderPracticumPatients()\n }\n {\n selectedRole === FellowRoleType.Fellow && selectedFellowRoleSubmission === FellowRoleSubmissionType.RegisterAsPatient && renderFellowRegisterAsPatientConetnt()\n }\n
\n )\n }\n\n const renderRoleContent = (): JSX.Element => {\n switch (selectedRole) {\n case FellowRoleType.Fellow:\n return renderFellowConetnt();\n case FellowRoleType.FellowPatient:\n return renderFellowPatientConetnt();\n case FellowRoleType.No:\n return (<>);\n default:\n return (<>);\n }\n }\n\n const renderContent = (): JSX.Element => {\n if (!fellows || !fellows.length) {\n return (\n \n \n \n )\n }\n\n return (\n <>\n \n

Select Role

\n
\n \n \n Are you a fellow or will you be a patient of a fellow?\n \n \n handleChangeRole(FellowRoleType.Fellow)}\n >\n Fellow\n \n handleChangeRole(FellowRoleType.FellowPatient)}\n >\n Patient of a Fellow\n \n navigationService.toWildHealth()}\n >\n No\n
\n \n \n {\n renderRoleContent()\n }\n \n {\n !isSubmitPracticumPatientsMode() &&\n \n }\n {\n isSubmitPracticumPatientsMode() &&\n \n }\n \n \n );\n }\n return (\n \n {\n renderContent()\n }\n \n );\n}","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(theme => ({\n planCard: {\n lineHeight: 1.5,\n border: `1px solid ${colors.stroke}`,\n borderRadius: 2,\n height: '100%',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n },\n planPricing: {\n backgroundColor: colors.lightGray,\n padding: '20px 20px 20px 20px',\n },\n planBenefits: {\n padding: '20px 20px 20px 20px',\n },\n label: {\n fontWeight: 'bold',\n fontSize: '12px',\n lineHeight: '22px',\n height: '22px',\n paddingRight: 10,\n paddingLeft: 10,\n border: 'none',\n backgroundColor: colors.accent1,\n color: colors.white,\n textAlign: 'center',\n borderRadius: 15,\n },\n spacingZero: {\n letterSpacing: 0,\n }\n}));","import {PaymentPeriodModel} from \"../models/paymentPeriod.models\";\nimport {PaymentStrategy} from \"../models/paymentPrice.models\";\n\nexport const getPeriodDiscount = (period: PaymentPeriodModel) => {\n return period.prices.find(x => x.strategy === PaymentStrategy.FullPayment)?.discount;\n}","import React from 'react';\nimport { PaymentBenefitModel } from \"../../models/paymentBenefit.models\";\nimport { Box } from \"@material-ui/core\";\nimport { Check } from '@material-ui/icons';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\n\ninterface PaymentBenefitsComponentProps {\n benefits: PaymentBenefitModel[];\n planName: string;\n}\n\nexport const PaymentBenefitsComponent: React.FC = (props: PaymentBenefitsComponentProps) => {\n const {\n benefits,\n planName\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const renderBenefitText = (benefit: PaymentBenefitModel): JSX.Element => {\n const benefitTextItems = benefit.text.split(\"\\n\");\n\n const firstItem = benefitTextItems.shift();\n\n return (\n \n \n
\n \n \n
    \n {\n benefitTextItems.map((item, index) => (\n
  • \n {item}\n
  • \n ))\n }\n
\n
\n \n\n );\n }\n\n const renderOldContent = () => {\n return (<>\n \n {\n benefits.map((benefit, index) => {\n return (\n \n \n \n \n \n \n {benefit.title} \n {benefit.text && renderBenefitText(benefit)}\n \n \n \n )\n })\n }\n \n \n )\n }\n\n return (\n <>\n \n {(planName === \"CORE\" || planName === \"ADVANCED\") ? (\n \n \n \n \n \n \n In-Depth Genomic Analysis Included\n \n \n \n ) : (\n \n \n \n \n \n \n Includes all features from advanced plan\n \n \n \n )}\n {planName === \"CORE\" ? (\n \n \n \n \n \n \n \n 12 Months of Care With Up to 4 Health Coach & 1 MD\n \n \n \n \n ) : (\n \n \n \n \n \n \n \n 12 Months of Care With Up to 4 MD & 12 Health Coach Visits\n \n \n \n \n )}\n {(planName === \"CORE\" || planName === \"ADVANCED\") && (\n <>\n \n \n \n \n \n \n \n Personalized Health Score and Tracking\n \n \n \n \n \n \n \n \n \n \n \n Unlimited Messaging\n \n \n \n \n {planName === \"ADVANCED\" && (\n \n \n \n \n \n \n \n Basic Data Analysis of Wearable Devices (Devices are Not Included)\n \n \n \n \n )}\n \n )}\n {planName === \"OPTIMIZATION\" && (\n <>\n \n \n \n \n \n \n \n Detailed Data Analysis of Wearable Devices (Devices Are Note Included)\n \n \n \n \n \n \n \n \n \n \n \n Sleep Analysis & Optimizations\n \n \n \n \n \n \n \n \n \n \n \n In Depth & Comprehensive 6 Months Specialty Tracks Focusing On:\n \n \n \n
    \n
  • Brain Optimization and Cognitive Performance
  • \n
  • Mindfulness Boot Camp
  • \n
  • Gut Optimization Program
  • \n
  • Athletic Performance Program
  • \n
  • Longevity and Health Span Optimization
  • \n
\n
\n
\n
\n
\n
\n \n )}\n
\n \n )\n};","import React from 'react';\nimport { Box, Divider } from '@material-ui/core';\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\nimport { useStyles } from './SelectPaymentPlanCardComponent.styles';\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { getPeriodDiscount } from \"../../helpers/getPeriodDiscount\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { PaymentBenefitsComponent } from '../paymentBenefitsComponent/PaymentBenefitsForFellowComponent';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\n\ninterface SelectPaymentPlanCardComponentProps {\n plan: PaymentPlanModel;\n isSelected: boolean;\n handlePlanSelect: Function\n hideLimited?: boolean;\n}\n\nexport const SelectPaymentPlanCardComponent: React.FC = (props: SelectPaymentPlanCardComponentProps) => {\n const {\n plan,\n isSelected,\n handlePlanSelect,\n hideLimited,\n } = props;\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const renderPrice = (): JSX.Element => {\n return (\n \n \n

$

\n
\n \n

{plan.startPrice}

\n
\n \n \n \n {\n '/ per month '\n }\n {\n plan.startStartupFee > 0 &&\n \n plus {displayMoney(plan.startStartupFee ?? 0, '$')} startup fee\n \n }\n \n \n
\n \n );\n }\n\n const renderSelectButton = (): JSX.Element => {\n return (\n handlePlanSelect(plan)}\n color={!isSelected || (plan.isLimited && !hideLimited) ? \"primary\" : \"secondary\"}\n >\n {plan.isLimited ? \" Join waitlist!\" : \"Select\"}\n \n );\n }\n\n const renderHeaderSection = () => {\n const isOnePeriodPrice = plan.periods.length === 1;\n const period = isOnePeriodPrice\n ? plan.periods[0]\n : plan.periods.sort((p1, p2) => {\n return handleCompare(p1, p2, SortingDirection.Asc, 'periodInMonths')\n }).slice(-1).pop();\n\n return (\n \n \n \n {plan.displayName}\n \n {\n isOnePeriodPrice\n ? `${period.periodInMonths} month plan at`\n : \"Starting at\"\n }\n \n \n \n \n {\n renderPrice()\n }\n \n \n \n Save {displayMoney(getPeriodDiscount(period) ?? 0, '$')} by paying your {period.periodInMonths}-month membership upfront\n \n \n \n );\n }\n\n const renderContentSection = (): JSX.Element => {\n return (\n \n \n {\n renderSelectButton()\n }\n \n \n {plan.title}\n \n \n \n \n \n \n \n \n );\n }\n\n return (\n \n {\n renderHeaderSection()\n }\n {\n renderContentSection()\n }\n \n )\n}\n\n\n","import { Box, Button } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ChevronLeft } from '@material-ui/icons';\nimport { colors } from \"../../../common/constants/colors\";\n\ninterface FellowshipRegistrationBackButtonProps {\n goBack: () => void;\n}\n\nexport const FellowshipRegistrationBackButton: React.FC = (props: FellowshipRegistrationBackButtonProps) => {\n const {\n goBack,\n } = props;\n\n return (\n goBack()}\n style={{\n height: 48,\n width: 100,\n color: colors.black,\n backgroundColor: colors.white,\n textTransform: \"none\"\n }} \n >\n \n \n \n \n \n Back\n \n \n \n );\n}\n","import React from 'react';\nimport { Box, Grid } from '@material-ui/core';\nimport { useFacade } from \"./selectFellowshipPlanComponent.hooks\";\nimport { SelectPaymentPlanCardComponent } from \"../../../payment/components/selectPaymentPlanCardComponent/SelectPaymentPlanCardComponent\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { FellowshipRegistrationBackButton } from '../fellowshipRegistrationButton/FellowshipRegistrationBackButton';\n\n\ninterface SelectFellowshipPlanComponentProps {\n goNext: () => void;\n goBack: () => void\n}\n\nexport const SelectFellowshipPlanComponent: React.FC = (props: SelectFellowshipPlanComponentProps) => {\n const {\n goNext,\n goBack\n } = props;\n\n const [\n {\n plans,\n selectedPlan\n },\n handlePlanSelect,\n ] = useFacade(goNext);\n\n const renderContent = (): JSX.Element => {\n if (!plans || !plans.length) {\n return (\n \n \n \n );\n }\n\n return (\n <>\n \n \n goBack()} />\n \n \n

Fellowship Patient Plans

\n
\n \n \n \n \n {\n plans.map((plan) => {\n return (\n \n \n \n \n \n \n \n )\n })}\n \n \n \n );\n }\n\n return (\n \n {renderContent()}\n \n );\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {PaymentPlanModel} from \"../../../payment/models/paymentPlan.models\";\nimport {paymentPlansService} from \"../../../payment/services/paymentPlans.service\";\nimport {paymentPlansQuery} from \"../../../payment/stores/paymentPlansStore\";\nimport {authQuery} from \"../../../auth/stores/auth\";\n\nexport interface SelectFellowshipPlanComponentState {\n plans: PaymentPlanModel[];\n selectedPlan: PaymentPlanModel;\n}\n\nexport function useFacade(goNext: () => void): [\n SelectFellowshipPlanComponentState,\n (plan: PaymentPlanModel) => void,\n] {\n const [state, setState] = useState({\n plans: [],\n selectedPlan: null\n } as SelectFellowshipPlanComponentState);\n\n const handlePlanSelect = (plan: PaymentPlanModel) => {\n paymentPlansService.selectPlan(plan, true);\n if (plan && plan.periods.length === 1) {\n paymentPlansService.selectPeriod(plan.periods[0]);\n }\n setState({...state, selectedPlan: plan})\n goNext();\n };\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.regularPlans$, plans => {\n setState(state => ({\n ...state,\n plans: plans\n }));\n })\n ];\n\n paymentPlansService.getActive(authQuery.getCurrentPracticeId()).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [])\n\n return [state, handlePlanSelect]\n}","import React from 'react';\nimport { Box, Checkbox, FormControlLabel, Grid } from '@material-ui/core';\nimport { SelectAddOnModel } from '../../models/addOns.models';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\nimport clsx from 'clsx';\n\ninterface SelectAddOnComponentProps {\n key?: number;\n addOn: SelectAddOnModel;\n handleSelectingItem: (id: number, value: boolean) => void;\n}\n\nexport const SelectAddOnComponent: React.FC = (props: SelectAddOnComponentProps) => {\n const { key, addOn, handleSelectingItem } = props;\n\n const commonClasses = commonUseStyles();\n\n const handleChanges = (event: React.ChangeEvent) => {\n handleSelectingItem(addOn.id, event.target.checked)\n }\n\n const label = {addOn.name};\n const controlIcon = ;\n const controlCheckedIcon = ;\n const control = (\n \n );\n\n return (\n \n \n \n \n \n \n \n ${addOn.price}\n \n \n \n \n {addOn.description}\n \n \n );\n}\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { SelectAddOnModel } from '../../models/addOns.models';\nimport { SelectAddOnComponent } from '../selectAddOnComponent/selectAddOnComponent';\n\ninterface SelectAddOnsComponentProps {\n items: SelectAddOnModel[];\n handleSelectingItem: (id: number, value: boolean) => void;\n}\n\nexport const SelectAddOnsComponent: React.FC = (props: SelectAddOnsComponentProps) => {\n const { items, handleSelectingItem } = props;\n\n return (\n \n \n {\n items.map((item) => {\n return (\n \n \n \n )\n })\n }\n \n );\n}\n","import { Box, Divider } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { SelectAddOnModel } from '../../models/addOns.models';\nimport { SelectAddOnsComponent } from '../selectAddOnsComponent/selectAddOnsComponent';\n\ninterface SelectAddOnsCardComponentProps {\n items: SelectAddOnModel[];\n handleSelectingItem: (id: number, value: boolean) => void;\n}\n\nexport const SelectAddOnsCardComponent: React.FC = (props: SelectAddOnsCardComponentProps) => {\n const { items, handleSelectingItem } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n \n \n \n Get A Head Start On Your Personalized Care\n \n \n \n \n \n \n \n \n *This testing can be added at any time if you would like to discuss these options with your health coach or doctor first.\n \n \n \n );\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n addressValidationRules,\n birthdayValidationRule,\n emailValidationRule,\n firstNameValidationRule,\n functionValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n phoneNumberValidationRule,\n regexpValidationRule,\n stringLengthValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport {Gender} from \"../../../common/models/user.models\";\n\nexport const fellowshipCheckoutComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (+value === Gender.Female) return true;\n if (+value === Gender.Male) return true;\n return false;\n }, \"Gender should be selected.\")],\n 'phoneNumber': [phoneNumberValidationRule],\n 'password': [\n functionValidationRule((p: string) => {return !p.includes(\" \")}, \"Password should not contain spaces\"),\n regexpValidationRule(new RegExp(\"(?=.*[0-9])\"), \"Password should contain at least one digit\"),\n regexpValidationRule(new RegExp(\"(?=.*[a-z])\"), \"Password should contain at least one lower case\"),\n regexpValidationRule(new RegExp(\"(?=.*[A-Z])\"), \"Password should contain at least one upper case\"),\n stringLengthValidationRule(8, null, 'Password should contain at least 8 characters'),\n notWhitespaceValidationRule()\n ],\n 'confirmPassword': [stringLengthValidationRule(1, null, 'Confirm password is required.'), notWhitespaceValidationRule()],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // lead source form\n 'selectedLeadSource.otherLeadSource': [stringLengthValidationRule(1, 50)],\n})","import {useState} from 'react';\nimport {\n CardElement,\n useElements,\n useStripe\n} from '@stripe/react-stripe-js';\n\ninterface PaymentFormState {\n error: string;\n}\n\nexport function useFacade(callback: Function, validate: Function, needCardData: boolean): [PaymentFormState, Function, Function] {\n const [state, setState] = useState({\n error: null\n } as PaymentFormState);\n const stripe = useStripe();\n const elements = useElements();\n\n const handleSubmit = async (event) => {\n event.preventDefault();\n const card = elements.getElement(CardElement);\n const paymentMethod = await stripe.createPaymentMethod({ type: \"card\", card: card});\n\n const isValid = !(validate != null && !validate(paymentMethod?.paymentMethod?.id));\n\n if (needCardData) {\n if (paymentMethod.error) {\n setState({...state, error: paymentMethod.error.message});\n } else {\n setState({...state, error: null});\n if (isValid) {\n callback(paymentMethod.paymentMethod.id);\n }\n }\n }\n else {\n setState({...state, error: null});\n callback(\"\");\n }\n }\n\n const handleChange = (event) => {\n if (event.error) {\n setState({...state, error: event.error.message});\n } else {\n setState({...state, error: null});\n }\n }\n\n return [state, handleChange, handleSubmit]\n}\n","import { Box, Button, CircularProgress } from \"@material-ui/core\";\nimport { CardElement, Elements } from \"@stripe/react-stripe-js\";\nimport { loadStripe } from \"@stripe/stripe-js\";\nimport React, { useMemo } from \"react\";\nimport { useFacade } from \"./paymentFormComponent.hooks\";\nimport './PaymentFormComponent.scss';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from \"clsx\";\nimport { FellowshipRegistrationBackButton } from \"../../../fellowship/components/fellowshipRegistrationButton/FellowshipRegistrationBackButton\";\nimport { colors } from \"../../../common/constants/colors\";\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: '#000',\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '16px',\n '::placeholder': {\n color: '#aab7c4'\n }\n },\n invalid: {\n color: '#fa755a',\n iconColor: '#fa755a'\n }\n }\n};\n\ninterface PaymentFormComponentProps extends PaymentFormProps {\n publicKey: string;\n provider: string;\n goBack: Function;\n}\n\nexport const PaymentFormComponent: React.FC = (props: PaymentFormComponentProps) => {\n const {\n needCardData,\n totalPrice,\n callback,\n canSubmit,\n validate,\n isSubmitted,\n provider,\n confirmAgreements,\n publicKey,\n goBack\n } = props;\n\n const stripePromise = useMemo(() => loadStripe(publicKey), [publicKey]);\n\n return (\n \n \n \n )\n}\n\ninterface PaymentFormProps {\n needCardData?: boolean;\n totalPrice: number;\n callback: Function;\n canSubmit: boolean;\n validate?: Function;\n isSubmitted: boolean;\n confirmAgreements?: JSX.Element;\n provider: string;\n goBack: Function;\n}\n\nconst PaymentForm: React.FC = (props: PaymentFormProps) => {\n const {\n needCardData,\n callback,\n canSubmit,\n validate,\n isSubmitted,\n goBack\n } = props;\n\n const [\n {\n error\n },\n handleChange,\n handleSubmit\n ] = useFacade(callback, validate, needCardData);\n const commonClasses = commonUseStyles();\n\n const cardElement = needCardData && (\n
\n handleChange(event)}\n />\n
{error}
\n
\n );\n\n return (\n <>\n
handleSubmit(event)}>\n {cardElement}\n \n \n goBack()} />\n \n \n \n
\n \n );\n}\n","import {Observable, Subject} from \"rxjs\";\nimport {CallbackModel} from \"../../common/models/callback.model\";\nimport {\n AgreementModel,\n AgreementOnViewModel,\n AgreementsOnConfirmModel,\n ConfirmAgreementModel\n} from \"../models/agreement.model\";\nimport {PaymentPeriodModel} from \"../models/paymentPeriod.models\";\nimport {PaymentPriceModel} from \"../models/paymentPrice.models\";\nimport {PaymentPlanModel} from \"../models/paymentPlan.models\";\n\nexport class ConfirmAgreementService {\n public onConfirm = new Subject>();\n public onView = new Subject>();\n\n public view(\n agreement: AgreementModel,\n paymentPlan: PaymentPlanModel,\n paymentPeriod: PaymentPeriodModel,\n paymentPrice: PaymentPriceModel) {\n const data: AgreementOnViewModel = {\n agreement: agreement,\n paymentPlan: paymentPlan,\n paymentPeriod: paymentPeriod,\n paymentPrice: paymentPrice\n }\n\n this.onView.next({\n data: data,\n callback: () => {}\n });\n }\n\n\n public confirm(\n paymentPlan: PaymentPlanModel,\n paymentPeriod: PaymentPeriodModel,\n paymentPrice: PaymentPriceModel): Observable {\n const data: AgreementsOnConfirmModel = {\n agreements: paymentPeriod.agreements.slice(),\n paymentPlan: paymentPlan,\n paymentPeriod: paymentPeriod,\n paymentPrice: paymentPrice\n }\n\n if (!data.agreements || !data.agreements.length) {\n return new Observable(observer => {\n observer.next([]);\n observer.complete();\n })\n }\n\n return new Observable(observer => {\n this.onConfirm.next({\n data: data,\n callback: (result: ConfirmAgreementModel[]) => {\n result\n ? observer.next(result)\n : observer.error();\n\n observer.complete();\n }\n });\n });\n }\n}\n\nexport const confirmAgreementService = new ConfirmAgreementService();","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles({\n btnLink: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.main,\n fontSize: 16,\n padding: 0,\n cursor: 'pointer',\n paddingLeft: '4px',\n paddingRight: '4px',\n },\n textWithLink: {\n textAlign: 'center',\n },\n agreementsWrap: {\n color: colors.gray1,\n width: '100%', \n display: \"flex\",\n justifyContent: \"center\",\n },\n agreements: {\n display: \"flex\", \n maxWidth: 634, \n flexWrap: \"wrap\", \n alignItems: \"center\", \n justifyContent: \"center\",\n },\n error: {\n color: colors.bad,\n }\n});","import { Box } from \"@material-ui/core\";\nimport React from \"react\";\nimport { AgreementModel } from \"../../models/agreement.model\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { PaymentPriceModel } from \"../../models/paymentPrice.models\";\nimport { confirmAgreementService } from \"../../services/confirmAgreement.service\";\nimport { useStyles } from \"./ConfirmAgreementsCheckBoxComponent.styles\";\n\nexport interface ConfirmAgreementsCheckBoxComponentProps {\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n}\n\nexport const ConfirmAgreementsCheckBoxComponent: React.FC = (props: ConfirmAgreementsCheckBoxComponentProps) => {\n const {\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n } = props;\n\n const classes = useStyles();\n\n const handleShowAgreements = (agreement: AgreementModel) => {\n confirmAgreementService.view(\n agreement,\n paymentPlan,\n paymentPeriod,\n paymentPrice\n );\n }\n\n return (\n <>\n \n \n

By continuing, you accept terms and conditions of our

\n \n

as well as our

\n \n
\n
\n \n );\n}\n","import React, { useEffect, useRef, useState } from 'react';\nimport Recaptcha from 'react-google-invisible-recaptcha';\nimport { useHistory } from 'react-router';\nimport { Subscription } from 'rxjs';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { AddOnModel, SelectAddOnModel } from \"../../../addons/models/addOns.models\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { addOnsQuery } from \"../../../addons/stores\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { LeadSourceModel, PatientLeadSourceModel } from \"../../../leadSources/models/leadSource.models\";\nimport { leadSourcesService } from \"../../../leadSources/services/leadSources.service\";\nimport { leadSourcesQuery } from \"../../../leadSources/stores/leadSources.query\";\nimport { RegisterPatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { AgreementModel } from '../../../payment/models/agreement.model';\nimport { PaymentPeriodModel } from '../../../payment/models/paymentPeriod.models';\nimport { PaymentPlanModel } from '../../../payment/models/paymentPlan.models';\nimport { PaymentPriceModel, PaymentStrategy } from '../../../payment/models/paymentPrice.models';\nimport { ApplyCouponModel, MerchantCredentialsModel, PayerInformation } from \"../../../payment/models/payment.models\"\nimport { paymentPlansQuery, paymentPlansStore } from \"../../../payment/stores/paymentPlansStore\";\nimport { paymentPlansService } from \"../../../payment/services/paymentPlans.service\";\nimport { fellowshipCheckoutComponentValidator } from './fellowshipCheckoutComponentValidator';\nimport { paymentQuery } from \"../../../payment/stores/paymentStore\";\nimport { paymentService } from \"../../../payment/services/payment.service\";\nimport { PaymentFormComponent } from \"../../../payment/components/paymentFormComponent/PaymentFormUpdatedComponent\";\nimport { ConfirmAgreementsCheckBoxComponent } from \"../../../payment/components/confirmAgreementsCheckBoxComponent/ConfirmAgreementsCheckBoxComponent\";\nimport { employeesStore } from '../../../employee/stores/employeesStore';\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { addressQuery } from '../../../account/stores/addressStore';\nimport { SITE_KEY } from \"../../../../config\";\nimport { OrderType } from \"../../../orders/models/orders.models\";\n\nconst context = {};\n\nexport const howDidYouHeardAboutUs = [\n 'Ben Greenfield',\n 'Online Search',\n 'Online Ad',\n 'Word Of Mouth',\n];\n\n/**\n * Represents payment form state\n */\ninterface FellowshipCheckoutComponentState extends IErrorState {\n practiceId: number | null;\n publicKey: string | null;\n provider: string | null;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n isSubmitted: boolean;\n payer: PayerInformation;\n addOns: SelectAddOnModel[];\n couponCode: string;\n isCouponApplied: boolean;\n agreements: AgreementModel[];\n selectedLeadSource: PatientLeadSourceModel;\n leadSources: LeadSourceModel[];\n exclusivePrices: PaymentPriceModel[];\n}\n\nconst getDefaultPaymentPrice = (period: PaymentPeriodModel): PaymentPriceModel => {\n const exclusivePrice = period.prices.find(x => x.isExclusive);\n if (exclusivePrice) {\n return exclusivePrice;\n }\n\n const annualPrice = period.prices.find(x => x.strategy === PaymentStrategy.FullPayment);\n return annualPrice\n ? annualPrice\n : period.prices[0];\n}\n\n/**\n * Custom Hook to manage a view Model for SelectPlan page view components\n */\nexport function useFacade(goBack: Function): [\n FellowshipCheckoutComponentState,\n (id: number) => void,\n (field: string, value: string) => void,\n () => JSX.Element,\n () => JSX.Element,\n (id: number, value: boolean) => void,\n () => SelectAddOnModel[],\n (value: string) => void,\n (code: string) => void,\n (field: string, value: string) => void] {\n\n const emptyAddress = {\n country: '',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: '',\n }\n\n const history = useHistory();\n const paymentPlan = paymentPlansQuery.getSelectedPlan();\n const paymentPeriod = paymentPlansQuery.getSelectedPeriod();\n const paymentPrice = getDefaultPaymentPrice(paymentPeriod);\n const couponCode = paymentPlansQuery.getCouponCode();\n const isCouponApplied = paymentPlansQuery.isPaymentCouponApplied();\n const [paymentToken, setPaymentToken] = useState('');\n const recaptcha = useRef(null);\n const [state, setState] = useState({\n practiceId: null,\n publicKey: null,\n payer: {\n firstName: '',\n lastName: '',\n email: '',\n phoneNumber: '',\n birthday: null,\n gender: 99,\n password: '',\n confirmPassword: '',\n billingAddress: Object.assign({}, emptyAddress),\n shippingAddress: Object.assign({}, emptyAddress)\n },\n isSubmitted: false,\n errors: {},\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n addOns: [],\n couponCode: couponCode,\n isCouponApplied: isCouponApplied,\n agreements: paymentPeriod.agreements,\n selectedLeadSource: {\n leadSourceId: 0,\n otherLeadSource: \"\"\n },\n leadSources: [],\n exclusivePrices: []\n } as FellowshipCheckoutComponentState);\n\n const handleSelectingAddOn = (id: number, value: boolean) => {\n const addOns = state.addOns;\n const addOn = addOns.find(x => x.id === id);\n addOn.isSelected = value;\n\n setState({ ...state, addOns });\n }\n\n const handlePriceSelect = (id: number) => {\n const paymentPrice = paymentPeriod.prices.find(x => x.id === id);\n setState({ ...state, paymentPrice });\n }\n\n const getSelectedAddOns = () => {\n return state.addOns.filter(i => i.isSelected);\n }\n\n const getSelectedAddOnsPrice = () => {\n return getSelectedAddOns().reduce((a, b) => a + b.price, 0);\n }\n\n const handleCouponChanges = (value: string) => {\n setState({ ...state, couponCode: value });\n }\n\n const applyCoupon = (code: string) => {\n const model: ApplyCouponModel = {\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceType: state.paymentPrice.type,\n code: code\n };\n\n const action = paymentPlansService.newPromoCodeApply(model);\n\n action.subscribe((exclusivePrices: PaymentPriceModel[]) => {\n if (exclusivePrices && exclusivePrices.length) {\n const adjustedPrices = paymentPeriod.prices.map(price => {\n const exclusivePrice = exclusivePrices.find(x => x.strategy === price.strategy);\n return exclusivePrice ?? price;\n });\n // we need the complete coupon model\n const retrievedCoupon = exclusivePrices[0].paymentCoupon;\n \n const newSelectedPeriod = Object.assign(paymentPeriod, {\n prices: adjustedPrices\n });\n \n const addOns = state.addOns;\n \n const freeAddOnsPrice = adjustedPrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n \n const paymentPrice = newSelectedPeriod\n .prices\n .find(x => x.paymentCoupon?.code === retrievedCoupon.code);\n \n if (paymentPrice) {\n setState(state => ({\n ...state,\n couponCode: code,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n addOns: addOns,\n isCouponApplied: true,\n exclusivePrices: exclusivePrices\n }));\n \n paymentPlansStore.setCouponApplied(retrievedCoupon);\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n }\n }, () => {\n });\n }\n\n const handleChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n const payer = state.payer;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, payer);\n lastObject[key] = value;\n\n setState({ ...state, payer: Object.assign({}, payer) });\n\n if (field === 'gender') {\n addOnsService.getOptional(paymentPlan.id, value);\n }\n }\n\n const handleLeadSourceChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state);\n lastObject[key] = key === \"leadSourceId\" ? +value : value;\n\n setState({ ...state, selectedLeadSource: state.selectedLeadSource });\n }\n\n const updateValidationState = (field: string, value: any) => {\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, field, value);\n }\n\n const executeRecaptcha = () => {\n recaptcha.current?.reset();\n recaptcha.current?.execute()\n }\n\n const renderRecaptcha = () => {\n context['state'] = state;\n context['paymentToken'] = paymentToken;\n\n return recaptchaOnResolved(token, context)}\n />\n }\n\n const scrollToErrorField = (state) => {\n const errors = Object.keys(state.errors);\n\n if (!errors.length) return;\n\n const firstInvalidField = errors[0];\n const top = document.getElementById(firstInvalidField).getBoundingClientRect().top;\n\n const approximateVisibleOffset = 200;\n\n window.scrollBy({\n top: top - approximateVisibleOffset,\n behavior: 'smooth'\n });\n }\n\n const recaptchaOnResolved = (antiSpamToken: string, context) => {\n const state = context['state'];\n const paymentToken = context['paymentToken'];\n const fellow = employeesStore.getValue().selectedFellow;\n const linkedFellow = employeesStore.getValue().linkedFellow;\n\n const patient: RegisterPatientModel = {\n inviteCode: null,\n practiceId: state.practiceId,\n paymentToken: paymentToken,\n antiSpamToken: antiSpamToken,\n email: state.payer.email.trim(),\n phoneNumber: state.payer.phoneNumber,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n gender: Number(state.payer.gender),\n birthday: state.payer.birthday,\n password: state.payer.password,\n confirmPassword: state.payer.confirmPassword,\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceId: state.paymentPrice.id,\n agreements: state.paymentPeriod.agreements.map(x => ({ agreementId: x.id, isConfirmed: true })),\n billingAddress: state.payer.billingAddress,\n shippingAddress: {...state.payer.billingAddress, state: addressQuery.findState(state.payer.billingAddress?.state)?.abbreviation},\n addOnIds: state.addOns.filter(x => x.isSelected).map(x => x.id),\n founderId: null,\n leadSource: state.selectedLeadSource.leadSourceId !== 0 ? state.selectedLeadSource : null,\n employeeId: fellow?.id,\n linkedEmployeeId: linkedFellow?.id,\n // TODO: ask how Product want to handle that\n marketingSMS: false,\n employerProductKey: null\n }\n\n patientsService.register(patient).subscribe(\n patient => {\n navigationService.toPaymentSuccess(history, patient);\n },\n () => {\n setState({\n ...state,\n isSubmitted: false\n });\n }\n );\n }\n\n const validateForm = (): boolean => {\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"email\", state.payer.email);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"password\", state.payer.password);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"confirmPassword\", state.payer.confirmPassword);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress2\", state.payer.billingAddress.streetAddress2);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.country\", state.payer.billingAddress.country);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n\n\n const leadSource = state.leadSources.find(x => x.id === state.selectedLeadSource.leadSourceId);\n if (leadSource !== undefined && leadSource.isOther)\n fellowshipCheckoutComponentValidator.validateAndSetState(state, setState, \"selectedLeadSource.otherLeadSource\", state.selectedLeadSource.otherLeadSource);\n\n const isValid = fellowshipCheckoutComponentValidator.stateIsValid(state);\n\n !isValid && scrollToErrorField(state);\n\n return isValid;\n }\n\n const renderPaymentForm = () => {\n const price = state.paymentPrice.price + state.paymentPrice.startupFee + getSelectedAddOnsPrice();\n\n return (\n }\n callback={(paymentToken: string) => {\n handlePaymentSubmit(paymentToken);\n }}\n goBack={goBack}\n />\n )\n }\n\n /**\n * Handles payment submit\n * @param paymentToken\n */\n const handlePaymentSubmit = (paymentToken: string) => {\n setState({ ...state, isSubmitted: true });\n setPaymentToken(paymentToken);\n executeRecaptcha();\n };\n\n /**\n * Load all payment plans\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentQuery.credentials$, credentials => {\n setState(state => ({\n ...state,\n publicKey: credentials?.publicKey,\n provider: credentials?.provider,\n practiceId: credentials?.practiceId\n }));\n }\n ),\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({ ...state, selectedPlan }));\n }),\n onEmit(addOnsQuery.addOns$, addOns => {\n const items = addOns.map(i => {\n return {\n ...i,\n isSelected: i.orderType === OrderType.Lab\n }\n });\n\n let isCouponApplied=false;\n if(state.isCouponApplied && !!state.exclusivePrices){\n const addOns = items;\n const freeAddOnsPrice = state.exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n isCouponApplied = true;\n }\n setState(state => ({ ...state, addOns: items, isCouponApplied: isCouponApplied }));\n }),\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources: leadSources.sort((l1, l2,) => handleCompare(l1, l2, SortingDirection.Desc, 'isOther'))\n }));\n }),\n ];\n\n leadSourcesService.getActive(authQuery.getCurrentPracticeId());\n paymentService.getCredentials(authQuery.getCurrentPracticeId());\n addOnsService.getOptional(paymentPlan.id, state.payer.gender);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [paymentPlan, state.payer.gender]);\n\n return [\n state,\n handlePriceSelect,\n handleChanges,\n renderPaymentForm,\n renderRecaptcha,\n handleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n handleLeadSourceChanges\n ]\n}\n","import { makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles({\n container: {\n backgroundColor: \"white\",\n paddingTop: \"50px\",\n paddingLeft: \"50px\",\n paddingRight: \"76px\"\n },\n howDidYouHeardAboutUsSelect: {\n backgroundColor: '#ffffff',\n width: 345,\n },\n textSecondary: {\n color: '#7C8A9D'\n },\n backButton: {\n height: 48,\n width: 100,\n color: \"black\",\n backgroundColor: \"white\",\n textTransform: \"none\",\n }\n});","import React from 'react';\nimport { Box, Card, CardContent, Divider } from '@material-ui/core';\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { DiscountModel, DiscountSource, PaymentPriceModel, PaymentStrategy } from \"../../models/paymentPrice.models\";\nimport { SelectAddOnModel } from '../../../addons/models/addOns.models';\nimport { getPaymentPlanFullName } from \"../../helpers/getPlanFullName\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\n\ninterface BillingSummaryComponentProps {\n selectedPlan?: PaymentPlanModel;\n selectedPeriod?: PaymentPeriodModel;\n selectedPrice?: PaymentPriceModel;\n selectedAddOns?: SelectAddOnModel[];\n hasDiscount?: boolean;\n hasContainer?: boolean;\n}\n\nexport const BillingSummaryComponent: React.FC = (props: BillingSummaryComponentProps) => {\n const {\n selectedPlan,\n selectedPeriod,\n selectedPrice,\n selectedAddOns,\n hasDiscount,\n hasContainer,\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const startupFee = selectedPrice?.startupFee ?? 0;\n const subTotalPrice = selectedPrice?.originalPrice ?? 0;\n const discount = selectedPrice?.discount ?? 0;\n const totalPrice = (selectedPrice?.price ?? 0) + startupFee +\n (selectedAddOns?.reduce((sum, current) => sum + current.price, 0) ?? 0);\n\n const showYearMonth = (discountModel: DiscountModel, paymentStrategy:PaymentStrategy) => {\n if(discountModel.source == DiscountSource.Coupon || discountModel.source == DiscountSource.Insurance){\n if(paymentStrategy == PaymentStrategy.FullPayment){\n return \" / year\";\n }\n if(paymentStrategy == PaymentStrategy.PartialPayment){\n return \" / month\";\n }\n }\n }\n \n const renderContent = () => {\n return (\n \n \n {\n selectedPlan && [\n \n {selectedPlan && getPaymentPlanFullName(selectedPlan, selectedPeriod)}\n ,\n \n \n {displayMoney(subTotalPrice, '$')}\n \n \n ]\n }\n \n\n {\n selectedAddOns?.map((item, index) =>\n \n \n \n {item.name}\n \n \n \n \n {displayMoney(item.price, '$')}\n \n \n \n )\n }\n \n {\n hasDiscount &&\n \n \n \n Startup Fee\n \n \n \n \n {displayMoney(startupFee, '$')}\n \n \n \n }\n {\n hasDiscount && discount > 0 && !!selectedPrice.discounts &&\n \n {\n selectedPrice.discounts.map(x=>{\n return(\n \n \n \n {x.name}\n \n \n \n \n {displayMoney(x.amount, '$', true, true)}{showYearMonth(x, selectedPrice.strategy)}\n \n \n )\n })\n } \n \n }\n \n \n \n \n \n \n Total:\n \n \n \n \n {displayMoney(totalPrice, '$')}\n \n \n \n \n \n )\n }\n\n return (\n hasContainer ?\n \n \n {renderContent()}\n \n :\n renderContent()\n )\n};","import { Box, Grid } from \"@material-ui/core\";\nimport React from \"react\";\n\ninterface AgreementBasePageProps {\n children: React.ReactNode;\n}\n\nexport const AgreementBasePage: React.FC = (props: AgreementBasePageProps) => {\n const {\n children\n } = props;\n\n return (\n <>\n \n \n \n {children}\n \n \n \n \n )\n}","import React from \"react\";\nimport {Box} from \"@material-ui/core\";\nimport './WildHealthAgreement.scss';\n\nexport const AgreementHeaderComponent: React.FC = () => {\n return (\n \n \n wild health.\n \n \n \n 535 Wellington Way, Suite #330\n \n \n Lexington, KY 40503\n \n \n 800 975-1562 \n \n \n \n )\n}","import { AgreementModel } from \"../../../models/agreement.model\";\nimport { CoachingClientAgreementPage } from \"./CoachingClientAgreementPage\";\nimport { PatientAgreementPage } from \"./PatientAgreementPage\";\nimport { PatientFoundersAgreementPage } from \"./PatientFoundersAgreementPage\";\nimport { CoachingFoundersClientAgreementPage } from \"./CoachingFoundersClientAgreementPage\";\nimport {PatientSingleAgreementPage} from \"./PatientSingleAgreementPage\";\nimport {CoachingClientSingleAgreementPage} from \"./CoachingClientSingleAgreementPage\";\n\nconst agreementsPagesMap: { [id: string]: Function } = {\n 'PATIENT_AGREEMENT': PatientAgreementPage,\n 'COACHING_AGREEMENT': CoachingClientAgreementPage,\n 'PATIENT_FOUNDERS_AGREEMENT': PatientFoundersAgreementPage,\n 'COACHING_FOUNDERS_AGREEMENT': CoachingFoundersClientAgreementPage,\n 'SINGLE_PLAN_PATIENT_AGREEMENT': PatientSingleAgreementPage,\n 'SINGLE_PLAN_COACHING_AGREEMENT': CoachingClientSingleAgreementPage,\n};\n\nexport class AgreementsPagesProvider {\n\n /**\n * Returns agreements pages\n * @param agreements\n */\n public getPages(agreements: AgreementModel[]): Function[] {\n const pages: Function[] = [];\n agreements.forEach((agreement) => {\n pages.push(agreementsPagesMap[agreement.name]);\n })\n\n return pages;\n }\n\n /**\n * Returns agreement page\n * @param agreement\n */\n public getPage(agreement: AgreementModel): Function {\n return agreementsPagesMap[agreement.name];\n }\n}\n\nexport const agreementPagesProvider = new AgreementsPagesProvider();\n","import {Box} from \"@material-ui/core\";\nimport CheckBoxOutlineBlankOutlinedIcon from \"@material-ui/icons/CheckBoxOutlineBlankOutlined\";\nimport CheckBoxOutlinedIcon from \"@material-ui/icons/CheckBoxOutlined\";\nimport React from \"react\";\nimport {AgreementBasePage} from \"./AgreementBasePage\";\nimport {AgreementHeaderComponent} from \"./AgreementHeaderComponent\";\nimport {AgreementPageProps} from \"./agreementPageProps\";\nimport './WildHealthAgreement.scss';\n\nexport const PatientAgreementPage: React.FC = (props: AgreementPageProps) => {\n const {\n data\n } = props;\n\n const renderPaymentPlanCheckbox = (planName: string, periodInMonths: number) => {\n const selectedPlanName = data['planName'];\n const selectedPeriodInMonths = parseInt(data['periodInMonths'] ?? '0');\n\n return (\n \n {\n planName === selectedPlanName && periodInMonths === selectedPeriodInMonths\n ? \n : \n }\n \n )\n }\n\n const renderMemberships = () => {\n return (\n <>\n 1. Employee Sponsored Membership: Per\n employer agreement.\n 2. Advanced:\n \n \n {renderPaymentPlanCheckbox('ADVANCED', 12)} 12 Month Plan:\n 12 health coaching visits and 4 provider visits at $2,028.00\n or $188.00 per month. Startup fee of $195.00 applies.\n \n \n 3. Optimization:\n \n \n {renderPaymentPlanCheckbox('OPTIMIZATION', 12)} 12 Month\n Plan: 12 health coaching visits and 4 provider visits at\n $3,228.00 or $299.00 per month. Startup fee of $195.00\n applies.\n \n \n 4. Core:\n \n \n {renderPaymentPlanCheckbox('CORE', 12)} 12 Month Plan: 4\n health coaching visits and 1 provider visit at $1,368.00 or\n $124.00 per month. Startup fee of $195.00 applies.\n \n \n 5. Free Trial:\n \n \n {renderPaymentPlanCheckbox('FREE_TRIAL', 1)} 30-day free\n trial: One Wild Health staff visit and one Health Coach\n visit.\n \n \n \n )\n }\n\n return (\n \n \n \n \n \n PATIENT AGREEMENT\n \n \n This is an Agreement between Wild Health Inc, a Delaware Corporation\n located at 535 Wellington Way, Suite #330, Lexington, Kentucky 40503 and 212 South 2nd\n Street, Danville, Kentucky, 40422 (“Wild Health”), and\n health coach or clinician (“Provider”) in their capacity\n as agents of Wild Health, and you, (“Client” or “You”).\n \n \n \n \n NOT HEALTH INSURANCE. THIS AGREEMENT IS NOT HEALTH INSURANCE AND DOES NOT MEET ANY\n INDIVIDUAL HEALTH INSURANCE MANDATE THAT MAY BE REQUIRED BY FEDERAL LAW, INCLUDING THE\n FEDERAL PATIENT PROTECTION AND AFFORDABLE CARE ACT AND COVERS ONLY LIMITED ROUTINE HEALTH\n CARE SERVICES AS DESIGNATED IN THIS AGREEMENT. THIS AGREEMENT IS NOT WORKERS’ COMPENSATION\n INSURANCE AND DOES NOT REPLACE AN EMPLOYER’S OBLIGATIONS UNDER APPLICABLE FEDERAL OR STATE\n LAW.\n \n \n \n Background\n \n \n \n Wild Health services begin with a comprehensive wellness screening assessment and medically\n supervised health coaching. Following the Wild Health Evaluation, You may elect to establish\n medical care via an in-person visit or asynchronous video telemedicine visit should You wish\n to receive medical advice, prescriptive treatment recommendations, prognostic\n recommendations, and/or prescriptions.\n \n \n \n Services and Payment Terms\n \n \n 1. Services\n \n 1.1. Service Memberships.\n Client may elect to utilize services by selecting a Precision Care, Precision Health\n Coaching, Optimization, Founder’s Precision, or Founder’s Optimization memberships.\n \n 1.2. Wellness Evaluation.\n Client shall also be entitled to an initial “wellness evaluation,” which shall be\n performed by the health coach, and may include a health risk assessment, diet and\n exercise evaluation, and other health coaching services.\n \n 1.3. Provider Medical Services.\n Depending on the membership selected Client may be entitled to Provider examinations and\n medical services provided by the clinician tailored to the Clients specific needs. As\n used in this Agreement, the term Medical Services shall mean those medical services that\n the Provider is permitted to perform under the laws of the state of licensure and that\n are consistent with his training and experience as a medical provider, as the case may\n be.\n \n 1.4. Problem Visits.\n Depending on the membership selected Client may be entitled to additional provider\n visits for evaluation and management of unexpected illnesses or issues. Problem visits\n do not include emergent or urgent care matters and Provider will use their best efforts\n to schedule problem visits within 48 hours of Client’s request.\n \n 1.5. Non-Medical, Personalized Services.\n Wild Health may also provide Client with the following non-medical services (“Non-Medical Services”):\n \n a.\n Health Coaching: \n As more fully described in the fee schedule below, to the extent Client receives\n Health Coaching, the applicable terms of Wild Health’s Coaching Client Agreement\n are incorporated herein by reference as if fully set forth.\n \n b.\n Premium Access: \n Client shall have access to the Provider via secure messaging or video. Client\n shall be given a phone number where Client may reach the Provider directly.\n Provider does not guarantee immediate response. Provider will make reasonable\n efforts to respond in a timely manner. Client agrees to call 911 in case of\n medical emergency.\n \n c.\n E-Mail Access: \n Client shall be given a Provider’s e-mail address for non-urgent communications.\n The Provider or staff member of Wild Health shall deal with such communications\n in a timely manner. Client understands and agrees that email and the internet\n should never be used to access medical care in the event of an emergency, or any\n situation that Client could reasonably expect may develop into an emergency.\n Client agrees that in such situations, when a Client cannot speak to Provider\n immediately in-person or by telephone, that Client shall call 911 or the nearest\n emergency medical services provider and follow the directions of emergency\n medical personnel.\n \n d.\n Minimal wait Appointments: \n Effort shall be made to assure that Client is seen by the Provider immediately\n upon arriving for a scheduled office visit or after only a minimal wait.\n \n e.\n Appointments: \n When Client calls or emails the Provider prior to noon on a normal office day\n (Monday through Friday) to schedule an appointment, every reasonable effort\n shall be made to schedule an appointment with the Provider within 1 business\n day. If the Client calls or e-mails the Provider after noon on a normal office\n day (Monday through Friday) to schedule an appointment, every reasonable effort\n shall be made to schedule Client’s appointment with the Provider within 2\n business days. Client understands and acknowledges that it is Client’s\n responsibility to schedule visits, if Client fails to schedule a visit during a\n 30-day period, Wild Health reserves the right to reduce the overall available\n visits under a plan by a pro-rata amount to reflect the missed visit(s) as\n permitted under state or federal law.\n \n f.\n Specialists: \n A Wild Health Provider shall coordinate with medical specialists to whom Client\n is referred to assist Client in obtaining specialty care. Client understands\n that fees paid under this Agreement do not include and do not cover such\n specialists’ fees or fees due to any medical professional other than the Wild\n Health Provider.\n \n \n \n \n \n \n 2. Payment\n \n 2.1. Fees Generally.\n In exchange for the services described herein, Client or Guarantor\n agrees to pay Wild Health, the amount as set forth in Section 2.2 below. Fees are\n payable prior to performance of any services. If Wild Health cancels this Agreement\n before the agreement termination date, then Wild Health shall refund the Client’s\n pro-rated share of any payment remaining after deducting individual charges for services\n rendered to Client up to cancellation. Wild Health may amend the Membership Fee Schedule\n at any time, as it may determine in its sole discretion, upon providing Client at least\n sixty (60) days’ advance written notice. For employer sponsored memberships, individual\n membership fees will only apply if the employee/member elects to continue services after\n termination or employee sponsorship ends or elects services above and beyond that which\n the employer has agreed to cover.\n \n 2.2. Membership Fee Schedule.\n The fee schedule for services provided by Wild Health shall be priced as follows:\n \n a.\n Subscription Fee: The Subscription fee shall be\n due in the amount(s) referenced below.\n {\n renderMemberships()\n }\n \n b.\n Additional Fees: \n The following fees will be assessed and charged to Client’s account and will be\n due at the same time as the Monthly Subscription Fee:\n 1. Prescription Medications and Supplements: \n The cost of medications and supplements is fluctuant and will be remitted to\n Client via invoice at time of dispensation.\n \n 2. Shipping Charges: \n Any shipping fees incurred for shipment from Wild Health to Client will be\n charged to the Client’s account and will be due at time of shipping.\n \n 3. Laboratory Fees: \n Wild Health contracts with third-party clinical and specialty labs to\n provide competitively priced laboratory analysis to Clients. All laboratory\n fees will be the responsibility of the Client and will be charged to the\n Client’s account and due at time of service.\n \n 4. Medical Devices: \n In the event that Client is in need of any medical device, this device may\n be ordered by Wild Health. The full cost of the device and any additional\n shipping or service fees will be the responsibility of the Client and will\n be charged to the Client’s account and due at time of service.\n \n 5. Loaned Devices: \n Client will be responsible for replacing any lost, damaged, stolen or\n unreturned devises loaned from Wild Health.\n \n 6. Other: Other fees may be applicable to the\n Client’s account and will be\n expressed to the Client verbally before service is rendered or ordered and\n every effort will be made to express the fees in writing as well. These fees\n will be charged to the Client’s account and due at time of service.\n \n \n \n \n 2.3. Discounts. Previous fees and promotions will be honored by\n Wild Health as agreed upon in writing.\n \n 2.4. Invoice. A monthly invoice will be provided via email\n (Preferred). Or, in the case that Client does not have access to email, Client will\n receive a monthly invoice via mail.\n \n 2.5. Payment. Payment may be remitted to Wild Health via\n credit/debit card, cash or check.\n Cash and check payments will only be accepted on site at the Wild Health office (address\n listed above). An Automatic Credit/Debit Authorization Form at Exhibit A may be executed\n to authorize automatic payment of invoices. Payment will be considered late fifteen (15)\n days after the invoice date and a $15 late fee applied to amounts owed. Late payment may\n result in termination of the Client’s subscription solely at the discretion of Wild\n Health.\n \n 2.6. Credit Card Authorization.\n If an invoice remains unpaid for sixty (60) days after invoice date, Client authorizes\n Wild Health to charge the credit card on file for the Client in the amount of the\n past-due invoice, plus any late charges as set forth in the Automatic Credit/Debit\n Authorization Form, attached hereto at Exhibit A.\n \n 2.7. Non-Participation in Insurance.\n Client acknowledges that neither Wild Health, nor the Provider participate in any health\n insurance or HMO plans. Neither of the above make any representations whatsoever that\n any fees paid under this Agreement are covered by your health insurance or other\n third-party payment plans applicable to the Client. The Client shall retain full and\n complete responsibility for any such determination. Wild Health will not bill your\n health insurance for services provided under this Agreement. Payments made by Client\n under this Agreement may not count towards health insurance deductibles or maximum\n out-of-pocket expenses. This agreement acknowledges your understanding that Medicare,\n Medicaid, or any other federal health care program cannot be billed for any services\n performed for you by the Physician. You agree not to attempt to obtain reimbursement for\n any such services from any federal health care program.\n \n \n \n \n 3. General Terms\n \n 3.1. Term; Termination.\n This Agreement will commence on the date first written above and will extend for the\n period of the membership plan selected above automatically renewing thereafter except in\n the case of the free trial which will terminate after 30 days. Notwithstanding the\n above, both Client and Wild Health shall have the absolute and unconditional right to\n terminate the Agreement, without the showing of any cause for termination, upon giving\n thirty (30) days prior written notice to the other party. Unless previously terminated\n as set forth above, at the expiration of the initial term (and each succeeding term),\n the Agreement will automatically renew for successive terms. In addition, this agreement\n may be terminated immediately should the Client fail to provide payment for a sixty (60)\n day period.\n \n 3.2. Early Termination Fee.\n To the extent permissible by state and federal law, Wild Health may apply an early\n termination fee should client terminate this Agreement without cause prior to its\n expiration, such early termination fee will not exceed 3 months of the applicable\n subscription monthly fee amount.\n \n 3.3. Insurance or Other Medical Coverage.\n Client acknowledges and understands that this Agreement is not an insurance plan, and\n not a substitute for health insurance or other health plan coverage (such as membership\n in an HMO). It will not cover hospital services, or any services not personally provided\n by Wild Health, or its Providers. Client acknowledges that Wild Health has advised that\n Client obtain or keep in full force such health insurance policy(ies) or plans that will\n cover Client for general healthcare costs. Client acknowledges that this Agreement is\n not a contract that provides health insurance, and this Agreement is not intended to\n replace any existing or future health insurance or health plan coverage that Client may\n carry.\n \n 3.4. Communications.\n You acknowledge that communications using email, facsimile, video chat, instant\n messaging, and cell phone are not guaranteed to be secure or confidential methods of\n communications. As such, you expressly waive the providers obligation to guarantee\n confidentiality with respect to correspondence using such means of communication. You\n acknowledge that all such communications may become a part of your medical records. By\n providing your email address, Client authorizes the Wild Health, and its Providers to\n communicate with Client by email regarding Client’s “protected health information” (PHI)\n (as that term is defined in the Health Insurance Portability and Accountability Act\n (HIPAA) of 1996 and its implementing regulations.\n Client further acknowledges that:\n a. \n E-mail is not necessarily a secure medium for sending or receiving PHI and, there is\n always a possibility that a third party may gain access;\n \n b. \n Although the Provider will make all\n reasonable efforts to keep e-mail communications confidential and secure, neither\n Wild Health, nor the Provider can assure or guarantee the absolute confidentiality\n of e-mail communications;\n \n c. \n In the discretion of the Provider, e-mail communications may be made a part of\n Client’s permanent medical record;\n \n d. \n Client understands and agrees that E-mail is not an appropriate means of\n communication regarding emergency or other time-sensitive issues or for inquiries\n regarding sensitive information. In the event of an emergency, or a situation in\n which the member could reasonably expect to develop into an emergency, Client shall\n call 911 or the nearest Emergency room, and follow the directions of emergency\n personnel.\n \n e. \n If Client does not receive a response to an e-mail message within one day, Client\n agrees to use another means of communication to contact the Provider. Neither Wild\n Health, nor the Provider will be liable to Client for any loss, cost, injury, or\n expense caused by, or resulting from, a delay in responding to Client as a result of\n technical failures, including, but not limited to, (i) technical failures\n attributable to any internet service provider, (ii) power outages, failure of any\n electronic messaging software, or failure to properly address e-mail messages, (iii)\n failure of the Practice’s computers or computer network, or faulty telephone or\n cable data transmission, (iv) any interception of e-mail communications by a third\n party; or (v) your failure to comply with the guidelines regarding use of e-mail\n communications set forth in this paragraph.\n \n \n 3.5. Severability.\n If for any reason any provision of this Agreement shall be deemed, by a court of\n competent jurisdiction, to be legally invalid or unenforceable in any jurisdiction to\n which it applies, the validity of the remainder of the Agreement shall not be affected,\n and that provision shall be deemed modified to the minimum extent necessary to make that\n provision consistent with applicable law and in its modified form, and that provision\n shall then be enforceable.\n \n 3.6. Amendment.\n No amendment of this Agreement shall be binding on a party unless it is made in writing\n and signed by all the parties. Notwithstanding the foregoing, Wild Health may\n unilaterally amend this Agreement to the extent required by federal, state, or local law\n or regulation (“Applicable Law”) by sending Client thirty (30) days’ advance written\n notice of any such change. Any such changes are incorporated by reference into this\n Agreement without the need for signature by the parties and are effective as of the date\n established by Wild Health. Moreover, if Applicable Law requires this Agreement to\n contain provisions that are not expressly set forth in this Agreement, then, to the\n extent necessary, such provisions shall be incorporated by reference into this Agreement\n and shall be deemed a part of this Agreement as though they had been expressly set forth\n in this Agreement.\n \n 3.7. Assignment.\n This Agreement, and any rights Client may have under it, may not be assigned or\n transferred by Client to another person(s).\n \n 3.8. Relationship of Parties.\n Client and Wild Health intend and agree that Wild Health, in performing his duties under\n this Agreement, may be an independent contractor, as defined by the guidelines\n promulgated by the United States Internal Revenue Service and/or the United States\n Department of Labor, and the independent contractor shall have exclusive control of his\n work and the manner in which it is performed.\n \n 3.9. Legal Significance.\n Client acknowledges that this Agreement is a legal document and creates certain rights\n and responsibilities. Client also acknowledges having had a reasonable time to seek\n legal advice regarding the Agreement and has either chosen not to do so or has done so\n and is satisfied with the terms and conditions of the Agreement.\n \n 3.10. Entire Agreement.\n This Agreement contains the entire agreement between the parties and supersedes all\n prior oral and written understandings and agreements regarding the subject matter of\n this Agreement.\n \n 3.11. Jurisdiction and Venue.\n This Agreement shall be governed by and construed in accordance with the internal laws\n of the Commonwealth of Kentucky without giving effect to any choice or conflict of law\n provision or rule. Each party irrevocably submits to the exclusive jurisdiction and\n venue of the federal and state courts located in the following county in any legal suit,\n action, or proceeding arising out of or based upon this Agreement or the Services\n provided hereunder: Fayette County, Kentucky.\n \n 3.12. Service.\n All written notices are deemed served if sent to the address of the party written above\n or appearing in Exhibit A by first class U.S. mail.\n \n 3.13. Data Aggregation for Research.\n By agreeing to this form, you release Wild Health to utilize deidentified demographic,\n results, or survey data for research purposes.\n \n \n \n \n \n By agreeing I am entering into this Agreement with Wild Health on the date indicated after\n my signature (“Effective Date”). I acknowledge and agree that all my questions have been\n answered and I understand the terms outlined in the Agreement and any attachment hereto.\n \n \n \n EXHIBIT A\n \n \n AUTOMATIC DEBIT/ CREDIT CARD BILLING AUTHORIZATION\n \n \n \n \n By agreeing you authorize Wild Health to automatically bill amounts owed pursuant to the fee\n schedule for services provided to You by Wild Health, either monthly as owed or after sixty\n (60) days following non-payment by another form, in Wild Health’s sole discretion and\n pursuant to the terms of the Agreement. When automatically billed, a receipt for each\n payment will be provided to you and a charge will appear on your credit card statement.\n \n \n \n Payment Information\n Start billing on: Effective Date of Agreement; reoccurring monthly.\n \n \n \n I understand that this authorization will remain in effect until I cancel it in writing, and\n agree to notify Wild Health in writing of any changes in my account information or\n termination of this authorization within fifteen (15) days prior to the next billing date. I\n understand that payments may be executed on the next business day. I acknowledge that the\n origination of credit card transactions to my account must comply with provisions of\n federal, state, and local laws. I certify that I am an authorized user of this credit card\n and will not dispute these scheduled transactions; so long as the transactions correspond to\n the terms indicated in the Agreement and this Authorization Form.\n \n \n \n \n \n );\n}","import {Box} from \"@material-ui/core\";\nimport CheckBoxOutlineBlankOutlinedIcon from \"@material-ui/icons/CheckBoxOutlineBlankOutlined\";\nimport CheckBoxOutlinedIcon from \"@material-ui/icons/CheckBoxOutlined\";\nimport React from \"react\";\nimport {AgreementBasePage} from \"./AgreementBasePage\";\nimport {AgreementHeaderComponent} from \"./AgreementHeaderComponent\";\nimport {AgreementPageProps} from \"./agreementPageProps\";\n\nexport const CoachingClientAgreementPage: React.FC = (props: AgreementPageProps) => {\n const {\n data\n } = props;\n\n const renderPaymentPlanCheckbox = (planName: string, periodInMonths: number) => {\n const selectedPlanName = data['planName'];\n const selectedPeriodInMonths = parseInt(data['periodInMonths'] ?? '0');\n\n return (\n \n {\n planName === selectedPlanName && periodInMonths === selectedPeriodInMonths\n ? \n : \n }\n \n )\n }\n\n const renderMemberships = () => {\n return (\n \n 3.1.1. Employee Sponsored Membership: Per\n employer agreement.\n \n 3.1.2. Advanced:\n \n \n {renderPaymentPlanCheckbox('ADVANCED', 12)} 12 Month Plan:\n includes 12 health coaching visits and 4 provider visits at\n $2,028.00 or $188.00 per month. Startup fee of $195.00\n applies.\n \n \n 3.1.3. Optimization:\n \n \n {renderPaymentPlanCheckbox('OPTIMIZATION', 12)} 12 Month\n Plan: 12 health coaching visits and 4 provider visits at\n $3,228.00 or $299.00 per month. Startup fee of $195.00\n applies.\n \n \n 3.1.4. Core:\n \n \n {renderPaymentPlanCheckbox('CORE', 12)} 12 Month Plan: 4\n health coaching visits and 1 provider visit at $1,368.00 or\n $124.00 per month. Startup fee of $195.00 applies.\n \n \n 3.1.5. Free Trial:\n \n \n {renderPaymentPlanCheckbox('FREE_TRIAL', 1)} 30-day free\n trial: One Wild Health staff visit and one Health Coach\n visit.\n \n \n \n )\n }\n\n return (\n \n \n \n \n \n COACHING CLIENT AGREEMENT\n \n \n \n This is an Agreement between Wild Health Inc, a Delaware Corporation located at 535\n Wellington Way, Suite #330, Lexington, Kentucky 40503 and 212 South 2nd Street, Danville,\n Kentucky, 40422 (“Coach”), and health coach or clinician\n (“Provider”) in their capacity as agents of Wild Health,\n and you, (“Client” or “You”).\n \n \n \n \n NOT HEALTH INSURANCE. THIS AGREEMENT IS NOT HEALTH INSURANCE AND DOES NOT MEET ANY\n INDIVIDUAL HEALTH INSURANCE MANDATE THAT MAY BE REQUIRED BY FEDERAL LAW, INCLUDING THE\n FEDERAL PATIENT PROTECTION AND AFFORDABLE CARE ACT AND COVERS ONLY LIMITED ROUTINE HEALTH\n CARE SERVICES AS DESIGNATED IN THIS AGREEMENT. THIS AGREEMENT IS NOT WORKERS’ COMPENSATION\n INSURANCE AND DOES NOT REPLACE AN EMPLOYER’S OBLIGATIONS UNDER APPLICABLE FEDERAL OR STATE\n LAW.\n \n \n \n Background\n \n \n \n Client is desirous of implementing coaching services into the Client's life and health\n practices, as discussed more fully below. Coach is skilled and capable in the areas Client\n needs and would like to coach Client. This Agreement sets forth the terms and conditions\n whereby Coach agrees to provide professional coaching Services (as described below). Coach\n will be engaged for the limited purpose of providing these Services to the Client.\n \n \n \n 1. Coaching Terms\n \n 1.1. \n A coaching relationship between two Parties is essentially a relationship whereby the\n Coach assists the Client in meeting the Client's potential within the areas the coaching\n relationship is meant to focus on.\n \n 1.2. \n Client hereby acknowledges and agrees:\n 1.2.1. Client is solely and\n exclusively responsible for the choices that Client makes with\n regard to this coaching relationship, as well as the Coach's\n recommendations and\n input;\n \n 1.2.2. Client is solely and\n exclusively responsible for Client's own mental health,\n physical health, business decisions, and any other actions or inaction\n Client chooses\n to take;\n \n 1.2.3. Coach is not liable for any\n result or non-result or any consequences which may\n come about due to Client's relationship with Coach;\n \n \n 1.3. Coaching\n is neither a therapeutic or medical relationship, Coach may not provide\n therapy or medical services and Client is responsible for procuring these\n services at\n Client's own will and discretion if needed.\n \n 1.4. Client\n agrees to respond to Coach no later than the following amount of time after\n being\n reached out to for communication: 72 hours. In the event of an emergency or\n other\n similar conflict, Coach will give the Client as much notice as possible if\n there is the\n possibility of interruption to the Services, whether that interruption is\n temporary or long-term.\n \n \n \n \n 2. Description of Services\n \n 2.1. The\n Client hereby engages the Coach, and the Coach accepts such engagement to\n provide the following coaching services for the Client (hereinafter, the\n \"Services\"):\n \n
    \n
  • Assistance with general health and lifestyle changes, weight\n management, goal setting, and general wellbeing\n
  • \n
  • Genetic-based health optimization
  • \n
  • Genetics-based nutrition and fasting protocol
  • \n
  • Epigenetic counseling
  • \n
  • Supplement recommendation
  • \n
  • Sleep optimization
  • \n
  • Exercise and physical activity plans and management
  • \n
  • Accountability
  • \n
\n
\n
\n 2.2. Coach\n and Client will use the following methods of contact for meetings throughout\n the\n coaching relationship: Phone, Video messaging, Email, Secure text, or\n successive\n secure communication platform.\n \n 2.3. Coach\n may agree in a separate, written document to expand the scope of Services to\n include additional tasks. Such written document may be informal, such as an\n email and\n will include additional fees, as applicable.\n \n
\n
\n \n 3. Schedule and Fees\n \n 3.1. Level of Service. Coach and Client agree to visits based on\n selected plan below.\n \n {\n renderMemberships()\n }\n \n \n 3.2. Changes to Schedule.\n The Parties agree to the following number of meetings selected\n above. Client understands and acknowledges that it is Client’s\n responsibility to schedule\n visits, if Client fails to schedule a visit during a 30-day period, Wild\n Health reserves the\n right to reduce the overall available visits under a plan by a pro-rata\n amount to reflect the\n missed visit(s) as permitted under state or federal law. Coach and Client\n may agree to a\n change of the schedule between them, through an additional written document.\n Client or\n Coach may, from time to time, need to cancel or reschedule any of the\n coaching\n meetings. If Coach is responsible for the reschedule, Coach will become\n available to\n Client as the soonest possible opportunity within ten (10) business days. If\n Client is\n responsible for the cancellation or reschedule, Client agrees to notify\n Coach no less than\n 1 business day prior to the scheduled meeting. If Client cancels or\n reschedules within the\n 24-hour period, Client agrees to pay the full amount required for the\n meeting, if\n requested by Coach (at Coach's sole and exclusive discretion). The Parties\n will then\n attempt to reschedule the meeting in good faith.\n \n 3.3. Holidays.\n Coach will be unavailable on the following holidays: New Years’ Eve, New\n Years’ Day, Good Friday, Memorial Day, Independence Day, Labor Day,\n Thanksgiving\n Day, day after Thanksgiving, Christmas Eve, and Christmas Day.\n \n 3.4. Fees Generally.\n In exchange for the services described herein, Client or Guarantor\n agrees to pay Wild Health, the amount as set forth in Section 3.1 above.\n Fees are payable\n prior to performance of any services. If Coach cancels this Agreement before\n the\n agreement termination date, then Coach shall refund the Client’s pro-rated\n share of any\n payment remaining after deducting individual charges for services rendered\n to Client up\n to cancellation. Coach may amend the Membership Fee Schedule at any time, as\n it may\n determine in its sole discretion, upon providing Client at least sixty (60)\n days’ advance\n written notice. For employer sponsored memberships, individual membership\n fees will\n only apply if the employee/member elects to continue services after\n termination or\n employee sponsorship ends or elects services above and beyond that which the\n employer\n has agreed to cover.\n \n 3.5. Invoice.\n A monthly invoice will be provided via email (Preferred). Or, in the case\n that\n Client does not have access to email, Client will receive a monthly invoice\n via mail.\n \n 3.6. Payment.\n Payment may be remitted to Wild Health via credit/debit card, cash or check.\n Cash and check payments will only be accepted on site at the Coach office\n (address listed above).\n An Automatic Credit/Debit Authorization Form at Exhibit A may be\n executed to authorize automatic payment of invoices. Payment will be\n considered late\n fifteen (15) days after the invoice date and a $15 late fee applied to the\n amounts owed.\n Late payment may result in termination of the Client’s subscription solely\n at the\n discretion of Coach.\n \n 3.7. Credit Card Authorization.\n If an invoice remains unpaid for sixty (60) days after invoice\n date, Client authorizes Coach to charge the credit card on file for the\n Client in the\n amount of the past-due invoice, plus any late charges as set forth in the\n Automatic\n Credit/Debit Authorization Form, attached hereto at Exhibit A.\n \n 3.8. Refund.\n Client shall not be entitled to any refund for any monies spent under this\n Agreement. If Client wishes to terminate this Agreement prior to its planned\n expiration,\n Client will forfeit each of the fees until then paid to the Coach, unless\n otherwise\n prohibited by applicable federal or state law.\n \n 3.9. Non-Participation in Insurance.\n Client acknowledges that neither Coach, nor the\n Provider participate in any health insurance or HMO plans. Neither of the\n above make\n any representations whatsoever that any fees paid under this Agreement are\n covered by\n your health insurance or other third-party payment plans applicable to the\n Client. The\n Client shall retain full and complete responsibility for any such\n determination. Wild\n Health will not bill your health insurance for services provided under this\n Agreement.\n Payments made by Client under this Agreement may not count towards health\n insurance\n deductibles or maximum out-of-pocket expenses. This agreement acknowledges\n your\n understanding that Medicare, Medicaid, or any other federal health care\n program cannot\n be billed for any services performed for you by the Physician. You agree not\n to attempt\n to obtain reimbursement for any such services from any federal health care\n program.\n \n \n \n \n 4. General Terms\n \n 4.1. Term; Termination.\n This Agreement will commence on the date first written above and will extend for the\n period of the membership selected above automatically renewing thereafter except in the\n case of the free trial which terminates after 30 days. Notwithstanding the above, both\n Client and Coach shall have the absolute and unconditional right to terminate the\n Agreement, without the showing of any cause for termination, upon giving thirty (30)\n days prior written notice to the other party. Unless previously terminated as set forth\n above, at the expiration of the initial term (and each succeeding term), the Agreement\n will automatically renew for successive terms. In addition, this agreement may be\n terminated immediately should the Client fail to provide payment for a sixty (60) day\n period.\n \n 4.2. Early Termination Fee.\n To the extent permissible by state and federal law, Wild Health\n may apply an early termination fee should client terminate this Agreement\n without cause\n prior to its expiration, such early termination fee will not exceed 3 months\n of the\n applicable subscription monthly fee amount.\n \n 4.3. Severability.\n If for any reason any provision of this Agreement shall be deemed, by a\n court of competent jurisdiction, to be legally invalid or unenforceable in\n any jurisdiction\n to which it applies, the validity of the remainder of the Agreement shall\n not be affected,\n and that provision shall be deemed modified to the minimum extent necessary\n to make\n that provision consistent with applicable law and in its modified form, and\n that provision\n shall then be enforceable.\n \n 4.4. Amendment.\n No amendment of this Agreement shall be binding on a party unless it is\n made in writing and signed by all the parties. Notwithstanding the\n foregoing, Coach may\n unilaterally amend this Agreement to the extent required by federal, state,\n or local law or\n regulation (“Applicable Law”) by sending Client thirty (30) days’ advance\n written notice\n of any such change. Any such changes are incorporated by reference into this\n Agreement\n without the need for signature by the parties and are effective as of the\n date established\n by Coach. Moreover, if Applicable Law requires this Agreement to contain\n provisions\n that are not expressly set forth in this Agreement, then, to the extent\n necessary, such\n provisions shall be incorporated by reference into this Agreement and shall\n be deemed a\n part of this Agreement as though they had been expressly set forth in this\n Agreement.\n \n 4.5. Assignment.\n This Agreement, and any rights Client may have under it, may not be\n assigned or transferred by Client to another person(s).\n \n 4.6. Relationship of Parties.\n Client and Coach intend and agree that Coach, in performing his\n duties under this Agreement, may be an independent contractor, as defined by\n the\n guidelines promulgated by the United States Internal Revenue Service and/or\n the United\n States Department of Labor, and the independent contractor shall have\n exclusive control\n of his work and the manner in which it is performed.\n \n 4.7. Legal Significance.\n Client acknowledges that this Agreement is a legal document and\n creates certain rights and responsibilities. Client also acknowledges having\n had a\n reasonable time to seek legal advice regarding the Agreement and has either\n chosen not\n to do so or has done so and is satisfied with the terms and conditions of\n the Agreement.\n \n 4.8. Entire Agreement.\n This Agreement contains the entire agreement between the parties\n and supersedes all prior oral and written understandings and agreements\n regarding the\n subject matter of this Agreement.\n \n 4.9. Jurisdiction and Venue.\n This Agreement shall be governed by and construed in\n accordance with the internal laws of the Commonwealth of Kentucky without\n giving\n effect to any choice or conflict of law provision or rule. Each party\n irrevocably submits\n to the exclusive jurisdiction and venue of the federal and state courts\n located in the\n following county in any legal suit, action, or proceeding arising out of or\n based upon this\n Agreement or the Services provided hereunder: Fayette County, Kentucky.\n \n 4.10. Service.\n All written notices are deemed served if sent to the address of the party\n written\n above or appearing in Exhibit A by first class U.S. mail.\n \n 4.11. Data Aggregation for Research.\n By agreeing to this form, you release Coach to utilize\n deidentified demographic, results, or survey data for research purposes.\n \n 4.12. Portfolio Use.\n Coach shall be permitted to use all produced items of work Coach's\n professional portfolio, if applicable, but may not use Client's name,\n likeness, or other\n identifying details without express written permission from the Client.\n \n 4.13. Liability.\n Coach’s liability in contract, tort or otherwise arising through or in\n connection with this Agreement or through or in connection with the\n completion of\n obligations under this Agreement shall be limited to Fees paid by the Client\n to the Coach.\n To the extent it is lawful, neither Party shall be liable to the other Party\n in contract, tort,\n negligence, breach of statutory duty or otherwise for any loss, damage,\n costs or expenses\n of any nature whatsoever incurred or suffered by that other Party of an\n indirect or\n consequential nature including without limitation any economic loss, data\n loss, loss of\n goodwill, or other loss of turnover, profits, or business.\n \n \n \n \n \n By agreeing I am entering into this Agreement with Coach on the date indicated after my\n signature (“Effective Date”). I acknowledge and agree that all my questions have been\n answered and I understand the terms outlined in the Agreement and any attachment hereto.\n \n \n \n EXHIBIT A\n \n \n AUTOMATIC DEBIT/ CREDIT CARD BILLING AUTHORIZATION\n \n \n \n \n By agreeing you authorize Coach to automatically bill amounts owed pursuant to the fee\n schedule for services provided to You by Coach, either monthly as owed or after sixty (60)\n days following non-payment by another form, in Coach’s sole discretion and pursuant to the\n terms of the Agreement. When automatically billed, a receipt for each payment will be\n provided to you and a charge will appear on your credit card statement.\n \n \n \n Payment Information\n Start billing on: Effective Date of Agreement; reoccurring monthly.\n \n \n \n I understand that this authorization will remain in effect until I cancel it in writing and\n agree to notify Coach in writing of any changes in my account information or termination of\n this authorization within fifteen (15) days prior to the next billing date. I understand\n that payments may be executed on the next business day. I acknowledge that the origination\n of credit card transactions to my account must comply with provisions of federal, state, and\n local laws. I certify that I am an authorized user of this credit card and will not dispute\n these scheduled transactions; so long as the transactions correspond to the terms indicated\n in the Agreement and this Authorization Form.\n \n \n
\n
\n
\n );\n}","import {Box} from \"@material-ui/core\";\nimport CheckBoxOutlineBlankOutlinedIcon from \"@material-ui/icons/CheckBoxOutlineBlankOutlined\";\nimport CheckBoxOutlinedIcon from \"@material-ui/icons/CheckBoxOutlined\";\nimport React from \"react\";\nimport {AgreementBasePage} from \"./AgreementBasePage\";\nimport {AgreementHeaderComponent} from \"./AgreementHeaderComponent\";\nimport {AgreementPageProps} from \"./agreementPageProps\";\nimport './WildHealthAgreement.scss';\n\nexport const PatientFoundersAgreementPage: React.FC = (props: AgreementPageProps) => {\n const {\n data\n } = props;\n\n const renderPaymentPlanCheckbox = (planName: string, periodInMonths: number) => {\n const selectedPlanName = data['planName'];\n const selectedPeriodInMonths = parseInt(data['periodInMonths'] ?? '0');\n\n return (\n

\n {\n planName === selectedPlanName && periodInMonths === selectedPeriodInMonths\n ? \n : \n }\n

\n )\n }\n\n const renderMemberships = () => {\n return (\n <>\n

1. Employee Sponsored Membership: Per\n employer agreement.

\n

2. Advanced:

\n \n

\n {renderPaymentPlanCheckbox('ADVANCED', 12)} 12 Month Plan:\n 12 health coaching visits and 4 provider visits at $2,388.00\n or $199.00 per month. Startup fee of $195.00 applies.\n

\n
\n

3. Optimization:

\n \n

\n {renderPaymentPlanCheckbox('OPTIMIZATION', 12)} 12 Month\n Plan: 12 health coaching visits and 4 provider visits at\n $3,588.00 or $299.00 per month. Startup fee of $195.00\n applies.\n

\n
\n

4. Core:

\n \n

\n {renderPaymentPlanCheckbox('CORE', 12)} 12 Month Plan: 4\n health coaching visits and 1 provider visit at $1188.00 or\n $99.00 per month. Startup fee of $195.00 applies.\n

\n
\n

5. Founders Advanced:

\n \n

\n {renderPaymentPlanCheckbox('FOUNDERS_ADVANCED', 12)} 12\n Month Plan: 12 health coaching visits and 4 provider visits at\n $3,588.00 or $299.00 per month.\n

\n
\n

6. Founders Optimization:

\n \n

\n {renderPaymentPlanCheckbox('FOUNDERS_OPTIMIZATION', 12)} 12\n Month Plan: 12 health coaching visits and 4 provider visits at\n $5,988.00 or $499.00 per month.\n

\n
\n

7. Free Trial:

\n \n

\n {renderPaymentPlanCheckbox('FREE_TRIAL', 1)} 30-day free\n trial: One Wild Health staff visit and one Health Coach\n visit.\n

\n
\n \n )\n }\n\n return (\n \n \n \n \n \n PATIENT AGREEMENT\n \n \n

This is an Agreement between Wild Health Inc, a Delaware Corporation\n located at 535 Wellington Way, Suite #330, Lexington, Kentucky 40503 and 212 South 2nd\n Street, Danville, Kentucky, 40422 (“Wild Health”), and\n health coach or clinician (“Provider”) in their capacity\n as agents of Wild Health, and you, (“Client” or “You”).\n

\n
\n \n

\n NOT HEALTH INSURANCE. THIS AGREEMENT IS NOT HEALTH INSURANCE AND DOES NOT MEET ANY\n INDIVIDUAL HEALTH INSURANCE MANDATE THAT MAY BE REQUIRED BY FEDERAL LAW, INCLUDING THE\n FEDERAL PATIENT PROTECTION AND AFFORDABLE CARE ACT AND COVERS ONLY LIMITED ROUTINE HEALTH\n CARE SERVICES AS DESIGNATED IN THIS AGREEMENT. THIS AGREEMENT IS NOT WORKERS’ COMPENSATION\n INSURANCE AND DOES NOT REPLACE AN EMPLOYER’S OBLIGATIONS UNDER APPLICABLE FEDERAL OR STATE\n LAW.\n

\n
\n \n

Background

\n
\n \n

\n Wild Health services begin with a comprehensive wellness screening assessment and medically\n supervised health coaching. Following the Wild Health Evaluation, You may elect to establish\n medical care via an in-person visit or asynchronous video telemedicine visit should You wish\n to receive medical advice, prescriptive treatment recommendations, prognostic\n recommendations, and/or prescriptions.\n

\n
\n \n Services and Payment Terms\n \n \n

1. Services

\n \n

1.1. Service Memberships.\n Client may elect to utilize services by selecting a Precision Care, Precision Health\n Coaching, Optimization, Founder’s Precision, or Founder’s Optimization memberships.\n

\n

1.2. Wellness Evaluation.\n Client shall also be entitled to an initial “wellness evaluation,” which shall be\n performed by the health coach, and may include a health risk assessment, diet and\n exercise evaluation, and other health coaching services.\n

\n

1.3. Provider Medical Services.\n Depending on the membership selected Client may be entitled to Provider examinations and\n medical services provided by the clinician tailored to the Clients specific needs. As\n used in this Agreement, the term Medical Services shall mean those medical services that\n the Provider is permitted to perform under the laws of the state of licensure and that\n are consistent with his training and experience as a medical provider, as the case may\n be.\n

\n

1.4. Problem Visits.\n Depending on the membership selected Client may be entitled to additional provider\n visits for evaluation and management of unexpected illnesses or issues. Problem visits\n do not include emergent or urgent care matters and Provider will use their best efforts\n to schedule problem visits within 48 hours of Client’s request.\n

\n

1.5. Non-Medical, Personalized Services.\n Wild Health may also provide Client with the following non-medical services (“Non-Medical Services”):\n \n

a.\n Health Coaching: \n As more fully described in the fee schedule below, to the extent Client receives\n Health Coaching, the applicable terms of Wild Health’s Coaching Client Agreement\n are incorporated herein by reference as if fully set forth.\n

\n

b.\n Premium Access: \n Client shall have access to the Provider via secure messaging or video. Client\n shall be given a phone number where Client may reach the Provider directly.\n Provider does not guarantee immediate response. Provider will make reasonable\n efforts to respond in a timely manner. Client agrees to call 911 in case of\n medical emergency.\n

\n

c.\n E-Mail Access: \n Client shall be given a Provider’s e-mail address for non-urgent communications.\n The Provider or staff member of Wild Health shall deal with such communications\n in a timely manner. Client understands and agrees that email and the internet\n should never be used to access medical care in the event of an emergency, or any\n situation that Client could reasonably expect may develop into an emergency.\n Client agrees that in such situations, when a Client cannot speak to Provider\n immediately in-person or by telephone, that Client shall call 911 or the nearest\n emergency medical services provider and follow the directions of emergency\n medical personnel.\n

\n

d.\n Minimal wait Appointments: \n Effort shall be made to assure that Client is seen by the Provider immediately\n upon arriving for a scheduled office visit or after only a minimal wait.\n

\n

e.\n Appointments: \n When Client calls or emails the Provider prior to noon on a normal office day\n (Monday through Friday) to schedule an appointment, every reasonable effort\n shall be made to schedule an appointment with the Provider within 1 business\n day. If the Client calls or e-mails the Provider after noon on a normal office\n day (Monday through Friday) to schedule an appointment, every reasonable effort\n shall be made to schedule Client’s appointment with the Provider within 2\n business days. Client understands and acknowledges that it is Client’s\n responsibility to schedule visits, if Client fails to schedule a visit during a\n 30-day period, Wild Health reserves the right to reduce the overall available\n visits under a plan by a pro-rata amount to reflect the missed visit(s) as\n permitted under state or federal law.\n

\n

f.\n Specialists: \n A Wild Health Provider shall coordinate with medical specialists to whom Client\n is referred to assist Client in obtaining specialty care. Client understands\n that fees paid under this Agreement do not include and do not cover such\n specialists’ fees or fees due to any medical professional other than the Wild\n Health Provider.\n

\n
\n

\n
\n
\n \n

2. Payment

\n \n

2.1. Fees Generally.\n In exchange for the services described herein, Client or Guarantor\n agrees to pay Wild Health, the amount as set forth in Section 2.2 below. Fees are\n payable prior to performance of any services. If Wild Health cancels this Agreement\n before the agreement termination date, then Wild Health shall refund the Client’s\n pro-rated share of any payment remaining after deducting individual charges for services\n rendered to Client up to cancellation. Wild Health may amend the Membership Fee Schedule\n at any time, as it may determine in its sole discretion, upon providing Client at least\n sixty (60) days’ advance written notice. For employer sponsored memberships, individual\n membership fees will only apply if the employee/member elects to continue services after\n termination or employee sponsorship ends or elects services above and beyond that which\n the employer has agreed to cover.\n

\n

2.2. Membership Fee Schedule.\n The fee schedule for services provided by Wild Health shall be priced as follows:\n \n

a.\n Subscription Fee: The Subscription fee shall be\n due in the amount(s) referenced below.\n {\n renderMemberships()\n }\n

\n

b.\n Additional Fees: \n The following fees will be assessed and charged to Client’s account and will be\n due at the same time as the Monthly Subscription Fee:\n

1. Prescription Medications and Supplements: \n The cost of medications and supplements is fluctuant and will be remitted to\n Client via invoice at time of dispensation.\n

\n

2. Shipping Charges: \n Any shipping fees incurred for shipment from Wild Health to Client will be\n charged to the Client’s account and will be due at time of shipping.\n

\n

3. Laboratory Fees: \n Wild Health contracts with third-party clinical and specialty labs to\n provide competitively priced laboratory analysis to Clients. All laboratory\n fees will be the responsibility of the Client and will be charged to the\n Client’s account and due at time of service.\n

\n

4. Medical Devices: \n In the event that Client is in need of any medical device, this device may\n be ordered by Wild Health. The full cost of the device and any additional\n shipping or service fees will be the responsibility of the Client and will\n be charged to the Client’s account and due at time of service.\n

\n

5. Loaned Devices: \n Client will be responsible for replacing any lost, damaged, stolen or\n unreturned devises loaned from Wild Health.\n

\n

6. Other: Other fees may be applicable to the\n Client’s account and will be\n expressed to the Client verbally before service is rendered or ordered and\n every effort will be made to express the fees in writing as well. These fees\n will be charged to the Client’s account and due at time of service.\n

\n

\n
\n

\n

2.3. Discounts. Previous fees and promotions will be honored by\n Wild Health as agreed upon in writing.\n

\n

2.4. Invoice. A monthly invoice will be provided via email\n (Preferred). Or, in the case that Client does not have access to email, Client will\n receive a monthly invoice via mail.\n

\n

2.5. Payment. Payment may be remitted to Wild Health via\n credit/debit card, cash or check.\n Cash and check payments will only be accepted on site at the Wild Health office (address\n listed above). An Automatic Credit/Debit Authorization Form at Exhibit A may be executed\n to authorize automatic payment of invoices. Payment will be considered late fifteen (15)\n days after the invoice date and a $15 late fee applied to amounts owed. Late payment may\n result in termination of the Client’s subscription solely at the discretion of Wild\n Health.\n

\n

2.6. Credit Card Authorization.\n If an invoice remains unpaid for sixty (60) days after invoice date, Client authorizes\n Wild Health to charge the credit card on file for the Client in the amount of the\n past-due invoice, plus any late charges as set forth in the Automatic Credit/Debit\n Authorization Form, attached hereto at Exhibit A.\n

\n

2.7. Non-Participation in Insurance.\n Client acknowledges that neither Wild Health, nor the Provider participate in any health\n insurance or HMO plans. Neither of the above make any representations whatsoever that\n any fees paid under this Agreement are covered by your health insurance or other\n third-party payment plans applicable to the Client. The Client shall retain full and\n complete responsibility for any such determination. Wild Health will not bill your\n health insurance for services provided under this Agreement. Payments made by Client\n under this Agreement may not count towards health insurance deductibles or maximum\n out-of-pocket expenses. This agreement acknowledges your understanding that Medicare,\n Medicaid, or any other federal health care program cannot be billed for any services\n performed for you by the Physician. You agree not to attempt to obtain reimbursement for\n any such services from any federal health care program.\n

\n
\n
\n \n

3. General Terms

\n \n

3.1. Term; Termination.\n This Agreement will commence on the date first written above and will extend for the\n period of the membership plan selected above automatically renewing thereafter except in\n the case of the free trial which will terminate after 30 days. Notwithstanding the\n above, both Client and Wild Health shall have the absolute and unconditional right to\n terminate the Agreement, without the showing of any cause for termination, upon giving\n thirty (30) days prior written notice to the other party. Unless previously terminated\n as set forth above, at the expiration of the initial term (and each succeeding term),\n the Agreement will automatically renew for successive terms. In addition, this agreement\n may be terminated immediately should the Client fail to provide payment for a sixty (60)\n day period.\n

\n

3.2. Early Termination Fee.\n To the extent permissible by state and federal law, Wild Health may apply an early\n termination fee should client terminate this Agreement without cause prior to its\n expiration, such early termination fee will not exceed 3 months of the applicable\n subscription monthly fee amount.\n

\n

3.3. Insurance or Other Medical Coverage.\n Client acknowledges and understands that this Agreement is not an insurance plan, and\n not a substitute for health insurance or other health plan coverage (such as membership\n in an HMO). It will not cover hospital services, or any services not personally provided\n by Wild Health, or its Providers. Client acknowledges that Wild Health has advised that\n Client obtain or keep in full force such health insurance policy(ies) or plans that will\n cover Client for general healthcare costs. Client acknowledges that this Agreement is\n not a contract that provides health insurance, and this Agreement is not intended to\n replace any existing or future health insurance or health plan coverage that Client may\n carry.\n

\n

3.4. Communications.\n You acknowledge that communications using email, facsimile, video chat, instant\n messaging, and cell phone are not guaranteed to be secure or confidential methods of\n communications. As such, you expressly waive the providers obligation to guarantee\n confidentiality with respect to correspondence using such means of communication. You\n acknowledge that all such communications may become a part of your medical records. By\n providing your email address, Client authorizes the Wild Health, and its Providers to\n communicate with Client by email regarding Client’s “protected health information” (PHI)\n (as that term is defined in the Health Insurance Portability and Accountability Act\n (HIPAA) of 1996 and its implementing regulations.\n Client further acknowledges that:\n

a. \n E-mail is not necessarily a secure medium for sending or receiving PHI and, there is\n always a possibility that a third party may gain access;\n

\n

b. \n Although the Provider will make all\n reasonable efforts to keep e-mail communications confidential and secure, neither\n Wild Health, nor the Provider can assure or guarantee the absolute confidentiality\n of e-mail communications;\n

\n

c. \n In the discretion of the Provider, e-mail communications may be made a part of\n Client’s permanent medical record;\n

\n

d. \n Client understands and agrees that E-mail is not an appropriate means of\n communication regarding emergency or other time-sensitive issues or for inquiries\n regarding sensitive information. In the event of an emergency, or a situation in\n which the member could reasonably expect to develop into an emergency, Client shall\n call 911 or the nearest Emergency room, and follow the directions of emergency\n personnel.\n

\n

e. \n If Client does not receive a response to an e-mail message within one day, Client\n agrees to use another means of communication to contact the Provider. Neither Wild\n Health, nor the Provider will be liable to Client for any loss, cost, injury, or\n expense caused by, or resulting from, a delay in responding to Client as a result of\n technical failures, including, but not limited to, (i) technical failures\n attributable to any internet service provider, (ii) power outages, failure of any\n electronic messaging software, or failure to properly address e-mail messages, (iii)\n failure of the Practice’s computers or computer network, or faulty telephone or\n cable data transmission, (iv) any interception of e-mail communications by a third\n party; or (v) your failure to comply with the guidelines regarding use of e-mail\n communications set forth in this paragraph.\n

\n

\n

3.5. Severability.\n If for any reason any provision of this Agreement shall be deemed, by a court of\n competent jurisdiction, to be legally invalid or unenforceable in any jurisdiction to\n which it applies, the validity of the remainder of the Agreement shall not be affected,\n and that provision shall be deemed modified to the minimum extent necessary to make that\n provision consistent with applicable law and in its modified form, and that provision\n shall then be enforceable.\n

\n

3.6. Amendment.\n No amendment of this Agreement shall be binding on a party unless it is made in writing\n and signed by all the parties. Notwithstanding the foregoing, Wild Health may\n unilaterally amend this Agreement to the extent required by federal, state, or local law\n or regulation (“Applicable Law”) by sending Client thirty (30) days’ advance written\n notice of any such change. Any such changes are incorporated by reference into this\n Agreement without the need for signature by the parties and are effective as of the date\n established by Wild Health. Moreover, if Applicable Law requires this Agreement to\n contain provisions that are not expressly set forth in this Agreement, then, to the\n extent necessary, such provisions shall be incorporated by reference into this Agreement\n and shall be deemed a part of this Agreement as though they had been expressly set forth\n in this Agreement.\n

\n

3.7. Assignment.\n This Agreement, and any rights Client may have under it, may not be assigned or\n transferred by Client to another person(s).\n

\n

3.8. Relationship of Parties.\n Client and Wild Health intend and agree that Wild Health, in performing his duties under\n this Agreement, may be an independent contractor, as defined by the guidelines\n promulgated by the United States Internal Revenue Service and/or the United States\n Department of Labor, and the independent contractor shall have exclusive control of his\n work and the manner in which it is performed.\n

\n

3.9. Legal Significance.\n Client acknowledges that this Agreement is a legal document and creates certain rights\n and responsibilities. Client also acknowledges having had a reasonable time to seek\n legal advice regarding the Agreement and has either chosen not to do so or has done so\n and is satisfied with the terms and conditions of the Agreement.\n

\n

3.10. Entire Agreement.\n This Agreement contains the entire agreement between the parties and supersedes all\n prior oral and written understandings and agreements regarding the subject matter of\n this Agreement.\n

\n

3.11. Jurisdiction and Venue.\n This Agreement shall be governed by and construed in accordance with the internal laws\n of the Commonwealth of Kentucky without giving effect to any choice or conflict of law\n provision or rule. Each party irrevocably submits to the exclusive jurisdiction and\n venue of the federal and state courts located in the following county in any legal suit,\n action, or proceeding arising out of or based upon this Agreement or the Services\n provided hereunder: Fayette County, Kentucky.\n

\n

3.12. Service.\n All written notices are deemed served if sent to the address of the party written above\n or appearing in Exhibit A by first class U.S. mail.\n

\n

3.13. Data Aggregation for Research.\n By agreeing to this form, you release Wild Health to utilize deidentified demographic,\n results, or survey data for research purposes.\n

\n
\n
\n \n

\n By agreeing I am entering into this Agreement with Wild Health on the date indicated after\n my signature (“Effective Date”). I acknowledge and agree that all my questions have been\n answered and I understand the terms outlined in the Agreement and any attachment hereto.\n

\n
\n \n EXHIBIT A\n \n \n AUTOMATIC DEBIT/ CREDIT CARD BILLING AUTHORIZATION\n \n \n \n

\n By agreeing you authorize Wild Health to automatically bill amounts owed pursuant to the fee\n schedule for services provided to You by Wild Health, either monthly as owed or after sixty\n (60) days following non-payment by another form, in Wild Health’s sole discretion and\n pursuant to the terms of the Agreement. When automatically billed, a receipt for each\n payment will be provided to you and a charge will appear on your credit card statement.\n

\n
\n \n

Payment Information

\n Start billing on: Effective Date of Agreement; reoccurring monthly.\n
\n \n

\n I understand that this authorization will remain in effect until I cancel it in writing, and\n agree to notify Wild Health in writing of any changes in my account information or\n termination of this authorization within fifteen (15) days prior to the next billing date. I\n understand that payments may be executed on the next business day. I acknowledge that the\n origination of credit card transactions to my account must comply with provisions of\n federal, state, and local laws. I certify that I am an authorized user of this credit card\n and will not dispute these scheduled transactions; so long as the transactions correspond to\n the terms indicated in the Agreement and this Authorization Form.\n

\n
\n
\n \n \n );\n}","import {Box} from \"@material-ui/core\";\nimport CheckBoxOutlineBlankOutlinedIcon from \"@material-ui/icons/CheckBoxOutlineBlankOutlined\";\nimport CheckBoxOutlinedIcon from \"@material-ui/icons/CheckBoxOutlined\";\nimport React from \"react\";\nimport {AgreementBasePage} from \"./AgreementBasePage\";\nimport {AgreementHeaderComponent} from \"./AgreementHeaderComponent\";\nimport {AgreementPageProps} from \"./agreementPageProps\";\n\nexport const CoachingFoundersClientAgreementPage: React.FC = (props: AgreementPageProps) => {\n const {\n data\n } = props;\n\n const renderPaymentPlanCheckbox = (planName: string, periodInMonths: number) => {\n const selectedPlanName = data['planName'];\n const selectedPeriodInMonths = parseInt(data['periodInMonths'] ?? '0');\n\n return (\n

\n {\n planName === selectedPlanName && periodInMonths === selectedPeriodInMonths\n ? \n : \n }\n

\n )\n }\n\n const renderMemberships = () => {\n return (\n

\n

3.1.1. Employee Sponsored Membership: Per\n employer agreement.

\n

3.1.2. Advanced:

\n \n

\n {renderPaymentPlanCheckbox('ADVANCED', 12)} 12 Month Plan:\n includes 12 health coaching visits and 4 provider visits at\n $2,388.00 or $199.00 per month. Startup fee of $195.00\n applies.\n

\n
\n

3.1.3. Optimization:

\n \n

\n {renderPaymentPlanCheckbox('OPTIMIZATION', 12)} 12 Month\n Plan: 12 health coaching visits and 4 provider visits at\n $3,588.00 or $299.00 per month. Startup fee of $195.00\n applies.\n

\n
\n

3.1.4. Core:

\n \n

\n {renderPaymentPlanCheckbox('CORE', 12)} 12 Month Plan: 4\n health coaching visits and 1 provider visit at $1188.00 or\n $99.00 per month. Startup fee of $195.00 applies.\n

\n
\n

3.1.5. Founders Advanced:

\n \n

\n {renderPaymentPlanCheckbox('FOUNDERS_ADVANCED', 12)} 12\n Month Plan: 12 health coaching visits and 4 provider visits at $3,588.00\n or $299.00 per month.\n

\n
\n

3.1.6. Founders Optimization:

\n \n

\n {renderPaymentPlanCheckbox('FOUNDERS_OPTIMIZATION', 12)} 12\n Month Plan: 12 health coaching visits and 4 provider visits at\n $5,988.00 or $499 per month\n

\n
\n

3.1.7. Free Trial:

\n \n

\n {renderPaymentPlanCheckbox('FREE_TRIAL', 1)} 30-day free\n trial: One Wild Health staff visit and one Health Coach\n visit.\n

\n
\n

\n )\n }\n\n return (\n \n \n \n \n \n COACHING CLIENT AGREEMENT\n \n \n

\n This is an Agreement between Wild Health Inc, a Delaware Corporation located at 535\n Wellington Way, Suite #330, Lexington, Kentucky 40503 and 212 South 2nd Street, Danville,\n Kentucky, 40422 (“Coach”), and health coach or clinician\n (“Provider”) in their capacity as agents of Wild Health,\n and you, (“Client” or “You”).\n

\n
\n \n

\n NOT HEALTH INSURANCE. THIS AGREEMENT IS NOT HEALTH INSURANCE AND DOES NOT MEET ANY\n INDIVIDUAL HEALTH INSURANCE MANDATE THAT MAY BE REQUIRED BY FEDERAL LAW, INCLUDING THE\n FEDERAL PATIENT PROTECTION AND AFFORDABLE CARE ACT AND COVERS ONLY LIMITED ROUTINE HEALTH\n CARE SERVICES AS DESIGNATED IN THIS AGREEMENT. THIS AGREEMENT IS NOT WORKERS’ COMPENSATION\n INSURANCE AND DOES NOT REPLACE AN EMPLOYER’S OBLIGATIONS UNDER APPLICABLE FEDERAL OR STATE\n LAW.\n

\n
\n \n

Background

\n
\n \n

\n Client is desirous of implementing coaching services into the Client's life and health\n practices, as discussed more fully below. Coach is skilled and capable in the areas Client\n needs and would like to coach Client. This Agreement sets forth the terms and conditions\n whereby Coach agrees to provide professional coaching Services (as described below). Coach\n will be engaged for the limited purpose of providing these Services to the Client.\n

\n
\n \n

1. Coaching Terms

\n \n

1.1. \n A coaching relationship between two Parties is essentially a relationship whereby the\n Coach assists the Client in meeting the Client's potential within the areas the coaching\n relationship is meant to focus on.\n

\n

1.2. \n Client hereby acknowledges and agrees:\n

1.2.1. Client is solely and\n exclusively responsible for the choices that Client makes with\n regard to this coaching relationship, as well as the Coach's\n recommendations and\n input;\n

\n

1.2.2. Client is solely and\n exclusively responsible for Client's own mental health,\n physical health, business decisions, and any other actions or inaction\n Client chooses\n to take;\n

\n

1.2.3. Coach is not liable for any\n result or non-result or any consequences which may\n come about due to Client's relationship with Coach;\n

\n

\n

1.3. Coaching\n is neither a therapeutic or medical relationship, Coach may not provide\n therapy or medical services and Client is responsible for procuring these\n services at\n Client's own will and discretion if needed.\n

\n

1.4. Client\n agrees to respond to Coach no later than the following amount of time after\n being\n reached out to for communication: 72 hours. In the event of an emergency or\n other\n similar conflict, Coach will give the Client as much notice as possible if\n there is the\n possibility of interruption to the Services, whether that interruption is\n temporary or long-term.\n

\n
\n
\n \n

2. Description of Services

\n \n

2.1. The\n Client hereby engages the Coach, and the Coach accepts such engagement to\n provide the following coaching services for the Client (hereinafter, the\n \"Services\"):\n \n

    \n
  • Assistance with general health and lifestyle changes, weight\n management, goal setting, and general wellbeing\n
  • \n
  • Genetic-based health optimization
  • \n
  • Genetics-based nutrition and fasting protocol
  • \n
  • Epigenetic counseling
  • \n
  • Supplement recommendation
  • \n
  • Sleep optimization
  • \n
  • Exercise and physical activity plans and management
  • \n
  • Accountability
  • \n
\n
\n

\n

2.2. Coach\n and Client will use the following methods of contact for meetings throughout\n the\n coaching relationship: Phone, Video messaging, Email, Secure text, or\n successive\n secure communication platform.\n

\n

2.3. Coach\n may agree in a separate, written document to expand the scope of Services to\n include additional tasks. Such written document may be informal, such as an\n email and\n will include additional fees, as applicable.\n

\n
\n
\n \n

3. Schedule and Fees

\n \n

3.1. Level of Service. Coach and Client agree to visits based on\n selected plan below.\n \n {\n renderMemberships()\n }\n \n

\n

3.2. Changes to Schedule.\n The Parties agree to the following number of meetings selected\n above. Client understands and acknowledges that it is Client’s\n responsibility to schedule\n visits, if Client fails to schedule a visit during a 30-day period, Wild\n Health reserves the\n right to reduce the overall available visits under a plan by a pro-rata\n amount to reflect the\n missed visit(s) as permitted under state or federal law. Coach and Client\n may agree to a\n change of the schedule between them, through an additional written document.\n Client or\n Coach may, from time to time, need to cancel or reschedule any of the\n coaching\n meetings. If Coach is responsible for the reschedule, Coach will become\n available to\n Client as the soonest possible opportunity within ten (10) business days. If\n Client is\n responsible for the cancellation or reschedule, Client agrees to notify\n Coach no less than\n 1 business day prior to the scheduled meeting. If Client cancels or\n reschedules within the\n 24-hour period, Client agrees to pay the full amount required for the\n meeting, if\n requested by Coach (at Coach's sole and exclusive discretion). The Parties\n will then\n attempt to reschedule the meeting in good faith.\n

\n

3.3. Holidays.\n Coach will be unavailable on the following holidays: New Years’ Eve, New\n Years’ Day, Good Friday, Memorial Day, Independence Day, Labor Day,\n Thanksgiving\n Day, day after Thanksgiving, Christmas Eve, and Christmas Day.\n

\n

3.4. Fees Generally.\n In exchange for the services described herein, Client or Guarantor\n agrees to pay Wild Health, the amount as set forth in Section 3.1 above.\n Fees are payable\n prior to performance of any services. If Coach cancels this Agreement before\n the\n agreement termination date, then Coach shall refund the Client’s pro-rated\n share of any\n payment remaining after deducting individual charges for services rendered\n to Client up\n to cancellation. Coach may amend the Membership Fee Schedule at any time, as\n it may\n determine in its sole discretion, upon providing Client at least sixty (60)\n days’ advance\n written notice. For employer sponsored memberships, individual membership\n fees will\n only apply if the employee/member elects to continue services after\n termination or\n employee sponsorship ends or elects services above and beyond that which the\n employer\n has agreed to cover.\n

\n

3.5. Invoice.\n A monthly invoice will be provided via email (Preferred). Or, in the case\n that\n Client does not have access to email, Client will receive a monthly invoice\n via mail.\n

\n

3.6. Payment.\n Payment may be remitted to Wild Health via credit/debit card, cash or check.\n Cash and check payments will only be accepted on site at the Coach office\n (address listed above).\n An Automatic Credit/Debit Authorization Form at Exhibit A may be\n executed to authorize automatic payment of invoices. Payment will be\n considered late\n fifteen (15) days after the invoice date and a $15 late fee applied to the\n amounts owed.\n Late payment may result in termination of the Client’s subscription solely\n at the\n discretion of Coach.\n

\n

3.7. Credit Card Authorization.\n If an invoice remains unpaid for sixty (60) days after invoice\n date, Client authorizes Coach to charge the credit card on file for the\n Client in the\n amount of the past-due invoice, plus any late charges as set forth in the\n Automatic\n Credit/Debit Authorization Form, attached hereto at Exhibit A.\n

\n

3.8. Refund.\n Client shall not be entitled to any refund for any monies spent under this\n Agreement. If Client wishes to terminate this Agreement prior to its planned\n expiration,\n Client will forfeit each of the fees until then paid to the Coach, unless\n otherwise\n prohibited by applicable federal or state law.\n

\n

3.9. Non-Participation in Insurance.\n Client acknowledges that neither Coach, nor the\n Provider participate in any health insurance or HMO plans. Neither of the\n above make\n any representations whatsoever that any fees paid under this Agreement are\n covered by\n your health insurance or other third-party payment plans applicable to the\n Client. The\n Client shall retain full and complete responsibility for any such\n determination. Wild\n Health will not bill your health insurance for services provided under this\n Agreement.\n Payments made by Client under this Agreement may not count towards health\n insurance\n deductibles or maximum out-of-pocket expenses. This agreement acknowledges\n your\n understanding that Medicare, Medicaid, or any other federal health care\n program cannot\n be billed for any services performed for you by the Physician. You agree not\n to attempt\n to obtain reimbursement for any such services from any federal health care\n program.\n

\n
\n
\n \n

4. General Terms

\n \n

4.1. Term; Termination.\n This Agreement will commence on the date first written above and will extend for the\n period of the membership selected above automatically renewing thereafter except in the\n case of the free trial which terminates after 30 days. Notwithstanding the above, both\n Client and Coach shall have the absolute and unconditional right to terminate the\n Agreement, without the showing of any cause for termination, upon giving thirty (30)\n days prior written notice to the other party. Unless previously terminated as set forth\n above, at the expiration of the initial term (and each succeeding term), the Agreement\n will automatically renew for successive terms. In addition, this agreement may be\n terminated immediately should the Client fail to provide payment for a sixty (60) day\n period.\n

\n

4.2. Early Termination Fee.\n To the extent permissible by state and federal law, Wild Health\n may apply an early termination fee should client terminate this Agreement\n without cause\n prior to its expiration, such early termination fee will not exceed 3 months\n of the\n applicable subscription monthly fee amount.\n

\n

4.3. Severability.\n If for any reason any provision of this Agreement shall be deemed, by a\n court of competent jurisdiction, to be legally invalid or unenforceable in\n any jurisdiction\n to which it applies, the validity of the remainder of the Agreement shall\n not be affected,\n and that provision shall be deemed modified to the minimum extent necessary\n to make\n that provision consistent with applicable law and in its modified form, and\n that provision\n shall then be enforceable.\n

\n

4.4. Amendment.\n No amendment of this Agreement shall be binding on a party unless it is\n made in writing and signed by all the parties. Notwithstanding the\n foregoing, Coach may\n unilaterally amend this Agreement to the extent required by federal, state,\n or local law or\n regulation (“Applicable Law”) by sending Client thirty (30) days’ advance\n written notice\n of any such change. Any such changes are incorporated by reference into this\n Agreement\n without the need for signature by the parties and are effective as of the\n date established\n by Coach. Moreover, if Applicable Law requires this Agreement to contain\n provisions\n that are not expressly set forth in this Agreement, then, to the extent\n necessary, such\n provisions shall be incorporated by reference into this Agreement and shall\n be deemed a\n part of this Agreement as though they had been expressly set forth in this\n Agreement.\n

\n

4.5. Assignment.\n This Agreement, and any rights Client may have under it, may not be\n assigned or transferred by Client to another person(s).\n

\n

4.6. Relationship of Parties.\n Client and Coach intend and agree that Coach, in performing his\n duties under this Agreement, may be an independent contractor, as defined by\n the\n guidelines promulgated by the United States Internal Revenue Service and/or\n the United\n States Department of Labor, and the independent contractor shall have\n exclusive control\n of his work and the manner in which it is performed.\n

\n

4.7. Legal Significance.\n Client acknowledges that this Agreement is a legal document and\n creates certain rights and responsibilities. Client also acknowledges having\n had a\n reasonable time to seek legal advice regarding the Agreement and has either\n chosen not\n to do so or has done so and is satisfied with the terms and conditions of\n the Agreement.\n

\n

4.8. Entire Agreement.\n This Agreement contains the entire agreement between the parties\n and supersedes all prior oral and written understandings and agreements\n regarding the\n subject matter of this Agreement.\n

\n

4.9. Jurisdiction and Venue.\n This Agreement shall be governed by and construed in\n accordance with the internal laws of the Commonwealth of Kentucky without\n giving\n effect to any choice or conflict of law provision or rule. Each party\n irrevocably submits\n to the exclusive jurisdiction and venue of the federal and state courts\n located in the\n following county in any legal suit, action, or proceeding arising out of or\n based upon this\n Agreement or the Services provided hereunder: Fayette County, Kentucky.\n

\n

4.10. Service.\n All written notices are deemed served if sent to the address of the party\n written\n above or appearing in Exhibit A by first class U.S. mail.\n

\n

4.11. Data Aggregation for Research.\n By agreeing to this form, you release Coach to utilize\n deidentified demographic, results, or survey data for research purposes.\n

\n

4.12. Portfolio Use.\n Coach shall be permitted to use all produced items of work Coach's\n professional portfolio, if applicable, but may not use Client's name,\n likeness, or other\n identifying details without express written permission from the Client.\n

\n

4.13. Liability.\n Coach’s liability in contract, tort or otherwise arising through or in\n connection with this Agreement or through or in connection with the\n completion of\n obligations under this Agreement shall be limited to Fees paid by the Client\n to the Coach.\n To the extent it is lawful, neither Party shall be liable to the other Party\n in contract, tort,\n negligence, breach of statutory duty or otherwise for any loss, damage,\n costs or expenses\n of any nature whatsoever incurred or suffered by that other Party of an\n indirect or\n consequential nature including without limitation any economic loss, data\n loss, loss of\n goodwill, or other loss of turnover, profits, or business.\n

\n
\n
\n \n

\n By agreeing I am entering into this Agreement with Coach on the date indicated after my\n signature (“Effective Date”). I acknowledge and agree that all my questions have been\n answered and I understand the terms outlined in the Agreement and any attachment hereto.\n

\n
\n \n EXHIBIT A\n \n \n AUTOMATIC DEBIT/ CREDIT CARD BILLING AUTHORIZATION\n \n \n \n

\n By agreeing you authorize Coach to automatically bill amounts owed pursuant to the fee\n schedule for services provided to You by Coach, either monthly as owed or after sixty (60)\n days following non-payment by another form, in Coach’s sole discretion and pursuant to the\n terms of the Agreement. When automatically billed, a receipt for each payment will be\n provided to you and a charge will appear on your credit card statement.\n

\n
\n \n

Payment Information

\n Start billing on: Effective Date of Agreement; reoccurring monthly.\n
\n \n

\n I understand that this authorization will remain in effect until I cancel it in writing and\n agree to notify Coach in writing of any changes in my account information or termination of\n this authorization within fifteen (15) days prior to the next billing date. I understand\n that payments may be executed on the next business day. I acknowledge that the origination\n of credit card transactions to my account must comply with provisions of federal, state, and\n local laws. I certify that I am an authorized user of this credit card and will not dispute\n these scheduled transactions; so long as the transactions correspond to the terms indicated\n in the Agreement and this Authorization Form.\n

\n
\n
\n \n
\n );\n}","import {Box} from \"@material-ui/core\";\nimport React from \"react\";\nimport {AgreementBasePage} from \"./AgreementBasePage\";\nimport {AgreementHeaderComponent} from \"./AgreementHeaderComponent\";\nimport {AgreementPageProps} from \"./agreementPageProps\";\nimport './WildHealthAgreement.scss';\n\nexport const PatientSingleAgreementPage: React.FC = (props: AgreementPageProps) => {\n const renderMemberships = () => {\n return (\n <>\n 1. Employee Sponsored Membership: Access to Clarity depending on employer agreement.\n \n \n )\n }\n\n return (\n \n \n \n \n \n PATIENT AGREEMENT\n \n \n This is an Agreement between Wild Health Inc, a Delaware Corporation\n located at 535 Wellington Way, Suite #330, Lexington, Kentucky 40503 and 212 South 2nd\n Street, Danville, Kentucky, 40422 (“Wild Health”), and\n health coach or clinician (“Provider”) in their capacity\n as agents of Wild Health, and you, (“Client” or “You”).\n \n \n \n \n NOT HEALTH INSURANCE. THIS AGREEMENT IS NOT HEALTH INSURANCE AND DOES NOT MEET ANY\n INDIVIDUAL HEALTH INSURANCE MANDATE THAT MAY BE REQUIRED BY FEDERAL LAW, INCLUDING THE\n FEDERAL PATIENT PROTECTION AND AFFORDABLE CARE ACT AND COVERS ONLY LIMITED ROUTINE HEALTH\n CARE SERVICES AS DESIGNATED IN THIS AGREEMENT. THIS AGREEMENT IS NOT WORKERS’ COMPENSATION\n INSURANCE AND DOES NOT REPLACE AN EMPLOYER’S OBLIGATIONS UNDER APPLICABLE FEDERAL OR STATE\n LAW.\n \n \n \n Background\n \n \n \n Wild Health services begin with a comprehensive wellness screening assessment and medically\n supervised health coaching. Following the Wild Health Evaluation, You may elect to establish\n medical care via an in-person visit or asynchronous video telemedicine visit should You wish\n to receive medical advice, prescriptive treatment recommendations, prognostic\n recommendations, and/or prescriptions.\n \n \n \n Services and Payment Terms\n \n \n 1. Services\n \n 1.1. Service Memberships.\n Client may elect to utilize services by selecting a Precision Care, Precision Health\n Coaching, Optimization, Founder’s Precision, or Founder’s Optimization memberships.\n \n 1.2. Wellness Evaluation.\n Client shall also be entitled to an initial “wellness evaluation,” which shall be\n performed by the health coach, and may include a health risk assessment, diet and\n exercise evaluation, and other health coaching services.\n \n 1.3. Provider Medical Services.\n Depending on the membership selected Client may be entitled to Provider examinations and\n medical services provided by the clinician tailored to the Clients specific needs. As\n used in this Agreement, the term Medical Services shall mean those medical services that\n the Provider is permitted to perform under the laws of the state of licensure and that\n are consistent with his training and experience as a medical provider, as the case may\n be.\n \n 1.4. Problem Visits.\n Depending on the membership selected Client may be entitled to additional provider\n visits for evaluation and management of unexpected illnesses or issues. Problem visits\n do not include emergent or urgent care matters and Provider will use their best efforts\n to schedule problem visits within 48 hours of Client’s request.\n \n 1.5. Non-Medical, Personalized Services.\n Wild Health may also provide Client with the following non-medical services (“Non-Medical Services”):\n \n a.\n Health Coaching: \n As more fully described in the fee schedule below, to the extent Client receives\n Health Coaching, the applicable terms of Wild Health’s Coaching Client Agreement\n are incorporated herein by reference as if fully set forth.\n \n b.\n Premium Access: \n Client shall have access to the Provider via secure messaging or video. Client\n shall be given a phone number where Client may reach the Provider directly.\n Provider does not guarantee immediate response. Provider will make reasonable\n efforts to respond in a timely manner. Client agrees to call 911 in case of\n medical emergency.\n \n c.\n E-Mail Access: \n Client shall be given a Provider’s e-mail address for non-urgent communications.\n The Provider or staff member of Wild Health shall deal with such communications\n in a timely manner. Client understands and agrees that email and the internet\n should never be used to access medical care in the event of an emergency, or any\n situation that Client could reasonably expect may develop into an emergency.\n Client agrees that in such situations, when a Client cannot speak to Provider\n immediately in-person or by telephone, that Client shall call 911 or the nearest\n emergency medical services provider and follow the directions of emergency\n medical personnel.\n \n d.\n Minimal wait Appointments: \n Effort shall be made to assure that Client is seen by the Provider immediately\n upon arriving for a scheduled office visit or after only a minimal wait.\n \n e.\n Appointments: \n When Client calls or emails the Provider prior to noon on a normal office day\n (Monday through Friday) to schedule an appointment, every reasonable effort\n shall be made to schedule an appointment with the Provider within 1 business\n day. If the Client calls or e-mails the Provider after noon on a normal office\n day (Monday through Friday) to schedule an appointment, every reasonable effort\n shall be made to schedule Client’s appointment with the Provider within 2\n business days. Client understands and acknowledges that it is Client’s\n responsibility to schedule visits, if Client fails to schedule a visit during a\n 30-day period, Wild Health reserves the right to reduce the overall available\n visits under a plan by a pro-rata amount to reflect the missed visit(s) as\n permitted under state or federal law.\n \n f.\n Specialists: \n A Wild Health Provider shall coordinate with medical specialists to whom Client\n is referred to assist Client in obtaining specialty care. Client understands\n that fees paid under this Agreement do not include and do not cover such\n specialists’ fees or fees due to any medical professional other than the Wild\n Health Provider.\n \n \n \n \n \n \n 2. Payment\n \n 2.1. Fees Generally.\n In exchange for the services described herein, Client or Guarantor\n agrees to pay Wild Health, the amount as set forth in Section 2.2 below. Fees are\n payable prior to performance of any services. If Wild Health cancels this Agreement\n before the agreement termination date, then Wild Health shall refund the Client’s\n pro-rated share of any payment remaining after deducting individual charges for services\n rendered to Client up to cancellation. Wild Health may amend the Membership Fee Schedule\n at any time, as it may determine in its sole discretion, upon providing Client at least\n sixty (60) days’ advance written notice. For employer sponsored memberships, individual\n membership fees will only apply if the employee/member elects to continue services after\n termination or employee sponsorship ends or elects services above and beyond that which\n the employer has agreed to cover.\n \n 2.2. Membership Fee Schedule.\n The fee schedule for services provided by Wild Health shall be priced as follows:\n \n a.\n Subscription Fee: The Subscription fee shall be\n due in the amount(s) referenced below.\n {\n renderMemberships()\n }\n \n b.\n Additional Fees: \n The following fees will be assessed and charged to Client’s account and will be\n due at the same time as the Monthly Subscription Fee:\n 1. Prescription Medications and Supplements: \n The cost of medications and supplements is fluctuant and will be remitted to\n Client via invoice at time of dispensation.\n \n 2. Shipping Charges: \n Any shipping fees incurred for shipment from Wild Health to Client will be\n charged to the Client’s account and will be due at time of shipping.\n \n 3. Laboratory Fees: \n Wild Health contracts with third-party clinical and specialty labs to\n provide competitively priced laboratory analysis to Clients. All laboratory\n fees will be the responsibility of the Client and will be charged to the\n Client’s account and due at time of service.\n \n 4. Medical Devices: \n In the event that Client is in need of any medical device, this device may\n be ordered by Wild Health. The full cost of the device and any additional\n shipping or service fees will be the responsibility of the Client and will\n be charged to the Client’s account and due at time of service.\n \n 5. Loaned Devices: \n Client will be responsible for replacing any lost, damaged, stolen or\n unreturned devises loaned from Wild Health.\n \n 6. Other: Other fees may be applicable to the\n Client’s account and will be\n expressed to the Client verbally before service is rendered or ordered and\n every effort will be made to express the fees in writing as well. These fees\n will be charged to the Client’s account and due at time of service.\n \n \n \n \n 2.3. Discounts. Previous fees and promotions will be honored by\n Wild Health as agreed upon in writing.\n \n 2.4. Invoice. A monthly invoice will be provided via email\n (Preferred). Or, in the case that Client does not have access to email, Client will\n receive a monthly invoice via mail.\n \n 2.5. Payment. Payment may be remitted to Wild Health via\n credit/debit card, cash or check.\n Cash and check payments will only be accepted on site at the Wild Health office (address\n listed above). An Automatic Credit/Debit Authorization Form at Exhibit A may be executed\n to authorize automatic payment of invoices. Payment will be considered late fifteen (15)\n days after the invoice date and a $15 late fee applied to amounts owed. Late payment may\n result in termination of the Client’s subscription solely at the discretion of Wild\n Health.\n \n 2.6. Credit Card Authorization.\n If an invoice remains unpaid for sixty (60) days after invoice date, Client authorizes\n Wild Health to charge the credit card on file for the Client in the amount of the\n past-due invoice, plus any late charges as set forth in the Automatic Credit/Debit\n Authorization Form, attached hereto at Exhibit A.\n \n 2.7. Non-Participation in Insurance.\n Client acknowledges that neither Wild Health, nor the Provider participate in any health\n insurance or HMO plans. Neither of the above make any representations whatsoever that\n any fees paid under this Agreement are covered by your health insurance or other\n third-party payment plans applicable to the Client. The Client shall retain full and\n complete responsibility for any such determination. Wild Health will not bill your\n health insurance for services provided under this Agreement. Payments made by Client\n under this Agreement may not count towards health insurance deductibles or maximum\n out-of-pocket expenses. This agreement acknowledges your understanding that Medicare,\n Medicaid, or any other federal health care program cannot be billed for any services\n performed for you by the Physician. You agree not to attempt to obtain reimbursement for\n any such services from any federal health care program.\n \n \n \n \n 3. General Terms\n \n 3.1. Term; Termination.\n This Agreement will commence on the date first written above and will extend for the\n period of the membership plan selected above automatically renewing thereafter except in\n the case of the free trial which will terminate after 30 days. Notwithstanding the\n above, both Client and Wild Health shall have the absolute and unconditional right to\n terminate the Agreement, without the showing of any cause for termination, upon giving\n thirty (30) days prior written notice to the other party. Unless previously terminated\n as set forth above, at the expiration of the initial term (and each succeeding term),\n the Agreement will automatically renew for successive terms. In addition, this agreement\n may be terminated immediately should the Client fail to provide payment for a sixty (60)\n day period.\n \n 3.2. Early Termination Fee.\n To the extent permissible by state and federal law, Wild Health may apply an early\n termination fee should client terminate this Agreement without cause prior to its\n expiration, such early termination fee will not exceed 3 months of the applicable\n subscription monthly fee amount.\n \n 3.3. Insurance or Other Medical Coverage.\n Client acknowledges and understands that this Agreement is not an insurance plan, and\n not a substitute for health insurance or other health plan coverage (such as membership\n in an HMO). It will not cover hospital services, or any services not personally provided\n by Wild Health, or its Providers. Client acknowledges that Wild Health has advised that\n Client obtain or keep in full force such health insurance policy(ies) or plans that will\n cover Client for general healthcare costs. Client acknowledges that this Agreement is\n not a contract that provides health insurance, and this Agreement is not intended to\n replace any existing or future health insurance or health plan coverage that Client may\n carry.\n \n 3.4. Communications.\n You acknowledge that communications using email, facsimile, video chat, instant\n messaging, and cell phone are not guaranteed to be secure or confidential methods of\n communications. As such, you expressly waive the providers obligation to guarantee\n confidentiality with respect to correspondence using such means of communication. You\n acknowledge that all such communications may become a part of your medical records. By\n providing your email address, Client authorizes the Wild Health, and its Providers to\n communicate with Client by email regarding Client’s “protected health information” (PHI)\n (as that term is defined in the Health Insurance Portability and Accountability Act\n (HIPAA) of 1996 and its implementing regulations.\n Client further acknowledges that:\n a. \n E-mail is not necessarily a secure medium for sending or receiving PHI and, there is\n always a possibility that a third party may gain access;\n \n b. \n Although the Provider will make all\n reasonable efforts to keep e-mail communications confidential and secure, neither\n Wild Health, nor the Provider can assure or guarantee the absolute confidentiality\n of e-mail communications;\n \n c. \n In the discretion of the Provider, e-mail communications may be made a part of\n Client’s permanent medical record;\n \n d. \n Client understands and agrees that E-mail is not an appropriate means of\n communication regarding emergency or other time-sensitive issues or for inquiries\n regarding sensitive information. In the event of an emergency, or a situation in\n which the member could reasonably expect to develop into an emergency, Client shall\n call 911 or the nearest Emergency room, and follow the directions of emergency\n personnel.\n \n e. \n If Client does not receive a response to an e-mail message within one day, Client\n agrees to use another means of communication to contact the Provider. Neither Wild\n Health, nor the Provider will be liable to Client for any loss, cost, injury, or\n expense caused by, or resulting from, a delay in responding to Client as a result of\n technical failures, including, but not limited to, (i) technical failures\n attributable to any internet service provider, (ii) power outages, failure of any\n electronic messaging software, or failure to properly address e-mail messages, (iii)\n failure of the Practice’s computers or computer network, or faulty telephone or\n cable data transmission, (iv) any interception of e-mail communications by a third\n party; or (v) your failure to comply with the guidelines regarding use of e-mail\n communications set forth in this paragraph.\n \n \n 3.5. Severability.\n If for any reason any provision of this Agreement shall be deemed, by a court of\n competent jurisdiction, to be legally invalid or unenforceable in any jurisdiction to\n which it applies, the validity of the remainder of the Agreement shall not be affected,\n and that provision shall be deemed modified to the minimum extent necessary to make that\n provision consistent with applicable law and in its modified form, and that provision\n shall then be enforceable.\n \n 3.6. Amendment.\n No amendment of this Agreement shall be binding on a party unless it is made in writing\n and signed by all the parties. Notwithstanding the foregoing, Wild Health may\n unilaterally amend this Agreement to the extent required by federal, state, or local law\n or regulation (“Applicable Law”) by sending Client thirty (30) days’ advance written\n notice of any such change. Any such changes are incorporated by reference into this\n Agreement without the need for signature by the parties and are effective as of the date\n established by Wild Health. Moreover, if Applicable Law requires this Agreement to\n contain provisions that are not expressly set forth in this Agreement, then, to the\n extent necessary, such provisions shall be incorporated by reference into this Agreement\n and shall be deemed a part of this Agreement as though they had been expressly set forth\n in this Agreement.\n \n 3.7. Assignment.\n This Agreement, and any rights Client may have under it, may not be assigned or\n transferred by Client to another person(s).\n \n 3.8. Relationship of Parties.\n Client and Wild Health intend and agree that Wild Health, in performing his duties under\n this Agreement, may be an independent contractor, as defined by the guidelines\n promulgated by the United States Internal Revenue Service and/or the United States\n Department of Labor, and the independent contractor shall have exclusive control of his\n work and the manner in which it is performed.\n \n 3.9. Legal Significance.\n Client acknowledges that this Agreement is a legal document and creates certain rights\n and responsibilities. Client also acknowledges having had a reasonable time to seek\n legal advice regarding the Agreement and has either chosen not to do so or has done so\n and is satisfied with the terms and conditions of the Agreement.\n \n 3.10. Entire Agreement.\n This Agreement contains the entire agreement between the parties and supersedes all\n prior oral and written understandings and agreements regarding the subject matter of\n this Agreement.\n \n 3.11. Jurisdiction and Venue.\n This Agreement shall be governed by and construed in accordance with the internal laws\n of the Commonwealth of Kentucky without giving effect to any choice or conflict of law\n provision or rule. Each party irrevocably submits to the exclusive jurisdiction and\n venue of the federal and state courts located in the following county in any legal suit,\n action, or proceeding arising out of or based upon this Agreement or the Services\n provided hereunder: Fayette County, Kentucky.\n \n 3.12. Service.\n All written notices are deemed served if sent to the address of the party written above\n or appearing in Exhibit A by first class U.S. mail.\n \n 3.13. Data Aggregation for Research.\n By agreeing to this form, you release Wild Health to utilize deidentified demographic,\n results, or survey data for research purposes.\n \n \n \n \n \n By agreeing I am entering into this Agreement with Wild Health on the date indicated after\n my signature (“Effective Date”). I acknowledge and agree that all my questions have been\n answered and I understand the terms outlined in the Agreement and any attachment hereto.\n \n \n \n EXHIBIT A\n \n \n AUTOMATIC DEBIT/ CREDIT CARD BILLING AUTHORIZATION\n \n \n \n \n By agreeing you authorize Wild Health to automatically bill amounts owed pursuant to the fee\n schedule for services provided to You by Wild Health, either monthly as owed or after sixty\n (60) days following non-payment by another form, in Wild Health’s sole discretion and\n pursuant to the terms of the Agreement. When automatically billed, a receipt for each\n payment will be provided to you and a charge will appear on your credit card statement.\n \n \n \n Payment Information\n Start billing on: Effective Date of Agreement; reoccurring monthly.\n \n \n \n I understand that this authorization will remain in effect until I cancel it in writing, and\n agree to notify Wild Health in writing of any changes in my account information or\n termination of this authorization within fifteen (15) days prior to the next billing date. I\n understand that payments may be executed on the next business day. I acknowledge that the\n origination of credit card transactions to my account must comply with provisions of\n federal, state, and local laws. I certify that I am an authorized user of this credit card\n and will not dispute these scheduled transactions; so long as the transactions correspond to\n the terms indicated in the Agreement and this Authorization Form.\n \n \n \n \n \n );\n}","import {Box} from \"@material-ui/core\";\nimport React from \"react\";\nimport {AgreementBasePage} from \"./AgreementBasePage\";\nimport {AgreementHeaderComponent} from \"./AgreementHeaderComponent\";\nimport {AgreementPageProps} from \"./agreementPageProps\";\n\nexport const CoachingClientSingleAgreementPage: React.FC = (props: AgreementPageProps) => {\n const renderMemberships = () => {\n return (\n \n 3.1.1. Employee Sponsored Membership: Access to Clarity depending on employer agreement.\n \n \n )\n }\n\n return (\n \n \n \n \n \n COACHING CLIENT AGREEMENT\n \n \n \n This is an Agreement between Wild Health Inc, a Delaware Corporation located at 535\n Wellington Way, Suite #330, Lexington, Kentucky 40503 and 212 South 2nd Street, Danville,\n Kentucky, 40422 (“Coach”), and health coach or clinician\n (“Provider”) in their capacity as agents of Wild Health,\n and you, (“Client” or “You”).\n \n \n \n \n NOT HEALTH INSURANCE. THIS AGREEMENT IS NOT HEALTH INSURANCE AND DOES NOT MEET ANY\n INDIVIDUAL HEALTH INSURANCE MANDATE THAT MAY BE REQUIRED BY FEDERAL LAW, INCLUDING THE\n FEDERAL PATIENT PROTECTION AND AFFORDABLE CARE ACT AND COVERS ONLY LIMITED ROUTINE HEALTH\n CARE SERVICES AS DESIGNATED IN THIS AGREEMENT. THIS AGREEMENT IS NOT WORKERS’ COMPENSATION\n INSURANCE AND DOES NOT REPLACE AN EMPLOYER’S OBLIGATIONS UNDER APPLICABLE FEDERAL OR STATE\n LAW.\n \n \n \n Background\n \n \n \n Client is desirous of implementing coaching services into the Client's life and health\n practices, as discussed more fully below. Coach is skilled and capable in the areas Client\n needs and would like to coach Client. This Agreement sets forth the terms and conditions\n whereby Coach agrees to provide professional coaching Services (as described below). Coach\n will be engaged for the limited purpose of providing these Services to the Client.\n \n \n \n 1. Coaching Terms\n \n 1.1. \n A coaching relationship between two Parties is essentially a relationship whereby the\n Coach assists the Client in meeting the Client's potential within the areas the coaching\n relationship is meant to focus on.\n \n 1.2. \n Client hereby acknowledges and agrees:\n 1.2.1. Client is solely and\n exclusively responsible for the choices that Client makes with\n regard to this coaching relationship, as well as the Coach's\n recommendations and\n input;\n \n 1.2.2. Client is solely and\n exclusively responsible for Client's own mental health,\n physical health, business decisions, and any other actions or inaction\n Client chooses\n to take;\n \n 1.2.3. Coach is not liable for any\n result or non-result or any consequences which may\n come about due to Client's relationship with Coach;\n \n \n 1.3. Coaching\n is neither a therapeutic or medical relationship, Coach may not provide\n therapy or medical services and Client is responsible for procuring these\n services at\n Client's own will and discretion if needed.\n \n 1.4. Client\n agrees to respond to Coach no later than the following amount of time after\n being\n reached out to for communication: 72 hours. In the event of an emergency or\n other\n similar conflict, Coach will give the Client as much notice as possible if\n there is the\n possibility of interruption to the Services, whether that interruption is\n temporary or long-term.\n \n \n \n \n 2. Description of Services\n \n 2.1. The\n Client hereby engages the Coach, and the Coach accepts such engagement to\n provide the following coaching services for the Client (hereinafter, the\n \"Services\"):\n \n
    \n
  • Assistance with general health and lifestyle changes, weight\n management, goal setting, and general wellbeing\n
  • \n
  • Genetic-based health optimization
  • \n
  • Genetics-based nutrition and fasting protocol
  • \n
  • Epigenetic counseling
  • \n
  • Supplement recommendation
  • \n
  • Sleep optimization
  • \n
  • Exercise and physical activity plans and management
  • \n
  • Accountability
  • \n
\n
\n
\n 2.2. Coach\n and Client will use the following methods of contact for meetings throughout\n the\n coaching relationship: Phone, Video messaging, Email, Secure text, or\n successive\n secure communication platform.\n \n 2.3. Coach\n may agree in a separate, written document to expand the scope of Services to\n include additional tasks. Such written document may be informal, such as an\n email and\n will include additional fees, as applicable.\n \n
\n
\n \n 3. Schedule and Fees\n \n 3.1. Level of Service. Coach and Client agree to visits based on\n selected plan below.\n \n {\n renderMemberships()\n }\n \n \n 3.2. Changes to Schedule.\n The Parties agree to the following number of meetings selected\n above. Client understands and acknowledges that it is Client’s\n responsibility to schedule\n visits, if Client fails to schedule a visit during a 30-day period, Wild\n Health reserves the\n right to reduce the overall available visits under a plan by a pro-rata\n amount to reflect the\n missed visit(s) as permitted under state or federal law. Coach and Client\n may agree to a\n change of the schedule between them, through an additional written document.\n Client or\n Coach may, from time to time, need to cancel or reschedule any of the\n coaching\n meetings. If Coach is responsible for the reschedule, Coach will become\n available to\n Client as the soonest possible opportunity within ten (10) business days. If\n Client is\n responsible for the cancellation or reschedule, Client agrees to notify\n Coach no less than\n 1 business day prior to the scheduled meeting. If Client cancels or\n reschedules within the\n 24-hour period, Client agrees to pay the full amount required for the\n meeting, if\n requested by Coach (at Coach's sole and exclusive discretion). The Parties\n will then\n attempt to reschedule the meeting in good faith.\n \n 3.3. Holidays.\n Coach will be unavailable on the following holidays: New Years’ Eve, New\n Years’ Day, Good Friday, Memorial Day, Independence Day, Labor Day,\n Thanksgiving\n Day, day after Thanksgiving, Christmas Eve, and Christmas Day.\n \n 3.4. Fees Generally.\n In exchange for the services described herein, Client or Guarantor\n agrees to pay Wild Health, the amount as set forth in Section 3.1 above.\n Fees are payable\n prior to performance of any services. If Coach cancels this Agreement before\n the\n agreement termination date, then Coach shall refund the Client’s pro-rated\n share of any\n payment remaining after deducting individual charges for services rendered\n to Client up\n to cancellation. Coach may amend the Membership Fee Schedule at any time, as\n it may\n determine in its sole discretion, upon providing Client at least sixty (60)\n days’ advance\n written notice. For employer sponsored memberships, individual membership\n fees will\n only apply if the employee/member elects to continue services after\n termination or\n employee sponsorship ends or elects services above and beyond that which the\n employer\n has agreed to cover.\n \n 3.5. Invoice.\n A monthly invoice will be provided via email (Preferred). Or, in the case\n that\n Client does not have access to email, Client will receive a monthly invoice\n via mail.\n \n 3.6. Payment.\n Payment may be remitted to Wild Health via credit/debit card, cash or check.\n Cash and check payments will only be accepted on site at the Coach office\n (address listed above).\n An Automatic Credit/Debit Authorization Form at Exhibit A may be\n executed to authorize automatic payment of invoices. Payment will be\n considered late\n fifteen (15) days after the invoice date and a $15 late fee applied to the\n amounts owed.\n Late payment may result in termination of the Client’s subscription solely\n at the\n discretion of Coach.\n \n 3.7. Credit Card Authorization.\n If an invoice remains unpaid for sixty (60) days after invoice\n date, Client authorizes Coach to charge the credit card on file for the\n Client in the\n amount of the past-due invoice, plus any late charges as set forth in the\n Automatic\n Credit/Debit Authorization Form, attached hereto at Exhibit A.\n \n 3.8. Refund.\n Client shall not be entitled to any refund for any monies spent under this\n Agreement. If Client wishes to terminate this Agreement prior to its planned\n expiration,\n Client will forfeit each of the fees until then paid to the Coach, unless\n otherwise\n prohibited by applicable federal or state law.\n \n 3.9. Non-Participation in Insurance.\n Client acknowledges that neither Coach, nor the\n Provider participate in any health insurance or HMO plans. Neither of the\n above make\n any representations whatsoever that any fees paid under this Agreement are\n covered by\n your health insurance or other third-party payment plans applicable to the\n Client. The\n Client shall retain full and complete responsibility for any such\n determination. Wild\n Health will not bill your health insurance for services provided under this\n Agreement.\n Payments made by Client under this Agreement may not count towards health\n insurance\n deductibles or maximum out-of-pocket expenses. This agreement acknowledges\n your\n understanding that Medicare, Medicaid, or any other federal health care\n program cannot\n be billed for any services performed for you by the Physician. You agree not\n to attempt\n to obtain reimbursement for any such services from any federal health care\n program.\n \n \n \n \n 4. General Terms\n \n 4.1. Term; Termination.\n This Agreement will commence on the date first written above and will extend for the\n period of the membership selected above automatically renewing thereafter except in the\n case of the free trial which terminates after 30 days. Notwithstanding the above, both\n Client and Coach shall have the absolute and unconditional right to terminate the\n Agreement, without the showing of any cause for termination, upon giving thirty (30)\n days prior written notice to the other party. Unless previously terminated as set forth\n above, at the expiration of the initial term (and each succeeding term), the Agreement\n will automatically renew for successive terms. In addition, this agreement may be\n terminated immediately should the Client fail to provide payment for a sixty (60) day\n period.\n \n 4.2. Early Termination Fee.\n To the extent permissible by state and federal law, Wild Health\n may apply an early termination fee should client terminate this Agreement\n without cause\n prior to its expiration, such early termination fee will not exceed 3 months\n of the\n applicable subscription monthly fee amount.\n \n 4.3. Severability.\n If for any reason any provision of this Agreement shall be deemed, by a\n court of competent jurisdiction, to be legally invalid or unenforceable in\n any jurisdiction\n to which it applies, the validity of the remainder of the Agreement shall\n not be affected,\n and that provision shall be deemed modified to the minimum extent necessary\n to make\n that provision consistent with applicable law and in its modified form, and\n that provision\n shall then be enforceable.\n \n 4.4. Amendment.\n No amendment of this Agreement shall be binding on a party unless it is\n made in writing and signed by all the parties. Notwithstanding the\n foregoing, Coach may\n unilaterally amend this Agreement to the extent required by federal, state,\n or local law or\n regulation (“Applicable Law”) by sending Client thirty (30) days’ advance\n written notice\n of any such change. Any such changes are incorporated by reference into this\n Agreement\n without the need for signature by the parties and are effective as of the\n date established\n by Coach. Moreover, if Applicable Law requires this Agreement to contain\n provisions\n that are not expressly set forth in this Agreement, then, to the extent\n necessary, such\n provisions shall be incorporated by reference into this Agreement and shall\n be deemed a\n part of this Agreement as though they had been expressly set forth in this\n Agreement.\n \n 4.5. Assignment.\n This Agreement, and any rights Client may have under it, may not be\n assigned or transferred by Client to another person(s).\n \n 4.6. Relationship of Parties.\n Client and Coach intend and agree that Coach, in performing his\n duties under this Agreement, may be an independent contractor, as defined by\n the\n guidelines promulgated by the United States Internal Revenue Service and/or\n the United\n States Department of Labor, and the independent contractor shall have\n exclusive control\n of his work and the manner in which it is performed.\n \n 4.7. Legal Significance.\n Client acknowledges that this Agreement is a legal document and\n creates certain rights and responsibilities. Client also acknowledges having\n had a\n reasonable time to seek legal advice regarding the Agreement and has either\n chosen not\n to do so or has done so and is satisfied with the terms and conditions of\n the Agreement.\n \n 4.8. Entire Agreement.\n This Agreement contains the entire agreement between the parties\n and supersedes all prior oral and written understandings and agreements\n regarding the\n subject matter of this Agreement.\n \n 4.9. Jurisdiction and Venue.\n This Agreement shall be governed by and construed in\n accordance with the internal laws of the Commonwealth of Kentucky without\n giving\n effect to any choice or conflict of law provision or rule. Each party\n irrevocably submits\n to the exclusive jurisdiction and venue of the federal and state courts\n located in the\n following county in any legal suit, action, or proceeding arising out of or\n based upon this\n Agreement or the Services provided hereunder: Fayette County, Kentucky.\n \n 4.10. Service.\n All written notices are deemed served if sent to the address of the party\n written\n above or appearing in Exhibit A by first class U.S. mail.\n \n 4.11. Data Aggregation for Research.\n By agreeing to this form, you release Coach to utilize\n deidentified demographic, results, or survey data for research purposes.\n \n 4.12. Portfolio Use.\n Coach shall be permitted to use all produced items of work Coach's\n professional portfolio, if applicable, but may not use Client's name,\n likeness, or other\n identifying details without express written permission from the Client.\n \n 4.13. Liability.\n Coach’s liability in contract, tort or otherwise arising through or in\n connection with this Agreement or through or in connection with the\n completion of\n obligations under this Agreement shall be limited to Fees paid by the Client\n to the Coach.\n To the extent it is lawful, neither Party shall be liable to the other Party\n in contract, tort,\n negligence, breach of statutory duty or otherwise for any loss, damage,\n costs or expenses\n of any nature whatsoever incurred or suffered by that other Party of an\n indirect or\n consequential nature including without limitation any economic loss, data\n loss, loss of\n goodwill, or other loss of turnover, profits, or business.\n \n \n \n \n \n By agreeing I am entering into this Agreement with Coach on the date indicated after my\n signature (“Effective Date”). I acknowledge and agree that all my questions have been\n answered and I understand the terms outlined in the Agreement and any attachment hereto.\n \n \n \n EXHIBIT A\n \n \n AUTOMATIC DEBIT/ CREDIT CARD BILLING AUTHORIZATION\n \n \n \n \n By agreeing you authorize Coach to automatically bill amounts owed pursuant to the fee\n schedule for services provided to You by Coach, either monthly as owed or after sixty (60)\n days following non-payment by another form, in Coach’s sole discretion and pursuant to the\n terms of the Agreement. When automatically billed, a receipt for each payment will be\n provided to you and a charge will appear on your credit card statement.\n \n \n \n Payment Information\n Start billing on: Effective Date of Agreement; reoccurring monthly.\n \n \n \n I understand that this authorization will remain in effect until I cancel it in writing and\n agree to notify Coach in writing of any changes in my account information or termination of\n this authorization within fifteen (15) days prior to the next billing date. I understand\n that payments may be executed on the next business day. I acknowledge that the origination\n of credit card transactions to my account must comply with provisions of federal, state, and\n local laws. I certify that I am an authorized user of this credit card and will not dispute\n these scheduled transactions; so long as the transactions correspond to the terms indicated\n in the Agreement and this Authorization Form.\n \n \n
\n
\n
\n );\n}","import React from \"react\";\nimport { useReducer } from \"react\";\nimport { AgreementModel } from \"../../models/agreement.model\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { PaymentPriceModel } from \"../../models/paymentPrice.models\";\nimport { confirmAgreementService } from \"../../services/confirmAgreement.service\";\nimport { agreementPagesProvider } from \"../AgreementsComponent/pages/agreementsPagesProvider\";\n\nexport interface ViewAgreementsDialogState {\n isOpen: boolean;\n agreement: AgreementModel;\n agreementPage: Function;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n}\n\nconst defaultState: ViewAgreementsDialogState = {\n isOpen: false,\n agreement: null,\n agreementPage: null,\n paymentPlan: null,\n paymentPeriod: null,\n paymentPrice: null\n}\n\nconst updateReducer = (state, updatedState) => {\n return { ...state, ...updatedState }\n}\n\nexport function useFacade(initialState = defaultState): [\n ViewAgreementsDialogState,\n React.RefObject,\n () => void] {\n\n const [state, setState] = useReducer(updateReducer, initialState);\n\n const dialogRef = React.createRef();\n\n const handleClose = () => {\n setState(defaultState);\n }\n\n confirmAgreementService.onView.subscribe((model) => {\n if (!model.data || !model.data.agreement) {\n model.callback(null);\n return;\n }\n\n setState({\n ...state,\n isOpen: true,\n agreement: model.data.agreement,\n agreementPage: agreementPagesProvider.getPage(model.data.agreement),\n paymentPlan: model.data.paymentPlan,\n paymentPeriod: model.data.paymentPeriod,\n paymentPrice: model.data.paymentPrice\n });\n });\n\n return [state, dialogRef, handleClose];\n}","import React from 'react';\nimport { AgreementModel } from '../../models/agreement.model';\nimport { PaymentPeriodModel } from '../../models/paymentPeriod.models';\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\nimport { PaymentPriceModel } from '../../models/paymentPrice.models';\nimport { useFacade } from \"./agreementsComponent.hooks\";\n\nexport interface AgreementsComponentProps {\n agreement: AgreementModel;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n currentAgreementPage: Function;\n}\n\nexport const AgreementsComponent: React.FC = (props: AgreementsComponentProps) => {\n const [\n renderAgreement,\n ] = useFacade(props);\n\n if (!props.agreement) {\n return <> \n }\n\n return (\n <>\n {\n renderAgreement()\n }\n \n );\n}","import { AgreementsComponentProps } from \"./AgreementsComponent\";\nimport { AgreementPageProps } from \"./pages/agreementPageProps\";\n\nexport function useFacade(props: AgreementsComponentProps): [() => JSX.Element]{\n const renderAgreement = (): JSX.Element => {\n const currentAgreementPageProps: AgreementPageProps = {\n data: {\n planName: props.paymentPlan.name,\n periodInMonths: props.paymentPeriod.periodInMonths.toString()\n }\n };\n\n return props.currentAgreementPage(currentAgreementPageProps);\n }\n\n return [renderAgreement];\n}","import { Box, Dialog, DialogActions, DialogContent, useMediaQuery, useTheme } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from \"./viewAgreementsDialog.hooks\";\nimport { AgreementsComponent } from \"../AgreementsComponent/AgreementsComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const AgreementDialog: React.FC = () => {\n const [\n {\n isOpen,\n agreement,\n agreementPage,\n paymentPlan,\n paymentPeriod,\n paymentPrice\n },\n dialogRef,\n handleClose,\n ] = useFacade();\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n return (\n \n \n \n \n \n \n \n \n handleClose()}\n fullWidth\n >\n Close\n \n \n \n \n );\n}","import {PaymentPriceModel, PaymentPriceType, PaymentStrategy} from \"../models/paymentPrice.models\";\nimport { paymentPlansQuery } from \"../stores/paymentPlansStore\";\n\nexport const getCorrespondingPrice = (prices: PaymentPriceModel[], strategy: PaymentStrategy, type: PaymentPriceType, isCouponApplied = false): PaymentPriceModel => {\n const couponCode = paymentPlansQuery.getCouponCode();\n const price = prices\n .find(x => x.type === type && x.strategy === strategy && (couponCode && isCouponApplied ? x.paymentCoupon?.code === couponCode : x));\n\n if (!price && type !== PaymentPriceType.Default) {\n return getCorrespondingPrice(prices, strategy, PaymentPriceType.Default);\n }\n\n return price;\n}","import { Box, Divider, FormControl, FormControlLabel, RadioGroup } from '@material-ui/core';\nimport React from 'react';\nimport { WildHealthRadio } from \"../../../common/components/WildHealthRadio\";\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport {PaymentPriceModel, PaymentPriceType, PaymentStrategy} from \"../../models/paymentPrice.models\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport {getCorrespondingPrice} from \"../../helpers/getCorrespondingPrice\";\n\ninterface PaymentSummaryComponentProps {\n selectedPlan: PaymentPlanModel;\n selectedPeriod: PaymentPeriodModel;\n selectedPrice: PaymentPriceModel;\n handlePriceSelect: Function;\n priceType?: PaymentPriceType;\n}\n\nexport const PaymentSummaryComponent: React.FC = (props: PaymentSummaryComponentProps) => {\n const {\n selectedPlan,\n selectedPeriod,\n selectedPrice,\n handlePriceSelect,\n priceType = PaymentPriceType.Default\n } = props;\n\n const commonClasses = commonUseStyles();\n const prices = selectedPeriod.prices;\n const annualPrice = getCorrespondingPrice(prices, PaymentStrategy.FullPayment, priceType);\n const monthlyPrice = getCorrespondingPrice(prices, PaymentStrategy.PartialPayment, priceType);\n\n const displayPaymentPrice = (price: PaymentPriceModel) => {\n if (price.isExclusive) {\n return price.strategy === PaymentStrategy.FullPayment\n ? 'Pay in Total (COUPON DISCOUNT)'\n : `${displayMoney(price.price, '$')} Monthly (COUPON DISCOUNT)`;\n }\n\n if (price.strategy === PaymentStrategy.PartialPayment) {\n return price.discount\n ? `${displayMoney(price.price, '$')} Monthly (SAVE ${displayMoney(price.discount, '$')})`\n : `${displayMoney(price.price, '$')} Monthly`;\n }\n\n if (price.strategy === PaymentStrategy.FullPayment) {\n return price.discount\n ? `Pay in Total (SAVE ${displayMoney(price.discount, '$')})`\n : `Pay in Total`;\n }\n\n return displayMoney(price.price, '$');\n }\n\n return (\n \n \n \n Summary\n \n \n \n Selected Plan\n \n \n {selectedPlan.displayName}\n \n \n \n \n \n \n Charged Upon Purchase\n \n \n \n handlePriceSelect(Number(event.target.value))}>\n {\n annualPrice &&\n } label={displayPaymentPrice(annualPrice)} />\n }\n {\n monthlyPrice &&\n } label={displayPaymentPrice(monthlyPrice)} />\n }\n \n \n \n {\n selectedPrice.startupFee > 0 &&\n \n \n \n {displayMoney(selectedPrice.startupFee, '$')} Startup Fee Added During Purchase\n \n \n \n }\n \n \n \n {\n selectedPrice.isAutoRenewal &&\n \n \n *All plans auto-renew at the end of 12 months unless cancelled at least 30 days prior to renewal*\n \n \n }\n \n \n )\n};","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { stringLengthValidationRule, notIncludeWhitespaceValidationRule } from \"../../../common/validation/general-validation-rules\";\n\nexport const applyCouponCodeValidator = new GeneralValidator({\n 'couponCode': [notIncludeWhitespaceValidationRule(), stringLengthValidationRule(1, 32, \"Enter a valid promotional code\")]\n});","import React from 'react';\nimport {Box, TextField} from \"@material-ui/core\";\nimport {useFacade} from \"./applyPaymentCouponComponent.hooks\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\n\ninterface PaymentCouponComponentProps {\n handleCouponChanges: Function;\n applyCoupon: Function;\n couponCode: string;\n}\n\nexport const ApplyPaymentCouponComponent: React.FC = (props: PaymentCouponComponentProps) => {\n const [\n {\n model,\n errors\n },\n handleCouponChanges,\n handleCouponApply\n ] = useFacade(props.couponCode, props.applyCoupon);\n\n return (\n <>\n \n \n handleCouponChanges(event.target.value)}\n />\n \n\n \n handleCouponApply()} >\n Apply\n \n \n \n \n )\n};","import React, { useState } from 'react';\nimport { SelectFellowshipRoleComponent } from \"../../components/selectFellowshipRole/SelectFellowshipRoleComponent\";\nimport { SelectFellowshipPlanComponent } from \"../../components/selectFellowshipPlan/SelectFellowshipPlanComponent\";\nimport { FellowshipCheckoutComponent } from \"../../components/fellowshipCheckout/FellowshipCheckoutComponent\";\n\nexport enum FellowshipRegistrationStep {\n Role = 1,\n Plan = 2,\n Checkout = 3\n}\n\ninterface StepItemModel {\n key: FellowshipRegistrationStep;\n label: string;\n}\n\nconst steps = [\n {\n key: FellowshipRegistrationStep.Role,\n label: \"Select Role\",\n },\n {\n key: FellowshipRegistrationStep.Plan,\n label: \"Select Plan\",\n },\n {\n key: FellowshipRegistrationStep.Checkout,\n label: \"Confirm Purchase\",\n },\n] as StepItemModel[];\n\ninterface FellowshipGetStartedPageState {\n steps: StepItemModel[];\n currentStep: StepItemModel;\n}\n\nexport function useFacade(): [\n FellowshipGetStartedPageState,\n Map\n] {\n const [state, setState] = useState({\n steps: steps,\n currentStep: steps[0]\n } as FellowshipGetStartedPageState);\n\n const handleGoNext = () => {\n const currentIndex = state.steps.indexOf(state.currentStep);\n\n if(currentIndex + 1 === state.steps.length) {\n return;\n }\n\n setState({...state, currentStep: state.steps[currentIndex + 1]})\n }\n\n const handleGoBack = () => {\n const currentIndex = state.steps.indexOf(state.currentStep);\n\n if(currentIndex === 0) {\n return;\n }\n\n setState({...state, currentStep: state.steps[currentIndex - 1]})\n }\n\n\n const StepsContent = new Map([\n [FellowshipRegistrationStep.Role, ],\n [FellowshipRegistrationStep.Plan, ],\n [FellowshipRegistrationStep.Checkout, ]\n ]);\n\n return [\n state,\n StepsContent\n ];\n}","import {IErrorState} from \"../../../common/validation/error-state\";\nimport {useState} from \"react\";\nimport {CouponCodeModel} from \"../../models/paymentCoupon.model\";\nimport {applyCouponCodeValidator} from \"./applyPaymentCoupon.validator\";\n\n\ninterface ApplyPaymentCouponState extends IErrorState {\n model: CouponCodeModel;\n}\n\nexport function useFacade(couponCode: string, applyCoupon: Function): [ApplyPaymentCouponState, Function, Function] {\n const [state, setState] = useState({\n model: {\n couponCode: couponCode ?? ''\n },\n errors: {}\n } as ApplyPaymentCouponState);\n\n const handleCouponChanges = (value: string) => {\n state.model.couponCode = value;\n setState({\n ...state,\n model: {...state.model}\n });\n\n applyCouponCodeValidator.validateAndSetState(state, setState, \"couponCode\", state.model.couponCode);\n }\n\n const handleCouponApply = () => {\n applyCouponCodeValidator.validateAndSetState(state, setState, \"couponCode\", state.model.couponCode);\n if (applyCouponCodeValidator.stateIsValid(state)) {\n applyCoupon(state.model.couponCode);\n }\n };\n\n return [state, handleCouponChanges, handleCouponApply];\n}","import React from 'react';\nimport {Box, Card, CardContent} from \"@material-ui/core\";\nimport paymentCouponIcon from '@img/paymentCouponIcon.png';\nimport commonUseStyles from '../../../common/styles/common.styles';\n\ninterface PaymentCouponAppliedComponentProps {\n paymentCoupon : string;\n}\n\nexport const PaymentCouponAppliedComponent: React.FC = (props: PaymentCouponAppliedComponentProps) => {\n const { paymentCoupon } = props;\n const commonClasses = commonUseStyles();\n \n return (\n <>\n \n \n \n \n \"img\"/\n \n \n '{paymentCoupon}' has been applied!\n \n \n \n \n \n )\n};","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 2,\n },\n }\n}));","import {\n Box,\n FormControl,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField,\n IconButton,\n InputAdornment,\n OutlinedInput,\n} from '@material-ui/core';\nimport moment from \"moment\";\nimport React from 'react';\nimport { phoneNumberInput } from '../../../common/components/PhoneNumberInput';\nimport DateFnsUtils from '@date-io/moment';\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\nimport { Gender, User } from '../../../common/models/user.models';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\nimport { useStyles } from \"./patientInfoComponent.styles\";\n\ninterface PatientInfoComponentProps extends IErrorState {\n payer: User;\n handleChanges: (field: string, value: any) => void;\n displayLoginInfo?: boolean,\n readonlyFields: string[],\n hiddenFields: string[]\n}\n\nexport const PatientInfoComponent: React.FC = (props: PatientInfoComponentProps) => {\n const {\n payer,\n handleChanges,\n errors,\n hiddenFields,\n readonlyFields,\n displayLoginInfo = true\n } = props;\n\n const [state, setState] = React.useState({\n showPassword: false,\n });\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const getBirthday = () => {\n return payer.birthday\n ? moment(payer.birthday).format('YYYY-MM-DD')\n : null\n }\n\n const handleClickShowPassword = () => {\n setState({ ...state, showPassword: !state.showPassword });\n };\n\n return (\n
\n {\n displayLoginInfo &&\n <>\n \n \n \n }\n \n \n \n \n \n \n\n \n \n \n
\n )\n}\n","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 2,\n },\n }\n}));","import { Box, TextField, FormControl, FormHelperText, InputAdornment, OutlinedInput, IconButton } from '@material-ui/core';\nimport React from 'react';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport Visibility from '@material-ui/icons/Visibility';\nimport VisibilityOff from '@material-ui/icons/VisibilityOff';\nimport { useStyles } from \"./loginInfoComponent.styles\";\n\ninterface LoginInfoComponentProps extends IErrorState {\n handleChanges: (field: string, value: any) => void;\n}\n\nexport const LoginInfoComponent: React.FC = (props: LoginInfoComponentProps) => {\n const { handleChanges, errors } = props;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const [state, setState] = React.useState({\n showPassword: false,\n showConfirmPassword: false,\n });\n\n const handleClickShowPassword = () => {\n setState({ ...state, showPassword: !state.showPassword });\n };\n\n const handleClickShowConfirmPassword = () => {\n setState({ ...state, showConfirmPassword: !state.showConfirmPassword });\n };\n\n return (\n
\n \n Email\n handleChanges(v.target.id, v.target.value)}\n />\n \n \n \n Password\n handleChanges(v.target.id, v.target.value)}\n endAdornment={\n \n \n {state.showPassword ? : }\n \n \n }\n />\n {errors[`password`]}\n \n \n \n \n Confirm Password\n handleChanges(v.target.id, v.target.value)}\n endAdornment={\n \n \n {state.showConfirmPassword ? : }\n \n \n }\n />\n {errors[`confirmPassword`]}\n \n \n
\n )\n}\n","import {\n Box,\n FormControl,\n FormHelperText,\n Grid, MenuItem,\n Select,\n TextField\n} from '@material-ui/core';\nimport React from 'react';\nimport { SelectAddOnsCardComponent } from \"../../../addons/components/SelectAddOnsCardComponent/SelectAddOnsCardComponent\";\nimport { UpdateAddressForm } from \"../../../common/components/updateAddressForm/UpdateAddressForm\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { useFacade } from \"./fellowshipCheckoutComponent.hooks\";\nimport { useStyles } from './FellowshipCheckoutComponent.styles';\nimport { BillingSummaryComponent } from \"../../../payment/components/billingSummaryComponent/BillingSummaryComponent\";\nimport { AgreementDialog } from \"../../../payment/components/viewAgreementsDialog/ViewAgreementsDialog\";\nimport { PaymentSummaryComponent } from \"../../../payment/components/paymentSummaryComponent/PaymentSummaryComponent\";\nimport { ApplyPaymentCouponComponent } from \"../../../payment/components/paymentCouponComponent/ApplyPaymentCouponComponent\";\nimport { PaymentCouponAppliedComponent } from \"../../../payment/components/paymentCouponComponent/PaymentCouponAppliedComponent\";\nimport { PatientInfoComponent } from \"../../../payment/components/patientInfoComponent/PatientInfoComponent\";\nimport { LoginInfoComponent } from \"../../../payment/components/loginInfoComponent/LoginInfoComponent\";\n\ninterface FellowshipCheckoutComponentProps {\n goBack: () => void\n}\n\nexport const FellowshipCheckoutComponent: React.FC = (props: FellowshipCheckoutComponentProps) => {\n const { goBack } = props;\n const [\n {\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n publicKey,\n addOns,\n couponCode,\n isCouponApplied,\n payer,\n errors,\n leadSources,\n selectedLeadSource\n },\n handlePriceSelect,\n handleChanges,\n renderPaymentForm,\n renderRecaptcha,\n handleToggleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n handleLeadSourceChanges\n ] = useFacade(goBack);\n\n const classes = useStyles();\n\n const displayOtherLeadSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId);\n if (leadSource === undefined || !leadSource.isOther)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const renderContent = (): JSX.Element => {\n if (!publicKey) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n\n \n \n \n \n

Patient Information

\n
\n
\n \n \n \n
\n\n \n \n

Portal Login Information

\n
\n \n \n \n
\n\n \n \n

Billing Address

\n
\n \n \n \n
\n\n {\n !paymentPlan?.isFounder &&\n \n \n \n

How did you hear about us?

\n
\n \n \n handleLeadSourceChanges(\"selectedLeadSource.leadSourceId\", v.target.value.toString())}>\n {\n leadSources.map((source, i) => {\n return {source.name}\n })\n }\n \n {errors[`selectedLeadSource.leadSourceId`]}\n \n \n {\n displayOtherLeadSource()\n }\n
\n
\n }\n\n \n \n

Promotional code

\n
\n \n {\n !isCouponApplied &&\n \n }\n {\n isCouponApplied &&\n \n }\n \n
\n\n \n \n

Billing Summary

\n
\n \n \n \n
\n\n \n \n

Payment Information

\n
\n \n {renderPaymentForm()}\n \n
\n
\n \n \n \n \n \n {\n !paymentPlan.isTrial &&\n \n }\n \n \n
\n
\n\n {renderRecaptcha()}\n\n \n
\n );\n }\n\n return (\n \n {renderContent()}\n \n )\n}","import React from 'react';\nimport { Box, Step, StepLabel, Stepper } from '@material-ui/core';\nimport { FellowshipStepConnector, FellowshipStepIcon } from \"./fellowshipStepper\";\nimport { useStyles } from \"./FellowshipGetStartedPage.styles\";\nimport { useFacade } from \"./fellowshipGetStartedPage.hooks\";\nimport { logoService } from '../../../../services/logo.service';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport const FellowshipGetStartedPage: React.FC = (props: any) => {\n const [\n {\n steps,\n currentStep,\n },\n StepsContent\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n return (\n
\n \n \n \n \"img\"\n \n \n }\n orientation=\"vertical\"\n classes={{\n root: classes.stepper\n }}\n >\n {\n steps.map((step, index) => (\n \n \n {step.label}\n \n \n ))\n }\n \n \n \n \n \n \n Wild Health Fellowship Registration\n \n {\n StepsContent.get(currentStep.key)\n }\n \n
\n );\n}\n\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nconst stepperBackground = '#fdfdfd';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: colors.white,\n display: 'flex',\n minHeight: '100vh',\n },\n logo: {\n width: 160,\n maxHeight: 50,\n },\n sidebar: {\n height: '100vh',\n position: 'sticky',\n top: 0,\n width: '20%',\n backgroundColor: stepperBackground,\n borderRight: `1px solid ${colors.gray3}`\n },\n stepper: {\n backgroundColor: stepperBackground,\n },\n content: {\n width: '100%',\n fontSize: 16,\n fontWeight: 400,\n fontStretch: 'normal',\n fontStyle: 'normal',\n lineHeight: 1.57,\n letterSpacing: 0.53\n }\n }),\n);","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n selectCard: {\n width: '100%',\n border: `1px solid ${colors.stroke}`,\n boxShadow: '0px 4px 9px 0px rgb(168, 173, 198, 0.15)',\n height: 65,\n cursor: 'pointer',\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n fontWeight: 500\n },\n selectCardActive: {\n backgroundColor: colors.lightGray,\n border: `1px solid ${colors.accent1}`\n },\n undoDeleteBox: {\n backgroundColor: '#373d3f',\n color: colors.white,\n height: 48\n },\n undoDelete: {\n textDecoration: 'underline',\n cursor: 'pointer'\n }\n }),\n);","import { Gender } from \"../../../common/models/user.models\";\nimport { birthdayValidationRule, emailValidationRule, firstNameValidationRule, functionValidationRule, lastNameValidationRule, notEmptyValidationRule, notWhitespaceValidationRule, optionalValidation, phoneNumberValidationRule } from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const createPracticumPatientValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [birthdayValidationRule],\n 'phoneNumber': [optionalValidation('', [phoneNumberValidationRule])],\n 'fellowId': [notEmptyValidationRule(\"Please, select a fellow.\")],\n 'gender': [functionValidationRule((value) => {\n //here should be '=='. Dont replace.\n /* eslint-disable */\n if (value == Gender.Female) return true;\n /* eslint-disable */\n return value == Gender.Male;\n }, \"Gender should be selected.\")],\n});\n","import { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router';\nimport { Subscription } from 'recompose';\nimport { navigationService } from '../../../../services/navigation.service';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { IErrorState } from '../../../common/validation/error-state';\nimport { FellowShortModel } from '../../../employee/models/employee.models';\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { employeesQuery } from '../../../employee/stores/employeesStore';\nimport { patientsService } from '../../../patients/services/patients.service';\nimport { FellowRoleType, FellowRoleSubmissionType } from '../../models/fellowship.enums';\nimport { PracticumPatientCreateModel } from '../../models/fellowship.model';\nimport { createPracticumPatientValidator } from './createPracticumPatient.validator';\nimport { PatientStartRegistrationModel } from \"../../../patients/models/patient.model\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\ninterface SelectFellowshipRoleComponentState extends IErrorState {\n selectedRole: FellowRoleType | null;\n selectedFellowRoleSubmission: FellowRoleSubmissionType | null;\n isLoading: boolean;\n pmFellows: FellowShortModel[];\n quarterFellows: FellowShortModel[];\n selectedPatientFellowId: number | null;\n selectedQuarterDate: Date;\n selectedLinkingFellowId: number | null;\n practicumPatients: PracticumPatientCreateModel[];\n}\n\nconst getEmptyPracticumPatient = (number: number): PracticumPatientCreateModel => {\n return {\n fellowId: null,\n firstName: null,\n lastName: null,\n birthday: null,\n phoneNumber: null,\n email: null,\n gender: null,\n deleted: false,\n number: number,\n } as PracticumPatientCreateModel\n}\n\nexport function useFacade(): [\n SelectFellowshipRoleComponentState,\n () => void,\n (practicumPatientNumber: number) => void,\n (practicumPatientNumber: number) => void,\n (practicumPatientNumber: number, value: any, field: string) => void,\n () => void,\n () => boolean,\n] {\n const [state, setState] = useState({\n selectedRole: FellowRoleType.Fellow,\n selectedFellowRoleSubmission: FellowRoleSubmissionType.SubmitPracticumPatient,\n isLoading: false,\n pmFellows: [],\n quarterFellows: [],\n selectedQuarterDate: null,\n selectedPatientFellowId: null,\n selectedLinkingFellowId: null,\n practicumPatients: [getEmptyPracticumPatient(1)],\n errors: {}\n } as SelectFellowshipRoleComponentState);\n\n const history = useHistory();\n\n const handleCreatePracticumPatient = () => {\n setState({\n ...state,\n practicumPatients: state.practicumPatients.concat([getEmptyPracticumPatient(state.practicumPatients.length + 1)])\n })\n }\n\n const handleDeletePracticumPatient = (practicumPatientNumber: number) => {\n setState({\n ...state,\n practicumPatients: state.practicumPatients.map(patient => patient.number === practicumPatientNumber ? {\n ...patient,\n deleted: true\n } : patient)\n });\n removePracticumPatientErrors(practicumPatientNumber);\n }\n\n const handleUndoDeletePracticumPatient = (practicumPatientNumber: number) => {\n setState({\n ...state,\n practicumPatients: state.practicumPatients.map(patient => patient.number === practicumPatientNumber ? {\n ...patient,\n deleted: false\n } : patient)\n });\n }\n\n const handlePracticumPatientChanges = (practicumPatientNumber: number, value: any, field: string) => {\n const practicumPatient = state.practicumPatients.find(x => x.number === practicumPatientNumber);\n\n practicumPatient[field] = value;\n\n createPracticumPatientValidator.validateAndSetState(state, setState, field, value, practicumPatientNumber.toString());\n\n setState({ ...state, practicumPatients: state.practicumPatients });\n }\n\n const removePracticumPatientErrors = (practicumPatientNumber: number) => {\n Object.keys(state.errors).forEach(key => {\n if (key.slice(key.length - 1) === practicumPatientNumber.toString()) {\n delete state.errors[key];\n }\n });\n }\n\n const validatePracticumPatient = (practicumPatient: PracticumPatientCreateModel) => {\n createPracticumPatientValidator.validateObjectAndSetState(state, setState, practicumPatient, practicumPatient.number.toString())\n }\n\n const handleSubmitPracticumPatients = () => {\n state.practicumPatients.filter(x => !x.deleted).forEach(patient => {\n validatePracticumPatient(patient);\n });\n\n if (createPracticumPatientValidator.stateIsValid(state)) {\n setState({ ...state, isLoading: true });\n const patients = state.practicumPatients.filter(x => !x.deleted).map((x) => ({\n practiceId: authQuery.getCurrentPracticeId(),\n fellowId: x.fellowId,\n firstName: x.firstName,\n lastName: x.lastName,\n email: x.email,\n birthday: x.birthday,\n phoneNumber: x.phoneNumber,\n gender: +x.gender\n } as PatientStartRegistrationModel));\n\n patientsService.startRegistration(patients).subscribe(() => {\n setState({ ...state, isLoading: false });\n navigationService.toFellowshipSubmissionReceived(history);\n },\n () => setState({ ...state, isLoading: false }))\n }\n }\n\n const canGoNext = (): boolean => {\n return (state.selectedRole === FellowRoleType.Fellow && state.selectedFellowRoleSubmission === FellowRoleSubmissionType.RegisterAsPatient && state.selectedLinkingFellowId !== null) ||\n (state.selectedRole === FellowRoleType.Fellow && state.selectedFellowRoleSubmission === FellowRoleSubmissionType.SubmitPracticumPatient && state.practicumPatients.filter(x => !x.deleted).length > 0) ||\n (state.selectedRole === FellowRoleType.FellowPatient && state.selectedPatientFellowId !== null);\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(employeesQuery.fellowsPublicInfo$, fellows => {\n setState(state => ({ ...state, pmFellows: fellows.filter(x => new Date(x.createdAt) >= new Date(\"2022-07-01\")) }));\n })\n ];\n\n employeeService.getActiveFellowsPublicInfo(authQuery.getCurrentPracticeId());\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleCreatePracticumPatient,\n handleDeletePracticumPatient,\n handleUndoDeletePracticumPatient,\n handlePracticumPatientChanges,\n handleSubmitPracticumPatients,\n canGoNext\n ];\n}","import React from 'react';\nimport moment from 'moment';\nimport { Box, FormControl, FormHelperText, IconButton, MenuItem, Select, TextField, Grid } from '@material-ui/core';\nimport { FellowShortModel } from '../../../employee/models/employee.models';\nimport { PracticumPatientCreateModel } from '../../models/fellowship.model';\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport { Remove } from '@material-ui/icons';\nimport { phoneNumberInput } from '../../../common/components/PhoneNumberInput';\nimport { Gender } from '../../../common/models/user.models';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\nimport { useStyles } from \"./SelectFellowShipRoleComponent.styles\";\nimport { fullName } from '../../../common/helpers/display-name';\n\n\ninterface CreatePracticumPatientFormProps {\n practicumPatient: PracticumPatientCreateModel;\n fellows: FellowShortModel[];\n handleChanges: Function,\n handleDelete: Function,\n errors: { [id: string]: string; };\n}\n\nexport const CreatePracticumPatientForm: React.FC = (props: CreatePracticumPatientFormProps) => {\n const {\n practicumPatient,\n fellows,\n handleChanges,\n handleDelete,\n errors\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const getBirthday = () => {\n return practicumPatient.birthday\n ? moment(practicumPatient.birthday).format('YYYY-MM-DD')\n : null\n }\n\n return (\n \n \n \n Patient {practicumPatient.number}\n \n \n handleDelete(practicumPatient.number)}\n >\n \n \n \n \n \n Select Your Name\n \n {\n if (practicumPatient.fellowId === null) {\n return Please Select Your Name;\n }\n\n return fullName(fellows.find((f) => f.id === practicumPatient.fellowId));\n }}\n displayEmpty\n onChange={(event) => handleChanges(practicumPatient.number, event.target.value as number, \"fellowId\")}\n disabled={!fellows.length}\n >\n {\n fellows.map((fellow, index) =>\n \n {fullName(fellow)}\n \n )\n }\n \n {errors[`fellowId${practicumPatient.number}`]}\n \n \n \n \n \n Patient First Name\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n Patient Last name\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n \n \n \n \n Patient Date of Birth\n \n \n handleChanges(practicumPatient.number, momentDate.format(\"YYYY-MM-DD\"), \"birthday\")\n }\n />\n {errors[`birthday${practicumPatient.number}`]}\n \n \n \n Patient Phone Number (Optional)\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n \n \n \n \n Preferred Patient Email\n {\n handleChanges(practicumPatient.number, v.target.value, v.target.id)\n }}\n />\n \n \n Select Assigned Sex at Birth\n \n {\n if (practicumPatient.gender === Gender.None || practicumPatient.gender === null) {\n return Please Select;\n }\n\n return Gender[practicumPatient.gender];\n }}\n displayEmpty\n onChange={(v) => handleChanges(practicumPatient.number, v.target.value.toString(), \"gender\")}\n >\n {Gender[Gender.Male]}\n {Gender[Gender.Female]}\n \n {errors[`gender${practicumPatient.number}`]}\n \n \n \n \n \n );\n}","import React, { useState } from 'react';\nimport { SelectPMFellowshipRoleComponent } from \"../../components/selectPMFellowshipRole/SelectFellowshipRoleComponent\";\nimport { SelectFellowshipPlanComponent } from \"../../components/selectFellowshipPlan/SelectFellowshipPlanComponent\";\nimport { FellowshipCheckoutComponent } from \"../../components/fellowshipCheckout/FellowshipCheckoutComponent\";\n\nexport enum FellowshipRegistrationStep {\n Role = 1,\n Plan = 2,\n Checkout = 3\n}\n\ninterface StepItemModel {\n key: FellowshipRegistrationStep;\n label: string;\n}\n\nconst steps = [\n {\n key: FellowshipRegistrationStep.Role,\n label: \"Select Role\",\n },\n {\n key: FellowshipRegistrationStep.Plan,\n label: \"Select Plan\",\n },\n {\n key: FellowshipRegistrationStep.Checkout,\n label: \"Confirm Purchase\",\n },\n] as StepItemModel[];\n\ninterface FellowshipGetStartedPageState {\n steps: StepItemModel[];\n currentStep: StepItemModel;\n}\n\nexport function useFacade(): [\n FellowshipGetStartedPageState,\n Map\n] {\n const [state, setState] = useState({\n steps: steps,\n currentStep: steps[0]\n } as FellowshipGetStartedPageState);\n\n const handleGoNext = () => {\n const currentIndex = state.steps.indexOf(state.currentStep);\n\n if (currentIndex + 1 === state.steps.length) {\n return;\n }\n\n setState({ ...state, currentStep: state.steps[currentIndex + 1] })\n }\n\n const handleGoBack = () => {\n const currentIndex = state.steps.indexOf(state.currentStep);\n\n if (currentIndex === 0) {\n return;\n }\n\n setState({ ...state, currentStep: state.steps[currentIndex - 1] })\n }\n\n\n const StepsContent = new Map([\n [FellowshipRegistrationStep.Role, ],\n [FellowshipRegistrationStep.Plan, ],\n [FellowshipRegistrationStep.Checkout, ]\n ]);\n\n return [\n state,\n StepsContent\n ];\n}","import React from 'react';\nimport clsx from 'clsx';\nimport { Box, IconButton } from '@material-ui/core';\nimport { useStyles } from \"./SelectFellowShipRoleComponent.styles\";\nimport { useFacade } from \"./selectFellowshipRoleComponent.hooks\";\nimport { CreatePracticumPatientForm } from \"./CreatePracticumPatientForm\";\nimport { Add } from '@material-ui/icons';\nimport { FellowshipRegistrationNextButton } from \"../fellowshipRegistrationButton/FellowshipRegistrationNextButton\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\n\ninterface SelectFellowshipRoleComponentProps {\n goNext: () => void\n}\n\nexport const SelectPMFellowshipRoleComponent: React.FC = (props: SelectFellowshipRoleComponentProps) => {\n const {\n goNext\n } = props;\n\n const [\n {\n pmFellows,\n isLoading,\n practicumPatients,\n errors\n },\n handleCreatePracticumPatient,\n handleDeletePracticumPatient,\n handleUndoDeletePracticumPatient,\n handlePracticumPatientChanges,\n handleSubmitPracticumPatients,\n canGoNext\n ] = useFacade()\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const renderPracticumPatients = (): JSX.Element => {\n return (\n \n \n

Practicum Patient

\n
\n {\n practicumPatients.filter(x => !x.deleted).map((patient, index) => (\n \n \n \n ))\n }\n \n \n \n handleCreatePracticumPatient()}\n >\n \n \n \n \n Add Another Patient\n \n \n \n {\n practicumPatients.filter(x => x.deleted).map((patient, index) => (\n \n \n Patient {patient.number} Deleted\n \n handleUndoDeletePracticumPatient(patient.number)}\n >\n Undo\n \n \n ))\n }\n \n
\n \n );\n }\n\n const renderContent = (): JSX.Element => {\n if (!pmFellows || !pmFellows.length) {\n return (\n \n \n \n )\n }\n\n return (\n <>\n \n {\n renderPracticumPatients()\n }\n \n \n \n \n \n );\n }\n return (\n \n {\n renderContent()\n }\n \n );\n}","import React from 'react';\nimport { Box } from '@material-ui/core';\nimport { useStyles } from \"./pmFellowshipGetStartedPage.styles\";\nimport { useFacade } from \"./pmFellowshipGetStartedPage.hooks\";\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport const PMFellowshipGetStartedPage: React.FC = (props: any) => {\n const [\n {\n currentStep,\n },\n StepsContent\n ] = useFacade();\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n return (\n
\n \n \n Practicum Patient Submission\n \n {\n StepsContent.get(currentStep.key)\n }\n \n
\n );\n}\n\n","import React from \"react\";\nimport { WildHealthPlaceHolderBase } from \"./WildHealthPlaceHolderBase\";\nimport { useStyles } from \"./commonPlaceHolder.styles\";\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { ImageConstants } from '../../../../constants/image.constants';\n\nexport interface FellowshipRosterPlaceHolderProps {\n message: string;\n}\n\nexport const FellowshipRosterPlaceHolder: React.FC = (props: FellowshipRosterPlaceHolderProps) => {\n const classes = useStyles();\n\n return (\n \n \"img\"\n \n );\n}\n","import {\n emailValidationRule,\n firstNameValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n stringLengthValidationRule,\n phoneNumberValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const addFellowButtonComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'credentials': [stringLengthValidationRule(0, 100), notWhitespaceValidationRule()],\n 'phoneNumber': [phoneNumberValidationRule],\n});\n","import { useState } from \"react\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { employeeService } from \"../../../employee/services/employees.service\";\nimport { addFellowButtonComponentValidator } from \"./addFellowButtonComponent.validator\";\nimport { CreateFellowModel } from \"../../../employee/models/employee.models\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { useHistory } from \"react-router\";\n\ninterface AddFellowButtonComponentState extends IErrorState {\n isLoading: boolean;\n isOpen: boolean;\n fellow: CreateFellowModel;\n}\n\nconst initModel: CreateFellowModel = {\n firstName: '',\n lastName: '',\n email: '',\n phoneNumber: '',\n credentials: '',\n rosterId: 0\n};\n\n/**\n * Custom Hook to manage a view Model for Notifications component\n */\nexport function useFacade(rosterId: number): [\n AddFellowButtonComponentState,\n (field: string, value: any) => void,\n () => void,\n () => void,\n () => void\n] {\n\n const [state, setState] = useState({\n isLoading: false,\n isOpen: false,\n fellow: Object.assign({}, initModel),\n errors: {}\n } as AddFellowButtonComponentState);\n const history = useHistory();\n\n const handleChanges = (field: string, value: any) => {\n addFellowButtonComponentValidator.validateAndSetState(state, setState, field, value);\n\n const fellow = state.fellow;\n\n fellow[field] = value;\n\n setState({\n ...state,\n fellow: fellow\n });\n }\n\n const handleOpen = () => {\n setState(state => ({\n ...state,\n isOpen: true,\n errors: {},\n fellow: {\n ...state.fellow,\n }\n }));\n }\n\n const handleUpdateDateHistory = () => {\n navigationService.toFellowship(history, rosterId)\n }\n\n const handleCreate = () => {\n addFellowButtonComponentValidator.validateObjectAndSetState(state, setState, state.fellow);\n if (!addFellowButtonComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({\n ...state,\n isLoading: true,\n }));\n \n employeeService.createFellow({...state.fellow, rosterId: rosterId}).subscribe(() => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n isLoading: false,\n fellow: Object.assign({}, initModel)\n }));\n handleUpdateDateHistory();\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false,\n }));\n })\n }\n\n const handleClose = () => {\n setState(state => ({\n ...state,\n errors: {},\n isOpen: false,\n fellow: Object.assign({}, initModel)\n }));\n }\n\n return [\n state,\n handleChanges,\n handleCreate,\n handleOpen,\n handleClose\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialogContent: {\n padding: '30px 40px',\n width: 540,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n }\n }),\n);\n","import {\n Box,\n Dialog,\n DialogContent,\n IconButton,\n TextField\n} from \"@material-ui/core\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./addFellowButtonComponent.hooks\";\nimport { useStyles } from \"./addFellowButtonComponent.styles\";\nimport { phoneNumberInput } from '../../../common/components/PhoneNumberInput';\nimport commonUseStyles from '../../../common/styles/common.styles';\n\ninterface AddFellowButtonComponentProps {\n locationId?: number;\n rosterId: number;\n}\n\nexport const AddFellowButtonComponent: React.FC = (props: AddFellowButtonComponentProps) => {\n const [\n {\n isLoading,\n isOpen,\n fellow,\n errors,\n },\n handleChanges,\n handleCreate,\n handleOpen,\n handleClose,\n ] = useFacade(props.rosterId);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n return (\n <>\n handleOpen()}\n >\n Add Fellow\n \n\n handleClose()}\n className={classes.root}\n open={isOpen}\n >\n \n \n \n Add Fellow\n \n \n handleClose()}\n >\n \n \n \n \n \n First Name\n handleChanges('firstName', event.target.value)}\n />\n \n \n Last Name\n handleChanges('lastName', event.target.value)}\n />\n \n \n Credentials\n handleChanges('credentials', event.target.value)}\n />\n \n \n Fellow’s Email\n handleChanges('email', event.target.value)}\n />\n \n \n Phone Number\n handleChanges('phoneNumber', event.target.value)}\n />\n \n \n \n handleClose()}\n color=\"tertiary\"\n size='medium'\n disabled={isLoading}\n >\n Cancel\n \n \n \n \n Add Fellow\n \n \n \n \n \n \n );\n}\n","import {\n emailValidationRule, firstNameValidationRule, lastNameValidationRule, notWhitespaceValidationRule, stringLengthValidationRule,\n phoneNumberValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { GeneralValidator } from \"../../../common/validation/general-validator\";\n\nexport const updateFellowComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'credentials': [stringLengthValidationRule(0, 100), notWhitespaceValidationRule()],\n 'phoneNumber': [phoneNumberValidationRule],\n});\n","import { useEffect, useState } from \"react\";\nimport { authService } from \"../../../auth/services/auth.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { FellowModel, UpdateFellowModel } from \"../../../employee/models/employee.models\";\nimport { employeeService } from \"../../../employee/services/employees.service\";\nimport { updateFellowComponentValidator } from \"./updateFellowComponent.validator\";\n\ninterface UpdateFellowComponentState extends IErrorState {\n fellow: UpdateFellowModel;\n isLoading: boolean;\n}\n\nconst initModel: UpdateFellowModel = {\n id: 0,\n firstName: '',\n lastName: '',\n email: '',\n credentials: '',\n phoneNumber: '',\n rosterId: 0,\n};\n\n/**\n * Custom Hook to manage a view Model for Notifications component\n */\nexport function useFacade(\n selectedFellow: FellowModel,\n isOpen: boolean,\n selfManagingEmployee: boolean,\n handleToggleDialog: (value: boolean) => void\n): [\n UpdateFellowComponentState,\n (field: string, value: any) => void,\n () => void\n ] {\n\n const [state, setState] = useState({\n fellow: initModel,\n errors: {},\n isLoading: false,\n } as UpdateFellowComponentState);\n\n const handleChanges = (field: string, value: any) => {\n updateFellowComponentValidator.validateAndSetState(state, setState, field, value);\n\n const fellow = state.fellow;\n\n fellow[field] = value;\n\n setState({ ...state, fellow });\n }\n\n const handleUpdate = () => {\n updateFellowComponentValidator.validateObjectAndSetState(state, setState, state.fellow);\n if (!updateFellowComponentValidator.stateIsValid(state)) {\n return;\n }\n\n if (state.isLoading) {\n return;\n }\n\n setState((state) => ({\n ...state,\n isLoading: true\n }));\n\n const cb = () => {\n setState((state) => ({\n ...state,\n errors: {},\n fellow: Object.assign({}, initModel),\n isLoading: false\n }));\n\n handleToggleDialog(false);\n }\n\n const action = selfManagingEmployee ? () => { authService.reLogin(authQuery.getTargetLocationId()).subscribe(); cb(); } : cb;\n\n employeeService.updateFellow(state.fellow).subscribe(() => action(), () => {\n setState((state) => ({\n ...state,\n isLoading: false\n }));\n });\n }\n\n const useEffectCB = () => {\n if (isOpen) {\n setState((state) => ({\n ...state,\n errors: {},\n fellow: Object.assign({}, selectedFellow)\n }));\n }\n };\n\n useEffect(useEffectCB, [isOpen]);\n\n return [\n state,\n handleChanges,\n handleUpdate\n ];\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n borderColor: colors.gray4,\n borderRadius: 2,\n '& label.Mui-focused': {\n color: colors.main,\n },\n '& .MuiOutlinedInput-root': {\n '&.Mui-focused fieldset': {\n borderColor: colors.main,\n },\n borderColor: colors.gray4,\n borderRadius: 2,\n },\n },\n dialogContent: {\n padding: '30px 40px',\n width: 540,\n },\n dialogTitleCloseAction: {\n position: 'absolute',\n right: theme.spacing(1),\n top: theme.spacing(1),\n color: theme.palette.grey[500],\n },\n icon: {\n borderRadius: '50%',\n width: 24,\n height: 24,\n boxShadow: 'inset 0 0 0 1px rgba(24,22,26,.2), inset 0 -1px 0 rgba(24,22,26,.1)',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.8),hsla(0,0%,100%,0))',\n '$root.Mui-focusVisible &': {\n outline: '2px auto rgba(19,124,189,.6)',\n outlineOffset: 2,\n },\n 'input:hover ~ &': {\n backgroundColor: '#ebf1f5',\n },\n 'input:disabled ~ &': {\n boxShadow: 'none',\n background: 'rgba(206,217,224,.5)',\n },\n },\n checkedIcon: {\n backgroundColor: '#537b98',\n backgroundImage: 'linear-gradient(180deg,hsla(0,0%,100%,.1),hsla(0,0%,100%,0))',\n '&:before': {\n display: 'block',\n width: 24,\n height: 24,\n backgroundImage: 'radial-gradient(#fff,#fff 28%,transparent 32%)',\n content: '\"\"',\n },\n 'input:hover ~ &': {\n backgroundColor: colors.main,\n },\n },\n }),\n);\n","import {\n Box,\n Dialog,\n DialogContent,\n IconButton,\n TextField\n} from \"@material-ui/core\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport { useFacade } from \"./updateFellowComponent.hooks\";\nimport { useStyles } from \"./updateFellowComponent.styles\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { phoneNumberInput } from '../../../common/components/PhoneNumberInput';\nimport { FellowModel } from \"../../../employee/models/employee.models\";\n\nexport interface UpdateFellowComponentProps {\n selectedFellow: FellowModel;\n isOpen: boolean;\n selfManagingEmployee: boolean;\n handleToggleDialog: (value: boolean) => void;\n}\n\nexport const UpdateFellowComponent: React.FC = (props: UpdateFellowComponentProps) => {\n const { selectedFellow, isOpen, selfManagingEmployee, handleToggleDialog } = props;\n const [\n {\n fellow,\n errors,\n isLoading\n },\n handleChanges,\n handleUpdate\n ] = useFacade(selectedFellow, isOpen, selfManagingEmployee, handleToggleDialog);\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n return (\n <>\n handleToggleDialog(false)}\n className={classes.root}\n open={isOpen}\n >\n \n \n \n Edit Fellow\n \n \n handleToggleDialog(false)}\n >\n \n \n \n \n \n First Name\n handleChanges('firstName', event.target.value)}\n />\n \n \n Last Name\n handleChanges('lastName', event.target.value)}\n />\n \n \n Credentials\n handleChanges('credentials', event.target.value)}\n />\n \n \n Fellow’s Email\n handleChanges('email', event.target.value)}\n />\n \n \n Phone Number\n handleChanges('phoneNumber', event.target.value)}\n />\n \n \n \n handleToggleDialog(false)}\n color=\"tertiary\"\n size='medium'\n disabled={isLoading}\n >\n Cancel\n \n \n \n \n Edit Fellow\n \n \n \n \n \n \n );\n}\n","import { Box, Table, TableBody, TableContainer, TableHead, IconButton, ListItemIcon, Popover, Typography, FormControlLabel } from '@material-ui/core';\nimport React from 'react';\nimport { useFacade } from \"./fellowsComponent.hooks\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { FellowshipRosterPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/FellowshipRosterPlaceHolder\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { renderEmptyValue } from '../../../common/helpers/empty-value';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport MoreHorizIcon from '@material-ui/icons/MoreHoriz';\nimport EditIcon from '@material-ui/icons/Edit';\nimport DeleteIcon from '@material-ui/icons/Delete';\nimport { ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { AddFellowButtonComponent } from \"../addFellowButton/AddFellowButtonComponent\";\nimport { UpdateFellowComponent } from '../updateFellow/UpdateFellowComponent';\nimport { PermissionType } from \"../../../auth/models/auth.enums\";\nimport { WildHealthMenuItem } from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport { WildHealthLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { WildHealthSwitcher } from '../../../common/components/WIldHealthSwitcher';\n\nconst fellowActionPopoverProps: any = {\n id: \"fellowActionPopover\",\n anchorOrigin: {\n vertical: 'bottom',\n horizontal: 'right',\n },\n transformOrigin: {\n vertical: 'top',\n horizontal: 'right',\n },\n};\n\ninterface FellowsComponentProps {\n pmFellowship: boolean;\n rosterId: number;\n}\n\nexport const FellowsComponent: React.FC = (props: FellowsComponentProps) => {\n const { pmFellowship, rosterId } = props;\n const [\n {\n fellows,\n isLoading,\n selectedFellow,\n isEditOpen,\n selfManagingEmployee,\n currentEmployeeEmail,\n isFellowActionsOpen,\n fellowActionsAnchorEl,\n isRosterActive,\n },\n handleIsRosterActive,\n handleToggleFellowActions,\n handleToggleEditFellow,\n handleDeleteFellow,\n handleGoToFellowPatients,\n ] = useFacade(rosterId);\n\n const commonClasses = commonUseStyles();\n\n const renderTable = (): JSX.Element => {\n if (isLoading) {\n return ()\n }\n\n if (!fellows.length) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n \n \n Fellow Name\n Credentials\n Fellow's Email\n Phone Number\n {pmFellowship && }\n \n \n \n {\n fellows.map((fellow, index) =>\n \n \n handleGoToFellowPatients(fellow.id)}\n content={`${fellow.firstName} ${fellow.lastName}`}\n />\n \n {fellow.credentials && fellow.credentials.length ? fellow.credentials : renderEmptyValue(\"empty\")}\n {fellow.email}\n {fellow.phoneNumber && fellow.phoneNumber.length ? fellow.phoneNumber : renderEmptyValue(\"empty\")}\n {pmFellowship && (\n \n ) => handleToggleFellowActions(!isFellowActionsOpen, fellow.id, fellow.email, event.currentTarget)}\n >\n \n \n \n )}\n \n )\n }\n \n
\n
\n
\n )\n }\n\n return (\n \n \n \n Roster\n \n \n \n \n Inactive\n \n \n \n handleIsRosterActive()} />}\n label=\"\"\n />\n \n \n \n Active\n \n \n {pmFellowship && (\n \n }\n permissions={[PermissionType.ManageEmployees]}\n />\n \n )}\n \n \n {\n renderTable()\n }\n handleToggleEditFellow(value)}\n />\n handleToggleFellowActions(false, 0, currentEmployeeEmail, null)}\n >\n handleToggleEditFellow(true)}\n >\n \n \n \n \n Edit\n \n \n handleDeleteFellow()}\n >\n \n \n \n \n Delete\n \n \n \n }\n permissions={[PermissionType.ManageEmployees]}\n />\n \n )\n}","\nimport { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { FellowModel } from \"../../../employee/models/employee.models\";\nimport { employeeService } from '../../../employee/services/employees.service';\nimport { employeesQuery } from '../../../employee/stores/employeesStore';\nimport { confirmService } from '../../../../services/confirm.service';\nimport { authQuery } from '../../../auth/stores/auth';\nimport { useHistory } from \"react-router\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { rostersQuery } from \"../../../rosters/stores/rosters/rosters.query\";\nimport { rostersService } from \"../../../rosters/services/rosters.service\";\n\nexport interface FellowsComponentState {\n fellows: FellowModel[];\n isLoading: boolean;\n isEditOpen: boolean;\n isFellowActionsOpen: boolean;\n fellowActionsAnchorEl: HTMLButtonElement;\n selectedFellow: FellowModel;\n currentEmployeeEmail: string;\n selfManagingEmployee: boolean;\n isRosterActive: boolean;\n}\n\nexport function useFacade(rosterId: number): [\n FellowsComponentState,\n () => void,\n (value: boolean, fellowId: number, email: string, target: HTMLButtonElement) => void,\n (value: boolean) => void,\n () => void,\n (fellowId: number) => void,\n] {\n const [state, setState] = useState({\n fellows: [],\n isLoading: true,\n isEditOpen: false,\n isFellowActionsOpen: false,\n fellowActionsAnchorEl: null,\n selectedFellow: null,\n currentEmployeeEmail: authQuery.getEmail(),\n selfManagingEmployee: true,\n isRosterActive: false,\n } as FellowsComponentState);\n\n const history = useHistory();\n\n const handleGoToFellowPatients = (fellowId: number) => {\n navigationService.toFellowPatients(history, fellowId, rosterId);\n }\n\n const handleToggleFellowActions = (value: boolean, fellowId: number, email: string, target: HTMLButtonElement) => {\n const fellow = state.fellows.find(f => f.id === fellowId);\n setState(state => ({\n ...state,\n isFellowActionsOpen: value,\n fellowActionsAnchorEl: target,\n selectedFellow: fellow,\n selfManagingEmployee: state.currentEmployeeEmail === email,\n }));\n }\n\n const handleToggleEditFellow = (value: boolean) => {\n setState(state => ({\n ...state,\n isEditOpen: value,\n isFellowActionsOpen: false,\n fellowActionsAnchorEl: null\n }))\n }\n\n const handleDeleteFellow = () => {\n setState(state => ({\n ...state,\n isFellowActionsOpen: false,\n fellowActionsAnchorEl: null\n }));\n\n confirmService.confirm(\n 'Delete Fellow',\n 'Are you sure you want to delete this fellow from the roster?',\n 'Yes',\n 'Cancel',\n 'danger')\n .subscribe(() => {\n employeeService.deleteFellow(state.selectedFellow.id);\n });\n }\n\n const handleIsRosterActive = () => {\n if (state.isRosterActive) {\n rostersService.deactivate(rosterId).subscribe(\n () => {\n setState({ ...state, isRosterActive: false })\n }\n )\n } else {\n rostersService.activate(rosterId).subscribe(\n () => {\n setState({ ...state, isRosterActive: true })\n }\n )\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(employeesQuery.fellows$, fellows => {\n setState(state => ({\n ...state,\n fellows: fellows,\n }));\n }),\n ];\n setState({ ...state, fellows: [], isLoading: true })\n\n const cb = () => setState(state => ({ ...state, isLoading: false, isRosterActive: rostersQuery.isActive(rosterId) }))\n employeeService.getFellowsByRoster(rosterId).subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [rosterId])\n\n return [state, handleIsRosterActive, handleToggleFellowActions, handleToggleEditFellow, handleDeleteFellow, handleGoToFellowPatients]\n}","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { FellowshipNoteModel, PracticumPatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsQuery } from \"../../../patients/stores/patientsStore/patients.query\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { ISortingState } from \"../../../common/sorting/models/sorting-state\";\nimport { SortingSource } from \"../../models/fellowship.enums\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { confirmService } from \"../../../../services/confirm.service\";\n\nexport interface PracticumPatientsComponentState extends ISortingState {\n practicumPatients: PracticumPatientModel[];\n originalPracticumPatients: PracticumPatientModel[];\n isLoading: boolean;\n hideTestPatients: boolean;\n}\n\nexport function useFacade(rosterId: number): [\n PracticumPatientsComponentState,\n (id: number, text: string) => void,\n (source: string, direction: SortingDirection) => void,\n (status: boolean) => void\n] {\n const [state, setState] = useState({\n practicumPatients: [],\n originalPracticumPatients: [],\n isLoading: false,\n sortingColumns: [\n { title: 'Enrolled', source: SortingSource.Enrollment, direction: SortingDirection.Asc },\n ],\n sortingSource: null,\n hideTestPatients: false,\n } as PracticumPatientsComponentState);\n\n const setDirection = (source: string, direction: SortingDirection) => {\n const itemIndex = state.sortingColumns.findIndex(item => item.source === source);\n state.sortingColumns[itemIndex].direction = direction;\n setState(state => ({ ...state, columns: state.sortingColumns }));\n }\n\n const handleOpenNote = (id: number, text: string) => {\n confirmService.confirmWithReason('Note', '', '', 'Save', `${text ? text : ''}`).subscribe((text) => handleNewNote(id, text));\n }\n\n const handleNewNote = (id: number, text: string) => {\n const patient = state.practicumPatients.find(p => p.id === id)\n patient.note = text\n \n setState(state => ({ ...state }));\n const model = {\n patientId: id,\n note: text\n } as FellowshipNoteModel\n\n patientsService.updateFellowshipNote(model);\n }\n\n const handleSorting = (source: string, direction: SortingDirection) => {\n if (state.sortingSource === source) {\n direction = direction === SortingDirection.Asc\n ? SortingDirection.Desc\n : SortingDirection.Asc;\n\n setDirection(source, direction);\n }\n\n setState(state => ({\n ...state,\n sortingSource: source,\n patients: state.practicumPatients.sort((p1, p2) => handleCompare(p1, p2, direction, source))\n }));\n }\n\n const handleToggleTestPatients = (status: boolean) => {\n setState({\n ...state,\n hideTestPatients: status,\n practicumPatients: status ? state.practicumPatients.filter(patient => patient.phoneNumber !== '(111) 111-1111') : state.originalPracticumPatients\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.practicumPatients$, patients => {\n setState(state => ({\n ...state,\n practicumPatients: patients,\n originalPracticumPatients: patients,\n isLoading: false\n }));\n }),\n ];\n\n patientsService.getPracticumPatientsByRoster(rosterId);\n setState(state => ({ ...state, isLoading: true }));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [rosterId])\n\n return [state, handleOpenNote, handleSorting, handleToggleTestPatients]\n}","import React from 'react';\nimport { useFacade } from \"./practicumPatientsComponent.hooks\"\nimport { Box, IconButton, Table, TableBody, TableContainer, TableHead, FormControlLabel, Checkbox } from '@material-ui/core';\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { displayEnrollment } from \"../../helpers/displayEnrollment\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport moment from \"moment\";\nimport { renderEmptyValue } from '../../../common/helpers/empty-value';\nimport { SortingDirection } from '../../../common/sorting/models/sorting-destination';\nimport { SortingSource } from '../../models/fellowship.enums';\nimport { WildHealhTableSortLabel } from '../../../common/components/wildHealthTableSortLabel/WildHealthTableSortLabel';\nimport clsx from 'clsx';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { ReactComponent as Note } from '@img/icons/MedicalHistory.svg';\nimport { colors } from '../../../../modules/common/constants/colors';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\n\ninterface PracticumPatientsComponentProps {\n rosterId: number,\n}\n\nexport const PracticumPatientsComponent: React.FC = (props: PracticumPatientsComponentProps) => {\n const { rosterId } = props;\n const [\n {\n practicumPatients,\n isLoading,\n sortingColumns,\n sortingSource,\n hideTestPatients\n },\n handleOpenNote,\n handleSorting,\n handleToggleTestPatients\n ] = useFacade(rosterId);\n\n const commonClasses = commonUseStyles();\n\n const enrolledColumn = sortingColumns.find(x => x.source === SortingSource.Enrollment);\n\n const label = \n Hide Test Patients\n ;\n const controlIcon = ;\n const controlCheckedIcon = ;\n const control = (\n handleToggleTestPatients(e.target.checked)}\n />\n );\n\n const renderContent = (): JSX.Element => {\n if (isLoading) {\n return ()\n }\n\n if (!practicumPatients.length) {\n return ()\n }\n\n return (\n \n \n \n Practicum Patients\n \n \n \n \n \n \n\n \n \n \n \n Patient Name\n Fellow Name\n Date of Birth\n Phone Number\n Email\n Date of Submission\n \n handleSorting(enrolledColumn.source, enrolledColumn.direction)}\n title={enrolledColumn.title}\n />\n \n Note\n \n \n \n {\n practicumPatients.map((patient, index) =>\n \n {`${patient.firstName} ${patient.lastName}`}\n {`${patient.fellow?.firstName} ${patient.fellow?.lastName}`}\n {moment(patient.birthday).format(\"MM/DD/yyyy\")}\n {patient.phoneNumber && patient.phoneNumber.length ? patient.phoneNumber : renderEmptyValue(\"empty\")}\n {patient.email}\n {moment(patient.registrationDate).format(\"MM/DD/yyyy\")}\n {displayEnrollment(patient.isEnrolled)}\n \n handleOpenNote(patient.id, patient.note)} >\n \n \n \n \n )\n }\n \n
\n
\n
\n
\n )\n }\n\n return (\n \n {\n renderContent()\n }\n \n )\n}","import React from 'react';\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { useFacade } from \"./fellowshipComponent.hooks\"\n\ninterface FellowshipComponentProps {\n pmFellowship?: boolean;\n rosterId: number;\n}\n\nexport const FellowshipComponent: React.FC = (props: FellowshipComponentProps) => {\n const {rosterId, pmFellowship = false} = props;\n const [tabItems] = useFacade( pmFellowship, rosterId);\n\n return (\n <>\n \n \n )\n}","import React from 'react';\nimport { TabItem } from '../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { FellowsComponent } from \"../fellows/FellowsComponent\";\nimport { PracticumPatientsComponent } from \"../practicumPatients/PracticumPatientsComponent\";\n\nexport function useFacade( pmFellowship: boolean, rosterId: number): [\n TabItem[]\n] {\n const tabItems: TabItem[] = [\n {\n title: 'Roster',\n content: ,\n keepMounted: true,\n },\n {\n title: 'Practicum Patients',\n content: ,\n keepMounted: true,\n },\n \n ];\n \n return [tabItems]\n}","import React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { FellowshipComponent } from \"../../components/fellowship/FellowshipComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { navigationNumber, NoPmRoster } from '../../../rosters/models/roster.model';\n\nexport const FellowshipPage: React.FC = (props: any) => {\n let rosterId = props?.location?.state?.id ?? 1\n\n const isPmFellowship = !(rosterId === NoPmRoster.January21 || rosterId === NoPmRoster.July21 || rosterId === NoPmRoster.January22) ;\n\n return (\n \n \n \n )\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n backgroundColor: colors.white,\n minHeight: '100vh',\n },\n logo: {\n width: 160,\n maxHeight: 50,\n }\n }),\n);","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {useStyles} from \"./FellowshipSubmissionReceivedPage.styles\";\nimport {useHistory} from 'react-router';\nimport success from \"@img/success.svg\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {WildHealthButton} from '../../../common/components/wildHealthButton/WildHealthButton';\nimport clsx from 'clsx';\nimport {logoService} from '../../../../services/logo.service';\n\nexport const FellowshipSubmissionReceivedPage: React.FC = () => {\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const history = useHistory();\n\n return (\n
\n \n \"img\"/\n \n \n \n \n \"img\"/\n \n \n Success!\n \n \n Your submission has been received.\n \n \n \n navigationService.toWildHealth()}\n >\n Visit Wild Health Website\n \n \n \n navigationService.toLogin(history)}\n >\n Login to Clarity Portal\n \n \n \n \n \n
\n );\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from '../../common/constants/colors';\n\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n sections: {\n backgroundColor: colors.white,\n padding: 30,\n height: '100%',\n },\n title: {\n fontWeight: 600,\n fontSize: 24,\n },\n subTitle: {\n padding: 24,\n }\n\n }),\n);","import { Box, Grid } from \"@material-ui/core\";\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from \"../../../constants/pagesNames.constants\";\nimport { TitlesService } from '../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../models/menu.models\";\nimport WildHealthLinearProgress from '../../common/components/WildHealthLinearProgress';\nimport { ColorsForHabit } from '../../healthScore/models/score.model';\nimport { useStyles } from \"./habitScorePage.styles\";\nimport { BiomarkersComponent } from \"../../patients/components/BiomarkersComponent/BiomarkersComponent\"\nimport { useFacade } from \"./HabitScorePage.hooks\";\n\nexport const HabitScorePage: React.FC = () => {\n const [\n {\n isLoading,\n generalScore,\n }\n ] = useFacade();\n const classes = useStyles();\n\n const renderContent = () => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n \n )\n }\n\n return (\n \n {\n isLoading\n ? \n : renderContent()\n\n }\n \n )\n}\n\n","import { useState } from \"react\";\nimport { HabitBiomarkersModel } from '../../healthScore/models/score.model';\nexport interface PatientDashboardPageState {\n isLoading: boolean,\n generalScore: HabitBiomarkersModel[],\n}\n\nexport function useFacade(): [\n PatientDashboardPageState\n] {\n const [state] = useState({\n isLoading: false,\n generalScore: [],\n } as PatientDashboardPageState);\n\n return [state];\n}","import React from \"react\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { HealthReportComponent } from \"../../components/healthReportComponent/HealthReportComponent\";\n\nexport const PatientHealthReportPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import React from \"react\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { AddOnReportsComponent } from \"../../components/addOnReportsComponent/AddOnReportsComponent\";\n\nexport const PatientAddOnReportsPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import { Box, useTheme, useMediaQuery } from \"@material-ui/core\";\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from \"../../../constants/pagesNames.constants\";\nimport { TitlesService } from '../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../models/menu.models\";\nimport commonUseStyles from \"../../common/styles/common.styles\";\nimport {HealthScoreComponent} from \"../components/healthScoreComponent/HealthScoreComponent\";\nimport clsx from \"clsx\";\n\nexport const HealthScorePage: React.FC = () => {\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n return (\n \n \n {isSmallScreen && (\n \n {PagesNamesService.healthScore}\n \n )}\n {\n \n }\n \n \n )\n}\n\n","import React from \"react\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { DataFilesComponent } from \"../../components/dataFilesComponent/DataFilesComponent\";\n\nexport const PatientDataFilesPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import { Box, FormControl, MenuItem, Select, Table, TableBody, TableContainer, TableHead, TableRow, TextField } from '@material-ui/core';\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { getNumericKeys } from \"../../../common/helpers/enum-mapper\";\nimport { diabetesNames, dietNames, ethnicityNames, exerciseNames } from \"../../constants/inputs.constants\";\nimport { DiabetesType, DietType, Ethnicity, ExerciseType, SmokingCategory, YesNo } from \"../../models/input.models\";\nimport { useFacade } from \"./patientGeneralInputsComponent.hooks\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const PatientGeneralInputsComponent: React.FC = () => {\n const [\n {\n inputs,\n errors,\n isSaving,\n isVitalSaving\n },\n handleChanges,\n handleNumericChanges,\n handleSubmit,\n ] = useFacade();\n\n if (!inputs) {\n return (\n \n \n \n );\n }\n\n return (\n \n \n \n \n \n \n Name\n \n \n Current Value\n \n \n \n \n \n \n Client Exercise Goal\n \n \n \n handleChanges(\"exerciseGoal\", v.target.value)}>\n {\n getNumericKeys(ExerciseType).map((exerciseType, i) => {\n return {exerciseNames[exerciseType]}\n })\n }\n \n \n \n \n \n \n Client Diet Choice\n \n \n \n handleChanges(\"dietChoice\", v.target.value)}>\n {\n getNumericKeys(DietType).map((dietType, i) => {\n return {dietNames[dietType]}\n })\n }\n \n \n \n \n \n \n Exercise Activities per week (0-7)\n \n \n handleNumericChanges(\"exerciseActivitiesFrequency\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n MindFullness Activities per week (0-7)\n \n \n handleNumericChanges(\"meditationFrequency\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n REM\n \n \n handleNumericChanges(\"rem\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n Ethnicity\n \n \n \n handleChanges(\"ethnicity\", v.target.value)}>\n {\n getNumericKeys(Ethnicity).map((eth, i) => {\n return {ethnicityNames[eth]}\n })\n }\n \n \n \n \n \n \n Smoking Status\n \n \n \n handleChanges(\"smokingCategory\", v.target.value)}>\n {\n getNumericKeys(SmokingCategory).map((category, i) => {\n return {SmokingCategory[category]}\n })\n }\n \n \n \n \n \n \n Diabetes Status\n \n \n \n handleChanges(\"diabetesType\", v.target.value)}>\n {\n getNumericKeys(DiabetesType).map((type, i) => {\n return {diabetesNames[type]}\n })\n }\n \n \n \n \n \n \n Deep Sleep (hours)\n \n \n handleNumericChanges(\"deepSleep\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n Sleep (hours)\n \n \n handleNumericChanges(\"sleep\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n Chronological Age\n \n \n \n \n \n \n \n Age Bio \n \n (calculate online)\n \n \n \n handleNumericChanges(\"realAge\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n Epigenetic Age\n \n \n handleNumericChanges(\"biologicalAge\", v.target.value)}\n variant=\"outlined\"\n size=\"small\"\n />\n \n \n \n \n Fasting Regularly\n \n \n \n handleChanges(\"fastingRegularly\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n \n Cancer Screening Completed\n \n \n \n handleChanges(\"cancerScreeningCompleted\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n \n Angina or Heart Attack in a 1st Degree Relative < 60\n \n \n \n handleChanges(\"familyHeartAttack\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n \n Chronic Kidney Disease (stage 4 or 5)\n \n \n \n handleChanges(\"chronicKidneyDisease\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n \n Atrial Fibrillation\n \n \n \n handleChanges(\"atrialFibrillation\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n \n On Blood Pressure Treatment\n \n \n \n handleChanges(\"bloodPressureTreatment\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n \n Rheumatoid Arthritis\n \n \n \n handleChanges(\"rheumatoidArthritis\", v.target.value)}>\n {\n getNumericKeys(YesNo).map((yn, i) => {\n return {YesNo[yn]}\n })\n }\n \n \n \n \n \n
\n
\n\n \n handleSubmit()}\n >\n Save Changes\n \n \n
\n )\n}","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDownloadIcon = function SvgDownloadIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 19,\n viewBox: \"0 0 18 19\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.98999 9.75122L8.90999 11.6712L10.83 9.75122\",\n stroke: \"#FEFEFE\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.91 3.99121V11.6187\",\n stroke: \"#FEFEFE\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M15 10.1262C15 13.4412 12.75 16.1262 9 16.1262C5.25 16.1262 3 13.4412 3 10.1262\",\n stroke: \"#FEFEFE\",\n strokeWidth: 1.5,\n strokeMiterlimit: 10,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDownloadIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/DownloadIcon.14377491.svg\";\nexport { ForwardRef as ReactComponent };","import { useState, useEffect } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { GeneralInputsModel } from \"../../models/input.models\";\nimport { inputsQuery } from \"../../stores/inputsStore\";\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { patientInputsService } from \"../../services/patientInputs.service\";\nimport { generalInputsComponentValidator } from \"../generalInputsComponent/generalInputsComponent.validator\"\n\ninterface PatientGeneralInputsComponentState extends IErrorState {\n inputs: GeneralInputsModel;\n isSaving: boolean;\n isVitalSaving: boolean;\n}\n\nexport function useFacade(): [PatientGeneralInputsComponentState, Function, Function, Function] {\n const [state, setState] = useState({\n inputs: null,\n errors: {},\n isSaving: false,\n isVitalSaving: false\n } as PatientGeneralInputsComponentState);\n\n const handleChanges = (field: string, value: any) => {\n generalInputsComponentValidator.validateAndSetState(state, setState, field, value);\n typeof state.inputs[field] === \"boolean\"\n ? state.inputs[field] = !state.inputs[field]\n : state.inputs[field] = value;\n\n setState({ ...state, inputs: { ...state.inputs } });\n }\n\n const handleNumericChanges = (field: string, value: any) => {\n generalInputsComponentValidator.validateAndSetState(state, setState, field, value);\n state.inputs[field] = value.toString().length ? Number(value) : null;\n setState({ ...state, inputs: { ...state.inputs } });\n }\n\n const handleSubmit = () => {\n generalInputsComponentValidator.validateObjectAndSetState(state, setState, state.inputs);\n if (!generalInputsComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({ ...state, isSaving: true }));\n const cb = () => {\n setState(state => ({\n ...state,\n isSaving: false,\n }));\n }\n\n patientInputsService.updateGeneralInputs(state.inputs).subscribe(cb, cb);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(inputsQuery.generalInputs$, inputs => {\n setState(state => ({ ...state, inputs }));\n })\n ];\n\n patientInputsService.getGeneralInputs();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleChanges, handleNumericChanges, handleSubmit];\n}","import React from \"react\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PatientGeneralInputsComponent } from \"../../components/patientGeneralInputsComponent/PatientGeneralInputsComponent\";\n\nexport const PatientGeneralPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { DocumentsComponent } from '../../../documents/components/documentsComponent/DocumentsComponent';\n\nexport const PatientDocumentsPage: React.FC = () => {\n\n\n return (\n \n \n \n )\n}\n","import { useEffect, useState, useCallback } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { groupBy, mapValues } from 'lodash';\nimport moment from \"moment\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { LabGroup, LabInputModel, FileInputModel, FileInputType } from \"../../models/input.models\";\nimport { LabInputsDatasetViewModel } from \"../../models/input.models\";\nimport { patientInputsService } from \"../../services/patientInputs.service\";\nimport { inputsQuery } from \"../../stores/inputsStore\";\nimport { sortLabInputDataSets } from \"../../helpers/sort-lab-input-data-sets\";\nimport { toCurrentTimeZone } from \"../../../timezones/helpers/timezone\";\nimport { CheckboxDropdownItem } from \"../../../common/models/checkboxDropdown.models\";\n\ninterface LabInputSectionViewModel {\n group: LabGroup;\n expanded: boolean;\n}\n\ninterface PatientLabInputsComponentState {\n isLoading: boolean;\n isHighlightExpand: boolean;\n labInputs: LabInputModel[];\n sections: LabInputSectionViewModel[];\n files: FileInputModel[];\n isActionsOpen: boolean;\n dataSets: LabInputsDatasetViewModel[];\n hiddenDataSets: string[];\n showDataSet: string;\n}\n\nconst AllKey = \"ALL\";\n\nexport function useFacade(): [\n PatientLabInputsComponentState,\n (group: LabGroup) => void,\n () => void,\n (fileId: number) => void,\n () => CheckboxDropdownItem[],\n (dataSetId: string) => void,\n () => void,\n () => CheckboxDropdownItem[],\n (dataSetId: string) => void,\n] {\n const [state, setState] = useState({\n isLoading: true,\n isHighlightExpand: true,\n labInputs: [],\n sections: [\n {\n group: LabGroup.Lipids,\n expanded: true\n },\n {\n group: LabGroup.Methylation,\n expanded: true\n },\n {\n group: LabGroup.VitaminsAndMicronutrients,\n expanded: true\n },\n {\n group: LabGroup.InsulinResistanceAndMetabolism,\n expanded: true\n },\n {\n group: LabGroup.Hormones,\n expanded: true\n },\n {\n group: LabGroup.Inflammation,\n expanded: true\n },\n {\n group: LabGroup.CBC,\n expanded: true\n },\n {\n group: LabGroup.Metabolic,\n expanded: true\n },\n {\n group: LabGroup.Other,\n expanded: true\n }\n ],\n files: [],\n dataSets: [],\n hiddenDataSets: [],\n showDataSet: '',\n } as PatientLabInputsComponentState);\n\n const getDataSets = useCallback((inputs: LabInputModel[]): LabInputsDatasetViewModel[] => {\n const allValues = inputs.flatMap(x => x.values);\n \n const dataSets = groupBy(allValues, 'dataSetId');\n\n const result = mapValues(dataSets, values => ({\n id: values[0].dataSetId,\n date: toCurrentTimeZone(values[0].date),\n selected: true,\n values\n } as LabInputsDatasetViewModel));\n \n return Object.values(result).sort(sortLabInputDataSets) as LabInputsDatasetViewModel[];\n }, []);\n\n const handleHighlightExpand = () => {\n setState(state => ({ ...state, isHighlightExpand: !state.isHighlightExpand }));\n }\n\n const handleExpand = (group: LabGroup) => {\n const section = state.sections.find(x => x.group === group);\n section.expanded = !section.expanded;\n setState({ ...state, sections: state.sections });\n }\n\n const handleToggleActions = () => {\n setState(state => ({\n ...state,\n isActionsOpen: !state.isActionsOpen,\n }));\n }\n\n const handleView = (fileId: number) => {\n const cb = () => {\n setState(state => ({\n ...state,\n isActionsOpen: false,\n }));\n }\n\n const input = state.files.find(i => i.id === fileId);\n if (input) {\n setState(state => ({\n ...state,\n selectedFile: input,\n }));\n\n const action = patientInputsService.viewinline(input);\n action.subscribe(cb, cb);\n }\n }\n\n const getDropDownItems = (): CheckboxDropdownItem[] => {\n if (!state.dataSets.length) {\n return [];\n }\n\n const dataSets = state.dataSets\n .sort(sortLabInputDataSets)\n .map(dataSet => ({\n key: dataSet.id,\n name: moment(dataSet.date).format(\"MM/DD/YYYY\"),\n selected: !state.hiddenDataSets.includes(dataSet.id)\n }));\n\n return [\n {\n key: AllKey,\n name: \"View All Labs\",\n selected: dataSets.every(x => x.selected === true)\n },\n ].concat(dataSets)\n }\n\n const handleColumnCheck = (dataSetId: string) => {\n switch (dataSetId) {\n case AllKey:\n setState({\n ...state,\n hiddenDataSets: []\n });\n return;\n default:\n const hiddenDataSets = state.hiddenDataSets.some(id => id === dataSetId)\n ? state.hiddenDataSets.filter(id => id !== dataSetId)\n : [...state.hiddenDataSets, dataSetId]\n setState({\n ...state,\n hiddenDataSets: hiddenDataSets\n });\n return;\n }\n }\n\n const getDropDownItemsForMobile = (): CheckboxDropdownItem[] => {\n if (!state.dataSets.length) {\n return [];\n }\n\n const dataSets = state.dataSets\n .sort(sortLabInputDataSets)\n .map(dataSet => ({\n key: dataSet.id,\n name: moment(dataSet.date).format(\"MM/DD/YYYY\"),\n selected: state.showDataSet === dataSet.id\n }));\n\n return dataSets;\n }\n\n const handleColumnCheckForMobile = (dataSetId: string) => {\n setState({\n ...state,\n showDataSet: dataSetId\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(inputsQuery.labInputs$, labInputs => {\n setState(state => ({\n ...state,\n labInputs: labInputs,\n dataSets: labInputs && labInputs.length ? getDataSets(labInputs) : [],\n showDataSet: labInputs && labInputs.length ? getDataSets(labInputs)?.[0]?.id : ''\n }));\n }),\n onEmit(inputsQuery.uploads$, files => {\n setState(state => ({\n ...state,\n files: files.filter(x => x.type === FileInputType.LabResults),\n }));\n })\n ];\n\n patientInputsService.getUploads().subscribe();\n patientInputsService.getLabInputs().subscribe(\n () => setState(state => ({ ...state, isLoading: false })),\n () => setState(state => ({ ...state, isLoading: false }))\n );\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleExpand, handleToggleActions, handleView, getDropDownItems, handleColumnCheck, handleHighlightExpand, getDropDownItemsForMobile, handleColumnCheckForMobile];\n}\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n dialog: {\n '& .MuiDialog-paper': {\n borderRadius: 20,\n },\n [theme.breakpoints.down(\"xs\")]: {\n '& .MuiDialog-paper': {\n borderRadius: '28px 28px 0 0',\n margin: 0,\n marginTop: 'auto',\n width: '100%'\n },\n },\n },\n dialogContent: {\n display: \"flex\",\n flexDirection: \"column\",\n alignItems: 'center',\n maxWidth: 350,\n paddingTop: 30,\n [theme.breakpoints.down(\"xs\")]: {\n marginRight: 0,\n marginLeft: 0,\n maxWidth: '100%',\n },\n },\n })\n);\n","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n fontSize: 14,\n '& ::-webkit-scrollbar': {\n height: 12,\n },\n '& ::-webkit-scrollbar-track': {\n '-webkit-border-radius': '3px',\n borderRadius: '3px',\n },\n '& ::-webkit-scrollbar-thumb': {\n '-webkit-border-radius': '3px',\n borderRadius: '3px',\n background: '#dfe0dc',\n borderRight: `${colors.white} 2px solid`\n },\n },\n stickyLeft: {\n position: 'sticky',\n left: 0,\n backgroundColor: colors.white,\n zIndex: 1\n },\n tableToolbar: {\n borderBottom: '1px solid #f6f8fb'\n },\n shadowRight: {\n boxShadow: '0px 9px 15px rgba(168, 173, 198, 0.20) !important'\n },\n sideMobile: {\n width: 400,\n height: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n width: '100%',\n },\n },\n sideContainer: {\n height: '100%',\n width: '100%',\n overflow: 'auto',\n padding: 20\n },\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n customWidth: {\n maxWidth: 'none',\n backgroundColor: colors.navy900,\n padding: 8,\n },\n arrow: {\n color: colors.navy900,\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n })\n)","import React, { useRef } from 'react';\nimport moment from 'moment';\nimport {\n Box,\n Paper,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n Tooltip, Drawer, IconButton, Divider,\n useTheme, useMediaQuery\n} from '@material-ui/core';\nimport CloseIcon from '@material-ui/icons/Close';\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft';\nimport warning from \"@img/icons/warning.svg\";\nimport clsx from 'clsx';\nimport { useStyles } from \"./PatientLabInputsSectionComponent.styles\";\nimport { useFacade } from \"./patientLabInputsSectionComponent.hooks\";\nimport { LabInputModel, LabInputNotificationType, LabInputsViewMode, LabInputsDatasetViewModel } from \"../../models/input.models\";\nimport { WildHealthTableRow } from '../../../common/components/wildHealthTable/WildHealthTableRow';\nimport { WildHealthTableCell } from '../../../common/components/wildHealthTable/WildHealthTableCell';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { renderEmptyValue } from \"../../../common/helpers/empty-value\";\nimport { CommonPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder\";\nimport { renderLabResultValuesGraph } from '../../helpers/render-lab-result-values-graph';\nimport { renderLabInputRange, getMaxValueByRange } from \"../../helpers/render-lab-input-range\";\nimport { BiomarkerSlider } from '../labInputsSectionComponent/LabInputsSectionComponent.styles';\nimport { LabInputRangeComponent } from '../LabInputRangeComponent/LabInputRangeComponent';\nimport { getDataSetByLabLatestValue, getRange } from '../../helpers/labInputs.extensions';\n\ninterface PatientLabInputsSectionComponentProps {\n isHightlighted?: boolean;\n inputs: LabInputModel[];\n sectionIndex: number;\n dataSets: LabInputsDatasetViewModel[];\n hiddenDataSets: string[];\n showDataSet?: string;\n}\n\nexport const PatientLabInputsSectionComponent: React.FC = (props: PatientLabInputsSectionComponentProps) => {\n const { isHightlighted = false, inputs, sectionIndex, dataSets, hiddenDataSets, showDataSet = '' } = props;\n const [\n {\n isSideAreaOpen,\n selectedLabInputId\n },\n handleToggleDescription\n ] = useFacade(inputs);\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const classes = useStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const paperContainerRef = useRef(null);\n\n if (!dataSets) {\n return ()\n }\n\n const getRecentValue = (input: LabInputModel, dataSetId: string) => {\n const inputValue = input.values.find(x => x.dataSetId === dataSetId);\n if (inputValue === undefined || !inputValue.isInitialized) {\n return { isError: false, value: 0 };\n }\n\n const notification = inputValue.notification;\n\n if (notification?.notificationType === LabInputNotificationType.Error) {\n return { isError: true, value: inputValue.value };\n }\n return { isError: false, value: inputValue.value };\n }\n\n const renderValue = (input: LabInputModel, dataSetId: string): JSX.Element => {\n const inputValue = input.values.find(x => x.dataSetId === dataSetId);\n if (inputValue === undefined || !inputValue.isInitialized) {\n return (\n {renderEmptyValue(\"-\")}\n \n );\n }\n\n const notification = inputValue.notification;\n\n return (\n \n \n \n {inputValue.value}\n \n {\n notification?.notificationType === LabInputNotificationType.Error &&\n \n \"img\"\n \n }\n \n \n );\n }\n\n const renderSideArea = () => {\n const targetLabInput = inputs.find(x => x.id === selectedLabInputId);\n if (targetLabInput) {\n const dataSetByLatestValue = getDataSetByLabLatestValue(dataSets, targetLabInput);\n const range = getRange(targetLabInput);\n return (\n \n \n handleToggleDescription(0, false)}>\n \n Labs\n \n handleToggleDescription(0, false)}\n >\n \n \n \n \n {targetLabInput.displayName}\n {targetLabInput.description && {targetLabInput.description}}\n {range && In Range {renderLabInputRange(range)}}\n \n \n Most Recent Value\n {range && (\n \n getMaxValueByRange(range)}\n />\n \n )}\n \n Range {range ? renderLabInputRange(range) : ''}\n {renderValue(targetLabInput, dataSetByLatestValue.id)}\n \n \n {targetLabInput.values.length > 1 && (\n \n Past Values\n \n {\n renderLabResultValuesGraph(targetLabInput.values)\n }\n \n {\n dataSets.map((dataSet) => {\n const inputValue = targetLabInput.values.find(x => x.dataSetId === dataSet.id);\n if (inputValue === undefined || !inputValue.isInitialized) {\n return;\n }\n return (\n \n \n {moment(dataSet.date).format(\"MM/DD/YYYY\")}\n {renderValue(targetLabInput, dataSet.id)}\n \n \n \n );\n })\n }\n \n )}\n \n If you have any questions about these values, schedule a call with your provider to discuss them!\n \n \n )\n }\n\n return <>\n }\n\n const pxString = (value: number): string => `${value}px`;\n\n const renderValuesView = (id: string) => {\n if (!dataSets.length) {\n return (\n \n \n \n );\n }\n \n const dataLength = dataSets.filter(x => x.selected).length;\n const tableContainerWidth = paperContainerRef.current ? paperContainerRef.current.offsetWidth : 0;\n const nameWidth = 200;\n const rangeWidth = 200;\n const valueWidth = 140;\n const tableWidth = dataLength * valueWidth + nameWidth + rangeWidth;\n const isScrollable = tableWidth > tableContainerWidth;\n\n if (isSmallScreen) {\n return (\n \n \n \n \n \n Biomarker\n \n \n Recent Result\n \n \n \n \n {\n inputs.map((input, index) => {\n const dataSetByLatestValue = getDataSetByLabLatestValue(dataSets, input);\n const range = getRange(input);\n return (\n handleToggleDescription(input.id, true)}>\n \n {input.displayName}\n {range ? : ''}\n \n \n {\n renderValue(input, isHightlighted ? dataSetByLatestValue.id : showDataSet)\n }\n \n \n );\n })\n }\n \n
\n
\n )\n }\n\n if (isHightlighted) {\n return (\n \n \n \n \n \n Biomarker\n \n \n Range\n \n \n Recent Result \n \n \n \n Date\n \n \n \n \n {\n inputs.map((input, index) => {\n const dataSetByLatestValue = getDataSetByLabLatestValue(dataSets, input);\n const range = getRange(input);\n return (\n handleToggleDescription(input.id, true)}>\n \n {input.displayName}\n \n {range ? : ''}\n \n {\n renderValue(input, dataSetByLatestValue.id)\n }\n \n \n \n {\n moment(dataSetByLatestValue.values[0].date).format(\"MM/DD/YYYY\")\n }\n \n \n );\n })\n }\n \n
\n
\n )\n }\n\n return (<>\n \n \n \n \n \n Biomarker\n \n \n Range\n \n {\n dataSets.filter(x => !hiddenDataSets.includes(x.id)).map((dataSet, index) => {\n return (\n \n {moment(dataSet.values[0]?.date).format(\"MM/DD/YYYY\")}\n \n )\n })\n }\n \n \n \n {\n inputs.map((input, index) => {\n const range = getRange(input);\n return (\n handleToggleDescription(input.id, true)}>\n \n {input.displayName}\n \n {range ? : ''}\n {\n dataSets.filter(x => !hiddenDataSets.includes(x.id)).map((dataSet, index) => {\n return (\n \n {\n renderValue(input, dataSet.id)\n }\n \n );\n })\n }\n \n );\n })\n }\n \n
\n
\n );\n }\n\n return (<>\n \n {\n renderValuesView(`divToPrint${sectionIndex}-${LabInputsViewMode.Values}`)\n }\n \n handleToggleDescription(0, false)}\n >\n \n {renderSideArea()}\n \n \n )\n}","import { useState } from \"react\";\nimport { LabInputModel } from \"../../models/input.models\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\n\ninterface PatientLabInputsSectionComponentState {\n isSideAreaOpen: boolean;\n selectedLabInputId: number;\n}\n\nexport function useFacade(inputs: LabInputModel[]): [\n PatientLabInputsSectionComponentState,\n (id: number, open: boolean) => void,\n] {\n const [state, setState] = useState({\n isSideAreaOpen: false,\n selectedLabInputId: 0\n } as PatientLabInputsSectionComponentState);\n\n const handleToggleSideArea = (id: number, open: boolean) => {\n const selectedLabInput = inputs.find(x => x.id === id)\n if (selectedLabInput) {\n Track(\"lab_selected\", {\n lab_name: selectedLabInput.name,\n platform: PlatformName(),\n });\n }\n setState(state => ({ ...state, isSideAreaOpen: open, selectedLabInputId: id }))\n }\n\n return [\n state,\n handleToggleSideArea,\n ];\n}\n","import React from 'react';\nimport { Box, Collapse, Typography, Dialog, DialogContent, useTheme, useMediaQuery } from '@material-ui/core';\nimport ChevronRightIcon from '@material-ui/icons/ChevronRight';\nimport ExpandMoreIcon from '@material-ui/icons/ExpandMore';\nimport { ReactComponent as DownloadIcon } from '@img/icons/DownloadIcon.svg';\nimport moment from 'moment';\nimport { useFacade } from \"./patientLabInputsComponent.hooks\";\nimport { useStyles } from \"./patientLabInputsComponent.styles\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { labInputGroupNames } from '../../models/input.models';\nimport { PatientLabInputsSectionComponent } from \"../patientLabInputsSectionComponent/PatientLabInputsSectionComponent\";\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { WildHealthMenuItem } from \"../../../common/components/wildHealthMenu/WildHealthMenu\";\nimport { toCurrentTimeZone } from '../../../timezones/helpers/timezone';\nimport { ManageLabInputDatesComponent } from \"../manageLabInputDatesComponent/ManageLabInputDatesComponent\";\nimport { DialogTitle } from \"../../../common/components/dialogTitle/DialogTitle\";\n\nexport const PatientLabInputsComponent: React.FC = () => {\n const [\n {\n isLoading,\n labInputs,\n sections,\n files,\n isActionsOpen,\n dataSets,\n hiddenDataSets,\n showDataSet,\n isHighlightExpand\n },\n handleExpand,\n handleToggleActions,\n handleView,\n getDropDownItems,\n handleColumnCheck,\n handleHighlightExpand,\n getDropDownItemsForMobile,\n handleColumnCheckForMobile\n ] = useFacade();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const classes = useStyles();\n\n const dropDownItems = isSmallScreen ? getDropDownItemsForMobile() : getDropDownItems();\n\n const renderButtons = () => {\n return <>\n \n {\n dropDownItems.length > 0 &&\n \n {isSmallScreen\n ? \n : \n }\n \n }\n \n handleToggleActions()}>\n Download\n \n \n \n \n \n }\n\n const renderContent = () => {\n if (isLoading) {\n return \n }\n\n if (!labInputs || !labInputs.length) {\n return ()\n }\n\n const highlightedLabs = labInputs.filter(x => x.isHighlighted);\n\n return (\n \n {\n highlightedLabs && highlightedLabs.length > 0 && (\n \n \n handleHighlightExpand()}\n className=\"wh-tw-cursor-pointer\">\n {isHighlightExpand ? : }\n \n \n Highlights\n \n \n \n \n \n \n \n \n )\n }\n {\n sections.map((section, index) => {\n return (\n \n \n handleExpand(section.group)}\n className=\"wh-tw-cursor-pointer\">\n {section.expanded ? : }\n \n \n {labInputGroupNames[section.group]}\n \n \n \n \n x.group === section.group)} \n sectionIndex={index}\n dataSets={dataSets}\n hiddenDataSets={hiddenDataSets}\n showDataSet={showDataSet}\n />\n \n \n \n )\n })\n }\n \n )\n }\n\n return (\n <>\n \n \n Labs\n {\n renderButtons()\n }\n \n \n {\n renderContent()\n }\n \n \n handleToggleActions()}\n className={classes.dialog}\n >\n {!isSmallScreen && (\n handleToggleActions()}\n >\n \n )}\n \n {isSmallScreen ? 'Download Lab Results' : 'Lab Results By Collection Date'}\n Select lab results to download\n \n {\n files && files.length ? files.map((item, index) =>\n handleView(item.id)}\n disabled={!item || isLoading}\n >\n \n {moment(toCurrentTimeZone(new Date(item.observationDate))).format(\"MM/DD/yyyy\")}\n \n \n ) :\n \n \n {`No Report Files yet.`}\n \n \n }\n \n \n \n \n );\n}","import React from \"react\";\nimport {AuthenticatedLayoutComponent} from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport {PagesNamesService} from \"../../../../constants/pagesNames.constants\";\nimport {TitlesService} from \"../../../../constants/title.constants\";\nimport {MenuItemTypes} from \"../../../../models/menu.models\";\nimport {PatientLabInputsComponent} from \"../../components/patientLabInputsComponent/PatientLabInputsComponent\";\n\nexport const PatientLabsPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n root: {\n padding: 5,\n [theme.breakpoints.up('sm')]: {\n padding: 30,\n },\n },\n content: {\n maxWidth: 300,\n minWidth: 150,\n [theme.breakpoints.down('sm')]: {\n maxWidth: 600,\n },\n },\n label: {\n color: '#7C8A9D',\n minHeight: 38,\n },\n })\n);\n","import { Box, Grid } from '@material-ui/core';\nimport React from 'react';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { CommonPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/CommonPlaceHolder';\nimport { MicrobiomeInputNames } from '../../constants/inputs.constants';\nimport { WildHealthTextField } from '../inputComponent/inputComponent.styles';\nimport { useFacade } from \"./patientMicrobiomeInputsComponent.hooks\";\nimport { useStyles } from \"./patientMicrobiomeInputsComponent.styles\";\n\nexport const PatientMicrobiomeInputsComponent: React.FC = () => {\n const classes = useStyles();\n const [\n {\n isLoading,\n inputs,\n }\n ] = useFacade();\n\n const inflammation = inputs.find(x => x.name === MicrobiomeInputNames.InflammationScore);\n const diversity = inputs.find(x => x.name === MicrobiomeInputNames.DiversityScore);\n\n const renderContent = () => {\n if (isLoading) {\n return \n }\n\n if (!inputs || !inputs.length) {\n return ;\n }\n\n return (\n \n \n \n \n Inflammation Score\n \n \n \n \n \n \n \n \n \n Diversity Score\n \n \n \n \n \n \n \n )\n }\n\n return (\n \n \n Microbiome\n \n \n {renderContent()}\n \n \n );\n}","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {MicrobiomeInputModel} from \"../../models/input.models\";\nimport {patientInputsService} from \"../../services/patientInputs.service\";\nimport {inputsQuery} from \"../../stores/inputsStore\";\nimport {MicrobiomeInputNames} from \"../../constants/inputs.constants\";\n\ninterface PatientMicrobiomeInputsComponentState {\n isLoading: boolean;\n inputs: MicrobiomeInputModel[];\n}\n\nexport function useFacade(): [PatientMicrobiomeInputsComponentState] {\n const [state, setState] = useState({\n isLoading: true,\n inputs: [],\n } as PatientMicrobiomeInputsComponentState);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(inputsQuery.microbiomeInputs$, inputs => {\n const inflammation = inputs.find(x => x.name === MicrobiomeInputNames.InflammationScore);\n const diversity = inputs.find(x => x.name === MicrobiomeInputNames.DiversityScore);\n\n if (inflammation?.isInitialized || diversity?.isInitialized) {\n setState(state => ({...state, inputs: inputs}));\n }\n })\n ];\n\n patientInputsService.getMicrobiomeInputs().subscribe(\n () => setState(state => ({...state, isLoading: false})),\n () => setState(state => ({...state, isLoading: false}))\n );\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state];\n}\n","import React from \"react\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PatientMicrobiomeInputsComponent } from \"../../components/patientMicrobiomeInputsComponent/PatientMicrobiomeInputsComponent\";\n\nexport const PatientMicrobiomePage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {notWhitespaceValidationRule, stringLengthValidationRule} from \"../../../common/validation/general-validation-rules\"\n\nexport const manageLeadSourcesComponentValidator = new GeneralValidator({\n 'creationName': [stringLengthValidationRule(1, 50), notWhitespaceValidationRule()],\n});","import {\n Box,\n Button,\n Grid,\n Menu,\n MenuItem,\n Table,\n TableBody,\n TableContainer,\n TableHead,\n TextField\n} from '@material-ui/core';\nimport { Add, MoreVert } from \"@material-ui/icons\";\nimport React from \"react\";\nimport { PermissionType, UserType } from \"../../../auth/models/auth.enums\";\nimport { isElementEnabled, ProtectedElement } from \"../../../common/components/ProtectedElement\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { WildHealthSwitcher } from \"../../../common/components/WIldHealthSwitcher\";\nimport { WildHealthTableCell } from \"../../../common/components/wildHealthTable/WildHealthTableCell\";\nimport { WildHealthTableRow } from \"../../../common/components/wildHealthTable/WildHealthTableRow\";\nimport { useFacade } from \"./manageLeadSourcesComponent.hooks\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\n\nexport const ManageLeadSourcesComponent: React.FC = () => {\n const [\n {\n isLoading,\n leadSources,\n anchorElements,\n creationName,\n errors,\n isCreating\n },\n handleCreate,\n handleDelete,\n handleActivityChange,\n handleCreateChanges,\n handleOpenOptionsMenu,\n handleCloseOptionsMenu\n ] = useFacade();\n\n if (isLoading) {\n return (\n \n \n \n )\n }\n\n const renderTable = () => {\n if (!leadSources || !leadSources.length) {\n return \n }\n\n return (\n <>\n \n \n \n \n \n Name\n \n \n Show on sign-up page\n \n \n Patient Count\n \n \n Action\n \n \n \n \n {\n leadSources.map((source, index) =>\n \n {source.name}\n \n {\n !source.isOther &&\n \n \n OFF\n \n \n handleActivityChange(source.id)}\n disabled={!isElementEnabled([PermissionType.PatientAnalytics], UserType.Employee)}\n />\n \n \n ON\n \n \n }\n \n {source.count}\n \n handleOpenOptionsMenu(e, index)}\n >\n \n \n }\n permissions={[PermissionType.PatientAnalytics]}\n userType={UserType.Employee}\n />\n handleCloseOptionsMenu(index)}\n >\n handleDelete(source.id)}>Delete\n \n \n\n \n )\n }\n \n
\n
\n \n )\n }\n\n return (\n \n {\n renderTable()\n }\n \n \n \n \n \n handleCreateChanges(v.target.id, v.target.value)}\n />\n \n \n \n \n handleCreate()} disabled={isCreating} style={{ height: \"40px\" }}>\n \n \n Add Lead Source\n \n \n \n \n \n \n }\n permissions={[PermissionType.PatientAnalytics]}\n userType={UserType.Employee}\n />\n \n \n );\n}","import { useEffect, useState } from \"react\";\nimport { LeadSourceModel } from \"../../models/leadSource.models\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Subscription } from \"rxjs\";\nimport { leadSourcesQuery } from \"../../stores/leadSources.query\"\nimport { leadSourcesService } from \"../../services/leadSources.service\"\nimport { manageLeadSourcesComponentValidator } from \"./manageLeadSourcesComponent.validator\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\n\ninterface ManageLeadSourcesComponentState extends IErrorState {\n isLoading: boolean;\n leadSources: LeadSourceModel[];\n creationName: string;\n anchorElements: HTMLElement[],\n isCreating: boolean;\n}\n\nexport function useFacade(): [\n ManageLeadSourcesComponentState,\n () => void,\n (id: number) => void,\n (id: number) => void,\n (field: string, value: any) => void,\n (event: React.MouseEvent, index: number) => void,\n (index: number) => void\n] {\n const [state, setState] = useState({\n leadSources: [],\n creationName: '',\n anchorElements: [],\n isLoading: true,\n errors: {},\n isCreating: false\n } as ManageLeadSourcesComponentState);\n\n const handleCreateChanges = (field: string, value: any) => {\n manageLeadSourcesComponentValidator.validateAndSetState(state, setState, field, value);\n setState({ ...state, creationName: value });\n }\n\n const handleCreate = () => {\n manageLeadSourcesComponentValidator.validateAndSetState(state, setState, \"creationName\", state.creationName);\n if (!manageLeadSourcesComponentValidator.stateIsValid(state)) {\n return;\n }\n setState(state => ({ ...state, isCreating: true }));\n\n const cb = () => {\n setState(state => ({\n ...state,\n isCreating: false,\n }));\n }\n\n leadSourcesService.create(state.creationName.trim()).subscribe(() => {\n setState((state) => ({\n ...state,\n creationName: ''\n }))\n cb();\n }, cb);\n }\n\n const handleDelete = (id: number) => {\n leadSourcesService.delete(id);\n }\n\n const handleActivityChange = (id: number) => {\n leadSourcesService.changeActivity(id);\n }\n\n const updateAnchors = () => {\n setState({ ...state, anchorElements: state.anchorElements })\n }\n\n const handleOpenOptionsMenu = (event: React.MouseEvent, index: number) => {\n state.anchorElements = state.anchorElements.map(() => null);\n state.anchorElements[index] = event.currentTarget;\n updateAnchors();\n };\n\n const handleCloseOptionsMenu = (index: number) => {\n state.anchorElements[index] = null;\n updateAnchors();\n };\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources: leadSources\n }))\n }),\n\n ];\n\n leadSourcesService.getAll().subscribe(\n () => {\n setState(state => ({\n ...state,\n isLoading: false\n }))\n },\n () => {\n setState(state => ({\n ...state,\n isLoading: false\n }))\n }\n )\n\n return (() => {\n subscriptions.map(it => it.unsubscribe())\n })\n }\n\n useEffect(useEffectCB, []);\n\n return [\n state,\n handleCreate,\n handleDelete,\n handleActivityChange,\n handleCreateChanges,\n handleOpenOptionsMenu,\n handleCloseOptionsMenu\n ];\n}","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../constants/title.constants';\nimport { MenuItemTypes } from '../../../models/menu.models';\nimport { WildHealthPlaceHolder } from \"../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { WildHealthTabControl } from '../../common/components/wildHealthTabControl/WildHealthTabControl';\nimport { TabItem } from '../../common/components/wildHealthTabControl/wildHealthTabControl.hooks';\nimport { ManageLeadSourcesComponent } from \"../components/manageLeadSourcesComponent/ManageLeadSourcesComponent\";\n\nexport const LeadSourcesPage: React.FC = () => {\n const tabs: TabItem[] = [\n {\n title: 'Lead Sources',\n content: ,\n keepMounted: true,\n },\n {\n title: 'Lead Sources Report',\n content: ,\n keepMounted: true,\n },\n ];\n\n return (\n \n \n \n )\n}","import { createStyles, makeStyles, Theme } from \"@material-ui/core\";\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n tooltip: {\n position: 'absolute',\n background: colors.white,\n border: `1px solid ${colors.stroke}`,\n boxShadow: ` 0px 4px 9px rgba(168, 173, 198, 0.15)`,\n borderRadius: 2,\n padding: 16,\n fontStyle: 'normal',\n fontWeight: 400,\n fontSize: 14,\n display: 'none',\n width: 'max-content',\n maxWidth: '50vw',\n zIndex: 11,\n\n },\n icon: {\n cursor: 'pointer',\n '&:hover ~ .tooltip-element': {\n display: 'flex',\n },\n },\n patientInfo: {\n minWidth: 150,\n fontSize: 14,\n wordBreak: 'break-word'\n },\n infoTitle: {\n minWidth: 70,\n fontSize: 14,\n },\n infoTitleSecondaty: {\n minWidth: 110,\n fontSize: 14,\n },\n patientTitle: {\n fontWeight:600,\n fontSize: 16\n },\n patientSubtext: {\n color: colors.gray1\n }\n \n }),\n);","import { Box } from \"@material-ui/core\";\nimport InfoIcon from '@material-ui/icons/Info';\nimport { colors } from '../../../common/constants/colors';\nimport clsx from \"clsx\";\nimport React from \"react\";\nimport { PageTitleComponent } from \"../../../../components/pageTitleComponent/PageTitleComponent\";\nimport { Gender } from \"../../../common/models/user.models\";\nimport { EmployeeType } from \"../../../employee/models/employee.enums\";\nimport { useFacade } from \"./patientTitleComponent.hooks\";\nimport { useStyles } from \"./PatientTitleComponent.style\";\nimport { fullName } from \"../../../common/helpers/display-name\";\nimport { EmployeeShortModel } from \"../../../employee/models/employee.models\";\nimport { HealthSummaryDataModel } from \"../../../healthSummary/models/healthSummary.models\";\nimport { PatientMedicationModel } from \"../../../patientSupplements/models/patientMedicationModel\";\nimport { PatientSupplementModel } from \"../../../patientSupplements/models/patientSupplementModel\";\nimport { displayDate, displayShortAge } from '../../../common/helpers/display-date';\n\ninterface PatientTitleComponentProps {\n patientId: number,\n}\n\nexport const PatientTitleComponent: React.FC = (props: PatientTitleComponentProps) => {\n const {\n patientId\n } = props;\n const classes = useStyles();\n\n const displayNamesList = (items: PatientMedicationModel[] | PatientSupplementModel[]) => {\n if (!items || !items.length) {\n return '-'\n }\n let res = '';\n const viewItems = items && items.length > 5 ? items.slice(0, 5) : items\n viewItems.forEach((el, i) => (i === viewItems.length - 1) ? res += `${el.name}` : res += `${el.name}, `)\n\n return res;\n }\n\n const displayProblemName = (items: HealthSummaryDataModel[]) => {\n if (!items || !items.length) {\n return '-'\n }\n let res = '';\n const viewItems = items.length > 5 ? items.slice(0, 5) : items\n viewItems.forEach((el, i) => (i === viewItems.length - 1) ? res += `${el.name}` : res += `${el.name}, `)\n\n return res;\n }\n\n const displayAssignedEmployees = (assignedEmployees: EmployeeShortModel[]) => {\n if (assignedEmployees.length) {\n return assignedEmployees.map((e) => fullName(e)).join(\", \");\n }\n return '-';\n }\n\n const [\n {\n patient,\n vital,\n problemList\n },\n displayPatientName,\n ] = useFacade(patientId);\n\n const displayPatientBirthday = (date: Date) => {\n return <>{displayShortAge(patient.birthday)}{` (${displayDate(patient.birthday)})`}\n } \n\n return (\n \n \n \n \n \n \n Age: \n {patient.birthday ? displayPatientBirthday(patient.birthday) : '-'} \n \n \n Sex: \n {patient.gender ? Gender[patient.gender] : '-'}\n \n \n BMI: \n {vital.find(x => x.key === 'VITAL_VALUE_BMI')?.value ?? '-'}\n \n \n Height: \n {vital.find(x => x.key === 'VITAL_VALUE_HEIGHT')?.value ?? '-'}\n \n \n Weight: \n {vital.find(x => x.key === 'VITAL_VALUE_WEIGHT')?.value ?? '-'}\n \n \n Plan: \n {patient.subscription?.displayName ? patient.subscription.displayName : '-'}\n \n \n \n \n State: \n {patient.shippingAddress?.state ? patient.shippingAddress.state : '-'}\n \n \n Supplements: \n {displayNamesList(patient.supplements)}\n \n \n Medications: \n {displayNamesList(patient.medications)}\n \n \n Problem list: \n {displayProblemName(problemList)}\n \n \n HC: \n {displayAssignedEmployees(patient.assignedEmployees.filter(c => c.type === EmployeeType.HealthCoach))}\n \n \n MD: \n {displayAssignedEmployees(patient.assignedEmployees.filter(c => c.type === EmployeeType.Provider))}\n \n \n \n \n : <>\n }\n />\n \n )\n}\n\n","import { useEffect, useState } from \"react\";\nimport { Subscription } from \"recompose\";\nimport { profileService } from \"../../../account/services/profile.service\";\nimport { profileQuery } from \"../../../account/stores/profileStore\";\nimport { DataSpecificationsEnum } from \"../../../common/constants/data-specifications\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { metaTagsService } from \"../../../employee/services/metaTags.service\";\nimport { HealthSummaryDataModel } from \"../../../healthSummary/models/healthSummary.models\";\nimport { PatientModel } from \"../../models/patient.model\";\nimport { patientsService } from \"../../services/patients.service\";\nimport { patientsQuery } from \"../../stores/patientsStore\";\nimport { healthSummaryVitalsService } from \"../../../healthSummary/services/healthSummaryVitals.service\";\n\ninterface PatientTitleComponentState {\n vital: HealthSummaryDataModel[];\n isLoading: boolean;\n patient: PatientModel;\n problemList: HealthSummaryDataModel[];\n}\n\nexport function useFacade(patientId: number): [\n PatientTitleComponentState,\n (patient: PatientModel) => string] {\n\n const [state, setState] = useState({\n vital: [],\n isLoading: true,\n patient: null,\n problemList: null,\n } as PatientTitleComponentState);\n\n const displayPatientName = (patient: PatientModel) => {\n return patient\n ? `${patient.firstName} ${patient.lastName}`\n : 'Loading...';\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(patientsQuery.targetPatient$, targetPatient => {\n if (targetPatient?.id === patientId) {\n setState(state => ({ ...state, patient: targetPatient, isLoading: false }));\n }\n }),\n onEmit(profileQuery.patientProfileProblemList$, problemList => {\n setState(state => ({ ...state, problemList: problemList }));\n })\n ];\n\n patientsService.get(patientId, DataSpecificationsEnum.UpdatePatientSpecification);\n healthSummaryVitalsService.getVitals(patientId).subscribe((response) => setState(state => ({...state, vital: response})));\n profileService.getPatientProblemList(patientId).subscribe();\n metaTagsService.getMetaTags(patientId).subscribe();\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [patientId]);\n\n return [\n state,\n displayPatientName\n ];\n}","import { Box } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useHistory } from \"react-router\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { PatientTitleComponent } from \"../../../patients/components/PatientTitleComponent/PatientTitleComponent\";\nimport { CreateFollowUpComponent } from \"../../components/createFollowUp/CreateFollowUpComponent\";\nimport { NoteModel } from \"../../models/notes.models\";\n\nexport const CreateFollowUpNotePage: React.FC = (props: any) => {\n const patientId = Number(props.match.params.patientId);\n const appointmentId = props?.location?.state?.appointmentId as number | null;\n const note = props?.location?.state?.note as NoteModel | null;\n const fromDraftNotePage = props?.location?.state?.fromDraftNotePage as boolean | false;\n const history = useHistory();\n\n return (\n \n \n \n { \n fromDraftNotePage && \n \n }\n\n navigationService.goBack(history) : () => navigationService.toCoachAppointments(history)}\n goBackTitle={\"Back to schedule\"}\n />\n \n\n \n )\n}\n","import { Box } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useHistory } from \"react-router\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { PatientTitleComponent } from \"../../../patients/components/PatientTitleComponent/PatientTitleComponent\";\nimport { CreateInitialConsultComponent } from \"../../components/createInitialConsult/CreateInitialConsultComponent\";\nimport { NoteModel } from \"../../models/notes.models\";\n\nexport const CreateInitialConsultNotePage: React.FC = (props: any) => {\n const patientId = Number(props.match.params.patientId);\n const appointmentId = props?.location?.state?.appointmentId as number | null;\n const note = props?.location?.state?.note as NoteModel | null;\n const fromDraftNotePage = props?.location?.state?.fromDraftNotePage as boolean | false;\n const history = useHistory();\n\n return (\n \n \n \n { \n fromDraftNotePage && \n \n }\n\n navigationService.goBack(history) : () => navigationService.toCoachAppointments(history)}\n goBackTitle={\"Back to schedule\"}\n />\n \n \n \n )\n}\n","import { Box } from \"@material-ui/core\";\nimport React from \"react\";\nimport { useHistory } from \"react-router\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { PatientTitleComponent } from \"../../../patients/components/PatientTitleComponent/PatientTitleComponent\";\nimport { CreateSimpleComponent } from \"../../components/createSimple/CreateSimpleComponent\";\nimport { NoteModel, NotesType } from \"../../models/notes.models\";\n\nexport const CreateSimpleNotePage: React.FC = (props: any) => {\n const patientId = Number(props.match.params.patientId);\n const appointmentId = props?.location?.state?.appointmentId as number | null;\n const fromDraftNotePage = props?.location?.state?.fromDraftNotePage as boolean | false;\n const history = useHistory();\n const note = props?.location?.state?.note as NoteModel | null;\n const noteType = props.match.params.type ? Number(props.match.params.type) : NotesType.Internal;\n\n return (\n \n \n\n { \n fromDraftNotePage && \n \n }\n\n navigationService.goBack(history) : () => navigationService.toCoachAppointments(history)}\n goBackTitle={\"Back to schedule\"}\n />\n \n \n \n )\n}","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: '1.6rem',\n fontWeight: 500,\n lineHeight: 1.18,\n letterSpacing: 0.17,\n color: '#292929 !important'\n },\n subTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: 1.38,\n letterSpacing: 0.8,\n },\n sectionTitle: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: 1.38,\n letterSpacing: 0.8,\n color: 'rgba(0, 0, 0, 0.56)',\n },\n regular: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 15,\n fontWeight: 300,\n lineHeight: 1.33,\n letterSpacing: 0.15,\n },\n divider: {\n backgroundColor: \"#f9f9fb\",\n margin: 'auto',\n height: 2,\n },\n textWrap: {\n wordBreak: 'break-all',\n display: 'flex',\n flexWrap: \"wrap\"\n },\n colorMain: {\n color: colors.main\n },\n renderText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 16,\n fontWeight: 400,\n lineHeight: 1.33,\n letterSpacing: 0.15,\n color: colors.black,\n },\n })\n);\n","import { Box, Button, CircularProgress, Grid, IconButton, useTheme, useMediaQuery, Divider } from '@material-ui/core';\nimport ArrowBackIcon from '@material-ui/icons/ArrowBack';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport moment from 'moment';\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PageTitleComponent } from '../../../../components/pageTitleComponent/PageTitleComponent';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthExternalLinkButton } from '../../../common/components/WildHealthLinkButton';\nimport { WildHealthPlaceHolder } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder';\nimport { NoteSignatureComponent } from \"../../components/noteSignature/NoteSignatureComponent\";\nimport { useFacade } from './patientFollowUpPage.hooks';\nimport { useStyles } from './patientFollowUpPage.styles';\nimport { TextMarkdownComponent } from '../../components/textMarkdownComponent/TextMarkdownComponent';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { renderEducation, renderGoals } from '../../helpers/noteHelpers';\nimport { NoteGoalsVersion } from '../../models/notes.models';\nimport {SupplementSource} from \"../../../patientSupplements/models/patientSupplementModel\";\n\nexport const PatientFollowUpPage: React.FC = (props: any) => {\n const noteId = Number(props.match.params.noteId);\n\n const [\n {\n note,\n content,\n isPdfDownloading,\n },\n handleGoBack,\n handleDownloadPdf,\n ] = useFacade(noteId);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const isLoading = !content || !note;\n\n const renderTitle = () => {\n return `${note.employee.firstName} - ${moment(note.visitDate).format(\"ll\")}`;\n }\n\n const renderNewGoals = () => {\n return \n {\n content.plan?.dietGoals?.length > 0 &&\n \n {\n renderGoals('Diet', content.plan.dietGoals, commonClasses, isSmallScreen)\n }\n \n }\n {\n content.plan.dietEducations?.length > 0 &&\n \n {\n renderEducation(content.plan.dietEducations,commonClasses)\n }\n \n }\n {\n content.plan?.exerciseGoals?.length > 0 &&\n \n {\n renderGoals('Exercise/Recovery', content.plan.exerciseGoals, commonClasses, isSmallScreen)\n }\n \n }\n {\n content.plan.exerciseEducations?.length > 0 &&\n \n {\n renderEducation(content.plan.exerciseEducations,commonClasses)\n }\n \n }\n {\n content.plan?.sleepGoals?.length > 0 &&\n \n {\n renderGoals('Sleep', content.plan.sleepGoals, commonClasses, isSmallScreen)\n }\n \n }\n {\n content.plan.sleepEducations?.length > 0 &&\n \n {\n renderEducation(content.plan.sleepEducations,commonClasses)\n }\n \n }\n {\n content.plan?.neuroGoals?.length > 0 &&\n \n {\n renderGoals('Neuro', content.plan.neuroGoals, commonClasses, isSmallScreen)\n }\n \n }\n {\n content.plan.neuroEducations?.length > 0 &&\n \n {\n renderEducation(content.plan.neuroEducations,commonClasses)\n }\n \n }\n {\n content.plan?.longevityGoals?.length > 0 &&\n \n {\n renderGoals('Longevity', content.plan.longevityGoals, commonClasses, isSmallScreen)\n }\n \n }\n {\n content.plan.longevityEducations?.length > 0 &&\n \n {\n renderEducation(content.plan.longevityEducations,commonClasses)\n }\n \n }\n {\n content.plan.mindfulnessGoals?.length > 0 &&\n \n {\n renderGoals('Mindfulness', content.plan.mindfulnessGoals, commonClasses, isSmallScreen)\n }\n \n }\n {\n content.plan.mindfulnessEducations?.length > 0 &&\n \n {\n renderEducation(content.plan.mindfulnessEducations,commonClasses)\n }\n \n }\n \n }\n\n\n const renderNoteHeader = () => {\n return isSmallScreen ? (\n \n {note.name}\n {\n note.title &&\n {note.title}\n }\n \n ) : <>\n }\n\n const renderTodayCoachingContent = () => {\n return (\n \n \n Today’s Coaching\n \n \n \n \n \n \n \n \n );\n }\n\n const renderNoGoalsPlaceHolder = () => {\n return (\n \n \n \n Goals\n \n \n {isSmallScreen && \n \n }\n \n \n \n \n \n \n )\n }\n\n const renderOldGoals = () => {\n return \n {\n content.goals.map((goal, goalIndex) =>\n \n \n Goal {goalIndex + 1}:\n \n \n \n \n\n \n \n {\n goal.interventions.map((intervention, interventionIndex) =>\n \n \n \n Intervention {interventionIndex + 1}:\n \n \n \n \n \n \n )\n }\n \n \n \n )\n }\n \n }\n\n const renderGeneralGoals = () => {\n if (Boolean(!content?.goalsVersion) && Boolean(!content?.goals.length)) {\n return renderNoGoalsPlaceHolder();\n }\n\n if (content?.goalsVersion === NoteGoalsVersion.New && content?.goals.length) {\n return renderOldGoals()\n }\n\n if (content?.goalsVersion === NoteGoalsVersion.New\n && content.plan.dietGoals.length === 0\n && content.plan.exerciseGoals.length === 0\n && content.plan.sleepGoals.length === 0\n && content.plan.neuroGoals.length === 0\n && content.plan.mindfulnessGoals.length === 0\n && content.plan.longevityGoals.length === 0) {\n return renderNoGoalsPlaceHolder();\n }\n\n return (\n \n \n \n Goals\n \n \n {isSmallScreen && \n \n }\n {content?.goalsVersion === NoteGoalsVersion.New\n ? renderNewGoals()\n : renderOldGoals()\n }\n \n )\n }\n\n const renderSupplements = () => {\n if (content.medicationsSupplements.fullscriptSupplements?.length <= 0 && content.medicationsSupplements.medications.filter(x => !x.isInCurrent).length <= 0 && content.medicationsSupplements.supplements.filter(x => !x.isInCurrent).length <= 0) {\n return (\n \n \n Supplements/Medications added or changed\n \n \n \n \n \n )\n }\n\n let globalIndex = 0;\n return (\n \n \n Supplements/Medications added or changed\n \n \n {\n content.medicationsSupplements.medications.filter(i => !i.isInCurrent).map((item, index) => {\n return (\n \n \n {`${++globalIndex}. ${item.name}`}\n \n \n {item.dosage}\n \n \n )\n })\n }\n {\n content.medicationsSupplements.supplements.filter(i => !i.isInCurrent).map((item, index) => {\n return (\n \n \n {`${++globalIndex}. ${item.name}`}\n \n \n {item.dosage}\n \n \n \n {\n item.source === SupplementSource.Fullscript\n ? 'Purchase via Fullscript'\n : 'Purchase here'\n }\n \n } />\n \n \n )\n })\n }\n {\n content.medicationsSupplements.fullscriptSupplements?.map((item, index) => {\n return (\n \n \n {`${++globalIndex}. ${item.name}`}\n \n \n {item.dosage}\n \n \n \n Purchase via Fullscript\n \n } />\n \n \n )\n })\n }\n \n \n )\n }\n\n const renderStoppedSupplements = () => {\n if (!content.medicationsSupplements.medications.filter(i => i.isStopped).length && !content.medicationsSupplements.supplements.filter(i => i.isStopped).length) {\n return (\n \n \n \n Supplements/Medications stopped\n \n \n {isSmallScreen && \n \n }\n \n \n \n \n )\n }\n\n let globalIndex = 0;\n return (\n \n \n \n Supplements/Medications stopped\n \n \n {isSmallScreen && \n \n }\n \n {\n content.medicationsSupplements.medications.filter(i => i.isStopped).map((item, index) => {\n return isSmallScreen ? (\n \n \n Medication {index + 1}:\n \n \n {item.name} - {item.dosage}\n \n \n ) : (\n \n {`${++globalIndex}. ${item.name}`}\n \n )\n })\n }\n {\n content.medicationsSupplements.supplements.filter(i => i.isStopped).map((item, index) => {\n return isSmallScreen ? (\n \n \n Supplements {index + 1}:\n \n \n {item.name} - {item.dosage}\n \n \n ) : (\n \n {`${++globalIndex}. ${item.name}`}\n \n )\n })\n }\n \n \n )\n }\n\n const renderNextSteps = () => {\n return (\n \n \n \n Next Steps\n \n \n {isSmallScreen && \n \n }\n \n {\n content.steps.length ?\n content.steps.map((item, index) => {\n return isSmallScreen ? (\n \n \n Step {index + 1}:\n \n \n \n \n \n ) : (\n \n {`${index + 1}.`}\n \n \n )\n }) :\n \n \n \n }\n \n \n )\n }\n\n const displayDownloadPdfButton = () => {\n if (isPdfDownloading === true) {\n return (\n \n \n \n );\n }\n return (\n \n );\n }\n\n const renderNote = () => {\n return ([\n \n {renderNoteHeader()}\n ,\n \n {renderGeneralGoals()}\n ,\n \n {renderSupplements()}\n ,\n \n {renderStoppedSupplements()}\n ,\n \n {content.todayCoachingContent && renderTodayCoachingContent()}\n ,\n \n {renderNextSteps()}\n ,\n \n \n \n ])\n }\n\n const pageName = (\n handleGoBack()}>\n \n \n }\n title={\n isLoading\n ? 'Loading . . .'\n : renderTitle()\n }\n endAdornment={\n displayDownloadPdfButton()\n }\n />\n );\n\n return (\n \n \n {isSmallScreen && (\n <>\n \n handleGoBack()}>\n \n \n \n Back to Notes\n \n \n \n handleDownloadPdf(note)}>\n \n \n \n \n )}\n {\n isLoading ?\n :\n \n {renderNote()}\n \n }\n \n \n )\n};","import { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router';\nimport { Subscription } from \"recompose\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { GetMaximumVersionOfNote } from '../../helpers/noteHelpers';\nimport { FollowUpContent, NoteModel } from '../../models/notes.models';\nimport { followUpNotePdfService } from '../../services/notes-pdf.service';\nimport { notesService } from '../../services/notes.service';\nimport { notesQuery } from '../../stores/notes';\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\ninterface PatientInitialConsultPageState {\n note: NoteModel;\n content: FollowUpContent;\n isPdfDownloading: boolean;\n}\n\nexport function useFacade(noteId: number): [PatientInitialConsultPageState, () => void, (note: NoteModel) => void] {\n const [state, setState] = useState({\n note: null,\n content: null,\n isPdfDownloading: false,\n } as PatientInitialConsultPageState);\n\n const flags = useFlags();\n\n const history = useHistory();\n\n const handleGoBack = () => {\n navigationService.toPatientNotes(history);\n }\n\n const handleDownloadPdf = (note: NoteModel) => {\n setState(state => ({...state, isPdfDownloading: true}));\n\n const cb = () => setState({ ...state, isPdfDownloading: false });\n\n const noteForDownload = GetMaximumVersionOfNote(note);\n notesService.downloadNote(noteForDownload.id, noteForDownload.name, false).subscribe(\n cb,\n () => {\n followUpNotePdfService.downloadNotePdf(noteForDownload, state.content, false, noteForDownload.id, '', flags).subscribe(cb, cb);\n }\n )\n }\n\n /**\n * Load all ongoing cares\n * Manage subscriptions with auto-cleanup\n */\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(notesQuery.notes$, notes => {\n const note = notes?.find(x => x.id === noteId);\n if (note) {\n setState(state => ({\n ...state,\n note\n }));\n\n notesService.getContentByPatient(GetMaximumVersionOfNote(note).id).subscribe(result =>\n setState(state => ({\n ...state,\n content: JSON.parse(result.content),\n }))\n )\n }\n })\n ];\n\n if (!state.note) {\n notesService.getByPatient().subscribe();\n }\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, [noteId]);\n\n return [state, handleGoBack, handleDownloadPdf];\n}","import { useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { NoteModel, NotesType } from \"../../models/notes.models\";\nimport { notesService } from \"../../services/notes.service\";\nimport {GetMaximumVersionOfNote, handleDownloadNoteByPatientPdfBd} from \"../../helpers/noteHelpers\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\n\nexport interface NoteCardComponentState {\n isDownloading: boolean;\n}\n\nexport function useFacade(): [NoteCardComponentState, (note: NoteModel) => void, (note: NoteModel) => void] {\n const history = useHistory();\n const [state, setState] = useState({\n isDownloading: false\n } as NoteCardComponentState);\n\n const flags = useFlags();\n\n const handleViewDetails = (note: NoteModel) => {\n\n switch (note.type) {\n case NotesType.Initial: return navigationService.toPatientInitialConsult(history, note.id);\n case NotesType.FollowUp: return navigationService.toPatientFollowUp(history, note.id);\n case NotesType.Blank: return navigationService.toPatientBlank(history, note.id);\n case NotesType.HistoryAndPhysicalInitial: return navigationService.toPatientHistoryAndPhysical(history, note.id);\n case NotesType.HistoryAndPhysicalFollowUp: return navigationService.toPatientHistoryAndPhysicalFollowup(history, note.id);\n case NotesType.HistoryAndPhysicalGroupVisit: return navigationService.toPatientHistoryAndPhysicalGroupVisit(history, note.id);\n case NotesType.Soap: return navigationService.toPatientSoap(history, note.id);\n default: return;\n }\n }\n\n const handleDownloadPdf = (note: NoteModel) => {\n setState({ ...state, isDownloading: true });\n const cb = () => setState({ ...state, isDownloading: false });\n var n = GetMaximumVersionOfNote(note);\n notesService.downloadNote(n.id, n.name, false).subscribe(\n cb,\n () => {\n handleDownloadNoteByPatientPdfBd(n, flags).subscribe(cb, cb);\n }\n )\n }\n\n\n return [state, handleViewDetails, handleDownloadPdf];\n}","import { Box, CircularProgress, IconButton, ListItem, ListItemIcon, ListItemSecondaryAction, ListItemText, useTheme, useMediaQuery } from '@material-ui/core';\nimport GetAppIcon from '@material-ui/icons/GetApp';\nimport SpeakerNotesIcon from '@material-ui/icons/SpeakerNotes';\nimport moment from 'moment';\nimport React from 'react';\nimport { NoteModel } from '../../models/notes.models';\nimport { useFacade } from './noteCardComponent.hooks';\nimport { colors } from \"../../../common/constants/colors\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\n\ninterface NoteCardComponentProps {\n keyIndex: string;\n note: NoteModel;\n}\n\nexport const NoteCardComponent: React.FC = (props: NoteCardComponentProps) => {\n const {\n keyIndex,\n note,\n } = props;\n\n const [\n {\n isDownloading\n },\n handleViewDetails,\n handleDownloadPdf\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const showDownloadButton = () => {\n\n if (isDownloading) {\n return (\n \n \n \n );\n }\n return (\n handleDownloadPdf(note)}>\n \n \n );\n }\n\n const renderSmallContent = () => {\n return <>\n \n \n {moment(note.visitDate).format(\"ll\")}\n \n \n {\n showDownloadButton()\n }\n \n \n \n {`${note.name} ${note.title ? ' - ' + note.title : ''}`}\n \n \n handleViewDetails(note)}>\n View\n \n \n \n }\n\n return (\n <>\n {isSmallScreen ? renderSmallContent() : (\n handleViewDetails(note)}\n >\n \n \n \n \n \n {\n showDownloadButton()\n }\n \n \n )}\n \n );\n}\n","import { createStyles, makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n title: {\n color: colors.systemBlack,\n fontSize: '2rem',\n fontFamily: 'Be Vietnam Pro',\n fontWeight: 400,\n lineHeight: 1.334,\n },\n card: {\n boxShadow: \"0 2px 10px 0 rgba(0, 0, 0, 0.03)\",\n display: \"inline-block\",\n borderRadius: \"4px\",\n width: '100%',\n [theme.breakpoints.down(\"xs\")]: {\n padding: 20,\n marginBottom: 10\n },\n },\n cardDivider: {\n backgroundColor: colors.bg,\n margin: 'auto',\n height: 2,\n [theme.breakpoints.down(\"xs\")]: {\n backgroundColor: colors.separators,\n marginBottom: 20,\n },\n },\n bgWhiteMain: {\n backgroundColor: colors.white,\n [theme.breakpoints.down(\"xs\")]: {\n backgroundColor: colors.bg,\n },\n }\n })\n);\n","import { Box, Card, CardContent, CardHeader, Divider, Grid, List, useTheme, useMediaQuery } from '@material-ui/core';\nimport React from 'react';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { WildHealthPlaceHolder } from \"../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolder\";\nimport { EmployeeType } from '../../../employee/models/employee.enums';\nimport { EmployeeShortModel } from '../../../employee/models/employee.models';\nimport { NoteCardComponent } from '../../components/noteCard/NoteCardComponent';\nimport { useFacade } from './patientNotesPage.hooks';\nimport { useStyles } from './patientNotesPage.styles';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport clsx from 'clsx';\nimport emptyNotes from \"@img/placeholders/EmptyReport.png\";\nimport { WildHealthPlaceHolderBase } from '../../../common/components/wildHealthPlaceHolder/WildHealthPlaceHolderBase';\n\nexport const PatientNotesPage: React.FC = () => {\n const [\n state,\n ] = useFacade();\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n let employeeTypeMap = {};\n employeeTypeMap[EmployeeType.HealthCoach] = 'Health Coach';\n employeeTypeMap[EmployeeType.Provider] = 'Precision Provider';\n\n const employeeDisplayName = (employee: EmployeeShortModel) => {\n return `${employeeTypeMap[employee.type]}: ${employee.firstName} ${employee.lastName}`\n }\n\n const renderSmallContent = () => {\n return <>\n {\n state.groups.map((item, index) =>\n \n \n {employeeDisplayName(item.employee)}\n \n \n {item.notes.map((note, index) =>\n \n \n \n )}\n \n )\n }\n \n }\n\n const renderNotes = () => {\n if (!state.groups || !state.groups.length) {\n return isSmallScreen ? (\n \n \n \"img\"\n \n \n ) : \n }\n\n return (\n <>\n {isSmallScreen ? renderSmallContent() : (\n <>\n {\n state.groups.map((item, index) =>\n \n \n\n \n\n \n \n {item.notes.map((note, index) => )}\n \n \n \n )\n }\n \n )}\n \n )\n }\n\n return (\n \n \n {isSmallScreen && (\n \n Notes\n \n )}\n {state.isLoading\n ? \n : \n \n {renderNotes()}\n \n \n }\n \n \n )\n};","import { useEffect, useState } from 'react';\nimport { Subscription } from \"recompose\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { NotesGroupModel } from '../../models/notes.models';\nimport { notesQuery } from '../../stores/notes';\nimport {notesService} from \"../../services/notes.service\";\n\ninterface PatientNotesPageState {\n groups: NotesGroupModel[];\n isLoading: boolean;\n}\n\nexport function useFacade(): [PatientNotesPageState] {\n const [state, setState] = useState({\n groups: [],\n isLoading: true,\n } as PatientNotesPageState);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(notesQuery.notesGroups$, groups => {\n setState(state => ({...state, groups}));\n })\n ];\n\n const cb = () => setState(state => ({...state, isLoading: false}));\n\n notesService.getByPatient().subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state];\n}","import React from 'react';\nimport { Box, useTheme, useMediaQuery } from '@material-ui/core';\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { TabItem } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.hooks\";\nimport { useFacade } from \"./patientOrdersPage.hooks\";\nimport { WildHealthTabControl } from \"../../../common/components/wildHealthTabControl/WildHealthTabControl\";\nimport { DnaOrdersComponent } from \"../../components/dnaOrdersComponent/DnaOrdersComponent\";\nimport { LabComponent } from \"../../components/labComponent/LabComponent\";\nimport { EpigeneticComponent } from '../../components/epigeneticComponent/EpigeneticComponent';\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { useStylesThreeWidthTabs, useStyles } from \"../../../common/components/wildHealthTabControl/wildHealthTabControl.styles\";\nimport clsx from 'clsx';\nimport { AppointmentsOrderComponent } from '../../components/appointmentsOrderComponent/AppointmentsOrderComponent';\nimport { authQuery } from '../../../auth/stores/auth/auth.query';\n\nexport const PatientOrdersPage: React.FC = () => {\n\n const [\n {\n selectedTab,\n },\n handleChangeTab,\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const tabsStyle = useStylesThreeWidthTabs();\n const defaultStyle = useStyles();\n\n const tabs: TabItem[] = [\n {\n title: 'Lab Orders',\n content: ,\n keepMounted: true,\n },\n {\n title: 'DNA Orders',\n content: ,\n keepMounted: true,\n },\n {\n title: 'Epigenetic Orders',\n content: ,\n keepMounted: true,\n }\n ];\n\n if (!authQuery.isLicensingPractice())\n {\n tabs.push({\n title: 'Appointments',\n content: ,\n keepMounted: true,\n });\n }\n\n return (\n \n \n {isSmallScreen && (\n \n Orders\n \n )}\n \n \n\n \n )\n};","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgFacebookIcon = function SvgFacebookIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 15,\n height: 26,\n viewBox: \"0 0 15 26\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.4334 0.833344C8.79791 0.833344 7.2294 1.48304 6.07292 2.63952C4.91645 3.79599 4.26675 5.36451 4.26675 7.00001V10.4333H0.966748C0.801062 10.4333 0.666748 10.5677 0.666748 10.7333V15.2667C0.666748 15.4324 0.801063 15.5667 0.966748 15.5667H4.26675V24.8667C4.26675 25.0324 4.40106 25.1667 4.56675 25.1667H9.10008C9.26577 25.1667 9.40008 25.0324 9.40008 24.8667V15.5667H12.7293C12.867 15.5667 12.987 15.473 13.0204 15.3394L14.1537 10.8061C14.201 10.6168 14.0578 10.4333 13.8626 10.4333H9.40008V7.00001C9.40008 6.72595 9.50895 6.46312 9.70274 6.26933C9.89652 6.07555 10.1594 5.96668 10.4334 5.96668H13.9001C14.0658 5.96668 14.2001 5.83236 14.2001 5.66668V1.13334C14.2001 0.967658 14.0658 0.833344 13.9001 0.833344H10.4334Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgFacebookIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/FacebookIcon.3d923bb5.svg\";\nexport { ForwardRef as ReactComponent };","import { useEffect, useState } from 'react';\nimport { Subscription } from 'rxjs';\nimport { onEmit } from '../../../common/helpers/on-emit';\nimport { ordersQuery } from '../../stores/ordersStore/orders.query';\nimport { ordersStore } from '../../stores/ordersStore/orders.store';\nimport { OrderTabs } from '../../models/orders.models';\n\ninterface PatientOrdersPageState {\n selectedTab: number;\n}\n\nexport function useFacade(): [\n PatientOrdersPageState,\n (tab: number) => void,\n] {\n const [state, setState] = useState({\n selectedTab: 0,\n } as PatientOrdersPageState);\n\n const handleChangeTab = (tab: OrderTabs) => {\n ordersStore.setTab(tab);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(ordersQuery.tab$, tab =>\n setState(state => ({...state, selectedTab: tab}))\n )\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleChangeTab\n ];\n}","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: {\n flexGrow: 1,\n maxWidth: '622px',\n },\n headerText: {\n fontSize: '36px',\n fontWeight: 500,\n lineHeight: '54px',\n color: colors.main,\n },\n headerTextSM: {\n fontSize: '22px',\n fontWeight: 500,\n lineHeight: '34px',\n color: colors.main,\n },\n image: {\n width: \"100%\",\n objectFit: \"fill\",\n },\n shareContent: {\n width: 216,\n },\n orContent: {\n height: 80,\n },\n orDivider: {\n flex: 1,\n },\n shareBtn: {\n flex: 1,\n width: 56,\n },\n codeContent: {\n width: 128,\n textAlign: 'center',\n }\n })\n);\n","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgTwitterIcon = function SvgTwitterIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 27,\n height: 23,\n viewBox: \"0 0 27 23\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M26.5797 3.30299C26.657 3.1953 26.5428 3.05625 26.4192 3.10415C25.5409 3.44459 24.623 3.67428 23.6867 3.78748C24.7293 3.16465 25.5337 2.21654 25.9799 1.09405C26.0253 0.979708 25.9004 0.877593 25.7927 0.937078C24.8238 1.4722 23.7788 1.85752 22.6932 2.07944C22.6478 2.08873 22.6009 2.07326 22.569 2.0396C21.7544 1.18003 20.6821 0.607718 19.5131 0.409946C18.3196 0.208019 17.0928 0.407955 16.0251 0.978396C14.9574 1.54884 14.1093 2.45752 13.6137 3.56193C13.1425 4.612 13.0153 5.78255 13.2477 6.90672C13.2658 6.99395 13.1975 7.0763 13.1086 7.07077C10.9965 6.9396 8.93292 6.37782 7.04491 5.41929C5.16169 4.4632 3.49405 3.13311 2.14356 1.51107C2.08362 1.43908 1.97002 1.4484 1.92635 1.53127C1.50613 2.32869 1.28611 3.21748 1.2867 4.12081C1.285 5.01999 1.50566 5.90563 1.92904 6.6989C2.35243 7.49216 2.96539 8.16842 3.71337 8.66748C2.92014 8.64589 2.14237 8.44979 1.43504 8.09424C1.34388 8.04842 1.23454 8.11366 1.23928 8.21558C1.29443 9.40122 1.72971 10.5915 2.48312 11.5048C3.28488 12.4766 4.39771 13.1417 5.63337 13.3875C5.15771 13.5322 4.66387 13.6086 4.1667 13.6141C3.89612 13.611 3.62606 13.591 3.35808 13.5544C3.25873 13.5408 3.17759 13.6352 3.21238 13.7292C3.58093 14.7259 4.23203 15.5955 5.08814 16.2304C6.00341 16.909 7.10747 17.2855 8.2467 17.3075C6.32297 18.8212 3.94788 19.6473 1.50004 19.6541C1.24851 19.655 0.9971 19.6468 0.746279 19.6297C0.604935 19.6201 0.539929 19.8084 0.661762 19.8807C3.04679 21.2961 5.77282 22.0442 8.55337 22.0408C10.6063 22.0621 12.6429 21.6742 14.5442 20.8996C16.4455 20.125 18.1734 18.9793 19.627 17.5295C21.0805 16.0796 22.2307 14.3547 23.0101 12.4554C23.7896 10.556 24.1828 8.52045 24.1667 6.46748V5.8277C24.1667 5.78561 24.1866 5.74602 24.2202 5.72066C25.1246 5.0378 25.9199 4.22255 26.5797 3.30299Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTwitterIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/TwitterIcon.abf6d37b.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgPhoneIcon = function SvgPhoneIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 23,\n height: 23,\n viewBox: \"0 0 23 23\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M1.16689 9.14733C3.72209 14.7125 8.26876 19.1372 13.9215 21.5359L14.8276 21.9396C16.9007 22.8632 19.3377 22.1615 20.6021 20.2768L21.7863 18.5119C22.1712 17.9381 22.054 17.1652 21.5162 16.7313L17.5004 13.4916C16.9106 13.0157 16.0432 13.1266 15.592 13.7354L14.3497 15.4118C11.1619 13.8393 8.57388 11.2513 7.00142 8.06352L8.67776 6.82123C9.28664 6.37 9.39748 5.50265 8.92162 4.9128L5.6818 0.896879C5.248 0.359171 4.47533 0.241882 3.90151 0.62664L2.12439 1.81824C0.227929 3.08985 -0.469912 5.54698 0.475064 7.62558L1.16585 9.14506L1.16689 9.14733Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgPhoneIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/PhoneIcon.fd2fd9db.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgClipboardIcon = function SvgClipboardIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 18,\n height: 18,\n viewBox: \"0 0 18 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6 0.25C2.82436 0.25 0.25 2.82436 0.25 6V13.1069C0.25 13.5211 0.585786 13.8569 1 13.8569C1.41421 13.8569 1.75 13.5211 1.75 13.1069V6C1.75 3.65279 3.65279 1.75 6 1.75H13.0129C13.4271 1.75 13.7629 1.41421 13.7629 1C13.7629 0.585786 13.4271 0.25 13.0129 0.25H6Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M15.4026 3.79326C12.1616 3.43104 8.83843 3.43104 5.59748 3.79326C4.6742 3.89645 3.93227 4.62304 3.82344 5.55348C3.43906 8.83996 3.43906 12.16 3.82344 15.4465C3.93227 16.377 4.6742 17.1035 5.59748 17.2067C8.83843 17.569 12.1616 17.569 15.4026 17.2067C16.3258 17.1035 17.0678 16.377 17.1766 15.4465C17.561 12.16 17.561 8.83996 17.1766 5.55348C17.0678 4.62304 16.3258 3.89645 15.4026 3.79326ZM5.76409 5.28398C8.89431 4.93413 12.1057 4.93413 15.2359 5.28398C15.4733 5.3105 15.6599 5.49821 15.6867 5.72773C16.0576 8.89843 16.0576 12.1016 15.6867 15.2723C15.6599 15.5018 15.4733 15.6895 15.2359 15.716C12.1057 16.0659 8.89431 16.0659 5.76409 15.716C5.52674 15.6895 5.34013 15.5018 5.31329 15.2723C4.94245 12.1016 4.94245 8.89844 5.31329 5.72773C5.34013 5.49821 5.52674 5.3105 5.76409 5.28398Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgClipboardIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ClipboardIcon.170fac49.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { Box, Divider, Grid, useMediaQuery, useTheme } from \"@material-ui/core\";\nimport { FacebookShareButton } from \"react-share\";\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { useStyles } from \"./referralLandingPage.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport information from \"@img/referralLanding/share_gift.png\";\nimport { ReactComponent as FacebookIcon } from '@img/icons/FacebookIcon.svg';\nimport { ReactComponent as TwitterIcon } from '@img/icons/TwitterIcon.svg';\nimport { ReactComponent as PhoneIcon } from '@img/icons/PhoneIcon.svg';\nimport { ReactComponent as ClipboardIcon } from '@img/icons/ClipboardIcon.svg';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { useFacade } from \"./referralLandingPage.hooks\";\n\nexport const ReferralLandingPage: React.FC = () => {\n const [\n {\n referralCode,\n },\n sendSocialNetwork\n ] = useFacade();\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n return (\n \n \n {isSmallScreen ? (\n <>\n \n \"img\"\n \n \n \n Get Your Friends Involved\n \n \n \n Share your code with family and friends to give them 25% off a Wild Health membership – and the gift of good health. Let’s crush our health goals together.\n \n \n \n \n \n \n Share this code\n \n \n { navigator.clipboard.writeText(referralCode) }}\n border={\"none\"}\n fullWidth\n style={{\n borderRadius: 8,\n height: 56,\n padding: 0,\n paddingInline: 24,\n }}\n >\n \n \n {referralCode}\n \n \n \n \n \n \n \n \n or\n \n \n \n \n Send by social networks\n \n \n \n sendSocialNetwork(\"facebook\")}\n color={\"referral\"}\n border={\"none\"}\n width={'56px'}\n style={{\n minWidth: 56,\n borderRadius: 8,\n height: 56,\n padding: 0,\n }}\n >\n \n \n \n sendSocialNetwork(\"twitter\")}\n color={\"referral\"}\n border={\"none\"}\n width={'56px'}\n style={{\n minWidth: 56,\n borderRadius: 8,\n height: 56,\n padding: 0\n }}\n >\n \n \n sendSocialNetwork(\"sms\")}\n color={\"referral\"}\n border={\"none\"}\n width={'56px'}\n style={{\n minWidth: 56,\n borderRadius: 8,\n height: 56,\n padding: 0\n }}\n >\n \n \n \n \n \n \n ) : (\n \n \n \n \n Get Your Friends Involved\n \n \n Share your code with family and friends to give them 25% off a Wild Health membership – and the gift of good health.
Let’s crush our health goals together.
\n
\n \n \n \n Send by social networks\n \n \n \n sendSocialNetwork(\"facebook\")}\n color={\"referral\"}\n border={\"none\"}\n width={'56px'}\n style={{\n minWidth: 56,\n borderRadius: 8,\n height: 56,\n padding: 0,\n }}\n >\n \n \n \n sendSocialNetwork(\"twitter\")}\n color={\"referral\"}\n border={\"none\"}\n width={'56px'}\n style={{\n minWidth: 56,\n borderRadius: 8,\n height: 56,\n padding: 0\n }}\n >\n \n \n sendSocialNetwork(\"sms\")}\n color={\"referral\"}\n border={\"none\"}\n width={'56px'}\n style={{\n minWidth: 56,\n borderRadius: 8,\n height: 56,\n padding: 0\n }}\n >\n \n \n \n \n \n or\n \n \n \n Share this code\n \n \n { navigator.clipboard.writeText(referralCode) }}\n border={\"none\"}\n fullWidth\n style={{\n borderRadius: 8,\n height: 56,\n padding: 0,\n paddingInline: 24,\n }}\n >\n \n \n {referralCode}\n \n \n \n \n \n \n \n
\n
\n \n \n \"img\"\n \n \n
\n )}\n\n
\n \n )\n}\n","import { useState, useEffect } from \"react\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { mobileModel } from \"react-device-detect\";\nimport { authQuery } from \"../../../auth/stores/auth\";\n\nexport interface ReferralLandingPageState {\n referralCode: string\n}\n\nexport function useFacade(): [\n ReferralLandingPageState,\n (type: string) => void\n] {\n const [state, setState] = useState({\n referralCode: \"null\",\n } as ReferralLandingPageState);\n\n const sendSocialNetwork = (type: string) => {\n switch (type) {\n case \"facebook\":\n Track(\"referral_button\", {\n type: 'Facebook',\n acValue: \"Facebook\",\n platform: PlatformName()\n })\n return;\n case \"twitter\":\n Track(\"referral_button\", {\n type: 'Twitter',\n acValue: \"Twitter\",\n platform: PlatformName()\n })\n window.open(`${RoutesConstants.twitterReferralLink}`, '_blank');\n return;\n case \"sms\":\n if (mobileModel === 'none' || !mobileModel) return;\n Track(\"referral_button\", {\n type: 'SMS',\n acValue: \"SMS\",\n platform: PlatformName()\n })\n const patientMobileNumber = authQuery.getPhoneNumber();\n window.location.href = mobileModel === 'iPhone' ? `sms:${encodeURIComponent(patientMobileNumber)}&${RoutesConstants.smsReferralLink}` : `sms:${encodeURIComponent(patientMobileNumber)}?${RoutesConstants.smsReferralLink}`;\n return;\n }\n }\n\n useEffect(() => {\n setState(state => ({\n ...state,\n referralCode: \"WILD18725\",\n }));\n }, []);\n\n return [state, sendSocialNetwork];\n}","import React from \"react\";\nimport { AuthenticatedLayoutComponent } from \"../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent\";\nimport { PagesNamesService } from \"../../../../constants/pagesNames.constants\";\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { PatientMedicationsSupplementsTabsComponent } from \"../../components/patientMedicationsSupplementsTabs/PatientMedicationsSupplementsTabsComponent\";\n\nexport const PatientSupplementsPage: React.FC = () => {\n return (\n \n \n \n )\n}\n","import { Box } from \"@material-ui/core\";\nimport React, { useEffect, useState } from 'react';\nimport { useHistory } from 'react-router';\nimport { useLocation } from \"react-router-dom\";\nimport { Subscription } from 'rxjs';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { ApplyCouponModel, MerchantCredentialsModel } from \"../../models/payment.models\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport {PaymentCouponModel, PaymentPriceModel, PaymentStrategy} from \"../../models/paymentPrice.models\";\nimport { BuyNewSubscriptionModel } from '../../models/subscription.models';\nimport { paymentService } from \"../../services/payment.service\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { subscriptionService } from '../../services/subscription.service';\nimport { paymentPlansQuery, paymentPlansStore } from \"../../stores/paymentPlansStore\";\nimport { paymentQuery } from \"../../stores/paymentStore\";\nimport { AddOnModel, SelectAddOnModel } from \"../../../addons/models/addOns.models\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { addOnsQuery } from \"../../../addons/stores\";\nimport { AgreementModel } from \"../../models/agreement.model\";\nimport { profileService } from \"../../../account/services/profile.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { OrderType } from \"../../../orders/models/orders.models\";\nimport { authService } from \"../../../auth/services/auth.service\";\n\n/**\n * Represents payment form state\n */\ninterface FinishOnboardingComponentState extends IErrorState {\n practiceId: number | null;\n publicKey: string | null;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n addOns: SelectAddOnModel[];\n isSubmitted: boolean;\n couponCode: string;\n coupon:PaymentCouponModel;\n isCouponApplied: boolean;\n agreements: AgreementModel[];\n isPaymentPlanApplied: boolean;\n exclusivePrices: PaymentPriceModel[];\n}\n\nconst getDefaultPaymentPrice = (period: PaymentPeriodModel): PaymentPriceModel => {\n const exclusivePrice = period.prices.find(x => x.isExclusive);\n if (exclusivePrice) {\n return exclusivePrice;\n }\n\n const annualPrice = period.prices.find(x => x.strategy === PaymentStrategy.FullPayment);\n return annualPrice\n ? annualPrice\n : period.prices[0];\n}\n\n/**\n * Custom Hook to manage a view Model for SelectPlan page view components\n */\nexport function useFacade(): [\n FinishOnboardingComponentState,\n (id: number) => void,\n () => JSX.Element,\n (id: number, value: boolean) => void,\n () => SelectAddOnModel[],\n (value: string) => void,\n (code: string) => void,\n () => void] {\n\n const history = useHistory();\n const { pathname } = useLocation();\n const mobileGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.mobileGetStarted);\n const paymentPlan = paymentPlansQuery.getSelectedPlan();\n const paymentPeriod = paymentPlansQuery.getSelectedPeriod();\n const paymentPrice = getDefaultPaymentPrice(paymentPeriod);\n const coupon = paymentPlansQuery.getCoupon();\n const couponCode = paymentPlansQuery.getCouponCode();\n const isCouponApplied = paymentPlansQuery.isPaymentCouponApplied();\n\n const [state, setState] = useState({\n practiceId: null,\n publicKey: null,\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n addOns: [],\n isSubmitted: false,\n couponCode:couponCode,\n coupon: coupon,\n isCouponApplied: isCouponApplied,\n agreements: paymentPeriod.agreements,\n isPaymentPlanApplied: false,\n errors: {},\n exclusivePrices:[]\n } as FinishOnboardingComponentState);\n\n const handleSelectingAddOn = (id: number, value: boolean) => {\n const addOns = state.addOns;\n const addOn = addOns.find(x => x.id === id);\n addOn.isSelected = value;\n\n setState({ ...state, addOns });\n }\n\n const getSelectedAddOns = () => {\n return state.addOns.filter(i => i.isSelected);\n }\n\n const getSelectedAddOnsPrice = () => {\n return getSelectedAddOns().reduce((a, b) => a + b.price, 0);\n }\n\n const handlePriceSelect = (id: number) => {\n const paymentPrice = paymentPeriod.prices.find(x => x.id === id);\n setState({ ...state, paymentPrice });\n }\n\n const handleCouponChanges = (value: string) => {\n setState({ ...state, couponCode: value });\n }\n\n const applyPaymentPlan = () => {\n paymentPlansService.updateSelectedPeriod(state.paymentPeriod);\n paymentPlansStore.setCouponApplied(state.coupon);\n setState(state => ({ ...state, isPaymentPlanApplied: true }));\n }\n\n const applyCoupon = (code: string) => {\n const model: ApplyCouponModel = {\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceType: state.paymentPrice.type,\n code: code\n };\n\n const action = paymentPlansService.newPromoCodeApply(model);\n\n action.subscribe((exclusivePrices: PaymentPriceModel[]) => {\n if (exclusivePrices && exclusivePrices.length) {\n const adjustedPrices = paymentPeriod.prices.map(price => {\n const exclusivePrice = exclusivePrices.find(x => x.strategy === price.strategy);\n return exclusivePrice ?? price;\n });\n \n // we need the complete coupon model\n const retrievedCoupon = exclusivePrices[0].paymentCoupon;\n \n \n const newSelectedPeriod = Object.assign(paymentPeriod, {\n prices: adjustedPrices\n });\n \n const addOns = state.addOns;\n \n const freeAddOnsPrice = adjustedPrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n \n const paymentPrice = newSelectedPeriod\n .prices\n .find(x => x.paymentCoupon?.code === retrievedCoupon.code);\n\n if (paymentPrice) {\n setState(state => ({\n ...state,\n addOns: addOns,\n couponCode: code,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n isCouponApplied: true,\n exclusivePrices: exclusivePrices\n }));\n \n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n paymentPlansStore.setCouponApplied(retrievedCoupon);\n }\n }\n }, () => {\n });\n }\n\n const renderPaymentForm = () => {\n const totalPrice = state.paymentPrice.price + state.paymentPrice.startupFee + getSelectedAddOnsPrice();\n\n return (\n \n \n {\n !state.isSubmitted\n ? handlePaymentSubmit()} type=\"submit\">Confirm Purchase \n : \n }\n \n \n (Total Charge: {displayMoney(totalPrice, '$')})\n \n \n )\n }\n\n /**\n * Handles payment submit\n */\n const handlePaymentSubmit = () => {\n\n setState({ ...state, isSubmitted: true });\n\n const buyNewSubscriptionModel: BuyNewSubscriptionModel = {\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceId: state.paymentPrice.id,\n addOnIds: state.addOns.filter(x => x.isSelected).map(x => x.id),\n founderId: null,\n agreements: state.paymentPeriod.agreements.map(x => ({ agreementId: x.id, isConfirmed: true })),\n promoCode: state.couponCode\n }\n \n subscriptionService.Replace(buyNewSubscriptionModel).subscribe(\n patient => {\n if (mobileGetStartedPath) {\n authService.reLogin(authQuery.getTargetLocationId()).subscribe(\n () => {\n navigationService.toMobileBuySubscriptionSuccess(history, patient);\n window.location.reload();\n }\n );\n\n } else {\n authService.reLogin(authQuery.getTargetLocationId()).subscribe(\n () => {\n navigationService.toBuySubscriptionSuccess(history, patient);\n window.location.reload();\n }\n );\n\n }\n },\n () => {\n setState({\n ...state,\n isSubmitted: false\n });\n }\n );\n };\n\n /**\n * Load all payment plans\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentQuery.credentials$, credentials => {\n setState(state => ({\n ...state,\n publicKey: credentials?.publicKey,\n practiceId: credentials?.practiceId\n }));\n }),\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({ ...state, selectedPlan }));\n }),\n onEmit(addOnsQuery.addOns$, addOns => {\n const items = addOns.map(i => {\n return {\n ...i,\n isSelected: i.orderType === OrderType.Lab\n }\n });\n\n let isCouponApplied=false;\n if(state.isCouponApplied && !!state.exclusivePrices){\n const addOns = items;\n const freeAddOnsPrice = state.exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n isCouponApplied = true;\n }\n setState(state => ({ ...state, addOns: items, isCouponApplied: isCouponApplied }));\n }),\n ];\n\n paymentService.getCredentials(authQuery.getCurrentPracticeId());\n profileService.getPatientProfile().subscribe((profile) => {\n addOnsService.getOptional(paymentPlan.id, profile.gender);\n });\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [paymentPlan]);\n\n return [\n state,\n handlePriceSelect,\n renderPaymentForm,\n handleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n applyPaymentPlan\n ]\n}\n","import {PaymentPlanModel} from \"../models/paymentPlan.models\";\n\nexport const getPlanForAutoSelect = (plans: PaymentPlanModel[], specifiedPlan: string, defaultPlan: string) => {\n if (plans.length === 1) {\n return plans[0];\n }\n else {\n if (specifiedPlan) {\n const plan = plans.find(x => x.name === specifiedPlan);\n if (plan) {\n return plan;\n } else if (defaultPlan) {\n const plan = plans.find(x => x.name === defaultPlan);\n if (plan) {\n return plan;\n }\n }\n } else if (defaultPlan) {\n const plan = plans.find(x => x.name === defaultPlan);\n if (plan) {\n return plan;\n }\n }\n }\n}","import { Box, Container, Divider, Grid } from '@material-ui/core';\nimport React from 'react';\nimport { PageSliderComponent } from \"../../../common/components/PageSliderComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { BillingSummaryComponent } from \"../billingSummaryComponent/BillingSummaryComponent\";\nimport { ApplyPaymentCouponComponent } from '../paymentCouponComponent/ApplyPaymentCouponComponent';\nimport { PaymentCouponAppliedComponent } from '../paymentCouponComponent/PaymentCouponAppliedComponent';\nimport { PaymentSummaryComponent } from \"../paymentSummaryComponent/PaymentSummaryComponent\";\nimport { useFacade } from \"./FinishBuySubscriptionComponent.hooks\";\nimport { SelectAddOnsCardComponent } from \"../../../addons/components/SelectAddOnsCardComponent/SelectAddOnsCardComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { getPlanForAutoSelect } from \"../../helpers/getPlanForAutoSelect\";\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\n\ninterface FinishBuySubscriptionComponentProps {\n navigationContext: PageSliderNavigationContext;\n plans: PaymentPlanModel[];\n specifiedPlan?: string;\n defaultPlan?: string;\n}\n\nexport const FinishBuySubscriptionComponent: React.FC = (props: FinishBuySubscriptionComponentProps) => {\n const [\n {\n addOns,\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n publicKey,\n couponCode,\n isCouponApplied,\n isPaymentPlanApplied\n },\n handlePriceSelect,\n renderPaymentForm,\n handleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n applyPaymentPlan\n ] = useFacade();\n const commonClasses = commonUseStyles();\n\n if (!publicKey) {\n return \n }\n\n if(isCouponApplied && !isPaymentPlanApplied){\n applyPaymentPlan();\n }\n \n const {\n navigationContext,\n plans,\n specifiedPlan = null,\n defaultPlan = null\n } = props;\n\n const isPlanAutoSelect = Boolean(getPlanForAutoSelect(plans, specifiedPlan, defaultPlan));\n\n return (\n <>\n \n\n {!isPlanAutoSelect && }\n\n \n \n \n \n Summary\n \n \n \n \n \n \n {\n !paymentPlan.isTrial &&\n \n \n \n }\n \n Promotional code\n \n \n {\n !isCouponApplied &&\n \n }\n {\n isCouponApplied &&\n \n }\n \n\n \n\n \n Billing Summary\n \n \n \n \n\n \n\n \n {renderPaymentForm()}\n \n \n \n \n \n \n )\n}\n","import React from 'react';\nimport { PaymentBenefitModel } from \"../../models/paymentBenefit.models\";\nimport { Box } from \"@material-ui/core\";\nimport { Check } from '@material-ui/icons';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { colors } from '../../../common/constants/colors';\n\ninterface PaymentBenefitsComponentProps {\n benefits: PaymentBenefitModel[];\n}\n\nexport const PaymentBenefitsComponent: React.FC = (props: PaymentBenefitsComponentProps) => {\n const {\n benefits\n } = props;\n\n const commonClasses = commonUseStyles();\n\n const renderBenefitText = (benefit: PaymentBenefitModel): JSX.Element => {\n const benefitTextItems = benefit.text.split(\"\\n\");\n\n const firstItem = benefitTextItems.shift();\n\n return (\n \n \n
\n \n \n
    \n {\n benefitTextItems.map((item, index) => (\n
  • \n {item}\n
  • \n ))\n }\n
\n
\n \n\n );\n }\n\n return (\n <>\n \n {\n benefits.map((benefit, index) => {\n return (\n \n \n \n \n \n \n {benefit.title} \n {benefit.text && renderBenefitText(benefit)}\n \n \n \n )\n })\n }\n \n \n )\n};","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles({\n paymentPlan: {\n background: `${colors.main} !important`,\n '& .plan-name': {\n fontSize: '25px !important',\n color: '#537b98',\n },\n '& .select-button': {\n fontSize: '17px !important',\n },\n },\n chosePlan: {\n color: colors.main\n },\n});","import { Box, Button, Card, CardContent, Container, Grid } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport { PageSliderComponent } from \"../../../common/components/PageSliderComponent\";\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { PaymentPeriodModel } from '../../models/paymentPeriod.models';\nimport { PaymentBenefitsComponent } from \"../paymentBenefitsComponent/PaymentBenefitsComponent\";\nimport { useStyles } from \"./selectPaymentPeriodComponent.styles\";\nimport { useFacade } from \"./SelectPaymentPeriodComponent.hooks\";\nimport {getPeriodDiscount} from \"../../helpers/getPeriodDiscount\";\nimport commonUseStyles from '../../../common/styles/common.styles';\n\ninterface SelectPaymentPeriodComponentProps {\n navigationContext: PageSliderNavigationContext;\n}\n\nexport const SelectPaymentPeriodComponent: React.FC = (props: SelectPaymentPeriodComponentProps) => {\n const [\n {\n selectedPlan,\n selectedPeriod\n },\n selectPeriod\n ] = useFacade(props.navigationContext);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const navigationContext = props.navigationContext;\n\n if (selectedPlan.periods.length === 1) {\n return <>\n }\n\n const renderPeriodPrice = (period: PaymentPeriodModel) => {\n return (\n \n \n Starting at \n \n \n \n {displayMoney(period.startPrice, '$')}\n \n \n \n \n per month with {displayMoney(period.startStartupFee ?? 0, '$')} startup fee\n \n \n \n \n Save {displayMoney(getPeriodDiscount(period) ?? 0, '$')} by paying all {period.periodInMonths} months in advance\n \n \n \n )\n }\n\n return (\n <>\n \n \n \n \n Choose Your Wild Health Plan Duration\n \n \n \n \n {\n selectedPlan?.periods?.map((period) => {\n return (\n \n \n \n \n \n \n \n \n \n \n {selectedPlan.displayName}\n \n \n {period.periodInMonths} {period.periodInMonths > 1 ? \"Months\" : \"Month\"}\n \n \n \n {\n renderPeriodPrice(period)\n }\n \n \n selectPeriod(period)}\n className={selectedPeriod && selectedPeriod.id === period.id ? 'wh-selected-button' : commonClasses.whButton}>\n Select \n \n \n \n \n \n \n \n \n \n \n \n )\n })\n }\n \n \n \n \n )\n}\n","import {Subscription} from 'rxjs';\nimport {useEffect, useState} from 'react';\nimport {paymentPlansService} from \"../../services/paymentPlans.service\";\nimport {paymentPlansQuery} from \"../../stores/paymentPlansStore\";\nimport {PaymentPlanModel} from \"../../models/paymentPlan.models\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {PaymentPeriodModel} from \"../../models/paymentPeriod.models\";\nimport { PageSliderNavigationContext } from '../../../common/models/navigation.models';\n\ninterface SelectPaymentPeriodComponentState {\n selectedPlan: PaymentPlanModel;\n selectedPeriod: PaymentPeriodModel;\n}\n\nexport function useFacade(navigationContext: PageSliderNavigationContext): [SelectPaymentPeriodComponentState, Function] {\n const [state, setState] = useState({\n selectedPlan: paymentPlansQuery.getSelectedPlan(),\n selectedPeriod: paymentPlansQuery.getSelectedPeriod(),\n } as SelectPaymentPeriodComponentState);\n\n const selectPeriod = (period: PaymentPeriodModel) => {\n paymentPlansService.selectPeriod(period);\n navigationContext.goNext();\n };\n\n /**\n * Load all payment plans\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({\n ...state,\n selectedPlan\n }));\n\n if (selectedPlan && selectedPlan.periods.length === 1) {\n selectPeriod(selectedPlan.periods[0]);\n }\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, selectPeriod]\n}\n","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(theme => ({\n container: {\n backgroundColor: colors.white,\n paddingTop: \"50px\"\n },\n containerSmall: {\n backgroundColor: colors.white,\n paddingTop: \"10px\"\n },\n main: {\n maxWidth: 1128,\n margin: '0 auto',\n },\n trialPlan: {\n background: colors.black,\n '& h3': {\n color: '#FFF !important',\n fontSize: 25,\n [theme.breakpoints.down(\"xs\")]: {\n fontSize: 15,\n },\n [theme.breakpoints.down(\"sm\")]: {\n fontSize: 20,\n }\n }\n },\n choosePlan: {\n fontWeight: 500,\n fontSize: '36px',\n lineHeight: '54px',\n color: colors.darkGray,\n },\n choosePlanSM: {\n fontWeight: 500,\n fontSize: '22px',\n lineHeight: '34px',\n color: colors.darkGray,\n width: '214px',\n display: 'flex',\n justifyContent: 'center',\n marginInline: 'auto',\n },\n link: {\n color: colors.main,\n paddingLeft: '4px',\n paddingRight: '4px',\n },\n textWithLink: {\n display: 'flex',\n flexWrap: 'nowrap',\n width: 'max-content',\n },\n paymentPlan: {\n background: '#FFF !important',\n '& .plan-name': {\n fontSize: '25px !important',\n color: colors.main,\n },\n '& .select-button': {\n fontSize: '17px !important',\n },\n '& .plan-title': {\n fontFamily: 'Poppins',\n fontSize: 16,\n fontWeight: 600,\n lineHeight: 1.42,\n letterSpacing: 0.1,\n textAlign: 'center',\n },\n },\n mostPopularRibbon: {\n background: colors.accent1,\n display: 'flex',\n alignItems: 'center',\n height: '38px',\n width: '203px',\n clipPath: 'polygon(100% 0, 90% 50%, 100% 100%, 0% 100%, 0% 0%, 0% 0%)',\n zIndex: 10,\n },\n mostPopularText: {\n paddingLeft: '12px',\n color: 'white',\n fontSize: '14px',\n textTransform: 'uppercase',\n fontWeight: 600,\n lineHeight: '22px',\n },\n ribbonRelation: {\n marginTop: '-19px',\n },\n notMostPopular: {\n marginTop: '19px',\n },\n centerSection: {\n background: colors.accent2,\n border: 'none',\n borderRadius: 8,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n height: '88px',\n width: '100%',\n },\n centerSectionSM: {\n background: colors.accent2,\n border: 'none',\n display: 'flex',\n alignItems: 'center',\n height: '132px',\n width: '100%',\n },\n centerContext: {\n fontSize: 18,\n fontWeight: 500,\n lineHeight: '28px',\n color: colors.main,\n paddingInline: '16px',\n },\n cancelContext: {\n marginLeft: '16px',\n marginRight: '150px',\n color: colors.linkBlack,\n },\n saveContext: {\n marginLeft: '16px',\n color: colors.linkBlack,\n },\n detailFeatureContext: {\n fontSize: 22,\n fontWeight: 500,\n lineHeight: '34px',\n color: colors.linkBlack,\n },\n mostPlanCard: {\n border: `2px solid`,\n borderColor: colors.accent1,\n borderRadius: '8px 8px 0 0',\n textAlign: 'center',\n },\n planCard: {\n border: `2px solid ${colors.lightGray1}`,\n borderRadius: '8px 8px 0 0',\n textAlign: 'center',\n },\n mostPlanName: {\n fontSize: 18,\n fontWeight: 500,\n lineHeight: '28px',\n color: colors.main,\n },\n planName: {\n fontSize: 18,\n fontWeight: 500,\n lineHeight: '28px',\n color: colors.linkBlack,\n },\n startPrice: {\n fontSize: 22,\n fontWeight: 500,\n lineHeight: '34px',\n color: colors.linkBlack,\n },\n featuresTopBorder: {\n borderTop: `1px solid ${colors.lightGray1}`,\n },\n featuresBothBorder: {\n borderTop: `1px solid ${colors.lightGray1}`,\n borderBottom: `1px solid ${colors.lightGray1}`,\n },\n featuresContext: {\n fontSize: 16,\n fontWeight: 400,\n lineHeight: '24px',\n color: colors.linkBlack,\n },\n featuresBoldContext: {\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n color: colors.main,\n },\n mostPlanFeatureCard: {\n borderRightColor: colors.accent1,\n borderLeftColor: colors.accent1,\n borderRight: `2px solid`,\n borderLeft: `2px solid`,\n textAlign: 'center',\n height: '80px',\n zIndex: 10,\n },\n planFeatureCard: {\n borderRightColor: colors.lightGray1,\n borderLeftColor: colors.lightGray1,\n borderRight: `2px solid`,\n borderLeft: `2px solid`,\n height: '80px',\n },\n sameFeatureBorder: {\n borderBottom: `1px solid`,\n borderBottomColor: colors.accent2,\n },\n stickyFooter: {\n position: \"fixed\",\n bottom: 0,\n backgroundColor: colors.white,\n filter: \"drop-shadow(0px 0px 10px rgba(53, 129, 173, 0.2))\"\n }\n}));","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {CallbackModel} from \"../../../common/models/callback.model\";\nimport {PaymentPlanModel} from \"../../models/paymentPlan.models\";\nimport {paymentPlansService} from \"../../services/paymentPlans.service\";\n\ninterface SelectTrialPaymentPlanComponentState {\n plan: PaymentPlanModel;\n isOpen: boolean;\n callback: Function;\n}\n\nconst defaultState: SelectTrialPaymentPlanComponentState = {\n plan: null,\n isOpen: false,\n callback: null\n}\n\nexport function useFacade(): [SelectTrialPaymentPlanComponentState, Function, Function] {\n const [state, setState] = useState(defaultState);\n\n const handleSelect = () => {\n state.callback(state.plan);\n setState(defaultState);\n }\n\n const handleClose = () => {\n state.callback(null);\n setState(defaultState);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit>(paymentPlansService.trialOrderOnShow, model => {\n setState(state => ({\n ...state,\n isOpen: true,\n plan: model.data,\n callback: model.callback\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, handleSelect, handleClose];\n}","import { Box, IconButton } from '@material-ui/core';\nimport Dialog from \"@material-ui/core/Dialog\";\nimport DialogActions from \"@material-ui/core/DialogActions\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport CloseIcon from '@material-ui/icons/Close';\nimport React from 'react';\nimport { useFacade } from './SelectTrialPaymentPlanComponent.hooks';\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport commonUseStyles from '../../../common/styles/common.styles';\n\nexport const SelectTrialPaymentPlanComponent: React.FC = () => {\n const [\n {\n plan,\n isOpen\n },\n handleSelect,\n handleClose\n ] = useFacade();\n \n const commonClasses = commonUseStyles();\n\n if (!plan) {\n return <>\n }\n\n return (\n <>\n \n handleClose()} aria-labelledby=\"form-dialog-title\">\n \n \n handleClose()}>\n \n \n \n \n \n \n \n {plan.displayName}\n \n \n \n \n {plan.title}\n \n \n \n {\n plan.benefits.map((benefit, index) =>\n \n {\n benefit.text &&\n
 {benefit.text}
\n }\n
\n )\n }\n
\n
\n
\n
\n \n \n \n handleSelect()}\n fullWidth\n >\n Select \n \n \n \n \n
\n
\n \n )\n}\n","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles(theme => ({\n planCard1: {\n lineHeight: 1.5,\n border: `2px solid`,\n borderColor: colors.accent1,\n borderRadius: 8,\n height: '100%',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n padding: '40px 32px',\n },\n planCard2: {\n lineHeight: 1.5,\n border: `2px solid ${colors.lightGray1}`,\n borderRadius: 8,\n height: '100%',\n boxShadow: '0px 4px 9px rgba(168, 173, 198, 0.15)',\n padding: '40px 32px',\n },\n planPricing: {\n textAlign: 'center',\n },\n planName: {\n color: colors.linkBlack,\n fontSize: 36,\n fontWeight: 500,\n lineHeight: '54px'\n },\n planBenefits: {\n textAlign: 'center',\n },\n label: {\n fontWeight: 'bold',\n fontSize: '12px',\n lineHeight: '22px',\n height: '22px',\n paddingRight: 10,\n paddingLeft: 10,\n border: 'none',\n backgroundColor: colors.lightBlue,\n color: colors.white,\n textAlign: 'center',\n borderRadius: 2,\n },\n startPrice: {\n fontSize: 48,\n lineHeight: '64px',\n letterSpacing: '0.02em',\n },\n spacingZero: {\n letterSpacing: 0,\n },\n saveMoneyStyle: {\n color: colors.accent1,\n }\n}));","import React from 'react';\nimport { Box } from '@material-ui/core';\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\nimport { useStyles } from './SelectPaymentPlanCardComponent.styles';\nimport { displayMoney } from \"../../../common/helpers/display-money\";\nimport { getPeriodDiscount } from \"../../helpers/getPeriodDiscount\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { colors } from '../../../common/constants/colors';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\n\ninterface SelectPaymentPlanCardComponentProps {\n plan: PaymentPlanModel;\n isSelected: boolean;\n handlePlanSelect: Function\n hideLimited?: boolean;\n}\n\nexport const SelectPaymentPlanCardTestedComponent: React.FC = (props: SelectPaymentPlanCardComponentProps) => {\n const {\n plan,\n isSelected,\n handlePlanSelect,\n hideLimited,\n } = props;\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const renderPrice = (): JSX.Element => {\n return (\n \n \n

$

\n
\n \n

{plan.startPrice}

\n
\n
\n );\n }\n\n const renderSelectButton = (): JSX.Element => {\n return (\n handlePlanSelect(plan)}\n color={(!isSelected || (plan.isLimited && !hideLimited)) && plan.mostPopular ? \"primary\" : \"secondary\"}\n style={{\n borderRadius: 8,\n }}\n >\n {plan.isLimited ? \" Join waitlist!\" : \"Join Now!\"}\n \n );\n }\n\n const renderHeaderSection = () => {\n const isOnePeriodPrice = plan.periods.length === 1;\n const period = isOnePeriodPrice\n ? plan.periods[0]\n : plan.periods.sort((p1, p2) => {\n return handleCompare(p1, p2, SortingDirection.Asc, 'periodInMonths')\n }).slice(-1).pop();\n\n return (\n \n \n {plan.displayName}\n \n\n \n {plan.title}\n \n \n {\n renderPrice()\n }\n \n\n \n \n {\n '/ per month '\n }\n {\n plan.startStartupFee > 0 &&\n \n plus {displayMoney(plan.startStartupFee ?? 0, '$')} startup fee\n \n }\n \n \n \n \n Save {displayMoney(getPeriodDiscount(period) ?? 0, '$')} by paying your {period.periodInMonths}-month membership upfront\n \n \n \n );\n }\n\n const renderContentSection = (): JSX.Element => {\n return (\n \n {\n renderSelectButton()\n }\n \n );\n }\n\n return (\n \n {\n renderHeaderSection()\n }\n {\n renderContentSection()\n }\n \n )\n}\n\n\n","import { Box, Container, Grid, useMediaQuery, useTheme } from '@material-ui/core';\nimport React from 'react';\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\nimport { useStyles } from './SelectPaymentPlanComponent.styles';\nimport { SelectTrialPaymentPlanComponent } from \"../selectTrialPaymentPlanComponent/SelectTrialPaymentPlanComponent\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { useFacade } from \"./SelectPaymentPlanComponent.hooks\";\nimport { SelectPaymentPlanCardTestedComponent } from '../selectPaymentPlanCardTestComponent/SelectPaymentPlanCardComponent';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport CheckIcon from '@material-ui/icons/Check';\nimport clsx from 'clsx';\nimport { Check } from '@material-ui/icons';\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { FooterComponent } from \"../../../../components/footerComponent/FooterComponent\";\n\ninterface SelectPaymentPlanComponentProps {\n plans: PaymentPlanModel[];\n trialPlan?: PaymentPlanModel;\n specifiedPlan?: string;\n defaultPlan?: string;\n isExclusive?: boolean;\n navigationContext: PageSliderNavigationContext;\n}\n\nexport const SelectPaymentPlanComponent: React.FC = (props: SelectPaymentPlanComponentProps) => {\n const {\n plans,\n trialPlan,\n isExclusive,\n specifiedPlan = null,\n defaultPlan = null,\n navigationContext\n } = props;\n\n const [\n {\n showMobileFooter\n },\n prevScrollY,\n handleTrialPlanSelect,\n handlePlanSelect,\n isPlanAutoSelect\n ] = useFacade(plans, specifiedPlan, defaultPlan, navigationContext);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const mostPlan = plans.find((p) => p.mostPopular);\n\n if (isPlanAutoSelect()) {\n return <>\n }\n\n const renderFreeTrialPlan = () => {\n return (\n <>\n \n \n handleTrialPlanSelect(trialPlan)}>\n click here for your free trial\n \n \n \n );\n }\n\n const renderExclusiveTitle = () => {\n return (\n <>\n \n \n Executive health plans\n \n \n \n );\n }\n\n const renderPlans = () => {\n return (\n \n \n {\n plans.map((plan: PaymentPlanModel) => {\n return (\n \n \n {\n plan.mostPopular &&\n \n \n most popular plan\n \n \n }\n \n \n \n \n \n )\n })}\n \n
\n {!isSmallScreen ? (\n <>\n \n \n \n \n \n Cancel any time\n \n \n \n \n \n Save with your HSA or FSA\n \n \n \n \n \n \n \n Detailed features\n \n \n \n {\n plans.map((plan: PaymentPlanModel) => {\n return (\n \n \n \n {plan.displayName}\n \n \n \n $\n \n \n {plan.startPrice}\n \n \n /month\n \n \n \n \n )\n })}\n \n \n \n \n \n In-Depth Precision Health Report with 500+ Biomarkers Analyzed\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Personalized Health Score, Based On Our Proprietary Algorithm\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Personalized Diet, Recovery & Supplement Plans\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 12 Months of Ongoing Care with Comprehensive Doctor Visits\n \n \n \n \n \n \n 1 visit\n \n \n \n \n \n \n 2 visits\n \n \n \n \n \n \n 4 visits\n \n \n \n \n \n \n \n \n 12 Months of Ongoing Care with Health Coach Visits\n \n \n \n \n \n \n 4 visits\n \n \n \n \n \n \n 6 visits\n \n \n \n \n \n \n 12 visits\n \n \n \n \n \n \n \n \n Unlimited Messaging\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Primary Care Needs\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Ongoing Health Tracking\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Upload & Analyze Past Health Results\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n 25% Discount on Thorne Products\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Advanced Testing Options\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Wearable Device Integration\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Advanced Analysis of Wearable Device Data\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n In-Depth Specialty Program Focusing On Optimizing Mental Health & Mindfulness\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n plans.map((plan: PaymentPlanModel) => {\n return (\n \n handlePlanSelect(plan)}\n color={plan.mostPopular ? \"primary\" : \"secondary\"}\n style={{\n borderRadius: 8,\n }}\n >\n {plan.isLimited ? \" Join waitlist!\" : \"Join Now!\"}\n \n \n )\n })}\n \n \n \n \n ) : (\n \n \n Same features for all plans\n In-Depth Precision Health Report with 500+ Biomarkers Analyzed\n Personalized Health Score, Based On Our Proprietary Algorithm\n Ongoing Health Tracking\n Upload & Analyze Past Health Results\n 25% Discount on Thorne Products\n Personalized Diet, Recovery & Supplement Plans\n Unlimited Messaging\n Primary Care Needs\n \n Various features \n \n \n 12 Months of Ongoing Care with\n \n \n Comprehensive Doctor Visits\n \n \n \n \n \n 1 visit\n \n \n \n \n 2 visits\n \n \n \n \n 4 visits\n \n \n \n \n \n \n \n 12 Months of Ongoing Care with\n \n \n Health Coach Visits\n \n \n \n \n \n 4 visits\n \n \n \n \n 6 visits\n \n \n \n \n 12 visits\n \n \n \n \n \n \n Advanced Testing Options\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Wearable Device Integration\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n Advanced Analysis of Wearable Device Data\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n In-Depth Specialty Program Focusing On Optimizing Mental Health & Mindfulness\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )}\n
\n
\n )\n }\n\n return (\n <>\n {\n trialPlan && renderFreeTrialPlan()\n }\n {\n isExclusive && renderExclusiveTitle()\n }\n \n \n \n Choose Your Precision Care Plan\n \n \n \n \n {\n renderPlans()\n }\n \n \n \n\n {isSmallScreen && (\n <>\n \n \n \n \n \n Cancel any time\n \n \n \n \n \n Save with your HSA or FSA\n \n \n \n \n {showMobileFooter && (\n \n \n \n {\n plans.map((plan: PaymentPlanModel) => {\n return (\n \n \n \n {plan.displayName}\n \n \n \n $\n \n \n {plan.startPrice}\n \n \n \n /month\n \n \n \n )\n })}\n \n \n \n \n {\n plans.map((plan: PaymentPlanModel) => {\n return (\n \n handlePlanSelect(plan)}\n color={\"secondary\"}\n style={{\n borderRadius: 8,\n height: 80,\n }}\n >\n {plan.isLimited ? \" Join waitlist!\" : \"Join Now!\"}\n \n \n )\n })}\n \n \n \n \n )}\n \n )}\n \n )\n}\n","import { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { paymentPlansQuery } from \"../../stores/paymentPlansStore\";\nimport { useEffect, useState, useRef } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { Track, PlatformName } from \"../../../tracking/tracker\";\nimport {getPlanForAutoSelect} from \"../../helpers/getPlanForAutoSelect\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\n\nexport interface SelectPaymentPlanComponentState {\n selectedPlan: PaymentPlanModel;\n correctInviteCode: boolean;\n showMobileFooter: boolean;\n}\n\ninterface ScrollElement {\n current: HTMLDivElement\n}\n\nexport function useFacade(plans: PaymentPlanModel[], specifiedPlan: string | null, defaultPlan: string | null, navigationContext: PageSliderNavigationContext): [\n SelectPaymentPlanComponentState,\n ScrollElement,\n Function,\n Function,\n Function\n] {\n const [state, setState] = useState({\n correctInviteCode: false,\n selectedPlan: paymentPlansQuery.getSelectedPlan(),\n showMobileFooter: false,\n } as SelectPaymentPlanComponentState);\n\n const prevScrollY = useRef(null);\n\n const handleTrialPlanSelect = (plan: PaymentPlanModel) => {\n paymentPlansService.showTrialPlan(plan).subscribe((result) => {\n if (result) {\n handlePlanSelect(plan);\n }\n });\n };\n\n const handlePlanSelect = (plan: PaymentPlanModel) => {\n paymentPlansService.selectPlan(plan);\n\n Track(\"Button Click\", {\n type: 'select_plan',\n plan_type: plan.displayName,\n acValue: plan.displayName,\n platform: PlatformName()\n })\n navigationContext.goNext();\n };\n\n const isPlanAutoSelect = () => {\n const plan = getPlanForAutoSelect(plans, specifiedPlan, defaultPlan);\n\n return !(plan == null || false);\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({\n ...state,\n selectedPlan\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [])\n\n useEffect(() => {\n Track(\"onboarding_plan_page\", {\n group: 'test',\n platform: PlatformName(),\n });\n }, [])\n\n useEffect(() => {\n\n function scrollEvent() {\n if (prevScrollY) {\n\n if (prevScrollY.current) {\n let rect = prevScrollY.current.getBoundingClientRect()\n\n if (rect.bottom > window.scrollY) {\n setState({ ...state, showMobileFooter: false, correctInviteCode: true })\n } else {\n setState({ ...state, showMobileFooter: true, correctInviteCode: true })\n }\n }\n }\n }\n\n document.addEventListener('scroll', scrollEvent)\n\n return () => {\n document.removeEventListener('scroll', scrollEvent)\n }\n }, []);\n\n useEffect(() => {\n const plan = getPlanForAutoSelect(plans, specifiedPlan, defaultPlan);\n if (plan) {\n handlePlanSelect(plan);\n }\n }, [plans, specifiedPlan, defaultPlan, getPlanForAutoSelect])\n\n return [\n state,\n prevScrollY,\n handleTrialPlanSelect,\n handlePlanSelect,\n isPlanAutoSelect\n ]\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { FinishBuySubscriptionComponent } from \"../../components/finishBuySubscriptionComponent/FinishBuySubscriptionComponent\";\nimport { SelectPaymentPeriodComponent } from \"../../components/selectPaymentPeriodComponent/SelectPaymentPeriodComponent\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { paymentPlansQuery, PaymentSteps } from \"../../stores/paymentPlansStore\";\nimport {paymentPlansService} from \"../../services/paymentPlans.service\";\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {authQuery} from \"../../../auth/stores/auth\";\nimport {useFlags} from \"launchdarkly-react-client-sdk\";\nimport {getValueFeatureFlag} from \"../../../common/components/featureFlags/featureFlags\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {SelectPaymentPlanComponent} from \"../../components/selectPaymentPlanComponent/SelectPaymentPlanComponent\";\n\ninterface BuyNewSubscriptionState {\n plans: PaymentPlanModel[];\n selectedPlan: PaymentPlanModel | null;\n selectedPeriod: PaymentPeriodModel | null;\n step: PaymentSteps;\n isLoading: boolean;\n}\n\n/**\n * Custom Hook to manage a view Model for BuyNewSubscription page view components\n */\nexport function useFacade(defaultPlanId: number | null, defaultPeriodId: number | null): [BuyNewSubscriptionState, JSX.Element] {\n const featureFlags = useFlags();\n const defaultPlan = getValueFeatureFlag(featureFlags, FeatureFlag.DefaultPlan);\n const [state, setState] = useState({\n plans: [],\n selectedPlan: null,\n selectedPeriod: null,\n step: PaymentSteps.SelectPlan,\n isLoading: true\n } as BuyNewSubscriptionState);\n\n const canGoBack = () => state.step > PaymentSteps.SelectPlan;\n\n const canGoNext = () => {\n switch (state.step) {\n case PaymentSteps.SelectPlan: return state.selectedPlan;\n case PaymentSteps.SelectPeriod: return state.selectedPeriod\n }\n }\n const handleNext = () => {\n switch (state.step) {\n case PaymentSteps.SelectPlan: return setState(state => ({...state, step: PaymentSteps.SelectPeriod}));\n case PaymentSteps.SelectPeriod: return setState(state => ({...state, step: PaymentSteps.Checkout}));\n }\n };\n\n const goBackFromCheckoutPage = () => {\n const step = state.selectedPlan.periods.length === 1\n ? PaymentSteps.SelectPlan\n : PaymentSteps.SelectPeriod;\n\n setState(state => ({\n ...state,\n step: step\n }));\n }\n\n const handleBack = () => {\n switch (state.step) {\n case PaymentSteps.SelectPeriod: return setState(state => ({...state, step: PaymentSteps.SelectPlan}));\n case PaymentSteps.Checkout: return goBackFromCheckoutPage();\n }\n };\n\n const navigationContext = {\n nextButton: \"Next\",\n backButton: \"Back\",\n canGoNext: canGoNext,\n canGoBack: canGoBack,\n goNext: handleNext,\n goBack: handleBack\n } as PageSliderNavigationContext\n\n const PaymentStepsContent = new Map([\n [PaymentSteps.SelectPlan, ],\n [PaymentSteps.SelectPeriod, ],\n [PaymentSteps.Checkout, ]\n ]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.regularPlans$, plans => {\n setState(state => ({\n ...state,\n plans: plans\n }));\n\n if (defaultPlanId) {\n const defaultPlan = plans?.find(x => x.id === defaultPlanId);\n if (defaultPlan) {\n paymentPlansService.selectPlan(defaultPlan);\n\n if (defaultPeriodId) {\n const defaultPeriod = defaultPlan.periods?.find(x => x.id === defaultPeriodId);\n if (defaultPeriod) {\n paymentPlansService.selectPeriod(defaultPeriod);\n }\n }\n }\n }\n }),\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n if (selectedPlan) {\n setState(state => ({\n ...state,\n selectedPlan: selectedPlan,\n step: PaymentSteps.SelectPeriod\n }));\n } else {\n setState(state => ({\n ...state, selectedPlan: selectedPlan\n }));\n }\n }),\n onEmit(paymentPlansQuery.selectedPeriod$, selectedPeriod => {\n if (selectedPeriod) {\n setState(state => ({\n ...state,\n selectedPeriod: selectedPeriod,\n step: PaymentSteps.Checkout\n }));\n } else {\n setState(state => ({\n ...state,\n selectedPeriod: selectedPeriod\n }));\n }\n }),\n ];\n\n const cb = () => setState(state => ({ ...state, isLoading: false }))\n\n paymentPlansService.getActive(authQuery.getCurrentPracticeId()).subscribe(cb, cb);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [defaultPeriodId, defaultPlanId]);\n\n useEffect(() => {\n navigationService.goUp();\n }, [state.step])\n\n return [state, PaymentStepsContent.get(state.step)];\n}\n","import {GeneralValidator} from \"../../../common/validation/general-validator\";\nimport {\n emailValidationRule,\n firstNameValidationRule,\n lastNameValidationRule,\n stringLengthValidationRule,\n notWhitespaceValidationRule,\n phoneNumberValidationRule,\n} from \"../../../common/validation/general-validation-rules\";\n\nexport const waitListDialogComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'state': [stringLengthValidationRule(1, 50), notWhitespaceValidationRule()],\n 'phoneNumber': [phoneNumberValidationRule],\n})","import React, { useEffect, useState } from \"react\";\nimport { Subscription } from \"rxjs\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { CallbackModel } from \"../../../common/models/callback.model\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { SendPatientToWaitListModel } from \"../../../patients/models/patient.model\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport Recaptcha from 'react-google-invisible-recaptcha';\nimport { waitListDialogComponentValidator } from \"./waitListDialogComponent.validator\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { SITE_KEY } from \"../../../../config\";\n\ninterface WaitListDialogComponentState extends IErrorState {\n model: SendPatientToWaitListModel;\n limitationReason: string;\n isOpen: boolean;\n isSent: boolean;\n callback: Function;\n isLoading: boolean;\n}\n\nconst defaultState: WaitListDialogComponentState = {\n model: {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n state: '',\n practiceId: authQuery.getCurrentPracticeId(),\n paymentPlanId: 0,\n antiSpamToken: ''\n },\n limitationReason: '',\n isOpen: false,\n isSent: false,\n callback: null,\n errors: {},\n isLoading: false\n}\n\nexport function useFacade(): [WaitListDialogComponentState, Function, Function, Function, Function] {\n const _siteKey = SITE_KEY;\n let _recaptcha = undefined;\n const [state, setState] = useState(defaultState);\n\n const handleSubmit = () => {\n waitListDialogComponentValidator.validateObjectAndSetState(state, setState, state.model);\n if (!waitListDialogComponentValidator.stateIsValid(state)) {\n return;\n }\n setState((state) => ({\n ...state,\n isLoading: true\n }))\n\n _recaptcha.execute();\n }\n\n const renderRecaptcha = () => {\n return _recaptcha = ref}\n sitekey={_siteKey}\n onResolved={(token) => {\n state.model.antiSpamToken = token;\n patientsService.sendPatientToWaitList(state.model).subscribe(() => {\n setState((state) => ({\n ...state,\n isSent: true,\n isLoading: false\n }))\n },\n () => {\n setState((state) => ({\n ...state,\n isLoading: false\n }))\n })\n }} />\n }\n\n const handleClose = () => {\n setState(defaultState);\n }\n\n const handleChanges = (field: string, value: string) => {\n waitListDialogComponentValidator.validateAndSetState(state, setState, field, value);\n\n const model = state.model;\n model[field] = value;\n setState({\n ...state,\n model: model\n });\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit>(paymentPlansService.limitedPlanOnSelect, model => {\n setState(state => ({\n ...state,\n isOpen: true,\n isSent: false,\n limitationReason: model.data.limitationReason,\n errors: {},\n model: {\n firstName: '',\n lastName: '',\n phoneNumber: '',\n email: '',\n state: '',\n paymentPlanId: model.data.id,\n practiceId: authQuery.getCurrentPracticeId(),\n antiSpamToken: ''\n },\n callback: model.callback\n }));\n })\n ];\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [state, renderRecaptcha, handleChanges, handleSubmit, handleClose];\n}","import { Box, Grid, IconButton, TextField, useMediaQuery, useTheme } from '@material-ui/core';\nimport React from 'react';\nimport Dialog from \"@material-ui/core/Dialog\";\nimport CloseIcon from \"@material-ui/icons/Close\";\nimport DialogContent from \"@material-ui/core/DialogContent\";\nimport { useFacade } from \"./waitListDialogComponent.hooks\";\nimport { phoneNumberInput } from \"../../../common/components/PhoneNumberInput\";\nimport CheckCircleOutlineIcon from \"@material-ui/icons/CheckCircleOutline\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const WaitListDialogComponent: React.FC = () => {\n const [\n {\n model,\n limitationReason,\n isOpen,\n isSent,\n errors,\n isLoading\n },\n renderRecaptcha,\n handleChanges,\n handleSubmit,\n handleClose\n ] = useFacade();\n\n const theme = useTheme();\n const isMobile = useMediaQuery(theme.breakpoints.down('sm'));\n\n const renderForm = () => {\n return (\n <>\n \n \n \n \n {limitationReason}\n \n \n \n \n \n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n handleSubmit()}\n fullWidth\n >\n Join Waitlist \n \n \n \n \n {renderRecaptcha()}\n \n \n \n \n );\n }\n\n const renderSuccessMessage = () => {\n return (\n \n \n \n \n \n \n \n Thank you for being patient with us as we grow. We will contact you when we have availability.\n \n \n \n \n )\n }\n\n return (\n <>\n handleClose()}\n aria-labelledby=\"form-dialog-title\">\n\n \n \n handleClose()}>\n \n \n \n \n \n {\n isSent\n ? renderSuccessMessage()\n : renderForm()\n }\n \n \n \n )\n}\n","import React from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { MenuItemTypes } from \"../../../../models/menu.models\";\nimport { useFacade } from \"./BuyNewSubscriptionPage.hooks\";\nimport {WaitListDialogComponent} from \"../../components/waitListDialogComponent/WaitListDialogComponent\";\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\n\nexport const BuyNewSubscriptionPage: React.FC = () => {\n const paymentPlanId = new URLSearchParams(window.location.search).get('paymentPlanId');\n const paymentPeriodId = new URLSearchParams(window.location.search).get('paymentPeriodId');\n const [\n state,\n page\n ] = useFacade(\n paymentPlanId ? Number(paymentPlanId) : null,\n paymentPeriodId ? Number(paymentPeriodId) : null);\n\n return (\n \n { state.isLoading ? : page }\n \n \n )\n}\n","import { Box, Divider, Paper } from '@material-ui/core';\nimport CheckCircleOutlineIcon from '@material-ui/icons/CheckCircleOutline';\nimport React, { useEffect } from 'react';\nimport { AuthenticatedLayoutComponent } from '../../../../components/authenticatedLayoutComponent/AuthenticatedLayoutComponent';\nimport { PagesNamesService } from '../../../../constants/pagesNames.constants';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport { MenuItemTypes } from '../../../../models/menu.models';\nimport { CreatedPatientModel } from \"../../../patients/models/patient.model\";\nimport { useHistory } from 'react-router';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { snackService } from \"../../../common/snack/state\";\n\nexport const BuySubscriptionSucceededPage: React.FC = (props: any) => {\n const history = useHistory();\n const patient = props?.location?.state?.patient ?? {};\n const {email, intakeId} = patient ?? {} as CreatedPatientModel;\n\n useEffect(() => {\n snackService.postNativeDeviceEvent('registrationSuccessEvent');\n }, []);\n\n if (!intakeId) {\n navigationService.toDashboard(history);\n return (<> );\n }\n\n return (\n \n \n \n \n \n \n \n Success! Your payment has been processed!\n \n \n \n \n \n What’s next?\n \n \n We sent you a confirmation email to {email}. Please, check your inbox or your spam folder, if necessary.\n \n \n You will be receiving a DNA kit in the mail to collect your DNA sample to help us create your personalized health report. Please follow the instructions provided & drop it off at a UPS location as quickly as possible.\n \n \n Thank you, for choosing Wild Health and putting your trust in us. We are excited to work with you on your quest for optimal health.\n \n \n \n \n \n )\n}\n","import { useEffect, useState } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"recompose\";\nimport { accountService } from \"../../../../services/account.service\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { authService } from \"../../../auth/services/auth.service\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { agreementPagesProvider } from \"../../components/AgreementsComponent/pages/agreementsPagesProvider\";\nimport { ConfirmAgreementModel, NotConfirmedAgreementModel } from \"../../models/agreement.model\";\nimport { agreementsService } from \"../../services/agreements.service\";\nimport { agreementsQuery, agreementsStore } from \"../../stores/agreementsStore\";\n\nexport interface ConfirmAgreementComponentState {\n isLoading: boolean;\n agreements: NotConfirmedAgreementModel[];\n currentAgreement: NotConfirmedAgreementModel;\n currentAgreementPage: Function;\n}\n\nconst defaultState: ConfirmAgreementComponentState = {\n isLoading: true,\n agreements: [],\n currentAgreement: null,\n currentAgreementPage: null\n}\n\nexport function useFacade(): [\n ConfirmAgreementComponentState,\n () => void,\n () => void] {\n\n const [state, setState] = useState(defaultState);\n const history = useHistory();\n\n\n const handleConfirm = () => {\n const benefitOfTheDoubtMargin = 10;\n\n if (((window.innerHeight + window.scrollY) + benefitOfTheDoubtMargin) >= document.body.offsetHeight) {\n setState(state => ({...state, isLoading: true}));\n\n const confirmation: ConfirmAgreementModel = {\n agreementId: state.currentAgreement.agreement.id,\n isConfirmed: true\n };\n\n agreementsService.confirm([confirmation]).subscribe(() => {\n if (!state.agreements.length) {\n authService.reLogin().subscribe(() => {\n navigationService.toDashboard(history);\n setState(state => ({...state, isLoading: false}));\n });\n } else {\n agreementsStore.update({notConfirmedAgreements: state.agreements.slice()});\n setState(state => ({...state, isLoading: false}));\n navigationService.goUp();\n }\n });\n }\n else {\n navigationService.goDown();\n }\n }\n\n const handleDismiss = () => {\n accountService.logout();\n }\n\n const useEffectCB = () => {\n const subscriptions: Subscription[] = [\n onEmit(agreementsQuery.notConfirmedAgreements$, agreements => {\n if (agreements.length) {\n const currentAgreement = agreements.shift();\n setState(state => ({...state,\n agreements: agreements.slice(),\n currentAgreement: currentAgreement,\n currentAgreementPage: agreementPagesProvider.getPage(currentAgreement.agreement),\n signature: '',\n errors: {},\n }));\n }\n }),\n ];\n\n if (authQuery.isAgreementsConfirmed()) {\n navigationService.toDashboard(history);\n }\n\n agreementsService.getNotConfirmed()\n .subscribe(() => setState(state => ({\n ...state,\n isLoading: false\n })));\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }\n\n useEffect(useEffectCB, []);\n\n return [state, handleConfirm, handleDismiss];\n}","import { Box, Button, Container, Grid, Paper } from '@material-ui/core';\nimport CssBaseline from '@material-ui/core/CssBaseline';\nimport React from 'react';\nimport { TitlesService } from '../../../../constants/title.constants';\nimport WildHealthLinearProgress from '../../../common/components/WildHealthLinearProgress';\nimport { useFacade } from \"./confirmAgreementsPage.hooks\";\nimport { AgreementsComponent } from \"../../components/AgreementsComponent/AgreementsComponent\";\nimport { WildHealthButton } from \"../../../common/components/wildHealthButton/WildHealthButton\";\n\nexport const ConfirmAgreementsPage: React.FC = () => {\n const [\n {\n isLoading,\n currentAgreement,\n currentAgreementPage\n },\n handleConfirm,\n handleDismiss\n ] = useFacade();\n\n const renderAgreements = () => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n handleDismiss()}\n variant=\"outlined\">\n Dismiss\n \n \n \n \n \n handleConfirm()}\n fullWidth\n >\n I Agree\n \n \n \n \n \n \n \n \n )\n }\n\n return (\n <>\n {TitlesService.confirmAgreementsTitle}\n {\n isLoading\n ? \n : renderAgreements()\n }\n \n )\n}\n","import { useEffect } from \"react\";\nimport usePlacesAutocomplete, { getGeocode, getZipCode, HookReturn as PlacesHookReturn } from \"use-places-autocomplete\";\nimport { snackService } from \"../../snack/state\";\nimport {addressQuery} from \"../../../account/stores/addressStore\";\n\nexport const addressesKeys = {\n streetAddress1: 'streetAddress1',\n streetAddress2: 'streetAddress2',\n city: 'city',\n state: 'state',\n zipCode: 'zipCode',\n country: 'country',\n}\n\nexport function useFacade(prefix: string, address1: string, handleChanges: Function): [\n PlacesHookReturn,\n (value: string) => void,\n (value: string) => void] {\n\n const placesProps = {\n requestOptions: {},\n debounce: 300,\n };\n\n const state: PlacesHookReturn = usePlacesAutocomplete(placesProps);\n\n const selectAddress = (value: string) => {\n const address = value.split(', ');\n\n const street = address[0];\n const city = address[2] ? address[1] : street;\n const stateSuggestion = address[3] ? address[2] : city;\n const country = address[3] ?? address[2] ?? address[1];\n const state = addressQuery.getStates().find(x => x.name === stateSuggestion || x.abbreviation === stateSuggestion);\n\n handleChanges(`${prefix}${addressesKeys.streetAddress1}`, street);\n handleChanges(`${prefix}${addressesKeys.city}`, city);\n handleChanges(`${prefix}${addressesKeys.state}`, state?.name ?? '');\n handleChanges(`${prefix}${addressesKeys.country}`, country);\n\n getGeocode({address: value})\n .then(response => getZipCode(response[0], false))\n .then(zipCode => handleChanges(`${prefix}${addressesKeys.zipCode}`, zipCode))\n .catch(error => snackService.error(\"Failed to get address data.\"))\n }\n\n const handleAddressChange = (value: string) => {\n handleChanges(`${prefix}${addressesKeys.streetAddress1}`, value);\n state.setValue(value);\n }\n\n useEffect(() => {\n state.setValue(address1, false);\n }, [address1]);\n\n return [state,\n selectAddress,\n handleAddressChange,\n ];\n}\n","import { makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.gray900,\n textTransform: 'uppercase',\n [theme.breakpoints.down('xs')]: {\n fontSize: 12,\n },\n },\n}));","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgInfoCircleIcon = function SvgInfoCircleIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.99935 7.16699C8.27549 7.16699 8.49935 7.39085 8.49935 7.66699V11.0003C8.49935 11.2765 8.27549 11.5003 7.99935 11.5003C7.72321 11.5003 7.49935 11.2765 7.49935 11.0003V7.66699C7.49935 7.39085 7.72321 7.16699 7.99935 7.16699Z\",\n fill: \"#B9B9B9\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.99935 6.00033C8.36754 6.00033 8.66602 5.70185 8.66602 5.33366C8.66602 4.96547 8.36754 4.66699 7.99935 4.66699C7.63116 4.66699 7.33268 4.96547 7.33268 5.33366C7.33268 5.70185 7.63116 6.00033 7.99935 6.00033Z\",\n fill: \"#B9B9B9\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M2.16602 8.00033C2.16602 4.77866 4.77769 2.16699 7.99935 2.16699C11.221 2.16699 13.8327 4.77866 13.8327 8.00033C13.8327 11.222 11.221 13.8337 7.99935 13.8337C4.77769 13.8337 2.16602 11.222 2.16602 8.00033ZM7.99935 3.16699C5.32997 3.16699 3.16602 5.33095 3.16602 8.00033C3.16602 10.6697 5.32997 12.8337 7.99935 12.8337C10.6687 12.8337 12.8327 10.6697 12.8327 8.00033C12.8327 5.33095 10.6687 3.16699 7.99935 3.16699Z\",\n fill: \"#B9B9B9\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInfoCircleIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/InfoCircleIcon.2aec761d.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport {Box, CircularProgress, FormHelperText, Grid, TextField, useMediaQuery, useTheme} from '@material-ui/core';\nimport { AddressModel } from \"../../models/address.models\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { addressesKeys, useFacade } from './updateAddressForm.hooks';\nimport { Autocomplete } from '@material-ui/lab';\nimport { colors } from '../../constants/colors';\nimport { useStyles } from \"./updateAddressForm.styles\";\nimport {addressQuery} from \"../../../account/stores/addressStore\";\n\ninterface UpdateAddressFormProps {\n address: AddressModel,\n prefix: string;\n errors: { [id: string]: string; };\n handleChanges: Function,\n disabled?: boolean\n handleValidate: (field: string) => void\n}\n\nexport const UpdateAddressTestedForm: React.FC = (props: UpdateAddressFormProps) => {\n const {\n address,\n prefix,\n errors,\n handleChanges,\n handleValidate\n } = props;\n\n const [\n state,\n selectAddress,\n handleAddressChange,\n ] = useFacade(prefix, address.streetAddress1, handleChanges);\n const classes = useStyles();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n const renderInput = (isLoading: boolean, params: any, error: boolean, onChange: (value: string) => void, helperText?: string, placeholder?: string) => {\n return (\n onChange(e.currentTarget.value)}\n helperText={helperText}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n \n {!isLoading ? : null}\n {params.InputProps.endAdornment}\n \n ),\n classes,\n }}\n />\n )\n }\n\n const commonClasses = commonUseStyles();\n\n if (!handleChanges) {\n return (\n \n \n Address 1: \n {address.streetAddress1}\n \n \n Address 2: \n {address.streetAddress2}\n \n \n \n City: \n {address.city}\n \n \n State: \n {address.state}\n \n \n \n\n \n Zip Code: \n {address.zipCode}\n\n \n \n Country: \n {address.country}\n\n \n \n \n )\n }\n\n return (\n
\n \n \n Address*\n (`${i.structured_formatting?.main_text}, ${i.structured_formatting?.secondary_text}`))}\n onChange={(e, value) => selectAddress(value)}\n renderInput={(params) => renderInput(\n state.ready,\n params,\n !!errors[`${prefix}${addressesKeys.streetAddress1}`],\n handleAddressChange,\n errors[`${prefix}${addressesKeys.streetAddress1}`],\n 'Address'\n )}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.streetAddress1}`)}\n />\n \n \n Address 2\n handleChanges(`${prefix}${addressesKeys.streetAddress2}`, e.currentTarget.value)}\n helperText={errors[`${prefix}${addressesKeys.streetAddress2}`]}\n />\n \n \n \n \n \n City*\n {\n handleChanges(v.target.id, v.target.value)\n }}\n onBlur={() => handleValidate(`${prefix}city`)}\n />\n \n \n State*\n address.state !== x.name).map(x => x.name)}\n onChange={(e, value) => handleChanges(`${prefix}${addressesKeys.state}`, value)}\n value={address.state ?? \"\"}\n renderInput={(params) => (\n \n )}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.state}`)}\n />\n {errors[`${prefix}${addressesKeys.state}`]}\n \n \n \n \n \n \n Zip Code*\n {\n handleChanges(v.target.id, v.target.value)\n }}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.zipCode}`)}\n />\n \n \n Country*\n {\n handleChanges(v.target.id, v.target.value)\n }}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.country}`)}\n />\n \n \n \n
\n )\n}\n\nexport const UpdateAddressForm: React.FC = (props: UpdateAddressFormProps) => {\n const {\n address,\n prefix,\n errors,\n handleChanges,\n handleValidate\n } = props;\n\n const [\n state,\n selectAddress,\n handleAddressChange,\n ] = useFacade(prefix, address.streetAddress1, handleChanges);\n const classes = useStyles();\n\n const renderInput = (isLoading: boolean, params: any, error: boolean, onChange: (value: string) => void, helperText?: string, placeholder?: string) => {\n return (\n onChange(e.currentTarget.value)}\n helperText={helperText}\n InputProps={{\n ...params.InputProps,\n endAdornment: (\n \n {!isLoading ? : null}\n {params.InputProps.endAdornment}\n \n ),\n classes,\n }}\n />\n )\n }\n\n const commonClasses = commonUseStyles();\n\n if (!handleChanges) {\n return (\n \n \n Address 1: \n {address.streetAddress1}\n \n \n Address 2: \n {address.streetAddress2}\n \n \n \n City: \n {address.city}\n \n \n State: \n {address.state}\n \n \n \n\n \n Zip Code: \n {address.zipCode}\n\n \n \n Country: \n {address.country}\n\n \n \n \n )\n }\n\n return (\n
\n \n \n \n Address *\n \n (`${i.structured_formatting?.main_text}, ${i.structured_formatting?.secondary_text}`))}\n onChange={(e, value) => selectAddress(value)}\n renderInput={(params) => renderInput(\n state.ready,\n params,\n !!errors[`${prefix}${addressesKeys.streetAddress1}`],\n handleAddressChange,\n errors[`${prefix}${addressesKeys.streetAddress1}`],\n 'Address'\n )}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.streetAddress1}`)}\n />\n \n \n \n Address 2\n \n handleChanges(`${prefix}${addressesKeys.streetAddress2}`, e.currentTarget.value)}\n helperText={errors[`${prefix}${addressesKeys.streetAddress2}`]}\n />\n \n \n \n City *\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n onBlur={() => handleValidate(`${prefix}city`)}\n />\n \n \n \n State *\n \n address.state !== x.name).map(x => x.name)}\n onChange={(e, value) => handleChanges(`${prefix}${addressesKeys.state}`, value)}\n value={address.state ?? \"\"}\n renderInput={(params) => (\n \n )}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.state}`)}\n />\n {errors[`${prefix}${addressesKeys.state}`]}\n \n \n \n Zip Code *\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n onBlur={() => handleValidate(`${prefix}${addressesKeys.zipCode}`)}\n />\n \n \n
\n )\n}\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) =>\n createStyles({\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.mediumGray,\n },\n customWidth: {\n width: '244px',\n maxWidth: '244px',\n backgroundColor: colors.mediumGray,\n padding: '8px 12px',\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n newDesignWidth: {\n width: '252px',\n maxWidth: '252px',\n backgroundColor: colors.navy,\n padding: '12px 16px',\n borderRadius: 8\n },\n newDesignArrow: {\n color: colors.navy,\n }\n })\n);\n","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgVisibilityOff = function SvgVisibilityOff(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M20.5303 4.53033C20.8232 4.23744 20.8232 3.76256 20.5303 3.46967C20.2374 3.17678 19.7626 3.17678 19.4697 3.46967L3.46967 19.4697C3.17678 19.7626 3.17678 20.2374 3.46967 20.5303C3.76256 20.8232 4.23744 20.8232 4.53033 20.5303L7.37723 17.6834C8.74353 18.3266 10.3172 18.75 12 18.75C14.684 18.75 17.0903 17.6729 18.8206 16.345C19.6874 15.6797 20.4032 14.9376 20.9089 14.2089C21.4006 13.5003 21.75 12.7227 21.75 12C21.75 11.2773 21.4006 10.4997 20.9089 9.79115C20.4032 9.06244 19.6874 8.32028 18.8206 7.65503C18.5585 7.45385 18.2808 7.25842 17.989 7.07163L20.5303 4.53033ZM16.8995 8.16113L15.1287 9.93196C15.5213 10.5248 15.75 11.2357 15.75 12C15.75 14.0711 14.0711 15.75 12 15.75C11.2357 15.75 10.5248 15.5213 9.93196 15.1287L8.51524 16.5454C9.58077 16.9795 10.7621 17.25 12 17.25C14.2865 17.25 16.3802 16.3271 17.9073 15.155C18.6692 14.5703 19.2714 13.9374 19.6766 13.3536C20.0957 12.7497 20.25 12.2773 20.25 12C20.25 11.7227 20.0957 11.2503 19.6766 10.6464C19.2714 10.0626 18.6692 9.42972 17.9073 8.84497C17.5941 8.60461 17.2571 8.37472 16.8995 8.16113ZM11.0299 14.0307C11.3237 14.1713 11.6526 14.25 12 14.25C13.2426 14.25 14.25 13.2426 14.25 12C14.25 11.6526 14.1713 11.3237 14.0307 11.0299L11.0299 14.0307Z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 5.25C13.0323 5.25 14.0236 5.40934 14.9511 5.68101C15.1296 5.73328 15.1827 5.95662 15.0513 6.0881L14.2267 6.91265C14.1648 6.97451 14.0752 6.99928 13.99 6.97967C13.3506 6.83257 12.6839 6.75 12 6.75C9.71345 6.75 7.61978 7.67292 6.09267 8.84497C5.33078 9.42972 4.72857 10.0626 4.32343 10.6464C3.90431 11.2503 3.75 11.7227 3.75 12C3.75 12.2773 3.90431 12.7497 4.32343 13.3536C4.67725 13.8635 5.18138 14.4107 5.81091 14.9307C5.92677 15.0264 5.93781 15.2015 5.83156 15.3078L5.12265 16.0167C5.03234 16.107 4.88823 16.1149 4.79037 16.0329C4.09739 15.4517 3.51902 14.8255 3.0911 14.2089C2.59937 13.5003 2.25 12.7227 2.25 12C2.25 11.2773 2.59937 10.4997 3.0911 9.79115C3.59681 9.06244 4.31262 8.32028 5.17941 7.65503C6.90965 6.32708 9.31598 5.25 12 5.25Z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 8.25C12.1185 8.25 12.2357 8.25549 12.3513 8.26624C12.5482 8.28453 12.6194 8.51991 12.4796 8.6597L11.2674 9.87196C10.6141 10.0968 10.0968 10.6141 9.87196 11.2674L8.6597 12.4796C8.51991 12.6194 8.28453 12.5482 8.26624 12.3513C8.25549 12.2357 8.25 12.1185 8.25 12C8.25 9.92893 9.92893 8.25 12 8.25Z\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgVisibilityOff, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/VisibilityOff.02505f86.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { Box, Checkbox, FormControlLabel, Grid, useMediaQuery, useTheme } from '@material-ui/core';\nimport { SelectAddOnModel } from '../../models/addOns.models';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { useStyles } from \"./selectAddonComponent.styles\";\nimport { colors } from '../../../common/constants/colors';\nimport clsx from 'clsx';\nimport { ReactComponent as InfoCircleIcon } from '@img/icons/InfoCircleIcon.svg';\nimport { WildHealthClickableTooltip } from '../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip';\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\n\ninterface SelectAddOnComponentProps {\n key?: number;\n addOn: SelectAddOnModel;\n handleSelectingItem: (id: number, value: boolean) => void;\n}\n\nexport const SelectAddOnTestedComponent: React.FC = (props: SelectAddOnComponentProps) => {\n const { key, addOn, handleSelectingItem } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const [open, setOpen] = React.useState(false);\n\n const handleTooltipClose = () => {\n setOpen(false);\n };\n\n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const handleChanges = (event: React.ChangeEvent) => {\n handleSelectingItem(addOn.id, event.target.checked)\n }\n\n const tooltipContent = (\n

\n {addOn.description}\n

\n )\n\n const label = \n {addOn.name}\n ;\n const controlIcon = ;\n const controlCheckedIcon = ;\n const control = (\n \n );\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ${addOn.price}\n \n \n \n \n );\n}\n\nexport const SelectAddOnComponent: React.FC = (props: SelectAddOnComponentProps) => {\n const { key, addOn, handleSelectingItem } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const customTooltipClasses = {\n tooltip: classes.newDesignWidth,\n arrow: classes.newDesignArrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const [open, setOpen] = React.useState(false);\n\n const handleTooltipClose = () => {\n setOpen(false);\n };\n\n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const handleChanges = (event: React.ChangeEvent) => {\n handleSelectingItem(addOn.id, event.target.checked)\n }\n\n const tooltipContent = (\n

\n {addOn.description}\n

\n )\n\n return (\n \n \n \n \n \n {addOn.name}\n }\n checkStatus={addOn.isSelected}\n handleCheck={handleChanges}\n />\n \n \n \n \n \n \n \n \n \n \n \n ${addOn.price}\n \n \n \n \n );\n}\n","import { Box } from '@material-ui/core';\nimport React from 'react';\nimport { SelectAddOnModel } from '../../models/addOns.models';\nimport { SelectAddOnTestedComponent } from '../selectAddOnTestComponent/selectAddOnComponent';\n\ninterface SelectAddOnsComponentProps {\n items: SelectAddOnModel[];\n handleSelectingItem: (id: number, value: boolean) => void;\n}\n\nexport const SelectAddOnsComponent: React.FC = (props: SelectAddOnsComponentProps) => {\n const { items, handleSelectingItem } = props;\n\n return (\n\n \n {\n items.map((item) => {\n return (\n \n \n \n )\n })\n }\n \n );\n}\n","import { Box } from '@material-ui/core';\nimport clsx from 'clsx';\nimport React from 'react';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { SelectAddOnModel } from '../../models/addOns.models';\nimport { SelectAddOnsComponent } from '../selectAddOnsTestComponent/selectAddOnsComponent';\n\ninterface SelectAddOnsCardComponentProps {\n items: SelectAddOnModel[];\n handleSelectingItem: (id: number, value: boolean) => void;\n}\n\nexport const SelectAddOnsCardComponent: React.FC = (props: SelectAddOnsCardComponentProps) => {\n const { items, handleSelectingItem } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n \n \n Get A Head Start On Your Personalized Care\n \n \n \n \n \n );\n}\n","import { createStyles, makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) =>\n createStyles({\n notificationToolTipText: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n },\n arrow: {\n color: colors.mediumGray,\n },\n customWidth: {\n width: '221px',\n maxWidth: '221px',\n backgroundColor: colors.mediumGray,\n padding: '8px 12px',\n },\n startupFeeTooltip: {\n fontFamily: 'Be Vietnam Pro',\n fontSize: 12,\n fontWeight: 400,\n color: colors.white,\n listStyleType: 'disc'\n },\n tooltipPlacement: {\n margin: '8px 0',\n },\n newDesignWidth: {\n width: '240px',\n maxWidth: '240px',\n backgroundColor: colors.navy,\n padding: 12,\n borderRadius: 8\n },\n newDesignArrow: {\n color: colors.navy,\n }\n })\n);\n","import React from 'react';\nimport {Box, Divider} from '@material-ui/core';\nimport {displayMoney} from \"../../../common/helpers/display-money\";\nimport {PaymentPlanModel} from \"../../models/paymentPlan.models\";\nimport {PaymentPeriodModel} from \"../../models/paymentPeriod.models\";\nimport {DiscountModel, DiscountSource, PaymentPriceModel, PaymentPriceType, PaymentStrategy} from \"../../models/paymentPrice.models\";\nimport {SelectAddOnModel} from '../../../addons/models/addOns.models';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport {\n SelectAddOnsCardComponent\n} from \"../../../addons/components/SelectAddOnsCardTestComponent/SelectAddOnsCardComponent\";\nimport {useStyles} from \"./billingSummaryComponent.styles\";\nimport {ReactComponent as InfoCircleIcon} from '@img/icons/InfoCircleIcon.svg';\nimport {\n WildHealthClickableTooltip\n} from \"../../../common/components/WildHealthClickableTooltip/WildHealthClickableTooltip\";\n\ninterface BillingSummaryComponentProps {\n selectedPlan?: PaymentPlanModel;\n selectedPeriod?: PaymentPeriodModel;\n selectedPrice?: PaymentPriceModel;\n selectedAddOns?: SelectAddOnModel[];\n hasDiscount?: boolean;\n hasContainer?: boolean;\n addOns?: SelectAddOnModel[];\n handleToggleSelectingAddOn?: (id: number, value: boolean) => void;\n}\n\nexport const BillingSummaryTestedComponent: React.FC = (props: BillingSummaryComponentProps) => {\n const {\n selectedPlan,\n selectedPrice,\n selectedAddOns,\n hasDiscount,\n addOns,\n handleToggleSelectingAddOn,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const customTooltipClasses = {\n tooltip: classes.customWidth,\n arrow: classes.arrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const [open, setOpen] = React.useState(false);\n\n const handleTooltipClose = () => {\n setOpen(false);\n };\n\n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const displayPostfix = (paymentPlan: PaymentPlanModel, paymentPrice: PaymentPriceModel) => {\n return paymentPlan.name === 'PRECISION_CARE_PACKAGE' ? '' : paymentPrice.strategy === PaymentStrategy.FullPayment ? '/yr' : '/mo'\n };\n\n const startupFee = selectedPrice?.startupFee ?? 0;\n const subTotalPrice = selectedPrice?.originalPrice ?? 0;\n const discount = selectedPrice?.discount ?? 0;\n const totalPrice = (selectedPrice?.originalPrice ?? 0) + startupFee - discount +\n (selectedAddOns?.reduce((sum, current) => sum + current.price, 0) ?? 0);\n\n const tooltipContent = (\n <>\n

\n Includes:\n

\n \n
    \n
  • Proprietary genetic testing
  • \n
  • Replacement DNA kit if needed
  • \n
  • Personal onboarding support via care coordinator
  • \n
\n
\n \n )\n\n const showYearMonth = (discountModel: DiscountModel, paymentStrategy:PaymentStrategy) => {\n if(discountModel.source == DiscountSource.Coupon || discountModel.source == DiscountSource.Insurance){\n if(paymentStrategy == PaymentStrategy.FullPayment){\n return \" / year\";\n }\n if(paymentStrategy == PaymentStrategy.PartialPayment){\n return \" / month\";\n }\n }\n }\n\n const renderContent = () => {\n return (\n <>\n \n \n {\n selectedPlan && [\n \n Plan Price\n ,\n \n \n {displayMoney(subTotalPrice, '$', false, true)}{displayPostfix(selectedPlan, selectedPrice)}\n \n \n ]\n }\n \n \n {\n hasDiscount && discount > 0 && !!selectedPrice.discounts &&\n \n {\n selectedPrice.discounts.map(x=>{\n return(\n \n \n \n {x.name}\n \n \n \n \n {displayMoney(x.amount, '$', true, true)}{showYearMonth(x, selectedPrice.strategy)}\n \n \n )\n })\n } \n \n }\n {\n startupFee > 0 &&\n \n \n \n One Time Startup Fee\n \n \n \n \n \n \n \n \n \n ${startupFee}\n \n \n \n }\n \n \n \n \n \n \n {\n !selectedPlan.isTrial &&\n \n }\n \n \n \n \n \n \n \n Total Due Today\n \n \n \n \n {displayMoney(totalPrice, '$', false, true)}\n \n \n \n \n )\n }\n\n return (\n renderContent()\n )\n};\n\nexport const BillingSummaryComponent: React.FC = (props: BillingSummaryComponentProps) => {\n const {\n selectedPlan,\n selectedPrice,\n selectedAddOns,\n hasDiscount,\n } = props;\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const customTooltipClasses = {\n tooltip: classes.newDesignWidth,\n arrow: classes.newDesignArrow,\n tooltipPlacementBottom: classes.tooltipPlacement,\n tooltipPlacementTop: classes.tooltipPlacement,\n };\n\n const [open, setOpen] = React.useState(false);\n\n const handleTooltipClose = () => {\n setOpen(false);\n };\n\n const handleTooltipOpen = () => {\n setOpen(true);\n };\n\n const startupFee = selectedPrice?.startupFee ?? 0;\n const subTotalPrice = selectedPrice?.originalPrice ?? 0;\n const discount = selectedPrice?.discount ?? 0;\n const totalPrice = (selectedPrice?.originalPrice ?? 0) + startupFee - discount +\n (selectedAddOns?.reduce((sum, current) => sum + current.price, 0) ?? 0);\n\n const tooltipContent = (\n <>\n

\n What’s Included?\n

\n \n
    \n
  • Wild Health Genetic Test Kit
  • \n
  • 1x replacement DNA kit, as needed
  • \n
  • 1-on-1 onboarding support by a Care Coordinator
  • \n
  • Shipping & processing
  • \n
\n
\n \n )\n\n const getDiscountWording = () => {\n switch (selectedPrice.type) {\n case PaymentPriceType.Insurance: return 'Insurance Discount';\n case PaymentPriceType.Default: return selectedPrice.strategy === PaymentStrategy.FullPayment\n ? 'Annual Savings'\n : '';\n case PaymentPriceType.PromoCode: return selectedPrice.strategy === PaymentStrategy.PartialPayment\n ? `Promo Discount (${selectedPrice.paymentCoupon?.code})`\n : 'Annual Savings & Promo Code'\n case PaymentPriceType.InsurancePromoCode: return 'Insurance Discount & Promo Code'\n }\n }\n\n return (\n <>\n \n \n {\n selectedPlan && [\n \n Subtotal\n ,\n \n \n {displayMoney(subTotalPrice, '$')}\n \n \n ]\n }\n \n \n {\n startupFee > 0 &&\n \n \n One-Time Start-Up Fee\n \n \n \n \n \n \n \n \n ${startupFee}\n \n \n \n }\n {\n hasDiscount && discount > 0 &&\n \n \n \n {getDiscountWording()}\n \n \n \n \n {displayMoney(discount, '$', true)}\n \n \n \n }\n \n \n \n \n \n \n \n \n Total Due Today\n \n \n \n \n {displayMoney(totalPrice, '$')}\n \n \n \n \n )\n};","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n btnLink: {\n color: colors.main,\n cursor: 'pointer',\n paddingLeft: '4px',\n fontWeight: 700,\n },\n}));","import {\n Box,\n FormControl,\n FormHelperText,\n Grid,\n TextField,\n IconButton,\n InputAdornment,\n OutlinedInput,\n} from '@material-ui/core';\nimport React from 'react';\nimport { User } from '../../../common/models/user.models';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport VisibilityOutlinedIcon from '@material-ui/icons/VisibilityOutlined';\nimport { ReactComponent as VisibilityOffOutlinedIcon } from '@img/icons/VisibilityOff.svg';\nimport { colors } from '../../../common/constants/colors';\nimport { useStyles } from \"./welcomePatientInfoComponent.styles\";\n\ninterface PatientInfoComponentProps extends IErrorState {\n payer: User;\n handleChanges: (field: string, value: any) => void;\n readonlyFields: string[],\n hiddenFields: string[]\n}\n\nexport const WelcomePatientInfoComponent: React.FC = (props: PatientInfoComponentProps) => {\n const {\n payer,\n handleChanges,\n errors,\n hiddenFields,\n readonlyFields,\n } = props;\n\n const [state, setState] = React.useState({\n showPassword: false,\n });\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const handleClickShowPassword = () => {\n setState({ ...state, showPassword: !state.showPassword });\n };\n\n return (\n
\n \n \n \n \n \n \n
\n )\n}\n","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.gray900,\n textTransform: 'uppercase',\n [theme.breakpoints.down('xs')]: {\n fontSize: 12,\n },\n },\n unchecked: {\n flex: 1,\n border: `1px solid #C4C4C4`,\n borderRadius: 4,\n height: 50,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: colors.gray700,\n cursor: 'pointer'\n },\n checked: {\n position: 'relative',\n flex: 1,\n border: `1px solid ${colors.lime}`,\n borderRadius: 4,\n backgroundColor: colors.lightMint20,\n height: 50,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n color: colors.navy,\n cursor: 'pointer'\n },\n checkIcon: {\n position: 'absolute',\n left: 20,\n fill: colors.darkMint,\n },\n helperText: {\n marginTop: 4,\n marginLeft: 14,\n marginRight: 14\n }\n}));","import {\n Box,\n FormControl,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n useTheme,\n} from '@material-ui/core';\nimport moment from \"moment\";\nimport React from 'react';\nimport DateFnsUtils from '@date-io/moment';\nimport { MuiPickersUtilsProvider, KeyboardDatePicker } from '@material-ui/pickers';\nimport { Gender, User } from '../../../common/models/user.models';\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { phoneNumberInput } from '../../../common/components/PhoneNumberInput';\nimport { ReactComponent as CalendarIcon } from '@img/icons/CalendarIcon.svg';\nimport { useStyles } from \"./patientInfoRedesignComponent.styles\";\nimport {Autocomplete} from \"@material-ui/lab\";\nimport {addressQuery} from \"../../../account/stores/addressStore\";\nimport CheckOutlinedIcon from '@material-ui/icons/CheckOutlined';\nimport { colors } from '../../../common/constants/colors';\n\ninterface PatientInfoRedesignComponentProps extends IErrorState {\n payer: User;\n handleChanges: (field: string, value: any) => void;\n displayLoginInfo?: boolean,\n readonlyFields: string[],\n hiddenFields: string[],\n handleValidate: (field: string) => void\n}\n\nexport const PatientInfoRedesignComponent: React.FC = (props: PatientInfoRedesignComponentProps) => {\n const {\n payer,\n handleChanges,\n errors,\n hiddenFields,\n readonlyFields,\n handleValidate\n } = props;\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n const getBirthday = () => {\n return payer.birthday\n ? moment(payer.birthday).format('YYYY-MM-DD')\n : null\n }\n\n return (\n
\n \n \n \n \n \n \n {isSmallScreen ? (\n <>\n \n \n \n \n \n State of Residence*\n \n payer.state?.id !== x.id)}\n getOptionLabel={x => x.name}\n onChange={(e, value) => handleChanges('state', value)}\n value={payer.state}\n renderInput={(params) => (\n \n )}\n onBlur={() => handleValidate('state')}\n />\n {errors[`state`]}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n <>\n \n \n \n \n \n \n \n \n \n \n State of Residence*\n \n payer.state?.id !== x.id)}\n getOptionLabel={x => x.name}\n onChange={(e, value) => handleChanges('state', value)}\n value={payer.state}\n renderInput={(params) => (\n \n )}\n onBlur={() => handleValidate('state')}\n />\n {errors[`state`]}\n \n \n \n \n \n )}\n
\n )\n}\n\nexport const PatientInfoComponent: React.FC = (props: PatientInfoRedesignComponentProps) => {\n const {\n payer,\n handleChanges,\n errors,\n hiddenFields,\n readonlyFields,\n handleValidate\n } = props;\n\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const getBirthday = () => {\n return payer.birthday\n ? moment(payer.birthday).format('YYYY-MM-DD')\n : null\n }\n\n return (\n
\n \n \n \n \n \n \n \n \n \n \n
\n )\n}\n","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport { stringLengthValidationRule, notIncludeWhitespaceValidationRule } from \"../../../common/validation/general-validation-rules\";\n\nexport const applyCouponCodeValidator = new GeneralValidator({\n 'couponCode': [notIncludeWhitespaceValidationRule(), stringLengthValidationRule(1, 32, \"Enter a valid promotional code\")]\n});","import {IErrorState} from \"../../../common/validation/error-state\";\nimport {useState} from \"react\";\nimport {CouponCodeModel} from \"../../models/paymentCoupon.model\";\nimport {applyCouponCodeValidator} from \"./applyPaymentCoupon.validator\";\n\n\ninterface ApplyPaymentCouponState extends IErrorState {\n model: CouponCodeModel;\n}\n\nexport function useFacade(couponCode: string, applyCoupon: Function): [ApplyPaymentCouponState, Function, Function] {\n const [state, setState] = useState({\n model: {\n couponCode: couponCode ?? ''\n },\n errors: {}\n } as ApplyPaymentCouponState);\n\n const handleCouponChanges = (value: string) => {\n state.model.couponCode = value;\n setState({\n ...state,\n model: {...state.model}\n });\n\n applyCouponCodeValidator.validateAndSetState(state, setState, \"couponCode\", state.model.couponCode);\n }\n\n const handleCouponApply = () => {\n applyCouponCodeValidator.validateAndSetState(state, setState, \"couponCode\", state.model.couponCode);\n if (applyCouponCodeValidator.stateIsValid(state)) {\n applyCoupon(state.model.couponCode);\n }\n };\n\n return [state, handleCouponChanges, handleCouponApply];\n}","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n couponCodeInput: {\n minWidth: 250,\n },\n applyBtn: {\n minWidth: 200\n },\n appliedCouponBox:{\n backgroundColor:colors.lightBlue2,\n borderRadius: 4\n },\n appliedCouponSpan: {\n color: colors.main\n },\n applyBtnText: {\n color: colors.primaryV,\n fontSize: 16,\n fontWeight: 500\n },\n couponCodeBox:{\n backgroundColor: colors.gray6,\n borderRadius: 8,\n display: 'flex',\n alignItems: 'center',\n width: 'fit-content',\n paddingLeft: 16,\n paddingRight: 16\n },\n couponCodeText: {\n color: colors.gray700,\n fontSize: 14,\n fontWeight: 500,\n },\n removeIcon: {\n fill: colors.gray700\n }\n}));","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgTicketIcon = function SvgTicketIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 19,\n height: 23,\n viewBox: \"0 0 19 23\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.43645 21.3536L9.79 21.7071L10.1436 21.3536L17.3593 14.1378C17.6249 14.6957 17.5273 15.3856 17.0664 15.8464L10.8564 22.0564C10.2717 22.6412 9.31829 22.6412 8.73355 22.0564L0.943553 14.2664L0.943585 14.2664L0.938808 14.2618C0.657833 13.9882 0.5 13.6084 0.5 13.21V12.4171L9.43645 21.3536ZM0.943553 9.26645L0.943585 9.26641L0.938808 9.26176C0.657833 8.98818 0.5 8.60841 0.5 8.21V2C0.5 1.17614 1.17614 0.5 2 0.5H8.20937C8.60889 0.501078 8.99232 0.657375 9.27872 0.935832L17.0664 8.72355C17.6512 9.30829 17.6512 10.2617 17.0664 10.8464L10.8564 17.0564C10.2717 17.6412 9.31829 17.6412 8.73355 17.0564L0.943553 9.26645ZM5.48744 3.01256C5.15925 2.68437 4.71413 2.5 4.25 2.5C3.78587 2.5 3.34075 2.68437 3.01256 3.01256C2.68437 3.34075 2.5 3.78587 2.5 4.25C2.5 4.71413 2.68437 5.15925 3.01256 5.48744C3.34075 5.81563 3.78587 6 4.25 6C4.71413 6 5.15925 5.81563 5.48744 5.48744C5.81563 5.15925 6 4.71413 6 4.25C6 3.78587 5.81563 3.34075 5.48744 3.01256Z\",\n fill: \"#63686B\",\n stroke: \"#63686B\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgTicketIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/TicketIcon.d14b6207.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport { Box, Grid, TextField, FormControl, FormHelperText, IconButton, InputAdornment, OutlinedInput } from \"@material-ui/core\";\nimport { useFacade } from \"./applyPaymentCouponComponent.hooks\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport { colors } from '../../../common/constants/colors';\nimport { useStyles } from \"./paymentCouponComponent.styles\";\n\ninterface PaymentCouponComponentProps {\n handleCouponChanges: Function;\n applyCoupon: Function;\n couponCode: string;\n isSmallScreen?: boolean;\n}\n\nexport const ApplyPaymentCouponTestedComponent: React.FC = (props: PaymentCouponComponentProps) => {\n const [\n {\n model,\n errors\n },\n handleCouponChanges,\n handleCouponApply\n ] = useFacade(props.couponCode, props.applyCoupon);\n const classes = useStyles();\n\n return (\n <>\n \n \n handleCouponChanges(event.target.value)}\n />\n \n \n handleCouponApply()} >\n Apply\n \n \n \n \n )\n};\n\nexport const ApplyPaymentCouponComponent: React.FC = (props: PaymentCouponComponentProps) => {\n const [\n {\n model,\n errors\n },\n handleCouponChanges,\n handleCouponApply\n ] = useFacade(props.couponCode, props.applyCoupon);\n const classes = useStyles();\n\n return (\n <>\n \n handleCouponChanges(event.target.value)}\n endAdornment={\n \n handleCouponApply()}\n edge=\"end\"\n >\n Apply\n \n \n }\n />\n {errors[`couponCode`]}\n \n \n )\n};","var _circle, _circle2;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgRadioChecked = function SvgRadioChecked(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 8,\n fill: \"#5BAED4\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 8,\n cy: 8,\n r: 2,\n fill: \"white\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRadioChecked, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/RadioChecked.a3fe9588.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\nimport {Box, Typography, Button, IconButton} from \"@material-ui/core\";\nimport {useStyles} from \"./paymentCouponComponent.styles\";\nimport { ReactComponent as CouponIcon } from '@img/icons/TicketIcon.svg';\nimport CloseIcon from '@material-ui/icons/Close';\n\ninterface PaymentCouponAppliedComponentProps {\n paymentCoupon: string;\n couponDiscount: string;\n handleRemove:Function\n}\n\nexport const PaymentCouponAppliedTestedComponent: React.FC = (props: PaymentCouponAppliedComponentProps) => {\n const {paymentCoupon, couponDiscount, handleRemove} = props;\n const classes = useStyles();\n\n return (\n <>\n \n \n Discount code\n \"{paymentCoupon}\" applied! You got {couponDiscount}\n \n \n \n \n \n \n \n )\n}\n\nexport const PaymentCouponAppliedComponent: React.FC = (props: PaymentCouponAppliedComponentProps) => {\n const {paymentCoupon, handleRemove} = props;\n const classes = useStyles();\n\n return (\n <>\n \n \n {paymentCoupon}\n handleRemove()}\n edge=\"end\"\n >\n \n \n \n \n )\n}","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgRadioUnchecked = function SvgRadioUnchecked(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M8 15C11.866 15 15 11.866 15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15ZM8 16C12.4183 16 16 12.4183 16 8C16 3.58172 12.4183 0 8 0C3.58172 0 0 3.58172 0 8C0 12.4183 3.58172 16 8 16Z\",\n fill: \"#B9B9B9\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgRadioUnchecked, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/RadioUnchecked.dda226a6.svg\";\nexport { ForwardRef as ReactComponent };","import { makeStyles, withStyles, createStyles, Switch, Theme } from '@material-ui/core';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n selectedPlan: {\n border: '1px solid',\n borderColor: colors.main,\n borderRadius: 8,\n },\n yearlyPaymentContext: {\n color: colors.linkBlack,\n fontWeight: 600,\n paddingLeft: 4,\n },\n activePlan: {\n border: '2px solid',\n borderColor: colors.primaryV,\n borderRadius: 12,\n backgroundColor: colors.mint50,\n position: 'relative'\n },\n tipCard: {\n position: 'absolute',\n top: -14,\n borderRadius: 100,\n backgroundColor: colors.primaryV,\n padding: '4px 10px',\n fontSize: 12,\n fontWeight: 500,\n color: colors.white,\n width: 'fit-content'\n },\n strategyContext: {\n fontSize: 18,\n fontWeight: 500,\n color: colors.navy,\n textTransform: 'capitalize',\n [theme.breakpoints.down('xs')]: {\n fontSize: 16,\n },\n }\n}));\n\nexport const WildHealthSwitcher = withStyles((theme: Theme) =>\n createStyles({\n root: {\n width: 65,\n height: 36,\n padding: 0,\n },\n switchBase: {\n padding: 5,\n '&$checked': {\n transform: 'translateX(30px)',\n color: theme.palette.common.white,\n '& + $track': {\n backgroundColor: colors.secondary,\n opacity: 1,\n border: 'none',\n },\n },\n '&$focusVisible $thumb': {\n color: '#52d869',\n border: '6px solid #fff',\n },\n },\n thumb: {\n width: 26,\n height: 26,\n },\n track: {\n borderRadius: 36 / 2,\n border: 'none',\n boxShadow: 'inset 0px 4px 4px rgba(0, 0, 0, 0.25)',\n backgroundColor: colors.secondary,\n opacity: 1,\n transition: theme.transitions.create(['background-color', 'border']),\n },\n checked: {},\n focusVisible: {},\n }),\n)(Switch);","import React from 'react';\nimport {Box} from '@material-ui/core';\nimport {PaymentPeriodModel} from \"../../models/paymentPeriod.models\";\nimport {PaymentPriceModel, PaymentPriceType, PaymentStrategy} from \"../../models/paymentPrice.models\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {ReactComponent as RadioCheckedIcon} from '@img/icons/RadioChecked.svg';\nimport {ReactComponent as RadioUncheckedIcon} from '@img/icons/RadioUnchecked.svg';\nimport {displayMoney} from \"../../../common/helpers/display-money\";\nimport clsx from 'clsx';\nimport {useStyles, WildHealthSwitcher} from \"./paymentSummaryComponent.styles\";\nimport {getCorrespondingPrice} from \"../../helpers/getCorrespondingPrice\";\nimport {PaymentPlanModel} from \"../../models/paymentPlan.models\";\n\ninterface PaymentSummaryComponentProps {\n priceType: PaymentPriceType;\n selectedPeriod: PaymentPeriodModel;\n selectedPrice: PaymentPriceModel;\n handlePriceSelect: Function;\n selectedPlan?: PaymentPlanModel;\n isCouponApplied?: boolean;\n}\n\nexport const PaymentSummaryTestedComponent: React.FC = (props: PaymentSummaryComponentProps) => {\n const {\n priceType,\n selectedPeriod,\n selectedPrice,\n handlePriceSelect,\n isCouponApplied\n } = props;\n\n const prices = selectedPeriod.prices;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const annualPrice = getCorrespondingPrice(prices, PaymentStrategy.FullPayment, priceType, isCouponApplied);\n const monthlyPrice = getCorrespondingPrice(prices, PaymentStrategy.PartialPayment, priceType, isCouponApplied);\n\n return (\n <>\n {\n annualPrice && monthlyPrice &&\n <>\n handlePriceSelect(annualPrice)} className={selectedPrice.strategy === PaymentStrategy.FullPayment && classes.selectedPlan}>\n {selectedPrice.strategy === PaymentStrategy.FullPayment ? : }\n \n Yearly Payment\n \n Pay upfront and save an additional {displayMoney(annualPrice.discount, '$')}/year.\n \n \n \n handlePriceSelect(monthlyPrice)} className={selectedPrice.strategy === PaymentStrategy.PartialPayment && classes.selectedPlan}>\n {selectedPrice.strategy === PaymentStrategy.PartialPayment ? : }\n \n Monthly Payment\n \n \n \n }\n \n )\n};\n\nexport const PaymentSummaryComponent: React.FC = (props: PaymentSummaryComponentProps) => {\n const {\n priceType,\n selectedPeriod,\n selectedPrice,\n handlePriceSelect,\n selectedPlan,\n isCouponApplied\n } = props;\n\n const prices = selectedPeriod.prices;\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const annualPrice = getCorrespondingPrice(prices, PaymentStrategy.FullPayment, priceType, isCouponApplied);\n const monthlyPrice = getCorrespondingPrice(prices, PaymentStrategy.PartialPayment, priceType, isCouponApplied);\n\n const paymentStrategyName = () => {\n switch (selectedPrice.strategy) {\n case PaymentStrategy.FullPayment:\n return `annual`;\n case PaymentStrategy.PartialPayment:\n return `monthly`;\n default: return '';\n }\n }\n\n const paymentAnnotation = () => {\n switch (selectedPrice.strategy) {\n case PaymentStrategy.FullPayment:\n return `This plan will auto-renew annually.`;\n case PaymentStrategy.PartialPayment:\n return `Your card will automatically be charged monthly.`;\n default: return '';\n }\n }\n\n const renderTip = () => {\n switch (selectedPrice.strategy) {\n case PaymentStrategy.FullPayment:\n return `Best Value - Save ${displayMoney(annualPrice.discount, '$')}!`;\n case PaymentStrategy.PartialPayment:\n return `Go Annual to Save ${displayMoney(annualPrice.discount, '$')}!`;\n default: return '';\n }\n }\n\n const displayPostfix = (paymentPlan: PaymentPlanModel, paymentPrice: PaymentPriceModel) => {\n return paymentPlan.name === 'PRECISION_CARE_PACKAGE' ? '' : paymentPrice.strategy === PaymentStrategy.FullPayment ? '' : '/mo'\n };\n\n return (\n <>\n {\n annualPrice && monthlyPrice ?\n <>\n \n \n Monthly\n \n \n handlePriceSelect(selectedPrice.strategy === PaymentStrategy.FullPayment ? monthlyPrice : annualPrice)}\n name=\"selectStragyToggle\"\n />\n \n \n Annual\n \n \n \n {renderTip()}\n \n {paymentStrategyName()} Plan\n {displayMoney(selectedPrice.price, '$')}{displayPostfix(selectedPlan, selectedPrice)}\n \n \n {paymentAnnotation()}\n \n \n \n :\n <>\n \n {\n selectedPrice.discount > 0 && Save {displayMoney(selectedPrice.discount, '$')} with Plan\n }\n \n {selectedPlan.displayName}\n {displayMoney(selectedPrice.price, '$')}\n \n \n \n }\n \n )\n};","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n addressValidationRules,\n newBirthdayValidationRule,\n emailValidationRule,\n firstNameValidationRule,\n functionValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n phoneNumberValidationRule,\n regexpValidationRule,\n stringLengthValidationRule,\n adultValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { Gender } from \"../../../common/models/user.models\";\n\nexport const finishCheckoutComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [adultValidationRule, newBirthdayValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (+value === Gender.Female) return true;\n if (+value === Gender.Male) return true;\n return false;\n }, \"Gender should be selected.\")],\n 'state': [functionValidationRule((value) => {\n return value;\n }, \"State should be selected.\")],\n 'phoneNumber': [phoneNumberValidationRule],\n 'password': [\n functionValidationRule((p: string) => { return !p.includes(\" \") }, \"Password should not contain spaces.\"),\n regexpValidationRule(new RegExp(\"(?=.*[0-9])\"), \"Password should contain at least one digit.\"),\n regexpValidationRule(new RegExp(\"(?=.*[a-z])\"), \"Password should contain at least one lower case.\"),\n regexpValidationRule(new RegExp(\"(?=.*[A-Z])\"), \"Password should contain at least one upper case.\"),\n stringLengthValidationRule(8, null, 'Password should contain at least 8 characters.'),\n notWhitespaceValidationRule()\n ],\n 'confirmPassword': [stringLengthValidationRule(1, null, 'Confirm password is required.'), notWhitespaceValidationRule()],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // lead source form\n 'selectedLeadSource.otherLeadSource': [stringLengthValidationRule(1, 50)],\n})","import {Store, StoreConfig} from '@datorama/akita';\n\n/**\n * Represents invite code state\n */\nexport interface InviteCodeState {\n inviteCode: string;\n}\n\n/**\n * Creates initial state\n */\nexport function createInitialState(): InviteCodeState {\n return {\n inviteCode: null,\n };\n}\n\n/**\n * Provides invite code states management\n */\n@StoreConfig({name: 'inviteCode', resettable: true })\nexport class InviteCodeStore extends Store {\n constructor() {\n super(createInitialState());\n }\n\n public setCode(code: string): void {\n this.update({inviteCode: code});\n }\n}\n\nexport const inviteCodeStore = new InviteCodeStore();\n","import {InviteCodeState, inviteCodeStore, InviteCodeStore} from './inviteCode.store';\nimport {Query} from '@datorama/akita';\n\n/**\n * Provides invite code queries\n */\nexport class InviteCodeQuery extends Query {\n inviteCode$ = this.select(state => state.inviteCode);\n\n constructor(protected store: InviteCodeStore) {\n super(store);\n }\n\n getInviteCode(): string {\n return this.getValue().inviteCode;\n }\n\n}\n\nexport const inviteCodeQuery = new InviteCodeQuery(inviteCodeStore);","export class AuthConstants {\n public static uuidPasswordInterpolation = \"-WldHlth1000\"\n}","import { RegisterPatientModel } from \"../../patients/models/patient.model\";\n\nexport function getFBTraits(patientInfo: RegisterPatientModel, universalId = null) {\n var traits = {\n address: {\n city: patientInfo.shippingAddress.city,\n postalCode: patientInfo.shippingAddress.zipCode,\n state: patientInfo.shippingAddress.state\n },\n birthday: patientInfo.birthday,\n email: patientInfo.email,\n firstName: patientInfo.firstName,\n lastName: patientInfo.lastName,\n phone: patientInfo.phoneNumber\n }\n if (universalId) {\n traits['userId'] = universalId;\n }\n return traits;\n}","export const getAge = (date: Date) => {\n const today = new Date();\n const birthday = new Date(date);\n let age = today.getFullYear() - birthday.getFullYear();\n const m = today.getMonth() - birthday.getMonth();\n if (m < 0 || (m === 0 && today.getDate() < birthday.getDate())) {\n age--;\n }\n\n return age;\n}","import React, { useEffect, useRef, useState } from 'react';\nimport Recaptcha from 'react-google-invisible-recaptcha';\nimport { useHistory } from 'react-router';\nimport { useLocation } from \"react-router-dom\";\nimport { Subscription } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\nimport { SITE_KEY } from \"../../../../config\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { AddOnModel, SelectAddOnModel } from \"../../../addons/models/addOns.models\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { addOnsQuery } from \"../../../addons/stores\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { LeadSourceModel, PatientLeadSourceModel } from \"../../../leadSources/models/leadSource.models\";\nimport { leadSourcesService } from \"../../../leadSources/services/leadSources.service\";\nimport { leadSourcesQuery } from \"../../../leadSources/stores/leadSources.query\";\nimport { RegisterPatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { AgreementModel } from \"../../models/agreement.model\";\nimport { ApplyCouponModel, MerchantCredentialsModel, PayerInformation } from \"../../models/payment.models\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport {\n PaymentCouponModel,\n PaymentPriceModel,\n PaymentPriceType,\n PaymentStrategy\n} from \"../../models/paymentPrice.models\";\nimport { paymentService } from \"../../services/payment.service\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { paymentPlansQuery, paymentPlansStore } from \"../../stores/paymentPlansStore\";\nimport { paymentQuery } from \"../../stores/paymentStore\";\nimport { finishCheckoutComponentValidator } from \"./FinishCheckoutComponentValidator\";\nimport { authService } from '../../../auth/services/auth.service';\nimport { GeneralValidator } from '../../../common/validation/general-validator';\nimport { inviteCodeQuery } from \"../../stores/inviteCodeStore/inviteCode.query\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\nimport { authQuery } from '../../../auth/stores/auth';\nimport { AuthConstants } from '../../../auth/constants/auth.constants';\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { OrderType } from \"../../../orders/models/orders.models\";\nimport { usersService } from \"../../../../services/users.service\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { getFBTraits } from \"../../../common/helpers/get-fb-traits\";\nimport { getCorrespondingPrice } from \"../../helpers/getCorrespondingPrice\";\nimport { useFlags } from \"launchdarkly-react-client-sdk\";\nimport { isFeatureFlag } from \"../../../common/components/featureFlags/featureFlags\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { insuranceService } from \"../../../insurance/services/insurance.service\";\nimport {getAge} from \"../../../common/helpers/get-age\";\nimport {InsuranceModel} from \"../../../insurance/models/insurance.models\";\nimport moment from \"moment\";\nimport { addressQuery } from '../../../account/stores/addressStore';\n\nexport enum GetStartedStep {\n Welcome = 0,\n PersonalInfo = 1,\n AskInsurance = 2,\n AskMedicare = 10,\n CaptureInsurance = 3,\n CheckInsurance = 4,\n Billing = 5,\n Checkout = 6\n}\n\nconst context = {};\n\n/**\n * Represents payment form state\n */\ninterface FinishCheckoutComponentState extends IErrorState {\n practiceId: number | null;\n publicKey: string | null;\n provider: string | null;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n isCardExist: boolean;\n isSubmitted: boolean;\n insurances: InsuranceModel[];\n hasInsurance: boolean;\n payer: PayerInformation;\n addOns: SelectAddOnModel[];\n popUpData: { text: string; alternativeAddOnId: number | null };\n couponCode: string;\n coupon: PaymentCouponModel;\n isCouponApplied: boolean;\n paymentPriceType: PaymentPriceType;\n sameAsBillingAddress: boolean;\n enterDiscountCode: boolean;\n agreements: AgreementModel[];\n selectedLeadSource: PatientLeadSourceModel;\n leadSources: LeadSourceModel[];\n step: GetStartedStep;\n paymentError: string;\n cardSaved: boolean;\n isAgreeContinue: boolean;\n isAgreeSMS: boolean;\n paymentCardInfo: any | null;\n isLoading: boolean;\n exclusivePrices: PaymentPriceModel[];\n}\n\nconst getDefaultPaymentPrice = (period: PaymentPeriodModel): PaymentPriceModel => {\n const promoCodePricePrice = period.prices.find(x => x.type === PaymentPriceType.PromoCode);\n if (promoCodePricePrice) {\n return promoCodePricePrice;\n }\n\n return getCorrespondingPrice(period.prices, PaymentStrategy.FullPayment, PaymentPriceType.Default) ?? period.prices[0];\n}\n\n/**\n * Custom Hook to manage a view Model for SelectPlan page view components\n */\nexport function useFacade(navigationContext: PageSliderNavigationContext, employerKey: string): [\n FinishCheckoutComponentState,\n boolean,\n boolean,\n (hasInsurance: boolean) => void,\n (paymentMethod: any) => void,\n (id: number) => void,\n (paymentPrice: PaymentPriceModel) => void,\n (field: string, value: string) => void,\n () => JSX.Element,\n (id: number, value: boolean) => void,\n () => SelectAddOnModel[],\n (value: string) => void,\n (code: string) => void,\n () => void,\n () => void,\n () => void,\n (field: string, value: string) => void,\n () => void,\n () => void,\n () => boolean,\n (event: React.ChangeEvent, field: string) => void,\n () => boolean,\n () => boolean,\n () => boolean,\n (field: string) => void\n] {\n\n const emptyAddress = {\n country: 'USA',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: '',\n }\n\n const history = useHistory();\n const featureFlags = useFlags();\n const { pathname } = useLocation();\n const insuranceOnboarding = isFeatureFlag(featureFlags, FeatureFlag.InsuranceOnboarding);\n const medicareOnboarding = isFeatureFlag(featureFlags, FeatureFlag.MedicareOnboarding);\n const isMarketingSMSButton = isFeatureFlag(featureFlags, FeatureFlag.MarketingSmsButton);\n const mobileGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.mobileGetStarted);\n const isConsultationGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.consultationGetStarted);\n const paymentPlan = paymentPlansQuery.getSelectedPlan();\n const paymentPeriod = paymentPlansQuery.getSelectedPeriod();\n const paymentPrice = getDefaultPaymentPrice(paymentPeriod);\n const couponCode = paymentPlansQuery.getCouponCode();\n const isCouponApplied = paymentPlansQuery.isPaymentCouponApplied();\n const [paymentToken, setPaymentToken] = useState(null);\n const recaptcha = useRef(null);\n const payer = {\n firstName: '',\n lastName: '',\n email: '',\n phoneNumber: '',\n birthday: null,\n gender: 99,\n password: '',\n confirmPassword: '',\n billingAddress: Object.assign({}, emptyAddress),\n shippingAddress: Object.assign({}, emptyAddress)\n }\n const [state, setState] = useState({\n practiceId: null,\n publicKey: null,\n payer: payer,\n isSubmitted: false,\n isCardExist: true,\n insurances: [],\n hasInsurance: false,\n errors: {},\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n addOns: [],\n popUpData: {\n text: '',\n alternativeAddOnId: null\n },\n couponCode: couponCode,\n isCouponApplied: isCouponApplied,\n paymentPriceType: paymentPrice.type,\n sameAsBillingAddress: true,\n enterDiscountCode: false,\n agreements: paymentPeriod.agreements,\n selectedLeadSource: {\n leadSourceId: 0,\n otherLeadSource: \"\",\n podcastSource: \"\"\n },\n leadSources: [],\n step: GetStartedStep.Welcome,\n paymentError: null,\n cardSaved: false,\n isAgreeContinue: false,\n isAgreeSMS: false,\n paymentCardInfo: null,\n isLoading: false,\n exclusivePrices:[]\n } as FinishCheckoutComponentState);\n\n const handleHasInsurance = (hasInsurance: boolean) => {\n let nextStep = hasInsurance\n ? GetStartedStep.CaptureInsurance\n : GetStartedStep.Billing;\n\n if (hasInsurance) {\n Track(\"onboarding_insurance_information\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n if (state.step === GetStartedStep.AskMedicare) {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_oon_notice\", {\n group: 'test',\n platform: PlatformName(),\n });\n nextStep = GetStartedStep.CheckInsurance;\n }\n }\n\n const paymentPriceType = hasInsurance\n ? PaymentPriceType.Insurance\n : PaymentPriceType.Default;\n\n const paymentPrice = getCorrespondingPrice(paymentPeriod.prices, state.paymentPrice.strategy, paymentPriceType);\n\n setState(state => ({\n ...state,\n hasInsurance: hasInsurance,\n paymentPrice: paymentPrice,\n paymentPriceType: paymentPriceType,\n step: nextStep,\n sameAsBillingAddress: false,\n }));\n\n return navigationService.goUp();\n }\n\n const handleSubmitNextStep = () => {\n switch (state.step) {\n case GetStartedStep.Welcome:\n return validateStepWelcome() && validateEmail();\n case GetStartedStep.PersonalInfo:\n if (validateStepFirst()) {\n Track(\"button_click\", {\n type: 'billing_details',\n acValue: 'billing_details',\n platform: PlatformName()\n })\n\n updateUserStep2();\n }\n return;\n case GetStartedStep.AskInsurance:\n return handleHasInsurance(true);\n case GetStartedStep.AskMedicare:\n Track(\"onboarding_medicare\", {\n group: 'test',\n platform: PlatformName(),\n });\n return handleHasInsurance(true);\n case GetStartedStep.CaptureInsurance:\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: getNextStep(),\n sameAsBillingAddress: false,\n });\n\n return navigationService.goUp();\n case GetStartedStep.CheckInsurance:\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: getNextStep(),\n sameAsBillingAddress: false,\n });\n\n return navigationService.goUp();\n case GetStartedStep.Billing:\n if (validateStepSecond()) {\n Track(\"Button Click\", {\n type: 'checkout_order_summary',\n platform: PlatformName()\n })\n Track(\"onboarding_checkout\", {\n group: 'test',\n platform: PlatformName(),\n });\n\n setState({ ...state, step: getNextStep(), cardSaved: true });\n\n navigationService.goUp();\n }\n return;\n case GetStartedStep.Checkout:\n handleSubmitRegistration()\n return;\n }\n }\n\n const emailUsed = () => {\n GeneralValidator.addError(state, 'email', 'Looks like this email invalid or is already in use. Try another email or log in.');\n setState({\n ...state,\n errors: state.errors\n });\n }\n\n const emailDoNotUsed = () => {\n Track(\"patient_sign_up\", {\n acValue: state.paymentPlan.displayName,\n plan: state.paymentPlan.displayName,\n platform: PlatformName()\n })\n Track(\"onboarding_personal_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n\n const password = !state.payer.password\n ? uuidv4() + AuthConstants.uuidPasswordInterpolation\n : state.payer.password;\n\n const user = {\n practiceId: state.practiceId,\n email: state.payer.email,\n password: password,\n smsMarketing: state.isAgreeSMS\n }\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.create(user).subscribe(() => {\n const nextStep = state.step + 1;\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n\n setState({\n ...state,\n payer: payer,\n step: nextStep,\n sameAsBillingAddress: false,\n isLoading: false\n });\n\n navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const updateUserStep2 = () => {\n const user: any = {\n email: state.payer.email,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n gender: state.payer.gender,\n birthDate: state.payer.birthday,\n phoneNumber: state.payer.phoneNumber,\n smsMarketing: state.isAgreeSMS,\n meetingRecordingConsent: true\n };\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.update(user).subscribe(() => {\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n\n if (!payer.billingAddress.state) {\n payer.billingAddress.state = payer.state.name\n }\n\n if (insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length) {\n Track(\"onboarding_insurance\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n }\n\n setState({\n ...state,\n payer: payer,\n step: getNextStep(),\n sameAsBillingAddress: false,\n isLoading: false\n });\n\n navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const validateEmail = () => {\n authService.isEmailExistForPatient(state.payer.email).subscribe(result => {\n result ? emailUsed() : emailDoNotUsed()\n })\n }\n\n const getInviteCode = () => {\n return inviteCodeQuery.getInviteCode();\n }\n\n const handleTokenChange = (paymentMethod: any) => {\n if (paymentMethod) {\n setPaymentToken(paymentMethod.paymentMethod.id);\n setState({ ...state, paymentCardInfo: paymentMethod, isCardExist: true });\n } else {\n setPaymentToken(null);\n setState({ ...state, paymentCardInfo: null });\n }\n }\n\n const getNextStep = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.Welcome: return GetStartedStep.PersonalInfo;\n case GetStartedStep.PersonalInfo: return insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length && !employerKey\n ? GetStartedStep.AskInsurance\n : medicareOnboarding && getAge(state.payer.birthday) >= 65 && !employerKey\n ? GetStartedStep.AskMedicare\n : GetStartedStep.Billing;\n case GetStartedStep.AskInsurance: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.AskMedicare: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.CaptureInsurance: return GetStartedStep.Billing\n case GetStartedStep.CheckInsurance: return GetStartedStep.Billing;\n case GetStartedStep.Billing: return GetStartedStep.Checkout;\n }\n }\n\n const getPreviousStep = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.PersonalInfo: return GetStartedStep.Welcome;\n case GetStartedStep.AskInsurance: return GetStartedStep.PersonalInfo;\n case GetStartedStep.CaptureInsurance: return state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id)\n ? GetStartedStep.AskInsurance\n : GetStartedStep.AskMedicare;\n case GetStartedStep.CheckInsurance: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.Billing: return state.hasInsurance\n ? GetStartedStep.CaptureInsurance\n : insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length && !employerKey\n ? GetStartedStep.AskInsurance\n : medicareOnboarding && getAge(state.payer.birthday) >= 65 && !employerKey\n ? GetStartedStep.AskMedicare\n : GetStartedStep.PersonalInfo;\n case GetStartedStep.Checkout: return GetStartedStep.Billing;\n }\n }\n\n const handleSubmitBackStep = () => {\n if (authQuery.isLoggedIn() && (state.step === GetStartedStep.AskMedicare)) {\n return navigationContext.goBack();\n }\n\n setState({ ...state, step: getPreviousStep(), errors: {} });\n }\n\n const handleSelectingAddOn = (id: number, value: boolean) => {\n const addOns = state.addOns;\n const addOn = addOns.find(x => x.id === id);\n addOn.isSelected = value;\n\n setState({\n ...state,\n addOns,\n popUpData: {\n text: addOn.alternativeAddon ? addOn.alternativeOffer : '',\n alternativeAddOnId: addOn.alternativeAddon?.id\n }\n });\n }\n\n const selectAlternativeAddOn = (alternativeAddOnId: number) => {\n const addOn = state.addOns.find(x => x.alternativeAddon?.id === alternativeAddOnId);\n if (addOn && addOn.alternativeAddon) {\n const addOns = state.addOns.filter(el => el.id !== addOn.id);\n\n const alternativeAddOn = addOn.alternativeAddon;\n\n addOns.push({\n ...alternativeAddOn,\n isSelected: true\n });\n\n setState({ ...state, addOns });\n }\n }\n\n const isCheckedAlternativeAddOn = () => {\n return Boolean(state.addOns.find(i => !i.isSelected && !!i.alternativeAddon))\n }\n\n const handlePriceSelect = (paymentPrice: PaymentPriceModel) => {\n setState({ ...state, paymentPrice });\n }\n\n const getSelectedAddOns = () => {\n return state.addOns.filter(i => i.isSelected);\n }\n\n const handleCouponChanges = (value: string) => {\n setState({ ...state, couponCode: value });\n }\n\n const selectPaymentPriceType = () => {\n switch (state.hasInsurance) {\n case true:\n return PaymentPriceType.Insurance;\n case false:\n return PaymentPriceType.Default;\n default: return PaymentPriceType.Default;\n }\n }\n\n const applyCoupon = (code: string) => {\n const paymentPriceType = selectPaymentPriceType();\n\n const model: ApplyCouponModel = {\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceType: paymentPriceType,\n code: code\n };\n\n const action = paymentPlansService.newPromoCodeApply(model);\n\n action.subscribe((exclusivePrices: PaymentPriceModel[]) => {\n if (exclusivePrices && exclusivePrices.length) {\n // we need the complete coupon model\n const retrievedCoupon = exclusivePrices[0].paymentCoupon;\n\n const newSelectedPeriod = Object.assign(paymentPeriod, {\n prices: [...paymentPeriod.prices, ...exclusivePrices]\n });\n\n const addOns = state.addOns;\n\n const freeAddOnsPrice = exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n\n const paymentPrice = newSelectedPeriod\n .prices\n .find(x => x.type === paymentPriceType && x?.paymentCoupon?.code === retrievedCoupon.code && x.strategy === state.paymentPrice.strategy);\n\n if (paymentPrice) {\n setState(state => ({\n ...state,\n couponCode: code,\n paymentPriceType: paymentPriceType,\n coupon: retrievedCoupon,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n addOns: addOns,\n isCouponApplied: true,\n exclusivePrices: exclusivePrices\n }));\n \n paymentPlansStore.setCouponApplied(retrievedCoupon);\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n }\n }, () => {\n });\n }\n\n const resetCoupon = () => {\n paymentPlansService.resetCoupon();\n\n const newSelectedPeriod = Object.assign(paymentPeriod, paymentPlan.periods[0]);\n\n const paymentPriceType = state.hasInsurance\n ? PaymentPriceType.Insurance\n : PaymentPriceType.Default;\n\n const paymentPrice = getCorrespondingPrice(newSelectedPeriod.prices, state.paymentPrice.strategy, paymentPriceType);\n\n setState(state => ({\n ...state,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n paymentPriceType: paymentPriceType,\n isCouponApplied:false\n }));\n\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n\n const handleChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n const payer = state.payer;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, payer);\n lastObject[key] = value;\n\n setState({ ...state, payer: Object.assign({}, payer) });\n\n if (field === 'gender') {\n addOnsService.getOptional(state.paymentPlan.id, value, employerKey);\n }\n }\n\n const handleAgree = (event: React.ChangeEvent, field: string) => {\n state[field] = event.target.checked;\n setState({ ...state });\n }\n\n const isCheckedWelcomePatient = () => {\n return Boolean(state.payer.email && state.payer.password);\n }\n\n const isCheckedPersonalInfo = () => {\n return Boolean(state.payer.firstName && state.payer.lastName && moment(state.payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && state.payer.phoneNumber && state.payer.gender !== 99 && state.isAgreeContinue);\n }\n\n const isCheckedBillingDetail = () => {\n return Boolean(paymentToken && state.payer.billingAddress.streetAddress1 && state.payer.billingAddress.city && state.payer.billingAddress.country && state.payer.billingAddress.state && state.payer.billingAddress.zipCode);\n }\n\n const handleLeadSourceChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state);\n lastObject[key] = key === \"leadSourceId\" ? +value : value;\n\n setState({ ...state, selectedLeadSource: state.selectedLeadSource });\n }\n\n const updateValidationState = (field: string, value: any) => {\n if (state.sameAsBillingAddress && field.includes('billingAddress')) {\n const shippingAddressField = field.replace('billingAddress', 'shippingAddress');\n finishCheckoutComponentValidator.validateAndSetState(state, setState, shippingAddressField, value);\n }\n\n finishCheckoutComponentValidator.validateAndSetState(state, setState, field, value);\n }\n\n const executeRecaptcha = () => {\n recaptcha.current?.reset();\n recaptcha.current?.execute()\n }\n\n const renderRecaptcha = () => {\n context['state'] = state;\n context['paymentToken'] = paymentToken;\n\n return recaptchaOnResolved(token, context)}\n style={{ display: 'none' }}\n />\n }\n\n const handleSameAsBillingAddress = () => {\n const payer = state.payer;\n payer.shippingAddress = state.sameAsBillingAddress ? state.payer.billingAddress : emptyAddress;\n\n setState({\n ...state,\n payer: payer,\n sameAsBillingAddress: !state.sameAsBillingAddress\n });\n }\n\n const handleEnterDiscountCode = () => {\n setState({\n ...state,\n enterDiscountCode: !state.enterDiscountCode\n })\n }\n\n const recaptchaOnResolved = (antiSpamToken: string, context) => {\n const state = context['state'];\n const paymentToken = context['paymentToken'];\n\n const password = !state.payer.password\n ? uuidv4() + AuthConstants.uuidPasswordInterpolation\n : state.payer.password;\n\n const patient: RegisterPatientModel = {\n inviteCode: getInviteCode(),\n practiceId: state.practiceId,\n paymentToken: paymentToken,\n antiSpamToken: antiSpamToken,\n email: state.payer.email.trim(),\n phoneNumber: state.payer.phoneNumber,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n marketingSMS: state.isAgreeSMS,\n gender: Number(state.payer.gender),\n birthday: state.payer.birthday,\n password: password,\n confirmPassword: password,\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceId: state.paymentPrice.id,\n agreements: state.paymentPeriod.agreements.map(x => ({ agreementId: x.id, isConfirmed: true })),\n billingAddress: state.payer.billingAddress,\n shippingAddress: {...state.payer.shippingAddress, state: addressQuery.findState(state.payer.shippingAddress?.state)?.abbreviation},\n addOnIds: state.addOns.filter(x => x.isSelected).map(x => x.id),\n founderId: null,\n leadSource: state.selectedLeadSource.leadSourceId !== 0 ? state.selectedLeadSource : null,\n employeeId: null,\n linkedEmployeeId: null,\n employerProductKey: employerKey,\n promoCode: state.isCouponApplied ? state.couponCode : ''\n }\n \n const cb = () => setState(state => ({ ...state, isSubmitted: false }));\n \n const registerCB = (error: any) => {\n const messages = error?.response?.data?.messages ?? [];\n\n if (messages[0]?.toLowerCase()?.includes('already has an active membership')) {\n authService.refreshToken(authQuery.getRefreshToken()).subscribe(\n () => {\n const traits = getFBTraits(state.payer);\n Track(\n \"checkout_completed\",\n {\n platform: PlatformName()\n },\n traits\n );\n\n const createdPatient: any = {\n ...state.payer,\n intakeId: authQuery.getPatientId()\n }\n \n if (mobileGetStartedPath) {\n navigationService.toMobilePaymentSuccess(history, createdPatient);\n } else {\n navigationService.toPaymentSuccess(history, createdPatient);\n }\n }, cb\n )\n } else if (messages[0]?.toLowerCase()?.includes('your card was declined. please contact your financial institution.')) {\n setState(state => ({\n ...state,\n isSubmitted: false,\n step: GetStartedStep.Billing,\n cardSaved: false\n }));\n } else {\n setState(state => ({ ...state, isSubmitted: false }));\n }\n }\n\n patientsService.register(patient).subscribe(\n patient => {\n const traits = getFBTraits(state.payer, patient.universalId);\n Track(\n \"checkout_completed\",\n {\n platform: PlatformName()\n },\n traits\n );\n\n if (mobileGetStartedPath) {\n navigationService.toMobilePaymentSuccess(history, patient);\n } else {\n navigationService.toPaymentSuccess(history, patient);\n }\n },\n (error) => registerCB(error)\n );\n }\n\n const validateStepWelcome = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"email\", state.payer.email);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"password\", state.payer.password);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const handleOnBlurValidate = (field: string): boolean => {\n switch (field) {\n case 'firstName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'lastName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'birthday':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'gender':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'phoneNumber':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"state\", state.payer.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.streetAddress1':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.city':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.zipCode':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.country':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.country\", state.payer.billingAddress.country);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n }\n\n const validateStepFirst = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"state\", state.payer.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validateStepSecond = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress2\", state.payer.billingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.country\", state.payer.billingAddress.country);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress2\", state.payer.shippingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.country\", state.payer.shippingAddress.country);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n\n const leadSource = state.leadSources.find(x => x.id === state.selectedLeadSource.leadSourceId);\n if (leadSource !== undefined && leadSource.isOther)\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"selectedLeadSource.otherLeadSource\", state.selectedLeadSource.otherLeadSource);\n\n const isValid = finishCheckoutComponentValidator.stateIsValid(state) && Boolean(paymentToken);\n\n setState({ ...state, isCardExist: Boolean(paymentToken) })\n\n return isValid;\n }\n\n /**\n * Handles payment submit\n */\n const handleSubmitRegistration = () => {\n Track(\"Button Click\", {\n type: 'checkout_started',\n platform: PlatformName()\n })\n Track(\"checkout_started\", {\n platform: PlatformName()\n })\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n };\n\n /**\n * Load all payment plans\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentQuery.credentials$, credentials => {\n setState(state => ({\n ...state,\n publicKey: credentials?.publicKey,\n provider: credentials?.provider,\n practiceId: credentials?.practiceId\n }));\n }\n ),\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({ ...state, selectedPlan }));\n }),\n onEmit(paymentPlansQuery.isCouponApplied$, (value) => {\n setState(state => ({ ...state, isCouponApplied: value, }));\n }),\n onEmit(addOnsQuery.addOns$, addOns => {\n const items = addOns.map(i => {\n return {\n ...i,\n isSelected: i.orderType === OrderType.Lab\n }\n }); \n let isCouponApplied=false;\n if(state.isCouponApplied && !!state.exclusivePrices){\n const addOns = items;\n const freeAddOnsPrice = state.exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n isCouponApplied = true;\n }\n setState(state => ({ ...state, addOns: items, isCouponApplied: isCouponApplied }));\n }),\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources: leadSources.sort((l1, l2,) => handleCompare(l1, l2, SortingDirection.Desc, 'isOther'))\n }));\n }),\n ];\n\n leadSourcesService.getActive(authQuery.getCurrentPracticeId());\n paymentService.getCredentials(authQuery.getCurrentPracticeId());\n addOnsService.getOptional(paymentPlan.id, state.payer.gender, employerKey);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [paymentPlan, state.payer.gender, couponCode]);\n\n useEffect(() => {\n if (authQuery.isLoggedIn()) {\n const payer = state.payer;\n payer.email = authQuery.getEmail();\n payer.password = uuidv4() + AuthConstants.uuidPasswordInterpolation;\n\n setState({\n ...state,\n payer: payer,\n step: getNextStep()\n });\n Track(\"onboarding_personal_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_sign_up\", {\n group: 'test',\n platform: PlatformName(),\n })\n }\n }, [])\n \n useEffect(() => {\n if (state.payer.state) {\n insuranceService.getInsurances(state.payer.state.id).subscribe((insurances) => {\n setState((state) => ({...state, insurances }))\n }, () => {\n setState((state) => ({...state, insurances: [] }))\n });\n }\n }, [state.payer.state, state.payer.birthday]);\n\n\n return [\n state,\n isMarketingSMSButton,\n isConsultationGetStartedPath,\n handleHasInsurance,\n handleTokenChange,\n selectAlternativeAddOn,\n handlePriceSelect,\n handleChanges,\n renderRecaptcha,\n handleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n resetCoupon,\n handleSameAsBillingAddress,\n handleEnterDiscountCode,\n handleLeadSourceChanges,\n handleSubmitNextStep,\n handleSubmitBackStep,\n isCheckedAlternativeAddOn,\n handleAgree,\n isCheckedWelcomePatient,\n isCheckedPersonalInfo,\n isCheckedBillingDetail,\n handleOnBlurValidate\n ]\n}\n","import { makeStyles } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 8,\n },\n },\n container: {\n backgroundColor: colors.white,\n paddingTop: \"48px\"\n },\n containerSmall: {\n backgroundColor: colors.white,\n paddingTop: \"56px\"\n },\n howDidYouHeardAboutUsSelect: {\n backgroundColor: colors.white,\n width: 345,\n },\n textSecondary: {\n color: colors.gray1\n },\n main: {\n maxWidth: 648,\n margin: '0 auto',\n },\n welcomeMain: {\n maxWidth: 445,\n margin: '0 auto',\n },\n firstStepMain: {\n maxWidth: 345,\n margin: '0 auto',\n },\n termsPolicyLink: {\n color: colors.linkBlue,\n cursor: 'pointer',\n paddingLeft: '4px',\n textDecoration: 'underline',\n },\n btnLink: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.linkBlue,\n textAlign: 'start',\n fontSize: 14,\n fontWeight: 500,\n padding: 0,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n },\n couponBtnLink1: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.main,\n textAlign: 'center',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n padding: 0,\n cursor: 'pointer',\n borderBottom: '1px solid',\n borderBottomColor: colors.main,\n },\n couponBtnLink2: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.linkBlack,\n textAlign: 'center',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n padding: 0,\n cursor: 'pointer',\n },\n subTitle: {\n color: colors.gray1,\n fontSize: 14,\n },\n title: {\n fontSize: 24,\n fontWeight: 600,\n lineHeight: '33px',\n },\n smallTitle: {\n fontSize: 20,\n lineHeight: '23px',\n fontWeight: 500,\n color: colors.darkGray,\n },\n orderDetail: {\n background: '#E7F2F34D',\n borderRadius: 8,\n padding: 32,\n },\n orderDetailSM: {\n background: '#E7F2F34D',\n borderRadius: 8,\n padding: 8,\n },\n paymentMethodBlock: {\n padding: 32,\n borderRadius: 8,\n border: '1px solid',\n borderColor: colors.lightGray1\n },\n creditCard: {\n borderRadius: 8,\n backgroundColor: '#F2F2F266',\n },\n formControl: {\n marginRight: 4\n }\n});","var _path, _path2, _path3;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLock = function SvgLock(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 16 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4 6.66634V5.33301C4 3.12634 4.66667 1.33301 8 1.33301C11.3333 1.33301 12 3.12634 12 5.33301V6.66634\",\n stroke: \"#6D6C6C\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M7.99967 12.3333C8.92015 12.3333 9.66634 11.5871 9.66634 10.6667C9.66634 9.74619 8.92015 9 7.99967 9C7.0792 9 6.33301 9.74619 6.33301 10.6667C6.33301 11.5871 7.0792 12.3333 7.99967 12.3333Z\",\n stroke: \"#6D6C6C\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.333 14.667H4.66634C1.99967 14.667 1.33301 14.0003 1.33301 11.3337V10.0003C1.33301 7.33366 1.99967 6.66699 4.66634 6.66699H11.333C13.9997 6.66699 14.6663 7.33366 14.6663 10.0003V11.3337C14.6663 14.0003 13.9997 14.667 11.333 14.667Z\",\n stroke: \"#6D6C6C\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLock, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/lock.ce4b64d7.svg\";\nexport { ForwardRef as ReactComponent };","import { Box, Button } from \"@material-ui/core\";\nimport React from \"react\";\nimport { ChevronLeft } from '@material-ui/icons';\nimport { commonUseStyles } from \"../../../common/styles/common.styles\";\nimport clsx from \"clsx\";\n\ninterface RegistrationBackButtonProps {\n goBack: () => void;\n icon?: boolean;\n label?: string;\n}\n\nexport const RegistrationBackButton: React.FC = (props: RegistrationBackButtonProps) => {\n const {\n goBack,\n icon = true,\n label\n } = props;\n\n const commonClasses = commonUseStyles();\n\n return (\n \n goBack()}\n className={commonClasses.backBtn}\n >\n \n {icon && }\n \n {label ?? 'Back'}\n \n \n \n \n );\n}\n","import React from \"react\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport { colors } from '../../../common/constants/colors';\n\ninterface RegistrationNextButtonProps {\n goNext: () => void;\n label?: string;\n icon?: boolean;\n isLoading?: boolean;\n disabled?: boolean;\n}\n\nexport const RegistrationNextTestedButton: React.FC = (props: RegistrationNextButtonProps) => {\n const {\n goNext,\n label,\n icon,\n isLoading = false,\n disabled = false,\n } = props;\n\n return (\n goNext()}\n >\n

{label ?? 'Next Step'}

\n {icon && }\n \n );\n}\n\nexport const RegistrationNextButton: React.FC = (props: RegistrationNextButtonProps) => {\n const {\n goNext,\n label,\n icon,\n isLoading = false,\n disabled = false,\n } = props;\n\n return (\n goNext()}\n >\n

{label ?? 'Next Step'}

\n {icon && }\n \n );\n}","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgLockIcon = function SvgLockIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 17,\n height: 16,\n viewBox: \"0 0 17 16\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.5 6.66634V5.33301C4.5 3.12634 5.16667 1.33301 8.5 1.33301C11.8333 1.33301 12.5 3.12634 12.5 5.33301V6.66634\",\n stroke: \"#474B4E\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8333 14.667H5.16659C2.49992 14.667 1.83325 14.0003 1.83325 11.3337V10.0003C1.83325 7.33366 2.49992 6.66699 5.16659 6.66699H11.8333C14.4999 6.66699 15.1666 7.33366 15.1666 10.0003V11.3337C15.1666 14.0003 14.4999 14.667 11.8333 14.667Z\",\n stroke: \"#474B4E\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.1644 10.6663H11.1704\",\n stroke: \"#474B4E\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M8.49691 10.6663H8.5029\",\n stroke: \"#474B4E\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.82967 10.6663H5.83566\",\n stroke: \"#474B4E\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgLockIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/LockIcon.d6beb802.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles, Theme, } from '@material-ui/core/styles';\nimport { colors } from \"../../../common/constants/colors\";\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n notification: {\n fontSize: 14,\n padding: '8px 12px',\n color: colors.good,\n border: '1px solid rgba(138, 189, 125, 0.16)',\n background: 'rgba(138, 189, 125, 0.08)',\n marginBottom: 24,\n width: 'max-content',\n },\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.gray900,\n textTransform: 'uppercase',\n [theme.breakpoints.down('xs')]: {\n fontSize: 12,\n },\n },\n textField: {\n borderColor: colors.mediumGray,\n borderRadius: 4\n },\n })\n);","import { CardElement, useElements, useStripe } from \"@stripe/react-stripe-js\";\nimport { Box } from '@material-ui/core';\nimport React, { useState, useEffect, useCallback } from \"react\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport { ReactComponent as LockIcon } from '@img/icons/lock.svg';\nimport { ReactComponent as Lock } from '@img/icons/LockIcon.svg';\nimport { useStyles } from \"./paymentCardComponent.style\";\nimport clsx from 'clsx';\n\nconst CARD_ELEMENT_OPTIONS = {\n style: {\n base: {\n color: '#000',\n fontFamily: '\"Helvetica Neue\", Helvetica, sans-serif',\n fontSmoothing: 'antialiased',\n fontSize: '16px',\n '::placeholder': {\n color: '#B9B9B9'\n }\n },\n invalid: {\n color: '#fa755a',\n iconColor: '#fa755a'\n }\n }\n};\n\ninterface PaymentCardComponentProps {\n handleTokenChange: (paymentMethod: any) => void,\n isCardExist: boolean,\n cardSaved: boolean,\n}\n\nexport const PaymentCardTestedComponent: React.FC = (props: PaymentCardComponentProps) => {\n const {\n handleTokenChange,\n isCardExist,\n cardSaved,\n } = props;\n\n const stripe = useStripe();\n const elements = useElements();\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const [state, setState] = useState({\n error: null,\n isSavedCardData: cardSaved,\n });\n\n const handleChange = useCallback(async (event) => {\n if (!stripe || !elements) {\n return;\n }\n\n if (event.error) {\n setState(state => ({ ...state, error: event.error.message, isSavedCardData: false }));\n handleTokenChange(null)\n } else {\n const card = elements.getElement(CardElement);\n const paymentMethod = await stripe.createPaymentMethod({ type: \"card\", card: card });\n\n if (paymentMethod.error) {\n setState(state => ({ ...state, error: paymentMethod.error.message }));\n handleTokenChange(null)\n } else {\n setState(state => ({ ...state, error: null }));\n handleTokenChange(paymentMethod)\n setState(state => ({ ...state, error: null }));\n }\n }\n }, [stripe, elements, handleTokenChange])\n\n useEffect(() => {\n !isCardExist && handleChange(false)\n }, [isCardExist, handleChange]);\n\n return (\n
\n {state.isSavedCardData && Card details are already saved.}\n Card Number*\n handleChange(event)}\n className={commonClasses.textField}\n />\n
{state.error}
\n \n \n Secured with 256-bit TLS encryption\n \n
\n );\n}\n\nexport const PaymentCardComponent: React.FC = (props: PaymentCardComponentProps) => {\n const {\n handleTokenChange,\n isCardExist,\n cardSaved,\n } = props;\n\n const stripe = useStripe();\n const elements = useElements();\n const commonClasses = commonUseStyles();\n const classes = useStyles();\n\n const [state, setState] = useState({\n error: null,\n isSavedCardData: cardSaved,\n });\n\n const handleChange = useCallback(async (event) => {\n if (!stripe || !elements) {\n return;\n }\n\n if (event.error) {\n setState(state => ({ ...state, error: event.error.message, isSavedCardData: false }));\n handleTokenChange(null)\n } else {\n const card = elements.getElement(CardElement);\n const paymentMethod = await stripe.createPaymentMethod({ type: \"card\", card: card });\n\n if (paymentMethod.error) {\n setState(state => ({ ...state, error: paymentMethod.error.message }));\n handleTokenChange(null)\n } else {\n setState(state => ({ ...state, error: null }));\n handleTokenChange(paymentMethod)\n setState(state => ({ ...state, error: null }));\n }\n }\n }, [stripe, elements, handleTokenChange])\n\n useEffect(() => {\n !isCardExist && handleChange(false)\n }, [isCardExist, handleChange]);\n\n return (\n
\n {state.isSavedCardData && Card details are already saved.}\n \n Credit card number *\n \n handleChange(event)}\n className={classes.textField}\n />\n
{state.error}
\n \n \n Secured with End-to-End Encryption\n \n
\n );\n}","var _g, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgMastercardLogo = function SvgMastercardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 31,\n height: 24,\n viewBox: \"0 0 31 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_1239_9288)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M6.49103 22.6668C6.49103 22.2444 6.7781 21.8974 7.24728 21.8974C7.69565 21.8974 7.99821 22.2295 7.99821 22.6668C7.99821 23.1041 7.69565 23.4362 7.24728 23.4362C6.7781 23.4362 6.49103 23.0892 6.49103 22.6668ZM8.50932 22.6668V21.4648H7.96723V21.7576C7.79529 21.5412 7.5345 21.4055 7.17984 21.4055C6.48116 21.4055 5.93284 21.9338 5.93284 22.6674C5.93284 23.401 6.48086 23.9293 7.17984 23.9293C7.53435 23.9293 7.79529 23.7934 7.96723 23.5772V23.869H8.50871V22.6668H8.50932ZM26.8258 22.6668C26.8258 22.2444 27.1128 21.8974 27.5822 21.8974C28.031 21.8974 28.3331 22.2295 28.3331 22.6668C28.3331 23.1041 28.031 23.4362 27.5822 23.4362C27.113 23.4362 26.8258 23.0892 26.8258 22.6668ZM28.8447 22.6668V20.5H28.3021V21.7576C28.1302 21.5412 27.8694 21.4055 27.5147 21.4055C26.816 21.4055 26.2677 21.9338 26.2677 22.6674C26.2677 23.401 26.8157 23.9293 27.5147 23.9293C27.8694 23.9293 28.1302 23.7934 28.3021 23.5772V23.869H28.8447V22.6668ZM15.2373 21.8727C15.5867 21.8727 15.811 22.0838 15.8683 22.4556H14.5748C14.6327 22.1086 14.8512 21.8727 15.2375 21.8727H15.2373ZM15.2483 21.4042C14.5177 21.4042 14.0066 21.9166 14.0066 22.6661C14.0066 23.4302 14.5382 23.928 15.2846 23.928C15.66 23.928 16.0039 23.8376 16.3065 23.5912L16.0408 23.204C15.8318 23.365 15.5657 23.4554 15.3156 23.4554C14.9662 23.4554 14.6482 23.2994 14.5699 22.8668H16.421C16.4263 22.8018 16.4318 22.7362 16.4318 22.6659C16.4263 21.9168 15.9457 21.4041 15.248 21.4041L15.2483 21.4042ZM21.7928 22.6659C21.7928 22.2436 22.0799 21.8966 22.5491 21.8966C22.9974 21.8966 23.3 22.2286 23.3 22.6659C23.3 23.1033 22.9974 23.4353 22.5491 23.4353C22.0799 23.4353 21.7927 23.0883 21.7927 22.6659H21.7928ZM23.8109 22.6659V21.4648H23.2692V21.7576C23.0966 21.5412 22.8364 21.4055 22.4818 21.4055C21.7831 21.4055 21.2348 21.9338 21.2348 22.6674C21.2348 23.401 21.7828 23.9293 22.4818 23.9293C22.8364 23.9293 23.0966 23.7934 23.2692 23.5772V23.869H23.8111V22.6668L23.8109 22.6659ZM18.7315 22.6659C18.7315 23.3949 19.258 23.9278 20.0614 23.9278C20.4369 23.9278 20.6871 23.8473 20.9576 23.6413L20.6972 23.2189C20.4937 23.3599 20.28 23.4353 20.0441 23.4353C19.6114 23.4302 19.2932 23.1286 19.2932 22.6659C19.2932 22.2033 19.6114 21.9018 20.0441 21.8966C20.2794 21.8966 20.4931 21.972 20.6972 22.113L20.9576 21.6906C20.6866 21.4846 20.4365 21.4041 20.0614 21.4041C19.258 21.4041 18.7315 21.9368 18.7315 22.6659ZM25.7199 21.4041C25.4071 21.4041 25.2035 21.5451 25.0627 21.7562V21.4648H24.5254V23.8676H25.0681V22.5207C25.0681 22.1231 25.2454 21.9021 25.5997 21.9021C25.7158 21.9005 25.831 21.9211 25.9387 21.9626L26.1058 21.4701C25.9858 21.4246 25.8294 21.4045 25.7196 21.4045L25.7199 21.4041ZM11.1894 21.6559C10.9286 21.4901 10.5692 21.4045 10.1728 21.4045C9.54124 21.4045 9.13464 21.6963 9.13464 22.1737C9.13464 22.5655 9.43735 22.8072 9.99478 22.8826L10.2509 22.9178C10.5481 22.958 10.6885 23.0334 10.6885 23.1691C10.6885 23.3549 10.491 23.4609 10.1202 23.4609C9.74477 23.4609 9.4738 23.3453 9.29108 23.2095L9.03637 23.617C9.33361 23.8281 9.70908 23.9288 10.1157 23.9288C10.8356 23.9288 11.2529 23.6021 11.2529 23.1445C11.2529 22.7222 10.9245 22.5012 10.3819 22.4258L10.1265 22.3901C9.8918 22.3608 9.70376 22.3153 9.70376 22.1542C9.70376 21.9786 9.88102 21.8729 10.1784 21.8729C10.4966 21.8729 10.8046 21.9885 10.9556 22.0788L11.1903 21.6565L11.1894 21.6559ZM18.184 21.4049C17.8712 21.4049 17.6675 21.5459 17.5273 21.757V21.4648H16.9901V23.8676H17.5322V22.5207C17.5322 22.1231 17.7095 21.9021 18.0638 21.9021C18.1799 21.9005 18.2951 21.9211 18.4028 21.9626L18.5699 21.4701C18.4499 21.4246 18.2935 21.4045 18.1837 21.4045L18.184 21.4049ZM13.5581 21.4648H12.6716V20.7359H12.1236V21.4648H11.618V21.9424H12.1236V23.0385C12.1236 23.5961 12.3481 23.9281 12.9894 23.9281C13.2247 23.9281 13.4956 23.8578 13.6676 23.7423L13.511 23.2949C13.3492 23.3852 13.172 23.4308 13.031 23.4308C12.76 23.4308 12.6716 23.2697 12.6716 23.0286V21.9428H13.5581V21.4648ZM5.45349 23.8682V22.3602C5.45349 21.7923 5.07802 21.4102 4.47275 21.4051C4.15454 21.4 3.82631 21.4954 3.59651 21.8326C3.42457 21.5661 3.1536 21.4051 2.77267 21.4051C2.50641 21.4051 2.24622 21.4805 2.04254 21.7619V21.4648H1.5V23.8676H2.0468V22.5353C2.0468 22.1182 2.28678 21.8966 2.65738 21.8966C3.01736 21.8966 3.19947 22.1228 3.19947 22.5301V23.8673H3.74748V22.535C3.74748 22.1179 3.99764 21.8963 4.35746 21.8963C4.72762 21.8963 4.90426 22.1225 4.90426 22.5298V23.8671L5.45349 23.8682Z\",\n fill: \"#231F20\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M18.9999 17H11V2H19L18.9999 17Z\",\n fill: \"#FF5F00\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.8409 9.5C11.8409 6.46991 13.2718 3.77068 15.4998 2.03119C13.8133 0.71254 11.7273 -0.00313639 9.57953 1.03326e-05C4.28877 1.03326e-05 0 4.25324 0 9.5C0 14.7468 4.28877 19 9.57953 19C11.7274 19.0032 13.8134 18.2875 15.5 16.9688C13.2721 15.2296 11.8409 12.5302 11.8409 9.5Z\",\n fill: \"#EB001B\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M30.5 9.5C30.5 14.7468 26.2114 19 20.9209 19C18.773 19.0031 16.6868 18.2875 15 16.9688C17.2286 15.2293 18.6593 12.5302 18.6593 9.5C18.6593 6.46975 17.2286 3.77068 15 2.03119C16.6868 0.712579 18.7729 -0.00308124 20.9208 9.97217e-06C26.2113 9.97217e-06 30.4998 4.25324 30.4998 9.5\",\n fill: \"#F79E1B\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_1239_9288\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 31,\n height: 24,\n fill: \"white\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgMastercardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/mastercardLogo.10e56d9e.svg\";\nexport { ForwardRef as ReactComponent };","import { createStyles, makeStyles } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n dialogTitle: {\n paddingTop: '30px !important',\n paddingLeft: '40px !important',\n paddingRight: '40px !important'\n },\n dialogContent: {\n paddingLeft: 40,\n paddingRight: 40\n },\n dialogActions: {\n paddingBottom: 30,\n paddingLeft: 40,\n paddingRight: 40\n }\n })\n);\n","import {Box, Dialog, DialogActions, DialogContent, DialogContentText, useMediaQuery, useTheme} from '@material-ui/core';\nimport clsx from 'clsx';\nimport React, {useState, useEffect} from 'react';\nimport {DialogTitle} from '../../../common/components/dialogTitle/DialogTitle';\nimport {WildHealthButton} from '../../../common/components/wildHealthButton/WildHealthButton';\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport {useStyles} from \"./ConfirmDialog.styles\";\n\nexport interface ConfirmAlternativeAddOnDialogState {\n isOpen: boolean;\n}\n\nexport interface ConfirmAlternativeAddOnDialogProps {\n isChecked: boolean;\n popUpData: { text: string; alternativeAddOnId: number };\n onConfirm: (id: number) => void;\n}\n\nexport const ConfirmAlternativeAddOnDialog: React.FC = (props: ConfirmAlternativeAddOnDialogProps) => {\n const {\n isChecked,\n popUpData,\n onConfirm,\n } = props;\n const [state, setState] = useState({\n isOpen: false,\n } as ConfirmAlternativeAddOnDialogState);\n\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const theme = useTheme();\n const fullScreen = useMediaQuery(theme.breakpoints.down('sm'));\n\n\n const handleAnswer = (result: boolean) => {\n setState({...state, isOpen: result});\n }\n\n const handleKeyPress = (event) => {\n if (event.key === 'Enter') {\n handleAnswer(true);\n }\n }\n\n const confirmAlternativeAddOn = (id: number) => {\n onConfirm(id)\n handleAnswer(false);\n }\n\n useEffect(() => {\n handleAnswer(isChecked)\n }, [isChecked]);\n\n return (\n handleKeyPress(e)}>\n handleAnswer(false)}\n aria-labelledby=\"alert-dialog-title\"\n aria-describedby=\"alert-dialog-description\"\n >\n handleAnswer(false)}\n classes={{root: classes.dialogTitle}}\n >\n Get a head start on your health!\n \n\n \n \n \n \n \n\n \n handleAnswer(false)}>\n No, thanks\n \n confirmAlternativeAddOn(props.popUpData.alternativeAddOnId)}>\n Get personalized insights\n \n \n \n \n );\n}\n","import {useEffect, useState} from \"react\";\nimport {Subscription} from \"rxjs\";\nimport {\n CoverageModel,\n CreateCoverageModel,\n InsuranceModel,\n PolicyHolderModel,\n UpdateCoverageModel\n} from \"../../models/insurance.models\";\nimport {insuranceService} from \"../../services/insurance.service\";\nimport {insuranceQuery} from \"../../stores/insurance.query\";\nimport {onEmit} from \"../../../common/helpers/on-emit\";\nimport {IErrorState} from \"../../../common/validation/error-state\";\nimport {insuranceComponentValidator} from \"./insuranceComponent.validator\";\nimport {AttachmentModel, AttachmentType} from \"../../../common/models/attachment.models\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\n\ninterface InsuranceComponentState extends IErrorState {\n insurances: InsuranceModel[];\n attachments: AttachmentModel[];\n coverage: CoverageModel;\n coverageDraft: CoverageModel;\n\n editMode: boolean;\n containPolicyHolder: boolean;\n\n isSaveButtonLoading: boolean;\n isUploadButtonLoading: boolean;\n isInsurancesLoading: boolean;\n isCoveragesLoading: boolean;\n isAttachmentsLoading: boolean;\n}\n\nconst getEmptyPolicyHolder = () => {\n return {\n firstName: '',\n lastName: '',\n relationship: '',\n dateOfBirth: null\n } as PolicyHolderModel\n}\n\nconst getEmptyInsurance = (state: InsuranceComponentState) => {\n return {\n insurance: {\n id: 0,\n name: '',\n states: []\n },\n memberId: '',\n policyHolder: state?.containPolicyHolder ? getEmptyPolicyHolder() : null,\n } as CoverageModel\n}\n\n/**\n * Custom Hook to manage a view Model for Insurance component\n */\nexport function useFacade(handleSubmit?: Function, editMode?: boolean, insuranceStateId?: number, age?: number): [\n InsuranceComponentState,\n () => void,\n (field: string, value: string) => void,\n () => void,\n () => void,\n (any, AttachmentType, string) => void\n] {\n const [state, setState] = useState({\n insurances: [],\n coverage: null,\n coverageDraft: editMode ? getEmptyInsurance(null) : null,\n editMode: editMode ?? false,\n containPolicyHolder: false,\n\n isSaveButtonLoading: false,\n isUploadButtonLoading: false,\n isInsurancesLoading: true,\n isAttachmentsLoading: true,\n isCoveragesLoading: true,\n\n errors: {}\n } as InsuranceComponentState);\n\n const policyHolderFields = [\n \"policyHolder.firstName\",\n \"policyHolder.relationship\",\n \"policyHolder.lastName\",\n \"policyHolder.dateOfBirth\"\n ]\n\n const removePolicyHolderErrors = () => {\n Object.keys(state.errors).forEach(key => {\n if (policyHolderFields.includes(key)) {\n delete state.errors[key];\n }\n });\n }\n\n const handlePolicyHolderCheck = () => {\n let draft = state.coverageDraft;\n\n draft.policyHolder = state.containPolicyHolder === false\n ? state.coverage === null || state.coverage.policyHolder === null\n ? getEmptyPolicyHolder()\n : JSON.parse(JSON.stringify(state.coverage.policyHolder))\n : null\n\n setState({\n ...state,\n containPolicyHolder: !state.containPolicyHolder\n })\n }\n\n const handleChanges = (field: string, value: string) => {\n\n const draft = state.coverageDraft;\n\n insuranceComponentValidator.validateAndSetState(state, setState, field, value);\n\n const fields = field.split('.');\n\n if (fields.length > 1) {\n const obj = draft[fields[0]];\n obj[fields[1]] = value;\n } else {\n draft[field] = value;\n }\n\n setState({...state, coverageDraft: draft});\n }\n\n const handleAddInsurance = () => {\n setState({...state, coverageDraft: getEmptyInsurance(state), editMode: true})\n }\n\n const handleFileUpload = (event: any, type: AttachmentType, coverageId: string) => {\n const file = event.target.files[0];\n if (file) {\n setState(state => ({...state, isUploadButtonLoading: true}));\n\n insuranceService.uploadInsurance(file, type, coverageId).subscribe(\n () => setState(state => ({...state, isUploadButtonLoading: false})),\n () => setState(state => ({...state, isUploadButtonLoading: false}))\n );\n }\n }\n\n const handleSave = () => {\n if (!state.containPolicyHolder) {\n removePolicyHolderErrors();\n }\n\n if (state.coverageDraft.policyHolder != null) {\n insuranceComponentValidator.validateAndSetState(state, setState, 'policyHolder.firstName', state.coverageDraft.policyHolder.firstName);\n insuranceComponentValidator.validateAndSetState(state, setState, 'policyHolder.lastName', state.coverageDraft.policyHolder.lastName);\n insuranceComponentValidator.validateAndSetState(state, setState, 'policyHolder.dateOfBirth', state.coverageDraft.policyHolder.dateOfBirth);\n insuranceComponentValidator.validateAndSetState(state, setState, 'policyHolder.relationship', state.coverageDraft.policyHolder.relationship);\n }\n\n insuranceComponentValidator.validateObjectAndSetState(state, setState, state.coverageDraft);\n\n if (!insuranceComponentValidator.stateIsValid(state)) {\n return;\n }\n\n setState((state) => ({...state, isSaveButtonLoading: true}));\n\n Track(\"button_click\", {\n type: 'add_insurance',\n acValue: 'add_insurance',\n platform: PlatformName()\n })\n\n if (state.coverage) {\n const model: UpdateCoverageModel = {\n id: state.coverageDraft.id,\n memberId: state.coverageDraft.memberId,\n insuranceId: state.coverageDraft.insurance?.id,\n policyHolder: state.coverageDraft.policyHolder,\n isPrimary: true,\n frontImage: null,\n backImage: null\n };\n\n insuranceService.updateCoverage(model).subscribe(() => {\n setState(state => ({\n ...state,\n isSaveButtonLoading: false,\n editMode: editMode\n }));\n\n handleSubmit && handleSubmit()\n },\n () => {\n setState(state => ({...state, isSaveButtonLoading: false}))\n });\n } else {\n const model: CreateCoverageModel = {\n insuranceId: state.coverageDraft.insurance.id,\n memberId: state.coverageDraft.memberId,\n policyHolder: state.coverageDraft.policyHolder,\n isPrimary: true,\n frontImage: null,\n backImage: null\n };\n\n insuranceService.createCoverage(model).subscribe(() => {\n setState(state => ({\n ...state,\n isSaveButtonLoading: false,\n editMode: editMode\n }));\n \n handleSubmit && handleSubmit()\n }, () => {\n setState(state => ({...state, isSaveButtonLoading: false}))\n });\n }\n }\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(insuranceQuery.insurances$, insurances => {\n setState(state => ({\n ...state,\n insurances: insurances,\n }))\n }),\n onEmit(insuranceQuery.attachments$, attachments => {\n setState(state => ({\n ...state,\n attachments: attachments?.filter(x => x.description === state.coverage?.id.toString()),\n }))\n }),\n onEmit(insuranceQuery.coverages$, coverages => {\n if (coverages !== null && coverages.length) {\n const coverage = coverages[coverages.length - 1];\n setState(state => ({\n ...state,\n coverage: coverage,\n attachments: insuranceQuery.getAttachments().filter(x => x.description === coverage.id.toString()),\n coverageDraft: JSON.parse(JSON.stringify(coverage)),\n editMode: editMode,\n containPolicyHolder: coverage.policyHolder !== null\n }))\n }\n }),\n ];\n\n insuranceService.getInsurances(insuranceStateId, age).subscribe(() => {\n setState((state) => ({...state, isInsurancesLoading: false}))\n }, () => {\n setState((state) => ({...state, isInsurancesLoading: false}))\n });\n\n insuranceService.getCoverages().subscribe(() => {\n setState((state) => ({...state, isCoveragesLoading: false}))\n }, () => {\n setState((state) => ({...state, isCoveragesLoading: false}))\n });\n\n insuranceService.getInsuranceUploads().subscribe(\n () => {\n setState((state) => ({...state, isAttachmentsLoading: false}))\n },\n () => {\n setState((state) => ({...state, isAttachmentsLoading: false}))\n }\n );\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n return [\n state,\n handleAddInsurance,\n handleChanges,\n handlePolicyHolderCheck,\n handleSave,\n handleFileUpload\n ];\n}","import { makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n \"& .MuiSelect-selectMenu\": {\n whiteSpace: 'break-spaces',\n }\n },\n container: {\n maxWidth: '1000px'\n },\n menuItem: {\n whiteSpace: 'break-spaces',\n borderBottom: `1px solid ${colors.lightGray1}`,\n },\n selectItem: {\n \"& .MuiSelect-selectMenu\": {\n whiteSpace: 'break-spaces',\n }\n },\n insuranceTitle: {\n color: colors.mainDark,\n fontSize: '22px',\n fontWeight: 500\n },\n formTitle: {\n color: colors.darkGray,\n fontSize: '18px',\n fontWeight: 500\n },\n inmagesCard: {\n backgroundColor: colors.lightBlue2,\n borderRadius: '8px',\n padding: '8px 16px 26px 16px'\n },\n optional: {\n color: colors.main,\n fontSize: '16px',\n fontWeight: 500\n },\n edit: {\n color: colors.main,\n cursor: 'pointer'\n },\n title: {\n fontSize: 40,\n fontWeight: 500,\n lineHeight: '50px',\n color: colors.navy,\n [theme.breakpoints.down('xs')]: {\n fontSize: 28,\n lineHeight: '34px',\n },\n },\n subTitle: {\n fontSize: 24,\n fontWeight: 500,\n lineHeight: '38px',\n color: colors.navy,\n [theme.breakpoints.down('xs')]: {\n fontSize: 20,\n lineHeight: '25px',\n },\n },\n description: {\n fontSize: 20,\n fontWeight: 500,\n lineHeight: '32px',\n color: colors.gray700,\n [theme.breakpoints.down('xs')]: {\n fontSize: 18,\n lineHeight: '25px',\n },\n },\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.gray900,\n textTransform: 'uppercase',\n [theme.breakpoints.down('xs')]: {\n fontSize: 12,\n },\n },\n inputFieldMain: {\n maxWidth: 456,\n margin: '0 auto',\n },\n}));","import React, { useEffect, useRef, useState } from 'react';\nimport Recaptcha from 'react-google-invisible-recaptcha';\nimport { useHistory } from 'react-router';\nimport { useLocation } from \"react-router-dom\";\nimport { Subscription } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\nimport { SITE_KEY } from \"../../../../config\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { AddOnModel, SelectAddOnModel } from \"../../../addons/models/addOns.models\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { addOnsQuery } from \"../../../addons/stores\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { LeadSourceModel, PatientLeadSourceModel } from \"../../../leadSources/models/leadSource.models\";\nimport { leadSourcesService } from \"../../../leadSources/services/leadSources.service\";\nimport { leadSourcesQuery } from \"../../../leadSources/stores/leadSources.query\";\nimport { RegisterPatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { AgreementModel } from \"../../models/agreement.model\";\nimport { ApplyCouponModel, MerchantCredentialsModel, PayerInformation } from \"../../models/payment.models\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport {\n PaymentCouponModel,\n PaymentPriceModel,\n PaymentPriceType,\n PaymentStrategy\n} from \"../../models/paymentPrice.models\";\nimport { paymentService } from \"../../services/payment.service\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { paymentPlansQuery, paymentPlansStore } from \"../../stores/paymentPlansStore\";\nimport { paymentQuery } from \"../../stores/paymentStore\";\nimport { finishCheckoutComponentValidator } from \"./FinishCheckoutComponentValidator\";\nimport { authService } from '../../../auth/services/auth.service';\nimport { inviteCodeQuery } from \"../../stores/inviteCodeStore/inviteCode.query\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\nimport { authQuery } from '../../../auth/stores/auth';\nimport { AuthConstants } from '../../../auth/constants/auth.constants';\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { OrderType } from \"../../../orders/models/orders.models\";\nimport { usersService } from \"../../../../services/users.service\";\nimport { getFBTraits } from \"../../../common/helpers/get-fb-traits\";\nimport { getCorrespondingPrice } from \"../../helpers/getCorrespondingPrice\";\nimport { useFlags } from \"launchdarkly-react-client-sdk\";\nimport { isFeatureFlag } from \"../../../common/components/featureFlags/featureFlags\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { insuranceService } from \"../../../insurance/services/insurance.service\";\nimport { LoginModel, ForgotPasswordModel } from '../../../auth/models/auth.models';\nimport moment from \"moment\";\nimport {getAge} from \"../../../common/helpers/get-age\";\nimport {InsuranceModel} from \"../../../insurance/models/insurance.models\";\nimport { addressQuery } from '../../../account/stores/addressStore';\n\nexport enum GetStartedStep {\n HealthConcern = 0,\n HealthConcernInterstitial = 1,\n CreateAccount = 2,\n NameInterstitial = 3,\n PersonalInfo = 4,\n AskInsurance = 5,\n AskMedicare = 6,\n CaptureInsurance = 7,\n OnnInsurance = 8,\n Shipping = 9,\n Payment = 10,\n Review = 11,\n HaveAccount = 12,\n ResetPassword = 13\n}\n\nexport enum HealthConcernStatus {\n MaximizeHealthSpanLongevity,\n TreatNewChronicConditions,\n OptimizeMyOverallHealth,\n ElevateMyPerformance\n}\n\nconst context = {};\n\ninterface ScrollElement {\n current: HTMLDivElement\n}\n\n/**\n * Represents payment form state\n */\ninterface FinishCheckoutComponentState extends IErrorState {\n practiceId: number | null;\n publicKey: string | null;\n provider: string | null;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n isCardExist: boolean;\n isSubmitted: boolean;\n insurances: InsuranceModel[];\n hasInsurance: boolean;\n payer: PayerInformation;\n addOns: SelectAddOnModel[];\n couponCode: string;\n coupon: PaymentCouponModel;\n isCouponApplied: boolean;\n paymentPriceType: PaymentPriceType;\n sameAsBillingAddress: boolean;\n agreements: AgreementModel[];\n selectedLeadSource: PatientLeadSourceModel;\n leadSources: LeadSourceModel[];\n step: GetStartedStep;\n paymentError: string;\n cardSaved: boolean;\n isAgreeContinue: boolean;\n isAgreeSMS: boolean;\n paymentCardInfo: any | null;\n isLoading: boolean;\n isEmailSent: boolean;\n cardName: string;\n healthConcernStatus: HealthConcernStatus;\n exclusivePrices: PaymentPriceModel[];\n showBottom: boolean;\n enterDiscountCode: boolean;\n isGetUserInfo: boolean;\n}\n\nconst getDefaultPaymentPrice = (period: PaymentPeriodModel): PaymentPriceModel => {\n const promoCodePricePrice = period.prices.find(x => x.type === PaymentPriceType.PromoCode);\n if (promoCodePricePrice) {\n return promoCodePricePrice;\n }\n\n return getCorrespondingPrice(period.prices, PaymentStrategy.FullPayment, PaymentPriceType.Default) ?? period.prices[0];\n}\n\n/**\n * Custom Hook to manage a view Model for SelectPlan page view components\n */\nexport function useFacade(employerKey: string, handleSetProgress: Function): [\n FinishCheckoutComponentState,\n boolean,\n boolean,\n (hasInsurance: boolean) => void,\n (paymentMethod: any) => void,\n (paymentPrice: PaymentPriceModel) => void,\n (field: string, value: string) => void,\n () => JSX.Element,\n (id: number, value: boolean) => void,\n () => SelectAddOnModel[],\n (value: string) => void,\n (code: string) => void,\n () => void,\n () => void,\n (field: string, value: string) => void,\n () => void,\n () => void,\n (event: React.ChangeEvent, field: string) => void,\n () => boolean,\n () => boolean,\n () => boolean,\n () => void,\n () => void,\n () => void,\n () => boolean,\n () => boolean,\n (status: HealthConcernStatus) => void,\n () => void,\n () => boolean,\n ScrollElement,\n (field: string) => void\n] {\n\n const prevScrollY = useRef(null);\n\n const emptyAddress = {\n country: 'USA',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: '',\n }\n\n const history = useHistory();\n const featureFlags = useFlags();\n const { pathname } = useLocation();\n const insuranceOnboarding = isFeatureFlag(featureFlags, FeatureFlag.InsuranceOnboarding);\n const medicareOnboarding = isFeatureFlag(featureFlags, FeatureFlag.MedicareOnboarding);\n const isMarketingSMSButton = isFeatureFlag(featureFlags, FeatureFlag.MarketingSmsButton);\n const mobileGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.mobileGetStarted);\n const isConsultationGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.consultationGetStarted);\n const paymentPlan = paymentPlansQuery.getSelectedPlan();\n const paymentPeriod = paymentPlansQuery.getSelectedPeriod();\n const paymentPrice = getDefaultPaymentPrice(paymentPeriod);\n const couponCode = paymentPlansQuery.getCouponCode();\n const isCouponApplied = paymentPlansQuery.isPaymentCouponApplied();\n const [paymentToken, setPaymentToken] = useState(null);\n const recaptcha = useRef(null);\n const payer = {\n firstName: '',\n lastName: '',\n email: '',\n phoneNumber: '',\n birthday: null,\n gender: 99,\n password: '',\n confirmPassword: '',\n billingAddress: Object.assign({}, emptyAddress),\n shippingAddress: Object.assign({}, emptyAddress)\n }\n const [state, setState] = useState({\n practiceId: null,\n publicKey: null,\n payer: payer,\n isSubmitted: false,\n isCardExist: true,\n insurances: [],\n hasInsurance: false,\n errors: {},\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n addOns: [],\n couponCode: couponCode,\n isCouponApplied: isCouponApplied,\n paymentPriceType: paymentPrice.type,\n sameAsBillingAddress: true,\n agreements: paymentPeriod.agreements,\n selectedLeadSource: {\n leadSourceId: 0,\n otherLeadSource: \"\",\n podcastSource: \"\"\n },\n leadSources: [],\n step: GetStartedStep.HealthConcern,\n paymentError: null,\n cardSaved: false,\n isAgreeContinue: false,\n isAgreeSMS: false,\n paymentCardInfo: null,\n isLoading: false,\n isEmailSent: false,\n cardName: '',\n healthConcernStatus: null,\n exclusivePrices:[],\n showBottom: true,\n enterDiscountCode: false,\n isGetUserInfo: true\n } as FinishCheckoutComponentState);\n\n const handleHasInsurance = (hasInsurance: boolean) => {\n var nextStep = hasInsurance\n ? GetStartedStep.CaptureInsurance\n : GetStartedStep.Shipping;\n\n if (hasInsurance) {\n Track(\"onboarding_insurance_information\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n if (state.step === GetStartedStep.AskInsurance) {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n } if (state.step === GetStartedStep.AskMedicare) {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_oon_notice\", {\n group: 'test',\n platform: PlatformName(),\n });\n nextStep = GetStartedStep.OnnInsurance;\n }\n }\n\n const paymentPriceType = hasInsurance\n ? PaymentPriceType.Insurance\n : PaymentPriceType.Default;\n\n const paymentPrice = getCorrespondingPrice(paymentPeriod.prices, state.paymentPrice.strategy, paymentPriceType);\n\n setState(state => ({\n ...state,\n hasInsurance: hasInsurance,\n paymentPrice: paymentPrice,\n paymentPriceType: paymentPriceType,\n step: nextStep\n }));\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n }\n\n const handleSubmitNextStep = () => {\n const nextStep = getNextStep();\n switch (state.step) {\n case GetStartedStep.HealthConcern:\n Track(\"onboarding_health_concern_confirmation\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n\n return navigationService.goUp();\n case GetStartedStep.HealthConcernInterstitial:\n Track(\"button_click\", {\n type: 'onboarding_health_concern_confirmation',\n acValue: 'health_concern',\n platform: PlatformName()\n })\n Track(\"onboarding_sign_up\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n handleSetProgress(getProgress(nextStep));\n return navigationService.goUp();\n case GetStartedStep.CreateAccount:\n return validateStepWelcome() && validateEmail();\n case GetStartedStep.HaveAccount:\n if (validateStepWelcome()) {\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n }\n return;\n case GetStartedStep.ResetPassword:\n if (validateStepWelcome()) {\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n }\n return;\n case GetStartedStep.NameInterstitial:\n if (validateNameInterStep()) {\n Track(\"onboarding_personal_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n handleSetProgress(getProgress(nextStep));\n \n return navigationService.goUp();\n }\n return;\n case GetStartedStep.PersonalInfo:\n if (validatePersonalInfoStep()) {\n Track(\"button_click\", {\n type: 'billing_details',\n acValue: 'billing_details',\n platform: PlatformName()\n })\n\n updateUserStep2();\n }\n return;\n case GetStartedStep.AskInsurance:\n return handleHasInsurance(true);\n case GetStartedStep.AskMedicare:\n Track(\"onboarding_medicare\", {\n group: 'test',\n platform: PlatformName(),\n });\n return handleHasInsurance(true);\n case GetStartedStep.CaptureInsurance:\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n sameAsBillingAddress: false,\n });\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n case GetStartedStep.OnnInsurance:\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n sameAsBillingAddress: false,\n });\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n case GetStartedStep.Shipping:\n if (validateShippingStep()) {\n updateUserAddress();\n }\n return;\n case GetStartedStep.Payment:\n if (validatePaymentStep()) {\n Track(\"Button Click\", {\n type: 'checkout_order_summary',\n platform: PlatformName()\n })\n Track(\"onboarding_checkout\", {\n group: 'test',\n platform: PlatformName(),\n });\n \n handleSetProgress(getProgress(nextStep));\n\n setState({ ...state, step: nextStep, cardSaved: true });\n\n return navigationService.goUp();\n }\n return;\n case GetStartedStep.Review:\n handleSubmitRegistration()\n return;\n }\n }\n\n const emailUsed = () => {\n setState({\n ...state,\n step: GetStartedStep.HaveAccount\n });\n }\n\n const emailDoNotUsed = () => {\n Track(\"patient_sign_up\", {\n acValue: state.paymentPlan.displayName,\n plan: state.paymentPlan.displayName,\n platform: PlatformName()\n })\n\n const password = !state.payer.password\n ? uuidv4() + AuthConstants.uuidPasswordInterpolation\n : state.payer.password;\n\n const user = {\n practiceId: state.practiceId,\n email: state.payer.email,\n password: password,\n smsMarketing: state.isAgreeSMS\n }\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.create(user).subscribe(() => {\n const nextStep = state.step + 1;\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n\n setState({\n ...state,\n payer: payer,\n step: nextStep,\n sameAsBillingAddress: false,\n isLoading: false\n });\n Track(\"onboarding_first_name\", {\n group: 'test',\n platform: PlatformName(),\n })\n handleSetProgress(getProgress(nextStep));\n\n navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const updateUserStep2 = () => {\n const user = {\n email: state.payer.email,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n gender: state.payer.gender.toString(),\n birthDate: state.payer.birthday,\n phoneNumber: state.payer.phoneNumber,\n smsMarketing: state.isAgreeSMS,\n shippingAddress: {...state.payer.shippingAddress, state: state.payer.state.abbreviation},\n billingAddress: {...state.payer.billingAddress, state: state.payer.state.name},\n meetingRecordingConsent: true\n };\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.update(user).subscribe(() => {\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n\n if (!payer.billingAddress.state) {\n payer.billingAddress.state = payer.state.name\n }\n\n if (insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length) {\n Track(\"onboarding_insurance\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n }\n const nextStep = getNextStep();\n \n handleSetProgress(getProgress(nextStep));\n\n setState({\n ...state,\n payer: payer,\n step: nextStep,\n sameAsBillingAddress: false,\n isLoading: false\n });\n\n navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const updateUserAddress = () => {\n const user = {\n email: state.payer.email,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n gender: state.payer.gender.toString(),\n birthDate: state.payer.birthday,\n phoneNumber: state.payer.phoneNumber,\n smsMarketing: state.isAgreeSMS,\n shippingAddress: {...state.payer.shippingAddress, state: addressQuery.findState(state.payer.shippingAddress?.state)?.abbreviation},\n billingAddress: state.payer.billingAddress,\n meetingRecordingConsent: true\n };\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.update(user).subscribe(() => {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n\n const nextStep = getNextStep();\n handleSetProgress(getProgress(nextStep));\n\n setState({\n ...state,\n step: nextStep,\n isLoading: false\n });\n\n return navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const validateEmail = () => {\n authService.isEmailExistForPatient(state.payer.email).subscribe(result => {\n result ? emailUsed() : emailDoNotUsed()\n })\n }\n\n const getInviteCode = () => {\n return inviteCodeQuery.getInviteCode();\n }\n\n const handleTokenChange = (paymentMethod: any) => {\n if (paymentMethod) {\n setPaymentToken(paymentMethod.paymentMethod.id);\n setState({ ...state, paymentCardInfo: paymentMethod, isCardExist: true });\n } else {\n setPaymentToken(null);\n setState({ ...state, paymentCardInfo: null });\n }\n }\n\n const getProgress = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.HealthConcern: return 14;\n case GetStartedStep.HealthConcernInterstitial: return 14;\n case GetStartedStep.CreateAccount: return 28;\n case GetStartedStep.NameInterstitial: return 43;\n case GetStartedStep.PersonalInfo: return 58;\n case GetStartedStep.AskInsurance: return 58;\n case GetStartedStep.AskMedicare: return 58;\n case GetStartedStep.CaptureInsurance: return 58;\n case GetStartedStep.OnnInsurance: return 58;\n case GetStartedStep.Shipping: return 72;\n case GetStartedStep.Payment: return 72;\n case GetStartedStep.Review: return 72;\n }\n }\n\n const getNextStep = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.HealthConcern: return GetStartedStep.HealthConcernInterstitial;\n case GetStartedStep.HealthConcernInterstitial: return GetStartedStep.CreateAccount;\n case GetStartedStep.CreateAccount: return GetStartedStep.NameInterstitial;\n case GetStartedStep.HaveAccount: return GetStartedStep.NameInterstitial;\n case GetStartedStep.NameInterstitial: return GetStartedStep.PersonalInfo;\n case GetStartedStep.PersonalInfo: return insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length && !employerKey\n ? GetStartedStep.AskInsurance\n : medicareOnboarding && getAge(state.payer.birthday) >= 65 && !employerKey\n ? GetStartedStep.AskMedicare\n : GetStartedStep.Shipping;\n case GetStartedStep.AskInsurance: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.AskMedicare: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.CaptureInsurance: return GetStartedStep.Shipping\n case GetStartedStep.OnnInsurance: return GetStartedStep.Shipping;\n case GetStartedStep.Shipping: return GetStartedStep.Payment;\n case GetStartedStep.Payment: return GetStartedStep.Review;\n }\n }\n\n const getPreviousStep = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.HealthConcernInterstitial: return GetStartedStep.HealthConcern;\n case GetStartedStep.CreateAccount: return GetStartedStep.HealthConcernInterstitial;\n case GetStartedStep.PersonalInfo: return GetStartedStep.NameInterstitial;\n case GetStartedStep.AskInsurance: return GetStartedStep.PersonalInfo;\n case GetStartedStep.AskMedicare: return GetStartedStep.PersonalInfo;\n case GetStartedStep.CaptureInsurance: return state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id)\n ? GetStartedStep.AskInsurance\n : GetStartedStep.AskMedicare;\n case GetStartedStep.OnnInsurance: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.Shipping: return state.hasInsurance\n ? GetStartedStep.CaptureInsurance\n : insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length && !employerKey\n ? GetStartedStep.AskInsurance\n : medicareOnboarding && getAge(state.payer.birthday) >= 65 && !employerKey\n ? GetStartedStep.AskMedicare\n : GetStartedStep.PersonalInfo;\n case GetStartedStep.Payment: return GetStartedStep.Shipping;\n case GetStartedStep.Review: return GetStartedStep.Payment;\n case GetStartedStep.HaveAccount: return GetStartedStep.CreateAccount;\n case GetStartedStep.ResetPassword: return GetStartedStep.CreateAccount;\n }\n }\n\n const handleSubmitBackStep = () => {\n const previousStep = getPreviousStep();\n \n handleSetProgress(getProgress(previousStep));\n\n setState({ ...state, step: previousStep, errors: {}, isEmailSent: false });\n }\n\n const handleSelectingAddOn = (id: number, value: boolean) => {\n const addOns = state.addOns;\n const addOn = addOns.find(x => x.id === id);\n addOn.isSelected = value;\n\n setState({\n ...state,\n addOns,\n });\n }\n\n const handlePriceSelect = (paymentPrice: PaymentPriceModel) => {\n setState({ ...state, paymentPrice });\n }\n\n const getSelectedAddOns = () => {\n return state.addOns.filter(i => i.isSelected);\n }\n\n const handleCouponChanges = (value: string) => {\n setState({ ...state, couponCode: value });\n }\n\n const selectPaymentPriceType = () => {\n switch (state.hasInsurance) {\n case true:\n return PaymentPriceType.Insurance;\n case false:\n return PaymentPriceType.Default;\n default: return PaymentPriceType.Default;\n }\n }\n\n const applyCoupon = (code: string) => {\n const paymentPriceType = selectPaymentPriceType();\n\n const model: ApplyCouponModel = {\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceType: paymentPriceType,\n code: code\n };\n\n const action = paymentPlansService.newPromoCodeApply(model);\n\n action.subscribe((exclusivePrices: PaymentPriceModel[]) => {\n if (exclusivePrices && exclusivePrices.length) {\n // we need the complete coupon model\n const retrievedCoupon = exclusivePrices[0].paymentCoupon;\n\n const newSelectedPeriod = Object.assign(paymentPeriod, {\n prices: [...paymentPeriod.prices, ...exclusivePrices]\n });\n\n const addOns = state.addOns;\n\n const freeAddOnsPrice = exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n\n const paymentPrice = newSelectedPeriod\n .prices\n .find(x => x.type === paymentPriceType && x?.paymentCoupon?.code === retrievedCoupon.code && x.strategy === state.paymentPrice.strategy);\n\n if (paymentPrice) {\n setState(state => ({\n ...state,\n couponCode: code,\n paymentPriceType: paymentPriceType,\n coupon: retrievedCoupon,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n addOns: addOns,\n isCouponApplied: true,\n exclusivePrices: exclusivePrices\n }));\n \n paymentPlansStore.setCouponApplied(retrievedCoupon);\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n }\n }, () => {\n });\n }\n\n const resetCoupon = () => {\n paymentPlansService.resetCoupon();\n\n const newSelectedPeriod = Object.assign(paymentPeriod, paymentPlan.periods[0]);\n\n const paymentPriceType = state.hasInsurance\n ? PaymentPriceType.Insurance\n : PaymentPriceType.Default;\n\n const paymentPrice = getCorrespondingPrice(newSelectedPeriod.prices, state.paymentPrice.strategy, paymentPriceType);\n\n setState(state => ({\n ...state,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n paymentPriceType: paymentPriceType,\n isCouponApplied: false\n }));\n\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n\n const handleChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n if (field === 'cardName') {\n setState({ ...state, cardName: value });\n return;\n }\n if (field === 'gender') {\n addOnsService.getOptional(state.paymentPlan.id, value, employerKey);\n }\n const payer = state.payer;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, payer);\n lastObject[key] = value;\n\n setState(state => ({ ...state, payer: Object.assign({}, payer) }));\n }\n\n const handleAgree = (event: React.ChangeEvent, field: string) => {\n state[field] = event.target.checked;\n setState({ ...state });\n }\n\n const handleChangeHealthConcernStatus = (status: HealthConcernStatus) => {\n setState({\n ...state,\n healthConcernStatus: status\n })\n }\n\n const isCheckedWelcomePatient = () => {\n return Boolean(state.payer.email && state.payer.password && state.isAgreeContinue);\n }\n\n const isCheckedNameInfo = () => {\n return Boolean(state.payer.firstName && state.payer.lastName && moment(state.payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && state.payer.gender !== 99);\n }\n\n const isCheckedPersonalInfo = () => {\n return Boolean(state.payer.firstName && state.payer.lastName && moment(state.payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && state.payer.phoneNumber && state.payer.gender !== 99 && state.payer.state);\n }\n\n const isCheckedShippingDetail = () => {\n return Boolean(state.payer.shippingAddress.streetAddress1 && state.payer.shippingAddress.city && state.payer.shippingAddress.state && state.payer.shippingAddress.zipCode);\n }\n\n const isCheckedPaymentCardDetail = () => {\n return Boolean(paymentToken && state.payer.billingAddress.streetAddress1 && state.payer.billingAddress.city && state.payer.billingAddress.state && state.payer.billingAddress.zipCode);\n }\n\n const isCheckedProperStep = (payer: PayerInformation) => {\n if (Boolean(payer.firstName && payer.lastName && moment(payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && payer.gender !== 99)) {\n if (Boolean(payer.firstName && payer.lastName && moment(payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && payer.gender !== 99 && state.payer.phoneNumber && payer.state)) {\n if (Boolean(payer.shippingAddress.streetAddress1 && payer.shippingAddress.city && payer.shippingAddress.state && payer.shippingAddress.zipCode)) {\n return GetStartedStep.Payment;\n } else {\n return GetStartedStep.Shipping;\n }\n } else {\n Track(\"onboarding_personal_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n return GetStartedStep.PersonalInfo;\n }\n }\n Track(\"onboarding_first_name\", {\n group: 'test',\n platform: PlatformName(),\n })\n return GetStartedStep.NameInterstitial;\n }\n\n const handleLeadSourceChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state);\n lastObject[key] = key === \"leadSourceId\" ? +value : value;\n\n setState({ ...state, selectedLeadSource: state.selectedLeadSource });\n }\n\n const updateValidationState = (field: string, value: any) => {\n if (state.sameAsBillingAddress && field.includes('billingAddress')) {\n const shippingAddressField = field.replace('billingAddress', 'shippingAddress');\n finishCheckoutComponentValidator.validateAndSetState(state, setState, shippingAddressField, value);\n }\n\n finishCheckoutComponentValidator.validateAndSetState(state, setState, field, value);\n }\n\n const executeRecaptcha = () => {\n recaptcha.current?.reset();\n recaptcha.current?.execute()\n }\n\n const renderRecaptcha = () => {\n context['state'] = state;\n context['paymentToken'] = paymentToken;\n\n return recaptchaOnResolved(token, context)}\n style={{ display: 'none' }}\n />\n }\n\n const handleSameAsBillingAddress = () => {\n const payer = state.payer;\n payer.billingAddress = state.sameAsBillingAddress ? state.payer.shippingAddress : emptyAddress;\n\n setState({\n ...state,\n payer: payer,\n sameAsBillingAddress: !state.sameAsBillingAddress\n });\n }\n\n const handleUserInfoCheck = () => {\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n payer.email = authQuery.getEmail();\n payer.password = uuidv4() + AuthConstants.uuidPasswordInterpolation;\n const cb = () => {\n setState(state => ({\n ...state,\n payer: payer,\n step: GetStartedStep.NameInterstitial,\n isSubmitted: false,\n isGetUserInfo: false\n }));\n Track(\"onboarding_first_name\", {\n group: 'test',\n platform: PlatformName(),\n })\n handleSetProgress(getProgress(GetStartedStep.NameInterstitial));\n }\n usersService.getMyUserInfo().subscribe((response) => {\n payer.firstName = response.firstName;\n payer.lastName = response.lastName;\n payer.birthday = response.birthday;\n payer.gender = response.gender;\n payer.phoneNumber = response.phoneNumber;\n payer.shippingAddress = {\n ...response.shippingAddress,\n country: 'USA'\n };\n payer.billingAddress = {\n ...response.shippingAddress,\n country: 'USA'\n };\n if (response.shippingAddress.state) {\n payer.state = addressQuery.findState(payer.shippingAddress?.state);\n }\n const step = isCheckedProperStep(payer);\n setState(state => ({\n ...state,\n payer: payer,\n step: step,\n sameAsBillingAddress: step === GetStartedStep.Payment || step === GetStartedStep.Shipping ? false : true,\n isSubmitted: false,\n isGetUserInfo: false\n }));\n handleSetProgress(getProgress(step));\n }, cb)\n }\n\n const recaptchaOnResolved = (antiSpamToken: string, context) => {\n const state = context['state'];\n const paymentToken = context['paymentToken'];\n\n const password = !state.payer.password\n ? uuidv4() + AuthConstants.uuidPasswordInterpolation\n : state.payer.password;\n\n const patient: RegisterPatientModel = {\n inviteCode: getInviteCode(),\n practiceId: state.practiceId,\n paymentToken: paymentToken,\n antiSpamToken: antiSpamToken,\n email: state.payer.email.trim(),\n phoneNumber: state.payer.phoneNumber,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n marketingSMS: state.isAgreeSMS,\n gender: Number(state.payer.gender),\n birthday: state.payer.birthday,\n password: password,\n confirmPassword: password,\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceId: state.paymentPrice.id,\n agreements: state.paymentPeriod.agreements.map(x => ({ agreementId: x.id, isConfirmed: true })),\n billingAddress: state.payer.billingAddress,\n shippingAddress: {...state.payer.shippingAddress, state: addressQuery.findState(state.payer.shippingAddress?.state)?.abbreviation},\n addOnIds: state.addOns.filter(x => x.isSelected).map(x => x.id),\n founderId: null,\n leadSource: state.selectedLeadSource.leadSourceId !== 0 ? state.selectedLeadSource : null,\n employeeId: null,\n linkedEmployeeId: null,\n employerProductKey: employerKey,\n promoCode: state.isCouponApplied ? state.couponCode : ''\n }\n\n const loginModel: LoginModel = {\n email: state.payer.email,\n password: state.payer.password,\n practiceId: authQuery.getCurrentPracticeId(),\n antiSpamToken: antiSpamToken,\n }\n\n const forgotPasswordModel: ForgotPasswordModel = {\n email: state.payer.email,\n practiceId: authQuery.getCurrentPracticeId(),\n antiSpamToken: antiSpamToken,\n }\n \n const cb = () => setState(state => ({ ...state, isSubmitted: false }));\n \n const registerCB = (error: any) => {\n const messages = error?.response?.data?.messages ?? [];\n\n if (messages[0]?.toLowerCase()?.includes('already has an active membership')) {\n authService.refreshToken(authQuery.getRefreshToken()).subscribe(\n () => {\n const traits = getFBTraits(state.payer);\n Track(\n \"checkout_completed\",\n {\n platform: PlatformName()\n },\n traits\n );\n\n const createdPatient: any = {\n ...state.payer,\n intakeId: authQuery.getPatientId()\n }\n \n if (mobileGetStartedPath) {\n navigationService.toMobilePaymentSuccess(history, createdPatient);\n } else {\n navigationService.toPaymentSuccess(history, createdPatient);\n }\n }, cb\n )\n } else if (messages[0]?.toLowerCase()?.includes('your card was declined. please contact your financial institution.')) {\n setState(state => ({\n ...state,\n isSubmitted: false,\n step: GetStartedStep.Payment,\n cardSaved: false\n }));\n } else {\n setState(state => ({ ...state, isSubmitted: false }));\n }\n }\n\n if (state.step === GetStartedStep.HaveAccount) {\n authService.login(loginModel).subscribe((res) => {\n if (!authQuery.isRegistrationCompleted()) {\n handleUserInfoCheck();\n } else {\n navigationService.toDashboard(history);\n }\n }, cb)\n } else if (state.step === GetStartedStep.ResetPassword) {\n authService.forgotPassword(forgotPasswordModel).subscribe(() => {\n setState({ ...state, isSubmitted: false, isEmailSent: true });\n }, cb)\n } else {\n patientsService.register(patient).subscribe(\n patient => {\n const traits = getFBTraits(state.payer, patient.universalId);\n Track(\n \"checkout_completed\",\n {\n platform: PlatformName()\n },\n traits\n );\n \n if (mobileGetStartedPath) {\n navigationService.toMobilePaymentSuccess(history, patient);\n } else {\n navigationService.toPaymentSuccess(history, patient);\n }\n }, (error) => registerCB(error)\n );\n }\n }\n\n const validateStepWelcome = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"email\", state.payer.email);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"password\", state.payer.password);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const handleOnBlurValidate = (field: string): boolean => {\n switch (field) {\n case 'firstName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'lastName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'birthday':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'phoneNumber':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"state\", state.payer.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.streetAddress1':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.city':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.zipCode':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.streetAddress1':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.city':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.zipCode':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'cardName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"cardName\", state.cardName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n }\n\n const validateNameInterStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validatePersonalInfoStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"state\", state.payer.state);\n\n const leadSource = state.leadSources.find(x => x.id === state.selectedLeadSource.leadSourceId);\n if (leadSource !== undefined && leadSource.isOther)\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"selectedLeadSource.otherLeadSource\", state.selectedLeadSource.otherLeadSource);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validateShippingStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress2\", state.payer.shippingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validatePaymentStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress2\", state.payer.billingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress2\", state.payer.shippingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"cardName\", state.cardName);\n\n const isValid = finishCheckoutComponentValidator.stateIsValid(state) && Boolean(paymentToken);\n\n setState({ ...state, isCardExist: Boolean(paymentToken) })\n\n return isValid;\n }\n\n /**\n * Handles payment submit\n */\n const handleSubmitRegistration = () => {\n Track(\"Button Click\", {\n type: 'checkout_started',\n platform: PlatformName()\n })\n Track(\"checkout_started\", {\n platform: PlatformName()\n })\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n };\n\n const goToLoginPage = () => {\n navigationService.toLogin(history);\n }\n\n const goToHaveAccountStep = () => {\n setState({ ...state, step: GetStartedStep.HaveAccount, isEmailSent: false });\n }\n\n const goToResetPasswordStep = () => {\n setState({ ...state, step: GetStartedStep.ResetPassword });\n }\n\n const handleEnterDiscountCode = () => {\n setState({\n ...state,\n enterDiscountCode: !state.enterDiscountCode\n })\n }\n\n const isMedicareFlow = () => {\n return insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length\n ? false\n : medicareOnboarding && getAge(state.payer.birthday) >= 65;\n }\n\n /**\n * Load all payment plans\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentQuery.credentials$, credentials => {\n setState(state => ({\n ...state,\n publicKey: credentials?.publicKey,\n provider: credentials?.provider,\n practiceId: credentials?.practiceId\n }));\n }\n ),\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({ ...state, selectedPlan }));\n }),\n onEmit(paymentPlansQuery.isCouponApplied$, (value) => {\n setState(state => ({ ...state, isCouponApplied: value, }));\n }),\n onEmit(addOnsQuery.addOns$, addOns => {\n const items = addOns.map(i => {\n return {\n ...i,\n isSelected: i.orderType === OrderType.Lab\n }\n });\n\n let isCouponApplied=false;\n if(state.isCouponApplied && !!state.exclusivePrices){\n const addOns = items;\n const freeAddOnsPrice = state.exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n isCouponApplied = true;\n }\n setState(state => ({ ...state, addOns: items, isCouponApplied: isCouponApplied }));\n }),\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources: leadSources.sort((l1, l2,) => handleCompare(l1, l2, SortingDirection.Desc, 'isOther'))\n }));\n }),\n ];\n\n leadSourcesService.getActive(authQuery.getCurrentPracticeId());\n paymentService.getCredentials(authQuery.getCurrentPracticeId());\n addOnsService.getOptional(paymentPlan.id, state.payer.gender, employerKey);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [paymentPlan, state.payer.gender, couponCode]);\n\n useEffect(() => {\n if (authQuery.isLoggedIn()) {\n handleUserInfoCheck();\n } else {\n Track(\"onboarding_health_concern\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState(state => ({\n ...state,\n isGetUserInfo: false\n }));\n handleSetProgress(getProgress());\n }\n }, [])\n \n useEffect(() => {\n if (state.payer.state) {\n insuranceService.getInsurances(state.payer.state.id).subscribe((insurances) => {\n setState((state) => ({...state, insurances }))\n }, () => {\n setState((state) => ({...state, insurances: [] }))\n });\n }\n }, [state.payer.state]);\n\n useEffect(() => {\n\n function scrollEvent() {\n if (prevScrollY) {\n\n if (prevScrollY.current) {\n let rect = prevScrollY.current.getBoundingClientRect()\n\n if (rect.top > window.innerHeight + 48) {\n setState((state) => ({...state, showBottom: true }))\n } else {\n setState((state) => ({...state, showBottom: false }))\n }\n }\n }\n }\n\n document.addEventListener('scroll', scrollEvent)\n\n return () => {\n document.removeEventListener('scroll', scrollEvent)\n }\n }, []);\n\n\n return [\n state,\n isMarketingSMSButton,\n isConsultationGetStartedPath,\n handleHasInsurance,\n handleTokenChange,\n handlePriceSelect,\n handleChanges,\n renderRecaptcha,\n handleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n resetCoupon,\n handleSameAsBillingAddress,\n handleLeadSourceChanges,\n handleSubmitNextStep,\n handleSubmitBackStep,\n handleAgree,\n isCheckedWelcomePatient,\n isCheckedNameInfo,\n isCheckedPersonalInfo,\n goToLoginPage,\n goToResetPasswordStep,\n goToHaveAccountStep,\n isCheckedShippingDetail,\n isCheckedPaymentCardDetail,\n handleChangeHealthConcernStatus,\n handleEnterDiscountCode,\n isMedicareFlow,\n prevScrollY,\n handleOnBlurValidate\n ]\n}\n","import React from \"react\";\nimport { useFacade } from \"./insuranceCheckoutComponent.hooks\";\nimport commonUseStyles from \"../../../common/styles/common.styles\";\nimport { useStyles } from \"./InsuranceComponent.styles\";\nimport {\n Box,\n Checkbox,\n FormControl,\n FormHelperText,\n Grid,\n InputLabel,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n useTheme,\n} from \"@material-ui/core\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\"\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport { colors } from \"../../../common/constants/colors\";\nimport { WildHealthDatePicker } from \"../../../common/components/WildHealthDatePicker\";\nimport {RelationshipNames, Relationships} from \"../../models/insurance.models\";\nimport { RegistrationNextTestedButton, RegistrationNextButton } from \"../../../payment/components/registrationButton/RegistrationNextTestButton\";\nimport { User } from \"../../../common/models/user.models\";\nimport clsx from \"clsx\";\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\nimport {getAge} from \"../../../common/helpers/get-age\";\n\ninterface InsuranceCheckoutComponentProps {\n user: User;\n handleSubmit?: Function;\n handleCancel?: Function;\n}\n\ninterface InsuranceCheckoutRedesignComponentProps extends InsuranceCheckoutComponentProps {\n isMedicareFlow: boolean;\n}\n\nexport const InsuranceCheckoutComponent: React.FC = (props: InsuranceCheckoutComponentProps) => {\n const [\n state,\n handleAddInsurance,\n handleChanges,\n handlePolicyHolderCheck,\n handleSave,\n handleFileUpload\n ] = useFacade(props.handleSubmit, true, props.user.state.id);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const controlIcon = ;\n const controlCheckedIcon = ;\n\n const renderInsuranceForm = (): JSX.Element => {\n return (\n <>\n \n \n \n \n Enter your insurance information\n \n \n \n \n \n Insurance Provider\n handleChanges('insurance.id', v.target.value as string)}\n >\n {\n state.insurances.map((value) => {\n return {value.name}\n })\n }\n \n {state.errors[`insurance.id`]}\n \n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n handlePolicyHolderCheck()}\n />\n \n \n I am not the main policyholder\n \n \n \n {\n state.containPolicyHolder &&\n <>\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n handleChanges(`policyHolder.dateOfBirth`, momentDate.toISOString())}\n disableFuture\n error={!!state.errors[`policyHolder.dateOfBirth`]}\n helperText={state.errors[`policyHolder.dateOfBirth`]}\n />\n \n \n \n Relationship to policyholder\n handleChanges('policyHolder.relationship', v.target.value as string)}\n >\n {\n Object\n .keys(Relationships)\n .filter(x => Relationships[x] !== Relationships.SELF)\n .map((key) => {\n return {key}\n })\n }\n \n {state.errors[`policyHolder.relationship`]}\n \n \n \n }\n \n \n \n \n \n \n \n \n handleSave()}\n label={state.coverage ? \"Continue\" : \"Add Insurance\"}\n isLoading={state.isSaveButtonLoading}\n />\n \n \n \n \n props.handleCancel()}>My insurance is not listed\n \n \n )\n }\n\n const renderContent = (): JSX.Element => {\n const isLoading =\n state.isCoveragesLoading ||\n state.isAttachmentsLoading ||\n state.isInsurancesLoading;\n\n if (isLoading) {\n return ()\n }\n\n return renderInsuranceForm();\n }\n\n return (\n \n {\n renderContent()\n }\n \n );\n}\n\nexport const InsuranceCheckoutRedesignComponent: React.FC = (props: InsuranceCheckoutRedesignComponentProps) => {\n const {\n handleSubmit,\n handleCancel,\n user,\n isMedicareFlow\n } = props;\n\n const stateId = user.state.id;\n const age = isMedicareFlow ? getAge(user.birthday) : null;\n\n const [\n state,\n handleAddInsurance,\n handleChanges,\n handlePolicyHolderCheck,\n handleSave,\n handleFileUpload\n ] = useFacade(handleSubmit, true, stateId, age);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"sm\"));\n\n const renderInsuranceForm = (): JSX.Element => {\n return (\n <>\n \n \n \n \n Insurance Information\n \n \n \n We’ll need the information listed on your insurance card in order to check your eligibility.\n \n \n \n \n \n Insurance Provider *\n \n handleChanges('insurance.id', v.target.value as string)}\n inputProps={{\n name: 'Insurance provider',\n id: 'insurance-provider-label',\n classes,\n }}\n >\n {\n state.insurances.map((value) => {\n return {value.name}\n })\n }\n \n {state.errors[`insurance.id`]}\n \n \n \n \n Member ID *\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n I am not the main policyholder\n \n }\n checkStatus={state.containPolicyHolder}\n disabled={!state.editMode}\n handleCheck={handlePolicyHolderCheck}\n />\n \n {\n state.containPolicyHolder &&\n <>\n \n \n Main Policy Holder Information\n \n \n \n \n Policy Holder First Name *\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n Policy Holder Last Name *\n \n {\n handleChanges(v.target.id, v.target.value)\n }}\n />\n \n \n \n \n Policy Holder Birth Date *\n \n handleChanges(`policyHolder.dateOfBirth`, momentDate.toISOString())}\n disableFuture\n error={!!state.errors[`policyHolder.dateOfBirth`]}\n helperText={state.errors[`policyHolder.dateOfBirth`]}\n />\n \n \n \n \n \n Relationship to Policy Holder *\n \n handleChanges('policyHolder.relationship', v.target.value as string)}\n inputProps={{\n name: 'Insurance provider',\n id: 'insurance-provider-label',\n classes,\n }}\n renderValue={() => {\n const relationship = state.editMode ? state.coverageDraft?.policyHolder?.relationship : state.coverageDraft.policyHolder?.relationship\n if (relationship) {\n return RelationshipNames.get(relationship);\n }\n \n return Select;\n }}\n >\n {\n Object\n .keys(Relationships)\n .filter(x => Relationships[x] !== Relationships.SELF)\n .map((key) => {\n return {RelationshipNames.get(key)}\n })\n }\n \n {state.errors[`policyHolder.relationship`]}\n \n \n \n }\n \n \n \n \n \n \n \n \n handleSave()}\n label={state.coverage ? \"Continue\" : \"Add Insurance\"}\n isLoading={state.isSaveButtonLoading}\n />\n \n \n \n \n handleCancel()}>My insurance is not listed\n \n \n )\n }\n\n const renderContent = (): JSX.Element => {\n const isLoading =\n state.isCoveragesLoading ||\n state.isAttachmentsLoading ||\n state.isInsurancesLoading;\n\n if (isLoading) {\n return ()\n }\n\n return renderInsuranceForm();\n }\n\n return (\n \n {\n renderContent()\n }\n \n );\n}","import React from \"react\";\nimport { WildHealthButton } from '../../../common/components/wildHealthButton/WildHealthButton';\nimport ArrowForwardIcon from '@material-ui/icons/ArrowForward';\nimport { colors } from '../../../common/constants/colors';\n\ninterface RegistrationNextButtonProps {\n skip: () => void;\n label?: string;\n icon?: boolean;\n disabled?: boolean;\n}\n\nexport const RegistrationSkipButton: React.FC = (props: RegistrationNextButtonProps) => {\n const {\n skip,\n label,\n icon,\n disabled = false,\n } = props;\n\n return (\n skip()}\n >\n

{label ?? 'Next Step'}

\n {icon && }\n \n );\n}\n\nexport const RegistrationSkipRedesignButton: React.FC = (props: RegistrationNextButtonProps) => {\n const {\n skip,\n label,\n icon,\n disabled = false,\n } = props;\n\n return (\n skip()}\n >\n

{label ?? 'Next Step'}

\n {icon && }\n \n );\n}","import {\n Box,\n Checkbox,\n Container,\n Divider,\n FormControl,\n FormControlLabel,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n useTheme,\n} from '@material-ui/core';\nimport React, {useMemo} from 'react';\nimport {UpdateAddressTestedForm} from \"../../../common/components/updateAddressTestForm/UpdateAddressForm\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport {PageSliderNavigationContext} from \"../../../common/models/navigation.models\";\nimport {BillingSummaryTestedComponent} from \"../billingSummaryTestComponent/BillingSummaryComponent\";\nimport {WelcomePatientInfoComponent} from '../welcomePatientInfoComponent/WelcomePatientInfoComponent';\nimport {PatientInfoRedesignComponent} from '../patientInfoRedesignComponent/PatientInfoRedesignComponent';\nimport {ApplyPaymentCouponTestedComponent} from '../paymentCouponTestComponent/ApplyPaymentCouponComponent';\nimport {PaymentCouponAppliedTestedComponent} from '../paymentCouponTestComponent/PaymentCouponAppliedComponent';\nimport {PaymentSummaryTestedComponent} from \"../paymentSummaryTestComponent/PaymentSummaryComponentGetStarted\";\nimport {GetStartedStep, useFacade} from \"./FinishCheckoutComponent.hooks\";\nimport {useStyles} from \"./finishCheckoutComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport {RegistrationBackButton} from '../registrationButton/RegistrationBackButton';\nimport {RegistrationNextTestedButton} from '../registrationButton/RegistrationNextTestButton';\nimport {PageSliderComponent} from \"../../../common/components/PageSliderComponent\";\nimport {PaymentCardTestedComponent} from \"../paymentCardTestComponent/PaymentCardComponent\";\nimport {ReactComponent as LockIcon} from '@img/icons/lock.svg';\nimport AddIcon from '@material-ui/icons/Add';\nimport RemoveIcon from '@material-ui/icons/Remove';\nimport CheckBoxOutlineBlankIcon from '@material-ui/icons/CheckBoxOutlineBlank';\nimport CheckBoxIcon from '@material-ui/icons/CheckBox';\nimport {ReactComponent as MastercardLogo} from '@img/getStarted/mastercardLogo.svg';\nimport {loadStripe} from '@stripe/stripe-js';\nimport {Elements} from '@stripe/react-stripe-js';\nimport {ConfirmAlternativeAddOnDialog} from '../confirmAlternativeAddOnDialog/ConfirmDialog'\nimport {colors} from '../../../common/constants/colors';\nimport {navigationService} from \"../../../../services/navigation.service\";\nimport {authQuery} from '../../../auth/stores/auth';\nimport {InsuranceCheckoutComponent} from \"../../../insurance/components/insuranceComponent/InsuranceCheckoutComponent\";\nimport {RegistrationSkipButton} from \"../registrationButton/RegistrationSkipButton\";\n\nimport {PaymentPlanModel} from '../../models/paymentPlan.models';\nimport {getPlanForAutoSelect} from \"../../helpers/getPlanForAutoSelect\";\n\ninterface FinishCheckoutComponentProps {\n plans: PaymentPlanModel[];\n specifiedPlan?: string;\n defaultPlan?: string;\n navigationContext: PageSliderNavigationContext;\n employerKey?: string;\n}\n\nexport const FinishCheckoutComponent: React.FC = (props: FinishCheckoutComponentProps) => {\n const {\n plans,\n specifiedPlan = null,\n defaultPlan = null,\n navigationContext,\n employerKey = \"\"\n } = props;\n\n const [\n {\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n publicKey,\n addOns,\n popUpData,\n couponCode,\n coupon,\n isCouponApplied,\n paymentPriceType,\n payer,\n errors,\n sameAsBillingAddress,\n enterDiscountCode,\n leadSources,\n selectedLeadSource,\n step,\n isSubmitted,\n isCardExist,\n cardSaved,\n isAgreeContinue,\n isAgreeSMS,\n paymentCardInfo,\n isLoading\n },\n isMarketingSMSButton,\n isConsultationGetStartedPath,\n handleHasInsurance,\n handleTokenChange,\n selectAlternativeAddOn,\n handlePriceSelect,\n handleChanges,\n renderRecaptcha,\n handleToggleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n resetCoupon,\n handleSameAsBillingAddress,\n handleEnterDiscountCode,\n handleLeadSourceChanges,\n handleSubmitNextStep,\n handleSubmitBackStep,\n isCheckedAlternativeAddOn,\n handleAgree,\n isCheckedWelcomePatient,\n isCheckedPersonalInfo,\n isCheckedBillingDetail,\n handleOnBlurValidate\n ] = useFacade(navigationContext, employerKey);\n\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const stripePromise = useMemo(() => loadStripe(`${publicKey}`), [publicKey]);\n const isPlanAutoSelect = Boolean(getPlanForAutoSelect(plans, specifiedPlan, defaultPlan));\n\n if (!publicKey) {\n return \n }\n\n const displayOtherLeadSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId);\n if (leadSource === undefined || !leadSource.isOther)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const displayPodcastSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId && x.name === 'Podcast');\n if (leadSource === undefined)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const label = \n \n I agree to receive occasional SMS marketing communications\n \n ;\n const controlIcon = ;\n const controlCheckedIcon = ;\n const control = (\n handleAgree(event, 'isAgreeSMS')}\n />\n );\n\n const labelTermsAndPolicy = '';\n const controlTermsAndPolicy = (\n handleAgree(event, 'isAgreeContinue')}\n />\n );\n\n const renderWelcomeStep = () => (\n <>\n \n Continue your personalized health journey\n \n \n You’re just 3 steps away from your best health. All we need is some basic personal info, shipping and billing details to complete your sign up. Start by making an account!\n \n \n \n \n \n )\n\n const renderStepFirstMarketing = () => (\n \n \n \n \n \n \n \n By clicking the button below I agree to the\n navigationService.toTermsOfUse()} className={classes.termsPolicyLink}>Terms of Use\n , \n navigationService.toTermsOfService()} className={classes.termsPolicyLink}>Terms of Service\n , \n navigationService.toPrivacyPolicy()} className={classes.termsPolicyLink}>Privacy Policy\n , and\n navigationService.toNoticeOfPrivacy()} className={classes.termsPolicyLink}>Notice of Privacy Practices.\n \n \n \n )\n\n const renderAskInsuranceStep = () => {\n return (\n <>\n \n

Do you have insurance?

\n
\n \n \n We offer plans regardless of your insurance status, but it will help us determine the right plan for you.\n \n \n \n )\n }\n\n const renderAskMedicareStep = () => {\n return (\n <>\n \n

Do you have Medicare?

\n
\n \n \n We offer plans regardless of your insurance status, but it will help us determine the right plan for you.\n \n \n \n )\n }\n\n const renderCaptureInsuranceStep = () => (\n <>\n \n handleSubmitNextStep()} handleCancel={() => handleHasInsurance(false)} />\n \n \n )\n\n const renderCheckInsuranceStep = () => (\n <>\n \n

Not in network yet

\n
\n \n \n We are not in network yet with your insurance. However, we offer discounted cash pricing for out-of-network patients.\n \n \n \n )\n\n const renderPersonalInfoStep = () => (\n <>\n \n Personal Information\n \n \n {\n isMarketingSMSButton && renderStepFirstMarketing()\n }\n \n )\n\n const renderMarketingSMSSubCopy = () => (\n \n By checking this box, I acknowledge and agree that Wild Health and Wellington Provider Group may use my contact information to send me communications by email and text message, including automatically generated text messages, on Wild Health's products and other related educational content. I understand that my consent to receive these communications is not a condition of receiving any good or service. I also understand that message and data charges may apply.\n \n )\n\n const renderBillingStep = () => (\n <>\n \n \n Billing Details\n \n \n Cancel your plan anytime\n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n sameAsBillingAddress &&\n\n \n \n Shipping Address\n \n \n \n }\n {\n !paymentPlan?.isFounder &&\n \n \n \n How did you hear about us?*\n \n \n \n handleLeadSourceChanges(\"selectedLeadSource.leadSourceId\", v.target.value.toString())}>\n {\n leadSources.map((source, i) => {\n return {source.name}\n })\n }\n \n {errors[`selectedLeadSource.leadSourceId`]}\n \n \n {\n displayOtherLeadSource()\n }\n {\n displayPodcastSource()\n }\n \n \n }\n \n \n {enterDiscountCode &&\n \n {\n !isCouponApplied &&\n \n }\n {\n isCouponApplied &&\n \n }\n \n }\n \n \n\n )\n\n const renderCheckoutStep = () => (\n <>\n \n \n Order Summary\n \n \n \n Order Details\n \n \n \n Selected Plan:\n \n \n {\n paymentPlan.displayName\n }\n \n \n \n \n \n \n \n \n \n \n \n \n Payment Method\n \n \n \n \n Credit Card\n \n \n \n \n \n \n \n XXXX XXXX XXXX {paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.last4 : ''}\n \n \n {paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.exp_month : ''}/{paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.exp_year.toLocaleString().substr(-2) : ''}\n \n \n \n \n \n Secured\n with 256-bit TLS encryption\n \n \n \n {\n renderRecaptcha()\n }\n \n )\n\n const btnName = () => {\n switch (step) {\n case GetStartedStep.Welcome:\n return \"Get Healthy\";\n case GetStartedStep.PersonalInfo:\n return \"Billing Details\";\n case GetStartedStep.AskInsurance:\n return \"YES\";\n case GetStartedStep.AskMedicare:\n return \"YES\";\n case GetStartedStep.CaptureInsurance:\n return \"Continue\";\n case GetStartedStep.CheckInsurance:\n return \"Continue\";\n case GetStartedStep.Billing:\n return \"Review\";\n case GetStartedStep.Checkout:\n return \"Start Membership\";\n }\n }\n\n const disabledStatus = () => {\n switch (step) {\n case GetStartedStep.Welcome:\n return !isCheckedWelcomePatient();\n case GetStartedStep.PersonalInfo:\n return !isCheckedPersonalInfo();\n case GetStartedStep.AskInsurance:\n return false;\n case GetStartedStep.CaptureInsurance:\n return false;\n case GetStartedStep.CheckInsurance:\n return false;\n case GetStartedStep.Billing:\n return !isCheckedBillingDetail();\n case GetStartedStep.Checkout:\n return false;\n }\n }\n\n const renderBackButton = () => {\n if (step > GetStartedStep.PersonalInfo) {\n if (authQuery.isLoggedIn() && isConsultationGetStartedPath) {\n return <>;\n }\n return ;\n }\n if (!isConsultationGetStartedPath) {\n if (!isPlanAutoSelect && step === GetStartedStep.Welcome) {\n return ;\n }\n return <>;\n }\n return <>;\n }\n\n const renderDefaultNextButton = () => {\n return (\n \n \n \n \n \n \n \n )\n }\n\n const renderWelcomeStepNextButton = () => {\n return (\n <>\n {\n renderDefaultNextButton()\n }\n \n )\n }\n\n const renderAskInsuranceNextButton = () => {\n return (\n <>\n {\n renderDefaultNextButton()\n }\n \n \n \n handleHasInsurance(false)}\n label=\"NO\"\n disabled={false}\n />\n \n \n \n \n )\n }\n\n const renderNextButton = (step: GetStartedStep): JSX.Element => {\n switch (step) {\n case GetStartedStep.Welcome: return renderWelcomeStepNextButton();\n case GetStartedStep.PersonalInfo: return renderDefaultNextButton();\n case GetStartedStep.AskInsurance: return renderAskInsuranceNextButton();\n case GetStartedStep.AskMedicare: return renderAskInsuranceNextButton();\n case GetStartedStep.CaptureInsurance: return <>;\n case GetStartedStep.CheckInsurance: return renderDefaultNextButton();\n case GetStartedStep.Billing: return renderDefaultNextButton();\n case GetStartedStep.Checkout: return renderDefaultNextButton();\n }\n }\n\n return (\n <>\n\n \n \n \n {!isSubmitted && renderBackButton()}\n \n {step === GetStartedStep.Welcome && renderWelcomeStep()}\n {step === GetStartedStep.AskInsurance && renderAskInsuranceStep()}\n {step === GetStartedStep.AskMedicare && renderAskMedicareStep()}\n {step === GetStartedStep.CaptureInsurance && renderCaptureInsuranceStep()}\n {step === GetStartedStep.CheckInsurance && renderCheckInsuranceStep()}\n {step === GetStartedStep.PersonalInfo && renderPersonalInfoStep()}\n {step === GetStartedStep.Billing && renderBillingStep()}\n {step === GetStartedStep.Checkout && renderCheckoutStep()}\n {\n renderNextButton(step)\n }\n {step === GetStartedStep.PersonalInfo && isMarketingSMSButton && isAgreeSMS && renderMarketingSMSSubCopy()}\n \n \n \n \n )\n}\n","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n addressValidationRules,\n newBirthdayValidationRule,\n adultValidationRule,\n emailValidationRule,\n firstNameValidationRule,\n functionValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n phoneNumberValidationRule,\n regexpValidationRule,\n stringLengthValidationRule,\n requiredValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { Gender } from \"../../../common/models/user.models\";\n\nexport const finishCheckoutComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [adultValidationRule, newBirthdayValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (+value === Gender.Female) return true;\n if (+value === Gender.Male) return true;\n return false;\n }, \"Gender should be selected.\")],\n 'state': [functionValidationRule((value) => {\n return value;\n }, \"State should be selected.\")],\n 'phoneNumber': [phoneNumberValidationRule],\n 'password': [\n functionValidationRule((p: string) => { return !p.includes(\" \") }, \"Password should not contain spaces.\"),\n regexpValidationRule(new RegExp(\"(?=.*[0-9])\"), \"Password should contain at least one digit.\"),\n regexpValidationRule(new RegExp(\"(?=.*[a-z])\"), \"Password should contain at least one lower case.\"),\n regexpValidationRule(new RegExp(\"(?=.*[A-Z])\"), \"Password should contain at least one upper case.\"),\n stringLengthValidationRule(8, null, 'Password should contain at least 8 characters.'),\n notWhitespaceValidationRule()\n ],\n 'confirmPassword': [stringLengthValidationRule(1, null, 'Confirm password is required.'), notWhitespaceValidationRule()],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // lead source form\n 'selectedLeadSource.otherLeadSource': [stringLengthValidationRule(1, 50)],\n\n // card Name\n 'cardName': [requiredValidationRule(), notWhitespaceValidationRule()],\n})","import { makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\ntype Props = {\n topBannerHeight: number;\n};\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n container: {\n backgroundColor: colors.white,\n paddingTop: 40,\n [theme.breakpoints.down('xs')]: {\n paddingTop: 12,\n },\n },\n main: {\n maxWidth: 736,\n margin: '0 auto',\n },\n inputFieldMain: {\n maxWidth: 456,\n margin: '0 auto',\n },\n concernMain: {\n maxWidth: 481,\n margin: '0 auto',\n },\n concernInterstitialMain: {\n maxWidth: 529,\n margin: '0 auto',\n },\n orderSummeryMain: {\n maxWidth: 360,\n margin: '0 auto',\n },\n concernBorder: {\n border: '1px solid #00000033',\n borderRadius: 4,\n },\n concernBorderActive: {\n border: `1px solid ${colors.mint}`,\n borderRadius: 4,\n },\n recommendedPlan: {\n border: `1px solid ${colors.mint}`,\n borderRadius: 12,\n width: 382,\n cursor: 'pointer',\n [theme.breakpoints.down('xs')]: {\n width: 312,\n },\n },\n recommendedImage: {\n width: 198,\n borderRadius: '50%',\n [theme.breakpoints.down('xs')]: {\n width: 140,\n },\n },\n recommendedPlanImage: {\n width: 119,\n height: 82,\n borderTopLeftRadius: 12,\n borderBottomLeftRadius: 12,\n [theme.breakpoints.down('xs')]: {\n width: 108,\n height: 79,\n },\n },\n termsPolicyLink: {\n color: colors.charcoal,\n cursor: 'pointer',\n paddingLeft: '4px',\n textDecoration: 'underline',\n },\n btnLink: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.navy,\n textAlign: 'start',\n fontSize: 16,\n fontWeight: 500,\n padding: 14,\n paddingLeft: 0,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n [theme.breakpoints.down('xs')]: {\n fontSize: 14,\n },\n },\n addIcon: {\n fill: colors.navy,\n width: 18,\n height: 18\n },\n couponBtnLink1: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.main,\n textAlign: 'center',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n padding: 0,\n cursor: 'pointer',\n borderBottom: '1px solid',\n borderBottomColor: colors.main,\n },\n couponBtnLink2: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.linkBlack,\n textAlign: 'center',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n padding: 0,\n cursor: 'pointer',\n },\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.gray900,\n textTransform: 'uppercase',\n [theme.breakpoints.down('xs')]: {\n fontSize: 12,\n },\n },\n title: {\n fontSize: 40,\n fontWeight: 500,\n lineHeight: '50px',\n color: colors.navy,\n [theme.breakpoints.down('xs')]: {\n fontSize: 28,\n lineHeight: '34px',\n },\n },\n smallTitle: {\n fontSize: 18,\n lineHeight: '25px',\n fontWeight: 500,\n color: colors.navy,\n },\n paymentMethodBlock: {\n padding: '12px 24px',\n borderRadius: 8,\n backgroundColor: colors.gray6\n },\n helperText: {\n paddingRight: 4,\n lineHeight: '24px',\n fontWeight: 500,\n },\n link: {\n color: colors.darkMint,\n },\n linkText: {\n fontWeight: 500,\n },\n setPasswordSection: {\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n paddingTop: 24,\n paddingBottom: 24,\n [theme.breakpoints.down('sm')]: {\n paddingTop: 16,\n paddingBottom: 16,\n },\n },\n doneIcon: {\n fill: colors.mint,\n },\n linkEmailSent: {\n width: 'fit-content',\n border: `1px solid ${colors.mint}`,\n borderRadius: 8,\n backgroundColor: '#F7FBF9',\n display: 'flex',\n alignItems: 'center',\n padding: '12px 16px',\n paddingRight: 24,\n marginRight: 'auto',\n marginLeft: 'auto',\n },\n backBtnSection: {\n position: 'fixed',\n left: 120,\n top: ({ topBannerHeight }) => {\n if (topBannerHeight > 0) {\n return topBannerHeight + 24;\n } else {\n return 24;\n }\n },\n zIndex: 1999,\n [theme.breakpoints.down('sm')]: {\n left: 0,\n top: ({ topBannerHeight }) => {\n if (topBannerHeight > 0) {\n return topBannerHeight + 26;\n } else {\n return 26;\n }\n }\n },\n },\n stickyReviewBtnSection: {\n position: 'fixed',\n bottom: 0,\n width: '100%',\n background: colors.white,\n padding: 24,\n boxShadow: '0px -3px 6px rgba(185, 185, 185, 0.5)'\n }\n}));","var _path, _path2, _path3, _path4, _path5;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgVisaCardLogo = function SvgVisaCardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 35,\n height: 12,\n viewBox: \"0 0 35 12\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M13.8743 0.844727L12.1133 11.1789H14.9297L16.6922 0.844727H13.8743Z\",\n fill: \"#03318C\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.75104 0.855689L6.99255 7.9033L6.69845 6.83916C6.15443 5.55699 4.61003 3.71559 2.79688 2.55511L5.31921 11.1732L8.29936 11.1681L12.7348 0.853516L9.75104 0.855689Z\",\n fill: \"#03318C\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M5.62997 1.59543C5.46626 0.965933 4.99178 0.778316 4.40285 0.755859H0.0362196L0 0.961587C3.39812 1.78594 5.64663 3.77223 6.57965 6.16055L5.62997 1.59543Z\",\n fill: \"#03318C\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.4006 2.82568C23.322 2.81119 23.9899 3.01257 24.5086 3.2212L24.7628 3.34072L25.1439 1.1009C24.5861 0.891553 23.7117 0.666992 22.6208 0.666992C19.8377 0.666992 17.876 2.06869 17.8608 4.07743C17.8427 5.56171 19.2582 6.39041 20.3274 6.88517C21.4248 7.39224 21.7928 7.7146 21.7878 8.16734C21.7791 8.85914 20.9127 9.17642 20.1035 9.17642C18.9757 9.17642 18.3766 9.02068 17.4515 8.6353L17.0886 8.47014L16.6924 10.7831C17.3516 11.0722 18.5678 11.3206 19.8304 11.3337C22.791 11.3337 24.715 9.94862 24.7353 7.80225C24.7476 6.62801 23.9964 5.73194 22.3687 4.99668C21.3835 4.51713 20.7808 4.1984 20.7866 3.71451C20.7866 3.28494 21.2981 2.82568 22.4006 2.82568Z\",\n fill: \"#03318C\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M32.3717 0.856445H30.1956C29.5197 0.856445 29.017 1.04044 28.72 1.71413L24.5381 11.1848H27.4958C27.4958 11.1848 27.9782 9.91134 28.0876 9.63245C28.4114 9.63245 31.2851 9.6368 31.6943 9.6368C31.7784 9.99754 32.0377 11.1848 32.0377 11.1848H34.6506L32.3717 0.856445ZM28.8982 7.51723C29.13 6.92395 30.0203 4.62908 30.0203 4.62908C30.0051 4.65733 30.2499 4.03145 30.3955 3.64245L30.5853 4.53346C30.5853 4.53346 31.125 7.00074 31.238 7.51723H28.8982Z\",\n fill: \"#03318C\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgVisaCardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/VisaCardLogo.cd5b43eb.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgAmexCardLogo = function SvgAmexCardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 16,\n viewBox: \"0 0 24 16\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n fill: \"#016fd0\",\n height: 16,\n rx: 2,\n width: 24\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m13.7640663 13.3938564v-5.70139231l10.1475359.00910497v1.57489503l-1.1728619 1.25339231 1.1728619 1.2648839v1.6083094h-1.8726188l-.9951823-1.0981657-.9881105 1.1023204z\",\n fill: \"#fffffe\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m14.4418122 12.7687956v-4.448884h3.7722872v1.02488398h-2.550895v.69569062h2.4900774v1.0078232h-2.4900774v.6833149h2.550895v1.0371713z\",\n fill: \"#016fd0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m18.1952707 12.7687956 2.087337-2.2270055-2.0874254-2.2217901h1.6156464l1.2754917 1.41003315 1.2791161-1.41003315h1.5461657v.03500552l-2.0428729 2.18678458 2.0428729 2.1638895v.063116h-1.5617237l-1.2981216-1.4241768-1.2847735 1.4241768z\",\n fill: \"#016fd0\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m14.2373481 2.6319558h2.4460552l.8591381 1.95085083v-1.95085083h3.0198453l.5207514 1.46156906.5225194-1.46156906h2.3059447v5.70139227h-12.1865193z\",\n fill: \"#fffffe\"\n }), /*#__PURE__*/React.createElement(\"g\", {\n fill: \"#016fd0\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m14.7004641 3.25135912-1.9740111 4.44517127h1.3539006l.3724199-.89016575h2.0179447l.3721547.89016575h1.3875801l-1.96579-4.44517127zm.1696353 2.55743646.592-1.41507182.5915581 1.41507182z\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m18.2119779 7.69573481v-4.44508288l1.903116.00654144.9792707 2.73272928.9856354-2.73927072h1.8316022v4.44508288l-1.1786077.01043094v-3.05334807l-1.1125746 3.04291713h-1.0758011l-1.1356464-3.05334807v3.05334807z\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgAmexCardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/AMEXCardLogo.a49b82f4.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDiscoverCardLogo = function SvgDiscoverCardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"16px\",\n viewBox: \"0 0 24 16\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: 319,\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icons\",\n transform: \"translate(-280.000000, -280.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Card-Brands\",\n transform: \"translate(40.000000, 200.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Color\",\n transform: \"translate(0.000000, 80.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Discover\",\n transform: \"translate(240.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.9972414,15.749927 L21.999381,15.7499362 C22.9544683,15.7581106 23.73806,14.9772525 23.75,14.0041555 L23.7500083,2.00630219 C23.7461702,1.53568921 23.5588633,1.08617106 23.2297297,0.756801782 C22.9014319,0.428268884 22.4589161,0.246148853 21.9972414,0.250070854 L2.00063,0.250061791 C1.54108393,0.246148853 1.09856813,0.428268884 0.77027028,0.756801782 C0.441136651,1.08617106 0.253829819,1.53568921 0.25,2.00426336 L0.249991686,13.9936957 C0.253829819,14.4643086 0.441136651,14.9138268 0.77027028,15.2431961 C1.09856813,15.571729 1.54108393,15.753849 2.00275862,15.749927 L21.9972414,15.749927 Z M21.996203,16.249927 C21.9958359,16.249924 21.9954688,16.249921 21.9951018,16.2499178 L21.9972414,16.249927 L21.996203,16.249927 Z\",\n id: \"shape\",\n strokeOpacity: 0.2,\n stroke: \"#000000\",\n strokeWidth: 0.5,\n fill: \"#FFFFFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.6124138,15.9999283 L21.9972414,15.9999283 C22.5240217,16.0043364 23.0309756,15.7992919 23.4065697,15.4299059 C23.7821638,15.06052 23.9956285,14.5570537 24,14.0302731 L24,11.6716524 C20.4561668,13.7059622 16.6127929,15.1667795 12.6124138,15.9999283 L12.6124138,15.9999283 Z\",\n id: \"shape\",\n fill: \"#F27712\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.1724138,9.29647999 L22.32,9.29647999 L21.36,8.03027309 L21.2689655,8.03027309 L21.2689655,9.29647999 L20.5737931,9.29647999 L20.5737931,6.1516524 L21.6,6.1516524 C22.4027586,6.1516524 22.8662069,6.48268688 22.8662069,7.07854895 C22.8662069,7.56682481 22.5765517,7.88130757 22.0551724,7.98061792 L23.1724138,9.29647999 Z M22.1462069,7.10337654 C22.1462069,6.79716964 21.9144828,6.63992826 21.4841379,6.63992826 L21.2689655,6.63992826 L21.2689655,7.5916524 L21.4675862,7.5916524 C21.9144828,7.5916524 22.1462069,7.42613516 22.1462069,7.10337654 L22.1462069,7.10337654 Z M18.1406897,6.1516524 L20.1103448,6.1516524 L20.1103448,6.68130757 L18.8358621,6.68130757 L18.8358621,7.38475585 L20.0606897,7.38475585 L20.0606897,7.92268688 L18.8358621,7.92268688 L18.8358621,8.77510068 L20.1103448,8.77510068 L20.1103448,9.30475585 L18.1406897,9.30475585 L18.1406897,6.1516524 Z M15.9062069,9.37923861 L14.4,6.14337654 L15.1613793,6.14337654 L16.1131034,8.26199723 L17.0731034,6.14337654 L17.817931,6.14337654 L16.2951724,9.37923861 L15.9227586,9.37923861 L15.9062069,9.37923861 Z M9.60827586,9.37096274 C8.54896552,9.37096274 7.72137931,8.65096274 7.72137931,7.71579033 C7.72137931,6.8054455 8.56551724,6.06889378 9.62482759,6.06889378 C9.92275862,6.06889378 10.1710345,6.12682481 10.4772414,6.25923861 L10.4772414,6.98751447 C10.2453534,6.75969251 9.93335245,6.63192067 9.60827586,6.6316524 C8.9462069,6.6316524 8.44137931,7.1116524 8.44137931,7.71579033 C8.44137931,8.35303171 8.93793103,8.80820412 9.64137931,8.80820412 C9.95586207,8.80820412 10.1958621,8.70889378 10.4772414,8.46061792 L10.4772414,9.18889378 C10.1627586,9.32130757 9.89793103,9.37096274 9.60827586,9.37096274 L9.60827586,9.37096274 Z M7.5062069,8.33647999 C7.5062069,8.94889378 7.00137931,9.37096274 6.27310345,9.37096274 C5.74344828,9.37096274 5.36275862,9.18889378 5.04,8.77510068 L5.49517241,8.38613516 C5.65241379,8.66751447 5.91724138,8.80820412 6.24827586,8.80820412 C6.56275862,8.80820412 6.7862069,8.6178593 6.7862069,8.36958343 C6.7862069,8.22889378 6.72,8.12130757 6.57931034,8.03854895 C6.42504922,7.96369158 6.26441119,7.90275992 6.09931034,7.85647999 C5.44551724,7.64958343 5.22206897,7.42613516 5.22206897,6.98751447 C5.22206897,6.47441102 5.70206897,6.0854455 6.33103448,6.0854455 C6.72827586,6.0854455 7.08413793,6.20958343 7.38206897,6.44130757 L7.01793103,6.85510068 C6.87360928,6.69688076 6.66932728,6.60675635 6.45517241,6.60682481 C6.15724138,6.60682481 5.94206897,6.75579033 5.94206897,6.95441102 C5.94206897,7.11992826 6.0662069,7.21096274 6.48,7.3516524 C7.27448276,7.59992826 7.5062069,7.8316524 7.5062069,8.34475585 L7.5062069,8.33647999 Z M4.08827586,6.1516524 L4.78344828,6.1516524 L4.78344828,9.30475585 L4.08827586,9.30475585 L4.08827586,6.1516524 Z M1.8537931,9.30475585 L0.827586207,9.30475585 L0.827586207,6.1516524 L1.8537931,6.1516524 C2.97931034,6.1516524 3.75724138,6.79716964 3.75724138,7.72406619 C3.75724138,8.19579033 3.52551724,8.64268688 3.12,8.94061792 C2.77241379,9.18889378 2.38344828,9.30475585 1.84551724,9.30475585 L1.8537931,9.30475585 Z M2.66482759,6.9378593 C2.43310345,6.75579033 2.16827586,6.68958343 1.71310345,6.68958343 L1.52275862,6.68958343 L1.52275862,8.77510068 L1.71310345,8.77510068 C2.16,8.77510068 2.44137931,8.69234206 2.66482759,8.52682481 C2.90482759,8.32820412 3.04551724,8.03027309 3.04551724,7.72406619 C3.04551724,7.4178593 2.90482759,7.12820412 2.66482759,6.9378593 Z\",\n id: \"shape\",\n fill: \"#000000\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12.4137931,6.06889378 C11.5034483,6.06889378 10.7586207,6.79716964 10.7586207,7.69923861 C10.7586207,8.65923861 11.4703448,9.37923861 12.4137931,9.37923861 C13.3406897,9.37923861 14.0689655,8.65096274 14.0689655,7.72406619 C14.0689655,6.79716964 13.3489655,6.06889378 12.4137931,6.06889378 Z\",\n id: \"shape\",\n fill: \"#F27712\"\n }))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDiscoverCardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/DiscoverCardLogo.ac52cd46.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgDinersCardLogo = function SvgDinersCardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: \"24px\",\n height: \"16px\",\n viewBox: \"0 0 24 16\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: 319,\n stroke: \"none\",\n strokeWidth: 1,\n fill: \"none\",\n fillRule: \"evenodd\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"New-Icons\",\n transform: \"translate(-320.000000, -280.000000)\",\n fillRule: \"nonzero\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Card-Brands\",\n transform: \"translate(40.000000, 200.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Color\",\n transform: \"translate(0.000000, 80.000000)\"\n }, /*#__PURE__*/React.createElement(\"g\", {\n id: \"Diners-Club\",\n transform: \"translate(280.000000, 0.000000)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M21.9972414,15.749927 L21.999381,15.7499362 C22.9544683,15.7581106 23.73806,14.9772525 23.75,14.0041555 L23.7500083,2.00630219 C23.7461702,1.53568921 23.5588633,1.08617106 23.2297297,0.756801782 C22.9014319,0.428268884 22.4589161,0.246148853 21.9972414,0.250070854 L2.00063,0.250061791 C1.54108393,0.246148853 1.09856813,0.428268884 0.77027028,0.756801782 C0.441136651,1.08617106 0.253829819,1.53568921 0.25,2.00426336 L0.249991686,13.9936957 C0.253829819,14.4643086 0.441136651,14.9138268 0.77027028,15.2431961 C1.09856813,15.571729 1.54108393,15.753849 2.00275862,15.749927 L21.9972414,15.749927 Z M21.996203,16.249927 C21.9958359,16.249924 21.9954688,16.249921 21.9951018,16.2499178 L21.9972414,16.249927 L21.996203,16.249927 Z\",\n id: \"shape\",\n strokeOpacity: 0.2,\n stroke: \"#000000\",\n strokeWidth: 0.5,\n fill: \"#FFFFFF\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M10.0021142,2.05179033 L10.0021142,2.03579033 L14.0021142,2.03579033 L14.0021142,2.05179033 C17.1375481,2.28122918 19.5642283,4.89197286 19.5642283,8.03579033 C19.5642283,11.1796078 17.1375481,13.7903515 14.0021142,14.0197903 L14.0021142,14.0357903 L10.0021142,14.0357903 L10.0021142,14.0197903 C6.86668021,13.7903515 4.44,11.1796078 4.44,8.03579033 C4.44,4.89197286 6.86668021,2.28122918 10.0021142,2.05179033 Z\",\n id: \"shape\",\n fill: \"#0165AC\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M11.6021142,11.4277903 C13.0374002,10.9175027 13.9961556,9.55908923 13.9961556,8.03579033 C13.9961556,6.51249143 13.0374002,5.15407792 11.6021142,4.64379033 L11.6021142,11.4277903 L11.6021142,11.4277903 Z M9.20211417,4.64379033 C7.76682809,5.15407792 6.80807271,6.51249143 6.80807271,8.03579033 C6.80807271,9.55908923 7.76682809,10.9175027 9.20211417,11.4277903 L9.20211417,4.64379033 L9.20211417,4.64379033 Z M10.4021142,13.2357903 C7.53023347,13.2357903 5.20211417,10.907671 5.20211417,8.03579033 C5.20211417,5.16390963 7.53023347,2.83579033 10.4021142,2.83579033 C13.2739949,2.83579033 15.6021142,5.16390963 15.6021142,8.03579033 C15.6021142,10.907671 13.2739949,13.2357903 10.4021142,13.2357903 Z\",\n id: \"shape\",\n fill: \"#FFFFFF\"\n }))))))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgDinersCardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/DinersCardLogo.fbcbd336.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgJcbCardLogo = function SvgJcbCardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 16,\n viewBox: \"0 0 23 16\",\n width: 23,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m.20535714 16h4.51785715c1.0278125 0 2.25892857-1.1946667 2.25892857-2.1333333v-13.8666667h-4.51785715c-1.0278125 0-2.25892857 1.19466667-2.25892857 3.2z\",\n fill: \"#047ab1\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m2.76924107 10.816c-.86733559.0001606-1.73039558-.1147397-2.56388393-.3413333v-1.17333337c.64678874.37770431 1.38610045.59084099 2.14598215.61866667.8696875 0 1.35535714-.576 1.35535714-1.36533333v-3.22133334h2.14598214v3.22133334c0 1.25866666-.70026786 2.26133333-3.0834375 2.26133333z\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.11160714 16h4.51785716c1.0278125 0 2.2589286-1.1946667 2.2589286-2.1333333v-13.8666667h-4.5178572c-1.02781249 0-2.25892856 1.19466667-2.25892856 3.2z\",\n fill: \"#d42d06\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m8.11160714 6.08c.65508929-.59733333 1.78455357-.97066667 3.61428576-.88533333.9939285.04266666 2.0330357.32 2.0330357.32v1.184c-.5943231-.3394747-1.2623758-.54734656-1.9539732-.608-1.3892411-.11733334-2.23633933.61866666-2.23633933 1.90933333s.84709823 2.0266667 2.23633933 1.92c.6920185-.06606555 1.3596342-.27744592 1.9539732-.61866667v1.17333337s-1.0391072.288-2.0330357.3306666c-1.82973219.0853334-2.95919647-.288-3.61428576-.8853333z\",\n fill: \"#fff\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.0178571 16h4.5178572c1.0278125 0 2.2589286-1.1946667 2.2589286-2.1333333v-13.8666667h-4.5178572c-1.0278125 0-2.2589286 1.19466667-2.2589286 3.2z\",\n fill: \"#67b637\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m21.6651786 9.28c0 .8533333-.7002679 1.3866667-1.6377232 1.3866667h-4.0095983v-5.33333337h3.6481697l.2597768.01066667c.8245089.04266667 1.4344196.50133333 1.4344196 1.29066667 0 .61866666-.4179018 1.152-1.1746428 1.28v.032c.8358035.05333333 1.4795982.55466666 1.4795982 1.33333333zm-2.880134-3.104c-.0486104-.00686658-.0976798-.01043129-.1468303-.01066667h-1.3553572v1.344h1.5021875c.2823661-.064.5195536-.30933333.5195536-.672 0-.36266666-.2371875-.608-.5195536-.66133333zm.1694197 2.176c-.059755-.00886168-.1202559-.01243275-.1807143-.01066667h-1.4908929v1.46133334h1.4908929l.1807143-.02133334c.2823661-.064.5195536-.34133333.5195536-.71466666 0-.37333334-.2258929-.64-.5195536-.71466667z\",\n fill: \"#fff\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgJcbCardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/JCBCardLogo.271fd06e.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgUnionPayCardLogo = function SvgUnionPayCardLogo(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n height: 16,\n viewBox: \"0 0 24 16\",\n width: 24,\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n fill: \"none\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"m4.54588254.00006676h5.79377466c.8087588 0 1.3117793.72566459 1.1231113 1.61890981l-2.69741608 12.74856503c-.19036262.8901361-1.00010994 1.6164225-1.80943362 1.6164225h-5.79320976c-.80762905 0-1.31177937-.7262864-1.12311135-1.6164225l2.69854581-12.74856503c.18866803-.89324522.9979917-1.61890981 1.80773904-1.61890981\",\n fill: \"#dd2423\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m9.85756516.00006676h6.66269264c.8086174 0 .4439911.72566459.2537697 1.61890981l-2.6969924 12.74856503c-.1892329.8901361-.1302036 1.6164225-.9405158 1.6164225h-6.66269248c-.81031221 0-1.31177939-.7262864-1.12141672-1.6164225l2.69685116-12.74856503c.19149238-.89324522.99912144-1.61890981 1.8083039-1.61890981\",\n fill: \"#16315e\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m16.2559813.00006676h5.7937745c.8098886 0 1.3129092.72566459 1.1226878 1.61890981l-2.6969924 12.74856503c-.1903626.8901361-1.0006749 1.6164225-1.8104222 1.6164225h-5.7910915c-.8103122 0-1.3129091-.7262864-1.1231113-1.6164225l2.697416-12.74856503c.1886681-.89324522.9974268-1.61890981 1.8077391-1.61890981\",\n fill: \"#036862\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"m6.05901135 4.08561434c-.59580116.00668457-.77175951 0-.8279645-.01461278-.02160646.11301588-.42365577 2.15460824-.42478553 2.15631824-.08656699.4130443-.14955043.7074763-.36349659.89759795-.12144798.1105286-.26323144.1638497-.42760986.1638497-.26421996 0-.41814822-.1444178-.44399122-.41832975l-.00494264-.09405035s.08049458-.55326485.08049458-.55637395c0 0 .42196112-1.86048711.49751306-2.10641713.00395412-.01399096.00508387-.02129736.00607239-.02798193-.82132725.00792821-.9669236 0-.97695012-.01461278-.00550753.02005371-.025843.13540142-.025843.13540142l-.43085788 2.09693437-.03699927.1778407-.07159782.5817131c0 .1725552.03078565.31339755.09207452.4324762.19629382.37760055.75622549.4341862 1.07297875.4341862.40812169 0 .79096525-.09544945 1.04967767-.26971465.44907509-.2921002.56656897-.74867195.67135315-1.15440985l.04857917-.20815445s.43467082-1.93230737.5085281-2.18367833c.00282441-.01399096.00395413-.02129736.00776704-.02798193zm1.47893982 1.55881086c-.10478422 0-.29627659.0279819-.46828081.12078865-.0624186.0352883-.12144796.07601755-.18372539.11659135l.056205-.22338905-.03078563-.03762015c-.36476761.08130305-.44639193.0921849-.78333945.14441785l-.02824374.0206755c-.03911752.3570805-.07385733.6255515-.21888878 1.32743145-.05521646.25867735-.11255121.519842-.17002718.7778975l.01553403.03280105c.34527946-.0200537.45006363-.0200537.75015309-.0146128l.02428961-.0290701c.03812903-.21499445.04307165-.2653619.12752039-.70079175.03968242-.20644445.1224365-.66006255.16324868-.8215804.07498704-.038242.14898558-.07586215.21959486-.07586215.16819135 0 .14771465.1615179.14121858.22587635-.00720213.1080413-.06849101.4609245-.13133325.76390655l-.04194194.19556255c-.02923223.14441785-.06128888.2847938-.09052111.427968l.01270966.02860375c.34033679-.0200537.44413246-.0200537.73476028-.0146128l.0341749-.0290701c.0525333-.3357831.06792611-.42563615.16113038-.9145426l.04688457-.22463265c.09108601-.43962715.13684082-.6625498.06792616-.8441214-.07286879-.2034908-.24769738-.2526146-.40826291-.2526146zm1.65214439.4602871c-.18090101.038242-.29627659.0637366-.41094606.08021485-.11368097.02005375-.22453757.038242-.39936616.06498025l-.01383941.0138355-.01270966.01103735c-.01821719.14332965-.0309269.26722735-.05507525.41288885-.02047669.150636-.05196844.3217921-.10323077.56772215-.03968243.18825615-.06015913.25385825-.08275412.32008215-.0220301.06622385-.04631967.1305823-.09094476.31572935l.01045019.0171001.00875554.01570095c.1633899-.00855005.27029237-.0146128.38016043-.01570095.10972684-.00435275.22340776 0 .39936611.00108815l.01539286-.0138355.01652257-.0152346c.02541932-.1669588.02923224-.21188535.04476626-.29334385.01539282-.0873658.04194194-.20830985.10704369-.53134565.03078568-.1517242.06510179-.30298205.09701718-.4578154.03318641-.1542115.06792612-.30609115.10097127-.45781535l-.00494263-.0183437zm.00385525-.620608c-.1643784-.10679765-.45288796-.07290845-.64706354.0746185-.19361063.14457325-.21564072.34977405-.05182718.4579708.16155403.10384405.45119334.0729085.64367421-.0758621.19318708-.14768235.21733543-.3510177.05521651-.4567272zm.99410809 2.473369c.3325698 0 .6734715-.1008904.9300657-.400297.1974235-.2428209.2879446-.60409865.3192952-.7528692.1021011-.4931037.0225949-.7233328-.0772466-.8635533-.1516687-.21375085-.4197016-.28230655-.697761-.28230655-.1672028 0-.5654392.01818825-.87654364.33391765-.22340786.22774175-.32663863.5367866-.38891601.83308405-.06284224.3018939-.13514621.84536505.31887154 1.0476122.14008884.0662239.34203141.08441215.47223481.08441215zm-.0259841-1.10948335c.0766817-.3734032.1672028-.6868008.3982364-.6868008.1810422 0 .1941755.23318275.1136809.6078296-.0144042.0831685-.0804945.3923688-.1698859.5240393-.0624186.09715945-.1362759.15607695-.2179003.15607695-.0242896 0-.1687562 0-.1710157-.23613635-.0011297-.11659135.0204767-.23567.0468846-.3650087zm2.1066988 1.06146325.0259841-.0290701c.0368581-.21499445.0429305-.2655174.1245549-.70079175.0408121-.20644445.1252608-.66006255.1649433-.82158045.0751282-.0383974.1478558-.07601755.2207245-.07601755.1670616 0 .1467262.1615179.140089.2258763-.0060725.1081968-.0673613.4609245-.1313334.76390655l-.0396824.1955626c-.030362.14457325-.0634071.2847938-.0926394.42812345l.0127097.02860375c.3414665-.02005375.441308-.02005375.7336305-.0146128l.0353047-.0290701c.0512623-.33593855.0651017-.42579165.1611304-.9145426l.0457548-.2247881c.0915096-.43962715.1378292-.66239435.0700444-.84396595-.0749871-.2034908-.2509454-.2526146-.4092515-.2526146-.1049254 0-.2974063.02782645-.468422.12078865-.0611476.0352883-.1224365.0758621-.1825956.11659135l.0523921-.22338905-.0281025-.0377756c-.3646263.0814585-.4479453.09234035-.7844692.1445733l-.025843.0206755c-.0408122.35708045-.0739986.62539605-.21903 1.32743145-.0552164.25867735-.1125512.51984195-.1698859.7778975l.0153928.03280105c.3458442-.02005375.4490751-.02005375.7485997-.0146128zm2.5088186.01453505c.0214652-.1153477.1489856-.7990394.1501153-.7990394 0 0 .1085971-.50165375.1152345-.519842 0 0 .0341748-.0522329.0683497-.07290845h.0502738c.4743532 0 1.0099953 0 1.4298381-.3399804.2856852-.2331827.4809905-.57751585.5681223-.99600105.022595-.1026004.0392588-.22463269.0392588-.34666496 0-.16027425-.0292322-.3188385-.1136809-.44273624-.2140874-.32972035-.6404262-.3357831-1.132573-.33827039-.0015534 0-.2426136.00248729-.2426136.00248729-.629976.00855003-.8826161.00606275-.9864117-.00792821-.0087556.05052291-.0252782.14037599-.0252782.14037599s-.2256673 1.15130077-.2256673 1.15316622c0 0-.5400198 2.4477966-.5654392 2.5631443.5500464-.00730635.7755725-.00730635.8704714.0041973zm.4181482-2.0451678s.2399304-1.14896892.2388007-1.14461618l.0077669-.05891749.0033893-.04492654.0958874.01088185s.4948299.046792.5064099.04803565c.1953052.0831685.2757998.29754113.2195948.57736036-.0512623.2557237-.2019425.4707182-.3955532.5745622-.1594358.0879876-.3547411.095294-.5559775.095294h-.1302035zm1.4938667.99045135c-.0634072.2975411-.136276.8410123.3154822 1.0347094.1440429.0674675.2731167.0875212.4043088.08021485.1385355-.00823915.2669031-.08472305.3858092-.1947853-.0107326.04523745-.0214652.0904749-.0321978.1358678l.0204766.0290701c.324944-.01507915.4257741-.01507915.7778319-.0121255l.0319154-.0267383c.0514036-.332674.0998416-.65570975.2334344-1.2921431.0651017-.30484755.1300622-.6067414.1968587-.9103453l-.0104501-.03342285c-.3634967.0741521-.4606551.09000855-.8103124.1445733l-.026549.0237846c-.0035305.0309356-.0072021.0606275-.0105914.09031945-.0543692-.0966931-.1331691-.17923975-.2547583-.2306954-.1554817-.0673121-.5206729.01943185-.8346018.33407305-.2205834.2246327-.3264973.53243385-.3866564.8276432zm.7634275.01818825c.0778115-.3667187.1672028-.67700715.3988014-.67700715.1464436 0 .2235489.14877055.2078737.40247335-.0124272.06327025-.025843.1299605-.0418008.20535625-.0231597.10897405-.0482967.21701535-.0727275.32521215-.0248545.07399665-.0538043.143796-.0855784.1902771-.0595943.09296215-.2013777.150636-.2830021.150636-.0231599 0-.1660731 0-.1710157-.23193905-.0011298-.11550315.0204767-.23442635.0474494-.36500865zm3.9866711-1.21085565-.0281024-.0352883c-.3596838.08021485-.4247856.09296215-.755237.142086l-.0242897.02673825c-.0011296.00435275-.0021182.01103735-.0038128.0171001l-.0011298-.00606275c-.2460027.6247742-.2388006.4899946-.4390485.98185465-.0011298-.02238555-.0011298-.0363765-.0022595-.06016115l-.0501327-1.0662668-.0314917-.0352883c-.3767711.08021485-.3856679.09296215-.7336305.142086l-.0271139.02673825c-.003813.01274735-.003813.0267383-.0060724.0419729l.0022594.00544095c.0434954.2446864.0330452.19012165.0766818.5762722.0203354.1894998.0474494.3800878.0677848.5672558.0343162.3132421.0535219.4674536.0954638.94547815-.2349878.4268798-.2906279.5883977-.51686.9630446l.0015534.0037309-.1592946.27733195c-.0182171.0292256-.0347397.0492793-.0578996.05782935-.0254193.0138355-.0584644.01632275-.1043605.01632275h-.0882616l-.131192.4803564.4500635.00855005c.26422-.00124365.4302931-.1372669.5196844-.32008215l.283002-.53383295h-.004519l.0297972-.03762015c.1903626-.4511308 1.6384179-3.1855867 1.6384179-3.1855867zm-4.7501128 6.3087581h-.1909276l.7066579-2.57293795h.2344228l.0744221-.265051.0072022.29474295c-.0087556.1821934.121448.3437113.4634794.31697305h.3955532l.1361347-.49543555h-.1488443c-.0855785 0-.1252609-.02378465-.1203182-.0747739l-.0072022-.299873h-.7325008v.00155455c-.2368235.00544095-.9440462.0250283-1.0872418.0670012-.1732752.0491238-.3558709.1936971-.3558709.1936971l.071739-.26536195h-.6851925l-.1427719.52652655-.7161194 2.61226815h-.1389591l-.136276.4918601h1.3647364l-.0457548.1640051h.6724828l.0446251-.1640051h.1886681zm-.5599316-2.0501423c-.1097268.03342285-.313929.1347796-.313929.1347796l.1816071-.65757525h.5443977l-.1313333.47911275s-.1681914.01088185-.2807425.0436829zm.0104502.9394154s-.1710158.0236292-.283567.0516111c-.1108566.0369984-.3187303.1535897-.3187303.1535897l.1875382-.6843135h.5472221zm-.3050322 1.1167897h-.5460922l.158306-.5775158h.5443976zm1.315112-1.5959024h.7871525l-.1131162.4032506h-.7976024l-.1197535.4408708h.6979023l-.5284398.8190931c-.0369994.0601612-.0701858.0814585-.1070437.0984031-.0369994.0206755-.0855785.0449265-.1417835.0449265h-.1936107l-.133028.4828437h.5064098c.2632315 0 .4187131-.131826.5335239-.3048476l.3623669-.5459584.0778115.5543531c.0165225.1038439.0843074.1646269.1302034.1882561.0506975.0279819.1030897.0760176.1770882.0831685.0793648.0037309.1366995.0066846.1748285.0066846h.2488272l.1494092-.5403621h-.0981469c-.0563463 0-.1533633-.0104155-.1698859-.0298474-.0165226-.0236292-.0165226-.0600057-.0254194-.1153477l-.0789412-.5555967h-.3232494l.1417836-.1857688h.796049l.1224365-.4408708h-.7370197l.1148107-.4032506h.7347603l.1362759-.497301h-2.1905826zm-6.6483163 1.7081877.1837253-.6728098h.7550958l.1379705-.5004101h-.7558018l.1153756-.4141325h.7385731l.1368408-.4845537h-1.84798632l-.13401641.4845537h.41984283l-.1119863.4141325h-.42097264l-.13952389.5089601h.41970155l-.24487301.8901361c-.03304514.117835.01553408.1627615.04631971.2174817.03149175.0533211.06340718.0886094.13514621.1086631.07399857.0181883.12469597.0290701.19361067.0290701h.8512656l.1516688-.554353-.3773361.0570521c-.0728688 0-.2746701-.0096382-.25264-.0837903zm.0866093-3.22084395-.1913512.38070965c-.0409534.08316845-.0778114.1347796-.1109978.1585642-.0292322.02005375-.0871318.0284483-.1710157.0284483h-.0998415l-.13345158.48704095h.33158128c.1594357 0 .2818722-.0643584.3403368-.09653765.0628422-.0369983.0793647-.0158564.1279439-.0674675l.1119864-.1067977h1.0354146l.1374057-.50709465h-.7579202l.1323219-.2768656zm1.5286064 3.23062205c-.0176524-.027982-.0049427-.0772612.0220301-.1798616l.283002-1.0311339h1.0067472c.1467262-.0023318.25264-.0041973.3215547-.0096382.0739985-.0085501.1544932-.0376202.2421899-.0898531.0905212-.0547202.1368408-.1123941.1759583-.178618.0436366-.0660684.113681-.2106417.1738401-.4335643l.3557296-1.3048905-1.044735.0066846s-.3216959.0522329-.4633381.10990675c-.1429132.06435845-.3471154.2440646-.3471154.2440646l.0943341-.3577023h-.645369l-.9035164 3.29860265c-.0320566.1280949-.0535218.2210571-.0584645.2768655-.0016946.0601612.0689147.1197005.1146695.164627.0540867.0449266.1340164.0376202.2106981.0449266.0806358.0066846.1953053.0108818.3536113.0108818h.4959597l.1522336-.5658567-.4439912.0461702c-.0474494 0-.0817655-.027982-.0960286-.0516111zm.4876277-1.9074346h1.0574447l-.06722.2319391c-.0094616.0054409-.0320566-.0115037-.1396652.0024873h-.9156612zm.2118279-.77789745h1.0663414l-.0766816.27935285s-.5025969-.0054409-.5830915.01088185c-.3541763.06746755-.5610614.27577745-.5610614.27577745zm.802065 1.78653705c-.0087555.0346665-.0225949.0558084-.0419418.0716648-.0214654.0152346-.0562051.0206755-.1080323.0206755h-.1506803l.0088968-.2824619h-.626728l-.0254193 1.380908c-.0009886.0996467.007767.1573206.0739985.2034908.0662315.0576738.2702923.0649802.5449624.0649802h.392729l.1417834-.5168883-.3418902.0206755-.1136809.0073064c-.0155341-.0073064-.030362-.013991-.0468846-.0321792-.0144043-.015701-.0386939-.0060627-.0347398-.1057095l.0026831-.3539713.3585541-.0163228c.1936107 0 .2763648-.0693331.346974-.1354015.0673612-.0632702.0893913-.1360232.1148107-.2344264l.0601592-.3133975h-.4927118z\",\n fill: \"#fefefe\"\n }))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgUnionPayCardLogo, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/UnionPayCardLogo.8a10aefc.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgInsuranceIcon = function SvgInsuranceIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 140,\n height: 140,\n viewBox: \"0 0 140 140\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M47.3999 63.5992C35.2999 63.5992 25.3999 73.4992 25.3999 85.5992C25.3999 97.6992 35.2999 107.599 47.3999 107.599C51.1999 107.599 54.9999 106.599 58.2999 104.699C58.5999 104.499 58.8999 104.499 59.1999 104.599C59.4999 104.699 59.6999 104.899 59.8999 105.099C60.1999 105.699 59.9999 106.399 59.4999 106.699C55.7999 108.799 51.6999 109.899 47.3999 109.899C33.8999 109.999 22.9999 98.9992 22.9999 85.5992C22.9999 72.1992 33.8999 61.1992 47.3999 61.1992C49.3999 61.1992 51.3999 61.4992 53.1999 61.8992C60.2999 63.6992 66.3999 68.5992 69.5999 75.4992C69.8999 76.0992 69.5999 76.7992 68.9999 77.0992C68.6999 77.1992 68.3999 77.1992 68.1999 77.0992C67.8999 76.9992 67.5999 76.7992 67.4999 76.4992C63.8999 68.6992 55.9999 63.5992 47.3999 63.5992ZM61.5999 79.8992C62.9999 83.1992 62.4999 87.1992 60.2999 89.9992C57.4999 93.4992 52.3999 97.1992 49.5999 99.0992C48.8999 99.5992 48.0999 99.7992 47.3999 99.7992C46.5999 99.7992 45.7999 99.5992 45.1999 99.0992C42.3999 97.1992 37.2999 93.5992 34.4999 89.9992C32.2999 87.1992 31.7999 83.1992 33.1999 79.8992C34.3999 76.9992 36.7999 75.1992 39.5999 74.8992C42.8999 74.5992 45.0999 75.4992 46.3999 76.3992C46.9999 76.7992 47.7999 76.7992 48.3999 76.3992C49.6999 75.4992 51.7999 74.5992 55.1999 74.8992C57.9999 75.2992 60.3999 77.0992 61.5999 79.8992ZM59.3999 80.7992C58.4999 78.7992 56.8999 77.4992 54.8999 77.2992C52.7999 77.0992 50.9999 77.4992 49.6999 78.3992C48.2999 79.3992 46.3999 79.3992 44.9999 78.3992C43.8999 77.5992 42.4999 77.1992 40.8999 77.1992C40.4999 77.1992 40.1999 77.1992 39.7999 77.2992C37.7999 77.4992 36.1999 78.7992 35.2999 80.7992C34.1999 83.3992 34.5999 86.3992 36.2999 88.4992C38.8999 91.7992 43.7999 95.2992 46.3999 97.0992C46.9999 97.4992 47.6999 97.4992 48.2999 97.0992C50.9999 95.2992 55.7999 91.7992 58.3999 88.4992C60.0999 86.3992 60.4999 83.3992 59.3999 80.7992ZM20.3999 57.2992C20.7999 41.9992 28.5999 28.3992 40.1999 19.8992C47.7999 14.2992 57.0999 10.8992 66.9999 10.6992V8.39922C66.9999 7.79922 67.4999 7.19922 68.1999 7.19922C68.7999 7.19922 69.3999 7.69922 69.3999 8.39922V10.6992C94.9999 11.2992 115.8 32.3992 116 58.2992C116 58.8992 115.5 59.4992 114.8 59.4992C114.2 59.4992 113.6 58.9992 113.6 58.2992V58.1992C113.5 52.7992 107.1 48.4992 99.1999 48.4992C91.7999 48.4992 85.5999 52.4992 84.8999 57.4992C84.8999 57.5992 84.8999 57.6992 84.8999 57.6992C84.7999 57.9992 84.6999 58.1992 84.4999 58.3992L84.3999 58.4992C83.7999 58.7992 83.0999 58.5992 82.7999 58.0992C82.6999 57.8992 82.5999 57.6992 82.5999 57.4992C82.2999 52.5992 76.4999 48.4992 69.3999 48.0992V67.2992C69.3999 67.8992 68.8999 68.4992 68.1999 68.4992C67.5999 68.4992 66.9999 67.9992 66.9999 67.2992V48.0992C59.6999 48.4992 53.8999 52.6992 53.7999 57.8992V57.9992C53.7999 58.5992 53.2999 59.1992 52.5999 59.1992C51.9999 59.1992 51.3999 58.6992 51.3999 57.9992C51.3999 55.3992 49.9999 52.9992 47.2999 51.0992C47.1999 51.0992 47.1999 50.9992 47.0999 50.9992C44.4999 48.9992 40.8999 47.9992 37.0999 47.9992C29.3999 47.9992 23.0999 52.0992 22.6999 57.3992C22.6999 57.9992 22.0999 58.4992 21.4999 58.4992C20.8999 58.4992 20.3999 57.8992 20.3999 57.2992ZM70.7999 13.0992C73.8999 16.7992 76.4999 20.7992 78.5999 24.9992C82.6999 33.0992 84.8999 42.0992 85.2999 51.4992C88.2999 48.1992 93.3999 46.0992 99.0999 46.0992C104.8 46.0992 109.9 48.1992 112.9 51.4992C109.7 30.5992 92.0999 14.3992 70.7999 13.0992ZM59.6999 26.0992C55.5999 34.1992 53.4999 42.9992 53.1999 52.3992C55.9999 48.3992 61.5999 45.6992 68.0999 45.6992C74.4999 45.6992 80.0999 48.2992 82.8999 52.1992C82.6999 42.9992 80.4999 33.9992 76.4999 26.0992C74.2999 21.5992 71.3999 17.4992 68.0999 13.5992C64.7999 17.4992 61.9999 21.6992 59.6999 26.0992ZM23.3999 50.8992C26.3999 47.6992 31.3999 45.6992 37.0999 45.6992C42.8999 45.6992 47.8999 47.7992 50.8999 51.0992C51.2999 41.8992 53.4999 33.0992 57.5999 25.0992C59.6999 20.8992 62.3999 16.8992 65.3999 13.1992C44.4999 14.3992 26.9999 30.3992 23.3999 50.8992ZM117 83.3992V108.799V113.999C117 114.099 117 114.199 117 114.299C116.9 114.599 116.1 117.999 111.8 122.199C108.3 125.799 102.4 129.999 92.5999 133.399C92.4999 133.399 92.2999 133.499 92.1999 133.499C92.0999 133.499 91.8999 133.499 91.7999 133.399C70.3999 125.899 67.5999 114.699 67.4999 114.299C67.4999 114.199 67.4999 114.099 67.4999 113.999V83.3992C67.4999 82.8992 67.7999 82.4992 68.1999 82.2992L91.6999 70.9992C91.9999 70.7992 92.3999 70.7992 92.6999 70.9992L116.3 82.3992C116.7 82.5992 117 82.9992 117 83.3992ZM114.6 84.1992L92.1999 73.3992L69.7999 84.1992V113.899C70.1999 114.999 73.5999 124.499 92.1999 131.099C110.7 124.499 114.3 114.999 114.6 113.899V84.1992ZM82.1999 100.299C81.6999 99.7992 80.9999 99.7992 80.4999 100.299C79.9999 100.799 79.9999 101.499 80.4999 101.999L88.9999 110.499C89.1999 110.699 89.4999 110.799 89.7999 110.799C90.0999 110.799 90.3999 110.699 90.5999 110.499L105 96.2992C105.5 95.7992 105.5 95.0992 105 94.5992C104.5 94.0992 103.8 94.0992 103.3 94.5992L89.8999 107.999L82.1999 100.299ZM82.1999 100.299C81.6999 99.7992 80.9999 99.7992 80.4999 100.299C79.9999 100.799 79.9999 101.499 80.4999 101.999L88.9999 110.499C89.1999 110.699 89.4999 110.799 89.7999 110.799C90.0999 110.799 90.3999 110.699 90.5999 110.499L105 96.2992C105.5 95.7992 105.5 95.0992 105 94.5992C104.5 94.0992 103.8 94.0992 103.3 94.5992L89.8999 107.999L82.1999 100.299ZM82.1999 100.299C81.6999 99.7992 80.9999 99.7992 80.4999 100.299C79.9999 100.799 79.9999 101.499 80.4999 101.999L88.9999 110.499C89.1999 110.699 89.4999 110.799 89.7999 110.799C90.0999 110.799 90.3999 110.699 90.5999 110.499L105 96.2992C105.5 95.7992 105.5 95.0992 105 94.5992C104.5 94.0992 103.8 94.0992 103.3 94.5992L89.8999 107.999L82.1999 100.299Z\",\n fill: \"url(#paint0_linear_3002_9611)\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_3002_9611\",\n x1: 30.7588,\n y1: 28.5521,\n x2: 118.111,\n y2: 115.904,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#B2D7C7\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#437E77\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgInsuranceIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/InsuranceIcon.b6b2ea6d.svg\";\nexport { ForwardRef as ReactComponent };","import React, { useEffect, useRef, useState } from 'react';\nimport Recaptcha from 'react-google-invisible-recaptcha';\nimport { useHistory } from 'react-router';\nimport { useLocation } from \"react-router-dom\";\nimport { Subscription } from 'rxjs';\nimport { v4 as uuidv4 } from 'uuid';\nimport { SITE_KEY } from \"../../../../config\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { AddOnModel, SelectAddOnModel } from \"../../../addons/models/addOns.models\";\nimport { addOnsService } from \"../../../addons/services/addOns.service\";\nimport { addOnsQuery } from \"../../../addons/stores\";\nimport { getLastObject } from \"../../../common/helpers/get-last-object\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { handleCompare } from \"../../../common/sorting/helpers/handle-compare\";\nimport { SortingDirection } from \"../../../common/sorting/models/sorting-destination\";\nimport { IErrorState } from \"../../../common/validation/error-state\";\nimport { LeadSourceModel, PatientLeadSourceModel } from \"../../../leadSources/models/leadSource.models\";\nimport { leadSourcesService } from \"../../../leadSources/services/leadSources.service\";\nimport { leadSourcesQuery } from \"../../../leadSources/stores/leadSources.query\";\nimport { RegisterPatientModel } from \"../../../patients/models/patient.model\";\nimport { patientsService } from \"../../../patients/services/patients.service\";\nimport { AgreementModel } from \"../../models/agreement.model\";\nimport { ApplyCouponModel, MerchantCredentialsModel, PayerInformation } from \"../../models/payment.models\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport {\n PaymentCouponModel,\n PaymentPriceModel,\n PaymentPriceType,\n PaymentStrategy\n} from \"../../models/paymentPrice.models\";\nimport { paymentService } from \"../../services/payment.service\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { paymentPlansQuery, paymentPlansStore } from \"../../stores/paymentPlansStore\";\nimport { paymentQuery } from \"../../stores/paymentStore\";\nimport { finishCheckoutComponentValidator } from \"./FinishCheckoutComponentValidator\";\nimport { authService } from '../../../auth/services/auth.service';\nimport { inviteCodeQuery } from \"../../stores/inviteCodeStore/inviteCode.query\";\nimport { PlatformName, Track } from \"../../../tracking/tracker\";\nimport { authQuery } from '../../../auth/stores/auth';\nimport { AuthConstants } from '../../../auth/constants/auth.constants';\nimport { RoutesConstants } from '../../../../constants/route.constants';\nimport { OrderType } from \"../../../orders/models/orders.models\";\nimport { usersService } from \"../../../../services/users.service\";\nimport { getFBTraits } from \"../../../common/helpers/get-fb-traits\";\nimport { getCorrespondingPrice } from \"../../helpers/getCorrespondingPrice\";\nimport { useFlags } from \"launchdarkly-react-client-sdk\";\nimport { isFeatureFlag } from \"../../../common/components/featureFlags/featureFlags\";\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { insuranceService } from \"../../../insurance/services/insurance.service\";\nimport { LoginModel, ForgotPasswordModel } from '../../../auth/models/auth.models';\nimport moment from \"moment\";\nimport {getAge} from \"../../../common/helpers/get-age\";\nimport {InsuranceModel} from \"../../../insurance/models/insurance.models\";\nimport { addressQuery } from '../../../account/stores/addressStore';\nimport {ExternalAuthProvider} from \"../../../auth/models/auth.enums\";\n\nexport enum GetStartedStep {\n HealthConcern = 0,\n ClinicallyProvenResults = 1,\n WorkingTogether = 2,\n CreateAccount = 3,\n Congratulations = 4,\n NameInterstitial = 5,\n PersonalInfo = 6,\n AskInsurance = 7,\n AskMedicare = 8,\n CaptureInsurance = 9,\n OnnInsurance = 10,\n Shipping = 11,\n AppleGooglePay = 12,\n Billing = 13,\n Review = 14,\n HaveAccount = 15,\n ResetPassword = 16\n}\n\nexport enum HealthConcernStatus {\n MaximizeHealthSpanLongevity,\n TreatNewChronicConditions,\n OptimizeMyOverallHealth,\n ElevateMyPerformance\n}\n\nconst context = {};\n\ninterface ScrollElement {\n current: HTMLDivElement\n}\n\n/**\n * Represents payment form state\n */\ninterface FinishCheckoutComponentState extends IErrorState {\n practiceId: number | null;\n publicKey: string | null;\n provider: string | null;\n paymentPlan: PaymentPlanModel;\n paymentPeriod: PaymentPeriodModel;\n paymentPrice: PaymentPriceModel;\n isCardExist: boolean;\n isSubmitted: boolean;\n insurances: InsuranceModel[];\n hasInsurance: boolean;\n payer: PayerInformation;\n addOns: SelectAddOnModel[];\n couponCode: string;\n coupon: PaymentCouponModel;\n isCouponApplied: boolean;\n paymentPriceType: PaymentPriceType;\n sameAsBillingAddress: boolean;\n agreements: AgreementModel[];\n selectedLeadSource: PatientLeadSourceModel;\n leadSources: LeadSourceModel[];\n step: GetStartedStep;\n paymentError: string;\n cardSaved: boolean;\n isAgreeContinue: boolean;\n isAgreeSMS: boolean;\n paymentCardInfo: any | null;\n isLoading: boolean;\n isEmailSent: boolean;\n cardName: string;\n healthConcernStatus: HealthConcernStatus;\n exclusivePrices: PaymentPriceModel[];\n showBottom: boolean;\n enterDiscountCode: boolean;\n isGetUserInfo: boolean;\n isPaidByAppleOrGoogle: boolean;\n}\n\nconst getDefaultPaymentPrice = (period: PaymentPeriodModel): PaymentPriceModel => {\n const promoCodePricePrice = period.prices.find(x => x.type === PaymentPriceType.PromoCode);\n if (promoCodePricePrice) {\n return promoCodePricePrice;\n }\n\n return getCorrespondingPrice(period.prices, PaymentStrategy.FullPayment, PaymentPriceType.Default) ?? period.prices[0];\n}\n\n/**\n * Custom Hook to manage a view Model for SelectPlan page view components\n */\nexport function useFacade(employerKey: string, handleSetProgress: Function): [\n FinishCheckoutComponentState,\n boolean,\n boolean,\n (hasInsurance: boolean) => void,\n (paymentMethod: any) => void,\n (paymentPrice: PaymentPriceModel) => void,\n (field: string, value: string) => void,\n () => JSX.Element,\n (id: number, value: boolean) => void,\n () => SelectAddOnModel[],\n (value: string) => void,\n (code: string) => void,\n () => void,\n () => void,\n (field: string, value: string) => void,\n () => void,\n () => void,\n (event: React.ChangeEvent, field: string) => void,\n () => boolean,\n () => boolean,\n () => boolean,\n () => void,\n () => void,\n () => void,\n () => boolean,\n () => boolean,\n (status: HealthConcernStatus) => void,\n () => void,\n () => boolean,\n ScrollElement,\n (field: string) => void,\n (provider: ExternalAuthProvider) => void,\n () => void\n] {\n\n const prevScrollY = useRef(null);\n\n const emptyAddress = {\n country: 'USA',\n city: '',\n state: '',\n zipCode: '',\n streetAddress1: '',\n streetAddress2: '',\n }\n\n const history = useHistory();\n const featureFlags = useFlags();\n const { pathname } = useLocation();\n const insuranceOnboarding = isFeatureFlag(featureFlags, FeatureFlag.InsuranceOnboarding);\n const medicareOnboarding = isFeatureFlag(featureFlags, FeatureFlag.MedicareOnboarding);\n const isMarketingSMSButton = isFeatureFlag(featureFlags, FeatureFlag.MarketingSmsButton);\n const isAppleAndGooglePay = isFeatureFlag(featureFlags, FeatureFlag.AppleAndGooglePay);\n const mobileGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.mobileGetStarted);\n const isConsultationGetStartedPath = pathname.toLowerCase().includes(RoutesConstants.consultationGetStarted);\n const paymentPlan = paymentPlansQuery.getSelectedPlan();\n const paymentPeriod = paymentPlansQuery.getSelectedPeriod();\n const paymentPrice = getDefaultPaymentPrice(paymentPeriod);\n const couponCode = paymentPlansQuery.getCouponCode();\n const isCouponApplied = paymentPlansQuery.isPaymentCouponApplied();\n const [paymentToken, setPaymentToken] = useState(null);\n const recaptcha = useRef(null);\n const payer = {\n firstName: '',\n lastName: '',\n email: '',\n phoneNumber: '',\n birthday: null,\n gender: 99,\n password: '',\n confirmPassword: '',\n billingAddress: Object.assign({}, emptyAddress),\n shippingAddress: Object.assign({}, emptyAddress)\n }\n const [state, setState] = useState({\n practiceId: null,\n publicKey: null,\n payer: payer,\n isSubmitted: false,\n isCardExist: true,\n insurances: [],\n hasInsurance: false,\n errors: {},\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n addOns: [],\n couponCode: couponCode,\n isCouponApplied: isCouponApplied,\n paymentPriceType: paymentPrice.type,\n sameAsBillingAddress: true,\n agreements: paymentPeriod.agreements,\n selectedLeadSource: {\n leadSourceId: 0,\n otherLeadSource: \"\",\n podcastSource: \"\"\n },\n leadSources: [],\n step: GetStartedStep.HealthConcern,\n paymentError: null,\n cardSaved: false,\n isAgreeContinue: false,\n isAgreeSMS: false,\n paymentCardInfo: null,\n isLoading: false,\n isEmailSent: false,\n cardName: '',\n healthConcernStatus: null,\n exclusivePrices:[],\n showBottom: true,\n enterDiscountCode: false,\n isGetUserInfo: true,\n isPaidByAppleOrGoogle: false\n } as FinishCheckoutComponentState);\n\n const handleHasInsurance = (hasInsurance: boolean) => {\n var nextStep = hasInsurance\n ? GetStartedStep.CaptureInsurance\n : GetStartedStep.Shipping;\n\n if (hasInsurance) {\n Track(\"onboarding_insurance_information\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n if (state.step === GetStartedStep.AskInsurance) {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n } if (state.step === GetStartedStep.AskMedicare) {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_oon_notice\", {\n group: 'test',\n platform: PlatformName(),\n });\n nextStep = GetStartedStep.OnnInsurance;\n }\n }\n\n const paymentPriceType = hasInsurance\n ? PaymentPriceType.Insurance\n : PaymentPriceType.Default;\n\n const paymentPrice = getCorrespondingPrice(paymentPeriod.prices, state.paymentPrice.strategy, paymentPriceType);\n\n setState(state => ({\n ...state,\n hasInsurance: hasInsurance,\n paymentPrice: paymentPrice,\n paymentPriceType: paymentPriceType,\n step: nextStep\n }));\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n }\n\n const handleSubmitNextStep = () => {\n const nextStep = getNextStep();\n switch (state.step) {\n case GetStartedStep.HealthConcern:\n Track(\"button_click\", {\n type: 'onboarding_results',\n acValue: 'checkout_social_proof',\n platform: PlatformName()\n })\n Track(\"onboarding_results\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n\n return navigationService.goUp();\n case GetStartedStep.ClinicallyProvenResults:\n Track(\"onboarding_team\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n\n return navigationService.goUp();\n case GetStartedStep.WorkingTogether:\n Track(\"onboarding_sign_up\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n handleSetProgress(getProgress(nextStep));\n return navigationService.goUp();\n case GetStartedStep.CreateAccount:\n return validateStepWelcome() && validateEmail();\n case GetStartedStep.Congratulations:\n Track(\"onboarding_first_name\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n\n return navigationService.goUp();\n case GetStartedStep.HaveAccount:\n if (validateStepWelcome()) {\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n }\n return;\n case GetStartedStep.ResetPassword:\n if (validateStepWelcome()) {\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n }\n return;\n case GetStartedStep.NameInterstitial:\n if (validateNameInterStep()) {\n Track(\"onboarding_personal_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n });\n handleSetProgress(getProgress(nextStep));\n \n return navigationService.goUp();\n }\n return;\n case GetStartedStep.PersonalInfo:\n if (validatePersonalInfoStep()) {\n Track(\"button_click\", {\n type: 'billing_details',\n acValue: 'billing_details',\n platform: PlatformName()\n })\n\n updateUserStep2();\n }\n return;\n case GetStartedStep.AskInsurance:\n return handleHasInsurance(true);\n case GetStartedStep.AskMedicare:\n Track(\"onboarding_medicare\", {\n group: 'test',\n platform: PlatformName(),\n });\n return handleHasInsurance(true);\n case GetStartedStep.CaptureInsurance:\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n sameAsBillingAddress: false,\n });\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n case GetStartedStep.OnnInsurance:\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState({\n ...state,\n step: nextStep,\n sameAsBillingAddress: false,\n });\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n case GetStartedStep.Shipping:\n if (validateShippingStep()) {\n updateUserAddress();\n }\n return;\n case GetStartedStep.AppleGooglePay:\n setState({\n ...state,\n step: nextStep,\n });\n \n handleSetProgress(getProgress(nextStep));\n\n return navigationService.goUp();\n case GetStartedStep.Billing:\n if (validatePaymentStep()) {\n Track(\"Button Click\", {\n type: 'checkout_order_summary',\n platform: PlatformName()\n })\n Track(\"onboarding_checkout\", {\n group: 'test',\n platform: PlatformName(),\n });\n \n handleSetProgress(getProgress(nextStep));\n\n setState({ ...state, step: nextStep, cardSaved: true });\n\n return navigationService.goUp();\n }\n return;\n case GetStartedStep.Review:\n handleSubmitRegistration()\n return;\n }\n }\n\n const emailUsed = () => {\n setState({\n ...state,\n step: GetStartedStep.HaveAccount\n });\n }\n\n const emailDoNotUsed = () => {\n Track(\"patient_sign_up\", {\n acValue: state.paymentPlan.displayName,\n plan: state.paymentPlan.displayName,\n platform: PlatformName()\n })\n\n const password = !state.payer.password\n ? uuidv4() + AuthConstants.uuidPasswordInterpolation\n : state.payer.password;\n\n const user = {\n practiceId: state.practiceId,\n email: state.payer.email,\n password: password,\n smsMarketing: state.isAgreeSMS\n }\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.create(user).subscribe(() => {\n const nextStep = state.step + 1;\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n\n setState({\n ...state,\n payer: payer,\n step: nextStep,\n sameAsBillingAddress: false,\n isLoading: false\n });\n Track(\"onboarding_social_proof\", {\n group: 'test',\n platform: PlatformName(),\n })\n handleSetProgress(getProgress(nextStep));\n\n navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const updateUserStep2 = () => {\n const user = {\n email: state.payer.email,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n gender: state.payer.gender.toString(),\n birthDate: state.payer.birthday,\n phoneNumber: state.payer.phoneNumber,\n smsMarketing: state.isAgreeSMS,\n shippingAddress: {...state.payer.shippingAddress, state: state.payer.state.abbreviation},\n billingAddress: {...state.payer.billingAddress, state: state.payer.state.name},\n meetingRecordingConsent: true\n };\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.update(user).subscribe(() => {\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n\n if (!payer.billingAddress.state) {\n payer.billingAddress.state = payer.state.name\n }\n\n if (insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length) {\n Track(\"onboarding_insurance\", {\n group: 'test',\n platform: PlatformName(),\n })\n } else {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n }\n const nextStep = getNextStep();\n \n handleSetProgress(getProgress(nextStep));\n\n setState({\n ...state,\n payer: payer,\n step: nextStep,\n sameAsBillingAddress: false,\n isLoading: false\n });\n\n navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const updateUserAddress = () => {\n const user = {\n email: state.payer.email,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n gender: state.payer.gender.toString(),\n birthDate: state.payer.birthday,\n phoneNumber: state.payer.phoneNumber,\n smsMarketing: state.isAgreeSMS,\n shippingAddress: {...state.payer.shippingAddress, state: addressQuery.findState(state.payer.shippingAddress?.state)?.abbreviation},\n billingAddress: state.payer.billingAddress,\n meetingRecordingConsent: true\n };\n\n setState({\n ...state,\n isLoading: true\n });\n\n usersService.update(user).subscribe(() => {\n Track(\"onboarding_billing_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n\n const nextStep = getNextStep();\n handleSetProgress(getProgress(nextStep));\n\n setState({\n ...state,\n step: nextStep,\n isLoading: false\n });\n\n return navigationService.goUp();\n }, () => {\n setState({\n ...state,\n isLoading: false\n });\n });\n }\n\n const validateEmail = () => {\n authService.isEmailExistForPatient(state.payer.email).subscribe(result => {\n result ? emailUsed() : emailDoNotUsed()\n })\n }\n\n const getInviteCode = () => {\n return inviteCodeQuery.getInviteCode();\n }\n\n const handleTokenChange = (paymentMethod: any) => {\n if (paymentMethod) {\n setPaymentToken(paymentMethod.paymentMethod.id);\n setState({ ...state, paymentCardInfo: paymentMethod, isCardExist: true });\n } else {\n setPaymentToken(null);\n setState({ ...state, paymentCardInfo: null });\n }\n }\n\n const getProgress = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.HealthConcern: return 14;\n case GetStartedStep.ClinicallyProvenResults: return 14;\n case GetStartedStep.WorkingTogether: return 14;\n case GetStartedStep.CreateAccount: return 28;\n case GetStartedStep.Congratulations: return 43;\n case GetStartedStep.NameInterstitial: return 43;\n case GetStartedStep.PersonalInfo: return 58;\n case GetStartedStep.AskInsurance: return 58;\n case GetStartedStep.AskMedicare: return 58;\n case GetStartedStep.CaptureInsurance: return 58;\n case GetStartedStep.OnnInsurance: return 58;\n case GetStartedStep.Shipping: return 72;\n case GetStartedStep.AppleGooglePay: return 72;\n case GetStartedStep.Billing: return 72;\n case GetStartedStep.Review: return 72;\n }\n }\n\n const getNextStep = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.HealthConcern: return GetStartedStep.ClinicallyProvenResults;\n case GetStartedStep.ClinicallyProvenResults: return GetStartedStep.WorkingTogether;\n case GetStartedStep.WorkingTogether: return GetStartedStep.CreateAccount;\n case GetStartedStep.CreateAccount: return GetStartedStep.Congratulations;\n case GetStartedStep.Congratulations: return GetStartedStep.NameInterstitial;\n case GetStartedStep.HaveAccount: return GetStartedStep.NameInterstitial;\n case GetStartedStep.NameInterstitial: return GetStartedStep.PersonalInfo;\n case GetStartedStep.PersonalInfo: return insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length && !employerKey\n ? GetStartedStep.AskInsurance\n : medicareOnboarding && getAge(state.payer.birthday) >= 65 && !employerKey\n ? GetStartedStep.AskMedicare\n : GetStartedStep.Shipping;\n case GetStartedStep.AskInsurance: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.AskMedicare: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.CaptureInsurance: return GetStartedStep.Shipping\n case GetStartedStep.OnnInsurance: return GetStartedStep.Shipping;\n case GetStartedStep.Shipping: return !isAppleAndGooglePay ? GetStartedStep.Billing : !state.isPaidByAppleOrGoogle ? GetStartedStep.AppleGooglePay : GetStartedStep.Billing;\n case GetStartedStep.AppleGooglePay: return GetStartedStep.Billing;\n case GetStartedStep.Billing: return GetStartedStep.Review;\n }\n }\n\n const getPreviousStep = (step?: GetStartedStep): GetStartedStep => {\n switch (step ?? state.step) {\n case GetStartedStep.ClinicallyProvenResults: return GetStartedStep.HealthConcern;\n case GetStartedStep.WorkingTogether: return GetStartedStep.ClinicallyProvenResults;\n case GetStartedStep.CreateAccount: return GetStartedStep.WorkingTogether;\n case GetStartedStep.PersonalInfo: return GetStartedStep.NameInterstitial;\n case GetStartedStep.AskInsurance: return GetStartedStep.PersonalInfo;\n case GetStartedStep.AskMedicare: return GetStartedStep.PersonalInfo;\n case GetStartedStep.CaptureInsurance: return state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id)\n ? GetStartedStep.AskInsurance\n : GetStartedStep.AskMedicare;\n case GetStartedStep.OnnInsurance: return GetStartedStep.CaptureInsurance;\n case GetStartedStep.Shipping: return state.hasInsurance\n ? GetStartedStep.CaptureInsurance\n : insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length && !employerKey\n ? GetStartedStep.AskInsurance\n : medicareOnboarding && getAge(state.payer.birthday) >= 65 && !employerKey\n ? GetStartedStep.AskMedicare\n : GetStartedStep.PersonalInfo;\n case GetStartedStep.AppleGooglePay: return GetStartedStep.Shipping;\n case GetStartedStep.Billing: return !isAppleAndGooglePay ? GetStartedStep.Shipping : !state.isPaidByAppleOrGoogle ? GetStartedStep.AppleGooglePay : GetStartedStep.Shipping;\n case GetStartedStep.Review: return GetStartedStep.Billing;\n case GetStartedStep.HaveAccount: return GetStartedStep.CreateAccount;\n case GetStartedStep.ResetPassword: return GetStartedStep.CreateAccount;\n }\n }\n\n const handleSubmitBackStep = () => {\n const previousStep = getPreviousStep();\n \n handleSetProgress(getProgress(previousStep));\n\n setState({ ...state, step: previousStep, errors: {}, isEmailSent: false });\n }\n\n const handleSelectingAddOn = (id: number, value: boolean) => {\n const addOns = state.addOns;\n const addOn = addOns.find(x => x.id === id);\n addOn.isSelected = value;\n\n setState({\n ...state,\n addOns,\n });\n }\n\n const handlePriceSelect = (paymentPrice: PaymentPriceModel) => {\n setState({ ...state, paymentPrice });\n }\n\n const getSelectedAddOns = () => {\n return state.addOns.filter(i => i.isSelected);\n }\n\n const handleCouponChanges = (value: string) => {\n setState({ ...state, couponCode: value });\n }\n\n const selectPaymentPriceType = () => {\n switch (state.hasInsurance) {\n case true:\n return PaymentPriceType.Insurance;\n case false:\n return PaymentPriceType.Default;\n default: return PaymentPriceType.Default;\n }\n }\n\n const applyCoupon = (code: string) => {\n const paymentPriceType = selectPaymentPriceType();\n\n const model: ApplyCouponModel = {\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceType: paymentPriceType,\n code: code\n };\n\n const action = paymentPlansService.newPromoCodeApply(model);\n\n action.subscribe((exclusivePrices: PaymentPriceModel[]) => {\n if (exclusivePrices && exclusivePrices.length) {\n // we need the complete coupon model\n const retrievedCoupon = exclusivePrices[0].paymentCoupon;\n\n const newSelectedPeriod = Object.assign(paymentPeriod, {\n prices: [...paymentPeriod.prices, ...exclusivePrices]\n });\n\n const addOns = state.addOns;\n\n const freeAddOnsPrice = exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n\n const paymentPrice = newSelectedPeriod\n .prices\n .find(x => x.type === paymentPriceType && x?.paymentCoupon?.code === retrievedCoupon.code && x.strategy === state.paymentPrice.strategy);\n\n if (paymentPrice) {\n setState(state => ({\n ...state,\n couponCode: code,\n paymentPriceType: paymentPriceType,\n coupon: retrievedCoupon,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n addOns: addOns,\n isCouponApplied: true,\n exclusivePrices: exclusivePrices\n }));\n \n paymentPlansStore.setCouponApplied(retrievedCoupon);\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n }\n }, () => {\n });\n }\n\n const resetCoupon = () => {\n paymentPlansService.resetCoupon();\n\n const newSelectedPeriod = Object.assign(paymentPeriod, paymentPlan.periods[0]);\n\n const paymentPriceType = state.hasInsurance\n ? PaymentPriceType.Insurance\n : PaymentPriceType.Default;\n\n const paymentPrice = getCorrespondingPrice(newSelectedPeriod.prices, state.paymentPrice.strategy, paymentPriceType);\n\n setState(state => ({\n ...state,\n paymentPeriod: newSelectedPeriod,\n paymentPrice: paymentPrice,\n paymentPriceType: paymentPriceType,\n isCouponApplied: false\n }));\n\n paymentPlansService.updateSelectedPeriod(newSelectedPeriod);\n }\n\n const handleChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n if (field === 'cardName') {\n setState({ ...state, cardName: value });\n return;\n }\n if (field === 'gender') {\n addOnsService.getOptional(state.paymentPlan.id, value, employerKey);\n }\n const payer = state.payer;\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, payer);\n lastObject[key] = value;\n\n setState(state => ({ ...state, payer: Object.assign({}, payer) }));\n }\n\n const handleAgree = (event: React.ChangeEvent, field: string) => {\n state[field] = event.target.checked;\n setState({ ...state });\n }\n\n const handleChangeHealthConcernStatus = (status: HealthConcernStatus) => {\n setState({\n ...state,\n healthConcernStatus: status\n })\n }\n\n const isCheckedWelcomePatient = () => {\n return Boolean(state.payer.email && state.payer.password && state.isAgreeContinue);\n }\n\n const isCheckedNameInfo = () => {\n return Boolean(state.payer.firstName && state.payer.lastName && moment(state.payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && state.payer.gender !== 99);\n }\n\n const isCheckedPersonalInfo = () => {\n return Boolean(state.payer.firstName && state.payer.lastName && moment(state.payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && state.payer.phoneNumber && state.payer.gender !== 99 && state.payer.state);\n }\n\n const isCheckedShippingDetail = () => {\n return Boolean(state.payer.shippingAddress.streetAddress1 && state.payer.shippingAddress.city && state.payer.shippingAddress.state && state.payer.shippingAddress.zipCode);\n }\n\n const isCheckedPaymentCardDetail = () => {\n return Boolean(paymentToken && state.payer.billingAddress.streetAddress1 && state.payer.billingAddress.city && state.payer.billingAddress.state && state.payer.billingAddress.zipCode);\n }\n\n const isCheckedProperStep = (payer: PayerInformation) => {\n if (Boolean(payer.firstName && payer.lastName && moment(payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && payer.gender !== 99)) {\n if (Boolean(payer.firstName && payer.lastName && moment(payer.birthday).format('MM/DD/YYYY') !== 'Invalid date' && payer.gender !== 99 && state.payer.phoneNumber && payer.state)) {\n if (Boolean(payer.shippingAddress.streetAddress1 && payer.shippingAddress.city && payer.shippingAddress.state && payer.shippingAddress.zipCode)) {\n return isAppleAndGooglePay ? GetStartedStep.AppleGooglePay : GetStartedStep.Billing;\n } else {\n return GetStartedStep.Shipping;\n }\n } else {\n Track(\"onboarding_personal_info\", {\n group: 'test',\n platform: PlatformName(),\n })\n return GetStartedStep.PersonalInfo;\n }\n }\n Track(\"onboarding_first_name\", {\n group: 'test',\n platform: PlatformName(),\n })\n return GetStartedStep.NameInterstitial;\n }\n\n const handleLeadSourceChanges = (field: string, value: any) => {\n updateValidationState(field, value);\n const keys = field.split(\".\");\n const key = keys.pop();\n const lastObject = getLastObject(keys, state);\n lastObject[key] = key === \"leadSourceId\" ? +value : value;\n\n setState({ ...state, selectedLeadSource: state.selectedLeadSource });\n }\n\n const updateValidationState = (field: string, value: any) => {\n if (state.sameAsBillingAddress && field.includes('billingAddress')) {\n const shippingAddressField = field.replace('billingAddress', 'shippingAddress');\n finishCheckoutComponentValidator.validateAndSetState(state, setState, shippingAddressField, value);\n }\n\n finishCheckoutComponentValidator.validateAndSetState(state, setState, field, value);\n }\n\n const executeRecaptcha = () => {\n recaptcha.current?.reset();\n recaptcha.current?.execute()\n }\n\n const renderRecaptcha = () => {\n context['state'] = state;\n context['paymentToken'] = paymentToken;\n\n return recaptchaOnResolved(token, context)}\n style={{ display: 'none' }}\n />\n }\n\n const handleSameAsBillingAddress = () => {\n const payer = state.payer;\n payer.billingAddress = state.sameAsBillingAddress ? state.payer.shippingAddress : emptyAddress;\n\n setState({\n ...state,\n payer: payer,\n sameAsBillingAddress: !state.sameAsBillingAddress\n });\n }\n\n const handleUserInfoCheck = () => {\n const payer = state.payer;\n payer.shippingAddress = state.payer.billingAddress;\n payer.email = authQuery.getEmail();\n payer.password = uuidv4() + AuthConstants.uuidPasswordInterpolation;\n const cb = () => {\n setState(state => ({\n ...state,\n payer: payer,\n step: GetStartedStep.NameInterstitial,\n isSubmitted: false,\n isGetUserInfo: false\n }));\n Track(\"onboarding_first_name\", {\n group: 'test',\n platform: PlatformName(),\n })\n handleSetProgress(getProgress(GetStartedStep.NameInterstitial));\n }\n usersService.getMyUserInfo().subscribe((response) => {\n payer.firstName = response.firstName;\n payer.lastName = response.lastName;\n payer.birthday = response.birthday;\n payer.gender = response.gender;\n payer.phoneNumber = response.phoneNumber;\n payer.shippingAddress = {\n ...response.shippingAddress,\n country: 'USA'\n };\n payer.billingAddress = {\n ...response.shippingAddress,\n country: 'USA'\n };\n if (response.shippingAddress.state) {\n payer.state = addressQuery.findState(payer.shippingAddress?.state);\n }\n const step = isCheckedProperStep(payer);\n setState(state => ({\n ...state,\n payer: payer,\n step: step,\n sameAsBillingAddress: step === GetStartedStep.AppleGooglePay || step === GetStartedStep.Billing || step === GetStartedStep.Shipping ? false : true,\n isSubmitted: false,\n isGetUserInfo: false\n }));\n handleSetProgress(getProgress(step));\n }, cb)\n }\n\n const recaptchaOnResolved = (antiSpamToken: string, context) => {\n const state = context['state'];\n const paymentToken = context['paymentToken'];\n\n const password = !state.payer.password\n ? uuidv4() + AuthConstants.uuidPasswordInterpolation\n : state.payer.password;\n\n const patient: RegisterPatientModel = {\n inviteCode: getInviteCode(),\n practiceId: state.practiceId,\n paymentToken: paymentToken,\n antiSpamToken: antiSpamToken,\n email: state.payer.email.trim(),\n phoneNumber: state.payer.phoneNumber,\n firstName: state.payer.firstName,\n lastName: state.payer.lastName,\n marketingSMS: state.isAgreeSMS,\n gender: Number(state.payer.gender),\n birthday: state.payer.birthday,\n password: password,\n confirmPassword: password,\n paymentPeriodId: state.paymentPeriod.id,\n paymentPriceId: state.paymentPrice.id,\n agreements: state.paymentPeriod.agreements.map(x => ({ agreementId: x.id, isConfirmed: true })),\n billingAddress: state.payer.billingAddress,\n shippingAddress: {...state.payer.shippingAddress, state: addressQuery.findState(state.payer.shippingAddress?.state)?.abbreviation},\n addOnIds: state.addOns.filter(x => x.isSelected).map(x => x.id),\n founderId: null,\n leadSource: state.selectedLeadSource.leadSourceId !== 0 ? state.selectedLeadSource : null,\n employeeId: null,\n linkedEmployeeId: null,\n employerProductKey: employerKey,\n promoCode: state.isCouponApplied ? state.couponCode : ''\n }\n\n const loginModel: LoginModel = {\n email: state.payer.email,\n password: state.payer.password,\n practiceId: authQuery.getCurrentPracticeId(),\n antiSpamToken: antiSpamToken,\n }\n\n const forgotPasswordModel: ForgotPasswordModel = {\n email: state.payer.email,\n practiceId: authQuery.getCurrentPracticeId(),\n antiSpamToken: antiSpamToken,\n }\n \n const cb = () => setState(state => ({ ...state, isSubmitted: false }));\n \n const registerCB = (error: any) => {\n const messages = error?.response?.data?.messages ?? [];\n\n if (messages[0]?.toLowerCase()?.includes('already has an active membership')) {\n authService.refreshToken(authQuery.getRefreshToken()).subscribe(\n () => {\n const traits = getFBTraits(state.payer);\n Track(\n \"checkout_completed\",\n {\n platform: PlatformName()\n },\n traits\n );\n\n const createdPatient: any = {\n ...state.payer,\n intakeId: authQuery.getPatientId()\n }\n \n if (mobileGetStartedPath) {\n navigationService.toMobilePaymentSuccess(history, createdPatient);\n } else {\n navigationService.toPaymentSuccess(history, createdPatient);\n }\n }, cb\n )\n } else if (messages[0]?.toLowerCase()?.includes('your card was declined. please contact your financial institution.')) {\n setState(state => ({\n ...state,\n isSubmitted: false,\n step: GetStartedStep.Billing,\n cardSaved: false\n }));\n }\n }\n\n if (state.step === GetStartedStep.HaveAccount) {\n authService.login(loginModel).subscribe((res) => {\n if (!authQuery.isRegistrationCompleted()) {\n handleUserInfoCheck();\n } else {\n navigationService.toDashboard(history);\n }\n }, cb)\n } else if (state.step === GetStartedStep.ResetPassword) {\n authService.forgotPassword(forgotPasswordModel).subscribe(() => {\n setState({ ...state, isSubmitted: false, isEmailSent: true });\n }, cb)\n } else {\n patientsService.register(patient).subscribe(\n patient => {\n const traits = getFBTraits(state.payer, patient.universalId);\n Track(\n \"checkout_completed\",\n {\n platform: PlatformName()\n },\n traits\n );\n \n if (mobileGetStartedPath) {\n navigationService.toMobilePaymentSuccess(history, patient);\n } else {\n navigationService.toPaymentSuccess(history, patient);\n }\n }, (error) => registerCB(error)\n );\n }\n }\n\n const validateStepWelcome = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"email\", state.payer.email);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"password\", state.payer.password);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const handleOnBlurValidate = (field: string): boolean => {\n switch (field) {\n case 'firstName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'lastName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'birthday':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'phoneNumber':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"state\", state.payer.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.streetAddress1':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.city':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'shippingAddress.zipCode':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.streetAddress1':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.city':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.state':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'billingAddress.zipCode':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n case 'cardName':\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"cardName\", state.cardName);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n }\n\n const validateNameInterStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validatePersonalInfoStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"firstName\", state.payer.firstName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"lastName\", state.payer.lastName);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"birthday\", state.payer.birthday);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"gender\", state.payer.gender);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"phoneNumber\", state.payer.phoneNumber);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"state\", state.payer.state);\n\n const leadSource = state.leadSources.find(x => x.id === state.selectedLeadSource.leadSourceId);\n if (leadSource !== undefined && leadSource.isOther)\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"selectedLeadSource.otherLeadSource\", state.selectedLeadSource.otherLeadSource);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validateShippingStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress2\", state.payer.shippingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n\n return finishCheckoutComponentValidator.stateIsValid(state);\n }\n\n const validatePaymentStep = (): boolean => {\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress1\", state.payer.billingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.streetAddress2\", state.payer.billingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.city\", state.payer.billingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.state\", state.payer.billingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"billingAddress.zipCode\", state.payer.billingAddress.zipCode);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress1\", state.payer.shippingAddress.streetAddress1);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.streetAddress2\", state.payer.shippingAddress.streetAddress2);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.city\", state.payer.shippingAddress.city);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.state\", state.payer.shippingAddress.state);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"shippingAddress.zipCode\", state.payer.shippingAddress.zipCode);\n finishCheckoutComponentValidator.validateAndSetState(state, setState, \"cardName\", state.cardName);\n\n const isValid = finishCheckoutComponentValidator.stateIsValid(state) && Boolean(paymentToken);\n\n setState({ ...state, isCardExist: Boolean(paymentToken) })\n\n return isValid;\n }\n\n /**\n * Handles payment submit\n */\n const handleSubmitRegistration = () => {\n Track(\"Button Click\", {\n type: 'checkout_started',\n platform: PlatformName()\n })\n Track(\"checkout_started\", {\n platform: PlatformName()\n })\n setState({ ...state, isSubmitted: true });\n executeRecaptcha();\n };\n\n const goToLoginPage = () => {\n navigationService.toLogin(history);\n }\n\n const goToHaveAccountStep = () => {\n setState({ ...state, step: GetStartedStep.HaveAccount, isEmailSent: false });\n }\n\n const goToResetPasswordStep = () => {\n setState({ ...state, step: GetStartedStep.ResetPassword });\n }\n\n const handleEnterDiscountCode = () => {\n setState({\n ...state,\n enterDiscountCode: !state.enterDiscountCode\n })\n }\n\n const isMedicareFlow = () => {\n return insuranceOnboarding && state.paymentPlan.insuranceStates.some(x => x.id === state.payer.state.id) && state.insurances.length\n ? false\n : medicareOnboarding && getAge(state.payer.birthday) >= 65;\n }\n\n const goToAuth2LoginPage = (provider: ExternalAuthProvider) => {\n navigationService.toAuth2LoginPage(history, provider);\n }\n\n const handleSetPaid = () => {\n const nextStep = getNextStep();\n setState({\n ...state,\n step: nextStep,\n isPaidByAppleOrGoogle: true\n });\n handleSetProgress(getProgress(nextStep));\n }\n\n /**\n * Load all payment plans\n * Manage subscriptions with auto-cleanup\n */\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentQuery.credentials$, credentials => {\n setState(state => ({\n ...state,\n publicKey: credentials?.publicKey,\n provider: credentials?.provider,\n practiceId: credentials?.practiceId\n }));\n }\n ),\n onEmit(paymentPlansQuery.selectedPlan$, selectedPlan => {\n setState(state => ({ ...state, selectedPlan }));\n }),\n onEmit(paymentPlansQuery.isCouponApplied$, (value) => {\n setState(state => ({ ...state, isCouponApplied: value, }));\n }),\n onEmit(addOnsQuery.addOns$, addOns => {\n const items = addOns.map(i => {\n return {\n ...i,\n isSelected: i.orderType === OrderType.Lab\n }\n });\n\n let isCouponApplied=false;\n if(state.isCouponApplied && !!state.exclusivePrices){\n const addOns = items;\n const freeAddOnsPrice = state.exclusivePrices.find(x => x.isAddOnsForFree);\n if (freeAddOnsPrice) {\n addOns.forEach(x => {\n if (freeAddOnsPrice.freeAddOnsTypes.includes(x.orderType)) {\n x.price = 0;\n }\n });\n }\n isCouponApplied = true;\n }\n setState(state => ({ ...state, addOns: items, isCouponApplied: isCouponApplied }));\n }),\n onEmit(leadSourcesQuery.leadSources$, leadSources => {\n setState(state => ({\n ...state,\n leadSources: leadSources.sort((l1, l2,) => handleCompare(l1, l2, SortingDirection.Desc, 'isOther'))\n }));\n }),\n ];\n\n leadSourcesService.getActive(authQuery.getCurrentPracticeId());\n paymentService.getCredentials(authQuery.getCurrentPracticeId());\n addOnsService.getOptional(paymentPlan.id, state.payer.gender, employerKey);\n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, [paymentPlan, state.payer.gender, couponCode]);\n\n useEffect(() => {\n if (authQuery.isLoggedIn()) {\n handleUserInfoCheck();\n } else {\n Track(\"onboarding_health_concern\", {\n group: 'test',\n platform: PlatformName(),\n })\n setState(state => ({\n ...state,\n isGetUserInfo: false\n }));\n handleSetProgress(getProgress());\n }\n }, [])\n \n useEffect(() => {\n if (state.payer.state) {\n insuranceService.getInsurances(state.payer.state.id).subscribe((insurances) => {\n setState((state) => ({...state, insurances }))\n }, () => {\n setState((state) => ({...state, insurances: [] }))\n });\n }\n }, [state.payer.state]);\n\n useEffect(() => {\n\n function scrollEvent() {\n if (prevScrollY) {\n\n if (prevScrollY.current) {\n let rect = prevScrollY.current.getBoundingClientRect()\n\n if (rect.top > window.innerHeight + 48) {\n setState((state) => ({...state, showBottom: true }))\n } else {\n setState((state) => ({...state, showBottom: false }))\n }\n }\n }\n }\n\n document.addEventListener('scroll', scrollEvent)\n\n return () => {\n document.removeEventListener('scroll', scrollEvent)\n }\n }, []);\n\n\n return [\n state,\n isMarketingSMSButton,\n isConsultationGetStartedPath,\n handleHasInsurance,\n handleTokenChange,\n handlePriceSelect,\n handleChanges,\n renderRecaptcha,\n handleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n resetCoupon,\n handleSameAsBillingAddress,\n handleLeadSourceChanges,\n handleSubmitNextStep,\n handleSubmitBackStep,\n handleAgree,\n isCheckedWelcomePatient,\n isCheckedNameInfo,\n isCheckedPersonalInfo,\n goToLoginPage,\n goToResetPasswordStep,\n goToHaveAccountStep,\n isCheckedShippingDetail,\n isCheckedPaymentCardDetail,\n handleChangeHealthConcernStatus,\n handleEnterDiscountCode,\n isMedicareFlow,\n prevScrollY,\n handleOnBlurValidate,\n goToAuth2LoginPage,\n handleSetPaid\n ]\n}\n","import {\n Box,\n Container,\n Divider,\n FormControl,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n useTheme,\n Link,\n Typography,\n Breadcrumbs\n} from '@material-ui/core';\nimport React, { useMemo } from 'react';\nimport { UpdateAddressForm } from \"../../../common/components/updateAddressTestForm/UpdateAddressForm\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { BillingSummaryComponent } from \"../billingSummaryTestComponent/BillingSummaryComponent\";\nimport { WelcomePatientInfoComponent } from '../welcomePatientInfoComponent/WelcomePatientInfoComponent';\nimport { PatientInfoComponent } from '../patientInfoRedesignComponent/PatientInfoRedesignComponent';\nimport { ApplyPaymentCouponComponent } from '../paymentCouponTestComponent/ApplyPaymentCouponComponent';\nimport { PaymentCouponAppliedComponent } from '../paymentCouponTestComponent/PaymentCouponAppliedComponent';\nimport { PaymentSummaryComponent } from \"../paymentSummaryTestComponent/PaymentSummaryComponentGetStarted\";\nimport { GetStartedStep, useFacade, HealthConcernStatus } from \"./FinishCheckoutComponent.hooks\";\nimport { useStyles } from \"./finishCheckoutComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { RegistrationBackButton } from '../registrationButton/RegistrationBackButton';\nimport { RegistrationNextButton } from '../registrationButton/RegistrationNextTestButton';\nimport { PageSliderComponent } from \"../../../common/components/PageSliderComponent\";\nimport { PaymentCardComponent } from \"../paymentCardTestComponent/PaymentCardComponent\";\nimport AddIcon from '@material-ui/icons/Add';\nimport { ReactComponent as VisaCardLogo } from '@img/getStarted/VisaCardLogo.svg';\nimport { ReactComponent as MastercardLogo} from '@img/getStarted/mastercardLogo.svg';\nimport { ReactComponent as AMEXCardLogo } from '@img/getStarted/AMEXCardLogo.svg';\nimport { ReactComponent as DiscoverCardLogo } from '@img/getStarted/DiscoverCardLogo.svg';\nimport { ReactComponent as DinersCardLogo } from '@img/getStarted/DinersCardLogo.svg';\nimport { ReactComponent as JCBCardLogo } from '@img/getStarted/JCBCardLogo.svg';\nimport { ReactComponent as UnionPayCardLogo } from '@img/getStarted/UnionPayCardLogo.svg';\nimport { loadStripe } from '@stripe/stripe-js';\nimport { Elements } from '@stripe/react-stripe-js';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport {\n InsuranceCheckoutRedesignComponent\n} from \"../../../insurance/components/insuranceComponent/InsuranceCheckoutComponent\";\nimport { RegistrationSkipRedesignButton } from \"../registrationButton/RegistrationSkipButton\";\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\nimport { getPlanForAutoSelect } from \"../../helpers/getPlanForAutoSelect\";\nimport DoneIcon from '@material-ui/icons/Done';\nimport RecommendedPlan from '@img/getStarted/Recommended.png';\nimport { ReactComponent as InsuranceIcon } from '@img/icons/InsuranceIcon.svg';\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\nimport { SelectAddOnComponent } from '../../../addons/components/selectAddOnTestComponent/selectAddOnComponent';\nimport { colors } from '../../../common/constants/colors';\n\ninterface FinishCheckoutComponentProps {\n plans: PaymentPlanModel[];\n specifiedPlan?: string;\n defaultPlan?: string;\n navigationContext: PageSliderNavigationContext;\n employerKey?: string;\n topBannerHeight?: number;\n handleSetProgress: (progress: number) => void;\n}\n\nexport const FinishCheckoutRedesignComponent: React.FC = (props: FinishCheckoutComponentProps) => {\n const {\n plans,\n specifiedPlan = null,\n defaultPlan = null,\n navigationContext,\n employerKey = \"\",\n topBannerHeight = 0,\n handleSetProgress\n } = props;\n\n const [\n {\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n publicKey,\n addOns,\n couponCode,\n coupon,\n isCouponApplied,\n paymentPriceType,\n payer,\n errors,\n sameAsBillingAddress,\n leadSources,\n selectedLeadSource,\n step,\n isSubmitted,\n isCardExist,\n cardSaved,\n isAgreeSMS,\n isAgreeContinue,\n paymentCardInfo,\n isLoading,\n isEmailSent,\n cardName,\n healthConcernStatus,\n showBottom,\n enterDiscountCode,\n isGetUserInfo\n },\n isMarketingSMSButton,\n isConsultationGetStartedPath,\n handleHasInsurance,\n handleTokenChange,\n handlePriceSelect,\n handleChanges,\n renderRecaptcha,\n handleToggleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n resetCoupon,\n handleSameAsBillingAddress,\n handleLeadSourceChanges,\n handleSubmitNextStep,\n handleSubmitBackStep,\n handleAgree,\n isCheckedWelcomePatient,\n isCheckedNameInfo,\n isCheckedPersonalInfo,\n goToLoginPage,\n goToResetPasswordStep,\n goToHaveAccountStep,\n isCheckedShippingDetail,\n isCheckedPaymentCardDetail,\n handleChangeHealthConcernStatus,\n handleEnterDiscountCode,\n isMedicareFlow,\n prevScrollY,\n handleOnBlurValidate\n ] = useFacade(employerKey, handleSetProgress);\n\n const classes = useStyles({ topBannerHeight });\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const stripePromise = useMemo(() => loadStripe(`${publicKey}`), [publicKey]);\n const isPlanAutoSelect = Boolean(getPlanForAutoSelect(plans, specifiedPlan, defaultPlan));\n\n if (!publicKey || isGetUserInfo) {\n return \n }\n \n const renderHealthConcernStep = () => (\n \n \n What’s your main Goal?\n \n \n Maximize health span & longevity}\n checkStatus={healthConcernStatus === HealthConcernStatus.MaximizeHealthSpanLongevity}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.MaximizeHealthSpanLongevity)}\n />\n \n \n Treat new or chronic conditions}\n checkStatus={healthConcernStatus === HealthConcernStatus.TreatNewChronicConditions}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.TreatNewChronicConditions)}\n />\n \n \n Optimize my overall health}\n checkStatus={healthConcernStatus === HealthConcernStatus.OptimizeMyOverallHealth}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.OptimizeMyOverallHealth)}\n />\n \n \n Elevate my performance}\n checkStatus={healthConcernStatus === HealthConcernStatus.ElevateMyPerformance}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.ElevateMyPerformance)}\n />\n \n \n )\n\n const renderHealthConcernDescription = () => {\n switch (healthConcernStatus) {\n case HealthConcernStatus.MaximizeHealthSpanLongevity:\n return \"To help you maximize and extend the quality of your life, we take a data-driven, lifestyle-based approach that individually addresses each pillar of health: nutrition, exercise, sleep, recovery, neurobehavioral, microbiome, and more.\";\n case HealthConcernStatus.TreatNewChronicConditions:\n return \"Through extensive testing, we help determine the root cause of your symptoms or conditions, as well as identify any predispositions you may have. From there, we target specific biomarkers with scientifically proven interventions to help reverse, prevent, or manage symptoms and conditions. In that, we help you achieve better overall mental, physical, and spiritual health.\";\n case HealthConcernStatus.OptimizeMyOverallHealth:\n return \"Knowledge is power. We do comprehensive genetic testing, advanced bloodwork, and a deep lifestyle analysis to give you a full picture of your health. With that level of data and understanding, we recommend scientifically proven interventions to address and optimize each pillar of health: nutrition, exercise, recovery, sleep, neurobehavioral, microbiome, and more.\";\n case HealthConcernStatus.ElevateMyPerformance:\n return \"Whether you’re training for an event or generally looking to optimize your performance, our personalized and data-driven approach helps you achieve better outputs all-around. Tailored to your goals and unique genetic makeup, our custom care plans address all pillars of health to have you feeling sharper mentally, stronger physically, and more connected spiritually.\";\n default: return \"That if you haven’t been feeling great and aren’t sure why, you aren’t alone. That’s why we do extensive advanced blood analysis to get a snapshot of your health today along with testing DNA to understand how your genes impact everything from your chronic disease risk to your optimal sleep routine.\";\n }\n }\n \n const renderHealthConcernInterstitialStep = () => (\n \n \n \n \n \n Did you know...\n \n \n {renderHealthConcernDescription()}\n \n \n )\n\n const renderCreateAccountStep = () => (\n <>\n \n Start your personalized health journey by creating an account\n \n \n \n \n handleAgree(event, 'isAgreeContinue')}\n />\n \n By clicking the button below I agree to the\n navigationService.toTermsOfUse()} className={classes.termsPolicyLink}>Terms of Use\n , \n navigationService.toTermsOfService()} className={classes.termsPolicyLink}>Terms of Service\n , \n navigationService.toPrivacyPolicy()} className={classes.termsPolicyLink}>Privacy Policy\n , and\n navigationService.toNoticeOfPrivacy()} className={classes.termsPolicyLink}>Notice of Privacy Practices.\n \n \n \n \n )\n\n const renderHaveAccountStep = () => (\n \n \n {isSmallScreen ? `You already have an account` : `Already a user?`}\n \n \n {isSmallScreen ? `There is already an account associated with that email. Login or reset your password.` : `This email is already associated with an account. Please login or reset your password.`}\n \n \n {\n renderRecaptcha()\n }\n \n )\n\n const renderResetPasswordStep = () => (\n \n \n Reset Password\n \n \n Forgot your password? No Problem.\n Enter the email address assocaited with your account.\n \n \n {\n renderRecaptcha()\n }\n \n )\n\n const renderNameInterstitialStep = () => (\n \n \n Let’s get acquainted.\n \n \n \n )\n\n const displayOtherLeadSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId);\n if (leadSource === undefined || !leadSource.isOther)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const displayPodcastSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId && x.name === 'Podcast');\n if (leadSource === undefined)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const renderAgreeSmstMarketing = () => (\n \n \n \n I agree to receive occasional SMS marketing communications\n \n }\n checkStatus={isAgreeSMS}\n handleCheck={(event) => handleAgree(event, 'isAgreeSMS')}\n />\n \n )\n\n const renderPersonalInfoStep = () => (\n \n \n Hi, {payer.firstName}!\n \n \n Now, add a few more details.\n \n \n {\n !paymentPlan?.isFounder &&\n \n \n How did you hear about us *\n \n \n \n {\n if (selectedLeadSource.leadSourceId === 0) {\n return Select;\n }\n\n return leadSources.find(source => source.id === selectedLeadSource.leadSourceId)?.name\n }}\n displayEmpty\n onChange={(v) => handleLeadSourceChanges(\"selectedLeadSource.leadSourceId\", v.target.value.toString())}\n >\n {\n leadSources.map((source, i) => {\n return {source.name}\n })\n }\n \n {errors[`selectedLeadSource.leadSourceId`]}\n \n \n {\n displayOtherLeadSource()\n }\n {\n displayPodcastSource()\n }\n \n }\n {\n isMarketingSMSButton && renderAgreeSmstMarketing()\n }\n \n )\n\n const renderMarketingSMSSubCopy = () => (\n \n By checking this box, I acknowledge and agree that Wild Health and Wellington Provider Group may use my contact information to send me communications by email and text message, including automatically generated text messages, on Wild Health's products and other related educational content. I understand that my consent to receive these communications is not a condition of receiving any good or service. I also understand that message and data charges may apply.\n \n )\n\n const renderAskInsuranceStep = () => (\n <>\n \n \n \n \n Do you have insurance\n \n \n \n We offer plans regardless of your insurance status, but it will help us determine the right plan for you.\n \n \n \n )\n\n const renderAskMedicareStep = () => (\n <>\n \n \n \n \n Do you have Medicare?\n \n \n \n We offer plans regardless of your insurance status, but it will help us determine the right plan for you.\n \n \n \n )\n\n\n const renderCaptureInsuranceStep = () => (\n <>\n handleSubmitNextStep()}\n handleCancel={() => handleHasInsurance(false)}\n isMedicareFlow={isMedicareFlow()}\n />\n \n )\n\n const renderOnnInsuranceStep = () => (\n <>\n \n \n \n \n Not in network yet\n \n \n \n We are not in network yet with your insurance. However, we offer discounted cash pricing for out-of-network patients.\n \n \n \n )\n\n const renderShippingStep = () => (\n \n \n Shipping\n \n \n } aria-label=\"breadcrumb\">\n \n Shipping\n \n \n Billing Info\n \n \n Review\n \n \n \n \n \n Tell us where to send your Wild Health Genetic Test Kit — and any other surprises along the way.\n \n \n \n \n )\n\n const renderPaymentStep = () => (\n \n \n Billing\n \n \n } aria-label=\"breadcrumb\">\n \n Shipping\n \n \n Billing Info\n \n \n Review\n \n \n \n \n \n Input your payment information in order to complete your purchase. You will not be charged until you review your order.\n \n \n Cardholder Name *\n \n handleChanges(v.target.id, v.target.value)}\n onBlur={() => handleOnBlurValidate(`cardName`)}\n />\n \n \n \n \n \n \n \n {sameAsBillingAddress ? (\n \n Use Shipping Address\n }\n checkStatus={!sameAsBillingAddress}\n handleCheck={handleSameAsBillingAddress}\n />\n ) : (\n \n )}\n \n {\n sameAsBillingAddress &&\n\n \n \n Billing Address\n \n \n \n }\n \n )\n\n const renderCard = () => {\n switch (paymentCardInfo.paymentMethod.card.brand) {\n case 'visa':\n return ;\n case 'mastercard':\n return ;\n case 'amex':\n return ;\n case 'discover':\n return ;\n case 'diners':\n return ;\n case 'jcb':\n return ;\n case 'unionpay':\n return ;\n default: return ;\n }\n }\n\n const renderCheckoutStep = () => (\n \n \n Order Summary\n \n \n } aria-label=\"breadcrumb\">\n \n Shipping\n \n \n Billing Info\n \n \n Review\n \n \n \n \n \n \n \n \n {\n !paymentPlan.isTrial &&\n \n \n Fast-track your health optimization\n \n \n {\n addOns.map((item) => {\n return (\n \n \n \n )\n })\n }\n \n \n }\n \n \n \n \n \n \n \n \n {!enterDiscountCode ? (\n \n ) : (\n <>\n \n Promo code\n \n \n \n )}\n {\n isCouponApplied &&\n \n }\n \n \n \n \n Payment details\n \n \n \n {paymentCardInfo && paymentCardInfo.paymentMethod.card && renderCard()}\n \n •••• {paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.last4 : ''}\n \n \n \n {paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.exp_month : ''}/{paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.exp_year.toLocaleString().substr(-2) : ''}\n \n \n \n \n \n Shipping address\n \n \n \n {payer.firstName} {payer.lastName}\n \n \n {payer.shippingAddress.streetAddress1}\n \n \n {payer.shippingAddress.city}, {payer.shippingAddress.country} {payer.shippingAddress.zipCode}\n \n \n \n \n \n {\n renderRecaptcha()\n }\n
\n {renderDefaultNextButton()}\n
\n \n )\n\n const btnName = () => {\n switch (step) {\n case GetStartedStep.CreateAccount:\n return \"Get Healthy\";\n case GetStartedStep.HaveAccount:\n return \"Login\";\n case GetStartedStep.ResetPassword:\n return \"Reset Password\";\n case GetStartedStep.AskInsurance:\n return \"YES\";\n case GetStartedStep.AskMedicare:\n return \"YES\";\n case GetStartedStep.Payment:\n return \"Continue to Payment\";\n case GetStartedStep.Review:\n return \"Purchase Membership\";\n default: return \"Continue\";\n }\n }\n\n const disabledStatus = () => {\n switch (step) {\n case GetStartedStep.HealthConcern: \n return healthConcernStatus === null;\n case GetStartedStep.CreateAccount:\n return !isCheckedWelcomePatient();\n case GetStartedStep.NameInterstitial:\n return !isCheckedNameInfo();\n case GetStartedStep.PersonalInfo:\n return !isCheckedPersonalInfo();\n case GetStartedStep.AskInsurance:\n return false;\n case GetStartedStep.CaptureInsurance:\n return false;\n case GetStartedStep.OnnInsurance:\n return false;\n case GetStartedStep.Shipping:\n return !isCheckedShippingDetail();\n case GetStartedStep.Payment:\n return !isCheckedPaymentCardDetail();\n case GetStartedStep.Review:\n return false;\n }\n }\n\n const renderBackButton = () => {\n if (step !== GetStartedStep.HealthConcern && step !== GetStartedStep.NameInterstitial) {\n return ;\n } else {\n if (!isPlanAutoSelect && !isConsultationGetStartedPath && step !== GetStartedStep.NameInterstitial) {\n return ;\n }\n }\n return <>;\n }\n\n const renderDefaultNextButton = () => {\n return (\n \n \n \n \n \n \n {step === GetStartedStep.CreateAccount && (\n \n Have an account?\n goToLoginPage()}>\n \n Sign In\n \n \n \n )}\n {step === GetStartedStep.HaveAccount && (\n \n goToResetPasswordStep()}>\n \n Forgot Password?\n \n \n \n )}\n {step === GetStartedStep.ResetPassword && (\n \n goToHaveAccountStep()}>\n \n Log In\n \n \n \n )}\n \n )\n }\n\n const renderAskInsuranceNextButton = () => {\n return (\n <>\n \n \n \n \n \n \n handleHasInsurance(false)}\n label=\"NO\"\n disabled={false}\n />\n \n \n \n \n )\n }\n\n const renderNextButton = (step: GetStartedStep): JSX.Element => {\n switch (step) {\n case GetStartedStep.AskInsurance: return renderAskInsuranceNextButton();\n case GetStartedStep.AskMedicare: return renderAskInsuranceNextButton();\n case GetStartedStep.CaptureInsurance: return <>;\n case GetStartedStep.Review: return <>;\n default: return renderDefaultNextButton();\n }\n }\n\n return (\n <>\n {isEmailSent && step === GetStartedStep.ResetPassword && (\n \n \n \n A link was sent to your email\n \n \n )}\n \n {!isSubmitted && renderBackButton()}\n \n \n \n {step === GetStartedStep.HealthConcern && renderHealthConcernStep()}\n {step === GetStartedStep.HealthConcernInterstitial && renderHealthConcernInterstitialStep()}\n {step === GetStartedStep.CreateAccount && renderCreateAccountStep()}\n {step === GetStartedStep.HaveAccount && renderHaveAccountStep()}\n {step === GetStartedStep.ResetPassword && renderResetPasswordStep()}\n {step === GetStartedStep.NameInterstitial && renderNameInterstitialStep()}\n {step === GetStartedStep.PersonalInfo && renderPersonalInfoStep()}\n {step === GetStartedStep.AskInsurance && renderAskInsuranceStep()}\n {step === GetStartedStep.AskMedicare && renderAskMedicareStep()}\n {step === GetStartedStep.CaptureInsurance && renderCaptureInsuranceStep()}\n {step === GetStartedStep.OnnInsurance && renderOnnInsuranceStep()}\n {step === GetStartedStep.Shipping && renderShippingStep()}\n {step === GetStartedStep.Payment && renderPaymentStep()}\n {step === GetStartedStep.Review && renderCheckoutStep()}\n {\n renderNextButton(step)\n }\n \n {step === GetStartedStep.PersonalInfo && isMarketingSMSButton && isAgreeSMS && renderMarketingSMSSubCopy()}\n \n \n {isSmallScreen && step === GetStartedStep.Review && showBottom && (\n \n \n \n )}\n \n )\n}\n","import { GeneralValidator } from \"../../../common/validation/general-validator\";\nimport {\n addressValidationRules,\n newBirthdayValidationRule,\n adultValidationRule,\n emailValidationRule,\n firstNameValidationRule,\n functionValidationRule,\n lastNameValidationRule,\n notWhitespaceValidationRule,\n phoneNumberValidationRule,\n regexpValidationRule,\n stringLengthValidationRule,\n requiredValidationRule\n} from \"../../../common/validation/general-validation-rules\";\nimport { Gender } from \"../../../common/models/user.models\";\n\nexport const finishCheckoutComponentValidator = new GeneralValidator({\n 'firstName': [firstNameValidationRule, notWhitespaceValidationRule()],\n 'lastName': [lastNameValidationRule, notWhitespaceValidationRule()],\n 'email': [emailValidationRule],\n 'birthday': [adultValidationRule, newBirthdayValidationRule],\n 'gender': [functionValidationRule((value) => {\n if (+value === Gender.Female) return true;\n if (+value === Gender.Male) return true;\n return false;\n }, \"Gender should be selected.\")],\n 'state': [functionValidationRule((value) => {\n return value;\n }, \"State should be selected.\")],\n 'phoneNumber': [phoneNumberValidationRule],\n 'password': [\n functionValidationRule((p: string) => { return !p.includes(\" \") }, \"Password should not contain spaces.\"),\n regexpValidationRule(new RegExp(\"(?=.*[0-9])\"), \"Password should contain at least one digit.\"),\n regexpValidationRule(new RegExp(\"(?=.*[a-z])\"), \"Password should contain at least one lower case.\"),\n regexpValidationRule(new RegExp(\"(?=.*[A-Z])\"), \"Password should contain at least one upper case.\"),\n stringLengthValidationRule(8, null, 'Password should contain at least 8 characters.'),\n notWhitespaceValidationRule()\n ],\n 'confirmPassword': [stringLengthValidationRule(1, null, 'Confirm password is required.'), notWhitespaceValidationRule()],\n\n // billingAddress form\n 'billingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'billingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'billingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'billingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'billingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'billingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // shippingAddress form\n 'shippingAddress.streetAddress1': [addressValidationRules.streetAddress1, notWhitespaceValidationRule()],\n 'shippingAddress.streetAddress2': [addressValidationRules.streetAddress2, notWhitespaceValidationRule()],\n 'shippingAddress.city': [addressValidationRules.city, notWhitespaceValidationRule()],\n 'shippingAddress.state': [addressValidationRules.state, notWhitespaceValidationRule()],\n 'shippingAddress.country': [addressValidationRules.country, notWhitespaceValidationRule()],\n 'shippingAddress.zipCode': [addressValidationRules.zipCode, notWhitespaceValidationRule()],\n\n // lead source form\n 'selectedLeadSource.otherLeadSource': [stringLengthValidationRule(1, 50)],\n\n // card Name\n 'cardName': [requiredValidationRule(), notWhitespaceValidationRule()],\n})","import { makeStyles, Theme } from '@material-ui/core/styles';\nimport { colors } from '../../../common/constants/colors';\n\ntype Props = {\n topBannerHeight: number;\n};\n\nexport const useStyles = makeStyles((theme: Theme) => ({\n root: {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n '& .MuiOutlinedInput-root': {\n borderColor: colors.mediumGray,\n borderRadius: 4,\n },\n },\n container: {\n backgroundColor: colors.white,\n paddingTop: 40,\n [theme.breakpoints.down('xs')]: {\n paddingTop: 12,\n },\n },\n main: {\n maxWidth: 736,\n margin: '0 auto',\n },\n inputFieldMain: {\n maxWidth: 456,\n margin: '0 auto',\n },\n concernMain: {\n maxWidth: 481,\n margin: '0 auto',\n },\n concernInterstitialMain: {\n maxWidth: 529,\n margin: '0 auto',\n },\n clinicallyProvenResultsMain: {\n maxWidth: 552,\n margin: '0 auto',\n },\n orderSummeryMain: {\n maxWidth: 360,\n margin: '0 auto',\n },\n concernBorder: {\n border: '1px solid #00000033',\n borderRadius: 4,\n },\n concernBorderActive: {\n border: `2px solid ${colors.mint}`,\n borderRadius: 4,\n },\n workingTogetherImage: {\n width: 291,\n [theme.breakpoints.down('xs')]: {\n width: 219,\n },\n },\n sandraAvatar: {\n width: 56,\n height: 56\n },\n termsPolicyLink: {\n color: colors.charcoal,\n cursor: 'pointer',\n paddingLeft: '4px',\n textDecoration: 'underline',\n },\n btnLink: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.primaryV,\n textAlign: 'start',\n fontSize: 16,\n fontWeight: 500,\n padding: 14,\n paddingLeft: 0,\n cursor: 'pointer',\n display: 'flex',\n alignItems: 'center',\n [theme.breakpoints.down('xs')]: {\n fontSize: 14,\n },\n },\n addIcon: {\n fill: colors.primaryV,\n width: 18,\n height: 18\n },\n couponBtnLink1: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.main,\n textAlign: 'center',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n padding: 0,\n cursor: 'pointer',\n borderBottom: '1px solid',\n borderBottomColor: colors.main,\n },\n couponBtnLink2: {\n border: 'none',\n backgroundColor: colors.white,\n color: colors.linkBlack,\n textAlign: 'center',\n fontSize: 16,\n fontWeight: 500,\n lineHeight: '24px',\n padding: 0,\n cursor: 'pointer',\n },\n label: {\n fontSize: 14,\n fontWeight: 500,\n color: colors.gray900,\n textTransform: 'uppercase',\n [theme.breakpoints.down('xs')]: {\n fontSize: 12,\n },\n },\n title: {\n fontSize: 40,\n fontWeight: 500,\n lineHeight: '50px',\n color: colors.navy,\n [theme.breakpoints.down('xs')]: {\n fontSize: 28,\n lineHeight: '34px',\n },\n },\n smallTitle: {\n fontSize: 18,\n lineHeight: '25px',\n fontWeight: 500,\n color: colors.navy,\n },\n paymentMethodBlock: {\n padding: '12px 24px',\n borderRadius: 8,\n backgroundColor: colors.gray6\n },\n helperText: {\n paddingRight: 4,\n lineHeight: '24px',\n fontWeight: 500,\n },\n link: {\n color: colors.darkMint,\n },\n linkText: {\n fontWeight: 500,\n },\n setPasswordSection: {\n width: '100%',\n display: 'flex',\n justifyContent: 'center',\n paddingTop: 24,\n paddingBottom: 24,\n [theme.breakpoints.down('sm')]: {\n paddingTop: 16,\n paddingBottom: 16,\n },\n },\n doneIcon: {\n fill: colors.mint,\n },\n downIcon: {\n fill: colors.mint,\n width: 15\n },\n linkEmailSent: {\n width: 'fit-content',\n border: `1px solid ${colors.mint}`,\n borderRadius: 8,\n backgroundColor: '#F7FBF9',\n display: 'flex',\n alignItems: 'center',\n padding: '12px 16px',\n paddingRight: 24,\n marginRight: 'auto',\n marginLeft: 'auto',\n },\n backBtnSection: {\n position: 'fixed',\n left: 120,\n top: ({ topBannerHeight }) => {\n if (topBannerHeight > 0) {\n return topBannerHeight + 24;\n } else {\n return 24;\n }\n },\n zIndex: 1999,\n [theme.breakpoints.down('sm')]: {\n left: 0,\n top: ({ topBannerHeight }) => {\n if (topBannerHeight > 0) {\n return topBannerHeight + 26;\n } else {\n return 26;\n }\n }\n },\n },\n stickyReviewBtnSection: {\n position: 'fixed',\n bottom: 0,\n width: '100%',\n background: colors.white,\n padding: 24,\n boxShadow: '0px -3px 6px rgba(185, 185, 185, 0.5)'\n },\n securityBlock: {\n background: 'linear-gradient(100.15deg, #194E67 14.09%, #A7CDC0 144.49%)',\n borderRadius: 11\n }\n}));","import React, { useState, useEffect } from \"react\";\nimport { PaymentRequestButtonElement, useStripe } from \"@stripe/react-stripe-js\";\nimport { Box } from \"@material-ui/core\";\nimport { PaymentPriceModel } from \"../../models/paymentPrice.models\";\nimport { SelectAddOnModel } from '../../../addons/models/addOns.models';\nimport { paymentService } from \"../../services/payment.service\";\nimport { snackService } from \"../../../common/snack/state\";\n\ninterface PayButtonComponentProps {\n selectedPrice?: PaymentPriceModel;\n selectedAddOns?: SelectAddOnModel[];\n isPaid: boolean;\n handleSetPaid: () => void;\n}\n\nexport const PayButtonComponent: React.FC = (props: PayButtonComponentProps) => {\n const {\n selectedPrice,\n selectedAddOns,\n isPaid,\n handleSetPaid\n } = props;\n\n const stripe = useStripe();\n const [paymentRequest, setPaymentRequest] = useState(null);\n\n const startupFee = selectedPrice?.startupFee ?? 0;\n const discount = selectedPrice?.discount ?? 0;\n const totalPrice = (selectedPrice?.originalPrice ?? 0) + startupFee - discount +\n (selectedAddOns?.reduce((sum, current) => sum + current.price, 0) ?? 0);\n\n useEffect(() => {\n if (stripe) {\n const pr = stripe.paymentRequest({\n country: 'US',\n currency: 'usd',\n total: {\n label: 'Total Due Today',\n amount: totalPrice * 100,\n },\n requestPayerName: true,\n requestPayerEmail: true,\n });\n const option = {\n amount: totalPrice * 100,\n currency: 'usd'\n }\n\n setPaymentRequest(null)\n \n // Check the availability of the Payment Request API.\n pr.canMakePayment().then(result => {\n if (result) {\n pr.on('paymentmethod', async (ev) => {\n paymentService.createStripePaymenIntent(option).subscribe(async (response) => {\n // Confirm the PaymentIntent without handling potential next actions (yet).\n const {paymentIntent, error: confirmError} = await stripe.confirmCardPayment(\n response.client_secret,\n {payment_method: ev.paymentMethod.id},\n {handleActions: false}\n );\n if (confirmError) {\n ev.complete('fail');\n } else {\n ev.complete('success');\n if (paymentIntent.status === \"requires_action\") {\n // Let Stripe.js handle the rest of the payment flow.\n const {error} = await stripe.confirmCardPayment(response.client_secret);\n if (error) {\n // The payment failed -- ask your customer for a new payment method.\n snackService.error('Payment failed! Please use new payment method');\n } else {\n // The payment has succeeded -- show a success message to your customer.\n snackService.success('Payment succeeded!');\n handleSetPaid()\n }\n } else {\n // The payment has succeeded -- show a success message to your customer.\n snackService.success('Payment succeeded!');\n handleSetPaid()\n }\n }\n })\n });\n setPaymentRequest(pr);\n }\n });\n }\n }, [stripe, totalPrice, handleSetPaid]);\n\n if (isPaid) {\n return Payment succeeded!\n }\n \n if (paymentRequest) {\n return \n }\n\n return (\n <>\n );\n}","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _g, _circle, _circle2, _rect, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgProvenResultsDesktop = function SvgProvenResultsDesktop(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 556,\n height: 297,\n viewBox: \"0 0 556 297\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.66 37.4279C53.2695 36.5489 52.7017 35.7599 51.9922 35.1103L51.4068 34.5731C51.3869 34.5554 51.363 34.5428 51.3371 34.5365C51.3112 34.5301 51.2842 34.5302 51.2583 34.5368C51.2325 34.5434 51.2087 34.5562 51.189 34.5741C51.1693 34.592 51.1542 34.6144 51.1452 34.6395L50.8837 35.3899C50.7207 35.8607 50.4209 36.3415 49.9964 36.8143C49.9683 36.8445 49.9361 36.8526 49.914 36.8546C49.8918 36.8566 49.8576 36.8526 49.8275 36.8244C49.7993 36.8002 49.7852 36.764 49.7872 36.7278C49.8617 35.5167 49.4995 34.1506 48.7069 32.6639C48.051 31.4286 47.1396 30.4649 46.0009 29.793L45.17 29.3041C45.0614 29.2397 44.9226 29.3242 44.9286 29.451L44.9729 30.4166C45.003 31.0765 44.9266 31.66 44.7455 32.1448C44.5242 32.7383 44.2063 33.2896 43.7999 33.7845C43.5171 34.1284 43.1966 34.4395 42.8443 34.7119C41.9959 35.3641 41.3061 36.1998 40.8264 37.1563C40.348 38.1213 40.0987 39.1836 40.0981 40.2606C40.0981 41.2102 40.2852 42.1296 40.6554 42.9967C41.0129 43.8316 41.5287 44.5893 42.1744 45.2279C42.8262 45.8717 43.5827 46.3787 44.4256 46.7307C45.2988 47.0969 46.2242 47.282 47.1799 47.282C48.1355 47.282 49.0609 47.0969 49.9341 46.7327C50.775 46.3827 51.5396 45.8723 52.1853 45.2299C52.8372 44.5861 53.3482 43.8337 53.7043 42.9988C54.0739 42.134 54.2635 41.2031 54.2616 40.2626C54.2616 39.2809 54.0604 38.3272 53.66 37.4279ZM51.2237 44.2541C50.1433 45.3245 48.7089 45.9119 47.1799 45.9119C45.6509 45.9119 44.2164 45.3245 43.136 44.2541C42.0597 43.1859 41.4662 41.7695 41.4662 40.2626C41.4662 39.3875 41.6634 38.5485 42.0517 37.7679C42.4299 37.0055 42.9932 36.3234 43.6772 35.7983C44.1135 35.4648 44.5091 35.0812 44.8562 34.6556C45.3591 34.042 45.7535 33.358 46.0271 32.6236C46.1393 32.3207 46.2209 32.0073 46.2705 31.6881C46.7554 32.1348 47.1618 32.6739 47.5018 33.3057C48.1737 34.5651 48.4835 35.6857 48.4232 36.6393C48.4088 36.8639 48.4454 37.0888 48.5305 37.2972C48.6155 37.5056 48.7466 37.692 48.9141 37.8424C49.0592 37.9734 49.2289 38.0744 49.4133 38.1393C49.5977 38.2042 49.7932 38.2319 49.9884 38.2206C50.3847 38.2005 50.7489 38.0255 51.0144 37.7297C51.282 37.43 51.5134 37.1242 51.7065 36.8123C51.9882 37.1724 52.2236 37.5647 52.4107 37.9872C52.7306 38.7075 52.8935 39.474 52.8935 40.2626C52.8935 41.7695 52.3 43.1879 51.2237 44.2541Z\",\n fill: \"#88BBAA\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M70.2677 43.282L68.1117 39.474H67.1877V43.282H65.2277V33.51H68.8957C69.6517 33.51 70.2957 33.6453 70.8277 33.916C71.3597 34.1773 71.7564 34.5366 72.0177 34.994C72.2884 35.442 72.4237 35.946 72.4237 36.506C72.4237 37.15 72.2371 37.7333 71.8637 38.256C71.4904 38.7693 70.9351 39.124 70.1977 39.32L72.5357 43.282H70.2677ZM67.1877 38.004H68.8257C69.3577 38.004 69.7544 37.878 70.0157 37.626C70.2771 37.3646 70.4077 37.0053 70.4077 36.548C70.4077 36.1 70.2771 35.7546 70.0157 35.512C69.7544 35.26 69.3577 35.134 68.8257 35.134H67.1877V38.004ZM81.5465 39.236C81.5465 39.516 81.5278 39.768 81.4905 39.992H75.8205C75.8671 40.552 76.0631 40.9906 76.4085 41.308C76.7538 41.6253 77.1785 41.784 77.6825 41.784C78.4105 41.784 78.9285 41.4713 79.2365 40.846H81.3505C81.1265 41.5926 80.6971 42.2086 80.0625 42.694C79.4278 43.17 78.6485 43.408 77.7245 43.408C76.9778 43.408 76.3058 43.2446 75.7085 42.918C75.1205 42.582 74.6585 42.1106 74.3225 41.504C73.9958 40.8973 73.8325 40.1973 73.8325 39.404C73.8325 38.6013 73.9958 37.8966 74.3225 37.29C74.6491 36.6833 75.1065 36.2166 75.6945 35.89C76.2825 35.5633 76.9591 35.4 77.7245 35.4C78.4618 35.4 79.1198 35.5586 79.6985 35.876C80.2865 36.1933 80.7391 36.646 81.0565 37.234C81.3831 37.8126 81.5465 38.48 81.5465 39.236ZM79.5165 38.676C79.5071 38.172 79.3251 37.7706 78.9705 37.472C78.6158 37.164 78.1818 37.01 77.6685 37.01C77.1831 37.01 76.7725 37.1593 76.4365 37.458C76.1098 37.7473 75.9091 38.1533 75.8345 38.676H79.5165ZM82.6131 39.376C82.6131 38.592 82.7671 37.8966 83.0751 37.29C83.3924 36.6833 83.8218 36.2166 84.3631 35.89C84.9044 35.5633 85.5064 35.4 86.1691 35.4C86.6731 35.4 87.1538 35.512 87.6111 35.736C88.0684 35.9506 88.4324 36.24 88.7031 36.604V32.922H90.6911V43.282H88.7031V42.134C88.4604 42.5166 88.1198 42.8246 87.6811 43.058C87.2424 43.2913 86.7338 43.408 86.1551 43.408C85.5018 43.408 84.9044 43.24 84.3631 42.904C83.8218 42.568 83.3924 42.0966 83.0751 41.49C82.7671 40.874 82.6131 40.1693 82.6131 39.376ZM88.7171 39.404C88.7171 38.928 88.6238 38.522 88.4371 38.186C88.2504 37.8406 87.9984 37.5793 87.6811 37.402C87.3638 37.2153 87.0231 37.122 86.6591 37.122C86.2951 37.122 85.9591 37.2106 85.6511 37.388C85.3431 37.5653 85.0911 37.8266 84.8951 38.172C84.7084 38.508 84.6151 38.9093 84.6151 39.376C84.6151 39.8426 84.7084 40.2533 84.8951 40.608C85.0911 40.9533 85.3431 41.2193 85.6511 41.406C85.9684 41.5926 86.3044 41.686 86.6591 41.686C87.0231 41.686 87.3638 41.5973 87.6811 41.42C87.9984 41.2333 88.2504 40.972 88.4371 40.636C88.6238 40.2906 88.7171 39.88 88.7171 39.404ZM100.067 35.526V43.282H98.0934V42.302C97.8414 42.638 97.51 42.904 97.0994 43.1C96.698 43.2866 96.2594 43.38 95.7834 43.38C95.1767 43.38 94.64 43.254 94.1734 43.002C93.7067 42.7406 93.338 42.3626 93.0674 41.868C92.806 41.364 92.6754 40.7666 92.6754 40.076V35.526H94.6354V39.796C94.6354 40.412 94.7894 40.888 95.0974 41.224C95.4054 41.5506 95.8254 41.714 96.3574 41.714C96.8987 41.714 97.3234 41.5506 97.6314 41.224C97.9394 40.888 98.0934 40.412 98.0934 39.796V35.526H100.067ZM101.637 39.404C101.637 38.6013 101.801 37.9013 102.127 37.304C102.454 36.6973 102.907 36.2306 103.485 35.904C104.064 35.568 104.727 35.4 105.473 35.4C106.435 35.4 107.228 35.6426 107.853 36.128C108.488 36.604 108.913 37.276 109.127 38.144H107.013C106.901 37.808 106.71 37.5466 106.439 37.36C106.178 37.164 105.851 37.066 105.459 37.066C104.899 37.066 104.456 37.2713 104.129 37.682C103.803 38.0833 103.639 38.6573 103.639 39.404C103.639 40.1413 103.803 40.7153 104.129 41.126C104.456 41.5273 104.899 41.728 105.459 41.728C106.253 41.728 106.771 41.3733 107.013 40.664H109.127C108.913 41.504 108.488 42.1713 107.853 42.666C107.219 43.1606 106.425 43.408 105.473 43.408C104.727 43.408 104.064 43.2446 103.485 42.918C102.907 42.582 102.454 42.1153 102.127 41.518C101.801 40.9113 101.637 40.2066 101.637 39.404ZM112.985 37.136V40.888C112.985 41.1493 113.046 41.3406 113.167 41.462C113.298 41.574 113.512 41.63 113.811 41.63H114.721V43.282H113.489C111.837 43.282 111.011 42.4793 111.011 40.874V37.136H110.087V35.526H111.011V33.608H112.985V35.526H114.721V37.136H112.985ZM117.265 34.602C116.92 34.602 116.63 34.4946 116.397 34.28C116.173 34.056 116.061 33.7806 116.061 33.454C116.061 33.1273 116.173 32.8566 116.397 32.642C116.63 32.418 116.92 32.306 117.265 32.306C117.61 32.306 117.895 32.418 118.119 32.642C118.352 32.8566 118.469 33.1273 118.469 33.454C118.469 33.7806 118.352 34.056 118.119 34.28C117.895 34.4946 117.61 34.602 117.265 34.602ZM118.231 35.526V43.282H116.271V35.526H118.231ZM123.751 43.408C123.005 43.408 122.333 43.2446 121.735 42.918C121.138 42.582 120.667 42.1106 120.321 41.504C119.985 40.8973 119.817 40.1973 119.817 39.404C119.817 38.6106 119.99 37.9106 120.335 37.304C120.69 36.6973 121.171 36.2306 121.777 35.904C122.384 35.568 123.061 35.4 123.807 35.4C124.554 35.4 125.231 35.568 125.837 35.904C126.444 36.2306 126.92 36.6973 127.265 37.304C127.62 37.9106 127.797 38.6106 127.797 39.404C127.797 40.1973 127.615 40.8973 127.251 41.504C126.897 42.1106 126.411 42.582 125.795 42.918C125.189 43.2446 124.507 43.408 123.751 43.408ZM123.751 41.7C124.106 41.7 124.437 41.616 124.745 41.448C125.063 41.2706 125.315 41.0093 125.501 40.664C125.688 40.3186 125.781 39.8986 125.781 39.404C125.781 38.6666 125.585 38.102 125.193 37.71C124.811 37.3086 124.339 37.108 123.779 37.108C123.219 37.108 122.748 37.3086 122.365 37.71C121.992 38.102 121.805 38.6666 121.805 39.404C121.805 40.1413 121.987 40.7106 122.351 41.112C122.725 41.504 123.191 41.7 123.751 41.7ZM133.673 35.414C134.597 35.414 135.344 35.708 135.913 36.296C136.482 36.8746 136.767 37.6866 136.767 38.732V43.282H134.807V38.998C134.807 38.382 134.653 37.9106 134.345 37.584C134.037 37.248 133.617 37.08 133.085 37.08C132.544 37.08 132.114 37.248 131.797 37.584C131.489 37.9106 131.335 38.382 131.335 38.998V43.282H129.375V35.526H131.335V36.492C131.596 36.156 131.928 35.8946 132.329 35.708C132.74 35.512 133.188 35.414 133.673 35.414ZM143.241 34.602C142.896 34.602 142.606 34.4946 142.373 34.28C142.149 34.056 142.037 33.7806 142.037 33.454C142.037 33.1273 142.149 32.8566 142.373 32.642C142.606 32.418 142.896 32.306 143.241 32.306C143.586 32.306 143.871 32.418 144.095 32.642C144.328 32.8566 144.445 33.1273 144.445 33.454C144.445 33.7806 144.328 34.056 144.095 34.28C143.871 34.4946 143.586 34.602 143.241 34.602ZM144.207 35.526V43.282H142.247V35.526H144.207ZM150.581 35.414C151.505 35.414 152.252 35.708 152.821 36.296C153.391 36.8746 153.675 37.6866 153.675 38.732V43.282H151.715V38.998C151.715 38.382 151.561 37.9106 151.253 37.584C150.945 37.248 150.525 37.08 149.993 37.08C149.452 37.08 149.023 37.248 148.705 37.584C148.397 37.9106 148.243 38.382 148.243 38.998V43.282H146.283V35.526H148.243V36.492C148.505 36.156 148.836 35.8946 149.237 35.708C149.648 35.512 150.096 35.414 150.581 35.414ZM161.115 33.51V43.282H159.155V33.51H161.115ZM167.49 35.414C168.414 35.414 169.16 35.708 169.73 36.296C170.299 36.8746 170.584 37.6866 170.584 38.732V43.282H168.624V38.998C168.624 38.382 168.47 37.9106 168.162 37.584C167.854 37.248 167.434 37.08 166.902 37.08C166.36 37.08 165.931 37.248 165.614 37.584C165.306 37.9106 165.152 38.382 165.152 38.998V43.282H163.192V35.526H165.152V36.492C165.413 36.156 165.744 35.8946 166.146 35.708C166.556 35.512 167.004 35.414 167.49 35.414ZM176.143 37.136H174.785V43.282H172.797V37.136H171.915V35.526H172.797V35.134C172.797 34.182 173.068 33.482 173.609 33.034C174.151 32.586 174.967 32.376 176.059 32.404V34.056C175.583 34.0466 175.252 34.126 175.065 34.294C174.879 34.462 174.785 34.7653 174.785 35.204V35.526H176.143V37.136ZM179.514 32.922V43.282H177.554V32.922H179.514ZM181.086 39.376C181.086 38.592 181.24 37.8966 181.548 37.29C181.865 36.6833 182.29 36.2166 182.822 35.89C183.363 35.5633 183.965 35.4 184.628 35.4C185.207 35.4 185.711 35.5166 186.14 35.75C186.579 35.9833 186.929 36.2773 187.19 36.632V35.526H189.164V43.282H187.19V42.148C186.938 42.512 186.588 42.8153 186.14 43.058C185.701 43.2913 185.193 43.408 184.614 43.408C183.961 43.408 183.363 43.24 182.822 42.904C182.29 42.568 181.865 42.0966 181.548 41.49C181.24 40.874 181.086 40.1693 181.086 39.376ZM187.19 39.404C187.19 38.928 187.097 38.522 186.91 38.186C186.723 37.8406 186.471 37.5793 186.154 37.402C185.837 37.2153 185.496 37.122 185.132 37.122C184.768 37.122 184.432 37.2106 184.124 37.388C183.816 37.5653 183.564 37.8266 183.368 38.172C183.181 38.508 183.088 38.9093 183.088 39.376C183.088 39.8426 183.181 40.2533 183.368 40.608C183.564 40.9533 183.816 41.2193 184.124 41.406C184.441 41.5926 184.777 41.686 185.132 41.686C185.496 41.686 185.837 41.5973 186.154 41.42C186.471 41.2333 186.723 40.972 186.91 40.636C187.097 40.2906 187.19 39.88 187.19 39.404ZM200.85 35.414C201.802 35.414 202.568 35.708 203.146 36.296C203.734 36.8746 204.028 37.6866 204.028 38.732V43.282H202.068V38.998C202.068 38.3913 201.914 37.9293 201.606 37.612C201.298 37.2853 200.878 37.122 200.346 37.122C199.814 37.122 199.39 37.2853 199.072 37.612C198.764 37.9293 198.61 38.3913 198.61 38.998V43.282H196.65V38.998C196.65 38.3913 196.496 37.9293 196.188 37.612C195.88 37.2853 195.46 37.122 194.928 37.122C194.387 37.122 193.958 37.2853 193.64 37.612C193.332 37.9293 193.178 38.3913 193.178 38.998V43.282H191.218V35.526H193.178V36.464C193.43 36.1373 193.752 35.8806 194.144 35.694C194.546 35.5073 194.984 35.414 195.46 35.414C196.067 35.414 196.608 35.5446 197.084 35.806C197.56 36.058 197.929 36.422 198.19 36.898C198.442 36.45 198.806 36.0906 199.282 35.82C199.768 35.5493 200.29 35.414 200.85 35.414ZM215.66 35.414C216.612 35.414 217.378 35.708 217.956 36.296C218.544 36.8746 218.838 37.6866 218.838 38.732V43.282H216.878V38.998C216.878 38.3913 216.724 37.9293 216.416 37.612C216.108 37.2853 215.688 37.122 215.156 37.122C214.624 37.122 214.2 37.2853 213.882 37.612C213.574 37.9293 213.42 38.3913 213.42 38.998V43.282H211.46V38.998C211.46 38.3913 211.306 37.9293 210.998 37.612C210.69 37.2853 210.27 37.122 209.738 37.122C209.197 37.122 208.768 37.2853 208.45 37.612C208.142 37.9293 207.988 38.3913 207.988 38.998V43.282H206.028V35.526H207.988V36.464C208.24 36.1373 208.562 35.8806 208.954 35.694C209.356 35.5073 209.794 35.414 210.27 35.414C210.877 35.414 211.418 35.5446 211.894 35.806C212.37 36.058 212.739 36.422 213 36.898C213.252 36.45 213.616 36.0906 214.092 35.82C214.578 35.5493 215.1 35.414 215.66 35.414ZM220.334 39.376C220.334 38.592 220.488 37.8966 220.796 37.29C221.114 36.6833 221.538 36.2166 222.07 35.89C222.612 35.5633 223.214 35.4 223.876 35.4C224.455 35.4 224.959 35.5166 225.388 35.75C225.827 35.9833 226.177 36.2773 226.438 36.632V35.526H228.412V43.282H226.438V42.148C226.186 42.512 225.836 42.8153 225.388 43.058C224.95 43.2913 224.441 43.408 223.862 43.408C223.209 43.408 222.612 43.24 222.07 42.904C221.538 42.568 221.114 42.0966 220.796 41.49C220.488 40.874 220.334 40.1693 220.334 39.376ZM226.438 39.404C226.438 38.928 226.345 38.522 226.158 38.186C225.972 37.8406 225.72 37.5793 225.402 37.402C225.085 37.2153 224.744 37.122 224.38 37.122C224.016 37.122 223.68 37.2106 223.372 37.388C223.064 37.5653 222.812 37.8266 222.616 38.172C222.43 38.508 222.336 38.9093 222.336 39.376C222.336 39.8426 222.43 40.2533 222.616 40.608C222.812 40.9533 223.064 41.2193 223.372 41.406C223.69 41.5926 224.026 41.686 224.38 41.686C224.744 41.686 225.085 41.5973 225.402 41.42C225.72 41.2333 225.972 40.972 226.158 40.636C226.345 40.2906 226.438 39.88 226.438 39.404ZM232.749 37.136V40.888C232.749 41.1493 232.809 41.3406 232.931 41.462C233.061 41.574 233.276 41.63 233.575 41.63H234.485V43.282H233.253C231.601 43.282 230.775 42.4793 230.775 40.874V37.136H229.851V35.526H230.775V33.608H232.749V35.526H234.485V37.136H232.749ZM237.028 34.602C236.683 34.602 236.394 34.4946 236.16 34.28C235.936 34.056 235.824 33.7806 235.824 33.454C235.824 33.1273 235.936 32.8566 236.16 32.642C236.394 32.418 236.683 32.306 237.028 32.306C237.374 32.306 237.658 32.418 237.882 32.642C238.116 32.8566 238.232 33.1273 238.232 33.454C238.232 33.7806 238.116 34.056 237.882 34.28C237.658 34.4946 237.374 34.602 237.028 34.602ZM237.994 35.526V43.282H236.034V35.526H237.994ZM243.515 43.408C242.768 43.408 242.096 43.2446 241.499 42.918C240.901 42.582 240.43 42.1106 240.085 41.504C239.749 40.8973 239.581 40.1973 239.581 39.404C239.581 38.6106 239.753 37.9106 240.099 37.304C240.453 36.6973 240.934 36.2306 241.541 35.904C242.147 35.568 242.824 35.4 243.571 35.4C244.317 35.4 244.994 35.568 245.601 35.904C246.207 36.2306 246.683 36.6973 247.029 37.304C247.383 37.9106 247.561 38.6106 247.561 39.404C247.561 40.1973 247.379 40.8973 247.015 41.504C246.66 42.1106 246.175 42.582 245.559 42.918C244.952 43.2446 244.271 43.408 243.515 43.408ZM243.515 41.7C243.869 41.7 244.201 41.616 244.509 41.448C244.826 41.2706 245.078 41.0093 245.265 40.664C245.451 40.3186 245.545 39.8986 245.545 39.404C245.545 38.6666 245.349 38.102 244.957 37.71C244.574 37.3086 244.103 37.108 243.543 37.108C242.983 37.108 242.511 37.3086 242.129 37.71C241.755 38.102 241.569 38.6666 241.569 39.404C241.569 40.1413 241.751 40.7106 242.115 41.112C242.488 41.504 242.955 41.7 243.515 41.7ZM253.437 35.414C254.361 35.414 255.107 35.708 255.677 36.296C256.246 36.8746 256.531 37.6866 256.531 38.732V43.282H254.571V38.998C254.571 38.382 254.417 37.9106 254.109 37.584C253.801 37.248 253.381 37.08 252.849 37.08C252.307 37.08 251.878 37.248 251.561 37.584C251.253 37.9106 251.099 38.382 251.099 38.998V43.282H249.139V35.526H251.099V36.492C251.36 36.156 251.691 35.8946 252.093 35.708C252.503 35.512 252.951 35.414 253.437 35.414Z\",\n fill: \"#474B4E\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M127.455 83.0855C85.9291 87.7158 64.9141 75.3746 48.2323 84.6513C47.7581 84.915 47.2231 85.0684 46.6805 85.0684H43.0981C41.4413 85.0684 40.0981 86.4115 40.0981 88.0684V241.513C40.0981 243.17 41.4413 244.513 43.0981 244.513H510.873C512.655 244.513 514.041 242.936 513.853 241.163C509.69 201.752 514.209 238.007 514.209 136.533V122.666C514.209 120.459 511.892 123.019 509.861 122.157C452.455 97.7792 393.782 131.788 368.084 137.615C342.671 143.378 327.582 124.656 298.993 109.308C273.278 95.5039 217.889 73.0018 127.455 83.0855Z\",\n fill: \"#ECECEC\",\n fillOpacity: 0.53\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M514.209 123.237C455.441 95.4995 395.226 131.93 368.878 137.833C343.465 143.526 327.582 126.099 298.993 110.936C273.278 97.2977 222.654 72.9325 132.22 82.8948C90.6846 87.4704 65.0376 77.3455 48.2237 86.5807C47.7529 86.8393 47.2263 86.9877 46.6891 86.9877H43.0981C41.4413 86.9877 40.0981 88.3309 40.0981 89.9877V241.513C40.0981 243.17 41.4413 244.513 43.0981 244.513H514.209\",\n stroke: \"#D2D2D2\",\n strokeWidth: 2\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M441.588 169.37C441.588 170.117 441.467 170.805 441.224 171.435C440.982 172.065 440.639 172.609 440.195 173.066C439.757 173.519 439.227 173.874 438.606 174.13C437.99 174.387 437.304 174.515 436.548 174.515C435.797 174.515 435.111 174.387 434.49 174.13C433.874 173.874 433.345 173.519 432.901 173.066C432.458 172.609 432.115 172.065 431.872 171.435C431.63 170.805 431.508 170.117 431.508 169.37C431.508 168.624 431.63 167.935 431.872 167.305C432.115 166.675 432.458 166.132 432.901 165.674C433.345 165.217 433.874 164.86 434.49 164.603C435.111 164.347 435.797 164.218 436.548 164.218C437.304 164.218 437.99 164.347 438.606 164.603C439.227 164.86 439.757 165.217 440.195 165.674C440.639 166.132 440.982 166.675 441.224 167.305C441.467 167.935 441.588 168.624 441.588 169.37ZM439.915 169.37C439.915 168.792 439.836 168.271 439.677 167.809C439.523 167.347 439.299 166.955 439.005 166.633C438.716 166.311 438.364 166.064 437.948 165.891C437.533 165.719 437.066 165.632 436.548 165.632C436.035 165.632 435.571 165.719 435.155 165.891C434.74 166.064 434.385 166.311 434.091 166.633C433.797 166.955 433.571 167.347 433.412 167.809C433.254 168.271 433.174 168.792 433.174 169.37C433.174 169.954 433.254 170.476 433.412 170.938C433.571 171.4 433.797 171.792 434.091 172.114C434.385 172.432 434.74 172.677 435.155 172.849C435.571 173.017 436.035 173.101 436.548 173.101C437.066 173.101 437.533 173.017 437.948 172.849C438.364 172.677 438.716 172.432 439.005 172.114C439.299 171.792 439.523 171.4 439.677 170.938C439.836 170.476 439.915 169.954 439.915 169.37ZM445.365 174.522C444.772 174.522 444.315 174.357 443.993 174.025C443.675 173.689 443.517 173.218 443.517 172.611V168.453H442.733C442.649 168.453 442.576 168.428 442.516 168.376C442.455 168.32 442.425 168.239 442.425 168.131V167.522L443.58 167.354L443.909 165.289C443.932 165.21 443.972 165.147 444.028 165.1C444.084 165.049 444.158 165.023 444.252 165.023H445.022V167.368H447.003V168.453H445.022V172.506C445.022 172.763 445.085 172.959 445.211 173.094C445.337 173.23 445.505 173.297 445.715 173.297C445.831 173.297 445.932 173.283 446.016 173.255C446.1 173.223 446.172 173.19 446.233 173.157C446.293 173.12 446.345 173.087 446.387 173.059C446.433 173.027 446.478 173.01 446.52 173.01C446.604 173.01 446.671 173.057 446.723 173.15L447.171 173.885C446.937 174.091 446.662 174.249 446.345 174.361C446.027 174.469 445.701 174.522 445.365 174.522ZM449.694 168.117C449.988 167.828 450.31 167.597 450.66 167.424C451.01 167.247 451.418 167.158 451.885 167.158C452.277 167.158 452.62 167.224 452.914 167.354C453.213 167.485 453.462 167.669 453.663 167.907C453.868 168.145 454.022 168.432 454.125 168.768C454.228 169.1 454.279 169.466 454.279 169.867V174.41H452.781V169.867C452.781 169.387 452.669 169.013 452.445 168.747C452.226 168.481 451.89 168.348 451.437 168.348C451.101 168.348 450.788 168.425 450.499 168.579C450.214 168.733 449.946 168.943 449.694 169.209V174.41H448.189V164.05H449.694V168.117ZM460.72 170.035C460.72 169.783 460.682 169.55 460.608 169.335C460.538 169.116 460.433 168.927 460.293 168.768C460.153 168.605 459.978 168.479 459.768 168.39C459.562 168.297 459.324 168.25 459.054 168.25C458.508 168.25 458.078 168.407 457.766 168.719C457.453 169.032 457.255 169.471 457.171 170.035H460.72ZM457.129 170.959C457.147 171.365 457.21 171.718 457.318 172.016C457.425 172.31 457.567 172.555 457.745 172.751C457.927 172.947 458.141 173.094 458.389 173.192C458.641 173.286 458.921 173.332 459.229 173.332C459.523 173.332 459.777 173.3 459.992 173.234C460.206 173.164 460.393 173.09 460.552 173.01C460.71 172.926 460.846 172.852 460.958 172.786C461.07 172.716 461.172 172.681 461.266 172.681C461.387 172.681 461.48 172.728 461.546 172.821L461.973 173.374C461.795 173.584 461.595 173.762 461.371 173.906C461.147 174.051 460.909 174.17 460.657 174.263C460.405 174.352 460.146 174.415 459.88 174.452C459.614 174.494 459.355 174.515 459.103 174.515C458.608 174.515 458.148 174.434 457.724 174.27C457.304 174.102 456.937 173.857 456.625 173.535C456.317 173.213 456.074 172.814 455.897 172.338C455.724 171.862 455.638 171.314 455.638 170.693C455.638 170.199 455.715 169.737 455.869 169.307C456.027 168.878 456.251 168.505 456.541 168.187C456.835 167.87 457.189 167.62 457.605 167.438C458.025 167.252 458.498 167.158 459.026 167.158C459.464 167.158 459.87 167.231 460.244 167.375C460.617 167.515 460.939 167.723 461.21 167.998C461.48 168.274 461.69 168.612 461.84 169.013C461.994 169.41 462.071 169.863 462.071 170.371C462.071 170.605 462.045 170.761 461.994 170.84C461.942 170.92 461.849 170.959 461.714 170.959H457.129ZM464.895 168.593C465.119 168.141 465.39 167.786 465.707 167.529C466.024 167.268 466.405 167.137 466.848 167.137C467.002 167.137 467.147 167.156 467.282 167.193C467.417 167.226 467.539 167.277 467.646 167.347L467.541 168.481C467.522 168.561 467.492 168.617 467.45 168.649C467.413 168.677 467.361 168.691 467.296 168.691C467.226 168.691 467.126 168.68 466.995 168.656C466.864 168.628 466.727 168.614 466.582 168.614C466.372 168.614 466.185 168.645 466.022 168.705C465.863 168.766 465.719 168.855 465.588 168.971C465.462 169.088 465.35 169.23 465.252 169.398C465.154 169.566 465.063 169.758 464.979 169.972V174.41H463.474V167.27H464.349C464.508 167.27 464.617 167.301 464.678 167.361C464.739 167.417 464.781 167.518 464.804 167.662L464.895 168.593Z\",\n fill: \"#08151F\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M480.51 262.847V271.487H479.274V265.565C479.274 265.469 479.276 265.365 479.28 265.253C479.288 265.137 479.298 265.021 479.31 264.905L476.532 270.035C476.424 270.247 476.258 270.353 476.034 270.353H475.836C475.608 270.353 475.442 270.247 475.338 270.035L472.518 264.893C472.53 265.009 472.538 265.125 472.542 265.241C472.55 265.357 472.554 265.465 472.554 265.565V271.487H471.318V262.847H472.368C472.492 262.847 472.588 262.859 472.656 262.883C472.724 262.903 472.786 262.969 472.842 263.081L475.614 268.103C475.674 268.219 475.73 268.339 475.782 268.463C475.838 268.583 475.888 268.707 475.932 268.835C475.98 268.707 476.03 268.581 476.082 268.457C476.138 268.329 476.196 268.207 476.256 268.091L478.986 263.081C479.042 262.969 479.104 262.903 479.172 262.883C479.24 262.859 479.336 262.847 479.46 262.847H480.51ZM484.775 265.271C485.227 265.271 485.635 265.345 485.999 265.493C486.367 265.641 486.679 265.851 486.935 266.123C487.195 266.395 487.395 266.725 487.535 267.113C487.675 267.501 487.745 267.937 487.745 268.421C487.745 268.905 487.675 269.341 487.535 269.729C487.395 270.117 487.195 270.449 486.935 270.725C486.679 270.997 486.367 271.207 485.999 271.355C485.635 271.503 485.227 271.577 484.775 271.577C484.319 271.577 483.907 271.503 483.539 271.355C483.175 271.207 482.863 270.997 482.603 270.725C482.343 270.449 482.143 270.117 482.003 269.729C481.863 269.341 481.793 268.905 481.793 268.421C481.793 267.937 481.863 267.501 482.003 267.113C482.143 266.725 482.343 266.395 482.603 266.123C482.863 265.851 483.175 265.641 483.539 265.493C483.907 265.345 484.319 265.271 484.775 265.271ZM484.775 270.569C485.327 270.569 485.737 270.385 486.005 270.017C486.277 269.645 486.413 269.115 486.413 268.427C486.413 267.739 486.277 267.209 486.005 266.837C485.737 266.461 485.327 266.273 484.775 266.273C484.215 266.273 483.799 266.461 483.527 266.837C483.255 267.209 483.119 267.739 483.119 268.427C483.119 269.115 483.255 269.645 483.527 270.017C483.799 270.385 484.215 270.569 484.775 270.569ZM490.19 266.177C490.322 266.041 490.458 265.919 490.598 265.811C490.742 265.699 490.894 265.603 491.054 265.523C491.214 265.443 491.384 265.381 491.564 265.337C491.744 265.293 491.94 265.271 492.152 265.271C492.488 265.271 492.782 265.327 493.034 265.439C493.29 265.551 493.504 265.709 493.676 265.913C493.852 266.117 493.984 266.363 494.072 266.651C494.16 266.935 494.204 267.249 494.204 267.593V271.487H492.92V267.593C492.92 267.181 492.824 266.861 492.632 266.633C492.444 266.405 492.156 266.291 491.768 266.291C491.48 266.291 491.212 266.357 490.964 266.489C490.72 266.621 490.49 266.801 490.274 267.029V271.487H488.984V265.367H489.764C489.94 265.367 490.052 265.449 490.1 265.613L490.19 266.177ZM497.591 271.583C497.083 271.583 496.691 271.441 496.415 271.157C496.143 270.869 496.007 270.465 496.007 269.945V266.381H495.335C495.263 266.381 495.201 266.359 495.149 266.315C495.097 266.267 495.071 266.197 495.071 266.105V265.583L496.061 265.439L496.343 263.669C496.363 263.601 496.397 263.547 496.445 263.507C496.493 263.463 496.557 263.441 496.637 263.441H497.297V265.451H498.995V266.381H497.297V269.855C497.297 270.075 497.351 270.243 497.459 270.359C497.567 270.475 497.711 270.533 497.891 270.533C497.991 270.533 498.077 270.521 498.149 270.497C498.221 270.469 498.283 270.441 498.335 270.413C498.387 270.381 498.431 270.353 498.467 270.329C498.507 270.301 498.545 270.287 498.581 270.287C498.653 270.287 498.711 270.327 498.755 270.407L499.139 271.037C498.939 271.213 498.703 271.349 498.431 271.445C498.159 271.537 497.879 271.583 497.591 271.583ZM501.302 266.093C501.554 265.845 501.83 265.647 502.13 265.499C502.43 265.347 502.78 265.271 503.18 265.271C503.516 265.271 503.81 265.327 504.062 265.439C504.318 265.551 504.532 265.709 504.704 265.913C504.88 266.117 505.012 266.363 505.1 266.651C505.188 266.935 505.232 267.249 505.232 267.593V271.487H503.948V267.593C503.948 267.181 503.852 266.861 503.66 266.633C503.472 266.405 503.184 266.291 502.796 266.291C502.508 266.291 502.24 266.357 501.992 266.489C501.748 266.621 501.518 266.801 501.302 267.029V271.487H500.012V262.607H501.302V266.093ZM512.409 270.515C512.669 270.515 512.907 270.473 513.123 270.389C513.339 270.301 513.523 270.181 513.675 270.029C513.831 269.877 513.951 269.697 514.035 269.489C514.119 269.281 514.161 269.055 514.161 268.811C514.161 268.547 514.119 268.311 514.035 268.103C513.955 267.891 513.839 267.713 513.687 267.569C513.539 267.425 513.359 267.315 513.147 267.239C512.939 267.159 512.709 267.119 512.457 267.119C512.197 267.119 511.961 267.163 511.749 267.251C511.541 267.339 511.363 267.459 511.215 267.611C511.067 267.763 510.953 267.941 510.873 268.145C510.793 268.349 510.753 268.565 510.753 268.793C510.753 269.049 510.789 269.283 510.861 269.495C510.933 269.707 511.039 269.889 511.179 270.041C511.319 270.189 511.491 270.305 511.695 270.389C511.903 270.473 512.141 270.515 512.409 270.515ZM511.935 266.027C511.871 266.107 511.809 266.183 511.749 266.255C511.693 266.327 511.637 266.399 511.581 266.471C511.765 266.367 511.967 266.285 512.187 266.225C512.407 266.165 512.643 266.135 512.895 266.135C513.231 266.135 513.553 266.191 513.861 266.303C514.169 266.411 514.439 266.575 514.671 266.795C514.907 267.011 515.095 267.281 515.235 267.605C515.375 267.925 515.445 268.295 515.445 268.715C515.445 269.115 515.371 269.489 515.223 269.837C515.079 270.185 514.875 270.489 514.611 270.749C514.347 271.005 514.029 271.209 513.657 271.361C513.289 271.509 512.881 271.583 512.433 271.583C511.985 271.583 511.581 271.511 511.221 271.367C510.861 271.223 510.553 271.021 510.297 270.761C510.045 270.497 509.851 270.181 509.715 269.813C509.579 269.445 509.511 269.035 509.511 268.583C509.511 268.191 509.595 267.781 509.763 267.353C509.931 266.925 510.191 266.475 510.543 266.003L512.667 263.153C512.731 263.069 512.823 262.997 512.943 262.937C513.067 262.877 513.205 262.847 513.357 262.847H514.497L511.935 266.027Z\",\n fill: \"#63686B\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.3957 262.847V271.487H54.1597V265.565C54.1597 265.469 54.1617 265.365 54.1657 265.253C54.1737 265.137 54.1837 265.021 54.1957 264.905L51.4177 270.035C51.3097 270.247 51.1437 270.353 50.9197 270.353H50.7217C50.4937 270.353 50.3277 270.247 50.2237 270.035L47.4037 264.893C47.4157 265.009 47.4237 265.125 47.4277 265.241C47.4357 265.357 47.4397 265.465 47.4397 265.565V271.487H46.2037V262.847H47.2537C47.3777 262.847 47.4737 262.859 47.5417 262.883C47.6097 262.903 47.6717 262.969 47.7277 263.081L50.4997 268.103C50.5597 268.219 50.6157 268.339 50.6677 268.463C50.7237 268.583 50.7737 268.707 50.8177 268.835C50.8657 268.707 50.9157 268.581 50.9677 268.457C51.0237 268.329 51.0817 268.207 51.1417 268.091L53.8717 263.081C53.9277 262.969 53.9897 262.903 54.0577 262.883C54.1257 262.859 54.2217 262.847 54.3457 262.847H55.3957ZM59.6605 265.271C60.1125 265.271 60.5205 265.345 60.8845 265.493C61.2525 265.641 61.5645 265.851 61.8205 266.123C62.0805 266.395 62.2805 266.725 62.4205 267.113C62.5605 267.501 62.6305 267.937 62.6305 268.421C62.6305 268.905 62.5605 269.341 62.4205 269.729C62.2805 270.117 62.0805 270.449 61.8205 270.725C61.5645 270.997 61.2525 271.207 60.8845 271.355C60.5205 271.503 60.1125 271.577 59.6605 271.577C59.2045 271.577 58.7925 271.503 58.4245 271.355C58.0605 271.207 57.7485 270.997 57.4885 270.725C57.2285 270.449 57.0285 270.117 56.8885 269.729C56.7485 269.341 56.6785 268.905 56.6785 268.421C56.6785 267.937 56.7485 267.501 56.8885 267.113C57.0285 266.725 57.2285 266.395 57.4885 266.123C57.7485 265.851 58.0605 265.641 58.4245 265.493C58.7925 265.345 59.2045 265.271 59.6605 265.271ZM59.6605 270.569C60.2125 270.569 60.6225 270.385 60.8905 270.017C61.1625 269.645 61.2985 269.115 61.2985 268.427C61.2985 267.739 61.1625 267.209 60.8905 266.837C60.6225 266.461 60.2125 266.273 59.6605 266.273C59.1005 266.273 58.6845 266.461 58.4125 266.837C58.1405 267.209 58.0045 267.739 58.0045 268.427C58.0045 269.115 58.1405 269.645 58.4125 270.017C58.6845 270.385 59.1005 270.569 59.6605 270.569ZM65.076 266.177C65.208 266.041 65.344 265.919 65.484 265.811C65.628 265.699 65.78 265.603 65.94 265.523C66.1 265.443 66.27 265.381 66.45 265.337C66.63 265.293 66.826 265.271 67.038 265.271C67.374 265.271 67.668 265.327 67.92 265.439C68.176 265.551 68.39 265.709 68.562 265.913C68.738 266.117 68.87 266.363 68.958 266.651C69.046 266.935 69.09 267.249 69.09 267.593V271.487H67.806V267.593C67.806 267.181 67.71 266.861 67.518 266.633C67.33 266.405 67.042 266.291 66.654 266.291C66.366 266.291 66.098 266.357 65.85 266.489C65.606 266.621 65.376 266.801 65.16 267.029V271.487H63.87V265.367H64.65C64.826 265.367 64.938 265.449 64.986 265.613L65.076 266.177ZM72.4765 271.583C71.9685 271.583 71.5765 271.441 71.3005 271.157C71.0285 270.869 70.8925 270.465 70.8925 269.945V266.381H70.2205C70.1485 266.381 70.0865 266.359 70.0345 266.315C69.9825 266.267 69.9565 266.197 69.9565 266.105V265.583L70.9465 265.439L71.2285 263.669C71.2485 263.601 71.2825 263.547 71.3305 263.507C71.3785 263.463 71.4425 263.441 71.5225 263.441H72.1825V265.451H73.8805V266.381H72.1825V269.855C72.1825 270.075 72.2365 270.243 72.3445 270.359C72.4525 270.475 72.5965 270.533 72.7765 270.533C72.8765 270.533 72.9625 270.521 73.0345 270.497C73.1065 270.469 73.1685 270.441 73.2205 270.413C73.2725 270.381 73.3165 270.353 73.3525 270.329C73.3925 270.301 73.4305 270.287 73.4665 270.287C73.5385 270.287 73.5965 270.327 73.6405 270.407L74.0245 271.037C73.8245 271.213 73.5885 271.349 73.3165 271.445C73.0445 271.537 72.7645 271.583 72.4765 271.583ZM76.1873 266.093C76.4393 265.845 76.7153 265.647 77.0153 265.499C77.3153 265.347 77.6653 265.271 78.0653 265.271C78.4013 265.271 78.6953 265.327 78.9473 265.439C79.2033 265.551 79.4173 265.709 79.5893 265.913C79.7653 266.117 79.8973 266.363 79.9853 266.651C80.0733 266.935 80.1173 267.249 80.1173 267.593V271.487H78.8333V267.593C78.8333 267.181 78.7373 266.861 78.5453 266.633C78.3573 266.405 78.0693 266.291 77.6813 266.291C77.3933 266.291 77.1253 266.357 76.8773 266.489C76.6333 266.621 76.4033 266.801 76.1873 267.029V271.487H74.8973V262.607H76.1873V266.093ZM89.9882 270.509V271.487H85.2782V270.509H87.0782V265.097C87.0782 264.905 87.0842 264.709 87.0962 264.509L85.7102 265.679C85.6502 265.727 85.5882 265.759 85.5242 265.775C85.4642 265.787 85.4062 265.787 85.3502 265.775C85.2982 265.763 85.2502 265.745 85.2062 265.721C85.1662 265.693 85.1342 265.663 85.1102 265.631L84.7082 265.067L87.3122 262.829H88.3622V270.509H89.9882Z\",\n fill: \"#63686B\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M231.169 124.686C184.032 90.6175 103.968 88.8731 43.3735 83.2338C41.6101 83.0697 40.0981 84.4563 40.0981 86.2273V242.692C40.0981 244.349 41.4413 245.692 43.0981 245.692H511.209C512.865 245.692 514.209 244.349 514.209 242.692V221.769C514.209 220.173 512.962 218.861 511.365 218.86C503.383 218.856 488.898 219.816 477.739 218.921C397.663 212.496 328.593 195.1 231.169 124.686Z\",\n fill: \"url(#paint0_linear_386_9563)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M106.782 218.865H106.635V216.503H106.611C106.134 217.291 105.571 217.872 104.921 218.249C104.27 218.626 103.461 218.817 102.49 218.817C101.882 218.817 101.293 218.704 100.726 218.474C100.158 218.247 99.6526 217.893 99.2087 217.411C98.7648 216.932 98.411 216.341 98.1475 215.64C97.884 214.94 97.7534 214.131 97.7534 213.218C97.7534 212.4 97.9054 211.635 98.2092 210.929C98.5131 210.22 98.9404 209.602 99.4936 209.075C100.044 208.548 100.707 208.135 101.481 207.835C102.255 207.535 103.109 207.385 104.047 207.385C104.541 207.385 105.006 207.424 105.441 207.503C105.877 207.583 106.276 207.676 106.637 207.787C106.62 207.551 106.609 207.228 106.599 206.82C106.59 206.411 106.587 205.993 106.587 205.568V203.565L104.565 202.833V202.692L108.484 201.652H108.681V216.977C108.812 217.057 109.059 217.166 109.422 217.309C109.783 217.45 110.12 217.584 110.433 217.711V217.877L106.779 218.869L106.782 218.865ZM106.609 209.986C106.248 209.341 105.785 208.821 105.227 208.428C104.667 208.035 104.149 207.837 103.672 207.837C103.031 207.837 102.482 207.978 102.031 208.262C101.578 208.546 101.205 208.923 100.909 209.395C100.612 209.868 100.393 210.411 100.256 211.024C100.116 211.637 100.047 212.269 100.047 212.914C100.047 213.559 100.13 214.186 100.294 214.79C100.457 215.396 100.704 215.933 101.034 216.396C101.364 216.859 101.77 217.234 102.257 217.518C102.741 217.802 103.306 217.943 103.947 217.943C104.621 217.943 105.201 217.722 105.687 217.282C106.172 216.841 106.48 216.282 106.613 215.605V209.986H106.609Z\",\n fill: \"white\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M90.2206 218.536V218.795H95.9705V218.536C95.6572 218.504 95.3865 218.486 95.1562 218.477C94.926 218.47 94.736 218.449 94.5888 218.417C94.4417 218.386 94.3301 218.331 94.2565 218.252C94.1829 218.172 94.1449 218.054 94.1449 217.897V201.723H93.9716L90.4414 202.833V202.974C90.6385 203.054 90.8854 203.174 91.1821 203.34C91.4714 203.501 91.6908 203.62 91.838 203.699L91.8492 203.705C91.9632 203.785 92.0344 203.855 92.0581 203.919C92.0842 203.983 92.0961 204.078 92.0961 204.203V217.779C92.0961 218.031 91.9727 218.209 91.7258 218.311C91.4789 218.413 90.9779 218.488 90.2206 218.536Z\",\n fill: \"white\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M83.0653 218.558C83.2624 218.542 83.4594 218.522 83.6588 218.499C83.8582 218.477 84.0339 218.436 84.1882 218.381C84.3449 218.327 84.4755 218.252 84.5823 218.156C84.6891 218.061 84.7437 217.943 84.7437 217.802V209.704C84.7437 209.579 84.7319 209.468 84.7058 209.373C84.682 209.277 84.6108 209.191 84.4968 209.114C84.3497 209.018 84.1716 208.925 83.9674 208.83C83.7609 208.734 83.5425 208.648 83.3146 208.571V208.43L86.6453 207.392H86.7925V217.947C86.8258 218.104 86.8946 218.22 87.0014 218.29C87.1083 218.361 87.2365 218.413 87.3837 218.445C87.5309 218.477 87.6923 218.497 87.8656 218.504C88.0389 218.513 88.2075 218.531 88.3713 218.563V218.799H83.0653V218.558Z\",\n fill: \"white\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M86.6074 204.569C86.351 204.814 86.0352 204.934 85.6577 204.934C85.2803 204.934 84.9835 204.809 84.72 204.557C84.4565 204.305 84.3259 204.008 84.3259 203.66C84.3259 203.313 84.4541 202.999 84.7081 202.763C84.9622 202.527 85.2803 202.408 85.6577 202.408C86.0352 202.408 86.3533 202.527 86.6074 202.763C86.8614 202.999 86.9896 203.299 86.9896 203.66C86.9896 204.021 86.8614 204.326 86.6074 204.569Z\",\n fill: \"white\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M81.4984 207.933C81.2919 207.948 81.0925 208.001 80.8931 208.087C80.696 208.173 80.5014 208.307 80.3138 208.489C80.1263 208.671 79.9553 208.925 79.8081 209.257C79.6111 209.697 79.3761 210.213 79.1054 210.804C78.8348 211.394 78.5546 212.012 78.2674 212.657C77.9801 213.302 77.6905 213.945 77.4032 214.581C77.116 215.219 76.8572 215.812 76.6269 216.364C76.4797 216.664 76.3563 216.918 76.2566 217.132C76.1569 217.345 76.0667 217.534 75.9859 217.697C75.9029 217.863 75.8245 218.025 75.7509 218.181C75.6773 218.338 75.5895 218.513 75.4922 218.701C75.4257 218.797 75.3521 218.842 75.269 218.842C75.1859 218.842 75.1337 218.826 75.1076 218.795C75.0814 218.763 75.0625 218.724 75.0458 218.676C74.8322 218.063 74.6256 217.477 74.4286 216.918C74.2315 216.36 74.025 215.78 73.8113 215.183C73.5977 214.586 73.3674 213.931 73.1205 213.223C72.8736 212.514 72.5863 211.703 72.2563 210.79L69.9108 216.646C69.6805 217.071 69.5072 217.434 69.3933 217.732C69.2769 218.031 69.1369 218.354 68.9731 218.699C68.9066 218.795 68.8259 218.84 68.7262 218.84C68.6431 218.84 68.5695 218.785 68.503 218.674C68.1876 217.939 67.8757 217.213 67.5678 216.496L67.564 216.487C67.2474 215.75 66.935 215.023 66.6275 214.306C66.0198 212.889 65.3693 211.387 64.6784 209.795C64.5787 209.575 64.4695 209.334 64.3461 209.075C64.2226 208.816 64.0944 208.582 63.9639 208.378C63.8642 208.298 63.7217 208.201 63.5318 208.082C63.3419 207.964 62.9763 207.899 62.4326 207.883V207.624H67.9855V207.883C67.8691 207.899 67.7338 207.914 67.5771 207.93C67.4205 207.946 67.2638 207.973 67.1071 208.012C66.9504 208.051 66.8032 208.094 66.6631 208.142C66.5231 208.189 66.4115 208.253 66.3308 208.33C66.364 208.457 66.4922 208.798 66.713 209.357C66.9362 209.916 67.2115 210.581 67.5392 211.351C67.8691 212.123 68.2229 212.941 68.6003 213.806C68.9778 214.672 69.3244 215.467 69.6378 216.191C69.7294 215.97 69.8339 215.718 69.9512 215.436L70.1079 215.058C70.2883 214.617 70.4853 214.129 70.7014 213.593C70.915 213.057 71.1334 212.498 71.3542 211.917C71.5684 211.358 71.7761 210.807 71.9814 210.261L72.0071 210.193C71.8907 209.877 71.7673 209.575 71.6367 209.284C71.5038 208.993 71.3566 208.705 71.1928 208.423C71.1429 208.376 71.0978 208.326 71.0575 208.269C71.0171 208.214 70.9506 208.16 70.8604 208.103C70.7702 208.048 70.642 208.001 70.4782 207.962C70.3144 207.923 70.0841 207.896 69.7874 207.88V207.621H75.4138V207.88C75.3726 207.885 75.3283 207.891 75.2811 207.896L75.2807 207.896L75.2801 207.897C75.1753 207.909 75.0555 207.924 74.92 207.939C74.723 207.962 74.5283 207.998 74.3407 208.046C74.1508 208.094 73.987 208.16 73.847 208.246C73.7069 208.332 73.638 208.462 73.638 208.637C73.638 208.716 73.6831 208.9 73.7734 209.191C73.8636 209.482 73.9823 209.841 74.1318 210.265C74.279 210.69 74.4476 211.163 74.6375 211.683C74.8274 212.203 75.0197 212.721 75.2168 213.241C75.3024 213.467 75.3876 213.69 75.4719 213.912L75.4724 213.913C75.582 214.2 75.6901 214.484 75.796 214.765C75.986 215.26 76.1545 215.699 76.3017 216.076C76.4014 215.871 76.5391 215.569 76.7219 215.167C76.9023 214.765 77.097 214.318 77.3012 213.82C77.4063 213.568 77.5132 213.312 77.622 213.051C77.727 212.8 77.8337 212.545 77.9421 212.285C78.1653 211.758 78.3624 211.262 78.5333 210.797C78.7066 210.333 78.849 209.92 78.9654 209.557C79.0793 209.195 79.1387 208.943 79.1387 208.8C79.1387 208.58 79.0841 208.41 78.9772 208.294C78.8704 208.176 78.7374 208.089 78.5831 208.035C78.4265 207.98 78.2579 207.944 78.0775 207.928C77.897 207.912 77.7309 207.896 77.5837 207.88V207.621H82.0991V207.88C81.902 207.896 81.7002 207.912 81.4937 207.928L81.4984 207.933Z\",\n fill: \"white\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M125.931 218.536V218.795L125.933 218.797H130.992V218.583C130.843 218.567 130.686 218.547 130.522 218.524C130.356 218.499 130.199 218.467 130.052 218.429C129.905 218.39 129.781 218.331 129.682 218.252C129.584 218.172 129.535 218.079 129.535 217.968V211.001C129.535 210.481 129.489 210.002 129.399 209.561C129.309 209.121 129.152 208.739 128.932 208.416C128.711 208.094 128.414 207.842 128.046 207.66C127.676 207.478 127.239 207.387 126.681 207.387C126.123 207.387 125.61 207.478 125.143 207.66C124.675 207.842 124.262 208.058 123.901 208.31C123.54 208.559 123.241 208.828 123.004 209.111C122.764 209.395 122.588 209.648 122.474 209.868L122.424 209.845L122.498 201.652H122.301L118.994 203.092V203.233C119.208 203.36 119.424 203.474 119.647 203.576C119.87 203.678 120.046 203.785 120.179 203.894C120.292 203.973 120.364 204.044 120.387 204.108C120.414 204.171 120.425 204.267 120.425 204.391V217.802C120.425 218.102 120.273 218.295 119.97 218.381C119.666 218.467 119.324 218.527 118.946 218.558V218.795H123.858V218.558C123.694 218.527 123.528 218.504 123.364 218.488C123.201 218.474 123.051 218.445 122.921 218.406C122.79 218.368 122.683 218.308 122.6 218.229C122.517 218.149 122.477 218.038 122.477 217.897V210.649C122.477 210.524 122.505 210.386 122.562 210.236C122.619 210.086 122.664 209.988 122.697 209.941C122.944 209.593 123.274 209.318 123.685 209.114C124.096 208.909 124.599 208.807 125.19 208.807C125.651 208.807 126.028 208.887 126.325 209.043C126.619 209.2 126.854 209.42 127.028 209.704C127.201 209.988 127.32 210.327 127.386 210.72C127.453 211.113 127.486 211.537 127.486 211.994V217.897C127.486 218.149 127.339 218.311 127.042 218.381C126.745 218.454 126.375 218.504 125.931 218.536Z\",\n fill: \"white\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M142.516 216.375C142.285 216.809 141.972 217.207 141.578 217.568C141.184 217.931 140.709 218.229 140.158 218.465C139.608 218.701 138.995 218.82 138.321 218.82C137.48 218.82 136.716 218.67 136.025 218.37C135.334 218.07 134.746 217.65 134.261 217.107C133.777 216.564 133.402 215.926 133.138 215.194C132.875 214.463 132.744 213.686 132.744 212.868C132.744 212.207 132.868 211.551 133.115 210.897C133.361 210.243 133.71 209.657 134.164 209.139C134.617 208.619 135.168 208.198 135.819 207.876C136.469 207.553 137.188 207.392 137.979 207.392C138.62 207.392 139.225 207.471 139.793 207.628C140.36 207.785 140.854 208.026 141.274 208.348C141.694 208.671 142.036 209.077 142.297 209.563C142.561 210.052 142.718 210.626 142.765 211.287H134.843C134.843 211.415 134.833 211.56 134.819 211.724C134.803 211.889 134.795 212.057 134.795 212.232C134.795 212.893 134.895 213.527 135.092 214.134C135.289 214.74 135.576 215.276 135.956 215.739C136.334 216.205 136.811 216.571 137.388 216.837C137.965 217.105 138.629 217.239 139.387 217.239C140.208 217.239 140.93 217.039 141.547 216.637C142.164 216.235 142.57 215.744 142.767 215.16L142.964 215.208C142.898 215.555 142.751 215.944 142.52 216.378L142.516 216.375ZM139.691 208.419C139.27 208.001 138.708 207.794 138 207.794C137.54 207.794 137.124 207.923 136.754 208.182C136.384 208.441 136.063 208.746 135.792 209.091C135.522 209.439 135.311 209.788 135.163 210.143C135.016 210.497 134.924 210.767 134.893 210.958H135.904C136.201 210.958 136.493 210.954 136.78 210.947C136.903 210.944 137.029 210.941 137.157 210.937L137.158 210.937C137.328 210.933 137.502 210.928 137.68 210.924C137.993 210.917 138.337 210.913 138.717 210.913C138.964 210.913 139.194 210.906 139.408 210.89C139.622 210.874 139.812 210.835 139.976 210.772C140.089 210.647 140.177 210.529 140.234 210.418C140.291 210.308 140.32 210.143 140.32 209.922C140.32 209.341 140.111 208.841 139.691 208.423V208.419Z\",\n fill: \"white\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M154.756 218.122C154.97 217.895 155.141 217.638 155.274 217.354L155.269 217.359C155.402 217.075 155.476 216.784 155.492 216.484H155.345C155.279 216.721 155.155 216.914 154.975 217.064C154.794 217.214 154.514 217.289 154.137 217.289C153.807 217.289 153.515 217.175 153.261 216.946C153.007 216.716 152.878 216.248 152.878 215.54C152.878 215.004 152.881 214.513 152.89 214.063C152.897 213.613 152.902 213.177 152.902 212.753C152.902 212.328 152.904 211.887 152.914 211.431C152.921 210.974 152.926 210.461 152.926 209.895C152.926 209.627 152.919 209.354 152.902 209.08C152.885 208.803 152.845 208.612 152.779 208.5C152.615 208.187 152.342 207.923 151.964 207.71C151.587 207.499 151.183 207.392 150.756 207.392C150.542 207.392 150.267 207.437 149.93 207.533C149.593 207.626 149.222 207.753 148.819 207.91C148.418 208.069 147.993 208.257 147.549 208.478C147.105 208.698 146.668 208.925 146.241 209.161C146.11 209.239 145.958 209.325 145.785 209.42C145.611 209.516 145.45 209.627 145.303 209.752C145.156 209.877 145.032 210.02 144.933 210.177C144.835 210.336 144.785 210.508 144.785 210.697C144.785 210.931 144.88 211.14 145.07 211.322C145.26 211.503 145.486 211.594 145.749 211.594C146.027 211.594 146.286 211.508 146.525 211.335C146.765 211.163 146.884 210.965 146.884 210.745V209.682C146.884 209.586 146.941 209.473 147.057 209.339C147.174 209.205 147.33 209.071 147.527 208.937C147.724 208.803 147.95 208.691 148.206 208.605C148.46 208.519 148.719 208.475 148.983 208.475C149.377 208.475 149.697 208.528 149.944 208.63C150.191 208.732 150.383 208.848 150.523 208.973C150.663 209.098 150.763 209.22 150.82 209.339C150.877 209.457 150.906 209.532 150.906 209.563V211.996C150.739 212.089 150.538 212.196 150.3 212.314C150.063 212.432 149.787 212.573 149.474 212.739C149.161 212.905 148.795 213.105 148.375 213.341C147.955 213.577 147.475 213.859 146.931 214.19C146.388 214.522 145.932 214.892 145.562 215.301C145.191 215.71 145.006 216.135 145.006 216.575C145.006 216.984 145.075 217.329 145.215 217.613C145.355 217.897 145.536 218.129 145.759 218.311C145.982 218.49 146.229 218.617 146.499 218.688C146.77 218.758 147.038 218.795 147.302 218.795C147.748 218.795 148.154 218.729 148.524 218.595C148.895 218.461 149.232 218.283 149.536 218.063C149.842 217.843 150.103 217.607 150.326 217.354C150.549 217.105 150.725 216.875 150.858 216.671L150.908 216.693C150.908 217.482 151.124 218.031 151.561 218.347C151.998 218.663 152.494 218.82 153.054 218.82C153.398 218.82 153.716 218.76 154.004 218.642C154.291 218.524 154.543 218.352 154.756 218.122ZM149.795 213.023C150.238 212.793 150.609 212.578 150.906 212.373H150.908V216.01C150.908 216.278 150.808 216.498 150.611 216.671C150.331 216.939 150.025 217.118 149.697 217.214C149.367 217.307 148.99 217.354 148.562 217.354C148.085 217.354 147.698 217.191 147.401 216.859C147.105 216.528 146.958 216.157 146.958 215.749C146.958 215.34 147.109 214.974 147.413 214.651C147.717 214.329 148.078 214.034 148.498 213.766C148.918 213.5 149.351 213.252 149.795 213.023Z\",\n fill: \"white\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M156.261 218.795V218.536C157.019 218.488 157.52 218.413 157.767 218.311C158.013 218.209 158.137 218.031 158.137 217.779V204.203C158.137 204.078 158.125 203.983 158.099 203.919C158.075 203.855 158.004 203.785 157.89 203.705L157.879 203.7C157.732 203.62 157.512 203.502 157.223 203.34C156.926 203.174 156.679 203.054 156.482 202.974V202.833L160.012 201.723H160.186V217.897C160.186 218.054 160.224 218.172 160.297 218.252C160.371 218.331 160.482 218.386 160.63 218.417C160.777 218.449 160.967 218.47 161.197 218.477C161.427 218.486 161.698 218.504 162.011 218.536V218.795H156.261Z\",\n fill: \"white\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M167.393 209.066H171.144L171.139 209.059L171.904 207.619H167.339V205.566H167.144L163.588 208.8V209.059H165.39C165.39 210.1 165.382 211.283 165.366 212.614C165.349 213.945 165.342 215.351 165.342 216.83C165.342 217.08 165.42 217.329 165.575 217.573C165.729 217.816 165.928 218.036 166.173 218.233C166.417 218.431 166.698 218.581 167.016 218.683C167.334 218.788 167.664 218.838 168.01 218.838C168.537 218.838 168.993 218.779 169.38 218.661C169.767 218.542 170.104 218.379 170.392 218.165C170.679 217.952 170.909 217.716 171.082 217.457C171.256 217.198 171.391 216.95 171.491 216.714L171.344 216.643C171.113 216.959 170.843 217.191 170.529 217.341C170.216 217.491 169.822 217.566 169.345 217.566C168.768 217.566 168.298 217.386 167.937 217.023C167.574 216.662 167.393 216.078 167.393 215.276V209.066Z\",\n fill: \"white\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M179.978 218.536C180.422 218.504 180.792 218.454 181.089 218.381C181.386 218.311 181.533 218.149 181.533 217.897V211.994C181.533 211.537 181.5 211.113 181.433 210.72C181.367 210.327 181.248 209.988 181.075 209.704C180.901 209.42 180.666 209.2 180.372 209.043C180.075 208.887 179.698 208.807 179.237 208.807C178.644 208.807 178.143 208.909 177.732 209.114C177.321 209.318 176.991 209.593 176.744 209.941C176.711 209.988 176.666 210.086 176.609 210.236C176.552 210.386 176.524 210.524 176.524 210.649V217.897C176.524 218.038 176.564 218.149 176.647 218.229C176.73 218.308 176.837 218.368 176.968 218.406C177.098 218.445 177.248 218.474 177.412 218.488C177.575 218.504 177.742 218.527 177.905 218.558V218.795H172.994V218.558C173.371 218.527 173.713 218.467 174.017 218.381C174.321 218.295 174.473 218.102 174.473 217.802V204.391C174.473 204.267 174.461 204.171 174.435 204.108C174.411 204.044 174.34 203.973 174.226 203.894C174.093 203.785 173.917 203.678 173.694 203.576C173.471 203.474 173.255 203.36 173.041 203.233V203.092L176.348 201.652H176.545L176.471 209.845L176.521 209.868C176.635 209.648 176.811 209.395 177.051 209.111C177.288 208.828 177.587 208.559 177.948 208.31C178.309 208.058 178.722 207.842 179.19 207.66C179.657 207.478 180.17 207.387 180.728 207.387C181.286 207.387 181.723 207.478 182.093 207.66C182.461 207.842 182.758 208.094 182.979 208.416C183.199 208.739 183.356 209.121 183.446 209.561C183.537 210.002 183.582 210.481 183.582 211.001V217.968C183.582 218.079 183.632 218.172 183.729 218.252C183.829 218.331 183.952 218.39 184.099 218.429C184.246 218.467 184.403 218.499 184.567 218.524C184.731 218.547 184.887 218.567 185.037 218.583V218.797H179.978V218.536Z\",\n fill: \"white\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M40.0981 85.2822C88.3558 85.2825 172.172 85.2822 230.74 123.725C293.219 166.725 327.951 193.195 419.78 210.801C458.331 218.192 494.736 220.923 512.515 220.923\",\n stroke: \"#B2D7C7\",\n strokeWidth: 4\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_386_9563)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 41.1714,\n cy: 84.0256,\n r: 7,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 41.1714,\n cy: 84.0256,\n r: 5,\n fill: \"#88BBAA\"\n }))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 508.276,\n cy: 219.667,\n r: 7,\n fill: \"white\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 508.276,\n cy: 219.667,\n r: 5,\n fill: \"#88BBAA\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1.59814,\n y: 1.5,\n width: 552.803,\n height: 293.359,\n rx: 10.5,\n stroke: \"#EDEDED\",\n strokeWidth: 3\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_386_9563\",\n x: 30.1714,\n y: 77.0256,\n width: 31.7056,\n height: 24.5129,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 4\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_386_9563\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_386_9563\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_386_9563\",\n x1: 50.4049,\n y1: 128.97,\n x2: 405.176,\n y2: 382.046,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#184D66\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#B2D7C7\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgProvenResultsDesktop, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ProvenResultsDesktop.a23f1aed.svg\";\nexport { ForwardRef as ReactComponent };","var _rect, _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _g, _g2, _defs;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgProvenResultsMobile = function SvgProvenResultsMobile(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 327,\n height: 264,\n viewBox: \"0 0 327 264\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 1.5,\n y: 1,\n width: 324,\n height: 262,\n rx: 9,\n fill: \"white\",\n stroke: \"#F5F5F5\",\n strokeWidth: 2\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M75.0913 79.1376C50.9338 83.0046 38.5299 72.91 28.7478 80.1244C28.1705 80.5502 27.4827 80.8188 26.7653 80.8188H26.5C24.8431 80.8188 23.5 82.1619 23.5 83.8188V213C23.5 214.657 24.8431 216 26.5 216H300.27C302.014 216 303.389 214.51 303.262 212.771C300.852 179.985 303.5 210.147 303.5 124.452V114.359C303.5 111.945 300.753 112.092 298.633 110.937C265.474 92.8862 232.036 120.54 217.202 125.369C202.193 130.255 193.282 114.382 176.398 101.37C161.211 89.6663 128.5 70.5884 75.0913 79.1376Z\",\n fill: \"#ECECEC\",\n fillOpacity: 0.53\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M303.5 113.179C268.793 89.6626 233.231 120.549 217.671 125.554C202.662 130.381 193.282 115.605 176.398 102.75C161.211 91.1871 131.314 70.5296 77.9054 78.9759C53.7388 82.7977 38.6796 74.5227 28.7437 81.7636C28.1689 82.1825 27.4867 82.446 26.7755 82.446H26.5C24.8431 82.446 23.5 83.7892 23.5 85.446V213C23.5 214.657 24.8431 216 26.5 216H303.5\",\n stroke: \"#D8D8D8\",\n strokeOpacity: 0.88\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M253.168 153.96C253.168 154.707 253.047 155.395 252.804 156.025C252.561 156.655 252.218 157.199 251.775 157.656C251.336 158.109 250.807 158.463 250.186 158.72C249.57 158.977 248.884 159.105 248.128 159.105C247.377 159.105 246.691 158.977 246.07 158.72C245.454 158.463 244.924 158.109 244.481 157.656C244.038 157.199 243.695 156.655 243.452 156.025C243.209 155.395 243.088 154.707 243.088 153.96C243.088 153.213 243.209 152.525 243.452 151.895C243.695 151.265 244.038 150.721 244.481 150.264C244.924 149.807 245.454 149.45 246.07 149.193C246.691 148.936 247.377 148.808 248.128 148.808C248.884 148.808 249.57 148.936 250.186 149.193C250.807 149.45 251.336 149.807 251.775 150.264C252.218 150.721 252.561 151.265 252.804 151.895C253.047 152.525 253.168 153.213 253.168 153.96ZM251.495 153.96C251.495 153.381 251.416 152.861 251.257 152.399C251.103 151.937 250.879 151.545 250.585 151.223C250.296 150.901 249.943 150.654 249.528 150.481C249.113 150.308 248.646 150.222 248.128 150.222C247.615 150.222 247.15 150.308 246.735 150.481C246.32 150.654 245.965 150.901 245.671 151.223C245.377 151.545 245.151 151.937 244.992 152.399C244.833 152.861 244.754 153.381 244.754 153.96C244.754 154.543 244.833 155.066 244.992 155.528C245.151 155.99 245.377 156.382 245.671 156.704C245.965 157.021 246.32 157.266 246.735 157.439C247.15 157.607 247.615 157.691 248.128 157.691C248.646 157.691 249.113 157.607 249.528 157.439C249.943 157.266 250.296 157.021 250.585 156.704C250.879 156.382 251.103 155.99 251.257 155.528C251.416 155.066 251.495 154.543 251.495 153.96ZM256.944 159.112C256.352 159.112 255.894 158.946 255.572 158.615C255.255 158.279 255.096 157.808 255.096 157.201V153.043H254.312C254.228 153.043 254.156 153.017 254.095 152.966C254.035 152.91 254.004 152.828 254.004 152.721V152.112L255.159 151.944L255.488 149.879C255.512 149.8 255.551 149.737 255.607 149.69C255.663 149.639 255.738 149.613 255.831 149.613H256.601V151.958H258.582V153.043H256.601V157.096C256.601 157.353 256.664 157.549 256.79 157.684C256.916 157.819 257.084 157.887 257.294 157.887C257.411 157.887 257.511 157.873 257.595 157.845C257.679 157.812 257.752 157.78 257.812 157.747C257.873 157.71 257.924 157.677 257.966 157.649C258.013 157.616 258.057 157.6 258.099 157.6C258.183 157.6 258.251 157.647 258.302 157.74L258.75 158.475C258.517 158.68 258.242 158.839 257.924 158.951C257.607 159.058 257.28 159.112 256.944 159.112ZM261.274 152.707C261.568 152.418 261.89 152.187 262.24 152.014C262.59 151.837 262.998 151.748 263.465 151.748C263.857 151.748 264.2 151.813 264.494 151.944C264.792 152.075 265.042 152.259 265.243 152.497C265.448 152.735 265.602 153.022 265.705 153.358C265.807 153.689 265.859 154.056 265.859 154.457V159H264.361V154.457C264.361 153.976 264.249 153.603 264.025 153.337C263.805 153.071 263.469 152.938 263.017 152.938C262.681 152.938 262.368 153.015 262.079 153.169C261.794 153.323 261.526 153.533 261.274 153.799V159H259.769V148.64H261.274V152.707ZM272.299 154.625C272.299 154.373 272.262 154.14 272.187 153.925C272.117 153.706 272.012 153.517 271.872 153.358C271.732 153.195 271.557 153.069 271.347 152.98C271.142 152.887 270.904 152.84 270.633 152.84C270.087 152.84 269.658 152.996 269.345 153.309C269.033 153.622 268.834 154.06 268.75 154.625H272.299ZM268.708 155.549C268.727 155.955 268.79 156.307 268.897 156.606C269.005 156.9 269.147 157.145 269.324 157.341C269.506 157.537 269.721 157.684 269.968 157.782C270.22 157.875 270.5 157.922 270.808 157.922C271.102 157.922 271.357 157.889 271.571 157.824C271.786 157.754 271.973 157.679 272.131 157.6C272.29 157.516 272.425 157.441 272.537 157.376C272.649 157.306 272.752 157.271 272.845 157.271C272.967 157.271 273.06 157.318 273.125 157.411L273.552 157.964C273.375 158.174 273.174 158.351 272.95 158.496C272.726 158.641 272.488 158.76 272.236 158.853C271.984 158.942 271.725 159.005 271.459 159.042C271.193 159.084 270.934 159.105 270.682 159.105C270.188 159.105 269.728 159.023 269.303 158.86C268.883 158.692 268.517 158.447 268.204 158.125C267.896 157.803 267.654 157.404 267.476 156.928C267.304 156.452 267.217 155.904 267.217 155.283C267.217 154.788 267.294 154.326 267.448 153.897C267.607 153.468 267.831 153.094 268.12 152.777C268.414 152.46 268.769 152.21 269.184 152.028C269.604 151.841 270.078 151.748 270.605 151.748C271.044 151.748 271.45 151.82 271.823 151.965C272.197 152.105 272.519 152.313 272.789 152.588C273.06 152.863 273.27 153.202 273.419 153.603C273.573 154 273.65 154.452 273.65 154.961C273.65 155.194 273.625 155.351 273.573 155.43C273.522 155.509 273.429 155.549 273.293 155.549H268.708ZM276.475 153.183C276.699 152.73 276.969 152.376 277.287 152.119C277.604 151.858 277.984 151.727 278.428 151.727C278.582 151.727 278.726 151.746 278.862 151.783C278.997 151.816 279.118 151.867 279.226 151.937L279.121 153.071C279.102 153.15 279.072 153.206 279.03 153.239C278.992 153.267 278.941 153.281 278.876 153.281C278.806 153.281 278.705 153.269 278.575 153.246C278.444 153.218 278.306 153.204 278.162 153.204C277.952 153.204 277.765 153.234 277.602 153.295C277.443 153.356 277.298 153.444 277.168 153.561C277.042 153.678 276.93 153.82 276.832 153.988C276.734 154.156 276.643 154.347 276.559 154.562V159H275.054V151.86H275.929C276.087 151.86 276.197 151.89 276.258 151.951C276.318 152.007 276.36 152.107 276.384 152.252L276.475 153.183Z\",\n fill: \"black\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.5619 37.646C36.1713 36.7669 35.6035 35.9779 34.8941 35.3283L34.3086 34.7911C34.2887 34.7734 34.2648 34.7608 34.2389 34.7545C34.2131 34.7481 34.186 34.7483 34.1602 34.7548C34.1344 34.7614 34.1106 34.7742 34.0908 34.7921C34.0711 34.81 34.0561 34.8325 34.0471 34.8575L33.7855 35.608C33.6226 36.0787 33.3228 36.5596 32.8983 37.0323C32.8701 37.0625 32.8379 37.0706 32.8158 37.0726C32.7937 37.0746 32.7595 37.0706 32.7293 37.0424C32.7011 37.0183 32.6871 36.982 32.6891 36.9458C32.7635 35.7347 32.4014 34.3687 31.6087 32.8819C30.9528 31.6466 30.0415 30.6829 28.9028 30.011L28.0719 29.5221C27.9632 29.4577 27.8244 29.5422 27.8305 29.669L27.8747 30.6347C27.9049 31.2945 27.8284 31.878 27.6474 32.3628C27.4261 32.9563 27.1082 33.5076 26.7018 34.0025C26.419 34.3464 26.0984 34.6576 25.7462 34.93C24.8978 35.5821 24.2079 36.4178 23.7283 37.3744C23.2498 38.3393 23.0006 39.4016 23 40.4786C23 41.4282 23.1871 42.3477 23.5573 43.2148C23.9147 44.0496 24.4305 44.8073 25.0762 45.4459C25.7281 46.0897 26.4845 46.5967 27.3275 46.9488C28.2006 47.3149 29.1261 47.5 30.0817 47.5C31.0373 47.5 31.9628 47.3149 32.8359 46.9508C33.6768 46.6008 34.4415 46.0903 35.0872 45.4479C35.739 44.8041 36.25 44.0517 36.6061 43.2168C36.9758 42.352 37.1654 41.4211 37.1634 40.4807C37.1634 39.4989 36.9622 38.5453 36.5619 37.646ZM34.1255 44.4722C33.0452 45.5425 31.6107 46.1299 30.0817 46.1299C28.5527 46.1299 27.1183 45.5425 26.0379 44.4722C24.9616 43.4039 24.3681 41.9875 24.3681 40.4807C24.3681 39.6055 24.5652 38.7666 24.9535 37.986C25.3317 37.2235 25.8951 36.5415 26.5791 36.0164C27.0153 35.6828 27.411 35.2993 27.758 34.8736C28.261 34.26 28.6553 33.576 28.9289 32.8417C29.0412 32.5388 29.1227 32.2253 29.1724 31.9061C29.6572 32.3528 30.0636 32.892 30.4036 33.5237C31.0756 34.7831 31.3854 35.9037 31.325 36.8573C31.3106 37.0819 31.3473 37.3068 31.4323 37.5152C31.5173 37.7236 31.6485 37.91 31.8159 38.0604C31.961 38.1915 32.1307 38.2924 32.3151 38.3573C32.4996 38.4223 32.6951 38.4499 32.8903 38.4386C33.2866 38.4185 33.6507 38.2435 33.9163 37.9477C34.1839 37.648 34.4152 37.3422 34.6084 37.0303C34.89 37.3905 35.1254 37.7828 35.3125 38.2053C35.6324 38.9255 35.7954 39.692 35.7954 40.4807C35.7954 41.9875 35.2019 43.4059 34.1255 44.4722Z\",\n fill: \"#88BBAA\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M53.1691 43.5L51.0131 39.692H50.0891V43.5H48.1291V33.728H51.7971C52.5531 33.728 53.1971 33.8633 53.7291 34.134C54.2611 34.3953 54.6578 34.7547 54.9191 35.212C55.1898 35.66 55.3251 36.164 55.3251 36.724C55.3251 37.368 55.1384 37.9513 54.7651 38.474C54.3918 38.9873 53.8364 39.342 53.0991 39.538L55.4371 43.5H53.1691ZM50.0891 38.222H51.7271C52.2591 38.222 52.6558 38.096 52.9171 37.844C53.1784 37.5827 53.3091 37.2233 53.3091 36.766C53.3091 36.318 53.1784 35.9727 52.9171 35.73C52.6558 35.478 52.2591 35.352 51.7271 35.352H50.0891V38.222ZM64.4478 39.454C64.4478 39.734 64.4292 39.986 64.3918 40.21H58.7218C58.7685 40.77 58.9645 41.2087 59.3098 41.526C59.6552 41.8433 60.0798 42.002 60.5838 42.002C61.3118 42.002 61.8298 41.6893 62.1378 41.064H64.2518C64.0278 41.8107 63.5985 42.4267 62.9638 42.912C62.3292 43.388 61.5498 43.626 60.6258 43.626C59.8792 43.626 59.2072 43.4627 58.6098 43.136C58.0218 42.8 57.5598 42.3287 57.2238 41.722C56.8972 41.1153 56.7338 40.4153 56.7338 39.622C56.7338 38.8193 56.8972 38.1147 57.2238 37.508C57.5505 36.9013 58.0078 36.4347 58.5958 36.108C59.1838 35.7813 59.8605 35.618 60.6258 35.618C61.3632 35.618 62.0212 35.7767 62.5998 36.094C63.1878 36.4113 63.6405 36.864 63.9578 37.452C64.2845 38.0307 64.4478 38.698 64.4478 39.454ZM62.4178 38.894C62.4085 38.39 62.2265 37.9887 61.8718 37.69C61.5172 37.382 61.0832 37.228 60.5698 37.228C60.0845 37.228 59.6738 37.3773 59.3378 37.676C59.0112 37.9653 58.8105 38.3713 58.7358 38.894H62.4178ZM65.5145 39.594C65.5145 38.81 65.6685 38.1147 65.9765 37.508C66.2938 36.9013 66.7231 36.4347 67.2645 36.108C67.8058 35.7813 68.4078 35.618 69.0705 35.618C69.5745 35.618 70.0551 35.73 70.5125 35.954C70.9698 36.1687 71.3338 36.458 71.6045 36.822V33.14H73.5925V43.5H71.6045V42.352C71.3618 42.7347 71.0211 43.0427 70.5825 43.276C70.1438 43.5093 69.6351 43.626 69.0565 43.626C68.4031 43.626 67.8058 43.458 67.2645 43.122C66.7231 42.786 66.2938 42.3147 65.9765 41.708C65.6685 41.092 65.5145 40.3873 65.5145 39.594ZM71.6185 39.622C71.6185 39.146 71.5251 38.74 71.3385 38.404C71.1518 38.0587 70.8998 37.7973 70.5825 37.62C70.2651 37.4333 69.9245 37.34 69.5605 37.34C69.1965 37.34 68.8605 37.4287 68.5525 37.606C68.2445 37.7833 67.9925 38.0447 67.7965 38.39C67.6098 38.726 67.5165 39.1273 67.5165 39.594C67.5165 40.0607 67.6098 40.4713 67.7965 40.826C67.9925 41.1713 68.2445 41.4373 68.5525 41.624C68.8698 41.8107 69.2058 41.904 69.5605 41.904C69.9245 41.904 70.2651 41.8153 70.5825 41.638C70.8998 41.4513 71.1518 41.19 71.3385 40.854C71.5251 40.5087 71.6185 40.098 71.6185 39.622ZM82.9687 35.744V43.5H80.9947V42.52C80.7427 42.856 80.4114 43.122 80.0007 43.318C79.5994 43.5047 79.1607 43.598 78.6847 43.598C78.0781 43.598 77.5414 43.472 77.0747 43.22C76.6081 42.9587 76.2394 42.5807 75.9687 42.086C75.7074 41.582 75.5767 40.9847 75.5767 40.294V35.744H77.5367V40.014C77.5367 40.63 77.6907 41.106 77.9987 41.442C78.3067 41.7687 78.7267 41.932 79.2587 41.932C79.8001 41.932 80.2247 41.7687 80.5327 41.442C80.8407 41.106 80.9947 40.63 80.9947 40.014V35.744H82.9687ZM84.5386 39.622C84.5386 38.8193 84.7019 38.1193 85.0286 37.522C85.3553 36.9153 85.8079 36.4487 86.3866 36.122C86.9653 35.786 87.6279 35.618 88.3746 35.618C89.3359 35.618 90.1293 35.8607 90.7546 36.346C91.3893 36.822 91.8139 37.494 92.0286 38.362H89.9146C89.8026 38.026 89.6113 37.7647 89.3406 37.578C89.0793 37.382 88.7526 37.284 88.3606 37.284C87.8006 37.284 87.3573 37.4893 87.0306 37.9C86.7039 38.3013 86.5406 38.8753 86.5406 39.622C86.5406 40.3593 86.7039 40.9333 87.0306 41.344C87.3573 41.7453 87.8006 41.946 88.3606 41.946C89.1539 41.946 89.6719 41.5913 89.9146 40.882H92.0286C91.8139 41.722 91.3893 42.3893 90.7546 42.884C90.1199 43.3787 89.3266 43.626 88.3746 43.626C87.6279 43.626 86.9653 43.4627 86.3866 43.136C85.8079 42.8 85.3553 42.3333 85.0286 41.736C84.7019 41.1293 84.5386 40.4247 84.5386 39.622ZM95.8865 37.354V41.106C95.8865 41.3673 95.9471 41.5587 96.0685 41.68C96.1991 41.792 96.4138 41.848 96.7125 41.848H97.6225V43.5H96.3905C94.7385 43.5 93.9125 42.6973 93.9125 41.092V37.354H92.9885V35.744H93.9125V33.826H95.8865V35.744H97.6225V37.354H95.8865ZM100.166 34.82C99.8209 34.82 99.5315 34.7127 99.2982 34.498C99.0742 34.274 98.9622 33.9987 98.9622 33.672C98.9622 33.3453 99.0742 33.0747 99.2982 32.86C99.5315 32.636 99.8209 32.524 100.166 32.524C100.512 32.524 100.796 32.636 101.02 32.86C101.254 33.0747 101.37 33.3453 101.37 33.672C101.37 33.9987 101.254 34.274 101.02 34.498C100.796 34.7127 100.512 34.82 100.166 34.82ZM101.132 35.744V43.5H99.1722V35.744H101.132ZM106.653 43.626C105.906 43.626 105.234 43.4627 104.637 43.136C104.039 42.8 103.568 42.3287 103.223 41.722C102.887 41.1153 102.719 40.4153 102.719 39.622C102.719 38.8287 102.891 38.1287 103.237 37.522C103.591 36.9153 104.072 36.4487 104.679 36.122C105.285 35.786 105.962 35.618 106.709 35.618C107.455 35.618 108.132 35.786 108.739 36.122C109.345 36.4487 109.821 36.9153 110.167 37.522C110.521 38.1287 110.699 38.8287 110.699 39.622C110.699 40.4153 110.517 41.1153 110.153 41.722C109.798 42.3287 109.313 42.8 108.697 43.136C108.09 43.4627 107.409 43.626 106.653 43.626ZM106.653 41.918C107.007 41.918 107.339 41.834 107.647 41.666C107.964 41.4887 108.216 41.2273 108.403 40.882C108.589 40.5367 108.683 40.1167 108.683 39.622C108.683 38.8847 108.487 38.32 108.095 37.928C107.712 37.5267 107.241 37.326 106.681 37.326C106.121 37.326 105.649 37.5267 105.267 37.928C104.893 38.32 104.707 38.8847 104.707 39.622C104.707 40.3593 104.889 40.9287 105.253 41.33C105.626 41.722 106.093 41.918 106.653 41.918ZM116.574 35.632C117.498 35.632 118.245 35.926 118.814 36.514C119.384 37.0927 119.668 37.9047 119.668 38.95V43.5H117.708V39.216C117.708 38.6 117.554 38.1287 117.246 37.802C116.938 37.466 116.518 37.298 115.986 37.298C115.445 37.298 115.016 37.466 114.698 37.802C114.39 38.1287 114.236 38.6 114.236 39.216V43.5H112.276V35.744H114.236V36.71C114.498 36.374 114.829 36.1127 115.23 35.926C115.641 35.73 116.089 35.632 116.574 35.632ZM126.142 34.82C125.797 34.82 125.508 34.7127 125.274 34.498C125.05 34.274 124.938 33.9987 124.938 33.672C124.938 33.3453 125.05 33.0747 125.274 32.86C125.508 32.636 125.797 32.524 126.142 32.524C126.488 32.524 126.772 32.636 126.996 32.86C127.23 33.0747 127.346 33.3453 127.346 33.672C127.346 33.9987 127.23 34.274 126.996 34.498C126.772 34.7127 126.488 34.82 126.142 34.82ZM127.108 35.744V43.5H125.148V35.744H127.108ZM133.483 35.632C134.407 35.632 135.153 35.926 135.723 36.514C136.292 37.0927 136.577 37.9047 136.577 38.95V43.5H134.617V39.216C134.617 38.6 134.463 38.1287 134.155 37.802C133.847 37.466 133.427 37.298 132.895 37.298C132.353 37.298 131.924 37.466 131.607 37.802C131.299 38.1287 131.145 38.6 131.145 39.216V43.5H129.185V35.744H131.145V36.71C131.406 36.374 131.737 36.1127 132.139 35.926C132.549 35.73 132.997 35.632 133.483 35.632ZM144.017 33.728V43.5H142.057V33.728H144.017ZM150.391 35.632C151.315 35.632 152.062 35.926 152.631 36.514C153.2 37.0927 153.485 37.9047 153.485 38.95V43.5H151.525V39.216C151.525 38.6 151.371 38.1287 151.063 37.802C150.755 37.466 150.335 37.298 149.803 37.298C149.262 37.298 148.832 37.466 148.515 37.802C148.207 38.1287 148.053 38.6 148.053 39.216V43.5H146.093V35.744H148.053V36.71C148.314 36.374 148.646 36.1127 149.047 35.926C149.458 35.73 149.906 35.632 150.391 35.632ZM159.045 37.354H157.687V43.5H155.699V37.354H154.817V35.744H155.699V35.352C155.699 34.4 155.97 33.7 156.511 33.252C157.052 32.804 157.869 32.594 158.961 32.622V34.274C158.485 34.2647 158.154 34.344 157.967 34.512C157.78 34.68 157.687 34.9833 157.687 35.422V35.744H159.045V37.354ZM162.415 33.14V43.5H160.455V33.14H162.415ZM163.988 39.594C163.988 38.81 164.142 38.1147 164.45 37.508C164.767 36.9013 165.192 36.4347 165.724 36.108C166.265 35.7813 166.867 35.618 167.53 35.618C168.108 35.618 168.612 35.7347 169.042 35.968C169.48 36.2013 169.83 36.4953 170.092 36.85V35.744H172.066V43.5H170.092V42.366C169.84 42.73 169.49 43.0333 169.042 43.276C168.603 43.5093 168.094 43.626 167.516 43.626C166.862 43.626 166.265 43.458 165.724 43.122C165.192 42.786 164.767 42.3147 164.45 41.708C164.142 41.092 163.988 40.3873 163.988 39.594ZM170.092 39.622C170.092 39.146 169.998 38.74 169.812 38.404C169.625 38.0587 169.373 37.7973 169.056 37.62C168.738 37.4333 168.398 37.34 168.034 37.34C167.67 37.34 167.334 37.4287 167.026 37.606C166.718 37.7833 166.466 38.0447 166.27 38.39C166.083 38.726 165.99 39.1273 165.99 39.594C165.99 40.0607 166.083 40.4713 166.27 40.826C166.466 41.1713 166.718 41.4373 167.026 41.624C167.343 41.8107 167.679 41.904 168.034 41.904C168.398 41.904 168.738 41.8153 169.056 41.638C169.373 41.4513 169.625 41.19 169.812 40.854C169.998 40.5087 170.092 40.098 170.092 39.622ZM183.752 35.632C184.704 35.632 185.469 35.926 186.048 36.514C186.636 37.0927 186.93 37.9047 186.93 38.95V43.5H184.97V39.216C184.97 38.6093 184.816 38.1473 184.508 37.83C184.2 37.5033 183.78 37.34 183.248 37.34C182.716 37.34 182.291 37.5033 181.974 37.83C181.666 38.1473 181.512 38.6093 181.512 39.216V43.5H179.552V39.216C179.552 38.6093 179.398 38.1473 179.09 37.83C178.782 37.5033 178.362 37.34 177.83 37.34C177.288 37.34 176.859 37.5033 176.542 37.83C176.234 38.1473 176.08 38.6093 176.08 39.216V43.5H174.12V35.744H176.08V36.682C176.332 36.3553 176.654 36.0987 177.046 35.912C177.447 35.7253 177.886 35.632 178.362 35.632C178.968 35.632 179.51 35.7627 179.986 36.024C180.462 36.276 180.83 36.64 181.092 37.116C181.344 36.668 181.708 36.3087 182.184 36.038C182.669 35.7673 183.192 35.632 183.752 35.632ZM198.562 35.632C199.514 35.632 200.279 35.926 200.858 36.514C201.446 37.0927 201.74 37.9047 201.74 38.95V43.5H199.78V39.216C199.78 38.6093 199.626 38.1473 199.318 37.83C199.01 37.5033 198.59 37.34 198.058 37.34C197.526 37.34 197.101 37.5033 196.784 37.83C196.476 38.1473 196.322 38.6093 196.322 39.216V43.5H194.362V39.216C194.362 38.6093 194.208 38.1473 193.9 37.83C193.592 37.5033 193.172 37.34 192.64 37.34C192.098 37.34 191.669 37.5033 191.352 37.83C191.044 38.1473 190.89 38.6093 190.89 39.216V43.5H188.93V35.744H190.89V36.682C191.142 36.3553 191.464 36.0987 191.856 35.912C192.257 35.7253 192.696 35.632 193.172 35.632C193.778 35.632 194.32 35.7627 194.796 36.024C195.272 36.276 195.64 36.64 195.902 37.116C196.154 36.668 196.518 36.3087 196.994 36.038C197.479 35.7673 198.002 35.632 198.562 35.632ZM203.236 39.594C203.236 38.81 203.39 38.1147 203.698 37.508C204.015 36.9013 204.44 36.4347 204.972 36.108C205.513 35.7813 206.115 35.618 206.778 35.618C207.356 35.618 207.86 35.7347 208.29 35.968C208.728 36.2013 209.078 36.4953 209.34 36.85V35.744H211.314V43.5H209.34V42.366C209.088 42.73 208.738 43.0333 208.29 43.276C207.851 43.5093 207.342 43.626 206.764 43.626C206.11 43.626 205.513 43.458 204.972 43.122C204.44 42.786 204.015 42.3147 203.698 41.708C203.39 41.092 203.236 40.3873 203.236 39.594ZM209.34 39.622C209.34 39.146 209.246 38.74 209.06 38.404C208.873 38.0587 208.621 37.7973 208.304 37.62C207.986 37.4333 207.646 37.34 207.282 37.34C206.918 37.34 206.582 37.4287 206.274 37.606C205.966 37.7833 205.714 38.0447 205.518 38.39C205.331 38.726 205.238 39.1273 205.238 39.594C205.238 40.0607 205.331 40.4713 205.518 40.826C205.714 41.1713 205.966 41.4373 206.274 41.624C206.591 41.8107 206.927 41.904 207.282 41.904C207.646 41.904 207.986 41.8153 208.304 41.638C208.621 41.4513 208.873 41.19 209.06 40.854C209.246 40.5087 209.34 40.098 209.34 39.622ZM215.65 37.354V41.106C215.65 41.3673 215.711 41.5587 215.832 41.68C215.963 41.792 216.177 41.848 216.476 41.848H217.386V43.5H216.154C214.502 43.5 213.676 42.6973 213.676 41.092V37.354H212.752V35.744H213.676V33.826H215.65V35.744H217.386V37.354H215.65ZM219.93 34.82C219.584 34.82 219.295 34.7127 219.062 34.498C218.838 34.274 218.726 33.9987 218.726 33.672C218.726 33.3453 218.838 33.0747 219.062 32.86C219.295 32.636 219.584 32.524 219.93 32.524C220.275 32.524 220.56 32.636 220.784 32.86C221.017 33.0747 221.134 33.3453 221.134 33.672C221.134 33.9987 221.017 34.274 220.784 34.498C220.56 34.7127 220.275 34.82 219.93 34.82ZM220.896 35.744V43.5H218.936V35.744H220.896ZM226.416 43.626C225.669 43.626 224.997 43.4627 224.4 43.136C223.803 42.8 223.331 42.3287 222.986 41.722C222.65 41.1153 222.482 40.4153 222.482 39.622C222.482 38.8287 222.655 38.1287 223 37.522C223.355 36.9153 223.835 36.4487 224.442 36.122C225.049 35.786 225.725 35.618 226.472 35.618C227.219 35.618 227.895 35.786 228.502 36.122C229.109 36.4487 229.585 36.9153 229.93 37.522C230.285 38.1287 230.462 38.8287 230.462 39.622C230.462 40.4153 230.28 41.1153 229.916 41.722C229.561 42.3287 229.076 42.8 228.46 43.136C227.853 43.4627 227.172 43.626 226.416 43.626ZM226.416 41.918C226.771 41.918 227.102 41.834 227.41 41.666C227.727 41.4887 227.979 41.2273 228.166 40.882C228.353 40.5367 228.446 40.1167 228.446 39.622C228.446 38.8847 228.25 38.32 227.858 37.928C227.475 37.5267 227.004 37.326 226.444 37.326C225.884 37.326 225.413 37.5267 225.03 37.928C224.657 38.32 224.47 38.8847 224.47 39.622C224.47 40.3593 224.652 40.9287 225.016 41.33C225.389 41.722 225.856 41.918 226.416 41.918ZM236.338 35.632C237.262 35.632 238.009 35.926 238.578 36.514C239.147 37.0927 239.432 37.9047 239.432 38.95V43.5H237.472V39.216C237.472 38.6 237.318 38.1287 237.01 37.802C236.702 37.466 236.282 37.298 235.75 37.298C235.209 37.298 234.779 37.466 234.462 37.802C234.154 38.1287 234 38.6 234 39.216V43.5H232.04V35.744H234V36.71C234.261 36.374 234.593 36.1127 234.994 35.926C235.405 35.73 235.853 35.632 236.338 35.632Z\",\n fill: \"#474B4E\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M269.109 232.36V241H267.873V235.078C267.873 234.982 267.875 234.878 267.879 234.766C267.887 234.65 267.897 234.534 267.909 234.418L265.131 239.548C265.023 239.76 264.857 239.866 264.633 239.866H264.435C264.207 239.866 264.041 239.76 263.937 239.548L261.117 234.406C261.129 234.522 261.137 234.638 261.141 234.754C261.149 234.87 261.153 234.978 261.153 235.078V241H259.917V232.36H260.967C261.091 232.36 261.187 232.372 261.255 232.396C261.323 232.416 261.385 232.482 261.441 232.594L264.213 237.616C264.273 237.732 264.329 237.852 264.381 237.976C264.437 238.096 264.487 238.22 264.531 238.348C264.579 238.22 264.629 238.094 264.681 237.97C264.737 237.842 264.795 237.72 264.855 237.604L267.585 232.594C267.641 232.482 267.703 232.416 267.771 232.396C267.839 232.372 267.935 232.36 268.059 232.36H269.109ZM273.373 234.784C273.825 234.784 274.233 234.858 274.597 235.006C274.965 235.154 275.277 235.364 275.533 235.636C275.793 235.908 275.993 236.238 276.133 236.626C276.273 237.014 276.343 237.45 276.343 237.934C276.343 238.418 276.273 238.854 276.133 239.242C275.993 239.63 275.793 239.962 275.533 240.238C275.277 240.51 274.965 240.72 274.597 240.868C274.233 241.016 273.825 241.09 273.373 241.09C272.917 241.09 272.505 241.016 272.137 240.868C271.773 240.72 271.461 240.51 271.201 240.238C270.941 239.962 270.741 239.63 270.601 239.242C270.461 238.854 270.391 238.418 270.391 237.934C270.391 237.45 270.461 237.014 270.601 236.626C270.741 236.238 270.941 235.908 271.201 235.636C271.461 235.364 271.773 235.154 272.137 235.006C272.505 234.858 272.917 234.784 273.373 234.784ZM273.373 240.082C273.925 240.082 274.335 239.898 274.603 239.53C274.875 239.158 275.011 238.628 275.011 237.94C275.011 237.252 274.875 236.722 274.603 236.35C274.335 235.974 273.925 235.786 273.373 235.786C272.813 235.786 272.397 235.974 272.125 236.35C271.853 236.722 271.717 237.252 271.717 237.94C271.717 238.628 271.853 239.158 272.125 239.53C272.397 239.898 272.813 240.082 273.373 240.082ZM278.789 235.69C278.921 235.554 279.057 235.432 279.197 235.324C279.341 235.212 279.493 235.116 279.653 235.036C279.813 234.956 279.983 234.894 280.163 234.85C280.343 234.806 280.539 234.784 280.751 234.784C281.087 234.784 281.381 234.84 281.633 234.952C281.889 235.064 282.103 235.222 282.275 235.426C282.451 235.63 282.583 235.876 282.671 236.164C282.759 236.448 282.803 236.762 282.803 237.106V241H281.519V237.106C281.519 236.694 281.423 236.374 281.231 236.146C281.043 235.918 280.755 235.804 280.367 235.804C280.079 235.804 279.811 235.87 279.563 236.002C279.319 236.134 279.089 236.314 278.873 236.542V241H277.583V234.88H278.363C278.539 234.88 278.651 234.962 278.699 235.126L278.789 235.69ZM286.189 241.096C285.681 241.096 285.289 240.954 285.013 240.67C284.741 240.382 284.605 239.978 284.605 239.458V235.894H283.933C283.861 235.894 283.799 235.872 283.747 235.828C283.695 235.78 283.669 235.71 283.669 235.618V235.096L284.659 234.952L284.941 233.182C284.961 233.114 284.995 233.06 285.043 233.02C285.091 232.976 285.155 232.954 285.235 232.954H285.895V234.964H287.593V235.894H285.895V239.368C285.895 239.588 285.949 239.756 286.057 239.872C286.165 239.988 286.309 240.046 286.489 240.046C286.589 240.046 286.675 240.034 286.747 240.01C286.819 239.982 286.881 239.954 286.933 239.926C286.985 239.894 287.029 239.866 287.065 239.842C287.105 239.814 287.143 239.8 287.179 239.8C287.251 239.8 287.309 239.84 287.353 239.92L287.737 240.55C287.537 240.726 287.301 240.862 287.029 240.958C286.757 241.05 286.477 241.096 286.189 241.096ZM289.9 235.606C290.152 235.358 290.428 235.16 290.728 235.012C291.028 234.86 291.378 234.784 291.778 234.784C292.114 234.784 292.408 234.84 292.66 234.952C292.916 235.064 293.13 235.222 293.302 235.426C293.478 235.63 293.61 235.876 293.698 236.164C293.786 236.448 293.83 236.762 293.83 237.106V241H292.546V237.106C292.546 236.694 292.45 236.374 292.258 236.146C292.07 235.918 291.782 235.804 291.394 235.804C291.106 235.804 290.838 235.87 290.59 236.002C290.346 236.134 290.116 236.314 289.9 236.542V241H288.61V232.12H289.9V235.606ZM301.007 240.028C301.267 240.028 301.505 239.986 301.721 239.902C301.937 239.814 302.121 239.694 302.273 239.542C302.429 239.39 302.549 239.21 302.633 239.002C302.717 238.794 302.759 238.568 302.759 238.324C302.759 238.06 302.717 237.824 302.633 237.616C302.553 237.404 302.437 237.226 302.285 237.082C302.137 236.938 301.957 236.828 301.745 236.752C301.537 236.672 301.307 236.632 301.055 236.632C300.795 236.632 300.559 236.676 300.347 236.764C300.139 236.852 299.961 236.972 299.813 237.124C299.665 237.276 299.551 237.454 299.471 237.658C299.391 237.862 299.351 238.078 299.351 238.306C299.351 238.562 299.387 238.796 299.459 239.008C299.531 239.22 299.637 239.402 299.777 239.554C299.917 239.702 300.089 239.818 300.293 239.902C300.501 239.986 300.739 240.028 301.007 240.028ZM300.533 235.54C300.469 235.62 300.407 235.696 300.347 235.768C300.291 235.84 300.235 235.912 300.179 235.984C300.363 235.88 300.565 235.798 300.785 235.738C301.005 235.678 301.241 235.648 301.493 235.648C301.829 235.648 302.151 235.704 302.459 235.816C302.767 235.924 303.037 236.088 303.269 236.308C303.505 236.524 303.693 236.794 303.833 237.118C303.973 237.438 304.043 237.808 304.043 238.228C304.043 238.628 303.969 239.002 303.821 239.35C303.677 239.698 303.473 240.002 303.209 240.262C302.945 240.518 302.627 240.722 302.255 240.874C301.887 241.022 301.479 241.096 301.031 241.096C300.583 241.096 300.179 241.024 299.819 240.88C299.459 240.736 299.151 240.534 298.895 240.274C298.643 240.01 298.449 239.694 298.313 239.326C298.177 238.958 298.109 238.548 298.109 238.096C298.109 237.704 298.193 237.294 298.361 236.866C298.529 236.438 298.789 235.988 299.141 235.516L301.265 232.666C301.329 232.582 301.421 232.51 301.541 232.45C301.665 232.39 301.803 232.36 301.955 232.36H303.095L300.533 235.54Z\",\n fill: \"#63686B\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M36.718 232.36V241H35.482V235.078C35.482 234.982 35.484 234.878 35.488 234.766C35.496 234.65 35.506 234.534 35.518 234.418L32.74 239.548C32.632 239.76 32.466 239.866 32.242 239.866H32.044C31.816 239.866 31.65 239.76 31.546 239.548L28.726 234.406C28.738 234.522 28.746 234.638 28.75 234.754C28.758 234.87 28.762 234.978 28.762 235.078V241H27.526V232.36H28.576C28.7 232.36 28.796 232.372 28.864 232.396C28.932 232.416 28.994 232.482 29.05 232.594L31.822 237.616C31.882 237.732 31.938 237.852 31.99 237.976C32.046 238.096 32.096 238.22 32.14 238.348C32.188 238.22 32.238 238.094 32.29 237.97C32.346 237.842 32.404 237.72 32.464 237.604L35.194 232.594C35.25 232.482 35.312 232.416 35.38 232.396C35.448 232.372 35.544 232.36 35.668 232.36H36.718ZM40.9828 234.784C41.4348 234.784 41.8428 234.858 42.2068 235.006C42.5748 235.154 42.8868 235.364 43.1428 235.636C43.4028 235.908 43.6028 236.238 43.7428 236.626C43.8828 237.014 43.9528 237.45 43.9528 237.934C43.9528 238.418 43.8828 238.854 43.7428 239.242C43.6028 239.63 43.4028 239.962 43.1428 240.238C42.8868 240.51 42.5748 240.72 42.2068 240.868C41.8428 241.016 41.4348 241.09 40.9828 241.09C40.5268 241.09 40.1148 241.016 39.7468 240.868C39.3828 240.72 39.0708 240.51 38.8108 240.238C38.5508 239.962 38.3508 239.63 38.2108 239.242C38.0708 238.854 38.0008 238.418 38.0008 237.934C38.0008 237.45 38.0708 237.014 38.2108 236.626C38.3508 236.238 38.5508 235.908 38.8108 235.636C39.0708 235.364 39.3828 235.154 39.7468 235.006C40.1148 234.858 40.5268 234.784 40.9828 234.784ZM40.9828 240.082C41.5348 240.082 41.9448 239.898 42.2128 239.53C42.4848 239.158 42.6208 238.628 42.6208 237.94C42.6208 237.252 42.4848 236.722 42.2128 236.35C41.9448 235.974 41.5348 235.786 40.9828 235.786C40.4228 235.786 40.0068 235.974 39.7348 236.35C39.4628 236.722 39.3268 237.252 39.3268 237.94C39.3268 238.628 39.4628 239.158 39.7348 239.53C40.0068 239.898 40.4228 240.082 40.9828 240.082ZM46.3983 235.69C46.5303 235.554 46.6663 235.432 46.8063 235.324C46.9503 235.212 47.1023 235.116 47.2623 235.036C47.4223 234.956 47.5923 234.894 47.7723 234.85C47.9523 234.806 48.1483 234.784 48.3603 234.784C48.6963 234.784 48.9903 234.84 49.2423 234.952C49.4983 235.064 49.7123 235.222 49.8843 235.426C50.0603 235.63 50.1923 235.876 50.2803 236.164C50.3683 236.448 50.4123 236.762 50.4123 237.106V241H49.1283V237.106C49.1283 236.694 49.0323 236.374 48.8403 236.146C48.6523 235.918 48.3643 235.804 47.9763 235.804C47.6883 235.804 47.4203 235.87 47.1723 236.002C46.9283 236.134 46.6983 236.314 46.4823 236.542V241H45.1923V234.88H45.9723C46.1483 234.88 46.2603 234.962 46.3083 235.126L46.3983 235.69ZM53.7988 241.096C53.2908 241.096 52.8988 240.954 52.6228 240.67C52.3508 240.382 52.2148 239.978 52.2148 239.458V235.894H51.5428C51.4708 235.894 51.4088 235.872 51.3568 235.828C51.3048 235.78 51.2788 235.71 51.2788 235.618V235.096L52.2688 234.952L52.5508 233.182C52.5708 233.114 52.6048 233.06 52.6528 233.02C52.7008 232.976 52.7648 232.954 52.8448 232.954H53.5048V234.964H55.2028V235.894H53.5048V239.368C53.5048 239.588 53.5588 239.756 53.6668 239.872C53.7748 239.988 53.9188 240.046 54.0988 240.046C54.1988 240.046 54.2848 240.034 54.3568 240.01C54.4288 239.982 54.4908 239.954 54.5428 239.926C54.5948 239.894 54.6388 239.866 54.6748 239.842C54.7148 239.814 54.7528 239.8 54.7888 239.8C54.8608 239.8 54.9188 239.84 54.9628 239.92L55.3468 240.55C55.1468 240.726 54.9108 240.862 54.6388 240.958C54.3668 241.05 54.0868 241.096 53.7988 241.096ZM57.5096 235.606C57.7616 235.358 58.0376 235.16 58.3376 235.012C58.6376 234.86 58.9876 234.784 59.3876 234.784C59.7236 234.784 60.0176 234.84 60.2696 234.952C60.5256 235.064 60.7396 235.222 60.9116 235.426C61.0876 235.63 61.2196 235.876 61.3076 236.164C61.3956 236.448 61.4396 236.762 61.4396 237.106V241H60.1556V237.106C60.1556 236.694 60.0596 236.374 59.8676 236.146C59.6796 235.918 59.3916 235.804 59.0036 235.804C58.7156 235.804 58.4476 235.87 58.1996 236.002C57.9556 236.134 57.7256 236.314 57.5096 236.542V241H56.2196V232.12H57.5096V235.606ZM71.3104 240.022V241H66.6004V240.022H68.4004V234.61C68.4004 234.418 68.4064 234.222 68.4184 234.022L67.0324 235.192C66.9724 235.24 66.9104 235.272 66.8464 235.288C66.7864 235.3 66.7284 235.3 66.6724 235.288C66.6204 235.276 66.5724 235.258 66.5284 235.234C66.4884 235.206 66.4564 235.176 66.4324 235.144L66.0304 234.58L68.6344 232.342H69.6844V240.022H71.3104Z\",\n fill: \"#63686B\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M136.343 114.408C108.887 85.9201 62.5152 84.0904 26.9148 79.4586C25.109 79.2236 23.5 80.6245 23.5 82.4455V214C23.5 215.657 24.8431 217 26.5 217H300.5C302.157 217 303.5 215.657 303.5 214V197.087C303.5 195.517 302.288 194.231 300.718 194.263C295.856 194.359 288.066 195.006 281.962 194.303C234.671 188.855 193.879 174.107 136.343 114.408Z\",\n fill: \"url(#paint0_linear_364_13051)\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M54.2836 184.183C54.1234 184.201 53.9809 184.237 53.8384 184.308C53.6959 184.379 53.5534 184.486 53.4109 184.629C53.2685 184.771 53.1438 184.967 53.0369 185.234C52.8945 185.573 52.7164 185.982 52.5026 186.445C52.3067 186.908 52.093 187.389 51.8793 187.906C51.6656 188.404 51.4518 188.921 51.2381 189.42C51.0244 189.918 50.8285 190.381 50.6504 190.809C50.5435 191.04 50.4545 191.236 50.3654 191.414C50.2942 191.575 50.223 191.735 50.1695 191.86C50.1161 191.984 50.0449 192.109 49.9914 192.234C49.938 192.358 49.8668 192.501 49.7955 192.643C49.7421 192.714 49.6887 192.75 49.6352 192.75C49.5818 192.75 49.5284 192.732 49.5106 192.714C49.4927 192.697 49.4749 192.661 49.4571 192.625C49.2968 192.145 49.1365 191.681 48.9941 191.254C48.8516 190.809 48.6913 190.364 48.531 189.9C48.3707 189.437 48.1926 188.921 48.0145 188.369C47.8364 187.817 47.6049 187.176 47.3734 186.463L45.5923 191.005C45.4142 191.343 45.2896 191.628 45.2005 191.86C45.1115 192.091 45.0046 192.34 44.8799 192.625C44.8265 192.697 44.7731 192.732 44.7018 192.732C44.6484 192.732 44.5772 192.697 44.5416 192.608C44.0607 191.432 43.5976 190.292 43.1346 189.188C42.6715 188.084 42.1906 186.891 41.6741 185.644C41.6029 185.466 41.5139 185.288 41.4248 185.074C41.3358 184.878 41.2289 184.682 41.1398 184.522C41.0686 184.468 40.9617 184.379 40.8193 184.29C40.6768 184.201 40.4096 184.148 40 184.13V183.934H44.1675V184.13C44.0785 184.148 43.9716 184.148 43.8648 184.166C43.7401 184.183 43.6332 184.201 43.5086 184.237C43.3839 184.272 43.277 184.308 43.1702 184.344C43.0633 184.379 42.9743 184.433 42.9208 184.486C42.9387 184.593 43.0455 184.86 43.2058 185.288C43.3661 185.733 43.5798 186.249 43.8292 186.855C44.0785 187.46 44.3456 188.102 44.6306 188.778C44.9156 189.455 45.1649 190.079 45.4142 190.648C45.5211 190.399 45.628 190.114 45.7704 189.758C45.9129 189.42 46.0554 189.028 46.2157 188.618C46.376 188.191 46.5363 187.763 46.7144 187.3C46.8747 186.837 47.0528 186.392 47.2131 185.947C47.124 185.697 47.035 185.466 46.9281 185.234C46.8212 185.003 46.7144 184.789 46.5897 184.557C46.5541 184.522 46.5185 184.486 46.4828 184.433C46.4472 184.397 46.3938 184.344 46.3404 184.308C46.2691 184.272 46.1801 184.219 46.0554 184.201C45.9307 184.166 45.7526 184.148 45.5389 184.13V183.934H49.7599V184.13C49.653 184.148 49.5462 184.166 49.3859 184.183C49.2434 184.201 49.1009 184.237 48.9584 184.272C48.816 184.308 48.6913 184.362 48.5844 184.433C48.4776 184.504 48.4241 184.611 48.4241 184.736C48.4241 184.789 48.4598 184.949 48.531 185.163C48.6022 185.395 48.6913 185.679 48.7982 186C48.905 186.338 49.0297 186.712 49.1722 187.104C49.3146 187.514 49.4571 187.924 49.5996 188.333C49.7421 188.743 49.8846 189.135 50.027 189.526C50.1695 189.918 50.2942 190.257 50.4011 190.559C50.4723 190.399 50.5792 190.168 50.7216 189.847C50.8641 189.526 51.0066 189.188 51.1491 188.796C51.3094 188.404 51.4697 188.013 51.6299 187.585C51.7902 187.176 51.9505 186.784 52.0752 186.427C52.1999 186.071 52.3067 185.733 52.3958 185.448C52.4848 185.163 52.5204 184.967 52.5204 184.86C52.5204 184.682 52.4848 184.557 52.3958 184.468C52.3067 184.379 52.2177 184.308 52.093 184.272C51.9683 184.237 51.8437 184.201 51.719 184.183C51.5765 184.166 51.4518 184.166 51.345 184.148V183.952H54.7289V184.148C54.5864 184.148 54.4439 184.166 54.2836 184.183Z\",\n fill: \"white\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M55.459 192.696V192.518C55.6015 192.501 55.7618 192.483 55.9042 192.465C56.0467 192.447 56.1892 192.411 56.2961 192.376C56.4207 192.34 56.5098 192.269 56.5988 192.198C56.6701 192.127 56.7235 192.037 56.7235 191.913V185.555C56.7235 185.448 56.7057 185.377 56.6879 185.287C56.6701 185.216 56.6166 185.145 56.5276 185.092C56.4207 185.02 56.2782 184.949 56.1358 184.878C55.9755 184.807 55.8152 184.735 55.6371 184.682V184.575L58.1305 183.756H58.2373V192.037C58.2552 192.162 58.3086 192.251 58.3976 192.305C58.4689 192.358 58.5757 192.394 58.6826 192.429C58.7895 192.447 58.9141 192.465 59.0388 192.483C59.1635 192.483 59.2881 192.501 59.4128 192.536V192.714H55.459V192.696ZM58.1127 181.53C57.9168 181.725 57.6852 181.815 57.4003 181.815C57.1331 181.815 56.9016 181.708 56.6879 181.512C56.492 181.316 56.3851 181.084 56.3851 180.799C56.3851 180.514 56.4742 180.283 56.6701 180.087C56.866 179.909 57.0975 179.802 57.3825 179.802C57.6674 179.802 57.899 179.891 58.0949 180.087C58.2908 180.265 58.3798 180.514 58.3798 180.799C58.3976 181.102 58.3086 181.351 58.1127 181.53Z\",\n fill: \"white\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M60.8379 192.697V192.501C61.4078 192.465 61.7818 192.412 61.9599 192.323C62.138 192.234 62.2449 192.109 62.2449 191.913V181.245C62.2449 181.138 62.2271 181.067 62.2093 181.031C62.1915 180.978 62.138 180.924 62.049 180.871C61.9421 180.817 61.764 180.71 61.5503 180.586C61.3366 180.461 61.1407 180.354 60.9982 180.301V180.176L63.6519 179.303H63.7765V191.984C63.7765 192.109 63.8122 192.198 63.8656 192.269C63.919 192.323 64.0081 192.376 64.1149 192.394C64.2218 192.412 64.3643 192.429 64.5424 192.447C64.7205 192.447 64.9164 192.465 65.1479 192.501V192.697H60.8379Z\",\n fill: \"white\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M73.2512 192.75H73.1443V190.898H73.1265C72.7703 191.521 72.3429 191.966 71.862 192.269C71.3812 192.572 70.7578 192.714 70.0454 192.714C69.5823 192.714 69.1549 192.625 68.7275 192.447C68.3 192.269 67.926 191.984 67.5876 191.61C67.2492 191.236 66.9821 190.773 66.7862 190.221C66.5903 189.669 66.4834 189.046 66.4834 188.315C66.4834 187.674 66.5903 187.069 66.8218 186.516C67.0533 185.964 67.3739 185.484 67.7835 185.056C68.1932 184.646 68.6918 184.326 69.2796 184.077C69.8673 183.845 70.5085 183.72 71.2031 183.72C71.5771 183.72 71.9155 183.756 72.2538 183.809C72.5744 183.863 72.8772 183.952 73.1443 184.023C73.1265 183.845 73.1265 183.578 73.1087 183.257C73.1087 182.937 73.0909 182.616 73.0909 182.278C73.0909 181.939 73.0909 181.637 73.0909 181.352C73.0909 181.049 73.0909 180.835 73.0909 180.71L71.5771 180.141V180.069L74.5335 179.25H74.676V191.272C74.7829 191.325 74.961 191.414 75.2281 191.539C75.4953 191.646 75.7446 191.753 75.994 191.859V191.984L73.2512 192.75ZM73.1265 185.786C72.8594 185.288 72.5032 184.878 72.0936 184.557C71.6661 184.255 71.2921 184.094 70.9359 184.094C70.455 184.094 70.0454 184.201 69.707 184.433C69.3686 184.646 69.0837 184.949 68.8699 185.323C68.6562 185.697 68.4781 186.125 68.3713 186.606C68.2644 187.086 68.211 187.585 68.211 188.084C68.211 188.582 68.2644 189.081 68.3891 189.562C68.5137 190.043 68.6918 190.453 68.9412 190.827C69.1905 191.183 69.4933 191.485 69.8495 191.699C70.2057 191.913 70.6331 192.038 71.114 192.038C71.6127 192.038 72.0579 191.859 72.4141 191.521C72.7703 191.183 73.0019 190.737 73.1087 190.203V185.786H73.1265Z\",\n fill: \"white\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M87.6238 192.697V192.501C87.9622 192.483 88.2294 192.429 88.4609 192.376C88.6746 192.323 88.7993 192.198 88.7993 192.002V187.371C88.7993 187.015 88.7815 186.677 88.7281 186.374C88.6746 186.071 88.5856 185.804 88.4609 185.573C88.3362 185.359 88.1581 185.181 87.9266 185.056C87.7129 184.931 87.4279 184.878 87.0717 184.878C86.6265 184.878 86.2525 184.967 85.9497 185.127C85.6469 185.288 85.3976 185.501 85.2017 185.768C85.1839 185.804 85.1482 185.875 85.0948 186C85.0592 186.125 85.0236 186.232 85.0236 186.321V192.002C85.0236 192.109 85.0592 192.198 85.1126 192.269C85.1661 192.323 85.2551 192.376 85.362 192.412C85.4688 192.447 85.5757 192.465 85.7004 192.483C85.825 192.501 85.9497 192.518 86.0744 192.536V192.714H82.3877V192.536C82.6727 192.518 82.922 192.465 83.1535 192.394C83.3851 192.323 83.4919 192.18 83.4919 191.949V181.441C83.4919 181.334 83.4741 181.263 83.4563 181.227C83.4385 181.173 83.3851 181.12 83.296 181.067C83.1891 180.978 83.0645 180.889 82.9042 180.817C82.7439 180.728 82.5658 180.639 82.4055 180.55V180.372L84.8989 179.25H85.0414L84.988 185.679L85.0236 185.697C85.1126 185.519 85.2373 185.323 85.4154 185.109C85.5935 184.896 85.825 184.682 86.0922 184.486C86.3593 184.29 86.6799 184.112 87.0183 183.97C87.3745 183.827 87.7485 183.756 88.176 183.756C88.5856 183.756 88.924 183.827 89.1911 183.97C89.4761 184.112 89.6898 184.308 89.8501 184.557C90.0104 184.807 90.1351 185.109 90.2063 185.448C90.2775 185.786 90.3132 186.178 90.3132 186.57V192.038C90.3132 192.127 90.3488 192.198 90.42 192.251C90.4913 192.305 90.5803 192.358 90.705 192.394C90.8118 192.429 90.9365 192.447 91.0612 192.465C91.1858 192.483 91.3105 192.501 91.4174 192.518V192.679H87.6238V192.697Z\",\n fill: \"white\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M100.055 190.791C99.8772 191.129 99.6456 191.45 99.3607 191.717C99.0579 192.002 98.7017 192.233 98.2921 192.429C97.8824 192.625 97.4194 192.714 96.9207 192.714C96.2974 192.714 95.7096 192.59 95.1931 192.358C94.6766 192.127 94.2314 191.788 93.8752 191.361C93.519 190.933 93.234 190.435 93.0381 189.865C92.8422 189.295 92.7354 188.689 92.7354 188.048C92.7354 187.532 92.8244 187.015 93.0203 186.499C93.1984 185.982 93.4656 185.519 93.804 185.127C94.1423 184.718 94.552 184.397 95.0507 184.13C95.5315 183.881 96.0836 183.756 96.6714 183.756C97.1522 183.756 97.5975 183.809 98.0249 183.934C98.4524 184.059 98.8264 184.255 99.1291 184.504C99.4497 184.753 99.6991 185.074 99.895 185.466C100.091 185.84 100.216 186.303 100.251 186.819H94.3026C94.3026 186.926 94.3026 187.033 94.2848 187.158C94.267 187.282 94.267 187.425 94.267 187.549C94.267 188.066 94.3383 188.565 94.4807 189.045C94.6232 189.526 94.8369 189.936 95.1219 190.31C95.4069 190.666 95.7631 190.969 96.1905 191.165C96.6179 191.379 97.1166 191.485 97.6865 191.485C98.3099 191.485 98.8442 191.325 99.3073 191.005C99.7703 190.684 100.073 190.31 100.216 189.847L100.358 189.883C100.34 190.15 100.233 190.452 100.055 190.791ZM97.9359 184.557C97.6153 184.237 97.2057 184.059 96.6714 184.059C96.333 184.059 96.0124 184.165 95.7452 184.361C95.4603 184.557 95.2288 184.807 95.015 185.074C94.8191 185.341 94.6588 185.626 94.5342 185.893C94.4273 186.178 94.3561 186.392 94.3383 186.534C94.6232 186.534 94.8726 186.534 95.1041 186.534C95.3356 186.534 95.5493 186.534 95.7631 186.516C95.9768 186.516 96.2083 186.499 96.4398 186.499C96.6714 186.499 96.9385 186.481 97.2235 186.481C97.4016 186.481 97.5797 186.481 97.74 186.463C97.9003 186.445 98.0427 186.427 98.1674 186.374C98.2565 186.267 98.3099 186.178 98.3633 186.089C98.3989 186 98.4346 185.875 98.4346 185.697C98.4167 185.27 98.2565 184.878 97.9359 184.557Z\",\n fill: \"white\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M109.637 191.557C109.53 191.77 109.406 191.984 109.245 192.162C109.085 192.34 108.889 192.483 108.675 192.572C108.462 192.661 108.23 192.714 107.963 192.714C107.536 192.714 107.162 192.59 106.841 192.34C106.52 192.091 106.342 191.663 106.342 191.04L106.307 191.022C106.2 191.183 106.075 191.361 105.915 191.557C105.755 191.753 105.559 191.931 105.327 192.109C105.096 192.287 104.846 192.429 104.561 192.518C104.276 192.625 103.974 192.679 103.653 192.679C103.457 192.679 103.261 192.643 103.047 192.59C102.834 192.536 102.656 192.429 102.495 192.287C102.335 192.144 102.193 191.966 102.086 191.735C101.979 191.521 101.925 191.236 101.925 190.915C101.925 190.577 102.068 190.239 102.335 189.918C102.62 189.598 102.958 189.313 103.368 189.045C103.778 188.778 104.134 188.565 104.454 188.386C104.775 188.208 105.042 188.048 105.274 187.906C105.505 187.763 105.719 187.656 105.897 187.567C106.075 187.478 106.235 187.389 106.342 187.318V185.448C106.342 185.43 106.324 185.359 106.271 185.27C106.235 185.181 106.146 185.074 106.057 184.985C105.95 184.878 105.808 184.789 105.63 184.718C105.452 184.629 105.202 184.593 104.9 184.593C104.704 184.593 104.508 184.629 104.312 184.7C104.116 184.771 103.956 184.86 103.795 184.967C103.653 185.074 103.528 185.181 103.439 185.287C103.35 185.394 103.315 185.483 103.315 185.555V186.374C103.315 186.552 103.226 186.694 103.047 186.837C102.869 186.979 102.673 187.033 102.46 187.033C102.264 187.033 102.086 186.962 101.943 186.819C101.801 186.677 101.729 186.516 101.729 186.32C101.729 186.178 101.765 186.036 101.836 185.911C101.908 185.786 101.997 185.679 102.121 185.572C102.228 185.466 102.353 185.394 102.478 185.305C102.602 185.234 102.727 185.163 102.816 185.109C103.136 184.931 103.457 184.753 103.795 184.575C104.134 184.397 104.454 184.255 104.757 184.13C105.06 184.005 105.345 183.916 105.594 183.827C105.844 183.756 106.057 183.72 106.218 183.72C106.538 183.72 106.841 183.809 107.126 183.97C107.411 184.13 107.607 184.344 107.731 184.593C107.785 184.682 107.803 184.824 107.821 185.038C107.838 185.252 107.838 185.466 107.838 185.679C107.838 186.125 107.838 186.516 107.821 186.89C107.821 187.247 107.803 187.603 107.803 187.923C107.803 188.262 107.803 188.6 107.785 188.956C107.785 189.313 107.767 189.687 107.767 190.114C107.767 190.666 107.856 191.04 108.052 191.218C108.248 191.396 108.462 191.485 108.711 191.485C108.996 191.485 109.21 191.432 109.334 191.307C109.477 191.183 109.566 191.04 109.619 190.862H109.726C109.78 191.111 109.726 191.343 109.637 191.557ZM106.36 187.656C106.146 187.817 105.861 187.995 105.523 188.173C105.185 188.351 104.864 188.547 104.543 188.76C104.223 188.974 103.956 189.206 103.724 189.455C103.493 189.704 103.386 189.989 103.386 190.31C103.386 190.631 103.493 190.915 103.724 191.183C103.938 191.45 104.241 191.574 104.597 191.574C104.917 191.574 105.202 191.539 105.452 191.468C105.701 191.396 105.933 191.254 106.129 191.04C106.271 190.898 106.342 190.737 106.342 190.524V187.656H106.36Z\",\n fill: \"white\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M110.367 192.697V192.501C110.937 192.465 111.311 192.412 111.489 192.323C111.667 192.234 111.774 192.109 111.774 191.913V181.245C111.774 181.138 111.756 181.067 111.739 181.031C111.721 180.978 111.667 180.924 111.578 180.871C111.471 180.817 111.293 180.71 111.08 180.586C110.866 180.461 110.67 180.354 110.527 180.301V180.176L113.181 179.303H113.306V191.984C113.306 192.109 113.341 192.198 113.395 192.269C113.448 192.323 113.537 192.376 113.644 192.394C113.751 192.412 113.894 192.429 114.072 192.447C114.25 192.447 114.446 192.465 114.677 192.501V192.697H110.367Z\",\n fill: \"white\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M121.534 185.056H118.72V189.936C118.72 190.559 118.862 191.022 119.13 191.307C119.397 191.592 119.753 191.735 120.18 191.735C120.537 191.735 120.839 191.681 121.071 191.557C121.302 191.432 121.516 191.254 121.676 191.005L121.783 191.058C121.712 191.236 121.605 191.432 121.481 191.646C121.356 191.842 121.178 192.038 120.964 192.198C120.75 192.358 120.501 192.501 120.198 192.59C119.913 192.679 119.557 192.732 119.165 192.732C118.898 192.732 118.649 192.696 118.417 192.607C118.186 192.518 117.972 192.412 117.794 192.251C117.616 192.091 117.455 191.931 117.349 191.735C117.224 191.539 117.17 191.343 117.17 191.147C117.17 189.989 117.17 188.885 117.188 187.834C117.206 186.784 117.206 185.857 117.206 185.056H115.853V184.86L118.524 182.331H118.667V183.934H122.086L121.534 185.056Z\",\n fill: \"white\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.16 192.697V192.501C128.498 192.483 128.766 192.429 128.997 192.376C129.211 192.323 129.335 192.198 129.335 192.002V187.371C129.335 187.015 129.318 186.677 129.264 186.374C129.211 186.071 129.122 185.804 128.997 185.573C128.872 185.359 128.694 185.181 128.463 185.056C128.249 184.931 127.964 184.878 127.608 184.878C127.163 184.878 126.789 184.967 126.486 185.127C126.183 185.288 125.934 185.501 125.738 185.768C125.72 185.804 125.684 185.875 125.631 186C125.595 186.125 125.56 186.232 125.56 186.321V192.002C125.56 192.109 125.595 192.198 125.649 192.269C125.702 192.323 125.791 192.376 125.898 192.412C126.005 192.447 126.112 192.465 126.236 192.483C126.361 192.501 126.486 192.518 126.611 192.536V192.714H122.924V192.536C123.209 192.518 123.458 192.465 123.69 192.394C123.921 192.323 124.028 192.18 124.028 191.949V181.441C124.028 181.334 124.01 181.263 123.992 181.227C123.975 181.173 123.921 181.12 123.832 181.067C123.725 180.978 123.601 180.889 123.44 180.817C123.28 180.728 123.102 180.639 122.942 180.55V180.372L125.435 179.25H125.578L125.524 185.679L125.56 185.697C125.649 185.519 125.773 185.323 125.952 185.109C126.13 184.896 126.361 184.682 126.628 184.486C126.895 184.29 127.216 184.112 127.554 183.97C127.911 183.827 128.285 183.756 128.712 183.756C129.122 183.756 129.46 183.827 129.727 183.97C130.012 184.112 130.226 184.308 130.386 184.557C130.547 184.807 130.671 185.109 130.742 185.448C130.814 185.786 130.849 186.178 130.849 186.57V192.038C130.849 192.127 130.885 192.198 130.956 192.251C131.027 192.305 131.116 192.358 131.241 192.394C131.348 192.429 131.473 192.447 131.597 192.465C131.722 192.483 131.847 192.501 131.954 192.518V192.679H128.16V192.697Z\",\n fill: \"white\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.5 81C52 81.0003 101.5 81 136.089 113.593C172.988 150.05 193.5 172.491 247.732 187.418C270.5 193.684 292 196 302.5 196\",\n stroke: \"#B2D7C7\",\n strokeWidth: 4\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_364_13051)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27,\n cy: 81,\n r: 7,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 27,\n cy: 81,\n r: 5,\n fill: \"#88BBAA\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter1_d_364_13051)\"\n }, /*#__PURE__*/React.createElement(\"circle\", {\n cx: 300.5,\n cy: 196,\n r: 7,\n fill: \"white\"\n }), /*#__PURE__*/React.createElement(\"circle\", {\n cx: 300.5,\n cy: 196,\n r: 5,\n fill: \"#88BBAA\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_364_13051\",\n x: 16,\n y: 74,\n width: 22,\n height: 22,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 4\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_364_13051\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_364_13051\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter1_d_364_13051\",\n x: 289.5,\n y: 189,\n width: 22,\n height: 22,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 4\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2\n }), /*#__PURE__*/React.createElement(\"feComposite\", {\n in2: \"hardAlpha\",\n operator: \"out\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.25 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_364_13051\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_364_13051\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_364_13051\",\n x1: 29.587,\n y1: 118.039,\n x2: 283.124,\n y2: 244.024,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#184D66\"\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 1,\n stopColor: \"#B2D7C7\"\n })))));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgProvenResultsMobile, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/ProvenResultsMobile.aa7f1df8.svg\";\nexport { ForwardRef as ReactComponent };","var _path, _path2, _path3, _path4, _path5, _path6, _path7;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgGridLock = function SvgGridLock(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 25,\n height: 24,\n viewBox: \"0 0 25 24\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.5996 11V9C22.5996 4 20.5996 2 15.5996 2H9.59961C4.59961 2 2.59961 4 2.59961 9V15C2.59961 20 4.59961 22 9.59961 22H10.5996\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.62964 8.5H22.5996\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M2.62964 15.5H12.5996\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M9.10962 21.99V2.01001\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1096 11.99V2.01001\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M16.1997 17.2V16.4C16.1997 15.07 16.5997 14 18.5997 14C20.5997 14 20.9997 15.07 20.9997 16.4V17.2\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.5996 22H16.5996C14.9996 22 14.5996 21.6 14.5996 20V19.2C14.5996 17.6 14.9996 17.2 16.5996 17.2H20.5996C22.1996 17.2 22.5996 17.6 22.5996 19.2V20C22.5996 21.6 22.1996 22 20.5996 22Z\",\n stroke: \"#B2D7C7\",\n strokeWidth: 1.5,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgGridLock, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/GridLock.8d48a5f5.svg\";\nexport { ForwardRef as ReactComponent };","var _path;\n\nvar _excluded = [\"svgRef\", \"title\"];\n\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport React from \"react\";\n\nvar SvgStarIcon = function SvgStarIcon(_ref) {\n var svgRef = _ref.svgRef,\n title = _ref.title,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 20,\n height: 18,\n viewBox: \"0 0 20 18\",\n fill: \"none\",\n ref: svgRef\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", null, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M4.04557 18L6.28753 11.16L0.357178 7.2H7.68575L10 0L12.3143 7.2H19.6429L13.7125 11.16L15.9545 18L10 13.77L4.04557 18Z\",\n fill: \"#88BBAA\"\n })));\n};\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(SvgStarIcon, _extends({\n svgRef: ref\n }, props));\n});\nexport default __webpack_public_path__ + \"static/media/StarIcon.4574daf7.svg\";\nexport { ForwardRef as ReactComponent };","import {\n Box,\n Container,\n Divider,\n FormControl,\n FormHelperText,\n Grid,\n MenuItem,\n Select,\n TextField,\n useMediaQuery,\n useTheme,\n Link,\n Typography,\n Breadcrumbs\n} from '@material-ui/core';\nimport React, { useMemo } from 'react';\nimport { UpdateAddressForm } from \"../../../common/components/updateAddressTestForm/UpdateAddressForm\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { BillingSummaryComponent } from \"../billingSummaryTestComponent/BillingSummaryComponent\";\nimport { WelcomePatientInfoComponent } from '../welcomePatientInfoComponent/WelcomePatientInfoComponent';\nimport { PatientInfoComponent } from '../patientInfoRedesignComponent/PatientInfoRedesignComponent';\nimport { ApplyPaymentCouponComponent } from '../paymentCouponTestComponent/ApplyPaymentCouponComponent';\nimport { PaymentCouponAppliedComponent } from '../paymentCouponTestComponent/PaymentCouponAppliedComponent';\nimport { PaymentSummaryComponent } from \"../paymentSummaryTestComponent/PaymentSummaryComponentGetStarted\";\nimport { GetStartedStep, useFacade, HealthConcernStatus } from \"./FinishCheckoutComponent.hooks\";\nimport { useStyles } from \"./finishCheckoutComponent.styles\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport clsx from 'clsx';\nimport { RegistrationBackButton } from '../registrationButton/RegistrationBackButton';\nimport { RegistrationNextButton } from '../registrationButton/RegistrationNextTestButton';\nimport { PageSliderComponent } from \"../../../common/components/PageSliderComponent\";\nimport { PaymentCardComponent } from \"../paymentCardTestComponent/PaymentCardComponent\";\nimport { PayButtonComponent } from \"../payButtonComponent/PayButtonComponent\";\nimport AddIcon from '@material-ui/icons/Add';\nimport DoneIcon from '@material-ui/icons/Done';\nimport NavigateNextIcon from '@material-ui/icons/NavigateNext';\nimport ArrowDownwardIcon from '@material-ui/icons/ArrowDownward';\nimport ArrowUpwardIcon from '@material-ui/icons/ArrowUpward';\nimport { ReactComponent as VisaCardLogo } from '@img/getStarted/VisaCardLogo.svg';\nimport { ReactComponent as MastercardLogo} from '@img/getStarted/mastercardLogo.svg';\nimport { ReactComponent as AMEXCardLogo } from '@img/getStarted/AMEXCardLogo.svg';\nimport { ReactComponent as DiscoverCardLogo } from '@img/getStarted/DiscoverCardLogo.svg';\nimport { ReactComponent as DinersCardLogo } from '@img/getStarted/DinersCardLogo.svg';\nimport { ReactComponent as JCBCardLogo } from '@img/getStarted/JCBCardLogo.svg';\nimport { ReactComponent as UnionPayCardLogo } from '@img/getStarted/UnionPayCardLogo.svg';\nimport { ReactComponent as ProvenResultsDesktop } from '@img/getStarted/ProvenResultsDesktop.svg';\nimport { ReactComponent as ProvenResultsMobile } from '@img/getStarted/ProvenResultsMobile.svg';\nimport { ReactComponent as InsuranceIcon } from '@img/icons/InsuranceIcon.svg';\nimport { ReactComponent as GridLockIcon } from '@img/icons/GridLock.svg';\nimport { ReactComponent as StarIcon } from '@img/icons/StarIcon.svg';\nimport WorkingTogether from '@img/getStarted/Together.png';\nimport SandraAvatar from '@img/getStarted/SandraAvatar.png';\nimport { loadStripe } from '@stripe/stripe-js';\nimport { Elements } from '@stripe/react-stripe-js';\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport {\n InsuranceCheckoutRedesignComponent\n} from \"../../../insurance/components/insuranceComponent/InsuranceCheckoutComponent\";\nimport { RegistrationSkipRedesignButton } from \"../registrationButton/RegistrationSkipButton\";\nimport { PaymentPlanModel } from '../../models/paymentPlan.models';\nimport { getPlanForAutoSelect } from \"../../helpers/getPlanForAutoSelect\";\nimport { WildHealthCheckbox } from '../../../common/components/WildHealthCheckbox';\nimport { SelectAddOnComponent } from '../../../addons/components/selectAddOnTestComponent/selectAddOnComponent';\nimport { colors } from '../../../common/constants/colors';\nimport {WildHealthButton} from \"../../../common/components/wildHealthButton/WildHealthButton\";\nimport {ExternalAuthProvider} from \"../../../auth/models/auth.enums\";\nimport {FeatureFlag} from \"../../../common/components/featureFlags/featureFlags.models\";\nimport {FeatureComponent} from \"../../../common/components/featureFlags/FeatureComponent\";\n\ninterface FinishCheckoutComponentProps {\n plans: PaymentPlanModel[];\n specifiedPlan?: string;\n defaultPlan?: string;\n navigationContext: PageSliderNavigationContext;\n employerKey?: string;\n topBannerHeight?: number;\n handleSetProgress: (progress: number) => void;\n}\n\nexport const FinishCheckoutExperimentComponent: React.FC = (props: FinishCheckoutComponentProps) => {\n const {\n plans,\n specifiedPlan = null,\n defaultPlan = null,\n navigationContext,\n employerKey = \"\",\n topBannerHeight = 0,\n handleSetProgress\n } = props;\n\n const [\n {\n paymentPlan,\n paymentPeriod,\n paymentPrice,\n publicKey,\n addOns,\n couponCode,\n coupon,\n isCouponApplied,\n paymentPriceType,\n payer,\n errors,\n sameAsBillingAddress,\n leadSources,\n selectedLeadSource,\n step,\n isSubmitted,\n isCardExist,\n cardSaved,\n isAgreeSMS,\n isAgreeContinue,\n paymentCardInfo,\n isLoading,\n isEmailSent,\n cardName,\n healthConcernStatus,\n showBottom,\n enterDiscountCode,\n isGetUserInfo,\n isPaidByAppleOrGoogle\n },\n isMarketingSMSButton,\n isConsultationGetStartedPath,\n handleHasInsurance,\n handleTokenChange,\n handlePriceSelect,\n handleChanges,\n renderRecaptcha,\n handleToggleSelectingAddOn,\n getSelectedAddOns,\n handleCouponChanges,\n applyCoupon,\n resetCoupon,\n handleSameAsBillingAddress,\n handleLeadSourceChanges,\n handleSubmitNextStep,\n handleSubmitBackStep,\n handleAgree,\n isCheckedWelcomePatient,\n isCheckedNameInfo,\n isCheckedPersonalInfo,\n goToLoginPage,\n goToResetPasswordStep,\n goToHaveAccountStep,\n isCheckedShippingDetail,\n isCheckedPaymentCardDetail,\n handleChangeHealthConcernStatus,\n handleEnterDiscountCode,\n isMedicareFlow,\n prevScrollY,\n handleOnBlurValidate,\n goToAuth2LoginPage,\n handleSetPaid\n ] = useFacade(employerKey, handleSetProgress);\n\n const classes = useStyles({ topBannerHeight });\n const commonClasses = commonUseStyles();\n const theme = useTheme();\n const isSmallScreen = useMediaQuery(theme.breakpoints.down(\"xs\"));\n const stripePromise = useMemo(() => loadStripe(`${publicKey}`), [publicKey]);\n const isPlanAutoSelect = Boolean(getPlanForAutoSelect(plans, specifiedPlan, defaultPlan));\n\n if (!publicKey || isGetUserInfo) {\n return \n }\n \n const renderHealthConcernStep = () => (\n \n \n What’s your main Goal?\n \n \n Maximize health span & longevity}\n checkStatus={healthConcernStatus === HealthConcernStatus.MaximizeHealthSpanLongevity}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.MaximizeHealthSpanLongevity)}\n />\n \n \n Treat new or chronic conditions}\n checkStatus={healthConcernStatus === HealthConcernStatus.TreatNewChronicConditions}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.TreatNewChronicConditions)}\n />\n \n \n Optimize my overall health}\n checkStatus={healthConcernStatus === HealthConcernStatus.OptimizeMyOverallHealth}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.OptimizeMyOverallHealth)}\n />\n \n \n Elevate my performance}\n checkStatus={healthConcernStatus === HealthConcernStatus.ElevateMyPerformance}\n handleCheck={() => handleChangeHealthConcernStatus(HealthConcernStatus.ElevateMyPerformance)}\n />\n \n \n )\n \n const renderClinicallyProvenResultsStep = () => (\n \n \n Clinically Proven Results\n \n \n {isSmallScreen ? : }\n \n \n {!isSmallScreen && (\n \n Clinically Proven Results\n \n )}\n \n \n \n \n 69\n %\n \n {isSmallScreen ? `Reduction in Inflammation` : `Reduction in inflammation`}\n \n \n \n \n 47\n %\n \n {isSmallScreen ? `Improvement of Diabetic Markers` : `Improvement of diabetic markers`}\n \n \n \n \n 58\n %\n \n {isSmallScreen ? `Reduced Risk of Cardiovascular Disease` : `Reduced cardiovascular disease`}\n \n \n \n \n )\n \n const renderWorkingTogetherStep = () => (\n \n \n \n \n \n Working Together to Deliver the Health Results You Deserve\n \n \n Comprehensive and collaborative care is what makes our unparalleled patient outcomes possible. Beyond their individual expertise, your providers work together to execute on a personalized and highly effective approach to transform your health for good.\n \n \n )\n\n const renderCreateAccountStep = () => (\n <>\n \n Create an Account to Start Your Personal Health Journey\n \n \n \n \n \n \n Patient privacy is our highest priority. We encrypt all confidential data, and never share or sell your genetic information with anyone.\n \n \n \n handleAgree(event, 'isAgreeContinue')}\n />\n \n By checking this box, you acknowledge and agree to the\n navigationService.toTermsOfUse()} className={classes.termsPolicyLink}>Terms of Use\n , \n navigationService.toTermsOfService()} className={classes.termsPolicyLink}>Terms of Service\n , \n navigationService.toPrivacyPolicy()} className={classes.termsPolicyLink}>Privacy Policy\n , and\n navigationService.toNoticeOfPrivacy()} className={classes.termsPolicyLink}>Notice of Privacy Practices.\n \n \n\n \n \n goToAuth2LoginPage(ExternalAuthProvider.Google)}\n fullWidth\n borderRadius={50}\n disabled={!isAgreeContinue}\n >\n Log In With Google\n \n \n \n \n \n )\n\n const renderHaveAccountStep = () => (\n \n \n {isSmallScreen ? `You already have an account` : `Already a user?`}\n \n \n {isSmallScreen ? `There is already an account associated with that email. Login or reset your password.` : `This email is already associated with an account. Please login or reset your password.`}\n \n \n {\n renderRecaptcha()\n }\n \n )\n\n const renderResetPasswordStep = () => (\n \n \n Reset Password\n \n \n Forgot your password? No Problem.\n Enter the email address assocaited with your account.\n \n \n {\n renderRecaptcha()\n }\n \n )\n \n const renderCongratulationsStep = () => (\n \n \n Congratulations!\n \n \n You made a commitment to yourself, and joined a community of thousands who are improving their health and wellbeing.\n \n \n \n \n \n \n \n \n \n \n “It took only a few weeks to feel the effects of implementing the diet and supplement recommendations from my care team. I can’t wait to see my progress over time.”\n \n \n \n \n \n \n Sandra M.\n \n \n )\n\n const renderNameInterstitialStep = () => (\n \n \n Let’s get acquainted.\n \n \n \n )\n\n const displayOtherLeadSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId);\n if (leadSource === undefined || !leadSource.isOther)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const displayPodcastSource = () => {\n const leadSource = leadSources.find(x => x.id === selectedLeadSource.leadSourceId && x.name === 'Podcast');\n if (leadSource === undefined)\n return <>\n\n return \n {\n handleLeadSourceChanges(v.target.id, v.target.value)\n }}\n />\n \n }\n\n const renderAgreeSmstMarketing = () => (\n \n \n \n I agree to receive occasional SMS marketing communications\n \n }\n checkStatus={isAgreeSMS}\n handleCheck={(event) => handleAgree(event, 'isAgreeSMS')}\n />\n \n )\n\n const renderPersonalInfoStep = () => (\n \n \n Hi, {payer.firstName}!\n \n \n Now, add a few more details.\n \n \n {\n !paymentPlan?.isFounder &&\n \n \n How did you hear about us *\n \n \n \n {\n if (selectedLeadSource.leadSourceId === 0) {\n return Select;\n }\n\n return leadSources.find(source => source.id === selectedLeadSource.leadSourceId)?.name\n }}\n displayEmpty\n onChange={(v) => handleLeadSourceChanges(\"selectedLeadSource.leadSourceId\", v.target.value.toString())}\n >\n {\n leadSources.map((source, i) => {\n return {source.name}\n })\n }\n \n {errors[`selectedLeadSource.leadSourceId`]}\n \n \n {\n displayOtherLeadSource()\n }\n {\n displayPodcastSource()\n }\n \n }\n {\n isMarketingSMSButton && renderAgreeSmstMarketing()\n }\n \n )\n\n const renderMarketingSMSSubCopy = () => (\n \n *By checking this box, you acknowledge and agree that Wild Health and Wellington Provider Group may use your contact information to send communications by email and text message, including automatically generated text messages, on Wild Health's products and other related educational content. I understand that my consent to receive these communications is not a condition of receiving any good or service. I also understand that message and data charges may apply.\n \n )\n\n const renderAskInsuranceStep = () => (\n <>\n \n \n \n \n Do you have insurance\n \n \n \n We offer plans regardless of your insurance status, but it will help us determine the right plan for you.\n \n \n \n )\n\n const renderAskMedicareStep = () => (\n <>\n \n \n \n \n Do you have Medicare?\n \n \n \n We offer plans regardless of your insurance status, but it will help us determine the right plan for you.\n \n \n \n )\n\n\n const renderCaptureInsuranceStep = () => (\n <>\n handleSubmitNextStep()}\n handleCancel={() => handleHasInsurance(false)}\n isMedicareFlow={isMedicareFlow()}\n />\n \n )\n\n const renderOnnInsuranceStep = () => (\n <>\n \n \n \n \n Not in network yet\n \n \n \n We are not in network yet with your insurance. However, we offer discounted cash pricing for out-of-network patients.\n \n \n \n )\n\n const renderShippingStep = () => (\n \n \n Shipping\n \n \n } aria-label=\"breadcrumb\">\n \n Shipping\n \n \n Billing Info\n \n \n Review\n \n \n \n \n \n Tell us where to send your Wild Health Genetic Test Kit — and any other surprises along the way.\n \n \n \n \n )\n\n const renderSelectMembershipStep = () => (\n \n \n Select Your Membership Plan\n \n \n \n \n \n \n {\n !paymentPlan.isTrial &&\n \n \n {\n addOns.map((item) => {\n return (\n \n \n \n )\n })\n }\n \n \n }\n \n \n \n \n \n \n \n \n {!enterDiscountCode ? (\n \n ) : (\n <>\n \n Promo code\n \n \n \n )}\n {\n isCouponApplied &&\n \n }\n \n \n \n \n \n \n \n {renderDefaultNextButton()}\n \n )\n\n const renderBillingStep = () => (\n <>\n \n \n Billing\n \n \n } aria-label=\"breadcrumb\">\n \n Shipping\n \n \n Billing Info\n \n \n Review\n \n \n \n \n \n Input your payment information in order to complete your purchase. You will not be charged until you review your order.\n \n \n Cardholder Name *\n \n handleChanges(v.target.id, v.target.value)}\n onBlur={() => handleOnBlurValidate(`cardName`)}\n />\n \n \n \n \n \n \n \n {sameAsBillingAddress ? (\n \n Use Shipping Address\n }\n checkStatus={!sameAsBillingAddress}\n handleCheck={handleSameAsBillingAddress}\n />\n ) : (\n \n )}\n \n {\n sameAsBillingAddress &&\n\n \n \n Billing Address\n \n \n \n }\n \n
\n {renderDefaultNextButton()}\n
\n \n )\n\n const renderCard = () => {\n switch (paymentCardInfo.paymentMethod.card.brand) {\n case 'visa':\n return ;\n case 'mastercard':\n return ;\n case 'amex':\n return ;\n case 'discover':\n return ;\n case 'diners':\n return ;\n case 'jcb':\n return ;\n case 'unionpay':\n return ;\n default: return ;\n }\n }\n\n const renderCheckoutStep = () => (\n \n \n Order Summary\n \n \n } aria-label=\"breadcrumb\">\n \n Shipping\n \n \n Billing Info\n \n \n Review\n \n \n \n \n \n \n \n \n {\n !paymentPlan.isTrial &&\n \n \n {\n addOns.map((item) => {\n return (\n \n \n \n )\n })\n }\n \n \n }\n \n \n \n \n \n \n \n \n {!enterDiscountCode ? (\n \n ) : (\n <>\n \n Promo code\n \n \n \n )}\n {\n isCouponApplied &&\n \n }\n \n \n \n \n Payment details\n \n \n \n {paymentCardInfo && paymentCardInfo.paymentMethod.card && renderCard()}\n \n •••• {paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.last4 : ''}\n \n \n \n {paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.exp_month : ''}/{paymentCardInfo && paymentCardInfo.paymentMethod.card ? paymentCardInfo.paymentMethod.card.exp_year.toLocaleString().substr(-2) : ''}\n \n \n \n \n \n Shipping address\n \n \n \n {payer.firstName} {payer.lastName}\n \n \n {payer.shippingAddress.streetAddress1}\n \n \n {payer.shippingAddress.city}, {payer.shippingAddress.country} {payer.shippingAddress.zipCode}\n \n \n \n \n \n {\n renderRecaptcha()\n }\n
\n {renderDefaultNextButton()}\n
\n \n )\n\n const btnName = () => {\n switch (step) {\n case GetStartedStep.CreateAccount:\n return \"Get Healthy\";\n case GetStartedStep.HaveAccount:\n return \"Login\";\n case GetStartedStep.ResetPassword:\n return \"Reset Password\";\n case GetStartedStep.AskInsurance:\n return \"YES\";\n case GetStartedStep.AskMedicare:\n return \"YES\";\n case GetStartedStep.AppleGooglePay:\n return \"Continue to Payment\";\n case GetStartedStep.Billing:\n return \"Continue to Payment\";\n case GetStartedStep.Review:\n return \"Purchase Membership\";\n default: return \"Continue\";\n }\n }\n\n const disabledStatus = () => {\n switch (step) {\n case GetStartedStep.HealthConcern: \n return healthConcernStatus === null;\n case GetStartedStep.CreateAccount:\n return !isCheckedWelcomePatient();\n case GetStartedStep.NameInterstitial:\n return !isCheckedNameInfo();\n case GetStartedStep.PersonalInfo:\n return !isCheckedPersonalInfo();\n case GetStartedStep.AskInsurance:\n return false;\n case GetStartedStep.CaptureInsurance:\n return false;\n case GetStartedStep.OnnInsurance:\n return false;\n case GetStartedStep.Shipping:\n return !isCheckedShippingDetail();\n case GetStartedStep.AppleGooglePay:\n return false;\n case GetStartedStep.Billing:\n return !isCheckedPaymentCardDetail();\n case GetStartedStep.Review:\n return false;\n }\n }\n\n const renderBackButton = () => {\n if (step !== GetStartedStep.HealthConcern && step !== GetStartedStep.NameInterstitial && step !== GetStartedStep.Congratulations) {\n return ;\n } else {\n if (!isPlanAutoSelect && !isConsultationGetStartedPath && step !== GetStartedStep.NameInterstitial && step !== GetStartedStep.Congratulations) {\n return ;\n }\n }\n return <>;\n }\n\n const renderDefaultNextButton = () => {\n return (\n \n \n \n \n \n \n {step === GetStartedStep.CreateAccount && (\n \n Have an account?\n goToLoginPage()}>\n \n Sign In\n \n \n \n )}\n {step === GetStartedStep.HaveAccount && (\n \n goToResetPasswordStep()}>\n \n Forgot Password?\n \n \n \n )}\n {step === GetStartedStep.ResetPassword && (\n \n goToHaveAccountStep()}>\n \n Log In\n \n \n \n )}\n \n )\n }\n\n const renderAskInsuranceNextButton = () => {\n return (\n <>\n \n \n \n \n \n \n handleHasInsurance(false)}\n label=\"NO\"\n disabled={false}\n />\n \n \n \n \n )\n }\n\n const renderNextButton = (step: GetStartedStep): JSX.Element => {\n switch (step) {\n case GetStartedStep.AskInsurance: return renderAskInsuranceNextButton();\n case GetStartedStep.AskMedicare: return renderAskInsuranceNextButton();\n case GetStartedStep.CaptureInsurance: return <>;\n case GetStartedStep.AppleGooglePay: return <>;\n case GetStartedStep.Billing: return <>;\n case GetStartedStep.Review: return <>;\n default: return renderDefaultNextButton();\n }\n }\n\n return (\n <>\n {isEmailSent && step === GetStartedStep.ResetPassword && (\n \n \n \n A link was sent to your email\n \n \n )}\n \n {!isSubmitted && renderBackButton()}\n \n \n \n {step === GetStartedStep.HealthConcern && renderHealthConcernStep()}\n {step === GetStartedStep.ClinicallyProvenResults && renderClinicallyProvenResultsStep()}\n {step === GetStartedStep.WorkingTogether && renderWorkingTogetherStep()}\n {step === GetStartedStep.CreateAccount && renderCreateAccountStep()}\n {step === GetStartedStep.HaveAccount && renderHaveAccountStep()}\n {step === GetStartedStep.ResetPassword && renderResetPasswordStep()}\n {step === GetStartedStep.Congratulations && renderCongratulationsStep()}\n {step === GetStartedStep.NameInterstitial && renderNameInterstitialStep()}\n {step === GetStartedStep.PersonalInfo && renderPersonalInfoStep()}\n {step === GetStartedStep.AskInsurance && renderAskInsuranceStep()}\n {step === GetStartedStep.AskMedicare && renderAskMedicareStep()}\n {step === GetStartedStep.CaptureInsurance && renderCaptureInsuranceStep()}\n {step === GetStartedStep.OnnInsurance && renderOnnInsuranceStep()}\n {step === GetStartedStep.Shipping && renderShippingStep()}\n {step === GetStartedStep.AppleGooglePay && renderSelectMembershipStep()}\n {step === GetStartedStep.Billing && renderBillingStep()}\n {step === GetStartedStep.Review && renderCheckoutStep()}\n {\n renderNextButton(step)\n }\n \n {step === GetStartedStep.PersonalInfo && isMarketingSMSButton && isAgreeSMS && renderMarketingSMSSubCopy()}\n \n \n {isSmallScreen && step === GetStartedStep.Review && showBottom && (\n \n \n \n )}\n {isSmallScreen && step === GetStartedStep.Billing && sameAsBillingAddress && showBottom && (\n \n \n \n )}\n \n )\n}\n","import React, { useEffect, useState, useRef } from \"react\";\nimport { useHistory } from \"react-router\";\nimport { Subscription } from \"rxjs\";\nimport { navigationService } from \"../../../../services/navigation.service\";\nimport { onEmit } from \"../../../common/helpers/on-emit\";\nimport { PageSliderNavigationContext } from \"../../../common/models/navigation.models\";\nimport { SelectPaymentPeriodComponent } from \"../../components/selectPaymentPeriodComponent/SelectPaymentPeriodComponent\";\nimport { PaymentPeriodModel } from \"../../models/paymentPeriod.models\";\nimport { PaymentPlanModel } from \"../../models/paymentPlan.models\";\nimport { paymentPlansService } from \"../../services/paymentPlans.service\";\nimport { paymentPlansQuery, PaymentSteps } from \"../../stores/paymentPlansStore\";\nimport { authQuery } from \"../../../auth/stores/auth\";\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport { getValueFeatureFlag, isFeatureFlag, anyFlags } from '../../../common/components/featureFlags/featureFlags';\nimport { FeatureFlag } from \"../../../common/components/featureFlags/featureFlags.models\";\nimport { PaymentCouponModel } from \"../../models/paymentPrice.models\";\nimport { useLocation } from \"react-router-dom\";\nimport {\n FinishCheckoutComponent,\n} from \"../../components/finishCheckoutComponent/FinishCheckoutComponent\";\nimport {\n FinishCheckoutRedesignComponent,\n} from \"../../components/finishCheckoutRedesignComponent/FinishCheckoutComponent\";\nimport {\n FinishCheckoutExperimentComponent,\n} from \"../../components/finishCheckoutExperimentComponent/FinishCheckoutComponent\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { SelectPaymentPlanComponent } from \"../../components/selectPaymentPlanComponent/SelectPaymentPlanComponent\";\nimport { addressService } from \"../../../account/services/address.service\";\nimport { confirmService } from \"../../../../services/confirm.service\";\n\ninterface GetStartedState {\n plans: PaymentPlanModel[];\n trialPlan: PaymentPlanModel;\n selectedPlan: PaymentPlanModel | null;\n selectedPeriod: PaymentPeriodModel | null;\n step: PaymentSteps;\n coupon: PaymentCouponModel;\n progress: number;\n progressBarOpened: boolean;\n bannerOpened: boolean;\n bannerHeight: number;\n isNewAccountId: number;\n}\n\ninterface ScrollElement {\n current: HTMLDivElement\n}\n\nconst DEFAULT_PLAN = \"STANDARD\";\n\n/**\n * Custom Hook to manage a view Model for GetStarted page view components\n */\nexport function useFacade(employerKey: string): [JSX.Element, GetStartedState, boolean, ScrollElement, Function] {\n const history = useHistory();\n const featureFlags = useFlags();\n const search = useLocation().search;\n const specifiedPlan = new URLSearchParams(search).get('plan');\n const defaultPlan = getValueFeatureFlag(featureFlags, FeatureFlag.DefaultPlan) ?? DEFAULT_PLAN;\n const OnboardingRedesignV2 = isFeatureFlag(featureFlags, FeatureFlag.OnboardingRedesignV2);\n const CheckoutSocialProof = isFeatureFlag(featureFlags, FeatureFlag.CheckoutSocialProof);\n const [state, setState] = useState({\n selectedPlan: null,\n selectedPeriod: null,\n step: PaymentSteps.SelectPlan,\n progress: 0,\n progressBarOpened: false,\n coupon: null,\n bannerOpened: true,\n bannerHeight: 0,\n isNewAccountId: 0\n } as GetStartedState);\n\n const prevScrollY = useRef(null);\n\n const handleClose = () => {\n setState(state => ({ ...state, bannerOpened: !state.bannerOpened }));\n }\n\n const canGoBack = () => {\n if (state.step === PaymentSteps.SelectPeriod) {\n return state.plans.length > 1;\n }\n\n if (state.step === PaymentSteps.Checkout) {\n if (state.selectedPlan.periods.length > 1) {\n return true;\n } else {\n return state.plans.length > 1;\n }\n }\n\n return false;\n }\n\n const canGoNext = () => {\n switch (state.step) {\n case PaymentSteps.SelectPlan:\n return state.selectedPlan;\n case PaymentSteps.SelectPeriod:\n return state.selectedPeriod\n }\n }\n\n const handleNext = () => {\n switch (state.step) {\n case PaymentSteps.SelectPlan:\n return setState(state => ({ ...state, step: PaymentSteps.SelectPeriod }));\n case PaymentSteps.SelectPeriod:\n return setState(state => ({ ...state, step: PaymentSteps.Checkout, progressBarOpened: true }));\n }\n };\n\n const goBackFromCheckoutPage = () => {\n const step = state.selectedPlan.periods.length === 1\n ? PaymentSteps.SelectPlan\n : PaymentSteps.SelectPeriod;\n\n setState(state => ({\n ...state,\n step: step,\n progressBarOpened: false\n }));\n }\n\n const handleBack = () => {\n switch (state.step) {\n case PaymentSteps.SelectPeriod:\n return setState(state => ({ ...state, step: PaymentSteps.SelectPlan }));\n case PaymentSteps.Checkout:\n return goBackFromCheckoutPage();\n }\n };\n\n const navigationContext = {\n nextButton: \"Next\",\n backButton: \"Back\",\n canGoNext: canGoNext,\n canGoBack: canGoBack,\n goNext: handleNext,\n goBack: handleBack\n } as PageSliderNavigationContext\n\n const checkoutContent = () => {\n if (!state.plans || !state.plans.length || !anyFlags(featureFlags)) {\n return \n }\n\n return CheckoutSocialProof ? setState(state => ({ ...state, progress}))}\n /> : OnboardingRedesignV2 ? setState(state => ({ ...state, progress}))}\n /> : \n }\n\n const StepsContent = new Map([\n [PaymentSteps.SelectPlan, ],\n [PaymentSteps.SelectPeriod, ],\n [PaymentSteps.Checkout, checkoutContent()]\n ]);\n\n useEffect(() => {\n const subscriptions: Subscription[] = [\n onEmit(paymentPlansQuery.regularPlans$, plans => setState(state => ({\n ...state,\n plans: plans\n }))),\n onEmit(paymentPlansQuery.trialPlan$, trialPlan => setState(state => ({\n ...state,\n trialPlan: trialPlan\n }))),\n onEmit(paymentPlansQuery.coupon$, coupon => {\n setState(state => ({\n ...state,\n coupon: coupon\n }));\n }),\n onEmit(authQuery.userId$, userId => setState(state => ({\n ...state,\n isNewAccountId: userId\n }))),\n ];\n\n addressService.getStates().subscribe();\n if (authQuery.isLoggedIn() && authQuery.isRegistrationCompleted()) {\n navigationService.toDashboard(history);\n } else {\n if (employerKey) {\n paymentPlansService.getEmployerProduct(employerKey).subscribe(() => {\n paymentPlansService.getActive(authQuery.getCurrentPracticeId(), employerKey).subscribe();\n }, () => {\n confirmService.alert('Alert', 'This plan is no longer active. The button below will redirect you to checkout using our current active plan.').subscribe(() => {\n navigationService.toGetStarted(history);\n });\n });\n } else {\n paymentPlansService.getActive(authQuery.getCurrentPracticeId(), null).subscribe();\n }\n } \n\n return () => {\n subscriptions.map(it => it.unsubscribe())\n };\n }, []);\n\n useEffect(() => {\n navigationService.goUp();\n }, [state.step])\n\n useEffect(() => {\n function scrollEvent() {\n if (prevScrollY) {\n\n if (prevScrollY.current) {\n let rect = prevScrollY.current.getBoundingClientRect()\n setState(state => ({ ...state, bannerHeight: rect.bottom > 0 ? rect.bottom : 0 }))\n }\n }\n }\n\n if (prevScrollY && prevScrollY?.current) {\n let rect = prevScrollY.current.getBoundingClientRect()\n setState(state => ({ ...state, bannerHeight: rect.bottom > 0 ? rect.bottom : 0 }))\n }\n\n document.addEventListener('scroll', scrollEvent)\n\n return () => {\n document.removeEventListener('scroll', scrollEvent)\n }\n }, [state.coupon, state.bannerOpened]);\n\n return [StepsContent.get(state.step), state, OnboardingRedesignV2, prevScrollY, handleClose];\n}\n","import { makeStyles, createStyles, Theme } from '@material-ui/core/styles';\n\nexport const useStyles = makeStyles((theme: Theme) =>\n createStyles({\n content: {\n paddingBottom: 30,\n padding: 0,\n boxShadow: 'none',\n },\n main: {\n flexGrow: 1,\n },\n }),\n);\n","import React, {FC} from 'react';\nimport {Box, IconButton, makeStyles, Typography} from \"@material-ui/core\";\nimport {colors} from \"../../../../common/constants/colors\";\nimport {PaymentCouponModel} from \"../../../models/paymentPrice.models\";\nimport CloseIcon from \"@material-ui/icons/Close\";\n\ninterface HeaderCouponProps {\n coupon: PaymentCouponModel,\n handleClose:Function,\n bannerOpened:boolean\n}\n\nconst useStyles = makeStyles({\n root: {\n backgroundColor: colors.good,\n position:\"relative\",\n zIndex:2000,\n maxHeight:50,\n width:\"100%\"\n },\n btnClose:{\n color:colors.white\n },\n span: {\n color:colors.white\n }\n})\nconst HeaderCouponApplied: FC = (props: HeaderCouponProps) => {\n\n\n const classes = useStyles()\n const {coupon, bannerOpened, handleClose} = props;\n const isCouponApplied = !!coupon;\n\n\n return (\n isCouponApplied &&\n bannerOpened ?\n \n \n \n {coupon?.detail} discount has been applied!\n \n \n \n handleClose()}>\n \n \n : null\n )\n}\n\nexport default HeaderCouponApplied;","import React from 'react';\nimport {createStyles, withStyles, Theme, LinearProgress, Box } from \"@material-ui/core\";\nimport { colors } from \"../../../../common/constants/colors\";\n\ninterface HeaderProgressBarProps {\n isOpened: boolean;\n progress: number;\n}\n\nconst BorderLinearProgress = withStyles((theme: Theme) =>\n createStyles({\n root: {\n height: 12,\n zIndex: 1999,\n },\n colorPrimary: {\n backgroundColor: colors.white,\n },\n bar: {\n backgroundColor: colors.navy,\n },\n }),\n)(LinearProgress);\n\nconst HeaderProgressBar: React.FC = (props: HeaderProgressBarProps) => {\n\n const { isOpened, progress } = props;\n\n return (\n isOpened && progress > 0 ?\n \n : null\n )\n}\n\nexport default HeaderProgressBar;","import React from 'react';\nimport { Helmet } from \"react-helmet\";\nimport { Paper, Box } from '@material-ui/core';\nimport { useFlags } from 'launchdarkly-react-client-sdk';\nimport clsx from 'clsx';\nimport { useFacade } from \"./getStartedPage.hooks\";\nimport { useStyles } from './GetStartedPage.styles';\nimport { LayoutComponent } from '../../../../components/layoutComponent/LayoutComponent';\nimport { TitlesService } from \"../../../../constants/title.constants\";\nimport { WaitListDialogComponent } from \"../../components/waitListDialogComponent/WaitListDialogComponent\";\nimport commonUseStyles from '../../../common/styles/common.styles';\nimport HeaderCouponApplied from \"../../components/finishCheckoutRedesignComponent/headerCouponApplied/HeaderCouponApplied\";\nimport HeaderProgressBar from \"../../components/finishCheckoutRedesignComponent/headerProgressBar/HeaderProgressBar\";\nimport WildHealthLinearProgress from \"../../../common/components/WildHealthLinearProgress\";\nimport { anyFlags } from '../../../common/components/featureFlags/featureFlags';\n\nexport const GetStartedPage: React.FC = (props: any) => {\n const employerKey = props?.match?.params?.employerKey ?? new URLSearchParams(props.location.search).get('employerKey');\n\n const [\n page,\n { plans, coupon, progress, progressBarOpened, bannerOpened, bannerHeight, isNewAccountId },\n isOnboardingRedesign,\n prevScrollY,\n handleClose\n ] = useFacade(employerKey);\n\n const featureFlags = useFlags();\n const classes = useStyles();\n const commonClasses = commonUseStyles();\n \n if (!plans || !plans.length || !anyFlags(featureFlags)) {\n return \n }\n\n return (\n \n {isNewAccountId > 0 &&\n \n {/* */}\n {/*