{"version":3,"sources":["hooks/usePersonalData.ts","services/fhir/FHIRAppointment.ts","components/ErrorBoundary/ErrorBoundary.jsx","components/Modals/AlertModal/AlertModal.tsx","context/alertReducer.ts","context/appPropsReducer.ts","context/checkInReducer.ts","context/dokumenteReducer.ts","context/executeRuleReducer.ts","context/iframeReducer.ts","context/loginReducer.ts","context/questionnaireReducer.ts","context/sigPadReducer.ts","context/terminierungReducer.ts","context/themeReducer.ts","context/videochatReducer.ts","fonts/Inter.ttf","fonts/Roboto-Regular.ttf","globals/GlobalStyles.ts","App.tsx","serviceWorker.ts","index.tsx","context/checkInContext.ts","components/Div/StyledDiv.tsx","components/Calendar/TimeSlots.tsx","hooks/useAppProperties.ts","services/fhir/FHIRDiagnosticReports.ts","context/questionnaireContext.ts","components/Badges/StyledBadge.tsx","utils/lottieUtils.ts","services/fhir/FHIRPatientResource.ts","components/Loading/Loading.tsx","components/Loading/LoadingSpinnerWithText.tsx","context/executeRuleContext.ts","utils/soundUtils.ts","components/Telephone/Telephone.tsx","context/alertContext.ts","components/Chat/ChatMessages.tsx","components/Chat/ChatInput.tsx","components/Chat/ChatMessagesContainer.tsx","components/Chat/Message.tsx","components/Chat/Chat.tsx","components/Chat/ChatWidgetContainer.tsx","components/Chat/ChatWidgetSymbol.tsx","components/StyledText/StyledHeader.tsx","hooks/useHandleLogout.ts","components/Cards/AppointmentDate.tsx","components/Cards/AppointmentChat.tsx","components/Cards/CompleteAppointment.tsx","components/Cards/AppointmentStatus.tsx","components/Modals/CancelAppointmentModal/CancelAppointmentModal.tsx","components/Cards/CancelAppointment.tsx","components/Cards/InpatientAppointment.tsx","components/Cards/Participants.tsx","components/Cards/PostponeAppointment.tsx","components/Cards/AppointmentCard.tsx","services/fhir/FHIRQuestionnaire.ts","context/themeContext.ts","context/sigpadContext.ts","utils/chartUtils.ts","utils/dateUtils.ts","components/IFrame/IFramePDF.tsx","components/Buttons/StyledButton.tsx","container/Mainscreen/FullScreenImpressum.tsx","components/Cols/StyledCol.tsx","components/Modals/PDFModal/PDFModal.tsx","components/Buttons/SelectButton.tsx","container/PersonalDataSummary/PersonalDataSummary.tsx","utils/documentUtils.ts","components/Modals/BlockingAppointmentModal/BlockingAppointmentModal.tsx","components/AppointmentPersonalData/AppointmentPersonalData.tsx","context/loginContext.ts","components/Div/DragNDropArea.tsx","components/SidebarItems/Avatar.tsx","container/Sidebar/Sidebar.tsx","hooks/barcodeKeyHandler.ts","components/Tabs/StyledNavButton.tsx","hooks/useChart.ts","components/TableProvider/TableProvider.tsx","components/Modals/TableModal/TableModal.tsx","components/Charts/ChartViews/EmptyView.tsx","components/Charts/ChartViews/FiveYearsView.tsx","components/Charts/ChartViews/MaxView.tsx","components/Charts/ChartViews/OneMonthView.tsx","components/Charts/ChartViews/OneWeekView.tsx","components/Charts/ChartViews/OneYearView.tsx","components/Charts/ChartViews/ViewSwitcher.tsx","components/Charts/ActivityCharts/ActivityCharts.tsx","components/Charts/BloodSugar/BloodSugarCharts.tsx","components/Charts/BodyFat/BodyFatCharts.tsx","components/Charts/FLI/FLICharts.tsx","components/Charts/SAM/SAMCharts.tsx","components/Charts/Weight/WeightCharts.tsx","components/Charts/AppCharts/AppCharts.tsx","components/IFrame/IFrameFragebogen.tsx","container/Charts/Charts.tsx","container/Charts/ChartsActivity/ChartsActivity.tsx","container/Charts/ChartsBlutzucker/ChartsBlutzucker.tsx","container/Charts/ChartsFettmasse/ChartsFettmasse.tsx","container/Charts/ChartsFLI/ChartsFLI.tsx","container/Charts/ChartsGewicht/ChartsGewicht.tsx","container/Charts/ChartsSAM/ChartsSAM.tsx","container/Error/Error.tsx","container/ExecuteRule/ExecuteRule.ts","components/EnrollCodeBox/EnrollCodeBox.tsx","container/Home/Home.tsx","container/NeuerAccount/NeuerAccountPhysLogin.tsx","images/CardSim.png","components/Buttons/ReadCardButton.tsx","container/Splashscreen/CheckInSplashscreenMultifragebogenWaiting.tsx","container/Splashscreen/CheckInSplashscreen.tsx","container/Splashscreen/CheckInSplashscreenWaiting.tsx","container/Splashscreen/LoggedOutSplashscreen.tsx","components/Tables/VAL/VALTable.tsx","container/Tables/TableVAL/TableVAL.tsx","Routes.tsx","components/Text/TextSwitch.tsx","components/Buttons/EncounterTitle.tsx","components/ProfileSwitch/PatientSwitch.tsx","components/ProfileSwitch/ProfileSwitch.tsx","hooks/useNavbar.ts","container/Navbar/Navbar.tsx","context/dokumenteContext.ts","utils/appointmentUtils.ts","components/AppointmentCalendar/AppointmentCalendar.tsx","components/AppointmentCalendar/AppointmentCalendarWithHeadline.tsx","context/iframeContext.ts","components/Modals/PDFModal/EmbeddedPDF.tsx","components/Modals/PDFModal/EmbeddedPDFInModal.tsx","services/RestServices.ts","globals/theme.ts","components/Div/ImageDiv.tsx","components/Modals/ForeignQRModal/ForeignQRModal.tsx","components/Toast/ErrorToast.tsx","container/Fragebogen/FragebogenDetail.tsx","utils/questionnaireUtils.ts","utils/photoUtils.ts","hooks/useLoadQuestionnaireAnswers.ts","components/RefreshButton/RefreshButton.tsx","components/Modals/TelephoneModal/TelephoneModal.tsx","context/terminierungContext.ts","services/VideochatService.ts","hooks/useSecurityItems.ts","hooks/useScreenResolution.ts","components/Booking/EarlierAppointment.tsx","components/Booking/Booking.tsx","hooks/usePatientSwitch.ts","components/Calendar/StyledCalendar.tsx","components/Calendar/Calendar.tsx","components/ExtraLinks/ExtraLinks.tsx","hooks/useProfileSwitch.ts","container/Navbar/StyledNavbar.tsx","utils/screenResolution.ts","components/IFrame/IFrame.tsx","utils/executeRuleUtils.ts","components/LanguageSwitch/LanguageSwitch.tsx","utils/generalUtils.ts","components/SignaturePad/SignaturePad.tsx","components/PhysicianSelectionCard/PhysicianSelectionDescriptionList.tsx","components/PhysicianSelectionCard/PhysicianSelectionPhoto.tsx","components/Modals/WebcamModal/WebcamPreviewModal.tsx","container/Navbar/NavbarCheckInWL.tsx","container/NeuerAccount/NeuerAccount.tsx","components/Tabs/StyledTab.tsx","components/PhysicianSelectionCard/PhysicianSelectionCardWithAppointments.tsx","components/Calendar/HorizontalDateSwitcher.tsx","components/PhysicianSelectionCard/PhysicianSelectionCardWithDateSwitcher.tsx","container/AppointmentCategory/AppointmentCategoryExtendedPhysican.tsx","hooks/useSignotecConnector.ts","hooks/useSignaturePad.ts","components/SignaturePad/SignaturePadSignotec.tsx","components/Modals/SignDocumentModal/SignDocumentModal.tsx","components/SidebarItems/SidebarItem.tsx","components/SidebarItems/SidebarItemList.tsx","utils/alertHandling.ts","components/Stepper/StepperCheckIn.tsx","context/appPropsContext.ts","components/Inputs/RemarkInputField.tsx","components/AppointmentPersonalData/AppointmentPersonalDataWithCardRead.tsx","components/AppointmentPersonalData/AppointmentPersonalDataWithLogin.tsx","components/Modals/CancelConfirmModal/CancelConfirmModal.tsx","components/Modals/CodeInputModal/CodeInputModal.tsx","components/Booking/BookingAppointment.tsx","components/FinalCheckIn/FinalCheckIn.tsx","components/Modals/LoginCardModal/LoginCardModal.tsx","components/Badges/BadgesList.tsx","container/AppointmentCategory/AppointmentCategoryDepartment.tsx","container/AppointmentCategory/AppointmentCategoryLocation.tsx","components/PhysicianSelectionCard/PhysicianSelectionCard.tsx","container/AppointmentCategory/AppointmentCategoryPhysician.tsx","components/Combobox/Combobox.tsx","container/AppointmentCategory/AppointmentCategoryReasonHints.tsx","container/AppointmentCategory/AppointmentCategoryReason.tsx","container/Termine/TermineCheckIn.tsx","container/Upload/Upload.tsx","container/CheckIn/CheckInWL.tsx","hooks/useMessages.ts","hooks/useAuth.ts","components/Cards/StyledCardContent.tsx","components/StyledParagraph/StyledParagraph.tsx","utils/fileUtils.ts","components/Modals/PhotoModal/PhotoModal.tsx","components/UploadContentCards/UploadContentCards.tsx","container/UploadContent/UploadContent.tsx","languages/languageMap.ts","hooks/useLanguage.ts","components/Rows/StyledRow.tsx","components/Cards/StyledCard.tsx","components/Modals/StyledModal/StyledModal.tsx","components/QRCode/QRCodeForApp.tsx","components/Impressum/Impressum.tsx","utils/errorHandling.ts","components/Modals/WebcamModal/WebcamModal.tsx","components/Toast/ConfirmationToast.tsx","container/Fragebogen/MultiFragebogen.tsx","container/Videochat/VideochatWL.tsx","utils/pcpUtils.ts","components/Modals/ConsignationModal/ConsignationWaitForLetterModal.tsx","components/Modals/NewPWDModal/NewPWDModal.tsx","components/User/InitialPassword.tsx","components/Modals/ConsignationModal/ConsignationWaitModal.tsx","components/Modals/DoDoubleOptInModal/DoDoubleOptInModal.tsx","components/Modals/DoDoubleOptInModal/DoDoubleOptInViaLinkModal.tsx","components/Modals/TwoFALoginModal/TwoFALoginModal.tsx","components/Modals/ConsignationModal/ConsignationModal.tsx","components/Modals/ConsignationModal/ConsignationAddModal.tsx","components/User/ConsignationAdd.tsx","components/User/Consignation.tsx","container/Login/Login.tsx","components/Appointments/PastAppointments.tsx","components/Appointments/StyledHeader.tsx","components/Appointments/UpcomingAppointments.tsx","components/Modals/CancelAppointmentModal/AskNewAppointmentModal.tsx","container/Termine/Termine.tsx","components/Stepper/StepperTerminierungAlternateDate.tsx","container/Terminierung/TerminierungAlternateDate.tsx","components/StyledForm/SyledForm.tsx","services/fhir/fhirConstants.ts","components/Tooltip/MyTooltip.tsx","components/Header/Header.tsx","hooks/useGoogleAnalytics.ts","globals/global.ts","container/Navbar/NavbarBottom.tsx","container/Mainscreen/Mainscreen.tsx","context/videochatContext.ts","hooks/useAppointmentSelection.ts","utils/urlUtils.ts","components/Buttons/ToggleButtonGroupCst.tsx"],"names":["usePersonalData","useContext","TerminierungContext","tmstate","tmdispatch","state","LoginContext","checkinstate","CheckInContext","useAppointmentSelection","getSelectedTimeslot","getSelectedResource","shouldCreateAccount","personalData","username","length","password","getAndSetPersonalData","useCallback","sessionId","activeUserId","practitionerRoleId","a","getPractitionerResource","getPatientResource","patdata","patdataExt","extractPatData","type","insuranceNr","firstName","lastName","birthday","gender","email","emailHome","telephone","telephoneHome","mobilePhone","academicTitle","street","streetHome","housenr","houseNrHome","city","cityHome","zip","zipHome","country","profilePhoto","plannedStudies","insuranceName","language","readCardDataAndSetPersonalData","wpName","readCardData","readCardResponse","nameLast","houseNumber","eGK","readKVDataAndSetPersonalData","txt","interpreteKVParams","response","kvBarcode","barcode","resetPersonalData","resetPersonalDataPhysPat","getPlannedStudyParticipation","studyCode","study","find","p","code","participate","getEnrollData","selectedTimeslot","selectedResource","isTimeslotDateSet","produce","draft","start","end","enrollData","nameFirst","makroId","undefined","selectedReason","toString","birthdate","streetNr","bsnr","tel","remark","ambId","getLocationCareUnitIdFromResource","maId","getParticipantIdFromResource","departmentId","getLocationDepartmentIdFromResource","roomId","getLocationRoomIdFromResource","createAccount","accountName","accountPWD","selectedReasonHints","selectedPhysicianId","selectedPhysician","id","selectedAptType","selectedAppointmentType","selectedInsurance","earlierAppointmentWanted","selectedDepartment","name","getEnrollDataPhysPat","enrollDataPhysPat","personalDataPhysPat","fhir","require","moment","getAppointmentsOfPatient","alertdispatch","userId","getFHIRConfig","search","query","actor","_sort","catch","e","responseErrorHandling","getFreeAppointmentTimeSlots","freeAppointment","date","_makroId","physicianId","_physicianId","workOnAppointmentNr","foundSelectedTimeslots","selectedTimeslots","appointmentNr","res0Date","format","apkNr","res0","getFreeAppointmentTimeSlotsRenew","foundSelectedTimeslots_2","selectedTimeslot_2","res1Date","cancelNewAppointmentData","data","serviceType","coding","missingAPK","getMissingAPKsFromExtension","extension","getAPKNrFromExtension","res1","bookAppointment","resource","mResource","comment","create","console","log","bookMultiAppointment","resource_2","appointments","request","method","url","contained","status","push","mResource_2","trBunde","resourceType","entry","config","transaction","Math","random","cancelAppointment","cmt","update","alertMessage","alertTitle","alertTxt","alertType","AlertType","error","onHide","AlertOnHide","onlyClose","structureAppointments","resultsUpcomming","resultsPast","todayAppt","futureAppt","plannedWithoutDateAppt","pastAppt","incompleteAppt","incompleteApptPast","incompleteApptTotal","canceledAppt","today","forEach","item","appointment","dateStart","dateEnd","appointmentStatus","enteredInError","isSame","isAfter","concat","cancelled","isBefore","isSameOrAfter","key","obj","app","isInError","ext","endsWith","isCancelable","valueBoolean","ErrorBoundary","props","hasError","errorInfo","stack","componentStack","this","setState","children","Component","AlertModal","navigate","useNavigate","AlertContext","alertstate","handleLogoutAfterIdleTime","useHandleLogoutAfterIdleTime","useState","errorType","setErrorType","useEffect","info","StyledModal","show","showModal","size","centered","Modal","Header","doBig","Title","style","fontSize","Body","Alert","variant","doHTML","dangerouslySetInnerHTML","__html","Footer","StyledButton","onClick","resetShowAlertMessage","custom","onHideCustom","goToHome","Paths","HOME","reload","window","location","buttonName","alertReducer","action","appPropsReducer","appPropsSet","Appointment","skipBehandlersuche","AppointmentSummary","behandler","fach","pflege","raum","standort","RegistrationMandFields","birthDate","phone","privacyTerms","RegistrationVisibleFields","RegistrationReadOnlyFields","allowAccountAfterAppointment","allowAccountCreateDirect","allowAppointments","allowAppointmentsEinweiser","allowAppointmentsWithoutLogin","allowDirectAppointments","allowDirectAppointmentsWithoutLogin","allowLogin","allowVideo","allowVideoWithoutLogin","allowAccountInAnmeldeworkflow","brandingBytes","brandigType","extraLinks","customTexts","showMobileQR","jitsiDomain","jitsiOptions","impressum","anmeldeContexts","countDaysToVisualize","extendedPhysicians","allowChat","googleAnalyticsID","tileTexts","smtpUser","mailFromAddress","possibleCountries","availableLanguages","disableTerms","fullscreenMode","checkinReducer","urlToCallResponse","reason","requesttype","t0","otp","dokumenteReducer","filedata","lastModified","lastModifiedDate","title","conclusion","uploaded","Date","executeRuleReducer","ruleName","ruleParam","persInfo","iframeReducer","src","callingPage","loginReducer","isLoggedIn","userName","securityItems","CHARTS","CHARTS_WEIGHT","CHARTS_FATMASS","CHARTS_BLOODSUGAR","CHARTS_FLI","CHARTS_SAM","CHARTS_ACTIVITY","TABLE_VAL","PATLIST","DOKUMENT","FOTOS","FRAGEBOGEN","MEDIKATION","TAGESPLAN","TERMINE","VIDEO","JOURNEY","TODO","TAB_ORDER","iceServers","possibleMacros","departments","activeStudies","activeProfile","termsHTML","privacyHTML","possibleStudies","addConsignationsToAsk","encounterId","encounterTitle","activeSidebarItem","activePatients","activePatient","lastPatOpened","setOfInitPageDone","securityItemsStudy","finalSecurityItemsOrder","gdt","redirectUser","redirectPwd","activeLanguage","questionnaireReducer","qData","selectedQuestionnaire","selectedAnswers","questionnaireBody","isExternalRequest","externalUserId","externalOTP","externalT0","externalBaseURL","linkId","text","valueString","valueReference","reference","authored","context","identifier","system","value","meta","versionId","lastUpdated","questionnaire","source","subject","sigpadReducer","deviceData","deviceName","canStoreEncryptKey","firmwareVersion","serialNumber","supportsRSA","padConnectionType","padIndex","displayHeight","displayWidth","sampleRate","scaleFactorX","scaleFactorY","xResolution","yResolution","sigData","certId","pictureData","rsaSignature","signData","signingCert","canvasRef","deviceActions","sendClicked","cancelClicked","terminierungReducer","withLogin","withCheckIn","selectedCategory","selectedLocation","hdBooking","filteredReasons","countAPKs","oneMacro","macroCode","macroType","availableTimeslots","timeslotClicked","selectedResources","renewAppointment","enrollCode","patNameFirst","patNameLast","scheduleTime","participant","waitNumber","requestFromDirectLink","isToday","res","changePersonalData","canceledAppointment","journeyData","site","hints","reasons","makroCode","makroName","pFilter","aFilter","reasonCode","reasonId","reasonName","lines","pict","selectedDeparment","themeReducer","theme","navbarCollapsed","videochatReducer","incomingCall","callAccepted","caller","remoteSid","roomName","jitsiAllowed","wsconnect","readyState","peerConnection","close","localStream","getTracks","track","stop","remoteStream","chatMessages","numberUnreadMessages","appointmentChat","lastIncomingAppChatMsg","incomingMessages","iceServer","lastIncomingTextChatMsg","appChat","map","chatOpen","appointmentChatEntry","getAppointmentChatEntry","numberUnreadMsg","appChatValue","newAppointmentChat","numberUnread","audioMuted","jitsiError","GlobalStyles","createGlobalStyle","Inter","Roboto","App","locale","useReducer","initialLoginState","dispatch","initialAlertState","initialVideochatState","vsstate","vsdispatch","initialTerminierungState","initialDokumenteState","docstate","docdispatch","initialQuestionnaireState","qstate","qdispatch","InitialAppPropsState","apstate","apdispatch","initialThemeState","themestate","themedispatch","initialExecuteRuleState","executerulestate","executeruledispatch","initialSigPadState","sigpadstate","sigpaddispatch","initialIFrameState","iframestate","iframedispatch","initialCheckInState","checkindispatch","useLocation","useLanguage","getSystemLanguageData","setSystemLanguage","refreshPage","getProperties","getAppProperties","propRes","setDataFromAppProperties","ReactGA","initialize","showAlertMessage","systemLanguage","allowVideochatMessages","hashParams","getQueryParams","user","pwd","replace","hash","lastIndexOf","setRuleProperties","pTheme","getThemeConfig","getTheme","Provider","className","getAppVersion","Boolean","hostname","match","ReactDOM","render","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","createContext","LeftDiv","styled","div","prop","marginTop","marginBottom","marginLeft","marginRight","LeftDivMain","AnmeldBaseDiv","AnmeldBaseHeader","AnmeldBaseHeaderLogin","LeftDivCheckIn","RightDiv","CenterDiv","height","margin","paddingTop","paddingBottom","paddingLeft","paddingRight","overflowX","overflowY","color","backgroundColor","zIndex","position","bottom","top","right","left","maxHeight","CheckInCenterDiv","StickyHeaderTitleDiv","header","main","StickyStepperWithNavbar","StickyStepperDiv","StickyButtonRowBottomDiv","StickyStepperRowDiv","StickyHeaderTabsDiv","mainColor","tabcontainer","backgroundImage","StickyTagesplanSectionDiv","VerticalCenterDiv","divTop","borderRight","VerticalCenterFlexDiv","divWidth","IconDiv","icon","default","backgroundColorHover","borderRadius","MainHeaderButtonIcon","ChartInnerDiv","ChartOuterDiv","MailParentDiv","selectButton","backgroundColorActive","MailListDiv","MailContentDiv","MailContentHeaderDiv","StyledStepperContentDiv","width","StepperContentDiv","useScreenResolution","EmbeddedPDFContainer","EmbeddedPDFFooter","EmbeddedPDFContent","EmbeddedSignDocumentModalContainer","SpaceBetweenDiv","lineHeight","ImpressumBottom","ContentWithoutImpressum","CenterPositionFixedDiv","TimeSlots","AppPropsContext","setSelectedResource","setSelectedTimeslot","getAvailableTimeslots","getMakroIdFromResourceServiceType","t","blockingModalShow","setBlockingModalShow","getTime","resource_1","unblockAppointment","clickedTimeslot","timeslot","supressDuration","updatedResource","setReplacedRoomForResource","replacedRoom","setReplacedStartEndForResource","setReplacedPractitionerForResource","replacedPractitioner","setReplacedCareUnitForResource","replacedCareUnit","setReplacedDepartmentForResource","replacedDepartment","setReplacedServiceTypeForResource","replacedServiceType","blockAppointment","success","filteredSelectedReason","filter","getTimeRange","slot","selectedDay","getGermanDateFormatFromString","xs","sm","md","lg","xl","availableTimeslot","index","display","placement","overlay","selected","block","displayAllTimeslots","useAppProperties","themeContext","ThemeContext","screenSize","getAndSetAppProperties","getImpressum","impressumLink","datenschutzLink","textColor","button","secondary","isExtendedPhysicians","isFullscreenMode","enableFullscreenMode","disableFullscreenMode","getCountDaysToVisualize","getPossibleCountries","split","DIAGNOSTIC_REPORT","getDiagnosticReportsOfPatient","patient","getDiagnosticReportsByCategory","category","_targetDevice","getDiagnosticReport","documentId","authData","myAuthData","read","uploadPDF","file","dataTrim","dataResource","effectiveDateTime","presentedForm","contentType","sendPhotoDiagnosticReport","imageArr","img","photoResource","QuestionnaireContext","StyledBadge","Badge","borderwidth","badge","neg","borderColor","Styled2FABadge","pos","CategoryBadge","Button","backgroundColorSelected","colorSelected","CategoryBadgeSelected","BadgeWithWordWrap","padding","lottieCheck","loop","autoplay","animationData","checkAnimation","rendererSettings","preserveAspectRatio","calcButtonPaddingSize","buttonRef","lottieWidth","calcButtonWidth","current","offsetWidth","changePatientResource","getNewPlannedStudiesEntry","plannedStudy","valueCoding","modifyPatientResource","originalPatientResource","newData","newPatientResource","formatedBirthdate","address","i","use","telecom","getGenderEN","foundInsuranceNrEntry","given","family","prefixPosition","_prefix","j","z","valueCode","prefix","line","_line","foundPhoneEntry","postalCode","patientResource","newPlannedStudies","foundEntry","studyEntries","updatePatientResourcePlannedStudies","getPatientId","patientdataJson","getPatientNumber","ele","element","getFamilyName","nameArr","familyName","getGivenName","givenName","getInsuranceNr","getGender","getHomePhone","telecomArr","getMobilePhone","getAcademicTitle","arrayPosition","getCountry","addressArr","getCountryLongName","getHomeEmail","getHomeCity","getHomeHouseNr","splitAdressLineToStreetAndHouseNr","houseNr","addressLine","getAddressLine","firstNumberAppearance","character","charAt","trim","substring","lineArr","getHomePostalCode","getLanguage","communication","communcationArr","getInsuranceName","getPlannedStudies","allPlannedStudies","plannedStudySelection","birthdayFormated","getBirthdayPrettyFormatedWithAge","getBirthDate","patientId","patientNumber","getPatientProfilePictureWL","_id","_includePicture","getPatientProfilePicture","getPatientsWithName","practitioner","_count","lottieSpinnerOptions","loadingSpinner","lottieSpinnerWhiteOptions","loadingSpinnerWhite","LottieSpinner","options","LoadingSpinner","LoadingSpinnerInMainscreen","LottieButtonLoadingSpinner","LoadingSpinnerWithText","loadingText","ExecuteRuleContext","playSound","audioFile","load","currentTime","muted","audioPromise","play","err","handleAudioPlay","stopSound","audio","pause","ringtone","Audio","ringtoneStarted","lottieIncomingCall","incomingCallAnimation","lottieCallOff","callOffAnimation","gotIceCandidate","event","candidate","sid","send","JSON","stringify","rtc","ice","mySid","callAccept","cmd","hasOwnVideo","onicecandidate","ontrack","streams","VIDEOCHAT","VIDEOCHAT_WL","callOff","navigation","userAction","stopRingTone","pathname","TERMINCODE","CallAcceptIcon","OverlayTrigger","tooltipText","Tooltip","CallOffIcon","TelephoneRing","VideochatContext","callProps","soundConfig","playRingTone","Telephone","MessageType","ChatInput","msg","setMsg","sendMessage","handleUserMessage","Form","Row","Col","Control","placeholder","onChange","target","onKeyDown","cursor","ChatMessagesContainer","Container","OutgoingMsgDiv","IncomingMsgDiv","OutgoingMessage","span","offset","StyledParagraph","ParagraphFontSize","ExtraSmall","time","IncomingMessage","MessageIdType","ChatMessages","messageBottomRef","useRef","allMsg","setAllMsg","displayAllMessages","messages","scrollIntoView","allMessages","message","Outgoing","Incoming","chatContainerHeight","ref","ChatWidgetBaseContainer","ChatWidgetContainer","ChatWidgetSymbolContainer","WidgetSymbol","showUnreadBadge","isOpen","ChatWidgetSymbol","StyledCol","textAlign","handleIconClick","isChatOpen","appId","Chat","setMessages","widgetIconClicked","setWidgetIconClicked","allIncomingMsg","ts","isPat","userMsg","idType","AppId","addChatEntryAppointment","EnrollCode","addChatEntry","handleWidgetSymbolClick","ChatWithWidget","fluid","showChatInput","ChatWithoutWidget","asWidget","StyledMainHeader","h3","font","highlightColor","StyledSubHeader","h4","useHandleLogoutWL","handleLogout","preventDefault","useHandleLogoutCheckIn","handleLogoutCheckIn","useHandleLogout","logout","loginData","includes","startDate","startTime","modifierExtension","AppointmentDate","fontWeight","AppointmentChatIcon","setNumberUnread","setShowUnreadBadge","getNumberUnreadMessages","handleChatIconClick","currentChatOpenStatus","toggleChatOpen","Nav","Link","MyTooltip","iconDiv","AppointmentChat","allIncomingMessages","setAllIncomingMessages","getAllIncomingMessages","parse","isDateToday","CompleteAppointmentBadge","pill","TERMINIERUNG_ALTERNATE_DATE","translateStatus","AppointmentStatus","CompleteAppointment","CancelAppointmentModal","backdrop","noValidate","onSubmit","currentTarget","checkValidity","stopPropagation","commentPossible","Group","controlId","onInput","float","CancelAppointment","React","cancelModalShow","setCancelModalShow","setReason","handleSubmit","cancelEnrollment","cancelRes","onHideAlertModal","ERROR","InpatientAppointment","inpatientAppointment","Participants","showDepartment","showCareUnit","showRoom","showPractitioner","ptype","getParticipantType","displayValue","getLongNameFromAppointmentData","APPOINTMENTTYPE_DEPARTMENT","passive","APPOINTMENTTYPE_CAREUNIT","APPOINTMENTTYPE_ROOM","APPOINTMENTTYPE_PRACTITIONER","renderActor","PostponeAppointment","postponeAppointment","APPOINTMENT_POSTPONE_REASON","DetailsButtonParentDiv","DetailsButton","displayParticipants","sortedParticipant","sortParticipantsForCard","allParticipants","participants","AppointmentCard","setChatOpen","isInpatient","getEncounterTitle","department","justifyContent","cardPosition","alignItems","bg","cardWidth","arrived","showIcon","isAppSeriesAppointment","showPostponeAppointmentIcon","showChatIcon","getSelectedReasonFromAppointment","macroName","getMacroNameFromAppointment","showReason","QUESSTIONNAIRE_RESPONSE","fetchOptions","headers","Accept","Authorization","getQuestionnaires","patRoleId","requestTime","toISOString","getQuestionnaireById","getQuestionnaireByFHIRId","fhirId","getQuestionnaireContent","getQuestionnaireOTPAuth","session","baseUrl","baseURL","sendQuestionnaire","targetPatId","qr","getFhirURL","baseurl","getBaseURL","fetch","body","updateQuestionnaireContent","SigPadContext","initalChartData","displayOption","chartOptions","animation","duration","scales","xAxes","bounds","distribution","unit","min","max","yAxes","axisLeft","axisRight","factorFromLeft","chartData","AXIS","COLOR","DECDIGIT","OPACITY","SHOWHD","TITLELONG","TYPE","YMIN","YMAX","y","label","targetChart1","targetChart2","targetChart3","chartViewLimits","fiveYears","oneYear","oneMonth","oneWeek","labels","labelOption","tooltipPrecisionVal","chartViews","ONE_WEEK_VIEW","ONE_MONTH_VIEW","ONE_YEAR_VIEW","FIVE_YEAR_VIEW","ALL_VIEW","charts","ACTIVITY","requestId","appTypeName","FATMASS","FLI","SAM","WEIGHT","BLOODSUGAR","tables","VALTBL","transformAndSortDates","jsonRes","datasets","dateAsMoment","sort","b","diff","chartSettingsForDevice","view","screenWidth","screenHeight","isTablet","isMobile","rotation","handleDisplayControllers","showControllers","getUnitFromLabel","unitFromLabel","getDatasetData","labelsToDisplay","chartProps","chartName","mmol_l","mg_dl","day","localMin","localMax","firstDailyDataMax","firstDailyDataMin","minSpanData","maxSpanData","dailyData","foundFirstData","Infinity","m","yNumber","Number","lastDailyDataMax","lastDailyDataMin","fill","lineTension","barPercentage","datalabels","align","anchor","opacity","weight","formatter","chart","dataIndex","toFixed","spanGaps","pointRadius","borderWidth","steppedLine","radius","getChartOptionsData","scalesOffset","displayFormats","hour","minute","second","millisecond","isoWeekday","ticks","ticksXMin","ticksXMax","maxRotation","ticksMaxRotation","chartSettings","minRotation","ticksMinRotation","autoSkipPadding","labelOffset","ticksLabelOffset","autoSkip","maxTicksLimit","scaleLabel","labelString","suggestedMin","suggestedMax","legend","tooltips","intersect","titleFontColor","callbacks","tooltipItem","yLabel","xLabel","labelTextColor","datasetIndex","zoom","enabled","mode","onZoomComplete","updateLimits","pan","onPanComplete","annotation","annotations","drawTime","yMin","yMax","targetBarrier","yScaleID","targetArea","getTableDataFromDiagnosticReportResponse","diagnosticReportResponse","tableTitle","tableData","getTableHeight","isDateBeforeToday","getCalculatedElapsedTimeFromEndFormat","times","fromNow","getCurrentDateTime","setTimeOnDate","timeParts","set","parseInt","getCurrentTime","monthNameConverter","month","convertedMonth","getWeekDay","IFramePDF","useResizedScreenResolution","buttonProps","bp","primary","colorHover","borderRadiusTopLeft","borderRadiusTopRight","borderRadiusBottomLeft","borderRadiusBottomRight","border","borderColorHover","boxShadow","warning","danger","borderHover","FullScreenImpressum","borderLeft","MainHeaderCol","ChartsHeaderCol","MainHeaderButtonCol","ChartsButtonCol","AppointmentCardHeaderCol","AppointmentCardHeaderStatusButtonCol","AppointmentCardDateCol","AppointmentCardStatusCol","AppointmentCardButtonCol","StyledColNoPadding","DateSwitcherTimeslotCol","DateSwitcherTimeslotColStartEnd","DateCol","DatePlaceholderCol","QuestionnaireSwitcherColStartEnd","QuestionnaireSwitcherColTitle","ButtonColLeft","ButtonColMiddle","ButtonColRight","ModalCst","fullScreen","modal","PDFModal","signModalShow","setSignModalShow","docIsSigned","setDocIsSigned","pdfDocAfterSign","setPdfDocAfterSign","isSigned","onSignModalSigned","diagnosticReportData","addSignatureToPDF","pdfURF","modalTitle","pdfData","isSignable","disabled","blur","showSignModal","embedded","onSign","onCancel","SelectButton","TimeslotButton","ToggleButton","PersonalDataSummary","DataItem","getGenderDE","studyList","getPlannedStudiesList","getPDFDataFromDiagnosticReportResponse","filename","pdfsrc","signPosData","diagReport","BlockingAppointmentModal","AppointmentPersonalData","allCurrentStudies","setAllCurrentStudies","mandFields","setMandFields","cbxRegistrationSelected","setCbxRegistrationSelected","cbxPrivacyPolicySelected","setCbxPrivacyPolicySelected","sendGoogleAnalyticsPageView","useGoogleAnalytics","page","allStudies","participated","isPhysPat","formatBirthdayForFormik","isValid","dateFormated","labelName","isFieldReadOnly","registrationReadOnlyField","CancelButton","showCancelButton","handleCancel","BackButton","showBackButton","handleBack","NextButton","showNextButton","buttonEnabled","showPrivacyPolicyCbx","nextButtonEnabled","SubmitButton","showFormGroupInsuranceNr","propsFG","as","values","handleChange","isInvalid","errors","readOnly","Feedback","showFormGroupInsuranceName","showFormGroupLastName","showFormGroupBirthday","showFormGroupGender","showFormGroupLanguage","showFormGroupTelephone","showFormGroupMobilePhone","showFormGroupAcademicTitle","showFormGroupEmail","showFormGroupZip","showFormGroupCity","showFormGroupStreet","showFormGroupHouseNr","handleCbxRegistrationSelected","handleCbxPrivacyPolicySelected","FormGroupRegistrationCbx","showRegistrationCbx","Check","checked","showFormGroupRegistrationUsername","showFormGroupRegistrationPassword","makeOption","showFormGroupCountry","hidden","showFormGroupStudies","cbxId","isParticipated","foundStudy","Input","modifiedAllCurrentStudies","studyChange","Label","validationSchema","yup","shape","required","notRequired","matches","pattern","setInsuranceName","setLanguage","setFirstName","setLastName","setBirthday","setEmail","setGender","setTelephone","setStreet","setHouseNr","setZip","setCity","setCountry","setMobilePhone","setAcademicTitle","setUsername","setPassword","handleNextWithActiveStep","currentActiveStep","handleNext","initialValues","href","rel","directRegistration","changedFromUser","DragNDropArea","currentLocation","MyThemeContext","dragCounter","setDragCounter","dropRef","DokumenteContext","handleDrag","handleDragIn","dataTransfer","items","handleDragOut","handleDrop","files","DOKUMENTE","reader","FileReader","readAsDataURL","onload","result","onerror","fileToBase64","clearData","addEventListener","removeEventListener","StyledPDiv","StyledP","Avatar","photoSrc","hasProfilePhoto","navbar","Sidebar","memo","displayName","ScanUtils","barcodescanner","isInScan","prefixChecked","lastKeyPressed","stopTimer","scanPrefix","scanTxt","onScanFinish","stopEventListing","ev","cancelBubble","returnValue","onScanKeyDown","ctrlKey","keyCode","currentDT","charCode","clearTimeout","setTimeout","onScanKey","chr","String","fromCharCode","onScanKeyUp","startup","elem","scanDone","removeListeners","navButtonProps","navb","navbutton","eventKey","activekey","horizontal","colorActive","colorInactive","vertical","backgroundColorInactive","StyledNavButton","StepperNavLinkButton","useChart","getChartData","dataPrecision","dataPrecisionVal","chartLoaded","foundChartData","userData","chartId","foundDataEntry","dataString","sortedJSON","labelsArray","tlind","foundData","origDataVal","dataValPrec","clone","subtract","lastTargetWeight","add","getTableData","initalTableData","table","TableProvider","tableToShow","setTableToShow","tblDat","getTable","getTableHeader","allHeaders","background","getTableRows","allTr","allTd","td","subTable","generateTable","val","Table","striped","bordered","hover","overflow","TableModal","bodyHeight","getBodyHeight","EmptyView","EmptyViewLine","redraw","FiveYearsView","year","startOf","xMin","setXMin","endOf","xMax","setXMax","datasetProps","chartOptionsProps","mobileProps","MyLine","MyBar","MaxView","OneMonthView","selectedMonth","setSelectedMonth","selectedYear","setSelectedYear","firstYear","lastYear","yearList","monthsList","radioValYear","setRadioValYear","radioValMonth","setRadioValMonth","MonthOptions","allMonthOptions","idx","selectedMonthVal","selectedYearAndMonth","handleMonthChange","defaultValue","YearOptions","allYearOptions","selectedYearVal","yearName","handleYearChange","OneWeekView","isoWeek","selectedWeekNumber","setSelectedWeekNumber","firstYearOfData","lastYearOfData","setValues","newDate","selectedYearAndWeek","week","oneWeekBack_beginOfWeek","oneWeekBack_endOfWeek","handleWeekBack","oneWeekForward_beginOfWeek","oneWeekForward_endOfWeek","handleWeekForward","OneYearView","radioValue","setRadioValue","ViewSwitcher","rangeValue","setRangeValue","labelButtonVal","setLabelButtonVal","labelOpt","setLabelOpt","showTableButtonLoadingSpinner","setShowTableButtonLoadingSpinner","tableButtonRef","desktop","isDesktop","isSmallScreen","tableModalShow","setTableModalShow","oneWeekView","oneMonthView","oneYearView","fiveYearView","allView","handleTableDataClick","extraTables","titleFromExtraTables","getTableId","ShowTableButton","ButtonToolbar","ToggleButtonGroup","isTableIncluded","handleValueChange","ActivityCharts","setChartData","getData","BloodSugarCharts","targetCeiling","BodyFatCharts","FLICharts","SAMCharts","WeightCharts","AppCharts","chartType","IFrameContent","formId","n","patId","iFrame","setIFrame","iFrameSrc","getLinkForIFrame","getIFrameURL","iframeResp","IFrameFragebogen","Navbar","containerHeader","ChartsContent","chartsOrder","setChartsOrder","allChartItems","startsWith","route","CHARTS_GEWICHT","CHARTS_BLUTZUCKER","CHARTS_FETTMASSE","StyledCardContent","showChartItems","Charts","Mainscreen","ChartsActivityContent","ChartsActivity","ChartsBlutzuckerContent","ChartsBlutzucker","ChartsFettmasseContent","ChartsFettmasse","ChartsFLIContent","ChartsFLI","ChartsGewichtContent","ChartsGewicht","ChartsSAMContent","ChartsSAM","Error","ExecuteRule","EnrollCodeBox","sendGoogleAnalyticsEvent","anmeldKatSelected","setAnmeldKatSelected","Card","handleSetAnmeldKat","anmeldeContext","GoogleAnalyticsCategory","HOMESCREEN","GoogleAnalyticsAction","CLICK","NEUER_ACCOUNT_WL","Home","isLanguageChangedFromUser","showLogin","showEnrollCodeBox","showQRCodeForApp","row_lg","homeElements","setHomeElements","homeEle","row_lg_counter","brandingSrc","LanguageSwitch","Image","ExtraLinks","Login","QRCodeForApp","NeuerAccountPhysLogin","setJourneyData","loaded","setLoaded","getQuestJourney","getQuestionnaireJourney","questionnaireJourneyResponse","innerContent","CheckInWL","newAccountHashParams","journeyResponse","useLoginContext","isPhysicianLogin","ReadCardButton","cardSim","textSize","BsSim","intervalTimer","CheckInSplashscreen","useNavigationType","showLoadingSpinner","setShowLoadingSpinner","setBrandingBytes","tileUeberweisung","tileOnlinebuchung","tilePraxisanmeldung","tileTerminueberpruefung","fromOnlinebuchung","visibleTiles","setVisibleTiles","checkedAppointmentData","setCheckedAppointmentData","scanInputRefUEB","scanInputRefOBU","scanInputRefTUE","bc","barcodeScannerCallback","ueb","obu","tue","tileUEB","tileOBU","tilePAN","tileTUE","handleUrlTextAfterScan","scannedText","fromTUE","urlStart","indexOf","urlToCall","hashParamsResponse","checkAppointment","getOTPFromAppID","secret","newOTPData","QUESTIONNAIRE_WL","loadingSplashWait","LottieSplashWait","onclickMainsplacscreen","getURLToCallWorkflow","getURLToCall","stayInWorkflow","handleClickWithCard","UeberweisungTile","htmlBeforeOrAfter","UEBBEFORE","marginBlockEnd","autoFocus","UEBAFTER","OnlinebuchungTile","OBUBEFORE","OBUAFTER","cancelClick","PraxisanmeldungTile","PANBEFORE","PANAFTER","html","TerminueberpruefenTile","TUEBEFORE","TUEAFTER","mainWindow","firstInp","querySelector","focus","firstButton","CheckInSplashscreenMultifragebogenWaiting","setFoundData","multifragebogen","setMultifragebogen","startListening","clearInterval","setInterval","listeningWorkflow","tabletID","getTabletURL","webAppURL","multifragebogenData","formNames","MultiFragebogen","CheckInSplashscreenWaiting","navtype","setIntervalTimer","SPLASHSCREEN_CHECKIN","history","timer","open","LoggedOutSplashscreen","SPLASHSCREEN_LOGGEDOUT","VALTable","dataLoaded","setDataLoaded","handleSetTableTitle","TableVAL","setTableTitle","AppInfo","lazy","Dashboard","Termine","PatientList","Dokumente","Fotos","Medikation","Tagesplan","Journey","Fragebogen","FragebogenDetail","Profil","Videochat","VideochatWL","Terminierung","TerminierungAlternateDate","Terminkategorie","Termincode","Warteraum","PersonalInformation","ProfileSafety","ProfileLegalTerms","TwoFactorAuthentication","NeuerAccount","NeuerAccountWL","QRCode4App","ResetPassword","Mails","QuestionnaireWL","TerminierungWL","Todo","LOGIN","APPINFO","DASHBOARD","FRAGEBOGEN_DETAIL","IFRAME","FRAGEBOGEN_IFRAME","TERMINIERUNG","TERMINIERUNG_WL","PROFIL","PROFIL_INFO","PROFIL_SICHERHEIT","PROFIL_LEGALTERMS","ZWEI_FAKTOR_AUTHENTIFIZIERUNG","TERMINKATEGORIE","TERMIN_DETAIL","WARTERAUM","NEUER_ACCOUNT","NEUER_ACCOUNT_PHYSLOGIN","AENDERN_ACCOUNT","QRCODE4APP","RESET_PASSWORD","MAILS","APP_CHARTS","EXECUTE_RULE","CHECKIN_WL","SPLASHSCREEN_CHECKIN_WAITING","SPLASHSCREEN_MULTIFRAGEBOGEN_WAITING","PublicRoute","fallback","Loading","PrivateRoute","AppRoutes","path","IFrame","TextSwitch","textParts","setText","intervalId","nextIndex","switchText","intervalSec","EncounterTitle","smallScreen","PatientSwitch","allPatients","setAllPatients","setNewPatient","usePatientSwitch","getDropdownItems","handlePatSwitch","pat","allItems","Array","isArray","Dropdown","Item","isInNeuesProfilPhysLogin","Toggle","margintop","Menu","ProfileSwitch","allProfiles","setAllProfiles","useProfileSwitch","setSecurityItems","getUserId","handleProfileSwitch","profileName","setActivePatId","SUCCESS","studyName","PROFILE_HOME","useNavbar","showProfileSwitch","setShowProfileSwitch","showPatSwitch","setShowPatSwitch","NavbarMenu","toggleButtonRef","showPatientSwitch","StyledNavbar","fixed","Brand","alt","Collapse","navbarScroll","to","getPractitionerNameFromResource","participantDisplay","participantData","_maId","getLocationDepartmentNameFromResource","locationDepartmentDisplay","locationDepartmentData","getLocationDepartmentLongNameFromResource","locationDepartmentDisplayLong","_departmentId","getLocationCareUnitNameFromResource","locationCareUnitDisplay","locationCareUnitData","getLocationCareUnitLongNameFromResource","locationCareUnitDisplayLong","_ambId","getLocationRoomNameFromResource","locationRoomDisplay","locationRoomData","getLocationRoomLongNameFromResource","locationRoomDisplayLong","_roomId","appDataValue","longName","practitionerData","careUnitData","departmentData","newStartEnd","getCountAPKsFromExtension","cancelNewAppointmentDataExtension","valueInteger","getEnrollCodeFromExtension","getIdentifierId","dataIdentifier","originalId","getSelectedReasonDataFromAppointment","selectedReasonObj","getMacroNameFromSelectedResource","isAppSeries","getStickyPosition","getTabHeight","updateSelectedResources","currentSelectedResources","newSelectedResource","newResource","updatedSelectedResources","foundIndex","some","splice","resetSelectedResourceWithNr","updateAvailableTimeslots","currentAvailableTimeslots","newAvailableTimeslot","newTimeslots","updatedAvailableTimeslots","resetAvailableTimeslotsWithNr","updateSelectedTimeslot","currentTimeslots","newSelectedTimeslot","newSelctedTimeslots","updatedSelectedTimeslots","resetSelectedTimeslotsWithNr","reorderedParticipants","cond","getOriginalAppointmentDate","originalAppointmentDetails","endDate","getPhysicianFrom","appointData","AppointmentCalendar","setSelectedDay","StyledRow","Calendar","AppointmentCalendarWithHeadline","handleTimelotClick","terminName","categoryName","appointmentName","getDayTimeTextForLanguage","IFrameContext","pdfjs","GlobalWorkerOptions","workerSrc","EmbeddedPDF","numPages","setNumPages","pageNumber","setPageNumber","scale","setScale","initScaleDone","setInitScaleDone","isHorizontalScrollable","setIsHorizontalScrollable","clickedClear","setClickedClear","clickedSign","setClickedSign","signPos","setSignPos","pdfPage","isWithModalMsg","resizeObserver","ResizeObserver","getSignRectPos","observe","disconnect","changePage","prevPageNumber","signDone","isPageSignable","modalMsg","getModalMsg","transformDim","dim","parseFloat","isNaN","NaN","parentElement","scrollTop","d0x","offsetLeft","d0y","offsetTop","bx","by","offsetHeight","ay","ax","transformedSignPosData","onLoadSuccess","onLoadError","parentDiv","pageScale","clientHeight","originalHeight","scrollElement","scrollLeft","scrollWidth","clientWidth","onPageLoadSuccess","clickClear","clickSign","onClickClear","showButtons","transition","borderStyle","previousPage","verticalAlign","nextPage","minWidth","newScale","zoomOut","zoomIn","showDownloadButton","base64WithoutContentType","binary","atob","len","buffer","ArrayBuffer","Uint8Array","charCodeAt","linkElement","createElement","hrefUrl","blob","Blob","URL","createObjectURL","setAttribute","clickEvent","MouseEvent","bubbles","cancelable","dispatchEvent","ex","handleDownload","handleClear","handleSign","showCloseButton","EmbeddedPDFInModal","scrollable","POST","GET","getFetchOptions","addContextToUrl","addParamToURL","getContextConfig","addLanguageToUrl","authorizeAsync","getRestURL","bodyObj","token","fa2Secret","doubleOptInCode","releaseCode","json","getParticipants","resp","re","searchAppointments","slice","jbody","from","getPossibleTimelist","appointmentResource","enroll","registerData","_reason","patBirthDate","patGender","patZip","patCity","patStreet","patHousenr","patCountry","patEmail","patTel","patMobilePhone","patAcademicTitle","bookingCode","behFilter","updateEnroll","loadPerspectiveData","getEnrollStatus","getParkedGDT","gdtKey","appointmentId","registerUser","registerUserDirect","patEMail","consignation","isAddConsignation","urlTerms","checkConsignation","getPossibleMacros","setPwd","oldPassword","oldUsername","deleteAccount","generateSecret","removeSecret","checkSecret","getBarcodeForApp","addPlannedStudy","getTermsHTML","addUrl","encodeURIComponent","getPrivacyHTML","getJourney","parentId","getPasswordReset","callRestMethod","methodName","setPatientProfilePicture","base64","removePatientProfilePicture","executeRule","verifyCovidCert","qrContent","taskList","callTaskListFunction","callFunction","parameter","auth","authorization","wp","bh","reportData","report","getPhysiciansFor","currentPhys","scantxt","pushActivePatient","themeName","toUpperCase","betaTheme","pcpTheme","pcpV2Theme","pcpColors","pcpValues","passiveColor","strokeWidth","alertColor","mainColorHover","accordionMenu","newMessageBadge","step","active","completed","buttonColor","sidebar","itemBackground","appointmentCard","list","medication","acceptColor","rejectColor","laterColor","resultAcceptColor","hint","pcpV2Colors","pcpV2Values","betaColors","betaValues","imageProps","textDirection","imageDescProps","ImageDiv","ImageDescDiv","StyledImageFloatDiv","direction","ImageFloatDiv","QImageDiv","ForeignQRModal","closeButton","ErrorToast","Toast","onClose","delay","autohide","QDiv","QCheckboxRow","RequiredAsterisk","DeactivatedThumb","ActivatedThumb","calcInputWidth","maxLength","NOINFO_CBX_VALUE","steps","setSteps","actualStep","setActualStep","answers","setAnswers","initialAnswers","setInitialAnswers","clickedSubmit","setClickedSubmit","clickedSave","setClickedSave","questionnaireSendResponse","setQuestionnaireSendResponse","showRequiredMessage","setShowRequiredMessage","scrollToRequiredMessage","setScrollToRequiredMessage","scrollToTop","setScrollToTop","isExternalQuest","setIsExternalQuest","requiredMessageRef","errorMessageRef","topRef","qDisplayBorderPadding","showSaveToast","setShowSaveToast","showErrorToast","setShowErrorToast","firstSave","setFirstSave","validate","setValidate","tempTime","setTempTime","setTargetPatId","tempDateTimeDate","setTempDateTimeDate","tempDateTimeTime","setTempDateTimeTime","finishButtonName","setFinishButtonName","postStoreDocumentRefId","setPostStoreDocumentRefId","pdfModalShow","setPdfModalShow","embeddedPdfModalShow","setEmbeddedPdfModalShow","allValues","base64Arr","showForeignQRModal","setShowForeignQRModal","useLoadQuestionnaireAnswers","setSelectedQuestionnaire","setQuestionnaireBody","loadQuestionnaireAnswers","setSelectedQuestionnaireAnswers","setQuestionnaireData","tempAnswers","allDecItems","getAllItems","tempValue","answer","valueDecimal","precision","getExtensionPrecision","getAnswers","rep","qResource","getQuestionnaireResourceFromRequest","qResponse","getQuestionnaireResponseResourceFromRequest","qDiagnosticReport","getQuestionnaireDiagnosticReportFromRequest","visualPDF","setAllSteps","mainDiv","fButtonName","getExtensionFinishButtonName","getExternalQuest","reset","respJson","respStatus","responseError","issue","diagnostics","severity","makroData","getPostStoreStartAppointmentSearch","getPostStoreDocumentRefId","submitResp","sendQ","isDraft","getNumberOfDrafts","firstSaveResp","firstSaveRespJson","respId","respData","stepData","handleQuestionnaireSave","updateResp","saveQ","scrollToRequiredMessageAlert","scrollToTopOfPage","verifyCovidCertResponse","covidCertValueSuccessWorkflow","handleClosePDFExternalView","isCheckin","resetPDFModalShow","handleQuestionnairePDFClose","activeStepNumber","handleSignDone","handleQuestionnaireFinished","handleClosePDFInternal","handleButtonFinish","pageNr","allSteps","requiredCheckItem","doCheck","enableWhen","qEnableWhenHandling","answerEnableWhenCheck","foundAnswer","requiredCheck","stepItems","subItem","handleQSubmit","getStepTitle","QStepper","Medium","hasStepInvalidState","setAnswerDateOption","valueDate","lid","isAnswerLinkIdPresent","answersCopy","isPresent","resetSelectedAnswer","getAnswerDateOption","setAnswerTimeOption","valueTime","templid","isTempTimeLinkIdPresent","tempTimeCopy","getAnswerTimeOption","getTempDateTimeValue","tempArrayObject","tt","getTempTime","getTempDateTimeDate","getTempDateTimeTime","setAnswerDateTimeOption","valueDateTimeDate","valueDateTimeTime","tempDateLinkId","isTempDateTimeDateLinkIdPresent","tempDateTimeDateCopy","tempTimeLinkId","isTempDateTimeTimeLinkIdPresent","tempDateTimeTimeCopy","valueDateTime","tz","setValidity","timeInvalid","checkInvalidState","validStatus","completeStatus","inputCheckCopy","inputCheck","itemIndex","icItem","inValid","inComplete","setInputCheck","handleAnswerDateTimeOption","handleAnswerTimeOption","getAnswerDateTimeOption","getAnswerDateTimeDateOption","getAnswerDateTimeTimeOption","setAnswerIntegerOption","lidInitial","getAnswerIntegerOption","valueInt","setAnswerDecimalOption","setValueDecimalLocal","valueDecimalLocal","dotOrComma","toLocaleString","getDotOrCommaForDecimalLocal","convertToLocalString","decimalVal","minimumFractionDigits","maximumFractionDigits","getAnswerDecimalOption","getValueDecimalLocal","valueDec","valueDecLocal","setAnswerTextOption","setAnswerCovidQRValues","pictureLinkId","pictureBase64Arr","idValueArray","valueAttachmentArr","attachment","valueAttachment","getAnswerTextOption","deleteAnswerEntryWithCopy","setAnswerChoiceOption","getAnswerBooleanOption","setAnswerAttachment","valueBase64","getAnswerOpenChoiceOptions","valueCodingEntries","isAnswerOpenChoiceOptionSet","getAnswerChoiceOption","getAnswerChoiceOptionExtended","getAnswerDropdownOption","getTypeOfQuestionnaireItem","getQuestionnaireItem","itemEnableWhen","questionLinkId","question","answerBoolean","answerCoding","linkIdToFind","answersToSearch","answ","linkIdPresent","isTempLinkIdPresent","isAnswerChoiceOptionSet","selectedCode","isSet","getCurrentAnswer","displayType","getExtensionClassValue","getExtensionDisplayType","reqItems","getRequiredItems","questionLinkIds","requiredValues","operators","currentAnswer","requiredAnswer","foundMatchInArray","operator","irequiredAnswer","isTrue","andExp","getAndExpressionAsArray","qMultiEnableWhenHandling","array1","array2","allAnswerLinkIdsPresent","enableWhenAnswers","currentAnswers","every","v","checkInput","input","regex","test","roundDecimalInput","modifyTimeInput","inputNumber","minVal","maxVal","setAnswerAfterCheck","dateTimeDate","myItem","stepToCheck","stepHasInvalidState","RiTreasureMapFill","qTypeInteger","getExtensionMinValue","getExtensionMaxValue","labelLeft","getExtensionLabelLeft","labelRight","getExtensionLabelRight","presetValue","presetValueCmd","getExtensionPresetValue","_val","commandSplit","command","commandVals","sum","commandValArr","choiceAnswer","answerVal","interpretPresetValue","isInteger","tooltip","getExtensionFieldNote","isSlider","getExtensionStepWidth","skipKA","extensionSkipKA","labelKA","getExtensionLabelKA","multiCol","marks","s","noInfoCheckBoxVals","sliderColor","Slider","ThumbComponent","valueLabelDisplay","newVal","NoInfoCheckbox","initialInteger","getAnswerInitialIntegerOption","feedbackMessage","fieldWidthType","getExtensionAppearanceValue","fieldWidth","wrapperWidth","invalid","currentSetAnswer","decimalInput","feedbackMessageRange","onBlur","qTypeString","maxLengthStr","inputWidth","appearance","initialString","valueStr","getAnswerInitialTextOption","qTypeChoice","allOptions","rowLimit_sm","rowLimit_lg","rowLimit_md","rowLimit_xs","rowLimit_xl","option","transform","maxValue","myOptions","dropdownWidth","o","setAnswerDropdownOption","initialCoding","requiredMissing","allOptionTexts","itemOptions","getAllOptionTextsAsArray","buttonWidthVal","buttonText","maxWordLength","longestWord","findLongestWord","buttonWidth","requiredmissing","radioBreakpointSM","radioSpanLG","rowHeight","qTypeOpenChoice","andSubExpressions","getExtensionAndSubExpressions","maxCol","horizontalBreakpointSM","horizontalBreakpointLG","singleSelectionAttr","getOptionExtensionSingleSelection","inline","isChecked","currentValueCodingEntries","allOptionsWithSingleSelection","optionWithSingleSelection","setAnswerOpenChoiceOption","qTypeBoolean","labelLeftColor","setAnswerBooleanOption","qTypeSignature","signatureSize","getExtensionSize","signaturePosition","getExtensionPosition","sigFloat","content","SignaturePad","onWriteEnd","setAnswerSignature","toBase64","Promise","resolve","reject","dob","nam","fn","fnt","gn","gnt","tg","vp","mp","ma","dn","sd","dt","co","is","nm","sc","tr","tc","r","fr","df","du","setCovidCertValues","handleSelectedPhoto","buttonType","base64Src","UploadButton","inputRef","openWebcamPreview","setOpenWebcamPreview","photoPreviewColl","setPreviewColl","showOverlay","setShowOverlay","acceptFileType","possibleFileType","fileTypeList","fileTypeArr","fileType","handleUpload","click","uploadSelectedPhotos","popoverId","formFileId","WebcamPreviewModal","photos","onSave","onRemove","photoIndex","temp","handleRemovePhoto","addPhoto","photo","photoData","pop","newPhoto","handleAddPhotoToPreview","trigger","onToggle","Popover","Content","File","popOverFileUploadName","accept","popOverCameraUploadName","qTypeButton","getExtensionLabel","getExtensionTooltip","getExtensionPossibleFileType","fieldNote","popOverFileName","popOverCameraName","imageSrc","image","valueAttachmentAnswer","getAnswerAttachment","showImage","imageData","displayImage","checkboxRequired","noInfoCbx","getNoInfoCheckBox","setNoInfoCheckBox","qTypeGroup","gridVals","cols","rowType","getExtensionRowType","runNr","questionsItem","sliderPrecisionCount","pow","qTypeDecimal","dateVal","initialDate","showButton_twoDaysAgo","showButton_yesterday","showButton_today","showButton_tomorow","showButton_dayAfterTomorrow","flexWrap","qTypeDate","initialTime","timeRegex","showButton_Jetzt","showButton_Zuruecksetzen","timeAnswerSet","timeAnswer","qTypeTime","initDateTimeDate","initDateTimeTime","initialDateTime","dateIsEmpty","timeIsEmpty","dateIsMissing","timeIsMissing","invalidTimeFormat","tdt","qTypeDateTime","asHTML","qTypeDisplay","rows","qTypeText","initialAttachment","imageWidth","getExtensionImageWidth","imageHeight","getExtensionImageHeight","descAppearance","getExtensionImageDescAppearance","imageTooltip","imageDescription","alignFromClassName","imageDescDirection","displayFlex","parentDivDirection","alignItemsFloatDiv","floatDivWidth","qTypeAttachment","questions","qi","useEmbeddedPDF","spd","pdfShowData","embeddedPdfShowData","embeddedPdfShow","setPDFShow","getPostStoreDocumentPDF","qContent","showPdf","responseMessage","errorMsg","Big","handleButtonPreviousStep","handleButtonNextStep","questionnaireMainPage","disableTempStorage","isDisableTempStorage","noGutters","ConfirmationToast","hasOwnProperty","responseData","resourceFromEntry","round","getExtensionOperator","andExpArray","minutes","presetVal","hasSingleSelection","opt","minValue","rowtype","stepWidth","sizeVal","numberOfDrafts","getDraft","resultExtension","positionVal","appearanceValue","resourceData","tempStorageDisabled","questionnaireResponse","questData","_valueString","extValStr","fullSrc","dataSrc","RefreshButton","iconSize","handleClick","TelephoneModal","onCallHide","onCallOff","onCallAccept","reasonMainCode","pingInterval","clearPingInterval","leaveSession","initWebSocket","wsLocation","WebSocket","onopen","wsc","isWebApp","closeWebSocket","onclose","getLocalStream","mediaDevices","getUserMedia","video","stream","addStream","onmessage","msgdata","RTCPeerConnection","myIceServers","urls","credential","oniceconnectionstatechange","iceConnectionState","chat","sdp","setRemoteDescription","RTCSessionDescription","createAnswer","description","setLocalDescription","localDescription","createdDescription","addIceCandidate","RTCIceCandidate","useSecurityItems","isPatListEnabled","isDokumenteEnabled","isTermineEnabled","isFotosEnabled","isMedikationEnabled","isTagesplanEnabled","isFragebogenEnabled","isVideochatEnabled","isChartsEnabled","isChartsWeightEnabled","isChartsBodyFatEnabled","isChartsBloodSugarEnabled","isChartsFLIEnabled","isChartsSAMEnabled","isChartsActivityEnabled","isTableVALEnabled","isJourneyEnabled","isTodoEnabled","todoEnabled","getTabOrder","tabOrder","tabOrderFromRequest","setActiveSidebarItem","sidebarItem","windowSize","setWindowSize","handleResize","innerWidth","innerHeight","factor","EarlierAppointmentPossible","setter","cbxValue","setCbxValue","Booking","multiAppointment","locationDetail","locationRoom","appointmentCardData","selectedResource_2","practitioner_2","location_2","locationDetail_2","locationRoom_2","TerminSummary","room","terminProps","terminProps_2","showEarlierAppointmentPossible","EarlierAppointment","RemarkInputField","groupText","reasonGroupText","mb","isBootstrap_lg","isPatientSelected","getActivePatient","currPatients","patIndex","findIndex","unshift","setLastPatOpened","StyledCalendar","onNewAppointments","possibleTimelist","setAvailableTimeslots","rootExtension","container","subExtension","valuePeriod","valueCodeableConcept","resetAllAvailableTimeslots","isEarliestAppointmentClicked","getAllMakroIdsFromFilteredReasons","getFirstDayOfMonth","firstDayOfMonth","setFirstDayOfMonth","freeAppointments","setFreeAppointments","initMonthDone","setInitMonthDone","showPossibleNoFreeAppointmentsPopUp","setShowPossibleNoFreeAppointmentsPopUp","getFreeAppointments","freeAppointmentSearch","dateToday","firstDayOf3MonthsFuture","search1MonthLater","newSearchDate","firstDayOfMonthNewSearch","dateSearch","appSearchPattern","c0","makroIdPostponeAppoinment","oneYearLater","earliestDay","earliestDayFormated","convertedDayFormated","dateButtonLabel","dateButton","simulateClick","onClickDay","availableTimeSlots","onActiveStartDateChange","activeStartDate","getMonthFromStrFormat","firstDayOfClickedMonth","tileDisabled","dDate","referenceDate","isSameDay","showDoubleView","prev2Label","next2Label","showNeighboringMonth","linkObj","restmethod","tokenRes","trj","turl","tempUrl","myIcon","displayLink","innerHTML","linkText","linkList","allLinks","linkItem","myExtraLink","getSecurityItems","getActiveStudyEntry","SecurityItems","isSecurityItemEnabled","securityItem","securityItemsFound","newActiveUserId","studyPatId","setActiveUserId","securityItemNames","Mobile","useMediaQuery","maxWidth","Default","isBootstrap_md","IFrameInternal","allLanguages","setAllLanguages","setActiveLanguage","getAvailableLanguages","handleLanguageSwitch","visibility","str","strSplit","mouseEventType","buttons","signatureRef","setDivWidth","divHeight","setDivHeight","setOffsetTop","setOffsetLeft","signaturePadWidth","setSignaturePadWidth","signaturePadHeight","setSignaturePadHeight","onSignaturePadClear","clear","onSignaturePadWriteEnd","getCanvas","toDataURL","penColor","onEnd","canvasProps","onSignaturePadSave","PhysicianSelectionDescriptionList","allDescrItems","firstFreeDateElement","descriptionList","PhysicianSelectionPhoto","showPicture","rounded","myVars","fmt","webcamRef","webcamDim","getWebcamDim","setBodyHeight","getImage","fmtPerspective","resKOORDS","canvas","ctx","getContext","drawImage","normalSrc","testImg","removeChild","src_image","appendChild","done","errfnc","fx_canvas","w_ratio","naturalWidth","h_ratio","naturalHeight","fx","alert","texture","sourceTransform","c1","x","c2","c3","c4","draw","perspective","destCanvas","resSrc","isTransformation","capture","getScreenshot","FormatChoice","setFmt","sfmt","handleFormatButtonChange","onEnter","order","photoPreview","videoConstraints","screenshotFormat","NavbarCheckInWL","expand","showAvatarIcon","onProfileClick","showLoginIcon","onLoginClick","showLogoutButton","onLogout","useStyles","makeStyles","createStyles","instructions","spacing","iconContainer","activeStep","setActiveStep","Set","skipped","setSkipped","setSuccess","setResponse","classes","getStepContent","personalDataForm","personalDataSummary","stepContent","SuccessLottieMessage","finalButton","isStepSkipped","has","newSkipped","delete","prevActiveStep","patdataOrignal","modifiedPatientResource","alertTitleCst","handleFinishClick","stepProps","StyledTabRow","StyledTabContent","TabContent","PhysicianSelectionCardWithAppointments","showMoreButton","setShowMoreButton","showAllTimeSlots","setShowAllTimeSlots","getAppointmentForDate","getTimeSlotsForDate","resourceAppointment","rowNrToShow","rowNr","maxRowNr","allPossibleTimeslots","stepWith","floor","timeslotCol","allCols","myDateFormated","maxTimeSlots","possibleTimeslots","timeslots","allTimeslots","maxRows","currentMax","ShowMoreButton","BlockMessage","blockMessage","FirstPossibleDateInTimeSlot","firstPossibleDate","FirstPossibleDateContent","FirstPossibleDateInDescrList","handleStartDate","TimeSlotArea","flexBasis","HorizontalDateSwitcher","showDate","myDate","weekday","handlePreviousDate","dates","handleNextDate","PhysicianSelectionCardWithDateSwitcher","AppointmentCategoryExtendedPhysician","allPhysicians","setAllPhysicians","setStartDate","setMakroId","hdTimeslots","setHdTimeslots","initalPhysicianIds","setInitialPhysicianIds","getExtension","getExtensionJSON","sjson","simulateBehFilterFromLocation","getPhysicians","physiciansForData","newAccountHashParam","physiciansData","physicians","allPhysicianIds","getNewPhyscianData","join","toDate","MyAnmeldBaseHeader","allCards","DateHeader","descrList","handleTimeslotClick","allPhysicianCards","useSignotecConnector","docHashes","rsa_scheme","STPadServerLibDefault","RsaScheme","PSS","docHash_type","fieldName","customText","padStates","padState","padModes","padMode","deviceCapabilities","padTypes","onOpen","evt","loadText","logMessage","getSignatureDefault","unloadText","onError","errorText","searchForPadsParams","Params","searchForPads","setPadSubset","pads","foundPads","padType","intTypeNumber","getReadableType","capabilities","STPadServerLibCommons","defaultReject","openPadParams","openPad","padInfo","samplingRate","selection_dialog","error_message","default_close_pad","signature_start","param","errorCode","errorMesage","closePadParams","closePad","dochash","startSignatureParams","startSignature","setFieldName","setCustomText","enablePadEncryption","handleDisconnect","disconnect_send","handleNextSignaturePoint","signature_point_send","handleRetrySignature","signature_retry_send","handleConfirmSignature","handleCancelSignature","handleError","error_context","return_code","error_description","error_send","STPadServerLibApi","Sensor","handleHotSpotPressed","api_sensor_hot_spot_pressed_send","handleDisplayScrollPosChanged","xPos","yPos","api_display_scroll_pos_changed_send","lineWidth","lineCap","canvasContext","softCoordX","softCoordY","beginPath","arc","PI","stroke","moveTo","lineTo","drawStrokePoint","canvRef","retrySignature","clearRect","Signature","retry","Device","api_close_pad","signature_confirm_send","confirmSignature","countedPoints","getSigningCert","getSignatureImageParams","getSignatureImage","setFileType","FileType","PNG","setPenWidth","getSignatureDataParams","getSignatureData","setRsaScheme","loadSignotec","wsUri","handleLogging","createConnection","unloadSignotec","destroyConnection","clearSignotec","sendSignotec","SignaturePadDeviceName","SignaturePadSignotec","canvasSignotec","Small","onClear","SignDocumentModal","mouseSignData","setMouseSignData","setSendClicked","signotecProps","loadSignaturePad","unloadSignaturePad","clearSignaturePad","sendSignaturePad","useSignaturePad","onSignatureSend","onSignatureCancel","SignaturePadComponent","onSignatureClear","SidebarItem","isActive","setIsActive","forMoreMenu","NavDropdown","SidebarItemList","itemOrderIsSet","setItemOrderIsSet","defaultPage","getDefaultPage","tabOrderFromSecurityItems","firstItem","isPhysicanLoginWithoutSelectedPatient","orderSidebarItemsWorkflow","startItemNr","tabOrderList","maxSidebarItems","allSidebarItems","itemNr","tab","journey","showJourney","securityItemName","patList","showPatList","dokumente","showDokumente","termine","showTermine","fotos","showFotos","medikation","showMedikation","tagesplan","showTagesplan","fragebogen","showFragebogen","videochat","showVideochat","showCharts","chartWeight","showChartWeight","chartBodyFat","showChartBodyFat","chartBloodSugar","showChartBloodSugar","chartFLI","showChartFLI","chartSAM","showChartSAM","chartActivity","showChartActivity","tableVAL","showTableVAL","todo","showTodo","onSelect","allSidebarMoreMenuItems","allSidebarItemNames","defaultTabOrder","doTabOrderFromSecItems","dropdown","drop","alignRight","orderedSidebarItems","getMaxSidebarItems","StepperOrientation","StepperLabelOrientation","StepTyp","root","overflowClipMargin","whiteSpace","textOverflow","minHeight","stepButtonDraft","StepperCheckIn","setCompleted","typ","Normal","clickable","newCompleted","activeIndex","currentSteps","newSteps","haveStepsChanged","getTooltipText","isCompleted","nonLinear","orientation","stepperOrientation","Vertical","alternativeLabel","labelOrientation","Right","handleStepClick","wordBreak","Object","keys","CredentialsLost","Prepend","Text","AppointmentPersonalDataWithCardRead","readEGKCard","onCardReadClick","showCardReadButton","handleCardReadClick","AppointmentPersonalDataWithLogin","handleLoginClick","CancelConfirmModal","CodeInputModal","setCode","modalText","BookingAppointment","isEarlierAppointmentPossible","setBookingCode","showBookingButtonLoadingSpinner","setShowBookingButtonLoadingSpinner","bookingSuccess","setBookingSuccess","bookingButtonRef","innerBookAppointment","codeModalShow","setCodeModalShow","cancelConfirmModalShow","setCancelConfirmModalShow","BookNowButton","showWithSpaceBetween","APPOINTMENT_BOOKING","SUBMIT","handleBooking","BookingButtons","getEnrollDataForBooking","handleBookingClick","timeslot_1","timeslot_2","BookSuccessScreen","handleCancelClick","FinalCheckIn","handleButtonClick","LoginCardModal","BadgesList","showAsGrid","allBadges","badgesList","handleBadgeClick","getAllBadges","AppointmentCategoryDepartment","setDepartments","possibleMacrosResponse","getDepartmentMacros","getBadgesList","departmentName","dep","handleDepartmentClick","AppointmentCategoryLocation","locationName","loc","handleLocationClick","PhysicianSelectionCard","AppointmentCategoryPhysician","handleSetPhysicianClick","handlePhysicianClick","createSelectComboboxOption","SelectCombobox","control","styles","menuIsOpen","isFocused","isDisabled","dropdownIndicator","indicatorsContainer","isSelected","noOptionsMessage","mandatory","getNumericRegex","CheckboxTypeEle","getHintAnswerBoolean","setHintAnswerBoolean","TextTypeEle","getHintAnswerText","setHintAnswerText","NumericTypeEle","feedbackMsg","preFeedbackMsg","getHintAnswerNumeric","setHintAnswerNumeric","AppointmentCategoryReasonHints","validated","setValidated","Fragen","frage","booleanVal","numeric","RegExp","newAnswers","valueNumber","Hinweis","onHintsSubmit","allQuestions","q","showQuestions","AppointmentCategoryReason","reasonSelected","setReasonSelected","reasonSelected1","setReasonSelected1","reasonMainCodeSelected","setReasonMainCodeSelected","insuranceSelected","setInsuranceSelected","appTypeSelected","setAppTypeSelected","setHints","VERSICHERUNG_VOR_ORT_LONG","VERSICHERUNG_PER_VIDEO_LONG","VERSICHERUNG_PER_TELEFON_LONG","TERMINART_PRIVAT_LONG","TERMINART_GESETZLICH_LONG","TERMINART_BG_LONG","TERMINART_SELBSTZAHLER_LONG","getShortVersicherungsart","versicherungsartLong","versicherungsArtShort","getShortTerminart","terminartLong","terminartShort","filteredReasonsLocal","foundHint","filterVersicherungsart","filterTerminart","aFilterChecked","pFilterChecked","hintAFilter","hintPFilter","handleReasonClick","selectedReasonId","getBesuchsgrundOptions","mainReason","usedReasons","usedReasonMainCodes","reasonsDone","reasonsSelect","optionSelect","valueSub","versicherungsArt","handleSetComboboxInsurance","kontaktArt","handleSetComboboxAppType","getBesuchsgrundDefault","isSearchable","filteredReason","freason","handleSetComboboxReason","handleSetComboboxReasonSub","displayHints","TermineButtons","TermineCheckIn","checkInVariant","UploadButtons","Upload","getDiagnosticReports","UploadContent","headerTitle","fileUploadButtonName","cameraUploadButtonName","acceptedFileTypes","allowMessages","forbidMessages","videochatMessagesAllowed","setCheckInAuth","getFullOTPAuthorization","hasAnmeldContexts","useAuth","stepClicked","setStepClicked","activeContent","setActiveContent","finalURL","setAuthData","loginModalShow","setLoginModalShow","questionnaireLoaded","setQuestionnaireLoaded","showTelephoneModal","setShowTelephoneModal","clickedQuestSave","setClickedQuestSave","reloadContent","setReloadContent","updateEnrollmentRequest","setUpdateEnrollmentRequest","videosprechstundeStepLoad","setVideosprechstundeStepLoad","videochatHangup","setVideochatHangup","withJourneyReload","nextActiveStep","newStepValues","reloadPageData","setReloadPageData","cardReadClickedInPersData","setCardReadClickedInPersData","initPageDone","setInitPageDone","forceClosePDF","setForceClosePDF","registerdUserData","setRegisteredUserData","setIsLoggedIn","conState","registeredUserHashParams","listener","getAndSetPersData","getJourneyData","getInitialSteps","getContent","newSetOfStepsAndContent","mySetJourneyRessponse","reloadQuests","reloadChatMessages","responseEnroll","ID_VIDEO","reloadData","handleQuestFinished","handleQuestPDFClose","handleQuestSave","isRegisteredUser","setVideochatStepAndContent","con","ID_CATEGORY_DEPARTMENT","ID_CATEGORY_REASON","reinitPage","getOverwriteAppProps","overwriteProps","propResOverwritten","nextStep","getNextUnfinishedStepNumber","currentStepNumber","endReached","getJourneyDataForHOME","isCheckInWorkplace","handleRegistrationFinished","handleClickPDFDocment","handleClickQuestionnaireDraft","questionnaireId","stepName","questionnaireAuth","contentRes","qId","showQuestionnaireEntries","forms","form","getJourneyFinalURLId","draftId","draftURL","getJourneyDraftURLId","handlePossibleChangeOfNextSteps","stepNumberClicked","setInactive","clickedId","ID_CATEGORY_PHYSICIAN","ID_APPOINTMENT_SELECTION","stepNumber","allStepsCopy","setAllStepsGreaterInactive","isUsedAsWidget","handleProfileClick","ID_MYDATA","showAccountInAnmeldeworkflow","handleLoginIconClick","handleOnCardReadClick","handleFinalCheckInClick","handleClosePDFModal","opener","handleOnVideoHangup","getAuthorizeLoginData","authorizeLoginProps","PossibleMacros","ID_CATEGORY_LOCATION","getStepId","ID_APPOINTMENT_SELECTION_WITH_PHYSICIAN","ID_PERSONALDATA","newId","ID_BOOKING","handlePersonalDataNext","handleMyAppointmentNext","handleUploadNext","ID_FINALCHECKIN","updateEnrollment","stepCode","handlePersonalDataNextAfterCardRead","ID_MYAPPOINTMENTS","newPatient","handleBookingCancelClick","getRestHeight","stepbar","vh","newStepsToSet","newStep","newValues","setAllOtherStepsInactive","changeStep","journeyResp","videoIsActive","finished","onVideoHangup","NavbarAndStepper","Horizontal","Bottom","inMeineDatan","cardwidth","StyledParagraphVerticallyCenter","StyledParagraphWithoutMargin","StyledParagraphGrayTextItalic","QuestionnaireStepperTitle","prettyByte","sizeInByte","isFileTypeAccepted","fileName","acceptedTypes","allAcceptedTypes","heigth","PhotoModal","modalSize","itemMargin","modalDate","Carousel","handleSelect","interval","controls","UploadContentCards","photoReports","setFotoReports","dataFound","setDataFound","modalIndex","setModalIndex","photoModalShow","setPhotoModalShow","alertWidth","getCardSize","itemMargins","getMargins","loadPhotos","resources","photoCarouselItems","photoItems","Caption","getPhotos","refreshPhotos","resetRefresh","showPhoto","photoId","getCardTitle","photoItem","getAllCards","showCard","Photos","Spinner","role","selectedIndex","handlePhotoChange","setRefreshPhotos","photoUploadRef","handleUploadOpen","areFileTypesAccepted","isAccepted","myModString","multiple","languageElements","BUTTONS","en","Weiter","Abbrechen","COMBOBOX","Anmelden","Benutzername","Passwort","ANMELD","de","Fachrichtung","Besuchsgrund","Versichertentyp","Terminart","Behandler","Termin","Bemerkung","PERSONALDATA","Vorname","Nachname","Titel","Geburtstag","Geschlecht","Telefonnummer","Postleitzahl","Ort","Straße","Hausnummer","Land","Versichertennummer","Krankenkasse","Sprache","COMMON","Impressum","Datenschutz","languages","lang","getActiveLanguage","getSystemLanguage","Intl","DateTimeFormat","resolvedOptions","getLanguageDataWithId","sysLanguage","module","refText","translationText","moduleData","languageData","lookupTranslation","CenterRow","MainHeaderRow","AppointmentCardStatusButtonRow","StyledRowNoMargin","StyledRowPersonalDataBottom","StyledVerticalCenterRow","attrs","TimeslotRow","DateSwitcherRow","QuestionnaireSwitcherRow","StyledAppointmentCard","StyledAppointmentCardHeader","StyledMainCardTitle","StyledAppointmentCardBody","StyledAppointmentCardFooter","StyledMainCard","StyledProfileCard","StyledPhysicianSelectionCard","StyledNewRegistrationCard","StyledNewRegistrationCardBody","StyledNewRegistrationCardImg","Img","StyledPhotoCard","StyledAppoinmentCategoryCard","backgroundcolor","marginbottom","ListGroupCst","ListGroup","ListGroupItemCst","StyledWaitingCard","StyledWaitingCardBody","StyledPhysicianSelectionCardTitle","StyledModalMedicationDetail","qrCode","setQrCode","applinksURL","setAppLinksURL","qrCodeConfig","getQRCodeConfig","qrCodeData","getQRCodes4App","qrCodeSrc","thumbnail","ImpressumNormal","responseMsg","WebcamModal","setPhoto","newQuestionnaireStep","formName","api","vcContext","setVcContext","includeExternalScript","whenFinished","script","handleScript","async","jitsNowAllowed","getResizedHeight","jitsiContent","userInfo","configOverwrite","jp","eval","parentNode","JitsiMeetExternalAPI","waitScreen","errmsg","contentToShow","countryShortName","isEmailValid","toLowerCase","appProps","getDataFromAppProperties","_userId","isDEVMode","ConsignationWaitForLetterModal","NewPWDModal","onRepeat","identicalPW","InitialPassword","forcePWModalShow","setForcePwModalShow","identical","confirmedPassword","passwordCheck","setPasswordCheck","pwResponse","onchange","oncancel","newPassword","newPW","repeatedPassword","confirmedPW","ConsignationWaitModal","consignationFinished","setConsignationFinished","initPassword","setInitPassword","isConsignationAccepted","consigRes","forceNewPWD","DoDoubleOptInModal","DoDoubleOptInViaLinkModal","TwoFactorAuthModal","setToken","setInvalid","errorMessage","setErroMessage","authorizeData","twoFALogin","activeStudy","activePatId","photoRes","ConsignationModal","activeId","setActiveId","termsHTMLBottom","setTermsHTMLBottom","submitButtonRef","notGiven","Accordion","defaultActiveKey","onScroll","scrollHeight","checkConsignation1","checkbox1","flexGrow","onDeny","ConsignationAddModal","htmlTerm","setHTMLTerm","getTermHTML","htmlText","checkbox","ConsignationAdd","consigModalShow","setConsigModalShow","setCheckConsignation","getUrlTerms","handleDenial","ondenial","Consignation","consigWaitModalShow","setConsigWaitModalShow","consigWaitForLetterModalShow","setConsigWaitForLetterModalShow","checkbox2","consigAddModalShow","setConsigAddModalShow","passwordModalShow","setPasswordModalShow","waitForConsignation","waitForLetter","lastConsigRes","setLastConsigRes","handlePWChange","checkConsignation2","notgiven","consignationForm","showConsignationForm","consignationAddForm","showConsignationAddForm","consignationWaitForm","showConsignationWaitForm","consignationWaitForLetterForm","showConsignationWaitForLetterForm","doubleOptInForm","showDoubleOptInForm","doubleOptInViaLinkForm","showDoubleOptInViaLinkForm","twoFAModalShow","set2FAModalShow","setNotGiven","consig","setConsignation","doubleOptInMissingAfterPWDChange","setDoubleOptInMissingAfterPWDChange","autoLogin","setAutoLogin","activeStudyName","setActiveStudyName","showLoginButtonLoadingSpinner","setShowLoginButtonLoadingSpinner","loginButtonRef","setCurrentActivePatId","getAddConsignationToAsk","loginData_addConsignationToAsk","urlParam_addConsignationToAsk","responseArray","loginHandling","addPlannedStudyUrlParam","executeRuleRespone","addConsignationResponse","doubleOptInViaLink","LoginButton","newPwd","Scheduled","StickyTitle","stickyBreakpoint","PastAppointments","stickyPosition","structuredAppointments","setStructuredAppointments","getAppointments","apt","PastAppointmentsTitle","PastAppointmentsData","refreshAppointments","Past","Cancelled","UpcomingAppointments","currentApt","bestEnrollCode","extensionData","enrollCodeData","UpcomingAppointmentsTitle","Incomplete","UpcomingAppointmentsData","chatIcon","Today","Future","WithoutTime","AskNewAppointmentModal","cancelAPKNr","setCancelAPKNr","bookedAPKNr","setBookedAPKNr","getCancelAPKNr","cancelNr","onRenewAppointment","onCancelOtherAppointment","TermineContent","setKey","iPadProPaddinig","tabHeight","setRefreshAppointments","askNewAppModalShow","setAskNewAppModalShow","goToTerminierungAlternateDate","setGoToTerminierungAlternateDate","askNewAppHandleSubmit","cancelOtherAppointment","getNavTextSize","handleAppointmentsCancelClick","handleAppointmentsFinishClick","TabContainer","activeKey","k","StyledTab","Tab","Pane","STEP_KATEGORIE_WAEHLEN","STEP_TERMIN_WAEHLEN","STEP_TERMIN_BUCHEN","isStepMultiAppointment","getCurrentAppointmentNr","numberStr","StepperTerminierungAlternateDate","setNextButtonEnabled","bookSuccess","setBookSuccess","setEnrollCode","setAppointmentCardData","appointmentCardData_2","setAppointmentCardData_2","appointmentBooked_1","setAppointmentBooked_1","appointmentBooked_2","setAppointmentBooked_2","resetAllSelectedTimeslots","resetAllSelectedResource","isAppointmentPostpone","cancelPostponeAppointment","gotNewAppointment","blockResponse","newApp","participantData_2","EnrollCodeWithLink","getTermincodeEnrollIdURL","getCurrentBaseURL","SuccessCards","SuccessSummary","SuccessMessage","newAppData","countAPK","completeAPKMode","isPostponeAppointment","isMissingAPKWorkflow","selectedReasonObject","missingAPKNr","bookedAppointment","bookedResource","changeStepsIfMultiAppointments","stepIndex","stepscompleted","Stepper","terminbuchen","Step","StepLabel","getStep","StepperTerminierungAlternateDateContent","StyledFormLabelForInput","FormLabel","Color","StyledFormRowNoMargin","StyledFormGroupMaxWidth","headerBaseStyle","css","MainH1Title","h1","MainH2Title","h2","MainH3Title","MainH4Title","MainH5Title","h5","isGoogleAnalyticsEnabled","hitType","nonInteraction","transport","appVersion","version","pcpconfig","homepageURL","contextConfig","qrcode","themeConfig","getTermsURL","getPrivacyURL","getHomepageURL","booked","toolbarButtons","breakoutRooms","hideAddRoomButton","hideAutoAssignButton","hideJoinRoomButton","NavbarBottom","appNr","updatedSelectedResource","resetSelectedResource","resetedResource","updatedAvailableTimeslot","resetAvailableTimeslots","resetedAvailableTimeslot","updatedSelectedTimeslot","resetSelectedTimeslots","resetedSelectedTimeslot","fruehererTermin","makroIdArray","foundMakroId","subCoding","st","subMakro","se","foundResource","getHashParam","hashLocation","hashSub1","reduce","parts","params","exec","currentPathName","enrollId","questChar","andChar","ToggleButtonGroupFlex","StyledToggleButton","StyledResetButton"],"mappings":"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","file":"static/js/main.074479f0.chunk.js","sourcesContent":["import produce from 'immer';\r\nimport { useCallback, useContext } from 'react';\r\nimport { isTimeslotDateSet } from '../components/Calendar/TimeSlots';\r\nimport CheckInContext from '../context/checkInContext';\r\nimport LoginContext from '../context/loginContext';\r\nimport TerminierungContext from '../context/terminierungContext';\r\nimport { IEnrollData, interpreteKVParams, readCardData } from '../services/RestServices';\r\nimport { extractPatData, getPatientResource, getPractitionerResource } from '../services/fhir/FHIRPatientResource';\r\nimport {\r\n getLocationCareUnitIdFromResource,\r\n getLocationDepartmentIdFromResource,\r\n getLocationRoomIdFromResource,\r\n getParticipantIdFromResource,\r\n} from '../utils/appointmentUtils';\r\nimport { useAppointmentSelection } from './useAppointmentSelection';\r\n\r\nexport const usePersonalData = () => {\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n const { state } = useContext(LoginContext);\r\n const { checkinstate } = useContext(CheckInContext);\r\n const { getSelectedTimeslot, getSelectedResource } = useAppointmentSelection();\r\n\r\n const shouldCreateAccount = () => {\r\n if (tmstate.personalData?.username?.length > 0 && tmstate.personalData?.password?.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const getAndSetPersonalData = useCallback(\r\n async (sessionId: string, activeUserId: string, practitionerRoleId: string) => {\r\n const patdata = practitionerRoleId\r\n ? await getPractitionerResource(sessionId, practitionerRoleId)\r\n : await getPatientResource(sessionId, activeUserId);\r\n\r\n const patdataExt = extractPatData(patdata);\r\n\r\n tmdispatch({\r\n type: 'SETPERSONALDATA',\r\n personalData: {\r\n ...tmstate.personalData,\r\n insuranceNr: patdataExt.insuranceNr,\r\n firstName: patdataExt.firstName,\r\n lastName: patdataExt.lastName,\r\n birthday: patdataExt.birthday, //format YYYY-MM-DD\r\n gender: patdataExt.gender,\r\n email: patdataExt.emailHome,\r\n telephone: patdataExt.telephoneHome,\r\n mobilePhone: patdataExt.mobilePhone,\r\n academicTitle: patdataExt.academicTitle,\r\n street: patdataExt.streetHome,\r\n housenr: patdataExt.houseNrHome,\r\n city: patdataExt.cityHome,\r\n zip: patdataExt.zipHome,\r\n country: patdataExt.country,\r\n profilePhoto: tmstate.personalData.profilePhoto,\r\n plannedStudies: patdataExt.plannedStudies,\r\n insuranceName: patdataExt.insuranceName,\r\n language: patdataExt.language,\r\n },\r\n });\r\n },\r\n [tmdispatch, tmstate.personalData],\r\n );\r\n\r\n const readCardDataAndSetPersonalData = useCallback(\r\n async (wpName: string) => {\r\n const readCardResponse = await readCardData(wpName);\r\n\r\n tmdispatch({\r\n type: 'SETPERSONALDATA',\r\n personalData: {\r\n ...tmstate.personalData,\r\n insuranceNr: readCardResponse.insuranceNr ? readCardResponse.insuranceNr : '',\r\n firstName: readCardResponse.firstName ? readCardResponse.firstName : '',\r\n lastName: readCardResponse.nameLast ? readCardResponse.nameLast : '',\r\n birthday: readCardResponse.birthday ? readCardResponse.birthday : '', //format YYYY-MM-DD\r\n gender: readCardResponse.gender ? readCardResponse.gender : '',\r\n street: readCardResponse.street ? readCardResponse.street : '',\r\n housenr: readCardResponse.houseNumber ? readCardResponse.houseNumber : '',\r\n city: readCardResponse.city ? readCardResponse.city : '',\r\n zip: readCardResponse.zip ? readCardResponse.zip : '',\r\n country: readCardResponse.country ? readCardResponse.country : '',\r\n mobilePhone: readCardResponse.mobilePhone ? readCardResponse.mobilePhone : '',\r\n academicTitle: readCardResponse.academicTitle ? readCardResponse.academicTitle : '',\r\n eGK: readCardResponse.eGK ? readCardResponse.eGK : '',\r\n state: readCardResponse.state ? readCardResponse.state : '',\r\n profilePhoto: tmstate.personalData.profilePhoto ? tmstate.personalData.profilePhoto : '',\r\n plannedStudies: readCardResponse.plannedStudies ? readCardResponse.plannedStudies : '',\r\n insuranceName: readCardResponse.insuranceName ? readCardResponse.insuranceName : '',\r\n language: readCardResponse.language ? readCardResponse.language : '',\r\n },\r\n });\r\n },\r\n [tmdispatch, tmstate.personalData],\r\n );\r\n\r\n const readKVDataAndSetPersonalData = useCallback(\r\n async (txt: string) => {\r\n const response: any = await interpreteKVParams(txt);\r\n // console.log(JSON.stringify(response));\r\n tmdispatch({\r\n type: 'SETPERSONALDATA',\r\n personalData: {\r\n ...tmstate.personalData,\r\n insuranceNr: response.insuranceNr ? response.insuranceNr : '',\r\n firstName: response.firstName ? response.firstName : '',\r\n lastName: response.nameLast ? response.nameLast : '',\r\n birthday: response.birthday ? response.birthday : '', //format YYYY-MM-DD\r\n gender: response.gender ? response.gender : '',\r\n street: response.street ? response.street : '',\r\n housenr: response.houseNumber ? response.houseNumber : '',\r\n city: response.city ? response.city : '',\r\n zip: response.zip ? response.zip : '',\r\n country: response.country ? response.country : '',\r\n mobilePhone: response.mobilePhone ? response.mobilePhone : '',\r\n academicTitle: response.academicTitle ? response.academicTitle : '',\r\n eGK: response.eGK ? response.eGK : '',\r\n kvBarcode: response.barcode ? response.barcode : '',\r\n state: response.state ? response.state : '',\r\n profilePhoto: tmstate.personalData.profilePhoto ? tmstate.personalData.profilePhoto : '',\r\n plannedStudies: response.plannedStudies ? response.plannedStudies : '',\r\n insuranceName: response.insuranceName ? response.insuranceName : '',\r\n language: response.language ? response.language : '',\r\n },\r\n });\r\n },\r\n [tmdispatch, tmstate.personalData],\r\n );\r\n\r\n const resetPersonalData = useCallback(async () => {\r\n tmdispatch({\r\n type: 'RESETPERSONALDATA',\r\n });\r\n }, [tmdispatch]);\r\n\r\n const resetPersonalDataPhysPat = useCallback(async () => {\r\n tmdispatch({\r\n type: 'RESETPERSONALDATA_PHYSPAT',\r\n });\r\n }, [tmdispatch]);\r\n\r\n const getPlannedStudyParticipation = useCallback(\r\n (studyCode: string) => {\r\n const study = tmstate.personalData.plannedStudies.find((p: any) => p.code === studyCode);\r\n if (study) {\r\n return study.participate;\r\n }\r\n return false;\r\n },\r\n [tmstate.personalData.plannedStudies],\r\n );\r\n\r\n const getEnrollData = useCallback(async () => {\r\n const selectedTimeslot = getSelectedTimeslot(1);\r\n let selectedResource = getSelectedResource(1);\r\n if (isTimeslotDateSet(selectedTimeslot)) {\r\n selectedResource = produce(selectedResource, (draft: any) => {\r\n draft.start = selectedTimeslot?.start;\r\n draft.end = selectedTimeslot?.end;\r\n });\r\n }\r\n\r\n const enrollData: IEnrollData = {\r\n insuranceNr: tmstate.personalData.insuranceNr,\r\n nameLast: tmstate.personalData.lastName,\r\n nameFirst: tmstate.personalData.firstName,\r\n makroId: tmstate.selectedReason.makroId !== undefined ? tmstate.selectedReason.makroId.toString() : '',\r\n start: selectedTimeslot ? selectedTimeslot.start.toString() : '',\r\n end: selectedTimeslot ? selectedTimeslot.end.toString() : '',\r\n birthdate: tmstate.personalData.birthday,\r\n gender: tmstate.personalData.gender,\r\n zip: tmstate.personalData.zip,\r\n city: tmstate.personalData.city,\r\n street: tmstate.personalData.street,\r\n streetNr: tmstate.personalData.housenr,\r\n country: tmstate.personalData.country,\r\n bsnr: '',\r\n email: tmstate.personalData.email,\r\n tel: tmstate.personalData.telephone,\r\n mobilePhone: tmstate.personalData.mobilePhone,\r\n academicTitle: tmstate.personalData.academicTitle,\r\n remark: tmstate.remark,\r\n ambId: getLocationCareUnitIdFromResource(selectedResource),\r\n maId: getParticipantIdFromResource(selectedResource),\r\n departmentId: getLocationDepartmentIdFromResource(selectedResource),\r\n roomId: getLocationRoomIdFromResource(selectedResource),\r\n createAccount: shouldCreateAccount(),\r\n accountName: tmstate.personalData.username,\r\n accountPWD: tmstate.personalData.password,\r\n selectedReason: tmstate.selectedReason,\r\n selectedReasonHints: tmstate.selectedReasonHints,\r\n selectedPhysicianId: tmstate.selectedPhysician.id,\r\n sessionId: state.sessionId,\r\n wpName: checkinstate.wpName ? checkinstate.wpName : '',\r\n selectedAptType: tmstate.selectedAppointmentType ? tmstate.selectedAppointmentType : '',\r\n selectedInsurance: tmstate.selectedInsurance ? tmstate.selectedInsurance : '',\r\n earlierAppointmentWanted: tmstate.earlierAppointmentWanted,\r\n insuranceName: tmstate.personalData.insuranceName,\r\n language: tmstate.personalData.language,\r\n selectedDepartment: tmstate.selectedDepartment?.name ? tmstate.selectedDepartment?.name : '',\r\n };\r\n\r\n return enrollData;\r\n }, [tmdispatch, tmstate]);\r\n\r\n const getEnrollDataPhysPat = useCallback(async () => {\r\n const selectedTimeslot = getSelectedTimeslot(1);\r\n let selectedResource = getSelectedResource(1);\r\n if (isTimeslotDateSet(selectedTimeslot)) {\r\n selectedResource = produce(selectedResource, (draft: any) => {\r\n draft.start = selectedTimeslot?.start;\r\n draft.end = selectedTimeslot?.end;\r\n });\r\n }\r\n\r\n const enrollDataPhysPat: IEnrollData = {\r\n insuranceNr: tmstate.personalDataPhysPat.insuranceNr,\r\n nameLast: tmstate.personalDataPhysPat.lastName,\r\n nameFirst: tmstate.personalDataPhysPat.firstName,\r\n makroId: tmstate.selectedReason.makroId.toString(),\r\n start: selectedTimeslot ? selectedTimeslot.start.toString() : '',\r\n end: selectedTimeslot ? selectedTimeslot.end.toString() : '',\r\n birthdate: tmstate.personalDataPhysPat.birthday,\r\n gender: tmstate.personalDataPhysPat.gender,\r\n zip: tmstate.personalDataPhysPat.zip,\r\n city: tmstate.personalDataPhysPat.city,\r\n street: tmstate.personalDataPhysPat.street,\r\n streetNr: tmstate.personalDataPhysPat.housenr,\r\n country: tmstate.personalDataPhysPat.country,\r\n bsnr: '',\r\n email: tmstate.personalDataPhysPat.email,\r\n tel: tmstate.personalDataPhysPat.telephone,\r\n mobilePhone: tmstate.personalDataPhysPat.mobilePhone,\r\n academicTitle: tmstate.personalDataPhysPat.academicTitle,\r\n remark: tmstate.remark,\r\n ambId: getLocationCareUnitIdFromResource(selectedResource),\r\n maId: getParticipantIdFromResource(selectedResource),\r\n departmentId: getLocationDepartmentIdFromResource(selectedResource),\r\n roomId: getLocationRoomIdFromResource(selectedResource),\r\n createAccount: shouldCreateAccount(),\r\n accountName: tmstate.personalDataPhysPat.username,\r\n accountPWD: tmstate.personalDataPhysPat.password,\r\n selectedReason: tmstate.selectedReason,\r\n selectedReasonHints: tmstate.selectedReasonHints,\r\n selectedPhysicianId: tmstate.selectedPhysician.id,\r\n sessionId: state.sessionId,\r\n wpName: checkinstate.wpName ? checkinstate.wpName : '',\r\n selectedAptType: tmstate.selectedAppointmentType ? tmstate.selectedAppointmentType : '',\r\n selectedInsurance: tmstate.selectedInsurance ? tmstate.selectedInsurance : '',\r\n practitionerRoleId: state.practitionerRoleId,\r\n insuranceName: tmstate.personalDataPhysPat.insuranceName,\r\n language: tmstate.personalDataPhysPat.language,\r\n selectedDepartment: tmstate.selectedDepartment?.name ? tmstate.selectedDepartment?.name : '',\r\n };\r\n\r\n return enrollDataPhysPat;\r\n }, [tmdispatch, tmstate]);\r\n\r\n return {\r\n getAndSetPersonalData,\r\n resetPersonalData,\r\n resetPersonalDataPhysPat,\r\n getPlannedStudyParticipation,\r\n readCardDataAndSetPersonalData,\r\n getEnrollData,\r\n getEnrollDataPhysPat,\r\n readKVDataAndSetPersonalData,\r\n };\r\n};\r\n","import produce from 'immer';\r\nimport * as React from 'react';\r\nimport { isTimeslotDateSet } from '../../components/Calendar/TimeSlots';\r\nimport { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport { InitialLoginType } from '../../context/loginContext';\r\nimport { InitialTerminierungType } from '../../context/terminierungContext';\r\nimport { appointmentStatus } from '../../globals/global';\r\nimport { IAppointment, getAPKNrFromExtension, getMissingAPKsFromExtension } from '../../utils/appointmentUtils';\r\nimport { responseErrorHandling } from '../../utils/errorHandling';\r\nimport { getFHIRConfig } from './fhirConstants';\r\nimport { setDataFromAppProperties } from '../../utils/pcpUtils';\r\n\r\nconst fhir = require('fhir.js');\r\n\r\nconst moment = require('moment');\r\n\r\nexport interface IAppointmentResult {\r\n key: string;\r\n data: IAppointment[];\r\n}\r\n\r\nexport interface IFreeAppointmentSearch {\r\n makroId: string;\r\n date: string;\r\n physicianId?: string;\r\n selectedReason?: string;\r\n selectedDepartment?: string;\r\n selectedInsurance?: string;\r\n}\r\n\r\nexport const getAppointmentsOfPatient = async (state: InitialLoginType, alertdispatch: React.Dispatch) => {\r\n const sessionId = state.sessionId;\r\n const userId = state.activeUserId;\r\n\r\n return await fhir(getFHIRConfig(sessionId))\r\n .search({\r\n type: 'Appointment',\r\n query: {\r\n actor: 'Patient/' + userId,\r\n _sort: '-date',\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getFreeAppointmentTimeSlots = async (\r\n state: InitialLoginType,\r\n tmstate: InitialTerminierungType,\r\n freeAppointment: IFreeAppointmentSearch,\r\n) => {\r\n const query: any = {\r\n actor: 'Patient/' + state.activeUserId,\r\n date: freeAppointment.date,\r\n _makroId: freeAppointment.makroId,\r\n _sort: '-date',\r\n };\r\n\r\n if (freeAppointment.physicianId) {\r\n query._physicianId = freeAppointment.physicianId;\r\n }\r\n\r\n if (tmstate.workOnAppointmentNr > 1) {\r\n const foundSelectedTimeslots = tmstate.selectedTimeslots.find((e) => e.appointmentNr === 1);\r\n const selectedTimeslot = foundSelectedTimeslots?.selectedTimeslot;\r\n const res0Date = moment(selectedTimeslot?.start).format('yyyy-MM-DD');\r\n\r\n query.apkNr = tmstate.workOnAppointmentNr - 1;\r\n query.res0 = res0Date;\r\n }\r\n return await fhir(getFHIRConfig(state.sessionId)).search({\r\n type: 'Appointment',\r\n query,\r\n });\r\n};\r\n\r\nexport const getFreeAppointmentTimeSlotsRenew = async (\r\n state: InitialLoginType,\r\n tmstate: InitialTerminierungType,\r\n freeAppointment: IFreeAppointmentSearch,\r\n) => {\r\n const foundSelectedTimeslots = tmstate.selectedTimeslots.find((e) => e.appointmentNr === 1);\r\n const selectedTimeslot = foundSelectedTimeslots?.selectedTimeslot;\r\n\r\n const foundSelectedTimeslots_2 = tmstate.selectedTimeslots.find((e) => e.appointmentNr === 2);\r\n const selectedTimeslot_2 = foundSelectedTimeslots_2?.selectedTimeslot;\r\n\r\n let res1Date = '';\r\n let res0Date = '';\r\n if (isTimeslotDateSet(selectedTimeslot_2)) {\r\n res1Date = moment(selectedTimeslot_2?.start).format('yyyy-MM-DD');\r\n }\r\n if (isTimeslotDateSet(selectedTimeslot)) {\r\n res0Date = moment(selectedTimeslot?.start).format('yyyy-MM-DD');\r\n }\r\n\r\n const makroId = tmstate.cancelNewAppointmentData.data.serviceType[0].coding[0].id;\r\n\r\n let apkNr;\r\n const missingAPK = getMissingAPKsFromExtension(tmstate.cancelNewAppointmentData.data.extension);\r\n if (missingAPK.length > 0) {\r\n apkNr = missingAPK;\r\n } else {\r\n apkNr = getAPKNrFromExtension(tmstate.cancelNewAppointmentData.data.extension);\r\n }\r\n\r\n const query: any = {\r\n actor: 'Patient/' + state.activeUserId,\r\n date: freeAppointment.date,\r\n _makroId: makroId,\r\n _sort: '-date',\r\n apkNr: apkNr,\r\n res0: res0Date,\r\n res1: res1Date,\r\n };\r\n\r\n if (freeAppointment.physicianId) {\r\n query._physicianId = freeAppointment.physicianId;\r\n }\r\n\r\n return await fhir(getFHIRConfig(state.sessionId)).search({\r\n type: 'Appointment',\r\n query,\r\n });\r\n};\r\n\r\nexport const bookAppointment = async (\r\n sessionId: string,\r\n resource: any,\r\n remark: string,\r\n earlierAppointmentWanted: boolean,\r\n id?: string | null,\r\n) => {\r\n const mResource = produce(resource, (draft: any) => {\r\n draft.comment = remark;\r\n draft.earlierAppointmentWanted = earlierAppointmentWanted;\r\n if (id) {\r\n draft.id = id;\r\n }\r\n });\r\n\r\n return await fhir(getFHIRConfig(sessionId))\r\n .create({\r\n type: 'Appointment',\r\n resource: mResource,\r\n })\r\n .catch(function (e: any) {\r\n console.log('An error happened while updating Appointment: \\n', e);\r\n });\r\n};\r\n\r\nexport const bookMultiAppointment = async (\r\n state: InitialLoginType,\r\n resource: any,\r\n resource_2: any,\r\n remark: string,\r\n cancelNewAppointmentData: any,\r\n) => {\r\n const appointments: any[] = [];\r\n\r\n const request = {\r\n method: 'POST',\r\n url: 'Appointment',\r\n };\r\n\r\n if (cancelNewAppointmentData.data?.contained) {\r\n /* Ersatztermin Variante */\r\n let mResource;\r\n if (resource.status === 'booked' || resource.status === 'fulfilled') {\r\n mResource = produce(resource_2, (draft: any) => {\r\n draft.comment = remark;\r\n draft.status = resource.status;\r\n draft.contained = resource;\r\n });\r\n } else if (resource_2.status === 'booked' || resource_2.status === 'fulfilled') {\r\n mResource = produce(resource, (draft: any) => {\r\n draft.comment = remark;\r\n draft.status = resource_2.status;\r\n draft.contained = resource_2;\r\n });\r\n }\r\n\r\n appointments.push({\r\n request: request,\r\n resource: mResource,\r\n });\r\n } else {\r\n /* Normale Variante */\r\n const mResource = produce(resource, (draft: any) => {\r\n draft.comment = remark;\r\n draft.status = 'booked';\r\n });\r\n const mResource_2 = produce(resource_2, (draft: any) => {\r\n draft.comment = remark;\r\n draft.status = 'booked';\r\n });\r\n\r\n appointments.push({\r\n request: request,\r\n resource: mResource,\r\n });\r\n appointments.push({\r\n request: request,\r\n resource: mResource_2,\r\n });\r\n }\r\n\r\n const trBunde = {\r\n resourceType: 'Bundle',\r\n entry: appointments,\r\n type: 'transaction',\r\n };\r\n\r\n const config = {\r\n ...getFHIRConfig(state.sessionId),\r\n };\r\n\r\n return await fhir(config)\r\n .transaction({\r\n type: 'Bundle',\r\n id: Math.random().toString(),\r\n resource: trBunde,\r\n })\r\n .catch(function (e: any) {\r\n console.log('An error happened while updating Appointment: \\n', e);\r\n });\r\n\r\n // const mResource = produce(resource, (draft: any) => {\r\n // draft.comment = remark;\r\n // });\r\n\r\n // return await fhir(getFHIRConfig(state.sessionId))\r\n // .create({\r\n // type: 'Appointment',\r\n // resource: mResource,\r\n // })\r\n // .catch(function (e: any) {\r\n // console.log('An error happened while updating Appointment: \\n', e);\r\n // });\r\n};\r\n\r\nexport const cancelAppointment = async (\r\n sessionId: string,\r\n id: string,\r\n comment: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n const cmt = comment ? comment : 'Absage von Patient';\r\n return await fhir(getFHIRConfig(sessionId))\r\n .update({\r\n type: 'Appointment',\r\n id,\r\n resource: {\r\n id,\r\n comment: cmt,\r\n status: 'cancelled',\r\n resourceType: 'Appointment',\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Termin stornieren',\r\n alertTxt: 'Es ist ein Fehler beim stornieren des Termins aufgetreten',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n });\r\n};\r\n\r\nexport const structureAppointments = (appointments: IAppointment[]) => {\r\n const resultsUpcomming: IAppointmentResult[] = [];\r\n const resultsPast: IAppointmentResult[] = [];\r\n\r\n const todayAppt: IAppointment[] = [];\r\n const futureAppt: IAppointment[] = [];\r\n const plannedWithoutDateAppt: IAppointment[] = [];\r\n const pastAppt: IAppointment[] = [];\r\n const incompleteAppt: IAppointment[] = [];\r\n const incompleteApptPast: IAppointment[] = [];\r\n let incompleteApptTotal: IAppointment[] = [];\r\n const canceledAppt: IAppointment[] = [];\r\n\r\n const today = moment();\r\n // console.log('today: ', today.format());\r\n\r\n appointments.forEach((item) => {\r\n const appointment = item.resource;\r\n const dateStart = moment(appointment.start);\r\n const dateEnd = moment(appointment.end);\r\n\r\n // console.log('appointment dateEnd: ', dateEnd.format());\r\n // console.log('same? ', dateEnd.isBefore(today, 'hour'));\r\n\r\n if (appointment.status === appointmentStatus.enteredInError) {\r\n if (appointment.start === undefined || dateStart.isSame(today, 'day') || dateStart.isAfter(today)) {\r\n incompleteAppt.push(appointment);\r\n } else {\r\n incompleteApptPast.push(appointment);\r\n }\r\n incompleteApptTotal = incompleteAppt.concat(incompleteApptPast);\r\n } else if (appointment.status === appointmentStatus.cancelled) {\r\n canceledAppt.push(appointment);\r\n } else if (appointment.start === undefined) {\r\n plannedWithoutDateAppt.push(appointment);\r\n } else {\r\n // if (dateStart.isSame(today) || (dateStart.isSameOrAfter(today) && dateEnd.isBefore(today))) {\r\n if (dateStart.isSame(today, 'day')) {\r\n todayAppt.push(appointment);\r\n } else if (dateStart.isAfter(today) && dateEnd.isAfter(today)) {\r\n futureAppt.push(appointment);\r\n } else if (dateStart.isBefore(today) && dateEnd.isSameOrAfter(today)) {\r\n todayAppt.push(appointment);\r\n } else {\r\n pastAppt.push(appointment);\r\n }\r\n }\r\n });\r\n\r\n resultsUpcomming.push({\r\n key: 'Heute (' + todayAppt.length + ')',\r\n data: todayAppt,\r\n });\r\n resultsUpcomming.push({\r\n key: 'Kommende Termine (' + futureAppt.length + ')',\r\n data: futureAppt,\r\n });\r\n resultsUpcomming.push({\r\n key: 'Geplante Termine ohne Uhrzeit (' + plannedWithoutDateAppt.length + ')',\r\n data: plannedWithoutDateAppt,\r\n });\r\n\r\n resultsUpcomming.push({\r\n key: 'Unvollständige Termine (' + incompleteAppt.length + ')',\r\n // data: incompleteAppt,\r\n data: incompleteApptTotal,\r\n });\r\n\r\n resultsPast.push({\r\n key: 'Vergangene Termine (' + pastAppt.length + ')',\r\n data: pastAppt,\r\n });\r\n\r\n resultsPast.push({\r\n key: 'Abgesagte Termine (' + canceledAppt.length + ')',\r\n data: canceledAppt,\r\n });\r\n\r\n // resultsUpcomming.forEach((obj) => obj.data.forEach((app) => (app.isCancelable = true)));\r\n resultsUpcomming.forEach((obj) => {\r\n obj.data.forEach((app) => {\r\n /* if appointment is an incomplete appointment, check if cancellable, otherwise an upcomming appointment is always cancellable*/\r\n if (app.status === appointmentStatus.enteredInError) {\r\n app.isInError = true;\r\n app.extension.forEach((ext: any) => {\r\n if (ext.url.endsWith('isCancellable')) {\r\n app.isCancelable = ext.valueBoolean;\r\n }\r\n });\r\n } else {\r\n app.isCancelable = true;\r\n }\r\n });\r\n });\r\n\r\n resultsPast.forEach((obj) => {\r\n obj.data.forEach((app) => {\r\n /* if appointment is an incomplete appointment, check if cancellable, otherwise an upcomming appointment is always cancellable*/\r\n if (app.status === appointmentStatus.enteredInError) {\r\n app.isInError = true;\r\n app.extension.forEach((ext: any) => {\r\n if (ext.url.endsWith('isCancellable')) {\r\n app.isCancelable = ext.valueBoolean;\r\n }\r\n });\r\n } else {\r\n app.isCancelable = false;\r\n }\r\n });\r\n });\r\n\r\n // console.log('upcoming ', resultsUpcomming);\r\n // console.log('resultsPast', resultsPast);\r\n\r\n return [resultsUpcomming, resultsPast];\r\n};\r\n","import { Component } from 'react';\r\n\r\nexport class ErrorBoundary extends Component {\r\n constructor(props) {\r\n super(props);\r\n this.state = { hasError: false, error: '', errorInfo: '' };\r\n }\r\n\r\n static getDerivedStateFromError() {\r\n // Update state so the next render will show the fallback UI.\r\n return { hasError: true };\r\n }\r\n\r\n componentDidCatch(error, errorInfo) {\r\n // You can also log the error to an error reporting service\r\n // logErrorToMyService(error, errorInfo);\r\n // console.log('ErrorBoundary: error = ' + error + ', errorInfo = ' + errorInfo);\r\n let stack = '';\r\n if (errorInfo.componentStack) {\r\n stack = errorInfo.componentStack;\r\n }\r\n\r\n this.setState({\r\n error: error,\r\n errorInfo: stack,\r\n });\r\n }\r\n\r\n render() {\r\n if (this.state.hasError) {\r\n // You can render any custom fallback UI\r\n return (\r\n
\r\n

Something went wrong.

\r\n

{this.state.error ? this.state.error : ''}

\r\n

{this.state.errorInfo ? this.state.errorInfo : ''}

\r\n
\r\n );\r\n }\r\n\r\n return this.props.children;\r\n }\r\n}\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { Paths } from '../../../Routes';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../../context/alertContext';\r\nimport { useHandleLogoutAfterIdleTime } from '../../../hooks/useHandleLogout';\r\nimport { resetShowAlertMessage } from '../../../utils/alertHandling';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport { StyledModal } from '../StyledModal/StyledModal';\r\n\r\nconst AlertModal = () => {\r\n const navigate = useNavigate();\r\n const { alertstate, alertdispatch } = useContext(AlertContext);\r\n const { handleLogoutAfterIdleTime } = useHandleLogoutAfterIdleTime();\r\n const [errorType, setErrorType] = useState('info');\r\n\r\n useEffect(() => {\r\n if (alertstate.alertMessage.alertType !== undefined) {\r\n if (alertstate.alertMessage.alertType === AlertType.info) {\r\n setErrorType('info');\r\n } else if (alertstate.alertMessage.alertType === AlertType.error) {\r\n setErrorType('danger');\r\n } else {\r\n setErrorType('info');\r\n }\r\n }\r\n }, [alertstate.alertMessage]);\r\n\r\n const onHideHandling = () => {\r\n resetShowAlertMessage(alertdispatch);\r\n\r\n if (\r\n alertstate.alertMessage.onHide === AlertOnHide.custom &&\r\n alertstate.alertMessage.onHideCustom !== undefined\r\n ) {\r\n alertstate.alertMessage.onHideCustom();\r\n } else {\r\n if (alertstate.alertMessage.onHide === AlertOnHide.onlyClose) {\r\n // do nothing\r\n } else {\r\n handleLogoutAfterIdleTime();\r\n\r\n if (alertstate.alertMessage.onHide === AlertOnHide.goToHome) {\r\n navigate(Paths.HOME);\r\n } else if (alertstate.alertMessage.onHide === AlertOnHide.reload) {\r\n window.location.reload();\r\n } else {\r\n navigate(Paths.HOME);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const getAlertBody = () => {\r\n if (alertstate.alertMessage.doBig) {\r\n return

{alertstate.alertMessage.alertTxt}

;\r\n }\r\n if (alertstate.alertMessage.doHTML) {\r\n return
;\r\n }\r\n return

{alertstate.alertMessage.alertTxt}

;\r\n };\r\n\r\n return (\r\n \r\n \r\n {alertstate.alertMessage.doBig ? (\r\n \r\n {alertstate.alertMessage.alertTitle}\r\n \r\n ) : (\r\n {alertstate.alertMessage.alertTitle}\r\n )}\r\n \r\n \r\n {getAlertBody()}\r\n \r\n \r\n {alertstate.alertMessage.buttonName}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AlertModal;\r\n","import { AlertOnHide, AlertType, InitialAlertType } from './alertContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETSHOWALERTMESSAGE';\r\n alertMessage: {\r\n showModal: boolean;\r\n alertTitle: string;\r\n alertTxt: string;\r\n alertType: AlertType;\r\n onHide: AlertOnHide;\r\n onHideCustom: () => void;\r\n buttonName?: string;\r\n doBig?: boolean;\r\n doHTML?: boolean;\r\n };\r\n }\r\n | {\r\n type: 'RESETSHOWALERTMESSAGE';\r\n };\r\n\r\nexport const alertReducer = (state: InitialAlertType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETSHOWALERTMESSAGE':\r\n return {\r\n ...state,\r\n alertMessage: {\r\n showModal: action.alertMessage.showModal,\r\n alertTitle: action.alertMessage.alertTitle,\r\n alertTxt: action.alertMessage.alertTxt,\r\n alertType: action.alertMessage.alertType,\r\n onHide: action.alertMessage.onHide,\r\n onHideCustom: action.alertMessage.onHideCustom,\r\n buttonName: action.alertMessage.buttonName ? action.alertMessage.buttonName : 'OK',\r\n doBig: action.alertMessage.doBig ? true : false,\r\n doHTML: action.alertMessage.doHTML ? true : false,\r\n },\r\n };\r\n case 'RESETSHOWALERTMESSAGE':\r\n return {\r\n ...state,\r\n alertMessage: {\r\n showModal: false,\r\n alertTitle: '',\r\n alertTxt: '',\r\n alertType: AlertType.info,\r\n onHide: AlertOnHide.onlyClose,\r\n onHideCustom: undefined,\r\n buttonName: 'OK',\r\n doBig: false,\r\n doHTML: false,\r\n },\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n IAnmeldeContexts,\r\n IAppointmentGeneral,\r\n IAppointmentSummary,\r\n ICustomTexts,\r\n IImpressum,\r\n IRegistrationFields,\r\n} from '../context/appPropsContext';\r\nimport { InitialAppPropsType } from './appPropsContext';\r\nimport { ILink } from './loginContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETAPPPROPS';\r\n Appointment: IAppointmentGeneral;\r\n AppointmentSummary: IAppointmentSummary;\r\n RegistrationMandFields: IRegistrationFields;\r\n RegistrationVisibleFields: IRegistrationFields;\r\n RegistrationReadOnlyFields: IRegistrationFields;\r\n allowAccountAfterAppointment: boolean;\r\n allowAccountCreateDirect: boolean;\r\n allowAppointments: boolean;\r\n allowAppointmentsEinweiser: boolean;\r\n allowAppointmentsWithoutLogin: boolean;\r\n allowDirectAppointments: boolean;\r\n allowDirectAppointmentsWithoutLogin: boolean;\r\n allowLogin: boolean;\r\n allowVideo: boolean;\r\n allowVideoWithoutLogin: boolean;\r\n allowAccountInAnmeldeworkflow: boolean;\r\n brandingBytes: string;\r\n brandigType: string;\r\n extraLinks: Array;\r\n customTexts: ICustomTexts;\r\n showMobileQR: boolean;\r\n jitsiDomain: string;\r\n jitsiOptions: any;\r\n impressum: IImpressum;\r\n anmeldeContexts: Array;\r\n countDaysToVisualize: number;\r\n extendedPhysicians: boolean;\r\n allowChat: boolean;\r\n googleAnalyticsID?: string;\r\n tileTexts?: any;\r\n smtpUser?: string;\r\n mailFromAddress?: string;\r\n possibleCountries: string;\r\n availableLanguages: string;\r\n disableTerms: boolean;\r\n }\r\n | { type: 'SET_FULLSCREEN_MODE'; fullscreenMode: boolean };\r\n\r\nexport const appPropsReducer = (state: InitialAppPropsType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETAPPPROPS':\r\n return {\r\n ...state,\r\n appPropsSet: true,\r\n Appointment: {\r\n skipBehandlersuche: action.Appointment.skipBehandlersuche,\r\n },\r\n AppointmentSummary: {\r\n behandler:\r\n action.AppointmentSummary.behandler === null\r\n ? state.AppointmentSummary.behandler\r\n : action.AppointmentSummary.behandler,\r\n fach:\r\n action.AppointmentSummary.fach === null\r\n ? state.AppointmentSummary.fach\r\n : action.AppointmentSummary.fach,\r\n pflege:\r\n action.AppointmentSummary.pflege === null\r\n ? state.AppointmentSummary.pflege\r\n : action.AppointmentSummary.pflege,\r\n raum:\r\n action.AppointmentSummary.raum === null\r\n ? state.AppointmentSummary.raum\r\n : action.AppointmentSummary.raum,\r\n standort:\r\n action.AppointmentSummary.standort === null\r\n ? state.AppointmentSummary.standort\r\n : action.AppointmentSummary.standort,\r\n },\r\n RegistrationMandFields: {\r\n birthDate:\r\n action.RegistrationMandFields.birthDate === null\r\n ? state.RegistrationMandFields.birthDate\r\n : action.RegistrationMandFields.birthDate,\r\n city:\r\n action.RegistrationMandFields.city === null\r\n ? state.RegistrationMandFields.city\r\n : action.RegistrationMandFields.city,\r\n country:\r\n action.RegistrationMandFields.country === null\r\n ? state.RegistrationMandFields.country\r\n : action.RegistrationMandFields.country,\r\n email:\r\n action.RegistrationMandFields.email === null\r\n ? state.RegistrationMandFields.email\r\n : action.RegistrationMandFields.email,\r\n firstName:\r\n action.RegistrationMandFields.firstName === null\r\n ? state.RegistrationMandFields.firstName\r\n : action.RegistrationMandFields.firstName,\r\n gender:\r\n action.RegistrationMandFields.gender === null\r\n ? state.RegistrationMandFields.gender\r\n : action.RegistrationMandFields.gender,\r\n lastName:\r\n action.RegistrationMandFields.lastName === null\r\n ? state.RegistrationMandFields.lastName\r\n : action.RegistrationMandFields.lastName,\r\n phone:\r\n action.RegistrationMandFields.phone === null\r\n ? state.RegistrationMandFields.phone\r\n : action.RegistrationMandFields.phone,\r\n street:\r\n action.RegistrationMandFields.street === null\r\n ? state.RegistrationMandFields.street\r\n : action.RegistrationMandFields.street,\r\n zip:\r\n action.RegistrationMandFields.zip === null\r\n ? state.RegistrationMandFields.zip\r\n : action.RegistrationMandFields.zip,\r\n insuranceNr:\r\n action.RegistrationMandFields.insuranceNr === null\r\n ? state.RegistrationMandFields.insuranceNr\r\n : action.RegistrationMandFields.insuranceNr,\r\n insuranceName:\r\n action.RegistrationMandFields.insuranceName === null\r\n ? state.RegistrationMandFields.insuranceName\r\n : action.RegistrationMandFields.insuranceName,\r\n language:\r\n action.RegistrationMandFields.language === null\r\n ? state.RegistrationMandFields.language\r\n : action.RegistrationMandFields.language,\r\n mobilePhone:\r\n action.RegistrationMandFields.mobilePhone === null\r\n ? state.RegistrationMandFields.mobilePhone\r\n : action.RegistrationMandFields.mobilePhone,\r\n academicTitle:\r\n action.RegistrationMandFields.academicTitle === null\r\n ? state.RegistrationMandFields.academicTitle\r\n : action.RegistrationMandFields.academicTitle,\r\n privacyTerms:\r\n action.RegistrationMandFields.privacyTerms === null\r\n ? state.RegistrationMandFields.privacyTerms\r\n : action.RegistrationMandFields.privacyTerms,\r\n },\r\n RegistrationVisibleFields: {\r\n birthDate:\r\n action.RegistrationVisibleFields.birthDate === null\r\n ? state.RegistrationVisibleFields.birthDate\r\n : action.RegistrationVisibleFields.birthDate,\r\n city:\r\n action.RegistrationVisibleFields.city === null\r\n ? state.RegistrationVisibleFields.city\r\n : action.RegistrationVisibleFields.city,\r\n country:\r\n action.RegistrationVisibleFields.country === null\r\n ? state.RegistrationVisibleFields.country\r\n : action.RegistrationVisibleFields.country,\r\n email:\r\n action.RegistrationVisibleFields.email === null\r\n ? state.RegistrationVisibleFields.email\r\n : action.RegistrationVisibleFields.email,\r\n firstName:\r\n action.RegistrationVisibleFields.firstName === null\r\n ? state.RegistrationVisibleFields.firstName\r\n : action.RegistrationVisibleFields.firstName,\r\n gender:\r\n action.RegistrationVisibleFields.gender === null\r\n ? state.RegistrationVisibleFields.gender\r\n : action.RegistrationVisibleFields.gender,\r\n lastName:\r\n action.RegistrationVisibleFields.lastName === null\r\n ? state.RegistrationVisibleFields.lastName\r\n : action.RegistrationVisibleFields.lastName,\r\n phone:\r\n action.RegistrationVisibleFields.phone === null\r\n ? state.RegistrationVisibleFields.phone\r\n : action.RegistrationVisibleFields.phone,\r\n street:\r\n action.RegistrationVisibleFields.street === null\r\n ? state.RegistrationVisibleFields.street\r\n : action.RegistrationVisibleFields.street,\r\n zip:\r\n action.RegistrationVisibleFields.zip === null\r\n ? state.RegistrationVisibleFields.zip\r\n : action.RegistrationVisibleFields.zip,\r\n insuranceNr:\r\n action.RegistrationVisibleFields.insuranceNr === null\r\n ? state.RegistrationVisibleFields.insuranceNr\r\n : action.RegistrationVisibleFields.insuranceNr,\r\n insuranceName:\r\n action.RegistrationVisibleFields.insuranceName === null\r\n ? state.RegistrationVisibleFields.insuranceName\r\n : action.RegistrationVisibleFields.insuranceName,\r\n language:\r\n action.RegistrationVisibleFields.language === null\r\n ? state.RegistrationVisibleFields.language\r\n : action.RegistrationVisibleFields.language,\r\n mobilePhone:\r\n action.RegistrationVisibleFields.mobilePhone === null\r\n ? state.RegistrationVisibleFields.mobilePhone\r\n : action.RegistrationVisibleFields.mobilePhone,\r\n academicTitle:\r\n action.RegistrationVisibleFields.academicTitle === null\r\n ? state.RegistrationVisibleFields.academicTitle\r\n : action.RegistrationVisibleFields.academicTitle,\r\n privacyTerms:\r\n action.RegistrationVisibleFields.privacyTerms === null\r\n ? state.RegistrationVisibleFields.privacyTerms\r\n : action.RegistrationVisibleFields.privacyTerms,\r\n },\r\n RegistrationReadOnlyFields: {\r\n birthDate:\r\n action.RegistrationReadOnlyFields.birthDate === null\r\n ? state.RegistrationReadOnlyFields.birthDate\r\n : action.RegistrationReadOnlyFields.birthDate,\r\n city:\r\n action.RegistrationReadOnlyFields.city === null\r\n ? state.RegistrationReadOnlyFields.city\r\n : action.RegistrationReadOnlyFields.city,\r\n country:\r\n action.RegistrationReadOnlyFields.country === null\r\n ? state.RegistrationReadOnlyFields.country\r\n : action.RegistrationReadOnlyFields.country,\r\n email:\r\n action.RegistrationReadOnlyFields.email === null\r\n ? state.RegistrationReadOnlyFields.email\r\n : action.RegistrationReadOnlyFields.email,\r\n firstName:\r\n action.RegistrationReadOnlyFields.firstName === null\r\n ? state.RegistrationReadOnlyFields.firstName\r\n : action.RegistrationReadOnlyFields.firstName,\r\n gender:\r\n action.RegistrationReadOnlyFields.gender === null\r\n ? state.RegistrationReadOnlyFields.gender\r\n : action.RegistrationReadOnlyFields.gender,\r\n lastName:\r\n action.RegistrationReadOnlyFields.lastName === null\r\n ? state.RegistrationReadOnlyFields.lastName\r\n : action.RegistrationReadOnlyFields.lastName,\r\n phone:\r\n action.RegistrationReadOnlyFields.phone === null\r\n ? state.RegistrationReadOnlyFields.phone\r\n : action.RegistrationReadOnlyFields.phone,\r\n street:\r\n action.RegistrationReadOnlyFields.street === null\r\n ? state.RegistrationReadOnlyFields.street\r\n : action.RegistrationReadOnlyFields.street,\r\n zip:\r\n action.RegistrationReadOnlyFields.zip === null\r\n ? state.RegistrationReadOnlyFields.zip\r\n : action.RegistrationReadOnlyFields.zip,\r\n insuranceNr:\r\n action.RegistrationReadOnlyFields.insuranceNr === null\r\n ? state.RegistrationReadOnlyFields.insuranceNr\r\n : action.RegistrationReadOnlyFields.insuranceNr,\r\n insuranceName:\r\n action.RegistrationReadOnlyFields.insuranceName === null\r\n ? state.RegistrationReadOnlyFields.insuranceName\r\n : action.RegistrationReadOnlyFields.insuranceName,\r\n language:\r\n action.RegistrationReadOnlyFields.language === null\r\n ? state.RegistrationReadOnlyFields.language\r\n : action.RegistrationReadOnlyFields.language,\r\n mobilePhone:\r\n action.RegistrationReadOnlyFields.mobilePhone === null\r\n ? state.RegistrationReadOnlyFields.mobilePhone\r\n : action.RegistrationReadOnlyFields.mobilePhone,\r\n academicTitle:\r\n action.RegistrationReadOnlyFields.academicTitle === null\r\n ? state.RegistrationReadOnlyFields.academicTitle\r\n : action.RegistrationReadOnlyFields.academicTitle,\r\n privacyTerms:\r\n action.RegistrationReadOnlyFields.privacyTerms === null\r\n ? state.RegistrationReadOnlyFields.privacyTerms\r\n : action.RegistrationReadOnlyFields.privacyTerms,\r\n },\r\n allowAccountAfterAppointment: action.allowAccountAfterAppointment,\r\n allowAccountCreateDirect: action.allowAccountCreateDirect,\r\n allowAppointments: action.allowAppointments,\r\n allowAppointmentsEinweiser: action.allowAppointmentsEinweiser,\r\n allowAppointmentsWithoutLogin: action.allowAppointmentsWithoutLogin,\r\n allowDirectAppointments: action.allowDirectAppointments,\r\n allowDirectAppointmentsWithoutLogin: action.allowDirectAppointmentsWithoutLogin,\r\n allowLogin: action.allowLogin,\r\n allowVideo: action.allowVideo,\r\n allowVideoWithoutLogin: action.allowVideoWithoutLogin,\r\n allowAccountInAnmeldeworkflow: action.allowAccountInAnmeldeworkflow,\r\n brandingBytes: action.brandingBytes,\r\n brandigType: action.brandigType,\r\n extraLinks: action.extraLinks,\r\n customTexts: action.customTexts,\r\n showMobileQR: action.showMobileQR,\r\n jitsiDomain: action.jitsiDomain,\r\n jitsiOptions: action.jitsiOptions,\r\n impressum: action.impressum,\r\n anmeldeContexts: action.anmeldeContexts,\r\n countDaysToVisualize: action.countDaysToVisualize,\r\n extendedPhysicians: action.extendedPhysicians,\r\n allowChat: action.allowChat,\r\n googleAnalyticsID: action.googleAnalyticsID,\r\n tileTexts: action.tileTexts,\r\n smtpUser: action.smtpUser,\r\n mailFromAddress: action.mailFromAddress,\r\n possibleCountries: action.possibleCountries,\r\n availableLanguages: action.availableLanguages,\r\n disableTerms: action.disableTerms,\r\n };\r\n case 'SET_FULLSCREEN_MODE':\r\n return {\r\n ...state,\r\n fullscreenMode: action.fullscreenMode,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { IURLToCallResponse } from '../container/Splashscreen/CheckInSplashscreen';\r\nimport { InitialCheckInType } from './checkInContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETCHECKINDATA';\r\n urlToCallResponse: IURLToCallResponse;\r\n key: string;\r\n reason: string;\r\n requesttype: string;\r\n wpName: string;\r\n userId?: string;\r\n t0?: string;\r\n otp?: string;\r\n }\r\n | {\r\n type: 'RESETALL';\r\n };\r\n\r\nexport const checkinReducer = (state: InitialCheckInType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETCHECKINDATA':\r\n return {\r\n ...state,\r\n urlToCallResponse: {\r\n state: action.urlToCallResponse.state,\r\n url: action.urlToCallResponse.url,\r\n eGK: action.urlToCallResponse.eGK,\r\n kvBarcode: action.urlToCallResponse.kvBarcode,\r\n birthday: action.urlToCallResponse.birthday,\r\n city: action.urlToCallResponse.city,\r\n country: action.urlToCallResponse.country,\r\n firstName: action.urlToCallResponse.firstName,\r\n gender: action.urlToCallResponse.gender,\r\n street: action.urlToCallResponse.street,\r\n houseNumber: action.urlToCallResponse.houseNumber,\r\n nameLast: action.urlToCallResponse.nameLast,\r\n zip: action.urlToCallResponse.zip,\r\n insuranceNr: action.urlToCallResponse.insuranceNr,\r\n insuranceName: action.urlToCallResponse.insuranceName,\r\n language: action.urlToCallResponse.language,\r\n },\r\n key: action.key,\r\n reason: action.reason,\r\n requesttype: action.type,\r\n wpName: action.wpName,\r\n userId: action.userId ? action.userId : '',\r\n t0: action.t0 ? action.t0 : '',\r\n otp: action.otp ? action.otp : '',\r\n };\r\n case 'RESETALL':\r\n return {\r\n urlToCallResponse: {\r\n state: '',\r\n url: '',\r\n eGK: '',\r\n kvBarcode: '',\r\n birthday: '',\r\n city: '',\r\n country: '',\r\n firstName: '',\r\n gender: '',\r\n street: '',\r\n houseNumber: '',\r\n nameLast: '',\r\n zip: '',\r\n insuranceNr: '',\r\n insuranceName: '',\r\n language: '',\r\n },\r\n key: '',\r\n reason: '',\r\n requesttype: '',\r\n wpName: '',\r\n userId: '',\r\n t0: '',\r\n otp: '',\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { InitialDokumenteType } from '../context/dokumenteContext';\r\nimport { IFile } from '../utils/fileUtils';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETFILEDATA';\r\n filedata: IFile;\r\n }\r\n | {\r\n type: 'SETUPLOADED';\r\n filedata: IFile;\r\n }\r\n | {\r\n type: 'RESETFILEDATA';\r\n filedata: IFile;\r\n };\r\n\r\nexport const dokumenteReducer = (state: InitialDokumenteType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETFILEDATA':\r\n return {\r\n ...state,\r\n filedata: {\r\n name: action.filedata.name,\r\n lastModified: action.filedata.lastModified,\r\n lastModifiedDate: action.filedata.lastModifiedDate,\r\n size: action.filedata.size,\r\n type: action.filedata.type,\r\n data: action.filedata.data,\r\n title: action.filedata.title,\r\n conclusion: action.filedata.conclusion,\r\n uploaded: action.filedata.uploaded,\r\n },\r\n };\r\n case 'SETUPLOADED':\r\n return {\r\n ...state,\r\n filedata: {\r\n ...state.filedata,\r\n uploaded: true,\r\n },\r\n };\r\n case 'RESETFILEDATA':\r\n return {\r\n ...state,\r\n filedata: {\r\n name: '',\r\n lastModified: 0,\r\n lastModifiedDate: new Date(),\r\n size: 0,\r\n type: '',\r\n data: '',\r\n title: '',\r\n conclusion: '',\r\n uploaded: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { InitialExecuteRuleType } from './executeRuleContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETRULEPROPERTIES';\r\n ruleName: string;\r\n ruleParam: string;\r\n persInfo: string;\r\n }\r\n | {\r\n type: 'RESETRULEPROPERTIES';\r\n };\r\n\r\nexport const executeRuleReducer = (state: InitialExecuteRuleType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETRULEPROPERTIES':\r\n return {\r\n ...state,\r\n ruleName: action.ruleName,\r\n ruleParam: action.ruleParam,\r\n persInfo: action.persInfo,\r\n };\r\n case 'RESETRULEPROPERTIES':\r\n return {\r\n ...state,\r\n ruleName: '',\r\n ruleParam: '',\r\n persInfo: '',\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { InitialIFrameType } from './iframeContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETIFRAME';\r\n src: string;\r\n name: string;\r\n callingPage: string;\r\n }\r\n | {\r\n type: 'RESETIFRAME';\r\n src: string;\r\n name: string;\r\n callingPage: string;\r\n };\r\n\r\nexport const iframeReducer = (state: InitialIFrameType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETIFRAME':\r\n return {\r\n ...state,\r\n src: action.src,\r\n name: action.name,\r\n callingPage: action.callingPage,\r\n };\r\n case 'RESETIFRAME':\r\n return {\r\n ...state,\r\n src: '',\r\n name: '',\r\n callingPage: '',\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n IActivePatients,\r\n IActiveStudies,\r\n ICodeName,\r\n IDepartments,\r\n ILanguageData,\r\n ILastPatOpened,\r\n ILink,\r\n InitialLoginType,\r\n IPossibleMacros,\r\n IPossibleStudies,\r\n ISecurityItems,\r\n} from '../context/loginContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'LOGIN';\r\n isLoggedIn: boolean;\r\n userId: string;\r\n practitionerRoleId: string;\r\n userName: string;\r\n sessionId: string;\r\n securityItems: ISecurityItems;\r\n iceServers: Array;\r\n possibleMacros: Array;\r\n departments: IDepartments[];\r\n activeStudies: Array;\r\n activeUserId: string;\r\n activeProfile: string;\r\n termsHTML: string;\r\n privacyHTML: string;\r\n extraLinks: Array;\r\n possibleStudies: Array;\r\n addConsignationsToAsk: Array;\r\n encounterId: string;\r\n encounterTitle: string;\r\n activeSidebarItem: string;\r\n activePatients: Array;\r\n activePatient: string;\r\n gdt: {\r\n id: string;\r\n };\r\n lastPatOpened: Array;\r\n anmeldeContexts: Array;\r\n activeLanguage: ILanguageData;\r\n }\r\n | {\r\n type: 'LOGOUT';\r\n }\r\n | {\r\n type: 'SETACTIVEUSERID';\r\n activeUserId: string;\r\n }\r\n | {\r\n type: 'SETACTIVEPROFILE';\r\n activeProfile: string;\r\n }\r\n | {\r\n type: 'SETACTIVEPATIENT';\r\n activePatient: string;\r\n }\r\n | {\r\n type: 'SETSECURITYITEMS';\r\n securityItems: ISecurityItems;\r\n }\r\n | {\r\n type: 'SETSECURITYITEMSSTUDY';\r\n securityItemsStudy: ISecurityItems;\r\n }\r\n | {\r\n type: 'SETTERMSHTML';\r\n termsHTML: any;\r\n }\r\n | {\r\n type: 'SETPRIVACYHTML';\r\n privacyHTML: any;\r\n }\r\n | {\r\n type: 'SETREDIRECTUSER';\r\n redirectUser: string;\r\n redirectPwd: string;\r\n }\r\n | {\r\n type: 'RESETREDIRECTUSER';\r\n redirectUser: string;\r\n redirectPwd: string;\r\n }\r\n | {\r\n type: 'SETOFINITPAGEDONE';\r\n setOfInitPageDone: boolean;\r\n }\r\n | {\r\n type: 'SETCHECKINAUTH';\r\n userId: string;\r\n activeUserId: string;\r\n sessionId: string;\r\n }\r\n | {\r\n type: 'SETFINALSECURITYITEMSORDER';\r\n finalSecurityItemsOrder: string[];\r\n }\r\n | {\r\n type: 'SETDEPARTMENTS';\r\n departments: IDepartments[];\r\n }\r\n | {\r\n type: 'SETENCOUNTER';\r\n encounterId: string;\r\n encounterTitle: string;\r\n }\r\n | {\r\n type: 'SETACTIVESIDEBARITEM';\r\n activeSidebarItem: string;\r\n }\r\n | {\r\n type: 'SETACTIVEPATIENTS';\r\n activePatients: IActivePatients[];\r\n }\r\n | {\r\n type: 'SETGDTDATA';\r\n gdt: {\r\n id: string;\r\n };\r\n }\r\n | {\r\n type: 'RESETGDTDATA';\r\n gdt: {\r\n id: string;\r\n };\r\n }\r\n | {\r\n type: 'SETACTIVELANGUAGE';\r\n activeLanguage: ILanguageData;\r\n };\r\n\r\nexport const loginReducer = (state: InitialLoginType, action: Action) => {\r\n switch (action.type) {\r\n case 'LOGIN':\r\n return {\r\n ...state,\r\n isLoggedIn: true,\r\n userId: action.userId,\r\n practitionerRoleId: action.practitionerRoleId,\r\n userName: action.userName,\r\n sessionId: action.sessionId,\r\n securityItems: {\r\n CHARTS: action.securityItems.CHARTS,\r\n CHARTS_WEIGHT: action.securityItems.CHARTS_WEIGHT,\r\n CHARTS_FATMASS: action.securityItems.CHARTS_FATMASS,\r\n CHARTS_BLOODSUGAR: action.securityItems.CHARTS_BLOODSUGAR,\r\n CHARTS_FLI: action.securityItems.CHARTS_FLI,\r\n CHARTS_SAM: action.securityItems.CHARTS_SAM,\r\n CHARTS_ACTIVITY: action.securityItems.CHARTS_ACTIVITY,\r\n TABLE_VAL: action.securityItems.TABLE_VAL,\r\n PATLIST: action.securityItems.PATLIST,\r\n DOKUMENT: action.securityItems.DOKUMENT,\r\n FOTOS: action.securityItems.FOTOS,\r\n FRAGEBOGEN: action.securityItems.FRAGEBOGEN,\r\n MEDIKATION: action.securityItems.MEDIKATION,\r\n TAGESPLAN: action.securityItems.TAGESPLAN,\r\n TERMINE: action.securityItems.TERMINE,\r\n VIDEO: action.securityItems.VIDEO,\r\n JOURNEY: action.securityItems.JOURNEY,\r\n TODO: action.securityItems.TODO,\r\n TAB_ORDER: action.securityItems.TAB_ORDER,\r\n },\r\n iceServers: action.iceServers,\r\n possibleMacros: action.possibleMacros,\r\n departments: action.departments,\r\n activeStudies: action.activeStudies,\r\n activeUserId: action.activeUserId,\r\n activeProfile: action.activeProfile,\r\n termsHTML: action.termsHTML,\r\n privacyHTML: action.privacyHTML,\r\n extraLinks: action.extraLinks,\r\n possibleStudies: action.possibleStudies,\r\n addConsignationsToAsk: action.addConsignationsToAsk,\r\n encounterId: action.encounterId,\r\n encounterTitle: action.encounterTitle,\r\n activeSidebarItem: action.activeSidebarItem,\r\n activePatients: action.activePatients ? action.activePatients : [],\r\n activePatient: action.activePatient,\r\n lastPatOpened: action.lastPatOpened ? action.lastPatOpened : [],\r\n anmeldeContexts: action.anmeldeContexts ? action.anmeldeContexts : [],\r\n };\r\n case 'LOGOUT':\r\n return {\r\n ...state,\r\n isLoggedIn: false,\r\n setOfInitPageDone: false,\r\n userId: '',\r\n practitionerRoleId: '',\r\n userName: '',\r\n sessionId: '',\r\n securityItems: {\r\n CHARTS: false,\r\n CHARTS_WEIGHT: false,\r\n CHARTS_FATMASS: false,\r\n CHARTS_BLOODSUGAR: false,\r\n CHARTS_FLI: false,\r\n CHARTS_SAM: false,\r\n CHARTS_ACTIVITY: false,\r\n TABLE_VAL: false,\r\n PATLIST: false,\r\n DOKUMENT: false,\r\n FOTOS: false,\r\n FRAGEBOGEN: false,\r\n MEDIKATION: false,\r\n TAGESPLAN: false,\r\n TERMINE: false,\r\n VIDEO: false,\r\n JOURNEY: false,\r\n TODO: [],\r\n TAB_ORDER: '',\r\n },\r\n securityItemsStudy: {\r\n CHARTS: false,\r\n CHARTS_WEIGHT: false,\r\n CHARTS_FATMASS: false,\r\n CHARTS_BLOODSUGAR: false,\r\n CHARTS_FLI: false,\r\n CHARTS_SAM: false,\r\n CHARTS_ACTIVITY: false,\r\n TABLE_VAL: false,\r\n PATLIST: false,\r\n DOKUMENT: false,\r\n FOTOS: false,\r\n FRAGEBOGEN: false,\r\n MEDIKATION: false,\r\n TAGESPLAN: false,\r\n TERMINE: false,\r\n VIDEO: false,\r\n JOURNEY: false,\r\n TODO: [],\r\n TAB_ORDER: '',\r\n },\r\n finalSecurityItemsOrder: [],\r\n iceServers: [],\r\n possibleMacros: [],\r\n departments: [],\r\n activeStudies: [],\r\n activeUserId: '',\r\n activeProfile: '',\r\n termsHTML: '',\r\n privacyHTML: '',\r\n extraLinks: [],\r\n possibleStudies: [],\r\n addConsignationsToAsk: [],\r\n encounterId: '',\r\n encounterTitle: '',\r\n activeSidebarItem: '',\r\n activePatients: [],\r\n activePatient: '',\r\n gdt: {\r\n id: '',\r\n },\r\n lastPatOpened: [],\r\n anmeldeContexts: [],\r\n };\r\n case 'SETACTIVEUSERID':\r\n return {\r\n ...state,\r\n activeUserId: action.activeUserId,\r\n };\r\n case 'SETSECURITYITEMS':\r\n return {\r\n ...state,\r\n securityItems: {\r\n CHARTS: action.securityItems.CHARTS,\r\n CHARTS_WEIGHT: action.securityItems.CHARTS_WEIGHT,\r\n CHARTS_FATMASS: action.securityItems.CHARTS_FATMASS,\r\n CHARTS_BLOODSUGAR: action.securityItems.CHARTS_BLOODSUGAR,\r\n CHARTS_FLI: action.securityItems.CHARTS_FLI,\r\n CHARTS_SAM: action.securityItems.CHARTS_SAM,\r\n CHARTS_ACTIVITY: action.securityItems.CHARTS_ACTIVITY,\r\n TABLE_VAL: action.securityItems.TABLE_VAL,\r\n PATLIST: action.securityItems.PATLIST,\r\n DOKUMENT: action.securityItems.DOKUMENT,\r\n FOTOS: action.securityItems.FOTOS,\r\n FRAGEBOGEN: action.securityItems.FRAGEBOGEN,\r\n MEDIKATION: action.securityItems.MEDIKATION,\r\n TAGESPLAN: action.securityItems.TAGESPLAN,\r\n TERMINE: action.securityItems.TERMINE,\r\n VIDEO: action.securityItems.VIDEO,\r\n JOURNEY: action.securityItems.JOURNEY,\r\n TODO: action.securityItems.TODO,\r\n TAB_ORDER: action.securityItems.TAB_ORDER,\r\n },\r\n };\r\n case 'SETSECURITYITEMSSTUDY':\r\n return {\r\n ...state,\r\n securityItemsStudy: {\r\n CHARTS: action.securityItemsStudy.CHARTS,\r\n CHARTS_WEIGHT: action.securityItemsStudy.CHARTS_WEIGHT,\r\n CHARTS_FATMASS: action.securityItemsStudy.CHARTS_FATMASS,\r\n CHARTS_BLOODSUGAR: action.securityItemsStudy.CHARTS_BLOODSUGAR,\r\n CHARTS_FLI: action.securityItemsStudy.CHARTS_FLI,\r\n CHARTS_SAM: action.securityItemsStudy.CHARTS_SAM,\r\n CHARTS_ACTIVITY: action.securityItemsStudy.CHARTS_ACTIVITY,\r\n TABLE_VAL: action.securityItemsStudy.TABLE_VAL,\r\n PATLIST: action.securityItemsStudy.PATLIST,\r\n DOKUMENT: action.securityItemsStudy.DOKUMENT,\r\n FOTOS: action.securityItemsStudy.FOTOS,\r\n FRAGEBOGEN: action.securityItemsStudy.FRAGEBOGEN,\r\n MEDIKATION: action.securityItemsStudy.MEDIKATION,\r\n TAGESPLAN: action.securityItemsStudy.TAGESPLAN,\r\n TERMINE: action.securityItemsStudy.TERMINE,\r\n VIDEO: action.securityItemsStudy.VIDEO,\r\n JOURNEY: action.securityItemsStudy.JOURNEY,\r\n TODO: action.securityItemsStudy.TODO,\r\n TAB_ORDER: action.securityItemsStudy.TAB_ORDER,\r\n },\r\n };\r\n case 'SETACTIVEPROFILE':\r\n return {\r\n ...state,\r\n activeProfile: action.activeProfile,\r\n };\r\n case 'SETTERMSHTML':\r\n return {\r\n ...state,\r\n termsHTML: action.termsHTML,\r\n };\r\n case 'SETPRIVACYHTML':\r\n return {\r\n ...state,\r\n privacyHTML: action.privacyHTML,\r\n };\r\n case 'SETREDIRECTUSER':\r\n return {\r\n ...state,\r\n redirectUser: action.redirectUser,\r\n redirectPwd: action.redirectPwd,\r\n };\r\n case 'RESETREDIRECTUSER':\r\n return {\r\n ...state,\r\n redirectUser: '',\r\n redirectPwd: '',\r\n };\r\n case 'SETOFINITPAGEDONE':\r\n return {\r\n ...state,\r\n setOfInitPageDone: action.setOfInitPageDone,\r\n };\r\n case 'SETCHECKINAUTH':\r\n return {\r\n ...state,\r\n userId: action.userId,\r\n activeUserId: action.activeUserId,\r\n sessionId: action.sessionId,\r\n };\r\n case 'SETFINALSECURITYITEMSORDER':\r\n return {\r\n ...state,\r\n finalSecurityItemsOrder: action.finalSecurityItemsOrder,\r\n };\r\n case 'SETDEPARTMENTS':\r\n return {\r\n ...state,\r\n departments: action.departments,\r\n };\r\n case 'SETENCOUNTER':\r\n return {\r\n ...state,\r\n encounterId: action.encounterId,\r\n encounterTitle: action.encounterTitle,\r\n };\r\n case 'SETACTIVESIDEBARITEM':\r\n return {\r\n ...state,\r\n activeSidebarItem: action.activeSidebarItem,\r\n };\r\n case 'SETACTIVEPATIENTS':\r\n return {\r\n ...state,\r\n activePatients: action.activePatients,\r\n };\r\n case 'SETACTIVEPATIENT':\r\n return {\r\n ...state,\r\n activePatient: action.activePatient,\r\n };\r\n case 'SETGDTDATA':\r\n return {\r\n ...state,\r\n gdt: {\r\n id: action.gdt.id,\r\n },\r\n };\r\n case 'RESETGDTDATA':\r\n return {\r\n ...state,\r\n gdt: {\r\n id: '',\r\n },\r\n };\r\n case 'SETACTIVELANGUAGE':\r\n return {\r\n ...state,\r\n activeLanguage: action.activeLanguage,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { InitialQuestionnaireType, IQAnswers, IQBody, IQData, IQResource } from '../context/questionnaireContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETQDATA';\r\n qData: IQData;\r\n }\r\n | {\r\n type: 'SETSELECTEDQUESTIONNAIRE';\r\n selectedQuestionnaire: {\r\n resource: IQResource;\r\n };\r\n }\r\n | {\r\n type: 'SETSELECTEDANSWERS';\r\n selectedAnswers: {\r\n item: IQAnswers[];\r\n };\r\n }\r\n | {\r\n type: 'SETQUESTIONNAIREBODY';\r\n questionnaireBody: {\r\n data: IQBody;\r\n };\r\n }\r\n | {\r\n type: 'SETEXTERNALREQUESTDATA';\r\n isExternalRequest: boolean;\r\n externalUserId: string;\r\n externalOTP: string;\r\n externalT0: string;\r\n externalBaseURL: string;\r\n }\r\n | {\r\n type: 'SETCALLINGPAGE';\r\n callingPage: string;\r\n }\r\n | {\r\n type: 'SETENCOUNTERID';\r\n encounterId: string;\r\n }\r\n | {\r\n type: 'RESETQUESTIONNAIRE';\r\n };\r\n\r\nexport const questionnaireReducer = (state: InitialQuestionnaireType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETQDATA':\r\n return {\r\n ...state,\r\n qData: action.qData,\r\n };\r\n\r\n case 'SETSELECTEDQUESTIONNAIRE':\r\n return {\r\n ...state,\r\n selectedQuestionnaire: {\r\n resource: action.selectedQuestionnaire.resource,\r\n },\r\n };\r\n\r\n case 'SETSELECTEDANSWERS':\r\n return {\r\n ...state,\r\n selectedAnswers: {\r\n item: action.selectedAnswers.item,\r\n },\r\n };\r\n\r\n case 'SETQUESTIONNAIREBODY':\r\n return {\r\n ...state,\r\n questionnaireBody: {\r\n data: action.questionnaireBody.data,\r\n },\r\n };\r\n\r\n case 'SETEXTERNALREQUESTDATA':\r\n return {\r\n ...state,\r\n isExternalRequest: action.isExternalRequest,\r\n externalUserId: action.externalUserId,\r\n externalOTP: action.externalOTP,\r\n externalT0: action.externalT0,\r\n externalBaseURL: action.externalBaseURL,\r\n };\r\n\r\n case 'SETCALLINGPAGE':\r\n return {\r\n ...state,\r\n callingPage: action.callingPage,\r\n };\r\n case 'SETENCOUNTERID':\r\n return {\r\n ...state,\r\n encounterId: action.encounterId,\r\n };\r\n case 'RESETQUESTIONNAIRE':\r\n return {\r\n ...state,\r\n qData: {\r\n entry: [\r\n {\r\n resource: [\r\n {\r\n id: '',\r\n item: [\r\n {\r\n item: [\r\n {\r\n linkId: '',\r\n text: '',\r\n type: '',\r\n },\r\n ],\r\n linkId: '',\r\n text: '',\r\n type: '',\r\n },\r\n ],\r\n name: '',\r\n resourceType: '',\r\n title: '',\r\n extension: [\r\n {\r\n url: '',\r\n valueString: '',\r\n valueReference: {\r\n reference: '',\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n id: '',\r\n resourceType: '',\r\n type: '',\r\n },\r\n selectedQuestionnaire: {\r\n resource: {\r\n id: '',\r\n item: [],\r\n name: '',\r\n resourceType: '',\r\n title: '',\r\n extension: [\r\n {\r\n url: '',\r\n valueString: '',\r\n valueReference: {\r\n reference: '',\r\n },\r\n },\r\n ],\r\n },\r\n },\r\n selectedAnswers: {\r\n item: [],\r\n },\r\n questionnaireBody: {\r\n data: {\r\n authored: '',\r\n context: {\r\n reference: '',\r\n },\r\n id: '',\r\n identifier: {\r\n system: '',\r\n value: '',\r\n },\r\n item: [],\r\n meta: {\r\n versionId: '',\r\n lastUpdated: '',\r\n },\r\n questionnaire: {\r\n reference: '',\r\n },\r\n resourceType: '',\r\n source: {\r\n reference: '',\r\n },\r\n status: '',\r\n subject: {\r\n reference: '',\r\n },\r\n },\r\n },\r\n isExternalRequest: false,\r\n externalUserId: '',\r\n externalOTP: '',\r\n externalT0: '',\r\n externalBaseURL: '',\r\n callingPage: '',\r\n encounterId: '',\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { InitialSigPadType, ISigData, ISignaturePadDevice, ISignotecDeviceActions } from './sigpadContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETDEVICEDATA';\r\n deviceData: ISignaturePadDevice;\r\n }\r\n | {\r\n type: 'SETSIGDATA';\r\n sigData: ISigData;\r\n }\r\n | {\r\n type: 'SETCANVAS';\r\n canvasRef: any;\r\n }\r\n | {\r\n type: 'SETDEVICEACTION_SEND';\r\n deviceActions: ISignotecDeviceActions;\r\n }\r\n | {\r\n type: 'SETDEVICEACTION_CANCEL';\r\n deviceActions: ISignotecDeviceActions;\r\n }\r\n | {\r\n type: 'RESETDEVICEDATA';\r\n }\r\n | {\r\n type: 'RESETSIGDATA';\r\n }\r\n | {\r\n type: 'RESETDEVICEACTIONS';\r\n }\r\n | {\r\n type: 'RESETALL';\r\n };\r\n\r\nexport const sigpadReducer = (state: InitialSigPadType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETDEVICEDATA':\r\n return {\r\n ...state,\r\n deviceData: {\r\n deviceName: action.deviceData.deviceName,\r\n canStoreEncryptKey: action.deviceData.canStoreEncryptKey,\r\n firmwareVersion: action.deviceData.firmwareVersion,\r\n serialNumber: action.deviceData.serialNumber,\r\n supportsRSA: action.deviceData.supportsRSA,\r\n padConnectionType: action.deviceData.padConnectionType,\r\n padIndex: action.deviceData.padIndex,\r\n displayHeight: action.deviceData.displayHeight,\r\n displayWidth: action.deviceData.displayWidth,\r\n sampleRate: action.deviceData.sampleRate,\r\n scaleFactorX: action.deviceData.scaleFactorX,\r\n scaleFactorY: action.deviceData.scaleFactorY,\r\n xResolution: action.deviceData.xResolution,\r\n yResolution: action.deviceData.yResolution,\r\n },\r\n };\r\n case 'SETSIGDATA':\r\n return {\r\n ...state,\r\n sigData: {\r\n certId: action.sigData.certId,\r\n pictureData: action.sigData.pictureData,\r\n rsaSignature: action.sigData.rsaSignature,\r\n signData: action.sigData.signData,\r\n signingCert: action.sigData.signingCert,\r\n },\r\n };\r\n case 'SETCANVAS':\r\n return {\r\n ...state,\r\n canvasRef: action.canvasRef,\r\n };\r\n case 'SETDEVICEACTION_SEND':\r\n return {\r\n ...state,\r\n deviceActions: {\r\n ...state.deviceActions,\r\n sendClicked: action.deviceActions.sendClicked,\r\n },\r\n };\r\n case 'SETDEVICEACTION_CANCEL':\r\n return {\r\n ...state,\r\n deviceActions: {\r\n ...state.deviceActions,\r\n cancelClicked: action.deviceActions.cancelClicked,\r\n },\r\n };\r\n case 'RESETDEVICEDATA':\r\n return {\r\n ...state,\r\n deviceData: {\r\n deviceName: '',\r\n canStoreEncryptKey: false,\r\n firmwareVersion: '',\r\n serialNumber: '',\r\n supportsRSA: false,\r\n padConnectionType: '',\r\n padIndex: 0,\r\n displayHeight: 0,\r\n displayWidth: 0,\r\n sampleRate: 0,\r\n scaleFactorX: 0,\r\n scaleFactorY: 0,\r\n xResolution: 0,\r\n yResolution: 0,\r\n },\r\n };\r\n case 'RESETSIGDATA':\r\n return {\r\n ...state,\r\n sigData: {\r\n certId: '',\r\n pictureData: '',\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n },\r\n };\r\n case 'RESETDEVICEACTIONS':\r\n return {\r\n ...state,\r\n deviceActions: {\r\n sendClicked: false,\r\n cancelClicked: false,\r\n },\r\n };\r\n case 'RESETALL':\r\n return {\r\n deviceData: {\r\n deviceName: '',\r\n canStoreEncryptKey: false,\r\n firmwareVersion: '',\r\n serialNumber: '',\r\n supportsRSA: false,\r\n padConnectionType: '',\r\n padIndex: 0,\r\n displayHeight: 0,\r\n displayWidth: 0,\r\n sampleRate: 0,\r\n scaleFactorX: 0,\r\n scaleFactorY: 0,\r\n xResolution: 0,\r\n yResolution: 0,\r\n },\r\n sigData: {\r\n certId: '',\r\n pictureData: '',\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n },\r\n deviceActions: {\r\n sendClicked: false,\r\n cancelClicked: false,\r\n },\r\n canvasRef: null,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import {\r\n IAvailableTimeslots,\r\n IHints,\r\n IHintsAnswers,\r\n InitialTerminierungType,\r\n ISelectedPhysician,\r\n ISelectedTimeslots,\r\n} from '../context/terminierungContext';\r\nimport { IPlannedStudies } from '../services/fhir/FHIRPatientResource';\r\nimport { IParticipant } from '../utils/appointmentUtils';\r\nimport { ICodeName, IDepartmentReasons, IDepartments } from './loginContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETWITHLOGIN';\r\n withLogin: boolean;\r\n }\r\n | {\r\n type: 'SETWITHCHECKIN';\r\n withCheckIn: boolean;\r\n }\r\n | {\r\n type: 'SELECTLOCATION';\r\n selectedLocation: {\r\n code: string;\r\n name: string;\r\n };\r\n }\r\n | {\r\n type: 'SELECTCATEGORY';\r\n selectedCategory: {\r\n name: string;\r\n id: number;\r\n countAPKs: number;\r\n oneMacro: boolean;\r\n macroCode: string;\r\n macroType: string;\r\n };\r\n }\r\n | {\r\n type: 'SELECTLOCATION';\r\n selectedLocation: ICodeName;\r\n }\r\n | {\r\n type: 'SELECTDEPARTMENT';\r\n selectedDepartment: IDepartments;\r\n }\r\n | {\r\n type: 'HDBOOKING';\r\n hdBooking: string;\r\n }\r\n | {\r\n type: 'SETFILTEREDREASONS';\r\n filteredReasons: IDepartmentReasons[];\r\n }\r\n | {\r\n type: 'SELECTREASON';\r\n selectedReason: IDepartmentReasons;\r\n }\r\n | {\r\n type: 'SELECTREASONHINTS';\r\n selectedReasonHints: IHintsAnswers[];\r\n }\r\n | {\r\n type: 'SELECTINSURANCE';\r\n selectedInsurance: string;\r\n }\r\n | {\r\n type: 'SELECTPHYSICIAN';\r\n selectedPhysician: ISelectedPhysician;\r\n }\r\n | {\r\n type: 'SELECTAPPOINTMENTTYPE';\r\n selectedAppointmentType: string;\r\n }\r\n | {\r\n type: 'RESETCATEGORY';\r\n }\r\n | {\r\n type: 'SETAVAILABLETIMESLOTS';\r\n availableTimeslots: IAvailableTimeslots[];\r\n }\r\n\r\n /*\r\n | {\r\n type: 'SETAVAILABLETIMESLOTS_2';\r\n availableTimeslots_2: IAvailableTimeslot[];\r\n }\r\n */\r\n | {\r\n type: 'SELECTTIMESLOT';\r\n selectedTimeslots: ISelectedTimeslots[];\r\n }\r\n | {\r\n type: 'RESETTIMESLOT';\r\n }\r\n | {\r\n type: 'TIMESLOTCLICKED';\r\n timeslotClicked: boolean;\r\n }\r\n /*\r\n | {\r\n type: 'SELECTTIMESLOT_2';\r\n selectedTimeslot_2: ITimeslot;\r\n }\r\n */\r\n | {\r\n type: 'SETRESOURCE';\r\n selectedResources: any;\r\n }\r\n /*\r\n | {\r\n type: 'SETRESOURCE_2';\r\n selectedResource_2: any;\r\n }\r\n */\r\n | {\r\n type: 'SETRENEWAPPOINTMENT';\r\n renewAppointment: boolean;\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_INSURANCENR';\r\n personalData: {\r\n insuranceNr: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_INSURANCENAME';\r\n personalData: {\r\n insuranceName: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_LANGUAGE';\r\n personalData: {\r\n language: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_FIRSTNAME';\r\n personalData: {\r\n firstName: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_LASTNAME';\r\n personalData: {\r\n lastName: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_BIRTHDAY';\r\n personalData: {\r\n birthday: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_GENDER';\r\n personalData: {\r\n gender: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_EMAIL';\r\n personalData: {\r\n email: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_TELEPHONE';\r\n personalData: {\r\n telephone: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_STREET';\r\n personalData: {\r\n street: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_HOUSENR';\r\n personalData: {\r\n housenr: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_CITY';\r\n personalData: {\r\n city: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_ZIP';\r\n personalData: {\r\n zip: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_COUNTRY';\r\n personalData: {\r\n country: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_MOBILEPHONE';\r\n personalData: {\r\n mobilePhone: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_ACADEMICTITLE';\r\n personalData: {\r\n academicTitle: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_USERNAME';\r\n personalData: {\r\n username: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PASSWORD';\r\n personalData: {\r\n password: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PROFILEPHOTO';\r\n personalData: {\r\n profilePhoto: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PLANNEDSTUDIES';\r\n personalData: {\r\n plannedStudies: IPlannedStudies[];\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA';\r\n personalData: {\r\n insuranceNr: string;\r\n firstName: string;\r\n lastName: string;\r\n birthday: string;\r\n gender: string;\r\n email: string;\r\n telephone: string;\r\n street: string;\r\n housenr: string;\r\n city: string;\r\n zip: string;\r\n country: string;\r\n eGK: string;\r\n mobilePhone: string;\r\n academicTitle: string;\r\n kvBarcode: string;\r\n state: string;\r\n profilePhoto: string;\r\n plannedStudies: IPlannedStudies[];\r\n username: string;\r\n password: string;\r\n insuranceName: string;\r\n language: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_INSURANCENR';\r\n personalDataPhysPat: {\r\n insuranceNr: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_INSURANCENAME';\r\n personalDataPhysPat: {\r\n insuranceName: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_LANGUAGE';\r\n personalDataPhysPat: {\r\n language: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_FIRSTNAME';\r\n personalDataPhysPat: {\r\n firstName: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_LASTNAME';\r\n personalDataPhysPat: {\r\n lastName: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_BIRTHDAY';\r\n personalDataPhysPat: {\r\n birthday: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_GENDER';\r\n personalDataPhysPat: {\r\n gender: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_EMAIL';\r\n personalDataPhysPat: {\r\n email: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_TELEPHONE';\r\n personalDataPhysPat: {\r\n telephone: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_STREET';\r\n personalDataPhysPat: {\r\n street: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_HOUSENR';\r\n personalDataPhysPat: {\r\n housenr: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_CITY';\r\n personalDataPhysPat: {\r\n city: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_ZIP';\r\n personalDataPhysPat: {\r\n zip: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_COUNTRY';\r\n personalDataPhysPat: {\r\n country: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_MOBILEPHONE';\r\n personalDataPhysPat: {\r\n mobilePhone: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_ACADEMICTITLE';\r\n personalDataPhysPat: {\r\n academicTitle: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_USERNAME';\r\n personalDataPhysPat: {\r\n username: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_PASSWORD';\r\n personalDataPhysPat: {\r\n password: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_PROFILEPHOTO';\r\n personalDataPhysPat: {\r\n profilePhoto: string;\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT_PLANNEDSTUDIES';\r\n personalDataPhysPat: {\r\n plannedStudies: IPlannedStudies[];\r\n };\r\n }\r\n | {\r\n type: 'SETPERSONALDATA_PHYSPAT';\r\n personalDataPhysPat: {\r\n insuranceNr: string;\r\n firstName: string;\r\n lastName: string;\r\n birthday: string;\r\n gender: string;\r\n email: string;\r\n telephone: string;\r\n street: string;\r\n housenr: string;\r\n city: string;\r\n zip: string;\r\n country: string;\r\n mobilePhone: string;\r\n academicTitle: string;\r\n eGK: string;\r\n kvBarcode: string;\r\n state: string;\r\n profilePhoto: string;\r\n plannedStudies: IPlannedStudies[];\r\n username: string;\r\n password: string;\r\n insuranceName: string;\r\n language: string;\r\n };\r\n }\r\n | {\r\n type: 'SETREMARK';\r\n remark: string;\r\n }\r\n | {\r\n type: 'SETEARLIERAPPOINTMENTWANTED';\r\n earlierAppointmentWanted: boolean;\r\n }\r\n | {\r\n type: 'SETENROLLDATA';\r\n enrollData: {\r\n ambId: string;\r\n enrollCode: string;\r\n maId: string;\r\n patNameFirst: string;\r\n patNameLast: string;\r\n scheduleTime: string;\r\n fhir: {\r\n participant: IParticipant[];\r\n resourceType: string;\r\n start: Date;\r\n end: Date;\r\n status: string;\r\n serviceType: any[];\r\n };\r\n waitNumber: string;\r\n requestFromDirectLink: boolean | undefined;\r\n remark: string;\r\n isToday: boolean | undefined;\r\n };\r\n }\r\n | {\r\n type: 'SETENROLLCODE';\r\n enrollData: {\r\n enrollCode: string;\r\n kvBarcode?: string;\r\n isToday?: boolean | undefined;\r\n };\r\n }\r\n | {\r\n type: 'SETJOURNEYDATA';\r\n journeyData: {\r\n site: string;\r\n hints: IHints[];\r\n };\r\n }\r\n | {\r\n type: 'RESETPERSONALDATA';\r\n }\r\n | {\r\n type: 'RESETPERSONALDATA_PHYSPAT';\r\n }\r\n | {\r\n type: 'RESETREMARK';\r\n }\r\n | {\r\n type: 'RESETALL';\r\n }\r\n | {\r\n type: 'RESETALL_WITHOUTPERSONALDATA';\r\n }\r\n | {\r\n type: 'RESETALL_FORPOSTPONEAPPOINTMENT';\r\n }\r\n | {\r\n type: 'CHANGEPERSONALDATA';\r\n changePersonalData: boolean;\r\n }\r\n | {\r\n type: 'CANCELEDAPPOINTMENT';\r\n canceledAppointment: boolean;\r\n }\r\n | {\r\n type: 'WORKONAPPOINTMENTNR';\r\n workOnAppointmentNr: number;\r\n }\r\n | {\r\n type: 'SETCANCELNEWAPPOINTMENTDATA';\r\n cancelNewAppointmentData: {\r\n showModal: boolean;\r\n data: any;\r\n reason: any;\r\n };\r\n }\r\n /*\r\n | {\r\n type: 'RESETAVAILABLETIMESLOTS';\r\n appointmentNr: number;\r\n }\r\n */\r\n /*\r\n | {\r\n type: 'RESETAVAILABLETIMESLOTS_2';\r\n }\r\n */\r\n /*\r\n | {\r\n type: 'RESETRESOURCE';\r\n }\r\n */\r\n /*\r\n | {\r\n type: 'RESETRESOURCE_2';\r\n }\r\n */\r\n /*\r\n | {\r\n type: 'RESETSELECTEDTIMESLOT';\r\n }\r\n */\r\n /*\r\n | {\r\n type: 'RESETSELECTEDTIMESLOT_2';\r\n }\r\n */\r\n | {\r\n type: 'RESETCANCELNEWAPPOINTMENTDATA';\r\n }\r\n | {\r\n type: 'DONTSHOWCANCELNEWAPPOINTMENTDATA';\r\n };\r\n\r\nexport const terminierungReducer = (state: InitialTerminierungType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETWITHLOGIN':\r\n return {\r\n ...state,\r\n withLogin: action.withLogin,\r\n };\r\n case 'SETWITHCHECKIN':\r\n return {\r\n ...state,\r\n withCheckIn: action.withCheckIn,\r\n };\r\n case 'SELECTCATEGORY':\r\n return {\r\n ...state,\r\n selectedCategory: action.selectedCategory,\r\n };\r\n case 'SELECTLOCATION':\r\n return {\r\n ...state,\r\n selectedLocation: action.selectedLocation,\r\n };\r\n case 'SELECTDEPARTMENT':\r\n return {\r\n ...state,\r\n selectedDepartment: action.selectedDepartment,\r\n };\r\n case 'HDBOOKING':\r\n return {\r\n ...state,\r\n hdBooking: action.hdBooking,\r\n };\r\n case 'SETFILTEREDREASONS':\r\n return {\r\n ...state,\r\n filteredReasons: action.filteredReasons,\r\n };\r\n case 'SELECTREASON':\r\n return {\r\n ...state,\r\n selectedReason: action.selectedReason,\r\n };\r\n case 'SELECTREASONHINTS':\r\n return {\r\n ...state,\r\n selectedReasonHints: action.selectedReasonHints,\r\n };\r\n case 'SELECTINSURANCE':\r\n return {\r\n ...state,\r\n selectedInsurance: action.selectedInsurance,\r\n };\r\n case 'SELECTPHYSICIAN':\r\n return {\r\n ...state,\r\n selectedPhysician: action.selectedPhysician,\r\n };\r\n case 'SELECTAPPOINTMENTTYPE':\r\n return {\r\n ...state,\r\n selectedAppointmentType: action.selectedAppointmentType,\r\n };\r\n case 'RESETCATEGORY':\r\n return {\r\n ...state,\r\n selectedCategory: {\r\n name: '',\r\n id: 0,\r\n countAPKs: 1,\r\n oneMacro: false,\r\n macroCode: '',\r\n macroType: '',\r\n },\r\n };\r\n case 'SETAVAILABLETIMESLOTS':\r\n return {\r\n ...state,\r\n availableTimeslots: action.availableTimeslots,\r\n };\r\n /*\r\n case 'SETAVAILABLETIMESLOTS_2':\r\n return {\r\n ...state,\r\n availableTimeslots_2: action.availableTimeslots_2,\r\n };\r\n */\r\n case 'SELECTTIMESLOT':\r\n return {\r\n ...state,\r\n selectedTimeslots: action.selectedTimeslots,\r\n };\r\n case 'RESETTIMESLOT':\r\n return {\r\n ...state,\r\n selectedTimeslots: [],\r\n };\r\n case 'TIMESLOTCLICKED':\r\n return {\r\n ...state,\r\n timeslotClicked: action.timeslotClicked,\r\n };\r\n /*\r\n case 'SELECTTIMESLOT_2':\r\n return {\r\n ...state,\r\n selectedTimeslot_2: action.selectedTimeslot_2,\r\n };\r\n */\r\n case 'SETRESOURCE':\r\n return {\r\n ...state,\r\n selectedResources: action.selectedResources,\r\n };\r\n /*\r\n case 'SETRESOURCE_2':\r\n return {\r\n ...state,\r\n selectedResource_2: action.selectedResource_2,\r\n };\r\n */\r\n case 'SETRENEWAPPOINTMENT':\r\n return {\r\n ...state,\r\n renewAppointment: action.renewAppointment,\r\n };\r\n case 'SETPERSONALDATA_INSURANCENR':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n insuranceNr: action.personalData.insuranceNr,\r\n },\r\n };\r\n case 'SETPERSONALDATA_INSURANCENAME':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n insuranceName: action.personalData.insuranceName,\r\n },\r\n };\r\n case 'SETPERSONALDATA_LANGUAGE':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n language: action.personalData.language,\r\n },\r\n };\r\n case 'SETPERSONALDATA_FIRSTNAME':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n firstName: action.personalData.firstName,\r\n },\r\n };\r\n case 'SETPERSONALDATA_LASTNAME':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n lastName: action.personalData.lastName,\r\n },\r\n };\r\n case 'SETPERSONALDATA_BIRTHDAY':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n birthday: action.personalData.birthday,\r\n },\r\n };\r\n case 'SETPERSONALDATA_GENDER':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n gender: action.personalData.gender,\r\n },\r\n };\r\n case 'SETPERSONALDATA_EMAIL':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n email: action.personalData.email,\r\n },\r\n };\r\n case 'SETPERSONALDATA_TELEPHONE':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n telephone: action.personalData.telephone,\r\n },\r\n };\r\n case 'SETPERSONALDATA_STREET':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n street: action.personalData.street,\r\n },\r\n };\r\n case 'SETPERSONALDATA_HOUSENR':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n housenr: action.personalData.housenr,\r\n },\r\n };\r\n case 'SETPERSONALDATA_CITY':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n city: action.personalData.city,\r\n },\r\n };\r\n case 'SETPERSONALDATA_ZIP':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n zip: action.personalData.zip,\r\n },\r\n };\r\n case 'SETPERSONALDATA_COUNTRY':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n country: action.personalData.country,\r\n },\r\n };\r\n case 'SETPERSONALDATA_MOBILEPHONE':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n mobilePhone: action.personalData.mobilePhone,\r\n },\r\n };\r\n case 'SETPERSONALDATA_ACADEMICTITLE':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n academicTitle: action.personalData.academicTitle,\r\n },\r\n };\r\n case 'SETPERSONALDATA_USERNAME':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n username: action.personalData.username,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PASSWORD':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n password: action.personalData.password,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PROFILEPHOTO':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n profilePhoto: action.personalData.profilePhoto,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PLANNEDSTUDIES':\r\n return {\r\n ...state,\r\n personalData: {\r\n ...state.personalData,\r\n plannedStudies: action.personalData.plannedStudies,\r\n },\r\n };\r\n\r\n case 'SETPERSONALDATA':\r\n return {\r\n ...state,\r\n personalData: {\r\n insuranceNr: action.personalData.insuranceNr,\r\n firstName: action.personalData.firstName,\r\n lastName: action.personalData.lastName,\r\n birthday: action.personalData.birthday,\r\n gender: action.personalData.gender,\r\n email: action.personalData.email,\r\n telephone: action.personalData.telephone,\r\n street: action.personalData.street,\r\n housenr: action.personalData.housenr,\r\n city: action.personalData.city,\r\n zip: action.personalData.zip,\r\n country: action.personalData.country,\r\n mobilePhone: action.personalData.mobilePhone,\r\n academicTitle: action.personalData.academicTitle,\r\n eGK: action.personalData.eGK ? action.personalData.eGK : '',\r\n kvBarcode: action.personalData.kvBarcode\r\n ? action.personalData.kvBarcode\r\n : state.enrollData.kvBarcode\r\n ? state.enrollData.kvBarcode\r\n : '',\r\n state: action.personalData.state,\r\n profilePhoto: action.personalData.profilePhoto,\r\n plannedStudies: action.personalData.plannedStudies,\r\n username: action.personalData.username,\r\n password: action.personalData.password,\r\n insuranceName: action.personalData.insuranceName,\r\n language: action.personalData.language,\r\n },\r\n };\r\n\r\n case 'SETPERSONALDATA_PHYSPAT_INSURANCENR':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n insuranceNr: action.personalDataPhysPat.insuranceNr,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_INSURANCENAME':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n insuranceName: action.personalDataPhysPat.insuranceName,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_LANGUAGE':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n language: action.personalDataPhysPat.language,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_FIRSTNAME':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n firstName: action.personalDataPhysPat.firstName,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_LASTNAME':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n lastName: action.personalDataPhysPat.lastName,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_BIRTHDAY':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n birthday: action.personalDataPhysPat.birthday,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_GENDER':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n gender: action.personalDataPhysPat.gender,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_EMAIL':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n email: action.personalDataPhysPat.email,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_TELEPHONE':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n telephone: action.personalDataPhysPat.telephone,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_STREET':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n street: action.personalDataPhysPat.street,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_HOUSENR':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n housenr: action.personalDataPhysPat.housenr,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_CITY':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n city: action.personalDataPhysPat.city,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_ZIP':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n zip: action.personalDataPhysPat.zip,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_COUNTRY':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n country: action.personalDataPhysPat.country,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_MOBILEPHONE':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n mobilePhone: action.personalDataPhysPat.mobilePhone,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_ACADEMICTITLE':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n academicTitle: action.personalDataPhysPat.academicTitle,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_USERNAME':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n username: action.personalDataPhysPat.username,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_PASSWORD':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n password: action.personalDataPhysPat.password,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_PROFILEPHOTO':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n profilePhoto: action.personalDataPhysPat.profilePhoto,\r\n },\r\n };\r\n case 'SETPERSONALDATA_PHYSPAT_PLANNEDSTUDIES':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n ...state.personalDataPhysPat,\r\n plannedStudies: action.personalDataPhysPat.plannedStudies,\r\n },\r\n };\r\n\r\n case 'SETPERSONALDATA_PHYSPAT':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n insuranceNr: action.personalDataPhysPat.insuranceNr,\r\n firstName: action.personalDataPhysPat.firstName,\r\n lastName: action.personalDataPhysPat.lastName,\r\n birthday: action.personalDataPhysPat.birthday,\r\n gender: action.personalDataPhysPat.gender,\r\n email: action.personalDataPhysPat.email,\r\n telephone: action.personalDataPhysPat.telephone,\r\n street: action.personalDataPhysPat.street,\r\n housenr: action.personalDataPhysPat.housenr,\r\n city: action.personalDataPhysPat.city,\r\n zip: action.personalDataPhysPat.zip,\r\n country: action.personalDataPhysPat.country,\r\n mobilePhone: action.personalDataPhysPat.mobilePhone,\r\n academicTitle: action.personalDataPhysPat.academicTitle,\r\n eGK: action.personalDataPhysPat.eGK ? action.personalDataPhysPat.eGK : '',\r\n kvBarcode: action.personalDataPhysPat.kvBarcode\r\n ? action.personalDataPhysPat.kvBarcode\r\n : state.enrollData.kvBarcode\r\n ? state.enrollData.kvBarcode\r\n : '',\r\n state: action.personalDataPhysPat.state,\r\n profilePhoto: action.personalDataPhysPat.profilePhoto,\r\n plannedStudies: action.personalDataPhysPat.plannedStudies,\r\n username: action.personalDataPhysPat.username,\r\n password: action.personalDataPhysPat.password,\r\n insuranceName: action.personalDataPhysPat.insuranceName,\r\n language: action.personalDataPhysPat.language,\r\n },\r\n };\r\n\r\n case 'SETREMARK':\r\n return {\r\n ...state,\r\n remark: action.remark,\r\n };\r\n case 'SETEARLIERAPPOINTMENTWANTED':\r\n return {\r\n ...state,\r\n earlierAppointmentWanted: action.earlierAppointmentWanted,\r\n };\r\n\r\n case 'SETENROLLDATA':\r\n return {\r\n ...state,\r\n enrollData: {\r\n ambId: action.enrollData.ambId,\r\n enrollCode: action.enrollData.enrollCode,\r\n maId: action.enrollData.maId,\r\n patNameFirst: action.enrollData.patNameFirst,\r\n patNameLast: action.enrollData.patNameLast,\r\n scheduleTime: action.enrollData.scheduleTime,\r\n fhir: {\r\n participant: action.enrollData.fhir.participant,\r\n resourceType: action.enrollData.fhir.resourceType,\r\n start: action.enrollData.fhir.start,\r\n end: action.enrollData.fhir.end,\r\n status: action.enrollData.fhir.status,\r\n serviceType: action.enrollData.fhir.serviceType,\r\n },\r\n waitNumber: action.enrollData.waitNumber,\r\n requestFromDirectLink: action.enrollData.requestFromDirectLink,\r\n remark: action.enrollData.remark,\r\n isToday: action.enrollData.isToday,\r\n },\r\n };\r\n case 'SETENROLLCODE':\r\n const res = {\r\n ...state,\r\n enrollData: {\r\n ...state.enrollData,\r\n enrollCode: action.enrollData.enrollCode,\r\n kvBarcode: action.enrollData.kvBarcode,\r\n isToday: action.enrollData.isToday,\r\n },\r\n };\r\n if (action.enrollData.kvBarcode) {\r\n res.personalData = {\r\n ...state.personalData,\r\n kvBarcode: action.enrollData.kvBarcode,\r\n };\r\n }\r\n return res;\r\n case 'CHANGEPERSONALDATA':\r\n return {\r\n ...state,\r\n changePersonalData: action.changePersonalData,\r\n };\r\n case 'CANCELEDAPPOINTMENT':\r\n return {\r\n ...state,\r\n canceledAppointment: action.canceledAppointment,\r\n };\r\n\r\n case 'SETJOURNEYDATA':\r\n return {\r\n ...state,\r\n journeyData: {\r\n site: action.journeyData.site,\r\n hints: action.journeyData.hints,\r\n },\r\n };\r\n\r\n case 'RESETPERSONALDATA':\r\n return {\r\n ...state,\r\n personalData: {\r\n insuranceNr: '',\r\n firstName: '',\r\n lastName: '',\r\n birthday: '',\r\n gender: '',\r\n email: '',\r\n telephone: '',\r\n street: '',\r\n housenr: '',\r\n city: '',\r\n zip: '',\r\n country: '',\r\n mobilePhone: '',\r\n academicTitle: '',\r\n eGK: '',\r\n kvBarcode: '',\r\n state: '',\r\n profilePhoto: '',\r\n plannedStudies: [],\r\n username: '',\r\n password: '',\r\n insuranceName: '',\r\n language: '',\r\n },\r\n remark: '',\r\n earlierAppointmentWanted: false,\r\n };\r\n case 'RESETPERSONALDATA_PHYSPAT':\r\n return {\r\n ...state,\r\n personalDataPhysPat: {\r\n insuranceNr: '',\r\n firstName: '',\r\n lastName: '',\r\n birthday: '',\r\n gender: '',\r\n email: '',\r\n telephone: '',\r\n street: '',\r\n housenr: '',\r\n city: '',\r\n zip: '',\r\n country: '',\r\n mobilePhone: '',\r\n academicTitle: '',\r\n eGK: '',\r\n kvBarcode: '',\r\n state: '',\r\n profilePhoto: '',\r\n plannedStudies: [],\r\n username: '',\r\n password: '',\r\n insuranceName: '',\r\n language: '',\r\n },\r\n remark: '',\r\n earlierAppointmentWanted: false,\r\n };\r\n case 'RESETREMARK':\r\n return {\r\n ...state,\r\n remark: '',\r\n };\r\n case 'RESETALL':\r\n return {\r\n ...state,\r\n selectedLocation: {\r\n code: '',\r\n name: '',\r\n },\r\n selectedCategory: {\r\n name: '',\r\n id: 0,\r\n countAPKs: 1,\r\n oneMacro: false,\r\n macroCode: '',\r\n macroType: '',\r\n },\r\n selectedDepartment: {\r\n name: '',\r\n reasons: [],\r\n },\r\n hdBooking: '',\r\n filteredReasons: [],\r\n selectedReason: {\r\n makroCode: '',\r\n makroId: 0,\r\n makroName: '',\r\n pFilter: '',\r\n aFilter: '',\r\n reasonCode: '',\r\n reasonId: '',\r\n reasonName: '',\r\n },\r\n selectedReasonHints: [],\r\n selectedInsurance: '',\r\n selectedPhysician: {\r\n lines: [],\r\n id: 0,\r\n name: '',\r\n pict: '',\r\n makroId: 0,\r\n },\r\n selectedAppointmentType: '',\r\n availableTimeslots: [],\r\n // availableTimeslots_2: [],\r\n selectedTimeslots: [],\r\n timeslotClicked: false,\r\n /*\r\n selectedTimeslot_2: {\r\n start: new Date(0),\r\n end: new Date(0),\r\n },\r\n */\r\n selectedResources: [],\r\n // selectedResource_2: '',\r\n personalData: {\r\n insuranceNr: '',\r\n firstName: '',\r\n lastName: '',\r\n birthday: '',\r\n gender: '',\r\n email: '',\r\n telephone: '',\r\n street: '',\r\n housenr: '',\r\n city: '',\r\n zip: '',\r\n country: '',\r\n mobilePhone: '',\r\n academicTitle: '',\r\n eGK: '',\r\n kvBarcode: '',\r\n state: '',\r\n profilePhoto: '',\r\n plannedStudies: [],\r\n username: '',\r\n password: '',\r\n insuranceName: '',\r\n language: '',\r\n },\r\n personalDataPhysPat: {\r\n insuranceNr: '',\r\n firstName: '',\r\n lastName: '',\r\n birthday: '',\r\n gender: '',\r\n email: '',\r\n telephone: '',\r\n street: '',\r\n housenr: '',\r\n city: '',\r\n zip: '',\r\n country: '',\r\n mobilePhone: '',\r\n academicTitle: '',\r\n eGK: '',\r\n kvBarcode: '',\r\n state: '',\r\n profilePhoto: '',\r\n plannedStudies: [],\r\n username: '',\r\n password: '',\r\n insuranceName: '',\r\n language: '',\r\n },\r\n remark: '',\r\n earlierAppointmentWanted: false,\r\n enrollData: {\r\n ambId: '',\r\n enrollCode: '',\r\n maId: '',\r\n patNameFirst: '',\r\n patNameLast: '',\r\n scheduleTime: '',\r\n fhir: {\r\n participant: [],\r\n resourceType: '',\r\n start: new Date(0),\r\n end: new Date(0),\r\n status: '',\r\n serviceType: [],\r\n },\r\n waitNumber: '',\r\n requestFromDirectLink: undefined,\r\n remark: '',\r\n isToday: undefined,\r\n },\r\n changePersonalData: false,\r\n workOnAppointmentNr: 1,\r\n cancelNewAppointmentData: {\r\n showModal: false,\r\n data: '',\r\n reason: '',\r\n },\r\n renewAppointment: false,\r\n withLogin: false,\r\n withCheckIn: false,\r\n journeyData: {\r\n site: '',\r\n hints: [],\r\n },\r\n };\r\n case 'RESETALL_WITHOUTPERSONALDATA':\r\n return {\r\n ...state,\r\n selectedLocation: {\r\n code: '',\r\n name: '',\r\n },\r\n selectedCategory: {\r\n name: '',\r\n id: 0,\r\n countAPKs: 1,\r\n oneMacro: false,\r\n macroCode: '',\r\n macroType: '',\r\n },\r\n selectedDeparment: {\r\n name: '',\r\n reasons: [],\r\n },\r\n hdBooking: '',\r\n filteredReasons: [],\r\n selectedReason: {\r\n makroCode: '',\r\n makroId: 0,\r\n makroName: '',\r\n pFilter: '',\r\n aFilter: '',\r\n reasonCode: '',\r\n reasonId: '',\r\n reasonName: '',\r\n },\r\n selectedReasonHints: [],\r\n selectedInsurance: '',\r\n selectedPhysician: {\r\n lines: [],\r\n id: 0,\r\n name: '',\r\n pict: '',\r\n makroId: 0,\r\n },\r\n selectedAppointmentType: '',\r\n availableTimeslots: [],\r\n // availableTimeslots_2: [],\r\n selectedTimeslots: [],\r\n timeslotClicked: false,\r\n /*\r\n selectedTimeslot_2: {\r\n start: new Date(0),\r\n end: new Date(0),\r\n },\r\n */\r\n selectedResources: [],\r\n // selectedResource_2: '',\r\n remark: '',\r\n earlierAppointmentWanted: false,\r\n enrollData: {\r\n ambId: '',\r\n enrollCode: '',\r\n maId: '',\r\n patNameFirst: '',\r\n patNameLast: '',\r\n scheduleTime: '',\r\n fhir: {\r\n participant: [],\r\n resourceType: '',\r\n start: new Date(0),\r\n end: new Date(0),\r\n status: '',\r\n serviceType: [],\r\n },\r\n waitNumber: '',\r\n requestFromDirectLink: undefined,\r\n remark: '',\r\n },\r\n changePersonalData: false,\r\n workOnAppointmentNr: 1,\r\n cancelNewAppointmentData: {\r\n showModal: false,\r\n data: '',\r\n reason: '',\r\n },\r\n renewAppointment: false,\r\n journeyData: {\r\n site: '',\r\n hints: [],\r\n },\r\n };\r\n case 'RESETALL_FORPOSTPONEAPPOINTMENT':\r\n return {\r\n ...state,\r\n selectedLocation: {\r\n code: '',\r\n name: '',\r\n },\r\n selectedCategory: {\r\n name: '',\r\n id: 0,\r\n countAPKs: 1,\r\n oneMacro: false,\r\n macroCode: '',\r\n macroType: '',\r\n },\r\n selectedDepartment: {\r\n name: '',\r\n reasons: [],\r\n },\r\n hdBooking: '',\r\n filteredReasons: [],\r\n selectedReason: {\r\n makroCode: '',\r\n makroId: 0,\r\n makroName: '',\r\n pFilter: '',\r\n aFilter: '',\r\n reasonCode: '',\r\n reasonId: '',\r\n reasonName: '',\r\n },\r\n selectedReasonHints: [],\r\n selectedInsurance: '',\r\n selectedPhysician: {\r\n lines: [],\r\n id: 0,\r\n name: '',\r\n pict: '',\r\n makroId: 0,\r\n },\r\n selectedAppointmentType: '',\r\n availableTimeslots: [],\r\n // availableTimeslots_2: [],\r\n selectedTimeslots: [],\r\n timeslotClicked: false,\r\n /*\r\n selectedTimeslot_2: {\r\n start: new Date(0),\r\n end: new Date(0),\r\n },\r\n */\r\n selectedResources: [],\r\n // selectedResource_2: '',\r\n //remark: '',\r\n changePersonalData: false,\r\n workOnAppointmentNr: 1,\r\n renewAppointment: false,\r\n withLogin: false,\r\n withCheckIn: false,\r\n journeyData: {\r\n site: '',\r\n hints: [],\r\n },\r\n };\r\n case 'WORKONAPPOINTMENTNR':\r\n return {\r\n ...state,\r\n workOnAppointmentNr: action.workOnAppointmentNr,\r\n };\r\n case 'SETCANCELNEWAPPOINTMENTDATA':\r\n return {\r\n ...state,\r\n cancelNewAppointmentData: {\r\n showModal: action.cancelNewAppointmentData.showModal,\r\n data: action.cancelNewAppointmentData.data,\r\n reason: action.cancelNewAppointmentData.reason,\r\n },\r\n };\r\n /*\r\n case 'RESETAVAILABLETIMESLOTS':\r\n const updatedResetAvailableTimeslots = resetAvailableTimeslots(\r\n state.availableTimeslots,\r\n action.appointmentNr,\r\n );\r\n\r\n return {\r\n ...state,\r\n availableTimeslots: updatedResetAvailableTimeslots,\r\n };\r\n /*\r\n case 'RESETAVAILABLETIMESLOTS_2':\r\n return {\r\n ...state,\r\n availableTimeslots_2: [],\r\n };\r\n */\r\n /*\r\n case 'RESETRESOURCE':\r\n return {\r\n ...state,\r\n selectedResource: resetedResource,\r\n };\r\n */\r\n /*\r\n case 'RESETRESOURCE_2':\r\n return {\r\n ...state,\r\n selectedResource_2: '',\r\n };\r\n */\r\n /*\r\n case 'RESETSELECTEDTIMESLOT':\r\n return {\r\n ...state,\r\n selectedTimeslot: {\r\n start: new Date(0),\r\n end: new Date(0),\r\n },\r\n };\r\n */\r\n /*\r\n case 'RESETSELECTEDTIMESLOT_2':\r\n return {\r\n ...state,\r\n selectedTimeslot_2: {\r\n start: new Date(0),\r\n end: new Date(0),\r\n },\r\n };\r\n */\r\n case 'RESETCANCELNEWAPPOINTMENTDATA':\r\n return {\r\n ...state,\r\n cancelNewAppointmentData: {\r\n showModal: false,\r\n data: '',\r\n reason: '',\r\n },\r\n };\r\n case 'DONTSHOWCANCELNEWAPPOINTMENTDATA':\r\n return {\r\n ...state,\r\n cancelNewAppointmentData: {\r\n ...state.cancelNewAppointmentData,\r\n showModal: false,\r\n },\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { InitialThemeType } from './themeContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'SETTHEME';\r\n theme: string;\r\n }\r\n | {\r\n type: 'SETNAVBARCOLLAPSED';\r\n navbarCollapsed: boolean;\r\n };\r\n\r\nexport const themeReducer = (state: InitialThemeType, action: Action) => {\r\n switch (action.type) {\r\n case 'SETTHEME':\r\n return {\r\n ...state,\r\n theme: action.theme,\r\n };\r\n case 'SETNAVBARCOLLAPSED':\r\n return {\r\n ...state,\r\n navbarCollapsed: action.navbarCollapsed,\r\n };\r\n\r\n default:\r\n return state;\r\n }\r\n};\r\n","import { getAppointmentChatEntry, IAppointmentChat, IIncomingMessage } from '../components/Chat/Chat';\r\nimport { InitialVideochatType } from '../context/videochatContext';\r\n\r\ntype Action =\r\n | {\r\n type: 'ONMESSAGE';\r\n incomingCall: boolean;\r\n callAccepted: boolean;\r\n caller: string;\r\n remoteSid: string;\r\n roomName: string;\r\n iceServer: Array;\r\n }\r\n | {\r\n type: 'ONACCEPT';\r\n incomingCall: boolean;\r\n callAccepted: boolean;\r\n caller: string;\r\n remoteSid: string;\r\n iceServer: Array;\r\n }\r\n | {\r\n type: 'ONDISCONNECT';\r\n incomingCall: boolean;\r\n callAccepted: boolean;\r\n caller: string;\r\n remoteSid: string;\r\n roomName: string;\r\n iceServer: Array;\r\n chatMessages: IIncomingMessage[];\r\n appointmentChat: [];\r\n lastIncomingAppChatMsg: {\r\n id: '';\r\n incomingMessages: [];\r\n };\r\n }\r\n | {\r\n type: 'ONLOCALSTREAM';\r\n localStream: any;\r\n iceServer: Array;\r\n }\r\n | {\r\n type: 'ONREMOTESTREAM';\r\n remoteStream: any;\r\n iceServer: Array;\r\n }\r\n | {\r\n type: 'SETICESERVER';\r\n iceServer: Array;\r\n }\r\n | {\r\n type: 'SETCHATMESSAGES';\r\n chatMessages: IIncomingMessage[];\r\n }\r\n | {\r\n type: 'RESETCHATMESSAGES';\r\n }\r\n | {\r\n type: 'SETLASTINCOMINGTEXTCHATMSG';\r\n lastIncomingTextChatMsg: string;\r\n }\r\n | {\r\n type: 'SETAPPOINTMENTCHAT';\r\n appointmentChat: IAppointmentChat[];\r\n }\r\n | {\r\n type: 'CLOSEALLAPPOINTMENTCHATS';\r\n }\r\n | {\r\n type: 'SETLASTINCOMINGCHATMESSAGES';\r\n lastIncomingAppChatMsg: {\r\n id: string;\r\n incomingMessages: [];\r\n };\r\n }\r\n | {\r\n type: 'SETNUMBERUNREADMESSAGES';\r\n numberUnreadMessages: number;\r\n }\r\n | {\r\n type: 'RESETNUMBERUNREADMESSAGES';\r\n }\r\n | {\r\n type: 'INCREASENUMBERUNREADMESSAGES';\r\n }\r\n | {\r\n type: 'SETAUDIOMUTED';\r\n audioMuted: boolean;\r\n }\r\n | {\r\n type: 'SETJITSIALLOWED';\r\n jitsiAllowed: boolean;\r\n roomName: string;\r\n }\r\n | {\r\n type: 'JITSIENROLLERROR';\r\n jitsiError: string;\r\n };\r\n\r\nexport const videochatReducer = (state: InitialVideochatType, action: Action) => {\r\n switch (action.type) {\r\n case 'ONMESSAGE':\r\n return {\r\n ...state,\r\n incomingCall: true,\r\n callAccepted: false,\r\n caller: action.caller,\r\n remoteSid: action.remoteSid,\r\n roomName: action.roomName,\r\n };\r\n\r\n case 'ONACCEPT':\r\n return {\r\n ...state,\r\n incomingCall: false,\r\n callAccepted: true,\r\n caller: action.caller,\r\n remoteSid: action.remoteSid,\r\n jitsiAllowed: true,\r\n };\r\n\r\n case 'ONDISCONNECT':\r\n if (window.app.wsconnect && window.app.wsconnect.readyState == 1) {\r\n if (window.app.wsconnect.peerConnection) {\r\n window.app.wsconnect.peerConnection.close();\r\n }\r\n window.app.wsconnect.close();\r\n window.app.wsconnect = null;\r\n if (state.localStream) {\r\n state.localStream.getTracks().forEach(function (track: any) {\r\n track.stop();\r\n });\r\n delete state.localStream;\r\n }\r\n if (state.remoteStream) {\r\n state.remoteStream.getTracks().forEach(function (track: any) {\r\n track.stop();\r\n });\r\n delete state.remoteStream;\r\n }\r\n }\r\n return {\r\n ...state,\r\n incomingCall: false,\r\n callAccepted: false,\r\n caller: '',\r\n remoteSid: '',\r\n roomName: '',\r\n chatMessages: [],\r\n numberUnreadMessages: 0,\r\n appointmentChat: [],\r\n lastIncomingAppChatMsg: {\r\n id: '',\r\n incomingMessages: [],\r\n },\r\n jitsiAllowed: false,\r\n };\r\n\r\n case 'ONLOCALSTREAM':\r\n return {\r\n ...state,\r\n localStream: action.localStream,\r\n };\r\n case 'ONREMOTESTREAM':\r\n return {\r\n ...state,\r\n remoteStream: action.remoteStream,\r\n };\r\n case 'SETICESERVER':\r\n return {\r\n ...state,\r\n iceServer: action.iceServer,\r\n };\r\n case 'SETCHATMESSAGES':\r\n return {\r\n ...state,\r\n chatMessages: action.chatMessages,\r\n };\r\n case 'RESETCHATMESSAGES':\r\n return {\r\n ...state,\r\n chatMessages: [],\r\n lastIncomingTextChatMsg: '',\r\n };\r\n case 'SETLASTINCOMINGTEXTCHATMSG':\r\n return {\r\n ...state,\r\n lastIncomingTextChatMsg: action.lastIncomingTextChatMsg,\r\n };\r\n case 'SETAPPOINTMENTCHAT':\r\n return {\r\n ...state,\r\n appointmentChat: action.appointmentChat,\r\n };\r\n case 'CLOSEALLAPPOINTMENTCHATS':\r\n const appChat = state.appointmentChat.map((item) => {\r\n item.chatOpen = false;\r\n return item;\r\n });\r\n\r\n return {\r\n ...state,\r\n appointmentChat: appChat,\r\n };\r\n case 'SETLASTINCOMINGCHATMESSAGES':\r\n let appointmentChat;\r\n const appointmentChatEntry = getAppointmentChatEntry(\r\n state.appointmentChat,\r\n action.lastIncomingAppChatMsg.id,\r\n );\r\n if (appointmentChatEntry) {\r\n /* nothing changed, there are no new messages, so do nothing...*/\r\n if (\r\n appointmentChatEntry.incomingMessages?.length ===\r\n action.lastIncomingAppChatMsg.incomingMessages.length\r\n ) {\r\n return {\r\n ...state,\r\n };\r\n }\r\n appointmentChat = state.appointmentChat.map((item: IAppointmentChat) => {\r\n if (item.id === action.lastIncomingAppChatMsg.id) {\r\n item.incomingMessages = action.lastIncomingAppChatMsg.incomingMessages;\r\n if (item.numberUnreadMsg) {\r\n item.numberUnreadMsg = item.numberUnreadMsg + 1;\r\n } else {\r\n item.numberUnreadMsg = 1;\r\n }\r\n }\r\n return item;\r\n });\r\n\r\n return {\r\n ...state,\r\n appointmentChat: appointmentChat,\r\n };\r\n } else {\r\n const appChatValue: IAppointmentChat = {\r\n id: action.lastIncomingAppChatMsg.id,\r\n chatOpen: false,\r\n incomingMessages: action.lastIncomingAppChatMsg.incomingMessages,\r\n numberUnreadMsg: 1,\r\n };\r\n const newAppointmentChat = state.appointmentChat;\r\n newAppointmentChat.push(appChatValue);\r\n let numberUnread = 0;\r\n if (state.numberUnreadMessages) {\r\n numberUnread = state.numberUnreadMessages + 1;\r\n } else {\r\n numberUnread = 1;\r\n }\r\n return {\r\n ...state,\r\n appointmentChat: newAppointmentChat,\r\n numberUnreadMessages: numberUnread,\r\n };\r\n }\r\n case 'SETNUMBERUNREADMESSAGES':\r\n return {\r\n ...state,\r\n numberUnreadMessages: action.numberUnreadMessages,\r\n };\r\n case 'RESETNUMBERUNREADMESSAGES':\r\n return {\r\n ...state,\r\n numberUnreadMessages: 0,\r\n };\r\n case 'INCREASENUMBERUNREADMESSAGES':\r\n return {\r\n ...state,\r\n numberUnreadMessages: state.numberUnreadMessages + 1,\r\n };\r\n case 'SETAUDIOMUTED':\r\n return {\r\n ...state,\r\n audioMuted: action.audioMuted,\r\n };\r\n case 'SETJITSIALLOWED':\r\n return {\r\n ...state,\r\n jitsiAllowed: action.jitsiAllowed,\r\n roomName: action.roomName,\r\n };\r\n case 'JITSIENROLLERROR':\r\n return {\r\n ...state,\r\n jitsiError: action.jitsiError,\r\n };\r\n default:\r\n return state;\r\n }\r\n};\r\n","export default __webpack_public_path__ + \"static/media/Inter.aadb65ac.ttf\";","export default __webpack_public_path__ + \"static/media/Roboto-Regular.fc2b5060.ttf\";","import { createGlobalStyle } from 'styled-components';\r\nimport Inter from '../fonts/Inter.ttf';\r\nimport Roboto from '../fonts/Roboto-Regular.ttf';\r\n\r\nconst GlobalStyles = createGlobalStyle`\r\n/*\r\n @font-face {\r\n font-family: 'Inter';\r\n src: local('Inter'), url(${Inter}) format('truetype');\r\n }\r\n @font-face {\r\n font-family: 'Roboto';\r\n src: local('Roboto'), url(${Roboto}) format('truetype');\r\n }\r\n*/\r\n body {\r\n\r\n }\r\n\r\n @media screen and (max-width: 500px) {\r\n body {\r\n font-size: 0.8rem;\r\n }\r\n }\r\n\r\n .App {\r\n font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Inter', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans',\r\n 'Droid Sans', 'Helvetica Neue', sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n }\r\n\r\n @media screen and (max-width: 500px) {\r\n .MuiStepLabel-label {\r\n font-size: 13px !important;\r\n }\r\n\r\n .nav-link {\r\n padding: 4px;\r\n }\r\n \r\n }\r\n #page-wrap {\r\n text-align: center;\r\n }\r\n`;\r\n\r\nexport default GlobalStyles;\r\n","import moment from 'moment';\r\nimport 'moment/locale/de';\r\nimport { useEffect, useReducer } from 'react';\r\nimport { useLocation, useNavigate } from 'react-router-dom';\r\nimport { ThemeProvider } from 'styled-components';\r\n// import 'typeface-roboto';\r\nimport ReactGA from 'react-ga4';\r\nimport AppRoutes, { Paths } from './Routes';\r\nimport { ErrorBoundary } from './components/ErrorBoundary/ErrorBoundary';\r\nimport AlertModal from './components/Modals/AlertModal/AlertModal';\r\nimport AlertContext, { AlertOnHide, AlertType, initialAlertState } from './context/alertContext';\r\nimport { alertReducer } from './context/alertReducer';\r\nimport AppPropsContext, { InitialAppPropsState } from './context/appPropsContext';\r\nimport { appPropsReducer } from './context/appPropsReducer';\r\nimport CheckInContext, { initialCheckInState } from './context/checkInContext';\r\nimport { checkinReducer } from './context/checkInReducer';\r\nimport DokumenteContext, { initialDokumenteState } from './context/dokumenteContext';\r\nimport { dokumenteReducer } from './context/dokumenteReducer';\r\nimport ExecuteRuleContext, { initialExecuteRuleState } from './context/executeRuleContext';\r\nimport { executeRuleReducer } from './context/executeRuleReducer';\r\nimport IFrameContext, { initialIFrameState } from './context/iframeContext';\r\nimport { iframeReducer } from './context/iframeReducer';\r\nimport LoginContext, { initialLoginState } from './context/loginContext';\r\nimport { loginReducer } from './context/loginReducer';\r\nimport QuestionnaireContext, { initialQuestionnaireState } from './context/questionnaireContext';\r\nimport { questionnaireReducer } from './context/questionnaireReducer';\r\nimport { sigpadReducer } from './context/sigPadReducer';\r\nimport SigPadContext, { initialSigPadState } from './context/sigpadContext';\r\nimport TerminierungContext, { initialTerminierungState } from './context/terminierungContext';\r\nimport { terminierungReducer } from './context/terminierungReducer';\r\nimport ThemeContext, { initialThemeState } from './context/themeContext';\r\nimport { themeReducer } from './context/themeReducer';\r\nimport VideochatContext, { initialVideochatState } from './context/videochatContext';\r\nimport { videochatReducer } from './context/videochatReducer';\r\nimport GlobalStyles from './globals/GlobalStyles';\r\nimport { getAppVersion, getThemeConfig } from './globals/global';\r\nimport { getTheme } from './globals/theme';\r\nimport { useLanguage } from './hooks/useLanguage';\r\nimport { getAppProperties } from './services/RestServices';\r\nimport { showAlertMessage } from './utils/alertHandling';\r\nimport { setRuleProperties } from './utils/executeRuleUtils';\r\nimport { setDataFromAppProperties } from './utils/pcpUtils';\r\nimport { getQueryParams } from './utils/urlUtils';\r\n\r\ndeclare global {\r\n interface Window {\r\n app: any;\r\n }\r\n}\r\n\r\nwindow.app = window.app || {};\r\n\r\nfunction App() {\r\n const navigate = useNavigate();\r\n moment.locale('de');\r\n\r\n const [state, dispatch] = useReducer(loginReducer, initialLoginState);\r\n const [alertstate, alertdispatch] = useReducer(alertReducer, initialAlertState);\r\n const [vsstate, vsdispatch] = useReducer(videochatReducer, initialVideochatState);\r\n const [tmstate, tmdispatch] = useReducer(terminierungReducer, initialTerminierungState);\r\n const [docstate, docdispatch] = useReducer(dokumenteReducer, initialDokumenteState);\r\n const [qstate, qdispatch] = useReducer(questionnaireReducer, initialQuestionnaireState);\r\n const [apstate, apdispatch] = useReducer(appPropsReducer, InitialAppPropsState);\r\n const [themestate, themedispatch] = useReducer(themeReducer, initialThemeState);\r\n const [executerulestate, executeruledispatch] = useReducer(executeRuleReducer, initialExecuteRuleState);\r\n const [sigpadstate, sigpaddispatch] = useReducer(sigpadReducer, initialSigPadState);\r\n const [iframestate, iframedispatch] = useReducer(iframeReducer, initialIFrameState);\r\n const [checkinstate, checkindispatch] = useReducer(checkinReducer, initialCheckInState);\r\n\r\n const location = useLocation();\r\n\r\n const { getSystemLanguageData, setSystemLanguage } = useLanguage();\r\n\r\n const refreshPage = () => {\r\n window.location.reload();\r\n };\r\n\r\n const getProperties = async () => {\r\n const propRes = await getAppProperties();\r\n if (propRes) {\r\n setDataFromAppProperties(propRes, apdispatch);\r\n\r\n /* Google Analytics ID Init */\r\n if (propRes.googleAnalyticsID) {\r\n ReactGA.initialize(propRes.googleAnalyticsID);\r\n }\r\n } else {\r\n showAlertMessage({\r\n alertTitle: 'Fehler beim Laden der App',\r\n alertTxt:\r\n 'Die Seite konnte nicht geladen werden. Bitte versuchen Sie es zu einem späteren Zeitpunkt erneut.',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.custom,\r\n onHideCustom: refreshPage,\r\n alertdispatch: alertdispatch,\r\n buttonName: 'Erneut versuchen',\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (!(window as any).app.language) {\r\n const systemLanguage = getSystemLanguageData();\r\n (window as any).app.language = systemLanguage.id;\r\n setSystemLanguage();\r\n }\r\n /* AppProperties */\r\n getProperties();\r\n\r\n /* allow Vidochat messages */\r\n window.app.allowVideochatMessages = true;\r\n // const hashParams = getQueryParams(location.hash);\r\n const hashParams = getQueryParams(location.search);\r\n if (hashParams.type === 'Redirect') {\r\n if (state.redirectUser === '') {\r\n dispatch({\r\n type: 'SETREDIRECTUSER',\r\n redirectUser: hashParams.user,\r\n redirectPwd: hashParams.pwd,\r\n });\r\n // history.replace(Paths.HOME);\r\n navigate(Paths.HOME, { replace: true });\r\n }\r\n }\r\n if (hashParams.type === 'gdt') {\r\n if (hashParams.id && hashParams.id.length > 0) {\r\n dispatch({\r\n type: 'SETGDTDATA',\r\n gdt: {\r\n id: hashParams.id,\r\n },\r\n });\r\n }\r\n }\r\n if (location.hash.lastIndexOf('#/ExecuteRule') > -1) {\r\n if (hashParams.type === 'ExecuteRule') {\r\n setRuleProperties(hashParams, executeruledispatch);\r\n // history.replace(Paths.HOME);\r\n navigate(Paths.HOME, { replace: true });\r\n }\r\n }\r\n let theme = 'PCP';\r\n if (hashParams.theme) {\r\n const pTheme = hashParams.theme;\r\n if (pTheme.length > 0) {\r\n theme = pTheme;\r\n }\r\n } else {\r\n theme = getThemeConfig();\r\n }\r\n themedispatch({\r\n type: 'SETTHEME',\r\n theme: theme,\r\n });\r\n }, []);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n}\r\n\r\nexport default App;\r\n","// tslint:disable:no-console\n// In production, we register a service worker to serve assets from local cache.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on the 'N+1' visit to a page, since previously\n// cached resources are updated in the background.\n\n// To learn more about the benefits of this model, read https://goo.gl/KwvDNy.\n// This link also includes instructions on opting out of this behavior.\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.1/8 is considered localhost for IPv4.\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/),\n);\n\nexport default function register() {\n if ('serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(process.env.PUBLIC_URL!, window.location.toString());\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebookincubator/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Lets check if a service worker still exists or not.\n checkValidServiceWorker(swUrl);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://goo.gl/SC7cgQ',\n );\n });\n } else {\n // Is not local host. Just register service worker\n registerValidSW(swUrl);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string) {\n navigator.serviceWorker\n .register(swUrl)\n .then((registration) => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker) {\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the old content will have been purged and\n // the fresh content will have been added to the cache.\n // It's the perfect time to display a 'New content is\n // available; please refresh.' message in your web app.\n console.log('New content is available; please refresh.');\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // 'Content is cached for offline use.' message.\n console.log('Content is cached for offline use.');\n }\n }\n };\n }\n };\n })\n .catch((error) => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl)\n .then((response) => {\n // Ensure service worker exists, and that we really are getting a JS file.\n if (response.status === 404 || response.headers.get('content-type')!.indexOf('javascript') === -1) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl);\n }\n })\n .catch(() => {\n console.log('No internet connection found. App is running in offline mode.');\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready.then((registration) => {\n registration.unregister();\n });\n }\n}\n","import 'bootstrap/dist/css/bootstrap.min.css';\r\nimport { StrictMode } from 'react';\r\nimport ReactDOM from 'react-dom';\r\nimport { HashRouter } from 'react-router-dom';\r\nimport App from './App';\r\nimport * as serviceWorker from './serviceWorker';\r\n\r\nReactDOM.render(\r\n \r\n \r\n \r\n \r\n ,\r\n document.getElementById('root'),\r\n);\r\n\r\n// If you want your app to work offline and load faster, you can change\r\n// unregister() to register() below. Note this comes with some pitfalls.\r\n// Learn more about service workers: https://bit.ly/CRA-PWA\r\nserviceWorker.unregister();\r\n","import { createContext } from 'react';\r\nimport { IURLToCallResponse } from '../container/Splashscreen/CheckInSplashscreen';\r\n\r\nexport type InitialCheckInType = {\r\n urlToCallResponse: IURLToCallResponse;\r\n key: string;\r\n reason: string;\r\n requesttype: string;\r\n wpName: string;\r\n userId?: string;\r\n t0?: string;\r\n otp?: string;\r\n};\r\n\r\nexport const initialCheckInState = {\r\n urlToCallResponse: {\r\n state: '',\r\n url: '',\r\n eGK: '',\r\n kvBarcode: '',\r\n birthday: '',\r\n city: '',\r\n country: '',\r\n firstName: '',\r\n gender: '',\r\n street: '',\r\n houseNumber: '',\r\n nameLast: '',\r\n zip: '',\r\n insuranceNr: '',\r\n insuranceName: '',\r\n language: '',\r\n },\r\n key: '',\r\n reason: '',\r\n requesttype: '',\r\n wpName: '',\r\n userId: '',\r\n t0: '',\r\n otp: '',\r\n};\r\n\r\nconst CheckInContext = createContext<{\r\n checkinstate: InitialCheckInType;\r\n checkindispatch: React.Dispatch;\r\n}>({\r\n checkinstate: initialCheckInState,\r\n checkindispatch: () => null,\r\n});\r\n\r\nexport default CheckInContext;\r\n","import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { ParagraphFontSize } from '../StyledParagraph/StyledParagraph';\r\n\r\ninterface IDiv {\r\n divWidth?: string;\r\n borderRight?: string;\r\n divTop?: string;\r\n margin?: string;\r\n marginTop?: string;\r\n marginBottom?: string;\r\n marginLeft?: string;\r\n marginRight?: string;\r\n paddingTop?: string;\r\n paddingBottom?: string;\r\n paddingLeft?: string;\r\n paddingRight?: string;\r\n height?: string;\r\n textAlign?: string;\r\n color?: string;\r\n overflowX?: string;\r\n overflowY?: string;\r\n backgroundColor?: string;\r\n zIndex?: number;\r\n position?: string;\r\n bottom?: string;\r\n top?: string;\r\n left?: string;\r\n right?: string;\r\n maxHeight?: string;\r\n borderRadius?: string;\r\n lineHeight?: string;\r\n fontSize?: ParagraphFontSize | string;\r\n}\r\n\r\ninterface IDivSplit {\r\n height?: string;\r\n width?: string;\r\n paddingTop?: string;\r\n backgroundColor?: string;\r\n}\r\n\r\nexport const LeftDiv = styled.div`\r\n text-align: left;\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '0px')};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : '0px')};\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '0px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '0px')};\r\n`;\r\n\r\nexport const LeftDivMain = styled.div`\r\n text-align: left;\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '0px')};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : '0px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '0px')};\r\n margin-left: 100px;\r\n @media only screen and (max-width: 800px) {\r\n margin-left: 60px;\r\n }\r\n @media only screen and (max-width: 500px) {\r\n margin-left: 0px;\r\n }\r\n`;\r\nexport const AnmeldBaseDiv = styled.div`\r\n text-align: left;\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '50px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '50px')};\r\n @media only screen and (max-width: 800px) {\r\n margin-left: 25px;\r\n margin-right: 25px;\r\n }\r\n @media only screen and (max-width: 500px) {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n }\r\n`;\r\n\r\nexport const AnmeldBaseHeader = styled.div`\r\n position: sticky;\r\n z-index: 30;\r\n background-color: white;\r\n top: 190px;\r\n @media only screen and (max-width: 800px) {\r\n top: 170px;\r\n }\r\n @media only screen and (max-height: 700px) {\r\n top: 140px;\r\n }\r\n @media only screen and (max-height: 500px) {\r\n top: 60px;\r\n }\r\n`;\r\n\r\nexport const AnmeldBaseHeaderLogin = styled.div`\r\n position: sticky;\r\n z-index: 30;\r\n background-color: white;\r\n top: 120px;\r\n @media only screen and (max-width: 800px) {\r\n top: 90px;\r\n }\r\n @media only screen and (max-height: 500px) {\r\n top: 90px;\r\n }\r\n`;\r\n\r\nexport const LeftDivCheckIn = styled.div`\r\n text-align: left;\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '0px')};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : '0px')};\r\n margin-left: 100px;\r\n margin-right: 100px;\r\n @media only screen and (max-width: 800px) {\r\n margin-left: 25px;\r\n margin-right: 25px;\r\n }\r\n @media only screen and (max-width: 500px) {\r\n margin-left: 0px;\r\n margin-right: 0px;\r\n }\r\n`;\r\n\r\nexport const RightDiv = styled.div`\r\n text-align: right;\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '0px')};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : '0px')};\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '0px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '0px')};\r\n`;\r\n\r\nexport const CenterDiv = styled.div`\r\n text-align: center;\r\n height: ${(prop) => (prop.height ? prop.height : null)};\r\n margin: ${(prop) => (prop.margin ? prop.margin : null)};\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '0px')};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : '0px')};\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '0px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '0px')};\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : null)};\r\n padding-bottom: ${(prop) => (prop.paddingBottom ? prop.paddingBottom : null)};\r\n padding-left: ${(prop) => (prop.paddingLeft ? prop.paddingLeft : null)};\r\n padding-right: ${(prop) => (prop.paddingRight ? prop.paddingRight : null)};\r\n overflow-x: ${(prop) => (prop.overflowX ? prop.overflowX : null)};\r\n overflow-y: ${(prop) => (prop.overflowY ? prop.overflowY : null)};\r\n color: ${(prop) => (prop.color ? prop.color : 'black')};\r\n background-color: ${(prop) => (prop.backgroundColor ? prop.backgroundColor : null)};\r\n z-index: ${(prop) => (prop.zIndex ? prop.zIndex : null)};\r\n position: ${(prop) => (prop.position ? prop.position : null)};\r\n bottom: ${(prop) => (prop.bottom ? prop.bottom : null)};\r\n top: ${(prop) => (prop.top ? prop.top : null)};\r\n right: ${(prop) => (prop.right ? prop.right : null)};\r\n left: ${(prop) => (prop.left ? prop.left : null)};\r\n max-height: ${(prop) => (prop.maxHeight ? prop.maxHeight : null)};\r\n font-size: ${(prop) => (prop.fontSize ? prop.fontSize : null)};\r\n`;\r\n\r\nexport const CheckInCenterDiv = styled.div`\r\n text-align: center;\r\n height: ${(prop) => (prop.height ? prop.height : null)};\r\n margin: ${(prop) => (prop.margin ? prop.margin : null)};\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '10px')};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : '10px')};\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '30px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '30px')};\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '10px')};\r\n padding-bottom: ${(prop) => (prop.paddingBottom ? prop.paddingBottom : '10px')};\r\n padding-left: ${(prop) => (prop.paddingLeft ? prop.paddingLeft : null)};\r\n padding-right: ${(prop) => (prop.paddingRight ? prop.paddingRight : null)};\r\n overflow-x: ${(prop) => (prop.overflowX ? prop.overflowX : null)};\r\n overflow-y: ${(prop) => (prop.overflowY ? prop.overflowY : null)};\r\n color: ${(prop) => (prop.color ? prop.color : 'black')};\r\n background-color: ${(prop) => (prop.backgroundColor ? prop.backgroundColor : 'lightgray')};\r\n z-index: ${(prop) => (prop.zIndex ? prop.zIndex : null)};\r\n position: ${(prop) => (prop.position ? prop.position : null)};\r\n bottom: ${(prop) => (prop.bottom ? prop.bottom : null)};\r\n top: ${(prop) => (prop.top ? prop.top : null)};\r\n right: ${(prop) => (prop.right ? prop.right : null)};\r\n left: ${(prop) => (prop.left ? prop.left : null)};\r\n max-height: ${(prop) => (prop.maxHeight ? prop.maxHeight : null)};\r\n font-size: ${(prop) => (prop.fontSize ? prop.fontSize : null)};\r\n`;\r\n\r\nexport const StickyHeaderTitleDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 0px;\r\n z-index: 20;\r\n height: 57px;\r\n background-color: ${(props) =>\r\n props.backgroundColor ? props.backgroundColor : props.theme.header.main.backgroundColor};\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '0px')};\r\n`;\r\n\r\nexport const StickyStepperWithNavbar = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 0px;\r\n z-index: 30;\r\n height: 190px;\r\n @media only screen and (max-width: 800px) {\r\n height: 170px;\r\n }\r\n @media only screen and (max-height: 700px) {\r\n height: 140px;\r\n }\r\n background-color: ${(props) => (props.backgroundColor ? props.backgroundColor : 'white')};\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '0px')};\r\n`;\r\n\r\nexport const StickyStepperDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 0px;\r\n z-index: 30;\r\n height: 120px;\r\n @media only screen and (max-width: 800px) {\r\n height: 90px;\r\n }\r\n @media only screen and (max-height: 500px) {\r\n height: 90px;\r\n }\r\n background-color: ${(props) => (props.backgroundColor ? props.backgroundColor : 'white')};\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '0px')};\r\n`;\r\n\r\nexport const StickyButtonRowBottomDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n bottom: 0px;\r\n z-index: 20;\r\n height: 100px;\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '0px')};\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : '10px')};\r\n background-color: white;\r\n`;\r\n\r\nexport const StickyStepperRowDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 0px;\r\n z-index: 20;\r\n height: 57px;\r\n background-color: white;\r\n padding-top: 0px;\r\n margin-bottom: 70px;\r\n`;\r\n\r\nexport const StickyHeaderTabsDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 55px;\r\n z-index: 30;\r\n /* height: 65px; */\r\n padding-top: 20px;\r\n background-color: ${(props) => props.theme.mainColor};\r\n background-image: ${(props) => props.theme.tabcontainer.backgroundImage};\r\n height: ${(prop) => (prop.height ? prop.height : 'auto')};\r\n border-radius: 10px;\r\n`;\r\n\r\nexport const StickyTagesplanSectionDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 55px;\r\n z-index: 20;\r\n height: 57px;\r\n background-color: ${(props) => props.theme.mainColor};\r\n background-image: ${(props) => props.theme.tabcontainer.backgroundImage};\r\n border-radius: 10px;\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '0px')};\r\n`;\r\n\r\nexport const VerticalCenterDiv = styled.div`\r\n width: 100%;\r\n position: absolute;\r\n top: ${(prop) => (prop.divTop ? prop.divTop : '50%')};\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n border-right: ${(prop) => (prop.borderRight ? prop.borderRight : 'none')};\r\n`;\r\n\r\nexport const VerticalCenterFlexDiv = styled.div`\r\n display: flex;\r\n align-items: center;\r\n font-size: ${(prop) => (prop.fontSize ? prop.fontSize : null)};\r\n width: ${(prop) => (prop.divWidth ? prop.divWidth : null)};\r\n`;\r\n\r\nexport const IconDiv = styled.div`\r\n width: ${(prop) => (prop.divWidth ? prop.divWidth : 'auto')};\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '0px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '0px')};\r\n &:hover {\r\n background-color: ${(props) => props.theme.icon.default.backgroundColorHover};\r\n border-radius: ${(props) => (props.borderRadius ? props.borderRadius : props.theme.borderRadius)};\r\n }\r\n`;\r\n\r\nexport const MainHeaderButtonIcon = styled.div`\r\n width: ${(prop) => (prop.divWidth ? prop.divWidth : 'auto')};\r\n margin-left: 20px;\r\n margin-right: 20px;\r\n &:hover {\r\n background-color: ${(props) => props.theme.icon.default.backgroundColorHover};\r\n border-radius: ${(props) => (props.borderRadius ? props.borderRadius : props.theme.borderRadius)};\r\n }\r\n padding: 3px;\r\n`;\r\n\r\nexport const BreakFlexDiv = styled.div`\r\n flex-basis: 100%;\r\n height: 0;\r\n`;\r\n\r\nexport const ChartInnerDiv = styled.div`\r\n position: absolute;\r\n width: 110%;\r\n padding-top: 5px;\r\n overflow: hidden;\r\n margin-right: -100px;\r\n`;\r\n\r\nexport const ChartOuterDiv = styled.div`\r\n position: relative;\r\n height: 500px;\r\n width: 95%;\r\n overflow: hidden;\r\n`;\r\n\r\nexport const NewMessageBadgeDiv = styled.div`\r\n position: absolute;\r\n top: 45px;\r\n background-color: ${(props) => props.theme.selectButton.backgroundColorActive};\r\n width: 20px;\r\n height: 20px;\r\n padding: 2px;\r\n border-radius: 50%;\r\n text-align: center;\r\n font-size: 0.8rem;\r\n font-weight: bold;\r\n`;\r\n\r\nexport const MailParentDiv = styled.div`\r\n height: ${(prop) => (prop.height ? prop.height : '700px')};\r\n margin-top: 10px;\r\n overflow: hidden;\r\n`;\r\n\r\nexport const MailListDiv = styled.div`\r\n position: relative;\r\n height: ${(prop) => (prop.height ? prop.height : '50%')};\r\n margin-top: 10px;\r\n margin-bottom: 20px;\r\n overflow-x: hidden;\r\n overflow-y: scroll;\r\n`;\r\n\r\nexport const MailContentDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n z-index: 20;\r\n height: 53%;\r\n border-style: solid;\r\n border-width: thin;\r\n overflow-y: scroll;\r\n overflow-x: hidden;\r\n`;\r\n\r\nexport const MailContentHeaderDiv = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 0;\r\n z-index: 20;\r\n text-align: left;\r\n background-color: white;\r\n`;\r\n\r\nexport const SplitLeftDiv = styled.div`\r\n height: ${(prop) => (prop.height ? prop.height : '100%')};\r\n width: ${(prop) => (prop.width ? prop.width : '50%')};\r\n position: fixed;\r\n z-index: 1;\r\n top: 0;\r\n overflow-x: hidden;\r\n overflow-y: hidden;\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '20px')};\r\n left: 0;\r\n background-color: ${(prop) => (prop.backgroundColor ? prop.backgroundColor : 'white')};\r\n`;\r\n\r\nexport const SplitRightDiv = styled.div`\r\n height: ${(prop) => (prop.height ? prop.height : '100%')};\r\n width: ${(prop) => (prop.width ? prop.width : '50%')};\r\n position: fixed;\r\n z-index: 1;\r\n top: 0;\r\n overflow-x: hidden;\r\n padding-top: ${(prop) => (prop.paddingTop ? prop.paddingTop : '0px')};\r\n right: 0;\r\n background-color: ${(prop) => (prop.backgroundColor ? prop.backgroundColor : 'white')};\r\n`;\r\n\r\nexport const StyledStepperContentDiv = styled.div`\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : '120px')};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : '120px')};\r\n`;\r\n\r\nexport const StepperContentDiv = ({ children }: React.PropsWithChildren) => {\r\n const screenSize = useScreenResolution();\r\n let marginLeft = '200px';\r\n let marginRight = '200px';\r\n\r\n if (screenSize.width < 1430) {\r\n marginLeft = '30px';\r\n marginRight = '30px';\r\n }\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport const EncounterDiv = styled.div`\r\n text-align: left;\r\n font-weight: bold;\r\n padding-top: 6px;\r\n margin-right: 10px;\r\n`;\r\n\r\nexport const EmbeddedPDFContainer = styled.div`\r\n /*\r\n position: fixed;\r\n top: 80px;\r\n*/\r\n position: relative;\r\n margin-top: 5px;\r\n /* left: 50%; */\r\n z-index: 20;\r\n height: ${(prop) => (prop.height ? prop.height : '90%')};\r\n width: 200%;\r\n overflow-y: scroll;\r\n overflow-x: ${(prop) => (prop.overflowX ? prop.overflowX : 'hidden')};\r\n ::-webkit-scrollbar {\r\n display: none;\r\n }\r\n -ms-overflow-style: none;\r\n scrollbar-width: none;\r\n`;\r\n\r\nexport const EmbeddedPDFFooter = styled.div`\r\n /* width: 400px;\r\n position: -webkit-sticky;\r\n position: sticky;\r\n bottom: 5px;\r\n padding: 5px;\r\n left: 50%;\r\n background: white;\r\n opacity: 95%;\r\n transform: translateX(-50%);\r\n transition: opacity ease-in-out 0.2s;\r\n box-shadow: 0 30px 40px 0 rgba(16, 36, 94, 0.2);\r\n border-radius: 4px; */\r\n display: flex;\r\n position: fixed;\r\n width: 100%;\r\n left: 0px;\r\n right: 0px;\r\n bottom: 25px;\r\n margin-left: auto;\r\n margin-right: auto;\r\n justify-content: center;\r\n z-index: 100;\r\n`;\r\n\r\nexport const EmbeddedPDFHeader = styled.div`\r\n position: -webkit-sticky;\r\n position: sticky;\r\n top: 30px;\r\n z-index: 50;\r\n`;\r\n\r\nexport const EmbeddedPDFContent = styled.div`\r\n position: relative;\r\n display: flex;\r\n margin-left: auto;\r\n margin-right: auto;\r\n justify-content: center;\r\n`;\r\n\r\nexport const EmbeddedSignDocumentModalContainer = styled.div``;\r\n\r\nexport const SpaceBetweenDiv = styled.div`\r\n display: flex;\r\n justify-content: space-between;\r\n flex-direction: 'row';\r\n line-height: ${(prop) => (prop.lineHeight ? prop.lineHeight : null)};\r\n margin-top: ${(prop) => (prop.marginTop ? prop.marginTop : null)};\r\n margin-bottom: ${(prop) => (prop.marginBottom ? prop.marginBottom : null)};\r\n margin-left: ${(prop) => (prop.marginLeft ? prop.marginLeft : null)};\r\n margin-right: ${(prop) => (prop.marginRight ? prop.marginRight : null)};\r\n`;\r\n\r\nexport const ImpressumBottom = styled.div`\r\n position: fixed;\r\n background-color: white;\r\n bottom: 0;\r\n width: 100%;\r\n z-index: 50;\r\n height: 2em;\r\n text-align: center;\r\n font-size: ${(prop) => (prop.fontSize ? prop.fontSize : null)};\r\n`;\r\n\r\nexport const ContentWithoutImpressum = styled.div`\r\n margin-bottom: 2em;\r\n height: calc(100vh - 2em);\r\n overflow: auto;\r\n box-sizing: border-box;\r\n`;\r\n\r\nexport const CenterPositionFixedDiv = styled.div`\r\n position: fixed;\r\n top: 50%;\r\n left: 50%;\r\n transform: translate(-50%, -50%);\r\n`;\r\n","import moment from 'moment';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport { OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Row from 'react-bootstrap/Row';\r\nimport SelectButton from '../../components/Buttons/SelectButton';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport TerminierungContext, { IAvailableTimeslot } from '../../context/terminierungContext';\r\nimport { useAppointmentSelection } from '../../hooks/useAppointmentSelection';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport { blockAppointment, unblockAppointment } from '../../services/RestServices';\r\nimport {\r\n setReplacedCareUnitForResource,\r\n setReplacedDepartmentForResource,\r\n setReplacedPractitionerForResource,\r\n setReplacedRoomForResource,\r\n setReplacedServiceTypeForResource,\r\n setReplacedStartEndForResource,\r\n} from '../../utils/appointmentUtils';\r\nimport { getGermanDateFormatFromString } from '../../utils/pcpUtils';\r\nimport BlockingAppointmentModal from '../Modals/BlockingAppointmentModal/BlockingAppointmentModal';\r\n\r\ninterface Props {\r\n selectedDay: string;\r\n}\r\n\r\nexport const isTimeslotDateSet = (date: any) => {\r\n /* the default init date is a date type with 'new Date(0)' */\r\n if (date) {\r\n if (typeof date.start === 'string' && typeof date.end === 'string') {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n};\r\n\r\nconst TimeSlots = (props: Props) => {\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const {\r\n getSelectedResource,\r\n setSelectedResource,\r\n setSelectedTimeslot,\r\n getAvailableTimeslots,\r\n getSelectedTimeslot,\r\n getMakroIdFromResourceServiceType,\r\n } = useAppointmentSelection();\r\n\r\n const { t } = useLanguage();\r\n\r\n interface IBlockingModalShow {\r\n show: boolean;\r\n }\r\n const [blockingModalShow, setBlockingModalShow] = useState({\r\n show: false,\r\n });\r\n\r\n const getTime = (date: Date) => {\r\n return moment(date).format('HH:mm');\r\n };\r\n\r\n useEffect(() => {\r\n const resource_1 = getSelectedResource(1);\r\n if (resource_1) {\r\n unblockAppointment(resource_1);\r\n }\r\n }, []);\r\n\r\n const clickedTimeslot = async (timeslot: IAvailableTimeslot, supressDuration: boolean) => {\r\n // console.log('clicked timeslot: start: ', dateStart, ' end: ', dateEnd);\r\n const selectedTimeslot = {\r\n start: timeslot.timeslot.start,\r\n end: timeslot.timeslot.end,\r\n supressDuration: supressDuration,\r\n };\r\n\r\n // if (tmstate.workOnAppointmentNr > 1) {\r\n // let updatedResource = setReplacedRoomForResource(tmstate.selectedResource_2, timeslot.replacedRoom);\r\n // updatedResource = setReplacedStartEndForResource(updatedResource, selectedTimeslot);\r\n\r\n // tmdispatch({\r\n // type: 'SELECTTIMESLOT_2',\r\n // selectedTimeslot_2: selectedTimeslot,\r\n // });\r\n // tmdispatch({\r\n // type: 'SETRESOURCE_2',\r\n // selectedResource_2: updatedResource,\r\n // });\r\n // } else {\r\n // let updatedResource = setReplacedRoomForResource(tmstate.selectedResource, timeslot.replacedRoom);\r\n // updatedResource = setReplacedStartEndForResource(updatedResource, selectedTimeslot);\r\n\r\n // tmdispatch({\r\n // type: 'SELECTTIMESLOT',\r\n // selectedTimeslot: selectedTimeslot,\r\n // });\r\n // tmdispatch({\r\n // type: 'SETRESOURCE',\r\n // selectedResource: updatedResource,\r\n // });\r\n // }\r\n\r\n let updatedResource = setReplacedRoomForResource(\r\n getSelectedResource(tmstate.workOnAppointmentNr),\r\n timeslot.replacedRoom,\r\n );\r\n updatedResource = setReplacedStartEndForResource(updatedResource, selectedTimeslot);\r\n updatedResource = setReplacedPractitionerForResource(updatedResource, timeslot.replacedPractitioner);\r\n updatedResource = setReplacedCareUnitForResource(updatedResource, timeslot.replacedCareUnit);\r\n updatedResource = setReplacedDepartmentForResource(updatedResource, timeslot.replacedDepartment);\r\n updatedResource = setReplacedServiceTypeForResource(updatedResource, timeslot.replacedServiceType);\r\n\r\n setSelectedResource(tmstate.workOnAppointmentNr, updatedResource);\r\n\r\n const resource = getSelectedResource(1);\r\n const blockResponse = await blockAppointment(resource);\r\n if (blockResponse.success === 'false') {\r\n // onNewAppointments(blockResponse.newApp, tmstate.workOnAppointmentNr, setSelectedTimeslot);\r\n // gotNewAppointment = true;\r\n setBlockingModalShow({\r\n show: true,\r\n });\r\n return;\r\n }\r\n\r\n setSelectedTimeslot(tmstate.workOnAppointmentNr, selectedTimeslot);\r\n\r\n /* Fruehester Termin -> get makroId from ServiceType and find resource from filteredResources */\r\n if (tmstate.selectedReason?.makroId !== undefined && tmstate.selectedReason.makroId === 0) {\r\n const makroId = getMakroIdFromResourceServiceType(updatedResource);\r\n\r\n if (makroId && makroId > 0) {\r\n const filteredSelectedReason = tmstate.filteredReasons.filter((e) => e.makroId === makroId);\r\n tmdispatch({\r\n type: 'SELECTREASON',\r\n selectedReason: filteredSelectedReason[0],\r\n });\r\n }\r\n }\r\n };\r\n\r\n const getTimeRange = (slot: IAvailableTimeslot, supressDuration: boolean) => {\r\n if (supressDuration) {\r\n return getTime(slot.timeslot.start);\r\n }\r\n return getTime(slot.timeslot.start) + ' - ' + getTime(slot.timeslot.end);\r\n };\r\n const displayAllTimeslots = () => {\r\n const availableTimeslots = getAvailableTimeslots(tmstate.workOnAppointmentNr);\r\n const selectedTimeslot = getSelectedTimeslot(tmstate.workOnAppointmentNr);\r\n if (availableTimeslots) {\r\n const allTimeslots = availableTimeslots.availableTimeslot.map((data: IAvailableTimeslot, index: number) => {\r\n if (data.replacedPractitioner?.display) {\r\n return (\r\n \r\n \r\n {data.replacedPractitioner?.display ? data.replacedPractitioner?.display : ''}\r\n \r\n }\r\n >\r\n clickedTimeslot(data, availableTimeslots.supressDuration)}\r\n >\r\n {getTimeRange(data, availableTimeslots.supressDuration)}\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n clickedTimeslot(data, availableTimeslots.supressDuration)}\r\n >\r\n {getTimeRange(data, availableTimeslots.supressDuration)}\r\n \r\n );\r\n }\r\n });\r\n return allTimeslots;\r\n }\r\n\r\n return <>;\r\n };\r\n\r\n // return TimeSlot;\r\n return (\r\n <>\r\n
\r\n

\r\n {t('ANMELD', 'Verfügbare Zeiten für den')}\r\n {': '}\r\n {props.selectedDay === '' ? (\r\n ''\r\n ) : (\r\n {getGermanDateFormatFromString(props.selectedDay)}\r\n )}\r\n

\r\n \r\n {displayAllTimeslots()}\r\n \r\n
\r\n setBlockingModalShow({ show: false })}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default TimeSlots;\r\n","import { useCallback, useContext } from 'react';\r\nimport { ThemeContext } from 'styled-components';\r\nimport AppPropsContext from '../context/appPropsContext';\r\nimport { getAppProperties } from '../services/RestServices';\r\nimport { setDataFromAppProperties } from '../utils/pcpUtils';\r\nimport useScreenResolution from './useScreenResolution';\r\n\r\nexport const useAppProperties = () => {\r\n const { apstate, apdispatch } = useContext(AppPropsContext);\r\n\r\n const themeContext = useContext(ThemeContext);\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const getAndSetAppProperties = useCallback(async () => {\r\n const propRes = await getAppProperties();\r\n if (propRes) {\r\n setDataFromAppProperties(propRes, apdispatch);\r\n } else {\r\n // setError(true); //TODO: add error handling\r\n }\r\n }, [apdispatch]);\r\n\r\n const getImpressum = () => {\r\n const impressum = {\r\n impressumLink: apstate.impressum.impressumLink,\r\n datenschutzLink: apstate.impressum.datenschutzLink,\r\n textColor: themeContext.button.secondary.color,\r\n };\r\n return impressum;\r\n };\r\n\r\n const getCountDaysToVisualize = () => {\r\n const MAX_DAYS_SMALL_DEVICES = 3;\r\n const MAX_SCREEN_WIDTH_SMALL_DEVICES = 414;\r\n\r\n if (!apstate.countDaysToVisualize) {\r\n return 0;\r\n } else if (screenSize.width >= 768 && screenSize.width < 890) {\r\n return MAX_DAYS_SMALL_DEVICES;\r\n } else if (screenSize.width > MAX_SCREEN_WIDTH_SMALL_DEVICES) {\r\n return apstate.countDaysToVisualize;\r\n } else if (apstate.countDaysToVisualize && apstate.countDaysToVisualize < MAX_DAYS_SMALL_DEVICES) {\r\n return apstate.countDaysToVisualize;\r\n } else {\r\n return MAX_DAYS_SMALL_DEVICES;\r\n }\r\n };\r\n\r\n /**\r\n * use extendedPhysicians in Booking (physicians and timeslots in one step)\r\n *\r\n * @returns true if extendedPhysicians is true and countDaysToVisualize is greater than 0\r\n */\r\n const isExtendedPhysicians = () => {\r\n if (\r\n apstate.extendedPhysicians &&\r\n apstate.extendedPhysicians === true &&\r\n apstate.countDaysToVisualize &&\r\n apstate.countDaysToVisualize > 0\r\n ) {\r\n return true;\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const isFullscreenMode = () => {\r\n return apstate.fullscreenMode;\r\n };\r\n\r\n const enableFullscreenMode = () => {\r\n apdispatch({ type: 'SET_FULLSCREEN_MODE', fullscreenMode: true });\r\n };\r\n\r\n const disableFullscreenMode = () => {\r\n apdispatch({ type: 'SET_FULLSCREEN_MODE', fullscreenMode: false });\r\n };\r\n\r\n const getPossibleCountries = () => {\r\n let countries;\r\n if (apstate.possibleCountries) {\r\n countries = apstate.possibleCountries.split(',');\r\n } else {\r\n countries = ['Deutschland', 'Österreich', 'Schweiz'];\r\n }\r\n return countries;\r\n };\r\n\r\n return {\r\n getAndSetAppProperties,\r\n getImpressum,\r\n isExtendedPhysicians,\r\n isFullscreenMode,\r\n enableFullscreenMode,\r\n disableFullscreenMode,\r\n getCountDaysToVisualize,\r\n getPossibleCountries,\r\n };\r\n};\r\n","import moment from 'moment';\r\nimport * as React from 'react';\r\nimport { IAuthData } from '../../container/CheckIn/CheckInWL';\r\nimport { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport { InitialLoginType } from '../../context/loginContext';\r\nimport { IExtension } from '../../context/questionnaireContext';\r\nimport { responseErrorHandling } from '../../utils/errorHandling';\r\nimport { IFile } from '../../utils/fileUtils';\r\nimport { IPhoto } from '../../utils/photoUtils';\r\nimport { getFHIRConfig } from './fhirConstants';\r\n\r\nconst fhir = require('fhir.js');\r\n\r\nconst DIAGNOSTIC_REPORT = 'DiagnosticReport';\r\n\r\nexport interface IDRResource {\r\n effectiveDateTime: string;\r\n status: string;\r\n category: {\r\n coding: [\r\n {\r\n code: string;\r\n display: string;\r\n system: string;\r\n },\r\n ];\r\n };\r\n code: {\r\n coding: [\r\n {\r\n code: string;\r\n display: string;\r\n system: string;\r\n },\r\n ];\r\n };\r\n context: {\r\n reference: string;\r\n };\r\n id: string;\r\n basedOn: [\r\n {\r\n reference: string;\r\n },\r\n ];\r\n extension: IExtension[];\r\n}\r\n\r\nexport interface IDRDataEntry {\r\n resource: IDRResource;\r\n}\r\n\r\nexport const getDiagnosticReportsOfPatient = async (state: InitialLoginType, alertdispatch: React.Dispatch) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: DIAGNOSTIC_REPORT,\r\n query: {\r\n patient: 'Patient/' + state.activeUserId,\r\n // _sort: '-date',\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getDiagnosticReportsByCategory = async (\r\n state: InitialLoginType,\r\n category: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: DIAGNOSTIC_REPORT,\r\n query: {\r\n patient: 'Patient/' + state.activeUserId,\r\n category: category,\r\n _targetDevice: 'WEB',\r\n // _sort: '-date',\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getDiagnosticReport = async (sessionId: string, documentId: string, authData?: IAuthData) => {\r\n if (authData) {\r\n const myAuthData = 'PCP ' + authData.otp + '&t0=' + authData.t0 + '&userId=' + authData.userId;\r\n return await fhir(getFHIRConfig(myAuthData)).read({\r\n type: DIAGNOSTIC_REPORT,\r\n id: documentId,\r\n });\r\n } else {\r\n return await fhir(getFHIRConfig(sessionId)).read({\r\n type: DIAGNOSTIC_REPORT,\r\n id: documentId,\r\n });\r\n }\r\n};\r\n\r\n/* not used yet, but can be used if we want to group the documents in day sections */\r\nexport const getSectionedReports = (reports: IDRDataEntry[]) => {\r\n const result: any[] = [];\r\n\r\n const reportsMap = new Map();\r\n\r\n reports?.map((report) => {\r\n const date = moment(report.resource.effectiveDateTime).format('DD.MM.YYYY');\r\n\r\n let arr = reportsMap.get(date);\r\n if (arr) {\r\n arr.push(report.resource);\r\n } else {\r\n arr = [report.resource];\r\n }\r\n reportsMap.set(date, arr);\r\n });\r\n\r\n const mapIter = reportsMap[Symbol.iterator]();\r\n\r\n for (const item of mapIter) {\r\n result.push({ key: item[0], data: item[1] });\r\n }\r\n\r\n return result;\r\n};\r\n\r\nexport const uploadPDF = async (\r\n state: InitialLoginType,\r\n file: IFile,\r\n title: string,\r\n conclusion: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n const dataTrim = file.data.split('base64,')[1];\r\n\r\n const dataResource = {\r\n resourceType: DIAGNOSTIC_REPORT,\r\n subject: { reference: 'Patient/' + state.activeUserId },\r\n conclusion: conclusion,\r\n effectiveDateTime: new Date(),\r\n presentedForm: [\r\n {\r\n contentType: 'application/pdf',\r\n data: dataTrim,\r\n title: title,\r\n },\r\n ],\r\n };\r\n\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .create({\r\n resource: dataResource,\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Upload PDF',\r\n alertTxt: 'Upload Fehler:' + e.status,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n // console.log('An error happened while uploadPDF: \\n', e);\r\n });\r\n};\r\n\r\nexport const sendPhotoDiagnosticReport = async (\r\n state: InitialLoginType,\r\n imageArr: IPhoto[],\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n const userId = state.activeUserId;\r\n const sessionId = state.sessionId;\r\n\r\n const presentedForm: any[] = [];\r\n\r\n imageArr.forEach((img: IPhoto, index: number) => {\r\n let name = 'Bild ' + index;\r\n let contentType = 'image/jpeg';\r\n if (img.name && img.name.length > 0) {\r\n name = img.name;\r\n }\r\n if (img.type && img.type.length > 0) {\r\n contentType = img.type;\r\n }\r\n presentedForm.push({\r\n contentType: contentType,\r\n data: img.data,\r\n title: name,\r\n });\r\n });\r\n\r\n const photoResource = {\r\n resourceType: DIAGNOSTIC_REPORT,\r\n meta: { versionId: '1', lastUpdated: new Date() },\r\n status: 'final',\r\n category: {\r\n coding: [{ system: 'http://www.principa.com', code: 'CD', display: 'CommonData' }],\r\n },\r\n code: {\r\n coding: [\r\n {\r\n system: 'http://www.principa.com',\r\n code: 'PHOTODOK',\r\n display: 'Fotodokumentation',\r\n },\r\n ],\r\n },\r\n subject: { reference: 'Patient/' + userId },\r\n effectiveDateTime: new Date(),\r\n context: { reference: 'Encounter/' + userId + (state.encounterId ? '_' + state.encounterId : '_null') },\r\n presentedForm,\r\n };\r\n\r\n return await fhir(getFHIRConfig(sessionId))\r\n .create({\r\n resource: photoResource,\r\n })\r\n .catch(function (e: { status: string }) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Fotodokumentation',\r\n alertTxt: 'Fotodokumentation senden Fehler:' + e.status,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n });\r\n};\r\n","import { createContext } from 'react';\r\n\r\nexport interface IQData {\r\n entry: IQDataEntry[];\r\n id: string;\r\n resourceType: string;\r\n type: string;\r\n}\r\n\r\nexport interface IQDataEntry {\r\n resource: IQResource[];\r\n}\r\n\r\nexport interface IQResource {\r\n id: string;\r\n item: IQMainItem[];\r\n name: string;\r\n resourceType: string;\r\n title: string;\r\n extension: IExtension[];\r\n status?: string;\r\n}\r\n\r\nexport interface IQBody {\r\n authored: string;\r\n context: {\r\n reference: string;\r\n };\r\n id: string;\r\n identifier: {\r\n system: string;\r\n value: string;\r\n };\r\n item: IQAnswers[];\r\n meta: {\r\n versionId: string;\r\n lastUpdated: string;\r\n };\r\n questionnaire: {\r\n reference: string;\r\n };\r\n resourceType: string;\r\n source: {\r\n reference: string;\r\n };\r\n status: string;\r\n subject: {\r\n reference: string;\r\n };\r\n}\r\n\r\nexport interface IExtension {\r\n url: string;\r\n valueString: string;\r\n valueBoolean?: boolean;\r\n valueReference: {\r\n reference: string;\r\n };\r\n}\r\n\r\nexport interface IQMainItem {\r\n item: IQItem[];\r\n linkId: string;\r\n text: string;\r\n type: string;\r\n}\r\n\r\nexport interface IAttachment {\r\n contentType: string;\r\n data: string;\r\n}\r\n\r\nexport interface IQItem {\r\n linkId: string;\r\n text: string;\r\n type: string;\r\n initialDate?: string;\r\n initialTime?: string;\r\n initialDateTime?: string;\r\n initialInteger?: string;\r\n initialCoding?: IQItemInitialChoiceOption;\r\n initialString?: string;\r\n initialAttachment?: IAttachment;\r\n modifierExtension?: IQItemExtension[];\r\n option?: IQItemChoiceOption[];\r\n extension?: IQItemExtension[];\r\n required?: boolean;\r\n enableWhen?: IQItemEnableWhen[];\r\n maxLength?: number;\r\n readOnly?: boolean;\r\n item?: IQItem[];\r\n}\r\n\r\nexport interface IQItemChoiceOption {\r\n modifierExtension?: IQOptionExtension[];\r\n valueCoding: {\r\n code: string;\r\n display: string;\r\n extension?: IQOptionExtension[];\r\n };\r\n}\r\n\r\nexport interface IQItemInitialChoiceOption {\r\n code: string;\r\n display: string;\r\n}\r\n\r\nexport interface IQItemExtension {\r\n url: string;\r\n valueString: string;\r\n valueDecimal?: number;\r\n valueInteger?: number;\r\n valueBoolean?: boolean;\r\n}\r\n\r\nexport interface IQOptionExtension {\r\n url: string;\r\n valueBoolean?: boolean;\r\n valueInteger?: number;\r\n}\r\n\r\nexport interface IQItemEnableWhen {\r\n hasAnswer: boolean;\r\n question: string;\r\n answerCoding: {\r\n code: string;\r\n };\r\n answerBoolean: boolean;\r\n modifierExtension?: IQItemExtension[];\r\n}\r\n\r\nexport interface IQAnswers {\r\n linkId: string;\r\n answer?: any; //IQAnswerValueCoding[] | IQAnswerValueInteger;\r\n}\r\n\r\nexport interface IQAnswerValueCoding {\r\n valueCoding: {\r\n code: string;\r\n display: string;\r\n extension?: IQOptionExtension[];\r\n };\r\n}\r\n\r\nexport interface IQAnswerValueInteger {\r\n valueInteger: number;\r\n}\r\n\r\nexport interface InitialQuestionnaireType {\r\n qData: IQData;\r\n selectedQuestionnaire: {\r\n resource: IQResource;\r\n };\r\n selectedAnswers: {\r\n item: IQAnswers[];\r\n };\r\n questionnaireBody: {\r\n data: IQBody;\r\n };\r\n isExternalRequest: boolean;\r\n externalUserId: string;\r\n externalOTP: string;\r\n externalT0: string;\r\n externalBaseURL: string;\r\n callingPage: string;\r\n encounterId: string;\r\n}\r\n\r\nexport const initialQuestionnaireState = {\r\n qData: {\r\n entry: [\r\n {\r\n resource: [\r\n {\r\n id: '',\r\n item: [\r\n {\r\n item: [\r\n {\r\n linkId: '',\r\n text: '',\r\n type: '',\r\n },\r\n ],\r\n linkId: '',\r\n text: '',\r\n type: '',\r\n },\r\n ],\r\n name: '',\r\n resourceType: '',\r\n title: '',\r\n extension: [\r\n {\r\n url: '',\r\n valueString: '',\r\n valueReference: {\r\n reference: '',\r\n },\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ],\r\n id: '',\r\n resourceType: '',\r\n type: '',\r\n },\r\n selectedQuestionnaire: {\r\n resource: {\r\n id: '',\r\n item: [],\r\n name: '',\r\n resourceType: '',\r\n title: '',\r\n extension: [\r\n {\r\n url: '',\r\n valueString: '',\r\n valueReference: {\r\n reference: '',\r\n },\r\n },\r\n ],\r\n },\r\n },\r\n selectedAnswers: {\r\n item: [],\r\n },\r\n questionnaireBody: {\r\n data: {\r\n authored: '',\r\n context: {\r\n reference: '',\r\n },\r\n id: '',\r\n identifier: {\r\n system: '',\r\n value: '',\r\n },\r\n item: [],\r\n meta: {\r\n versionId: '',\r\n lastUpdated: '',\r\n },\r\n questionnaire: {\r\n reference: '',\r\n },\r\n resourceType: '',\r\n source: {\r\n reference: '',\r\n },\r\n status: '',\r\n subject: {\r\n reference: '',\r\n },\r\n },\r\n },\r\n isExternalRequest: false,\r\n externalUserId: '',\r\n externalOTP: '',\r\n externalT0: '',\r\n externalBaseURL: '',\r\n callingPage: '',\r\n encounterId: '',\r\n};\r\n\r\nconst QuestionnaireContext = createContext<{\r\n qstate: InitialQuestionnaireType;\r\n qdispatch: React.Dispatch;\r\n}>({\r\n qstate: initialQuestionnaireState,\r\n qdispatch: () => null,\r\n});\r\n\r\nexport default QuestionnaireContext;\r\n","import { Button } from 'react-bootstrap';\r\nimport Badge from 'react-bootstrap/Badge';\r\nimport styled from 'styled-components';\r\nimport { appointmentStatus } from '../../globals/global';\r\nimport { ParagraphFontSize } from '../StyledParagraph/StyledParagraph';\r\n\r\nexport const StyledBadge = styled(Badge)`\r\n align-self: right;\r\n border-width: ${(props) => (props.borderwidth ? props.borderwidth : 'thin')};\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-color: ${(props) =>\r\n props.status === 'cancelled' || props.status === appointmentStatus.enteredInError\r\n ? props.theme.badge.neg.borderColor\r\n : 'black'};\r\n color: ${(props) =>\r\n props.status === 'cancelled' || props.status === appointmentStatus.enteredInError\r\n ? props.theme.badge.neg.color\r\n : 'black'};\r\n font-weight: ${(props) => (props.status === appointmentStatus.enteredInError ? 'bold' : 'normal')};\r\n font-size: 14px;\r\n`;\r\n\r\nexport const Styled2FABadge = styled(Badge)`\r\n align-self: right;\r\n border-width: thin;\r\n border-radius: 10px;\r\n border-style: solid;\r\n border-color: ${(props) =>\r\n props.status === 'deaktiviert' ? props.theme.badge.neg.borderColor : props.theme.badge.pos.borderColor};\r\n color: ${(props) => (props.status === 'deaktiviert' ? props.theme.badge.neg.color : props.theme.badge.pos.color)};\r\n font-weight: bold;\r\n font-size: 14px;\r\n`;\r\n\r\ninterface ICategoryBadge {\r\n backgroundColor?: string;\r\n backgroundColorSelected?: string;\r\n color?: string;\r\n colorSelected?: string;\r\n marginRight?: string;\r\n marginBottom?: string;\r\n fontSize?: string | ParagraphFontSize;\r\n}\r\n\r\nexport const CategoryBadge = styled(Button)`\r\n border-radius: 50px;\r\n background-color: ${(props) => (props.backgroundColor ? props.backgroundColor : null)};\r\n border-color: ${(props) => (props.backgroundColor ? props.backgroundColor : null)};\r\n color: ${(props) => (props.color ? props.color : null)};\r\n margin-right: ${(props) => (props.marginRight ? props.marginRight : null)};\r\n margin-bottom: ${(props) => (props.marginBottom ? props.marginBottom : null)};\r\n font-size: ${(props) => (props.fontSize ? props.fontSize : null)};\r\n &:hover {\r\n background-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n border-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n color: ${(props) => (props.colorSelected ? props.colorSelected : null)};\r\n }\r\n &:focus {\r\n background-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n border-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n color: ${(props) => (props.colorSelected ? props.colorSelected : null)};\r\n }\r\n &:hover:focus:active {\r\n background-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n border-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n color: ${(props) => (props.colorSelected ? props.colorSelected : null)};\r\n }\r\n &:active {\r\n background-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n border-color: ${(props) => (props.backgroundColorSelected ? props.backgroundColorSelected : null)};\r\n color: ${(props) => (props.colorSelected ? props.colorSelected : null)};\r\n }\r\n`;\r\n\r\ninterface ICategoryBadgeSelected {\r\n backgroundColor?: string;\r\n color?: string;\r\n marginLeft?: string;\r\n marginRight?: string;\r\n marginBottom?: string;\r\n fontSize?: string | ParagraphFontSize;\r\n}\r\n\r\nexport const CategoryBadgeSelected = styled(Badge)`\r\n border-radius: 50px;\r\n background-color: ${(props) => (props.backgroundColor ? props.backgroundColor : null)};\r\n border-color: ${(props) => (props.backgroundColor ? props.backgroundColor : null)};\r\n color: ${(props) => (props.color ? props.color : null)};\r\n margin-left: ${(props) => (props.marginLeft ? props.marginLeft : null)};\r\n margin-right: ${(props) => (props.marginRight ? props.marginRight : null)};\r\n margin-bottom: ${(props) => (props.marginBottom ? props.marginBottom : null)};\r\n font-size: ${(props) => (props.fontSize ? props.fontSize : null)};\r\n max-width: 50%;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n`;\r\n\r\ninterface IBadgeWithWordWrap {\r\n padding?: string;\r\n}\r\n\r\nexport const BadgeWithWordWrap = styled(Badge)`\r\n white-space: normal;\r\n text-align: left;\r\n padding: ${(props) => (props.padding ? props.padding : null)};\r\n`;\r\n","import checkAnimation from '../lotties/checkAnimation.json';\r\n\r\nexport const lottieCheck = {\r\n loop: false,\r\n autoplay: true,\r\n animationData: checkAnimation, //fill color = #adcf03 (successGreen from theme)\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n};\r\n\r\nexport const calcButtonPaddingSize = (buttonRef: React.MutableRefObject, lottieWidth: number) => {\r\n let calcButtonWidth = '35px';\r\n if (buttonRef.current) {\r\n const buttonWidth = buttonRef.current.offsetWidth;\r\n const calcButtonW = (buttonWidth - lottieWidth) / 2;\r\n calcButtonWidth = calcButtonW.toString() + 'px';\r\n }\r\n return calcButtonWidth;\r\n};\r\n","import moment from 'moment';\r\nimport * as React from 'react';\r\nimport { InitialLoginType } from '../../context/loginContext';\r\nimport { getBirthdayPrettyFormatedWithAge } from '../../utils/dateUtils';\r\nimport { responseErrorHandling } from '../../utils/errorHandling';\r\nimport { getCountryLongName, getGenderEN } from '../../utils/pcpUtils';\r\nimport { IRegisterData } from '../RestServices';\r\nimport { getFHIRConfig } from './fhirConstants';\r\nconst fhir = require('fhir.js');\r\n\r\nexport interface IPatientResource {\r\n id: any;\r\n name: any;\r\n birthDate: any;\r\n address: any;\r\n gender: any;\r\n identifier: any;\r\n telecom: any;\r\n communication?: any;\r\n extension?: any;\r\n}\r\n\r\ninterface IPatientResourceAddress {\r\n street: string;\r\n houseNr: string;\r\n}\r\n\r\nexport interface IPlannedStudies {\r\n code: string;\r\n display: string;\r\n participate: boolean;\r\n}\r\n\r\n/**\r\n *\r\n * @param sessionId\r\n * the sessionId OR OTP variant (PCP otp,userId,to)\r\n * @param activeUserId\r\n * the activeUserId\r\n * @returns patientResource\r\n * the patient resource\r\n */\r\nexport const getPatientResource = async (sessionId: string, activeUserId: string) => {\r\n return await fhir(getFHIRConfig(sessionId)).read({\r\n type: 'Patient',\r\n id: activeUserId,\r\n });\r\n};\r\n\r\nexport const getPractitionerResource = async (sessionId: string, practitionerRoleId: string) => {\r\n return await fhir(getFHIRConfig(sessionId)).read({\r\n type: 'Practitioner',\r\n id: practitionerRoleId,\r\n });\r\n};\r\n\r\nexport const changePatientResource = async (state: InitialLoginType, resource: any) => {\r\n return await fhir(getFHIRConfig(state.sessionId)).update({\r\n type: 'Patient',\r\n id: state.userId,\r\n resource: resource.data,\r\n });\r\n};\r\n\r\nconst getNewPlannedStudiesEntry = (plannedStudy: IPlannedStudies) => {\r\n const newEntry = {\r\n url: 'http://www.principa.siegele-software.com/plannedStudies',\r\n valueCoding: {\r\n code: plannedStudy.code,\r\n display: plannedStudy.display,\r\n extension: [\r\n {\r\n url: 'http://www.principa.siegele-software.com/plannedStudySelection',\r\n valueBoolean: plannedStudy.participate,\r\n },\r\n ],\r\n },\r\n };\r\n return newEntry;\r\n};\r\n\r\nexport const updatePatientResourcePlannedStudies = (patientResource: any, newPlannedStudies: IPlannedStudies[]) => {\r\n if (patientResource.data.extension !== undefined) {\r\n newPlannedStudies.forEach((plannedStudy) => {\r\n let foundEntry = false;\r\n for (let i = 0; i < patientResource.data.extension.length; i++) {\r\n if (patientResource.data.extension[i].url.endsWith('plannedStudies')) {\r\n if (patientResource.data.extension[i].valueCoding?.code === plannedStudy.code) {\r\n for (let j = 0; j < patientResource.data.extension[i].valueCoding?.extension.length; j++) {\r\n if (\r\n patientResource.data.extension[i].valueCoding.extension[j]?.url.endsWith(\r\n 'plannedStudySelection',\r\n )\r\n ) {\r\n foundEntry = true;\r\n patientResource.data.extension[i].valueCoding.extension[j].valueBoolean =\r\n plannedStudy.participate;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (!foundEntry) {\r\n patientResource.data.extension[patientResource.data.extension.length] =\r\n getNewPlannedStudiesEntry(plannedStudy);\r\n }\r\n });\r\n } else {\r\n const studyEntries: any[] = [];\r\n newPlannedStudies.forEach((plannedStudy) => {\r\n studyEntries.push(getNewPlannedStudiesEntry(plannedStudy));\r\n });\r\n\r\n patientResource.data.extension = [...studyEntries];\r\n // patientResource.data.extension = [studyEntries[0]];\r\n }\r\n return patientResource;\r\n};\r\n\r\nexport const modifyPatientResource = (originalPatientResource: any, newData: IRegisterData) => {\r\n let newPatientResource = {} as any;\r\n\r\n newPatientResource = originalPatientResource;\r\n\r\n if (newData.birthdate !== undefined) {\r\n const formatedBirthdate = moment(newData.birthdate, 'DD.MM.YYYY').format('YYYY-MM-DD');\r\n newPatientResource.data.birthDate = formatedBirthdate;\r\n }\r\n if (newData.city !== undefined) {\r\n if (newPatientResource.data.address !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.address.length; i++) {\r\n if (newPatientResource.data.address[i].use === 'home') {\r\n newPatientResource.data.address[i].city = newData.city;\r\n break;\r\n }\r\n }\r\n } else {\r\n newPatientResource.data.address = [\r\n {\r\n city: newData.city,\r\n },\r\n ];\r\n }\r\n }\r\n if (newData.country !== undefined) {\r\n if (newPatientResource.data.address !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.address.length; i++) {\r\n if (newPatientResource.data.address[i].use === 'home') {\r\n newPatientResource.data.address[i].country = newData.country;\r\n break;\r\n }\r\n }\r\n } else {\r\n newPatientResource.data.address = [\r\n {\r\n country: newData.country,\r\n },\r\n ];\r\n }\r\n }\r\n if (newData.email !== undefined) {\r\n if (newPatientResource.data.telecom !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.telecom.length; i++) {\r\n if (newPatientResource.data.telecom[i].system === 'email') {\r\n newPatientResource.data.telecom[i].value = newData.email;\r\n break;\r\n }\r\n }\r\n } else {\r\n newPatientResource.data.telecom = [\r\n {\r\n system: 'email',\r\n value: newData.email,\r\n },\r\n ];\r\n }\r\n }\r\n if (newData.gender !== undefined) {\r\n newPatientResource.data.gender = getGenderEN(newData.gender);\r\n }\r\n\r\n if (newData.insuranceNr !== undefined) {\r\n if (newPatientResource.data.identifier !== undefined) {\r\n let foundInsuranceNrEntry = false;\r\n for (let i = 0; i < newPatientResource.data.identifier.length; i++) {\r\n if (newPatientResource.data.identifier[i].system === 'http://fhir.de/NamingSystem/gkv/kvid-10') {\r\n foundInsuranceNrEntry = true;\r\n newPatientResource.data.identifier[i].value = newData.insuranceNr;\r\n break;\r\n }\r\n }\r\n if (!foundInsuranceNrEntry) {\r\n newPatientResource.data.identifier[newPatientResource.data.identifier.length] = {\r\n system: 'http://fhir.de/NamingSystem/gkv/kvid-10',\r\n value: newData.insuranceNr,\r\n };\r\n }\r\n } else {\r\n newPatientResource.data.identifier = [\r\n {\r\n system: 'http://fhir.de/NamingSystem/gkv/kvid-10',\r\n value: newData.insuranceNr,\r\n },\r\n ];\r\n }\r\n }\r\n\r\n if (newData.nameFirst !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.name.length; i++) {\r\n if (newPatientResource.data.name[i].use === 'usual') {\r\n newPatientResource.data.name[i].given[0] = newData.nameFirst;\r\n break;\r\n }\r\n }\r\n }\r\n if (newData.nameLast !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.name.length; i++) {\r\n if (newPatientResource.data.name[i].use === 'usual') {\r\n newPatientResource.data.name[i].family = newData.nameLast;\r\n break;\r\n }\r\n }\r\n }\r\n if (newData.academicTitle !== undefined) {\r\n let prefixPosition = 0;\r\n for (let i = 0; i < newPatientResource.data.name.length; i++) {\r\n if (newPatientResource.data.name[i].use === 'usual') {\r\n if (newPatientResource.data.name[i]._prefix !== undefined) {\r\n for (let j = 0; j < newPatientResource.data.name[i]._prefix.length; j++) {\r\n if (newPatientResource.data.name[i]._prefix[j]?.extension) {\r\n for (let z = 0; z < newPatientResource.data.name[i]._prefix[j].extension.length; z++) {\r\n if (\r\n newPatientResource.data.name[i]._prefix[j].extension[z].url ===\r\n 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier' &&\r\n newPatientResource.data.name[i]._prefix[j].extension[z].valueCode === 'AC'\r\n ) {\r\n prefixPosition = j;\r\n break;\r\n }\r\n }\r\n }\r\n }\r\n\r\n newPatientResource.data.name[i].prefix[prefixPosition] = newData.academicTitle;\r\n } else {\r\n if (newPatientResource.data.name[i].prefix !== undefined) {\r\n prefixPosition = newPatientResource.data.name[i].prefix.length;\r\n }\r\n newPatientResource.data.name[i].prefix[prefixPosition] = newData.academicTitle;\r\n\r\n // newPatientResource.data.name[i]._prefix = [\r\n // {\r\n // extension: [\r\n // {\r\n // url: 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',\r\n // valueCode: 'AC',\r\n // },\r\n // ],\r\n // },\r\n // ];\r\n\r\n newPatientResource.data.name[i]._prefix = [];\r\n for (let j = 0; j <= prefixPosition; j++) {\r\n if (prefixPosition === j) {\r\n newPatientResource.data.name[i]._prefix[j] = [\r\n {\r\n extension: [\r\n {\r\n url: 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier',\r\n valueCode: 'AC',\r\n },\r\n ],\r\n },\r\n ];\r\n } else {\r\n newPatientResource.data.name[i]._prefix[j] = null;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n if (newData.street !== undefined) {\r\n if (newPatientResource.data.address !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.address.length; i++) {\r\n if (newPatientResource.data.address[i].use === 'home') {\r\n if (newPatientResource.data.address[i].line !== undefined) {\r\n newPatientResource.data.address[i].line[0] = newData.street + ' ' + newData.streetNr;\r\n newPatientResource.data.address[i]._line[0].extension[0].valueString = newData.street;\r\n newPatientResource.data.address[i]._line[0].extension[1].valueString = newData.streetNr;\r\n break;\r\n } else {\r\n newPatientResource.data.address[i].line = [newData.street + ' ' + newData.streetNr];\r\n newPatientResource.data.address[i]._line = [\r\n {\r\n extension: [\r\n {\r\n url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName',\r\n valueString: newData.street,\r\n },\r\n {\r\n url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber',\r\n valueString: newData.streetNr,\r\n },\r\n ],\r\n },\r\n ];\r\n }\r\n }\r\n }\r\n } else {\r\n newPatientResource.data.address = [\r\n {\r\n use: 'home',\r\n line: [newData.street + ' ' + newData.streetNr],\r\n _line: [\r\n {\r\n extension: [\r\n {\r\n url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-streetName',\r\n valueString: newData.street,\r\n },\r\n {\r\n url: 'http://hl7.org/fhir/StructureDefinition/iso21090-ADXP-houseNumber',\r\n valueString: newData.streetNr,\r\n },\r\n ],\r\n },\r\n ],\r\n },\r\n ];\r\n\r\n newPatientResource.data.address[0].line[0] = newData.street + ' ' + newData.streetNr;\r\n }\r\n }\r\n if (newData.tel !== undefined) {\r\n if (newPatientResource.data.telecom !== undefined) {\r\n let foundPhoneEntry = false;\r\n for (let i = 0; i < newPatientResource.data.telecom.length; i++) {\r\n if (\r\n newPatientResource.data.telecom[i].system === 'phone' &&\r\n newPatientResource.data.telecom[i].use === 'home'\r\n ) {\r\n foundPhoneEntry = true;\r\n newPatientResource.data.telecom[i].value = newData.tel;\r\n break;\r\n }\r\n }\r\n if (!foundPhoneEntry) {\r\n newPatientResource.data.telecom[newPatientResource.data.telecom.length] = [\r\n {\r\n system: 'phone',\r\n use: 'home',\r\n value: newData.tel,\r\n },\r\n ];\r\n }\r\n } else {\r\n newPatientResource.data.telecom = [\r\n {\r\n system: 'phone',\r\n use: 'home',\r\n value: newData.tel,\r\n },\r\n ];\r\n }\r\n }\r\n if (newData.mobilePhone !== undefined) {\r\n if (newPatientResource.data.telecom !== undefined) {\r\n let foundPhoneEntry = false;\r\n for (let i = 0; i < newPatientResource.data.telecom.length; i++) {\r\n if (\r\n newPatientResource.data.telecom[i].system === 'phone' &&\r\n newPatientResource.data.telecom[i].use === 'mobile'\r\n ) {\r\n foundPhoneEntry = true;\r\n newPatientResource.data.telecom[i].value = newData.mobilePhone;\r\n break;\r\n }\r\n }\r\n if (!foundPhoneEntry) {\r\n newPatientResource.data.telecom[newPatientResource.data.telecom.length] = [\r\n {\r\n system: 'phone',\r\n use: 'mobile',\r\n value: newData.mobilePhone,\r\n },\r\n ];\r\n }\r\n } else {\r\n newPatientResource.data.telecom = [\r\n {\r\n system: 'phone',\r\n use: 'mobile',\r\n value: newData.mobilePhone,\r\n },\r\n ];\r\n }\r\n }\r\n if (newData.zip !== undefined) {\r\n if (newPatientResource.data.address !== undefined) {\r\n for (let i = 0; i < newPatientResource.data.address.length; i++) {\r\n if (newPatientResource.data.address[i].use === 'home') {\r\n newPatientResource.data.address[i].postalCode = newData.zip;\r\n break;\r\n }\r\n }\r\n } else {\r\n newPatientResource.data.address = [\r\n {\r\n postalCode: newData.zip,\r\n },\r\n ];\r\n }\r\n }\r\n if (newData.plannedStudies !== undefined) {\r\n updatePatientResourcePlannedStudies(newPatientResource, newData.plannedStudies);\r\n }\r\n\r\n return newPatientResource;\r\n};\r\n\r\nexport const getPatientId = (patientdataJson: IPatientResource) => {\r\n const id = patientdataJson.id;\r\n if (id !== undefined) {\r\n return id;\r\n }\r\n};\r\n\r\nexport const getPatientNumber = (patientdataJson: IPatientResource) => {\r\n const ele = patientdataJson.identifier?.find((element) => {\r\n return element.system?.endsWith('patientNumber');\r\n });\r\n if (ele) {\r\n return ele.value;\r\n }\r\n};\r\n\r\nexport const getFamilyName = (patientdataJson: IPatientResource) => {\r\n const nameArr = patientdataJson.name;\r\n for (let i = 0; i < nameArr.length; i++) {\r\n if (nameArr[i].use === 'usual') {\r\n const familyName = nameArr[i].family;\r\n if (familyName !== undefined) {\r\n return familyName;\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getGivenName = (patientdataJson: IPatientResource) => {\r\n const nameArr = patientdataJson.name;\r\n for (let i = 0; i < nameArr.length; i++) {\r\n if (nameArr[i].use === 'usual') {\r\n const givenName = nameArr[i].given;\r\n if (givenName !== undefined) {\r\n return givenName[0];\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getInsuranceNr = (patientdataJson: IPatientResource) => {\r\n const identifier = patientdataJson.identifier;\r\n\r\n if (identifier !== undefined) {\r\n for (let i = 0; i < identifier.length; i++) {\r\n if (identifier[i].system === 'http://fhir.de/NamingSystem/gkv/kvid-10') {\r\n const insuranceNr = identifier[i].value;\r\n if (typeof insuranceNr !== 'undefined') {\r\n return insuranceNr;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getBirthDate = (patientdataJson: IPatientResource) => {\r\n const birthdate = patientdataJson.birthDate;\r\n return getBirthdayPrettyFormatedWithAge(birthdate);\r\n};\r\n\r\nexport const getGender = (patientdataJson: IPatientResource) => {\r\n const gender = patientdataJson.gender;\r\n if (gender !== undefined) {\r\n return gender;\r\n }\r\n};\r\n\r\nexport const getHomePhone = (patientdataJson: IPatientResource) => {\r\n const telecomArr = patientdataJson.telecom;\r\n\r\n if (telecomArr !== undefined) {\r\n for (let i = 0; i < telecomArr.length; i++) {\r\n if (telecomArr[i].system === 'phone' && telecomArr[i].use === 'home') {\r\n const phone = telecomArr[i].value;\r\n if (typeof phone !== 'undefined') {\r\n return phone;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getMobilePhone = (patientdataJson: IPatientResource) => {\r\n const telecomArr = patientdataJson.telecom;\r\n\r\n if (telecomArr !== undefined) {\r\n for (let i = 0; i < telecomArr.length; i++) {\r\n if (telecomArr[i].system === 'phone' && telecomArr[i].use === 'mobile') {\r\n const phone = telecomArr[i].value;\r\n if (typeof phone !== 'undefined') {\r\n return phone;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getAcademicTitle = (patientdataJson: IPatientResource) => {\r\n const nameArr = patientdataJson.name;\r\n\r\n let arrayPosition = -1;\r\n\r\n if (nameArr) {\r\n for (let i = 0; i < nameArr.length; i++) {\r\n if (nameArr[i]._prefix) {\r\n for (let j = 0; j < nameArr[i]._prefix.length; j++) {\r\n if (nameArr[i]._prefix[j]) {\r\n if (nameArr[i]._prefix[j].extension) {\r\n for (let z = 0; z < nameArr[i]._prefix[j].extension.length; z++) {\r\n if (\r\n nameArr[i]._prefix[j].extension[z].url ===\r\n 'http://hl7.org/fhir/StructureDefinition/iso21090-EN-qualifier' &&\r\n nameArr[i]._prefix[j].extension[z].valueCode === 'AC'\r\n ) {\r\n arrayPosition = j;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n if (arrayPosition >= 0) {\r\n for (let i = 0; i < nameArr.length; i++) {\r\n const value = nameArr[i].prefix[arrayPosition];\r\n if (value) {\r\n return value;\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getCountry = (patientdataJson: IPatientResource) => {\r\n const addressArr = patientdataJson.address;\r\n\r\n if (addressArr !== undefined) {\r\n for (let i = 0; i < addressArr.length; i++) {\r\n if (addressArr[i].use === 'home') {\r\n const country = addressArr[i].country;\r\n if (typeof country !== 'undefined') {\r\n const countryLongName = getCountryLongName(country);\r\n return countryLongName;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getHomeEmail = (patientdataJson: IPatientResource) => {\r\n const telecomArr = patientdataJson.telecom;\r\n\r\n if (telecomArr !== undefined) {\r\n for (let i = 0; i < telecomArr.length; i++) {\r\n if (telecomArr[i].system === 'email' && telecomArr[i].use === 'home') {\r\n const email = telecomArr[i].value;\r\n if (typeof email !== 'undefined') {\r\n return email;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getHomeCity = (patientdataJson: IPatientResource) => {\r\n const addressArr = patientdataJson.address;\r\n\r\n if (addressArr !== undefined) {\r\n for (let i = 0; i < addressArr.length; i++) {\r\n if (addressArr[i].use === 'home') {\r\n const city = addressArr[i].city;\r\n if (typeof city !== 'undefined') {\r\n return city;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getHomeStreet = (patientdataJson: IPatientResource) => {\r\n const addressLine = splitAdressLineToStreetAndHouseNr(patientdataJson);\r\n return addressLine.street;\r\n};\r\n\r\nexport const getHomeHouseNr = (patientdataJson: IPatientResource) => {\r\n const addressLine = splitAdressLineToStreetAndHouseNr(patientdataJson);\r\n return addressLine.houseNr;\r\n};\r\n\r\nexport const splitAdressLineToStreetAndHouseNr = (patientdataJson: IPatientResource): IPatientResourceAddress => {\r\n const addressLine = getAddressLine(patientdataJson);\r\n let firstNumberAppearance = 0;\r\n\r\n const address: IPatientResourceAddress = {\r\n street: '',\r\n houseNr: '',\r\n };\r\n\r\n if (addressLine) {\r\n for (let i = 0; i < addressLine.length; i++) {\r\n const character = addressLine.charAt(i);\r\n if (character >= '0' && character <= '9') {\r\n firstNumberAppearance = i;\r\n break;\r\n }\r\n }\r\n\r\n let street = '';\r\n let houseNr = '';\r\n if (firstNumberAppearance === 0) {\r\n street = addressLine.trim();\r\n } else {\r\n street = addressLine.substring(0, firstNumberAppearance).trim();\r\n houseNr = addressLine.substring(firstNumberAppearance, addressLine.length).trim();\r\n }\r\n\r\n address.street = street;\r\n address.houseNr = houseNr;\r\n }\r\n\r\n return address;\r\n};\r\n\r\n/**\r\n * returns street and houseNr in one line -> split it in getHomeStreet and getHomeHouseNr\r\n *\r\n * @param patientdataJson the response from getPatientResource\r\n */\r\nexport const getAddressLine = (patientdataJson: IPatientResource) => {\r\n const addressArr = patientdataJson.address;\r\n\r\n if (addressArr !== undefined) {\r\n for (let i = 0; i < addressArr.length; i++) {\r\n if (addressArr[i].use === 'home') {\r\n const lineArr = addressArr[i].line;\r\n if (typeof lineArr !== 'undefined') {\r\n return lineArr[0];\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\n// export const getAddressLine = (patientdataJson: IPatientResource) : IPatientResourceAddress => {\r\n// let address : IPatientResourceAddress = {\r\n// street: '',\r\n// houseNr: '',\r\n// }\r\n\r\n// /* hier aufspliten auf street + houseNr */\r\n\r\n// return address;\r\n// }\r\n\r\nexport const getHomePostalCode = (patientdataJson: IPatientResource) => {\r\n const addressArr = patientdataJson.address;\r\n\r\n if (addressArr !== undefined) {\r\n for (let i = 0; i < addressArr.length; i++) {\r\n if (addressArr[i].use === 'home') {\r\n const postalCode = addressArr[i].postalCode;\r\n if (typeof postalCode !== 'undefined') {\r\n return postalCode;\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getLanguage = (patientdataJson: IPatientResource) => {\r\n if (patientdataJson.communication !== undefined) {\r\n const communcationArr = patientdataJson.communication;\r\n for (let i = 0; i < communcationArr.length; i++) {\r\n if (communcationArr[i].language !== undefined) {\r\n const language = communcationArr[i].language;\r\n if (language !== undefined) {\r\n if (language.coding !== undefined) {\r\n const languageName = language.coding[0].display;\r\n return languageName;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getInsuranceName = (patientdataJson: IPatientResource) => {\r\n if (patientdataJson.extension !== undefined) {\r\n const communcationArr = patientdataJson.communication;\r\n if (communcationArr !== undefined) {\r\n for (let i = 0; i < communcationArr.length; i++) {\r\n if (communcationArr[i].language !== undefined) {\r\n const language = communcationArr[i].language;\r\n if (language !== undefined) {\r\n if (language.coding !== undefined) {\r\n const languageName = language.coding[0].display;\r\n return languageName;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n};\r\n\r\nexport const getPlannedStudies = (patientdataJson: IPatientResource) => {\r\n const allPlannedStudies: IPlannedStudies[] = [];\r\n\r\n if (patientdataJson.extension) {\r\n const plannedStudies = patientdataJson.extension.filter((p: any) => p.url.endsWith('plannedStudies'));\r\n\r\n if (plannedStudies) {\r\n plannedStudies.forEach((plannedStudy) => {\r\n let code = '';\r\n let display = '';\r\n let participate = false;\r\n\r\n if (plannedStudy.valueCoding) {\r\n code = plannedStudy.valueCoding.code;\r\n display = plannedStudy.valueCoding.display;\r\n\r\n if (plannedStudy.valueCoding.extension) {\r\n const plannedStudySelection = plannedStudy.valueCoding.extension.find((p: any) =>\r\n p.url.endsWith('plannedStudySelection'),\r\n );\r\n if (plannedStudySelection) {\r\n if (plannedStudySelection.valueBoolean) {\r\n participate = plannedStudySelection.valueBoolean;\r\n\r\n allPlannedStudies.push({\r\n code: code,\r\n display: display,\r\n participate: participate,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n });\r\n }\r\n }\r\n\r\n return allPlannedStudies;\r\n};\r\n\r\nexport const extractPatData = (patdata: any) => {\r\n const birthdayFormated = getBirthDate(patdata.data);\r\n\r\n const patdataExt = {\r\n insuranceNr: getInsuranceNr(patdata.data),\r\n firstName: getGivenName(patdata.data),\r\n lastName: getFamilyName(patdata.data),\r\n birthday: patdata.data.birthDate,\r\n birthdayFormated: birthdayFormated ? birthdayFormated : '',\r\n gender: getGender(patdata.data),\r\n emailHome: getHomeEmail(patdata.data),\r\n telephoneHome: getHomePhone(patdata.data),\r\n streetHome: getHomeStreet(patdata.data),\r\n houseNrHome: getHomeHouseNr(patdata.data),\r\n cityHome: getHomeCity(patdata.data),\r\n zipHome: getHomePostalCode(patdata.data),\r\n country: getCountry(patdata.data),\r\n mobilePhone: getMobilePhone(patdata.data),\r\n academicTitle: getAcademicTitle(patdata.data),\r\n plannedStudies: getPlannedStudies(patdata.data),\r\n patientId: getPatientId(patdata.data),\r\n patientNumber: getPatientNumber(patdata.data),\r\n insuranceName: getInsuranceName(patdata.data),\r\n language: getLanguage(patdata.data),\r\n };\r\n\r\n return patdataExt;\r\n};\r\n\r\nexport const getPatientProfilePictureWL = async (sessionId: string, userId: string) => {\r\n return await fhir(getFHIRConfig(sessionId)).search({\r\n type: 'Patient',\r\n query: {\r\n _id: userId,\r\n _includePicture: 'true',\r\n },\r\n });\r\n};\r\n\r\nexport const getPatientProfilePicture = async (state: InitialLoginType, alertdispatch: React.Dispatch) => {\r\n if (state.practitionerRoleId) {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: 'Practitioner',\r\n query: {\r\n _id: state.practitionerRoleId,\r\n _includePicture: 'true',\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n } else {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: 'Patient',\r\n query: {\r\n _id: state.userId,\r\n _includePicture: 'true',\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport const getPatientsWithName = async (\r\n state: InitialLoginType,\r\n familyName: string,\r\n givenName: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: 'Patient',\r\n query: {\r\n family: familyName,\r\n given: givenName,\r\n _includePicture: 'true',\r\n practitioner: state.practitionerRoleId,\r\n _count: 30,\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n","import Lottie from 'react-lottie';\r\nimport Mainscreen from '../../container/Mainscreen/Mainscreen';\r\nimport loadingSpinner from '../../lotties/loadingSpinner.json';\r\nimport loadingSpinnerWhite from '../../lotties/loadingSpinnerWhite.json';\r\nimport { VerticalCenterDiv } from '../Div/StyledDiv';\r\n\r\nconst lottieSpinnerOptions = {\r\n loop: true,\r\n autoplay: true,\r\n animationData: loadingSpinner,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n};\r\n\r\nconst lottieSpinnerWhiteOptions = {\r\n loop: true,\r\n autoplay: true,\r\n animationData: loadingSpinnerWhite,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n};\r\n\r\nconst LottieSpinner = () => {\r\n return ;\r\n};\r\n\r\nexport const LoadingSpinner = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const LoadingSpinnerInMainscreen = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\ninterface ILottieButtonLoadingSpinner {\r\n size: number;\r\n}\r\n\r\nexport const LottieButtonLoadingSpinner = (props: ILottieButtonLoadingSpinner) => {\r\n return ;\r\n};\r\n","import { useContext } from 'react';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport { ThemeContext } from 'styled-components';\r\nimport { VerticalCenterDiv } from '../Div/StyledDiv';\r\nimport { LoadingSpinner } from './Loading';\r\n\r\nexport interface ILoadingSpinner {\r\n loadingText: string;\r\n}\r\nconst LoadingSpinnerWithText = (props: ILoadingSpinner) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

{props.loadingText}

\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoadingSpinnerWithText;\r\n","import { createContext } from 'react';\r\n\r\nexport type InitialExecuteRuleType = {\r\n ruleName: string;\r\n ruleParam: string;\r\n persInfo: string;\r\n};\r\n\r\nexport const initialExecuteRuleState = {\r\n ruleName: '',\r\n ruleParam: '',\r\n persInfo: '',\r\n};\r\n\r\nconst ExecuteRuleContext = createContext<{\r\n executerulestate: InitialExecuteRuleType;\r\n executeruledispatch: React.Dispatch;\r\n}>({\r\n executerulestate: initialExecuteRuleState,\r\n executeruledispatch: () => null,\r\n});\r\n\r\nexport default ExecuteRuleContext;\r\n","export interface IAudio {\r\n audioFile: HTMLAudioElement;\r\n audioMuted: boolean;\r\n}\r\n\r\nconst handleAudioPlay = (a: HTMLAudioElement) => {\r\n const audioPromise = a.play();\r\n if (audioPromise !== undefined) {\r\n audioPromise\r\n .then(() => {\r\n // autoplay started\r\n })\r\n .catch((err: any) => {\r\n // catch dom exception\r\n console.info(err);\r\n });\r\n }\r\n};\r\n\r\n// let delayTimeout: number;\r\nexport const playSound = (props: IAudio) => {\r\n props.audioFile.load();\r\n props.audioFile.currentTime = 0;\r\n props.audioFile.loop = true;\r\n props.audioFile.muted = props.audioMuted;\r\n handleAudioPlay(props.audioFile);\r\n};\r\n\r\nexport const stopSound = (audio: HTMLAudioElement) => {\r\n audio.pause();\r\n audio.currentTime = 0;\r\n};\r\n","import * as React from 'react';\r\nimport { useContext } from 'react';\r\nimport OverlayTrigger from 'react-bootstrap/OverlayTrigger';\r\nimport Tooltip from 'react-bootstrap/Tooltip';\r\nimport Lottie from 'react-lottie';\r\nimport { Location, NavigateFunction, useLocation, useNavigate } from 'react-router-dom';\r\nimport LoginContext, { InitialLoginType } from '../../context/loginContext';\r\nimport TerminierungContext, { InitialTerminierungType } from '../../context/terminierungContext';\r\nimport VideochatContext, { InitialVideochatType } from '../../context/videochatContext';\r\nimport incomingCallAnimation from '../../lotties/telephoneRing.json';\r\nimport callOffAnimation from '../../lotties/telephoneRingOff.json';\r\nimport { Paths } from '../../Routes';\r\nimport { IAudio, playSound, stopSound } from '../../utils/soundUtils';\r\n\r\n// import { audiofile } from '../../sounds/ringTone.mp3';\r\n\r\n// const ringtone = new Audio(audiofile);\r\nconst ringtone = new Audio('/ringTone.mp3');\r\n\r\nlet ringtoneStarted = false;\r\n\r\nconst lottieIncomingCall = {\r\n loop: true,\r\n autoplay: true,\r\n animationData: incomingCallAnimation,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n};\r\n\r\nconst lottieCallOff = {\r\n loop: false,\r\n autoplay: false,\r\n animationData: callOffAnimation,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n};\r\n\r\ninterface ITelephoneRing {\r\n incomingCall: boolean;\r\n callAccepted: boolean;\r\n caller: string;\r\n}\r\n\r\nconst gotIceCandidate = (event: RTCPeerConnectionIceEvent, remoteSid: string, sessionId: string) => {\r\n if (event.candidate !== null) {\r\n const sid = sessionId;\r\n window.app.wsconnect.send(\r\n JSON.stringify({ rtc: 'true', ice: event.candidate, mySid: sid, remoteSid: remoteSid }),\r\n );\r\n // console.log('chat.gotIceCandidate for ' + sid + ': ' + JSON.stringify(event.candidate));\r\n }\r\n};\r\n\r\nconst callAccept = async (\r\n state: InitialLoginType,\r\n vsstate: InitialVideochatType,\r\n vsdispatch: React.Dispatch,\r\n tmstate: InitialTerminierungType,\r\n navigate: NavigateFunction,\r\n) => {\r\n let sid = '';\r\n if (tmstate.withLogin) {\r\n sid = state.sessionId;\r\n } else {\r\n sid = tmstate.enrollData.enrollCode;\r\n }\r\n\r\n stopSound(ringtone);\r\n ringtoneStarted = false;\r\n\r\n window.app.wsconnect.send(\r\n JSON.stringify({\r\n rtc: 'true',\r\n cmd: 'callAccepted',\r\n mySid: sid,\r\n remoteSid: vsstate.remoteSid,\r\n hasOwnVideo: true,\r\n }),\r\n );\r\n\r\n window.app.wsconnect.peerConnection.onicecandidate = (event: RTCPeerConnectionIceEvent) => {\r\n let sid = '';\r\n if (tmstate.withLogin) {\r\n sid = state.sessionId;\r\n } else {\r\n sid = tmstate.enrollData.enrollCode;\r\n }\r\n gotIceCandidate(event, vsstate.remoteSid, sid);\r\n };\r\n\r\n window.app.wsconnect.peerConnection.ontrack = (event: RTCTrackEvent) => {\r\n vsdispatch({\r\n type: 'ONREMOTESTREAM',\r\n remoteStream: event.streams[0],\r\n });\r\n };\r\n\r\n vsdispatch({\r\n type: 'ONACCEPT',\r\n });\r\n\r\n if (tmstate.withCheckIn) {\r\n // handled in CheckInWL\r\n } else if (tmstate.withLogin) {\r\n navigate(Paths.VIDEOCHAT);\r\n } else {\r\n navigate(Paths.VIDEOCHAT_WL);\r\n }\r\n};\r\n\r\nexport const callOff = async (\r\n navigation: NavigateFunction,\r\n location: Location,\r\n userAction: boolean,\r\n vsdispatch: React.Dispatch,\r\n tmstate: InitialTerminierungType,\r\n state?: InitialLoginType,\r\n vsstate?: InitialVideochatType,\r\n) => {\r\n stopRingTone();\r\n\r\n if (userAction) {\r\n if (state && vsstate) {\r\n let sid = '';\r\n if (tmstate.withLogin) {\r\n sid = state.sessionId;\r\n } else {\r\n sid = tmstate.enrollData.enrollCode;\r\n }\r\n\r\n window.app.wsconnect.send(\r\n JSON.stringify({\r\n rtc: 'true',\r\n cmd: 'callRefused',\r\n mySid: sid,\r\n remoteSid: vsstate.remoteSid,\r\n type: 'ABORT',\r\n }),\r\n );\r\n }\r\n }\r\n\r\n vsdispatch({\r\n type: 'ONDISCONNECT',\r\n });\r\n\r\n if (tmstate.withCheckIn) {\r\n // handled in CheckInWL\r\n } else if (tmstate.withLogin) {\r\n if (location.pathname.endsWith(Paths.VIDEOCHAT)) {\r\n navigation(Paths.TERMINE);\r\n }\r\n } else {\r\n navigation(Paths.TERMINCODE);\r\n }\r\n};\r\n\r\nexport interface ITelephoneCallIcon {\r\n state: InitialLoginType;\r\n vsstate: InitialVideochatType;\r\n vsdispatch: React.Dispatch;\r\n tmstate: InitialTerminierungType;\r\n tooltipText?: string;\r\n}\r\n\r\nexport const CallAcceptIcon = (props: ITelephoneCallIcon) => {\r\n const navigate = useNavigate();\r\n const callAcceptTooltip = () => {\r\n if (props.tooltipText) {\r\n return {props.tooltipText};\r\n } else {\r\n return (\r\n \r\n Sie werden von {props.vsstate.caller} gerufen\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
callAccept(props.state, props.vsstate, props.vsdispatch, props.tmstate, navigate)}>\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport const CallOffIcon = (props: ITelephoneCallIcon) => {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n return (\r\n Anruf beenden}\r\n >\r\n \r\n callOff(navigate, location, true, props.vsdispatch, props.tmstate, props.state, props.vsstate)\r\n }\r\n >\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport const playRingTone = (soundConfig: IAudio) => {\r\n playSound(soundConfig);\r\n};\r\n\r\nexport const stopRingTone = () => {\r\n stopSound(ringtone);\r\n ringtoneStarted = false;\r\n};\r\n\r\nconst TelephoneRing = (props: ITelephoneRing) => {\r\n const { state } = useContext(LoginContext);\r\n const { vsstate, vsdispatch } = useContext(VideochatContext);\r\n const { tmstate } = useContext(TerminierungContext);\r\n\r\n const callProps: ITelephoneCallIcon = {\r\n state: state,\r\n vsstate: vsstate,\r\n vsdispatch: vsdispatch,\r\n tmstate: tmstate,\r\n };\r\n\r\n if (props.incomingCall) {\r\n if (!ringtoneStarted) {\r\n const soundConfig: IAudio = {\r\n audioFile: ringtone,\r\n audioMuted: vsstate.audioMuted,\r\n };\r\n\r\n playRingTone(soundConfig);\r\n ringtoneStarted = true;\r\n }\r\n\r\n return ;\r\n } else if (props.callAccepted) {\r\n return ;\r\n } else {\r\n return null;\r\n }\r\n};\r\n\r\nconst Telephone = () => {\r\n const { vsstate } = useContext(VideochatContext);\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default Telephone;\r\n","import { createContext } from 'react';\r\n\r\nexport enum AlertOnHide {\r\n onlyClose = 1,\r\n goToHome,\r\n custom,\r\n reload,\r\n}\r\n\r\nexport enum AlertType {\r\n error,\r\n info,\r\n}\r\n\r\nexport type InitialAlertType = {\r\n alertMessage: {\r\n showModal: boolean;\r\n alertTitle: string;\r\n alertTxt: string;\r\n alertType: AlertType;\r\n onHide: AlertOnHide;\r\n onHideCustom: any;\r\n buttonName?: string;\r\n doBig?: boolean;\r\n doHTML?: boolean;\r\n };\r\n};\r\n\r\nexport const initialAlertState = {\r\n alertMessage: {\r\n showModal: false,\r\n alertTitle: '',\r\n alertTxt: '',\r\n alertType: AlertType.info,\r\n onHide: AlertOnHide.onlyClose,\r\n onHideCustom: undefined,\r\n buttonName: 'OK',\r\n doBig: false,\r\n },\r\n};\r\n\r\nconst AlertContext = createContext<{\r\n alertstate: InitialAlertType;\r\n alertdispatch: React.Dispatch;\r\n}>({\r\n alertstate: initialAlertState,\r\n alertdispatch: () => null,\r\n});\r\n\r\nexport default AlertContext;\r\n","import { useEffect, useRef, useState } from 'react';\r\nimport { ChatMessagesContainer } from './ChatMessagesContainer';\r\nimport { IncomingMessage, OutgoingMessage } from './Message';\r\n\r\nexport enum MessageType {\r\n Incoming,\r\n Outgoing,\r\n}\r\n\r\nexport interface IChatMessages {\r\n chatContainerHeight: string;\r\n messages: IChatMessage[];\r\n}\r\n\r\nexport interface IMessage {\r\n txt: string;\r\n time: string;\r\n}\r\n\r\nexport interface IChatMessage extends IMessage {\r\n type: MessageType;\r\n}\r\n\r\nconst ChatMessages = (props: IChatMessages) => {\r\n const messageBottomRef = useRef(null);\r\n const [allMsg, setAllMsg] = useState([]);\r\n\r\n useEffect(() => {\r\n displayAllMessages();\r\n }, [props.messages]);\r\n\r\n useEffect(() => {\r\n messageBottomRef.current.scrollIntoView({ block: 'nearest' });\r\n }, [allMsg]);\r\n\r\n const displayAllMessages = () => {\r\n const allMessages: any[] = [];\r\n\r\n props.messages.forEach((message: IChatMessage) => {\r\n if (message.type === MessageType.Outgoing) {\r\n allMessages.push();\r\n } else if (message.type === MessageType.Incoming) {\r\n allMessages.push();\r\n }\r\n });\r\n\r\n setAllMsg(allMessages);\r\n };\r\n\r\n return (\r\n \r\n {allMsg}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ChatMessages;\r\n","import { useState } from 'react';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Form from 'react-bootstrap/Form';\r\nimport { MdSend } from 'react-icons/md';\r\nimport { VerticalCenterDiv } from '../Div/StyledDiv';\r\n\r\ninterface IChatInput {\r\n handleUserMessage(userMsg: string): void;\r\n}\r\n\r\nconst ChatInput = (props: IChatInput) => {\r\n const [msg, setMsg] = useState('');\r\n\r\n const sendMessage = () => {\r\n props.handleUserMessage(msg);\r\n setMsg('');\r\n };\r\n\r\n const handleEnter = (event: any) => {\r\n if (event.key === 'Enter') {\r\n sendMessage();\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n setMsg(e.target.value)}\r\n onKeyDown={handleEnter}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ChatInput;\r\n","import Container from 'react-bootstrap/Container';\r\nimport styled from 'styled-components';\r\n\r\nexport const ChatMessagesContainer = styled(Container)`\r\n height: ${(props) => (props.height ? props.height : '200px')};\r\n overflow: auto;\r\n`;\r\n","import Col from 'react-bootstrap/esm/Col';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport styled from 'styled-components';\r\nimport { LeftDiv, RightDiv } from '../Div/StyledDiv';\r\nimport { ParagraphFontSize, StyledParagraph } from '../StyledParagraph/StyledParagraph';\r\nimport { IMessage } from './ChatMessages';\r\n\r\nconst OutgoingMsgDiv = styled(RightDiv)`\r\n background-color: #a3eaf7;\r\n border-radius: 10px;\r\n text-align: left;\r\n padding: 15px;\r\n`;\r\n\r\nconst IncomingMsgDiv = styled(LeftDiv)`\r\n background-color: #57aee7;\r\n border-radius: 10px;\r\n text-align: left;\r\n padding: 15px;\r\n`;\r\n\r\nexport const OutgoingMessage = (props: IMessage) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {props.txt}\r\n \r\n {props.time}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const IncomingMessage = (props: IMessage) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {props.txt}\r\n \r\n {props.time}\r\n \r\n \r\n \r\n );\r\n};\r\n","import moment from 'moment';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport Container from 'react-bootstrap/esm/Container';\r\nimport AlertContext from '../../context/alertContext';\r\nimport VideochatContext from '../../context/videochatContext';\r\nimport { addChatEntry, addChatEntryAppointment } from '../../services/RestServices';\r\nimport ChatInput from './ChatInput';\r\nimport ChatMessages, { IChatMessage, MessageType } from './ChatMessages';\r\nimport { ChatWidgetBaseContainer, ChatWidgetContainer } from './ChatWidgetContainer';\r\nimport ChatWidgetSymbol from './ChatWidgetSymbol';\r\n\r\nexport enum MessageIdType {\r\n AppId,\r\n EnrollCode,\r\n}\r\n\r\nexport interface IIncomingMessage {\r\n txt: string;\r\n isPat?: boolean;\r\n name: string;\r\n ts: string;\r\n}\r\n\r\nexport interface IChat {\r\n id: string;\r\n incomingMessages: IIncomingMessage[];\r\n}\r\n\r\nexport interface IChatExt extends IChat {\r\n idType: MessageIdType;\r\n asWidget: boolean;\r\n showChatInput: boolean;\r\n show: boolean;\r\n}\r\n\r\nexport interface IAppointmentChat {\r\n id: string;\r\n chatOpen: boolean;\r\n incomingMessages?: IIncomingMessage[];\r\n numberUnreadMsg?: number;\r\n}\r\n\r\nexport const isChatOpen = (appointmentChat: IAppointmentChat[], appId: string) => {\r\n const appointmentChatEntry = appointmentChat.find((e) => e.id === appId);\r\n if (appointmentChatEntry) {\r\n return appointmentChatEntry.chatOpen;\r\n }\r\n return false;\r\n};\r\n\r\nexport const getAppointmentChatEntry = (\r\n appointmentChat: IAppointmentChat[],\r\n appId: string,\r\n): IAppointmentChat | undefined => {\r\n const appointmentChatEntry = appointmentChat.find((e) => e.id === appId);\r\n return appointmentChatEntry;\r\n};\r\n\r\nconst Chat = (props: IChatExt) => {\r\n const [messages, setMessages] = useState([]);\r\n const [widgetIconClicked, setWidgetIconClicked] = useState(true);\r\n const { vsstate, vsdispatch } = useContext(VideochatContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n\r\n useEffect(() => {\r\n const allIncomingMsg: IChatMessage[] = [];\r\n props.incomingMessages.forEach((message: IIncomingMessage) => {\r\n const msg: IChatMessage = {\r\n txt: '',\r\n time: '',\r\n type: MessageType.Incoming,\r\n };\r\n msg.txt = message.txt;\r\n msg.time = message.ts;\r\n msg.type = MessageType.Incoming;\r\n if (message.isPat) {\r\n msg.type = MessageType.Outgoing;\r\n }\r\n\r\n allIncomingMsg.push(msg);\r\n });\r\n\r\n // setMessages((messages) => [...messages, ...allIncomingMsg]);\r\n if (allIncomingMsg.length > 0) {\r\n if (allIncomingMsg.length > messages.length) {\r\n setMessages(allIncomingMsg);\r\n }\r\n }\r\n }, [props.incomingMessages]);\r\n\r\n useEffect(() => {\r\n const allIncomingMsg: IChatMessage[] = [];\r\n if (vsstate.chatMessages) {\r\n vsstate.chatMessages.forEach((message: IIncomingMessage) => {\r\n const msg: IChatMessage = {\r\n txt: '',\r\n time: '',\r\n type: MessageType.Incoming,\r\n };\r\n msg.txt = message.txt;\r\n msg.time = message.ts;\r\n msg.type = MessageType.Incoming;\r\n if (message.isPat) {\r\n msg.type = MessageType.Outgoing;\r\n }\r\n\r\n allIncomingMsg.push(msg);\r\n });\r\n\r\n // setMessages((messages) => [...messages, ...allIncomingMsg]);\r\n if (allIncomingMsg.length > 0) {\r\n setMessages(allIncomingMsg);\r\n }\r\n }\r\n }, [vsstate.chatMessages]);\r\n\r\n const handleUserMessage = (userMsg: string) => {\r\n let response;\r\n if (props.idType === MessageIdType.AppId) {\r\n response = addChatEntryAppointment(props.id, userMsg, alertdispatch);\r\n } else if (props.idType === MessageIdType.EnrollCode) {\r\n response = addChatEntry(props.id, userMsg, alertdispatch);\r\n }\r\n\r\n if (response) {\r\n setMessages((messages) => [\r\n ...messages,\r\n { txt: userMsg, time: moment().format('L LT'), type: MessageType.Outgoing },\r\n ]);\r\n }\r\n };\r\n\r\n const handleWidgetSymbolClick = () => {\r\n setWidgetIconClicked(!widgetIconClicked);\r\n vsdispatch({\r\n type: 'RESETNUMBERUNREADMESSAGES',\r\n });\r\n };\r\n\r\n const ChatWithWidget = () => {\r\n return (\r\n \r\n {widgetIconClicked && (\r\n \r\n \r\n {props.showChatInput === true && }\r\n \r\n )}\r\n \r\n \r\n );\r\n };\r\n\r\n const ChatWithoutWidget = () => {\r\n return (\r\n \r\n \r\n {props.showChatInput === true && }\r\n \r\n );\r\n };\r\n\r\n if (props.show) {\r\n if (props.asWidget) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n } else {\r\n return <>;\r\n }\r\n};\r\n\r\nexport default Chat;\r\n","import Container from 'react-bootstrap/Container';\r\nimport styled from 'styled-components';\r\n\r\nexport const ChatWidgetBaseContainer = styled(Container)`\r\n bottom: 0;\r\n display: flex;\r\n flex-direction: column;\r\n margin: 0 20px 20px 0;\r\n max-width: 370px;\r\n position: fixed;\r\n right: 0;\r\n width: 90vw;\r\n z-index: 1000;\r\n`;\r\n\r\nexport const ChatWidgetContainer = styled(Container)`\r\n padding: 10px;\r\n border-radius: 10px;\r\n box-shadow: 0 2px 10px 1px #b5b5b5;\r\n background-color: white;\r\n`;\r\n","import Badge from 'react-bootstrap/Badge';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport { BsChatDots } from 'react-icons/bs';\r\nimport styled from 'styled-components';\r\nimport StyledCol from '../Cols/StyledCol';\r\n\r\ninterface IChatWidgetSymbol {\r\n isOpen: boolean;\r\n handleIconClick?: any;\r\n numberUnreadMsg?: number;\r\n}\r\n\r\nconst ChatWidgetSymbolContainer = styled(Container)`\r\n align-self: flex-end;\r\n background-color: rgb(36, 94, 173);\r\n border: 0;\r\n border-radius: 500%;\r\n box-shadow: 0 2px 10px 1px #b5b5b5;\r\n height: 60px;\r\n margin-top: 10px;\r\n cursor: pointer;\r\n width: 60px;\r\n`;\r\n\r\nconst WidgetSymbol = (props: IChatWidgetSymbol) => {\r\n let showUnreadBadge = false;\r\n if (props.numberUnreadMsg && props.numberUnreadMsg > 0) {\r\n showUnreadBadge = true;\r\n }\r\n\r\n if (props.isOpen) {\r\n return

X

;\r\n } else {\r\n return (\r\n
\r\n \r\n {showUnreadBadge && (\r\n \r\n {props.numberUnreadMsg}\r\n \r\n )}\r\n
\r\n );\r\n }\r\n};\r\n\r\nconst ChatWidgetSymbol = (props: IChatWidgetSymbol) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChatWidgetSymbol;\r\n","import styled from 'styled-components';\r\n\r\nexport const StyledH3 = styled.h3`\r\n color: ${(props) => props.theme.font.highlightColor};\r\n`;\r\n\r\nexport const StyledMainHeader = styled.h3`\r\n @media only screen and (max-width: 500px), screen and (max-height: 500px) {\r\n font-size: 1.25rem;\r\n }\r\n`;\r\n\r\nexport const StyledSubHeader = styled.h4`\r\n @media only screen and (max-width: 500px), screen and (max-height: 500px) {\r\n font-size: 1.1rem;\r\n }\r\n`;\r\n","import { useContext } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../context/alertContext';\r\nimport CheckInContext from '../context/checkInContext';\r\nimport ExecuteRuleContext from '../context/executeRuleContext';\r\nimport LoginContext from '../context/loginContext';\r\nimport QuestionnaireContext from '../context/questionnaireContext';\r\nimport TerminierungContext from '../context/terminierungContext';\r\nimport VideochatContext from '../context/videochatContext';\r\nimport { logout, unblockAppointment } from '../services/RestServices';\r\nimport { showAlertMessage } from '../utils/alertHandling';\r\nimport { useAppointmentSelection } from './useAppointmentSelection';\r\n\r\nconst useHandleLogout = () => {\r\n const navigate = useNavigate();\r\n const { state, dispatch } = useContext(LoginContext);\r\n const { vsdispatch } = useContext(VideochatContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n const { qdispatch } = useContext(QuestionnaireContext);\r\n const { executeruledispatch } = useContext(ExecuteRuleContext);\r\n\r\n const handleLogout = async (\r\n event?: React.MouseEvent | React.MouseEvent,\r\n ) => {\r\n if (event !== undefined) {\r\n event.preventDefault();\r\n }\r\n\r\n const loginData = await logout(state.sessionId);\r\n\r\n if (loginData.error) {\r\n if (loginData.error.includes('SID not found')) {\r\n showAlertMessage({\r\n alertTitle: 'Authorization',\r\n alertTxt: 'Authorization failed',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.goToHome,\r\n alertdispatch: alertdispatch,\r\n });\r\n }\r\n } else {\r\n dispatch({ type: 'LOGOUT' });\r\n vsdispatch({ type: 'ONDISCONNECT' });\r\n vsdispatch({ type: 'CLOSEALLAPPOINTMENTCHATS' });\r\n vsdispatch({ type: 'SETAUDIOMUTED', audioMuted: false });\r\n tmdispatch({ type: 'RESETALL' });\r\n qdispatch({ type: 'RESETQUESTIONNAIRE' });\r\n executeruledispatch({ type: 'RESETRULEPROPERTIES' });\r\n navigate('/');\r\n }\r\n };\r\n\r\n return {\r\n handleLogout,\r\n };\r\n};\r\n\r\nexport const useHandleLogoutWL = () => {\r\n const navigate = useNavigate();\r\n const { vsdispatch } = useContext(VideochatContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n const { qdispatch } = useContext(QuestionnaireContext);\r\n const { executeruledispatch } = useContext(ExecuteRuleContext);\r\n\r\n const handleLogout = async (\r\n event?: React.MouseEvent | React.MouseEvent,\r\n ) => {\r\n if (event !== undefined) {\r\n event.preventDefault();\r\n }\r\n\r\n vsdispatch({ type: 'ONDISCONNECT' });\r\n vsdispatch({ type: 'SETAUDIOMUTED', audioMuted: false });\r\n tmdispatch({ type: 'RESETALL' });\r\n qdispatch({ type: 'RESETQUESTIONNAIRE' });\r\n executeruledispatch({ type: 'RESETRULEPROPERTIES' });\r\n navigate('/');\r\n };\r\n\r\n return {\r\n handleLogout,\r\n };\r\n};\r\n\r\nexport const useHandleLogoutAfterIdleTime = () => {\r\n const { dispatch } = useContext(LoginContext);\r\n const { vsdispatch } = useContext(VideochatContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n const { qdispatch } = useContext(QuestionnaireContext);\r\n\r\n const { executeruledispatch } = useContext(ExecuteRuleContext);\r\n\r\n const handleLogoutAfterIdleTime = () => {\r\n dispatch({ type: 'LOGOUT' });\r\n vsdispatch({ type: 'ONDISCONNECT' });\r\n vsdispatch({ type: 'CLOSEALLAPPOINTMENTCHATS' });\r\n vsdispatch({ type: 'SETAUDIOMUTED', audioMuted: false });\r\n tmdispatch({ type: 'RESETALL' });\r\n qdispatch({ type: 'RESETQUESTIONNAIRE' });\r\n executeruledispatch({ type: 'RESETRULEPROPERTIES' });\r\n };\r\n\r\n return {\r\n handleLogoutAfterIdleTime,\r\n };\r\n};\r\n\r\nexport const useHandleLogoutCheckIn = () => {\r\n const { dispatch } = useContext(LoginContext);\r\n const { vsdispatch } = useContext(VideochatContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n const { qdispatch } = useContext(QuestionnaireContext);\r\n const { executeruledispatch } = useContext(ExecuteRuleContext);\r\n const { checkindispatch } = useContext(CheckInContext);\r\n\r\n const { getSelectedResource } = useAppointmentSelection();\r\n\r\n const handleLogoutCheckIn = () => {\r\n dispatch({ type: 'LOGOUT' });\r\n vsdispatch({ type: 'ONDISCONNECT' });\r\n vsdispatch({ type: 'CLOSEALLAPPOINTMENTCHATS' });\r\n vsdispatch({ type: 'SETAUDIOMUTED', audioMuted: false });\r\n tmdispatch({ type: 'RESETALL' });\r\n qdispatch({ type: 'RESETQUESTIONNAIRE' });\r\n checkindispatch({ type: 'RESETALL' });\r\n executeruledispatch({ type: 'RESETRULEPROPERTIES' });\r\n\r\n const resource_1 = getSelectedResource(1);\r\n if (resource_1) {\r\n unblockAppointment(resource_1);\r\n }\r\n };\r\n\r\n return {\r\n handleLogoutCheckIn,\r\n };\r\n};\r\n\r\nexport default useHandleLogout;\r\n","import { moment } from '../../globals/global';\r\nimport { IAppointment } from '../../utils/appointmentUtils';\r\n\r\nexport function startDate(data: IAppointment) {\r\n const dateStart = moment(data.start);\r\n const dateEnd = moment(data.end);\r\n if (dateStart.isSame(dateEnd, 'day')) {\r\n // return dateStart.format(dateStart.isSame(moment(), 'year') ? 'dddd, DoMMM' : 'dddd, DoMMM YYYY');\r\n return dateStart.format('dddd, DoMMM YYYY');\r\n } else {\r\n // return (\r\n // dateStart.format(dateStart.isSame(moment(), 'year') ? 'dd, DoMMM' : 'dd, DoMMM YYYY') +\r\n // ' - ' +\r\n // dateEnd.format(dateEnd.isSame(moment(), 'year') ? 'dd, DoMMM' : 'dd, DoMMM YYYY')\r\n // );\r\n return dateStart.format('dd, DoMMM YYYY') + ' - ' + dateEnd.format('dd, DoMMM YYYY');\r\n }\r\n}\r\n\r\nfunction startTime(data: IAppointment) {\r\n const dateStart = moment(data.start);\r\n const dateEnd = moment(data.end);\r\n let supressDuration;\r\n if (data.modifierExtension) {\r\n for (const ext of data.modifierExtension) {\r\n if (ext.url == 'http://www.principa.siegele-software.com/suppressDuration' && ext.valueBoolean) {\r\n supressDuration = true;\r\n }\r\n }\r\n } else {\r\n supressDuration = data.supressDuration;\r\n }\r\n\r\n if (dateStart.isSame(dateEnd, 'day')) {\r\n if (supressDuration) {\r\n return dateStart.format(`HH:mm`);\r\n }\r\n return dateStart.format(`HH:mm - ${dateEnd.format('HH:mm')}`);\r\n }\r\n}\r\n\r\nconst AppointmentDate = (props: IAppointment) => {\r\n return (\r\n
\r\n
{startDate(props)}
\r\n
{startTime(props)} Uhr
\r\n
\r\n );\r\n};\r\n\r\nexport default AppointmentDate;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Badge from 'react-bootstrap/Badge';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport { BsChatDots } from 'react-icons/bs';\r\nimport VideochatContext from '../../context/videochatContext';\r\nimport { IAppointment } from '../../utils/appointmentUtils';\r\nimport { isDateToday } from '../../utils/dateUtils';\r\nimport Chat, { getAppointmentChatEntry, IAppointmentChat, IIncomingMessage, MessageIdType } from '../Chat/Chat';\r\nimport MyTooltip from '../Tooltip/MyTooltip';\r\nimport { StyledAppointmentCardFooter } from './StyledCard';\r\n\r\ninterface IAppointmentChatIcon extends IAppointment {\r\n chatOpen: boolean;\r\n numberUnreadMsg?: number;\r\n}\r\n\r\nexport const AppointmentChatIcon = (props: IAppointmentChatIcon) => {\r\n const { vsstate, vsdispatch } = useContext(VideochatContext);\r\n const [numberUnread, setNumberUnread] = useState(0);\r\n const [showUnreadBadge, setShowUnreadBadge] = useState(false);\r\n\r\n useEffect(() => {\r\n const numberUnreadMsg = getNumberUnreadMessages();\r\n if (!props.chatOpen && numberUnreadMsg && numberUnreadMsg > 0) {\r\n setNumberUnread(numberUnreadMsg);\r\n setShowUnreadBadge(true);\r\n }\r\n }, [vsstate.appointmentChat, vsstate.numberUnreadMessages]);\r\n\r\n const toggleChatOpen = (currentChatOpenStatus: boolean) => {\r\n let appointmentChat;\r\n\r\n const appointmentChatEntry = getAppointmentChatEntry(vsstate.appointmentChat, props.id);\r\n if (appointmentChatEntry) {\r\n appointmentChat = vsstate.appointmentChat.map((item) => {\r\n if (item.id === props.id) {\r\n item.numberUnreadMsg = 0;\r\n }\r\n return item;\r\n });\r\n }\r\n\r\n setNumberUnread(0);\r\n setShowUnreadBadge(false);\r\n\r\n vsdispatch({\r\n type: 'SETAPPOINTMENTCHAT',\r\n appointmentChat: appointmentChat,\r\n });\r\n\r\n return !currentChatOpenStatus;\r\n };\r\n\r\n const getNumberUnreadMessages = () => {\r\n const appointmentChatEntry = getAppointmentChatEntry(vsstate.appointmentChat, props.id);\r\n return appointmentChatEntry?.numberUnreadMsg;\r\n };\r\n\r\n const handleChatIconClick = () => {\r\n let appointmentChat;\r\n\r\n const appointmentChatEntry = getAppointmentChatEntry(vsstate.appointmentChat, props.id);\r\n if (appointmentChatEntry) {\r\n appointmentChat = vsstate.appointmentChat.map((item) => {\r\n if (item.id === props.id) {\r\n if (!item.chatOpen) {\r\n item.numberUnreadMsg = 0;\r\n setNumberUnread(0);\r\n setShowUnreadBadge(false);\r\n }\r\n item.chatOpen = toggleChatOpen(item.chatOpen);\r\n }\r\n return item;\r\n });\r\n } else {\r\n const appChatValue: IAppointmentChat = {\r\n id: props.id,\r\n chatOpen: true,\r\n };\r\n appointmentChat = vsstate.appointmentChat;\r\n appointmentChat.push(appChatValue);\r\n }\r\n\r\n vsdispatch({\r\n type: 'SETAPPOINTMENTCHAT',\r\n appointmentChat: appointmentChat,\r\n });\r\n };\r\n\r\n return (\r\n
\r\n handleChatIconClick()}>\r\n }\r\n >\r\n \r\n {showUnreadBadge && (\r\n \r\n {numberUnread}\r\n \r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport const AppointmentChat = (props: IAppointment) => {\r\n const [allIncomingMessages, setAllIncomingMessages] = useState([]);\r\n const { vsstate } = useContext(VideochatContext);\r\n useEffect(() => {\r\n getAllIncomingMessages(props);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const appointmentChatEntry = getAppointmentChatEntry(vsstate.appointmentChat, props.id);\r\n if (appointmentChatEntry) {\r\n if (appointmentChatEntry.incomingMessages) {\r\n setAllIncomingMessages(appointmentChatEntry.incomingMessages);\r\n }\r\n }\r\n // return () => {\r\n // cleanup\r\n // }\r\n }, [vsstate.appointmentChat]);\r\n\r\n const getAllIncomingMessages = (props: IAppointment) => {\r\n if (props.extension) {\r\n props.extension.forEach((extension: any) => {\r\n if (extension.url.endsWith('ChatEntries')) {\r\n const incomingMessages = extension.valueString;\r\n const allMsg: IIncomingMessage[] = JSON.parse(incomingMessages);\r\n setAllIncomingMessages(allMsg);\r\n }\r\n });\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n","import { useContext } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { Paths } from '../../Routes';\r\nimport { IAppointment } from '../../utils/appointmentUtils';\r\nimport { translateStatus } from '../../utils/pcpUtils';\r\nimport { StyledBadge } from '../Badges/StyledBadge';\r\nimport MyTooltip from '../Tooltip/MyTooltip';\r\n\r\nconst CompleteAppointmentBadge = (props: IAppointment) => {\r\n const navigate = useNavigate();\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n\r\n const handleCompleteAppointment = () => {\r\n tmdispatch({\r\n type: 'SETCANCELNEWAPPOINTMENTDATA',\r\n cancelNewAppointmentData: {\r\n showModal: false,\r\n data: props,\r\n reason: '',\r\n },\r\n });\r\n tmdispatch({\r\n type: 'SELECTCATEGORY',\r\n selectedCategory: {\r\n name: props.serviceType[0].coding[0].display,\r\n id: props.serviceType[0].coding[0].id,\r\n countAPKs: 2,\r\n oneMacro: false,\r\n },\r\n });\r\n navigate(Paths.TERMINIERUNG_ALTERNATE_DATE);\r\n };\r\n\r\n return (\r\n <>\r\n handleCompleteAppointment()}>\r\n {translateStatus(props.status)}\r\n \r\n }\r\n >\r\n \r\n );\r\n};\r\n\r\nexport default CompleteAppointmentBadge;\r\n","import { StyledBadge } from '../../components/Badges/StyledBadge';\r\nimport { appointmentStatus } from '../../globals/global';\r\nimport { IAppointment } from '../../utils/appointmentUtils';\r\nimport { translateStatus } from '../../utils/pcpUtils';\r\nimport CompleteAppointmentBadge from './CompleteAppointment';\r\n\r\nconst AppointmentStatus = (props: IAppointment) => {\r\n if (props.status === appointmentStatus.enteredInError) {\r\n return ;\r\n } else {\r\n return (\r\n \r\n {translateStatus(props.status)}\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default AppointmentStatus;\r\n","import * as React from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Form from 'react-bootstrap/Form';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Row from 'react-bootstrap/Row';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport StyledCol from '../../Cols/StyledCol';\r\nimport { StyledFormLabelForInput } from '../../StyledForm/SyledForm';\r\nimport { StyledModal } from '../StyledModal/StyledModal';\r\n\r\ninterface ICancelAppointmentModal {\r\n show: boolean;\r\n onHide: () => void;\r\n onInput: (reason: string) => void;\r\n onSubmit: () => void;\r\n commentPossible: boolean;\r\n}\r\n\r\nconst CancelAppointmentModal = (props: ICancelAppointmentModal) => {\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n const form = event.currentTarget;\r\n if (form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n {\r\n props.onSubmit();\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Termin stornieren\r\n \r\n
\r\n \r\n
\r\n \r\n {props.commentPossible && (\r\n \r\n \r\n \r\n Stornierungsgrund\r\n
\r\n {\r\n props.onInput(e.target.value);\r\n }}\r\n />\r\n
\r\n \r\n
\r\n )}\r\n
\r\n
\r\n \r\n \r\n Abbrechen\r\n \r\n \r\n
\r\n
\r\n \r\n Termin stornieren\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {/* \r\n
Wollen Sie den Termin wirklich stornieren?
\r\n
\r\n
\r\n \r\n Abbrechen\r\n \r\n
\r\n
\r\n \r\n Termin stornieren\r\n \r\n
\r\n
\r\n
*/}\r\n \r\n );\r\n};\r\n\r\nexport default CancelAppointmentModal;\r\n","import { useContext, useState } from 'react';\r\nimport * as React from 'react';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport { AiOutlineMinusCircle } from 'react-icons/ai';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { ThemeContext } from 'styled-components';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport LoginContext from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { Paths } from '../../Routes';\r\nimport { cancelAppointment } from '../../services/fhir/FHIRAppointment';\r\nimport { cancelEnrollment } from '../../services/RestServices';\r\nimport { showAlertMessage } from '../../utils/alertHandling';\r\nimport { IAppointment } from '../../utils/appointmentUtils';\r\nimport CancelAppointmentModal from '../Modals/CancelAppointmentModal/CancelAppointmentModal';\r\nimport MyTooltip from '../Tooltip/MyTooltip';\r\n\r\nconst CancelAppointment = (props: IAppointment) => {\r\n const navigate = useNavigate();\r\n const themeContext = useContext(ThemeContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n const { state } = useContext(LoginContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n const [cancelModalShow, setCancelModalShow] = React.useState(false);\r\n const [reason, setReason] = useState('');\r\n\r\n const handleSubmit = async () => {\r\n /* appointment without login */\r\n if (props.enrollCode) {\r\n const cancelRes: any = await cancelEnrollment(props.enrollCode, alertdispatch, reason);\r\n setCancelModalShow(false);\r\n if (cancelRes.info === 'Die Anmeldung ist erfolgreich abgesagt worden.') {\r\n showAlertMessage({\r\n alertTitle: 'Terminabsage',\r\n alertTxt: 'Der Termin wurde erfolgreich abgesagt',\r\n alertType: AlertType.info,\r\n onHide: AlertOnHide.custom,\r\n onHideCustom: onHideAlertModal,\r\n alertdispatch: alertdispatch,\r\n });\r\n } else {\r\n showAlertMessage({\r\n alertTitle: 'Terminabsage',\r\n alertTxt: 'Es ist ein Fehler bei der Terminabsage aufgetreten.',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.custom,\r\n onHideCustom: onHideAlertModal,\r\n alertdispatch: alertdispatch,\r\n });\r\n }\r\n\r\n /* appointment with login */\r\n } else {\r\n const cancelRes = await cancelAppointment(state.sessionId, props.id, reason, alertdispatch);\r\n // console.log('cancelRes: ', cancelRes);\r\n if (cancelRes) {\r\n if (cancelRes.ERROR) {\r\n showAlertMessage({\r\n alertTitle: 'Terminabsage',\r\n alertTxt: cancelRes.ERROR,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.custom,\r\n onHideCustom: onHideAlertModal,\r\n alertdispatch: alertdispatch,\r\n });\r\n } else {\r\n setCancelModalShow(false);\r\n setReason('');\r\n tmdispatch({\r\n type: 'CANCELEDAPPOINTMENT',\r\n canceledAppointment: true,\r\n });\r\n\r\n /* ask for making alternative date */\r\n if (cancelRes.data.contained) {\r\n tmdispatch({\r\n type: 'SETCANCELNEWAPPOINTMENTDATA',\r\n cancelNewAppointmentData: {\r\n showModal: true,\r\n data: cancelRes.data,\r\n reason: reason,\r\n },\r\n });\r\n }\r\n }\r\n }\r\n }\r\n };\r\n\r\n const onHideAlertModal = () => {\r\n if (props.enrollCode) {\r\n navigate(Paths.HOME);\r\n }\r\n };\r\n\r\n return (\r\n
\r\n setCancelModalShow(true)}>\r\n }\r\n >\r\n \r\n setCancelModalShow(false)}\r\n onInput={(reason: string) => setReason(reason)}\r\n onSubmit={handleSubmit}\r\n commentPossible={true} //comment only with login appointments\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default CancelAppointment;\r\n","import { useContext } from 'react';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport { FaBed } from 'react-icons/fa';\r\nimport { ThemeContext } from 'styled-components';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport MyTooltip from '../Tooltip/MyTooltip';\r\n\r\nconst InpatientAppointment = () => {\r\n const themeContext = useContext(ThemeContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n\r\n const inpatientAppointment = async () => {\r\n /*\r\n tmdispatch({\r\n type: 'SETCANCELNEWAPPOINTMENTDATA',\r\n cancelNewAppointmentData: {\r\n showModal: false,\r\n data: props,\r\n reason: APPOINTMENT_POSTPONE_REASON,\r\n },\r\n });\r\n */\r\n };\r\n\r\n return (\r\n
\r\n inpatientAppointment()}>\r\n }\r\n >\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default InpatientAppointment;\r\n","import { useContext } from 'react';\r\nimport { FaHospitalAlt, FaUserNurse } from 'react-icons/fa';\r\nimport { ThemeContext } from 'styled-components';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport {\r\n APPOINTMENTTYPE_CAREUNIT,\r\n APPOINTMENTTYPE_DEPARTMENT,\r\n APPOINTMENTTYPE_PRACTITIONER,\r\n APPOINTMENTTYPE_ROOM,\r\n IParticipant,\r\n getLongNameFromAppointmentData,\r\n getParticipantType,\r\n} from '../../utils/appointmentUtils';\r\n\r\nconst Participants = (props: IParticipant) => {\r\n const themeContext = useContext(ThemeContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const { tmstate } = useContext(TerminierungContext);\r\n\r\n function renderActor(props: IParticipant) {\r\n const showDepartment = apstate.AppointmentSummary.fach;\r\n const showCareUnit = apstate.AppointmentSummary.pflege;\r\n const showRoom = apstate.AppointmentSummary.raum;\r\n const showPractitioner = apstate.AppointmentSummary.behandler;\r\n\r\n const ptype = getParticipantType(props);\r\n\r\n /* Displaying */\r\n if (props.actor.display === '') {\r\n return <>;\r\n } else {\r\n const displayValue = getLongNameFromAppointmentData(props.actor.display);\r\n //const displayValue = props.actor.display;\r\n\r\n switch (ptype) {\r\n case APPOINTMENTTYPE_DEPARTMENT:\r\n if (showDepartment) {\r\n return (\r\n
\r\n {displayValue}\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n case APPOINTMENTTYPE_CAREUNIT:\r\n if (showCareUnit) {\r\n return (\r\n
\r\n {displayValue}\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n\r\n case APPOINTMENTTYPE_ROOM:\r\n if (showRoom) {\r\n return (\r\n
\r\n {displayValue}\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n\r\n case APPOINTMENTTYPE_PRACTITIONER:\r\n if (showPractitioner) {\r\n return (\r\n
\r\n {displayValue}\r\n
\r\n );\r\n } else {\r\n return <>;\r\n }\r\n\r\n default:\r\n // TODO: add exception for unkown actor.reference\r\n return <>;\r\n }\r\n }\r\n }\r\n\r\n return renderActor(props);\r\n};\r\n\r\nexport default Participants;\r\n","import { useContext } from 'react';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport { BiCalendarEdit } from 'react-icons/bi';\r\nimport { ThemeContext } from 'styled-components';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { APPOINTMENT_POSTPONE_REASON, IAppointment } from '../../utils/appointmentUtils';\r\nimport MyTooltip from '../Tooltip/MyTooltip';\r\n\r\nconst PostponeAppointment = (props: IAppointment) => {\r\n const themeContext = useContext(ThemeContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n\r\n const postponeAppointment = async () => {\r\n tmdispatch({\r\n type: 'SETCANCELNEWAPPOINTMENTDATA',\r\n cancelNewAppointmentData: {\r\n showModal: false,\r\n data: props,\r\n reason: APPOINTMENT_POSTPONE_REASON,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n
\r\n postponeAppointment()}>\r\n }\r\n >\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PostponeAppointment;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport { FaHospitalAlt } from 'react-icons/fa';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport styled, { ThemeContext } from 'styled-components';\r\nimport { Paths } from '../../Routes';\r\nimport AppointmentDate, { startDate } from '../../components/Cards/AppointmentDate';\r\nimport {\r\n StyledAppointmentCard,\r\n StyledAppointmentCardBody,\r\n StyledAppointmentCardFooter,\r\n StyledAppointmentCardHeader,\r\n} from '../../components/Cards/StyledCard';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport LoginContext from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport VideochatContext from '../../context/videochatContext';\r\nimport { appointmentStatus } from '../../globals/global';\r\nimport {\r\n APPOINTMENTTYPE_DEPARTMENT,\r\n IAppointment,\r\n IParticipant,\r\n getMacroNameFromAppointment,\r\n getParticipantType,\r\n getSelectedReasonFromAppointment,\r\n isAppSeriesAppointment,\r\n sortParticipantsForCard,\r\n} from '../../utils/appointmentUtils';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport { isChatOpen } from '../Chat/Chat';\r\nimport {\r\n AppointmentCardButtonCol,\r\n AppointmentCardDateCol,\r\n AppointmentCardHeaderStatusButtonCol,\r\n AppointmentCardStatusCol,\r\n} from '../Cols/StyledCol';\r\nimport { AppointmentCardStatusButtonRow } from '../Rows/StyledRow';\r\nimport { AppointmentChat, AppointmentChatIcon } from './AppointmentChat';\r\nimport AppointmentStatus from './AppointmentStatus';\r\nimport CancelAppointment from './CancelAppointment';\r\nimport InpatientAppointment from './InpatientAppointment';\r\nimport Participants from './Participants';\r\nimport PostponeAppointment from './PostponeAppointment';\r\nconst moment = require('moment');\r\n\r\nconst DetailsButtonParentDiv = styled.div`\r\n background-color: white;\r\n text-align: right;\r\n`;\r\n\r\nconst DetailsButton = styled(StyledButton)`\r\n width: 50%;\r\n margin-left: 10px;\r\n margin-right: 10px;\r\n margin-bottom: 10px;\r\n`;\r\n\r\nfunction displayParticipants(appointment: IAppointment, standort?: string, color?: string) {\r\n const sortedParticipant = sortParticipantsForCard(appointment.participant);\r\n\r\n const allParticipants: any[] = [];\r\n\r\n if (standort && standort.length > 0) {\r\n allParticipants.push(\r\n
\r\n {standort}\r\n
,\r\n );\r\n }\r\n\r\n const participants = sortedParticipant.map((data: IParticipant, index: number) => (\r\n
\r\n \r\n
\r\n ));\r\n\r\n allParticipants.push(participants);\r\n return allParticipants;\r\n}\r\n\r\nconst AppointmentCard = (props: IAppointment) => {\r\n const { apstate } = useContext(AppPropsContext);\r\n const { vsstate } = useContext(VideochatContext);\r\n const { tmstate } = useContext(TerminierungContext);\r\n const themeContext = useContext(ThemeContext);\r\n const [chatOpen, setChatOpen] = useState(false);\r\n const { state, dispatch } = useContext(LoginContext);\r\n const navigate = useNavigate();\r\n\r\n useEffect(() => {\r\n // const isChatOpen = () => {\r\n // let appointmentChatEntry = vsstate.appointmentChat.find((e) => e.id === props.id);\r\n // if (appointmentChatEntry) {\r\n // return appointmentChatEntry.chatOpen;\r\n // }\r\n // return false;\r\n // };\r\n\r\n if (isChatOpen(vsstate.appointmentChat, props.id)) {\r\n setChatOpen(true);\r\n } else {\r\n setChatOpen(false);\r\n }\r\n }, [JSON.stringify(vsstate.appointmentChat)]);\r\n\r\n const showMacroName = () => {\r\n let macroName = getMacroNameFromAppointment(props);\r\n if (macroName.length <= 0) {\r\n macroName = tmstate.selectedCategory.name;\r\n }\r\n\r\n return (\r\n \r\n \r\n
{macroName}
\r\n \r\n
\r\n );\r\n };\r\n\r\n const showReason = () => {\r\n let name = '';\r\n const selectedReason = getSelectedReasonFromAppointment(props);\r\n\r\n if (selectedReason && selectedReason.length > 0) {\r\n name = selectedReason;\r\n } else if (tmstate.selectedReason && tmstate.selectedReason.reasonName) {\r\n name = tmstate.selectedReason.reasonName;\r\n } else {\r\n /* if no reason, fallback to macro */\r\n const macroName = getMacroNameFromAppointment(props);\r\n if (macroName.length <= 0) {\r\n name = tmstate.selectedCategory.name;\r\n } else {\r\n name = macroName;\r\n }\r\n }\r\n\r\n return (\r\n \r\n \r\n
{name}
\r\n \r\n
\r\n );\r\n };\r\n\r\n const isInpatient = () => {\r\n if (!props.extension) {\r\n return false;\r\n }\r\n for (const ext of props.extension) {\r\n if (ext.url === 'http://www.principa.siegele-software.com/isInpatient' && ext.valueBoolean == true) {\r\n return true;\r\n }\r\n }\r\n return false;\r\n };\r\n\r\n const showPostponeAppointmentIcon = () => {\r\n let showIcon = true;\r\n const dateStart = moment(props.start);\r\n const today = moment();\r\n if (dateStart.isSame(today, 'day')) {\r\n const startHour = dateStart.format('HH');\r\n if (startHour === '00') {\r\n showIcon = false; //then we asume that it is a Soforttermin\r\n }\r\n }\r\n if (isAppSeriesAppointment(props)) {\r\n showIcon = false;\r\n }\r\n if (isInpatient()) {\r\n showIcon = false;\r\n }\r\n\r\n return showIcon;\r\n };\r\n\r\n const getEncounterTitle = () => {\r\n const sortedParticipant = sortParticipantsForCard(props.participant);\r\n let department = '';\r\n for (const data of sortedParticipant) {\r\n const ptype = getParticipantType(data);\r\n if (ptype === APPOINTMENTTYPE_DEPARTMENT) {\r\n department = data.actor.display;\r\n break;\r\n }\r\n }\r\n return startDate(props) + ' - ' + department;\r\n };\r\n const activateEncounter = () => {\r\n dispatch({\r\n type: 'SETENCOUNTER',\r\n encounterId: props.id,\r\n encounterTitle: getEncounterTitle(),\r\n });\r\n navigate(Paths.JOURNEY);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.isCancelable &&\r\n props.status !== appointmentStatus.cancelled &&\r\n props.status !== appointmentStatus.arrived ? (\r\n <>\r\n {showPostponeAppointmentIcon() ? (\r\n \r\n ) : (\r\n <>\r\n )}\r\n {isInpatient() ? <> : }\r\n \r\n ) : (\r\n <>\r\n )}\r\n {props.showChatIcon && props.showChatIcon === true && !isInpatient() ? (\r\n <>\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {isInpatient() ? (\r\n <>\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* {showMacroName()} */}\r\n {showReason()}\r\n \r\n \r\n {displayParticipants(\r\n props,\r\n apstate.AppointmentSummary.standort ? tmstate.journeyData.site : '',\r\n themeContext.icon.passive.color,\r\n )}\r\n \r\n \r\n \r\n {props.comment ? (\r\n <>\r\n
\r\n \r\n {props.comment}\r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n )}\r\n {state.activeUserId && state.activeUserId != '0' && state.isLoggedIn ? (\r\n \r\n \r\n Details\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n {chatOpen ? : <>}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AppointmentCard;\r\n","import * as React from 'react';\r\nimport { IQuestionnaireWL } from '../../container/Fragebogen/QuestionnaireWL';\r\nimport { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport { InitialLoginType } from '../../context/loginContext';\r\nimport { InitialQuestionnaireType } from '../../context/questionnaireContext';\r\nimport { getBaseURL, getFhirURL } from '../../globals/global';\r\nimport { responseErrorHandling } from '../../utils/errorHandling';\r\nimport { getFHIRConfig } from './fhirConstants';\r\n\r\nconst fhir = require('fhir.js');\r\n\r\nconst QUESSTIONNAIRE_RESPONSE = 'QuestionnaireResponse';\r\n\r\nexport const GET = 'GET';\r\nexport const POST = 'POST';\r\nexport const PUT = 'PUT';\r\n\r\nexport const fetchOptions = (method: string, sessionId: string) => ({\r\n method: method,\r\n headers: {\r\n Accept: '*/*',\r\n 'Content-Type': 'application/json',\r\n Authorization: sessionId,\r\n },\r\n});\r\n\r\nexport const getQuestionnaires = async (state: InitialLoginType, alertdispatch: React.Dispatch) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: 'Questionnaire',\r\n query: { patRoleId: state.activeUserId, requestTime: new Date().toISOString() },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getQuestionnaireById = async (\r\n state: InitialLoginType,\r\n request: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: 'Questionnaire',\r\n query: { name: request, patRoleId: state.activeUserId, requestTime: new Date().toISOString() },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getQuestionnaireByFHIRId = async (\r\n state: InitialLoginType,\r\n fhirId: string,\r\n encounterId: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .search({\r\n type: 'Questionnaire',\r\n query: {\r\n id: fhirId,\r\n patRoleId: state.activeUserId,\r\n encounterId: encounterId,\r\n requestTime: new Date().toISOString(),\r\n },\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getQuestionnaireContent = async (\r\n sessionId: string,\r\n request: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n return await fhir(getFHIRConfig(sessionId))\r\n .search({\r\n type: request,\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const deleteQuestionnaireContent = async (\r\n state: InitialLoginType,\r\n qId: string,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n return await fhir(getFHIRConfig(state.sessionId))\r\n .delete({\r\n type: 'QuestionnaireResponse/' + qId,\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n });\r\n });\r\n};\r\n\r\nexport const getQuestionnaireOTPAuth = async (state: IQuestionnaireWL) => {\r\n const session = 'PCP ' + state.otp;\r\n\r\n const query: IQuestionnaireWL = {\r\n name: state.name,\r\n userId: state.userId,\r\n t0: state.t0,\r\n requestTime: new Date().toISOString(),\r\n };\r\n\r\n if (state.reason) {\r\n query.reason = state.reason;\r\n }\r\n\r\n let baseUrl = state.baseURL;\r\n if (baseUrl !== undefined && !baseUrl?.endsWith('/fhir')) {\r\n baseUrl = baseUrl + '/fhir';\r\n }\r\n\r\n const response = await fhir(getFHIRConfig(session, baseUrl)).search({\r\n type: 'Questionnaire',\r\n query,\r\n });\r\n\r\n if (response?.data && response.data?.entry && response.data.entry.length > 0) {\r\n return response;\r\n } else {\r\n return null;\r\n }\r\n};\r\n\r\nexport const sendQuestionnaire = async (\r\n state: InitialLoginType,\r\n qstate: InitialQuestionnaireType,\r\n alertdispatch: React.Dispatch,\r\n status: string,\r\n targetPatId: number,\r\n) => {\r\n let userId = '';\r\n let sessionId = '';\r\n if (qstate.isExternalRequest) {\r\n userId = qstate.externalUserId;\r\n sessionId = qstate.externalOTP;\r\n } else {\r\n userId = state.activeUserId;\r\n sessionId = state.sessionId;\r\n }\r\n\r\n if (targetPatId > 0) {\r\n userId = targetPatId?.toString();\r\n }\r\n\r\n const qr = {\r\n resourceType: QUESSTIONNAIRE_RESPONSE,\r\n status: status,\r\n questionnaire: { reference: 'Questionnaire/' + qstate.selectedQuestionnaire.resource.id },\r\n subject: { reference: 'Patient/' + userId },\r\n authored: new Date(),\r\n context: { reference: 'Encounter/' + userId + (qstate.encounterId ? '_' + qstate.encounterId : '_null') },\r\n // context: { reference: 'Encounter/' + userId },\r\n request: {\r\n method: 'PUT',\r\n url: getFhirURL() + '/' + QUESSTIONNAIRE_RESPONSE + '/qr_' + qstate.qData.id,\r\n },\r\n item: qstate.selectedAnswers.item,\r\n };\r\n\r\n let baseurl = getBaseURL();\r\n if (qstate.externalBaseURL) {\r\n baseurl = qstate.externalBaseURL;\r\n }\r\n if (qstate.isExternalRequest) {\r\n try {\r\n const url =\r\n baseurl +\r\n '/fhir/' +\r\n 'QuestionnaireResponse?name=' +\r\n qstate.selectedQuestionnaire.resource.id +\r\n '&userId=' +\r\n userId +\r\n '&t0=' +\r\n qstate.externalT0;\r\n\r\n return await fetch(url, {\r\n ...fetchOptions(POST, sessionId),\r\n body: JSON.stringify(qr),\r\n });\r\n // return await res.json();\r\n } catch (error) {\r\n responseErrorHandling({\r\n response: error,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Fragebogen',\r\n alertTxt: 'Fehler beim senden des Fragebogens',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n }\r\n } else {\r\n return await fhir(getFHIRConfig(sessionId))\r\n .create({\r\n resource: qr,\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Fragebogen',\r\n alertTxt: 'Fehler beim senden des Fragebogens',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n });\r\n }\r\n};\r\n\r\nexport const updateQuestionnaireContent = async (\r\n state: InitialLoginType,\r\n qstate: InitialQuestionnaireType,\r\n alertdispatch: React.Dispatch,\r\n) => {\r\n let userId = '';\r\n let sessionId = '';\r\n if (qstate.isExternalRequest) {\r\n userId = qstate.externalUserId;\r\n sessionId = qstate.externalOTP;\r\n } else {\r\n userId = state.activeUserId;\r\n sessionId = state.sessionId;\r\n }\r\n\r\n let baseurl = getBaseURL();\r\n if (qstate.externalBaseURL) {\r\n baseurl = qstate.externalBaseURL;\r\n }\r\n if (qstate.isExternalRequest) {\r\n try {\r\n const url =\r\n baseurl +\r\n '/fhir/' +\r\n 'QuestionnaireResponse/' +\r\n qstate.questionnaireBody.data.id +\r\n '?name=' +\r\n qstate.selectedQuestionnaire.resource.name +\r\n '&userId=' +\r\n userId +\r\n '&t0=' +\r\n qstate.externalT0;\r\n\r\n return await fetch(url, {\r\n ...fetchOptions(PUT, sessionId),\r\n body: JSON.stringify(qstate.questionnaireBody.data),\r\n });\r\n // return await res.json();\r\n } catch (error) {\r\n responseErrorHandling({\r\n response: error,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Fragebogen',\r\n alertTxt: 'Fehler beim Speichern des Fragebogens',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n }\r\n } else {\r\n return await fhir(getFHIRConfig(sessionId))\r\n .update({\r\n resource: qstate.questionnaireBody.data,\r\n })\r\n .catch(function (e: any) {\r\n responseErrorHandling({\r\n response: e,\r\n alertdispatch: alertdispatch,\r\n alertMessage: {\r\n alertTitle: 'Fragebogen',\r\n alertTxt: 'Fehler beim Speichern des Fragebogens',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n },\r\n });\r\n });\r\n }\r\n};\r\n","import { createContext } from 'react';\r\n\r\nexport type InitialThemeType = {\r\n theme: string;\r\n navbarCollapsed: boolean;\r\n};\r\n\r\nexport const initialThemeState = {\r\n theme: 'PCP',\r\n navbarCollapsed: false,\r\n};\r\n\r\n// const LoginContext = createContext(initialLoginState);\r\nconst ThemeContext = createContext<{\r\n themestate: InitialThemeType;\r\n themedispatch: React.Dispatch;\r\n}>({\r\n themestate: initialThemeState,\r\n themedispatch: () => null,\r\n});\r\n\r\nexport default ThemeContext;\r\n","import { createContext } from 'react';\r\n\r\nexport interface ISignaturePadDevice {\r\n deviceName: string;\r\n serialNumber: string;\r\n firmwareVersion: string;\r\n supportsRSA: boolean;\r\n canStoreEncryptKey: boolean;\r\n padConnectionType: string;\r\n padIndex: number;\r\n displayWidth: number;\r\n displayHeight: number;\r\n xResolution: number;\r\n yResolution: number;\r\n scaleFactorX: number;\r\n scaleFactorY: number;\r\n sampleRate: number;\r\n}\r\n\r\nexport interface ISigData {\r\n pictureData: string;\r\n certId: string;\r\n rsaSignature: string;\r\n signData: string;\r\n signingCert: string;\r\n}\r\n\r\nexport interface ISignotecDeviceActions {\r\n sendClicked: boolean;\r\n cancelClicked: boolean;\r\n}\r\n\r\nexport type InitialSigPadType = {\r\n deviceData: ISignaturePadDevice;\r\n sigData: ISigData;\r\n deviceActions: ISignotecDeviceActions; //action that are clicked direct on the Signature Device\r\n canvasRef: any;\r\n};\r\n\r\nexport const initialSigPadState = {\r\n deviceData: {\r\n deviceName: '',\r\n canStoreEncryptKey: false,\r\n firmwareVersion: '',\r\n serialNumber: '',\r\n supportsRSA: false,\r\n padConnectionType: '',\r\n padIndex: 0,\r\n displayHeight: 0,\r\n displayWidth: 0,\r\n sampleRate: 0,\r\n scaleFactorX: 0,\r\n scaleFactorY: 0,\r\n xResolution: 0,\r\n yResolution: 0,\r\n },\r\n sigData: {\r\n certId: '',\r\n pictureData: '',\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n },\r\n deviceActions: {\r\n sendClicked: false,\r\n cancelClicked: false,\r\n },\r\n canvasRef: null,\r\n};\r\n\r\nconst SigPadContext = createContext<{\r\n sigpadstate: InitialSigPadType;\r\n sigpaddispatch: React.Dispatch;\r\n}>({\r\n sigpadstate: initialSigPadState,\r\n sigpaddispatch: () => null,\r\n});\r\n\r\nexport default SigPadContext;\r\n","import 'chartjs-plugin-annotation';\r\nimport moment, { Moment } from 'moment';\r\nimport { ITableData } from '../components/TableProvider/TableProvider';\r\nimport { IAppCharts } from './../components/Charts/AppCharts/AppCharts';\r\nimport { isMobile, isTablet } from './screenResolution';\r\n\r\nexport interface IChartProps {\r\n chartName?: string;\r\n chartType?: string;\r\n mobileProps?: IAppCharts;\r\n displayOption: number;\r\n chartOptions: IOptions;\r\n chartData: IDatasetProps;\r\n targetChart1?: IDatasetProps;\r\n targetChart2?: IDatasetProps;\r\n targetChart3?: IDatasetProps;\r\n targetBarrier?: IDatasetProps;\r\n targetArea?: IDatasetProps;\r\n targetCeiling?: IDatasetProps;\r\n multiLine?: IDatasetProps;\r\n chartViewLimits: ILimits;\r\n labels: any[];\r\n labelOption: boolean;\r\n tooltipPrecisionVal: number;\r\n // labelButton: number[];\r\n // setLabelOpt: (opt: boolean, val: React.SetStateAction) => void;\r\n}\r\n\r\nexport interface IDatasetProps {\r\n AXIS: string;\r\n COLOR: string;\r\n DECDIGIT: string;\r\n OPACITY: string;\r\n SHOWHD: string;\r\n TITLELONG: string;\r\n TYPE: string;\r\n YMIN: number;\r\n YMAX: number;\r\n data: any[];\r\n label: string;\r\n}\r\nexport interface IOptions {\r\n animation: {\r\n duration: number;\r\n };\r\n scales: {\r\n xAxes: {\r\n bounds: string;\r\n distribution: string;\r\n offset: boolean;\r\n time: { unit: string };\r\n type: string;\r\n min: number;\r\n max: number;\r\n };\r\n yAxes: {\r\n min: number;\r\n max: number;\r\n };\r\n axisLeft: {\r\n unit: string;\r\n };\r\n axisRight: {\r\n unit: string;\r\n factorFromLeft: number;\r\n };\r\n };\r\n extraTables?: [\r\n {\r\n name: string;\r\n id: string;\r\n },\r\n ];\r\n}\r\n\r\nexport interface ILimits {\r\n fiveYears: Moment;\r\n oneYear: Moment;\r\n oneMonth: Moment;\r\n oneWeek: Moment;\r\n}\r\n\r\nexport interface IGetChartData {\r\n chartLoaded: boolean;\r\n foundChartData: boolean;\r\n chartData: IChartProps;\r\n}\r\n\r\nexport interface IGetTableData {\r\n tableTitle: string;\r\n tableData: ITableData;\r\n}\r\n\r\nexport interface IChartDataset {\r\n chartProps: IChartProps;\r\n barPercentage?: number;\r\n}\r\n\r\nexport interface IChartOptions {\r\n chartProps: IChartProps;\r\n chartSettings: IChartSettings;\r\n ticksXMin: Moment;\r\n ticksXMax: Moment;\r\n ticksMinRotation?: number;\r\n ticksMaxRotation?: number;\r\n ticksLabelOffset?: number;\r\n scalesOffset?: boolean;\r\n updateLimits: (e: any) => void;\r\n}\r\n\r\nexport interface IChartSettings {\r\n isMobile: boolean;\r\n height: number;\r\n padding: number;\r\n rotation: number;\r\n}\r\n\r\nexport const initalChartData = {\r\n displayOption: 1,\r\n chartOptions: {\r\n animation: { duration: 0 },\r\n scales: {\r\n xAxes: { bounds: '', distribution: '', offset: false, time: { unit: '' }, type: '', min: 0, max: 0 },\r\n yAxes: { min: 0, max: 0 },\r\n axisLeft: {\r\n unit: '',\r\n },\r\n axisRight: {\r\n unit: '',\r\n factorFromLeft: 0,\r\n },\r\n },\r\n },\r\n chartData: {\r\n AXIS: '',\r\n COLOR: '',\r\n DECDIGIT: '',\r\n OPACITY: '',\r\n SHOWHD: '',\r\n TITLELONG: '',\r\n TYPE: '',\r\n YMIN: 0,\r\n YMAX: 0,\r\n data: [{ t: '', y: null }],\r\n label: '',\r\n },\r\n targetChart1: {\r\n AXIS: '',\r\n COLOR: '',\r\n DECDIGIT: '',\r\n OPACITY: '',\r\n SHOWHD: '',\r\n TITLELONG: '',\r\n TYPE: '',\r\n YMIN: 0,\r\n YMAX: 0,\r\n data: [{ t: '', y: null }],\r\n label: '',\r\n },\r\n targetChart2: {\r\n AXIS: '',\r\n COLOR: '',\r\n DECDIGIT: '',\r\n OPACITY: '',\r\n SHOWHD: '',\r\n TITLELONG: '',\r\n TYPE: '',\r\n YMIN: 0,\r\n YMAX: 0,\r\n data: [{ t: '', y: null }],\r\n label: '',\r\n },\r\n targetChart3: {\r\n AXIS: '',\r\n COLOR: '',\r\n DECDIGIT: '',\r\n OPACITY: '',\r\n SHOWHD: '',\r\n TITLELONG: '',\r\n TYPE: '',\r\n YMIN: 0,\r\n YMAX: 0,\r\n data: [{ t: '', y: null }],\r\n label: '',\r\n },\r\n chartViewLimits: {\r\n fiveYears: moment(),\r\n oneYear: moment(),\r\n oneMonth: moment(),\r\n oneWeek: moment(),\r\n },\r\n labels: [],\r\n labelOption: false,\r\n tooltipPrecisionVal: 1,\r\n};\r\n\r\nexport const chartViews = {\r\n ONE_WEEK_VIEW: 0,\r\n ONE_MONTH_VIEW: 1,\r\n ONE_YEAR_VIEW: 2,\r\n FIVE_YEAR_VIEW: 3,\r\n ALL_VIEW: 4,\r\n};\r\n\r\nexport const charts = {\r\n ACTIVITY: {\r\n name: 'Aktivität',\r\n id: 'CHARTS:ACTIVITY',\r\n requestId: 'CHART:ACTIVITY',\r\n appTypeName: 'ACTIVITY',\r\n },\r\n FATMASS: {\r\n name: 'Fettmasse',\r\n id: 'CHARTS:FATMASS',\r\n requestId: 'CHART:FATMASS',\r\n appTypeName: 'FATMASS',\r\n },\r\n FLI: {\r\n name: 'FLI',\r\n id: 'CHARTS:FLI',\r\n requestId: 'CHART:FLI',\r\n appTypeName: 'FLI',\r\n },\r\n SAM: {\r\n name: 'SAM',\r\n id: 'CHARTS:SAM',\r\n requestId: 'CHART:SAM',\r\n appTypeName: 'SAM',\r\n },\r\n WEIGHT: {\r\n name: 'Gewicht',\r\n id: 'CHARTS:WEIGHT',\r\n requestId: 'CHART:WEIGHT',\r\n appTypeName: 'WEIGHT',\r\n },\r\n BLOODSUGAR: {\r\n name: 'Blutzucker',\r\n id: 'CHARTS:BLOODSUGAR',\r\n requestId: 'CHART:BLOODSUGAR',\r\n appTypeName: 'BLOODSUGAR',\r\n },\r\n};\r\n\r\nexport const tables = {\r\n VALTBL: {\r\n name: 'Rohdaten',\r\n id: 'CHARTS:VALTBL',\r\n requestId: 'CHART:VALTBL',\r\n appTypeName: 'VALTBL',\r\n },\r\n};\r\n\r\n/**\r\n *\r\n * @param jsonRes returns the data chronologically sorted by moment objects\r\n */\r\nexport function transformAndSortDates(jsonRes: { data: { datasets: string | any[] } }) {\r\n // convert dates (string) into moment objects\r\n for (let i = 0; i < jsonRes.data.datasets.length; i++) {\r\n for (let j = 0; j < jsonRes.data.datasets[i].data.length; j++) {\r\n const dateAsMoment = moment(jsonRes.data.datasets[i].data[j].t, 'ddd MMM DD LTS YYYY', 'en');\r\n jsonRes.data.datasets[i].data[j].t = dateAsMoment;\r\n }\r\n }\r\n\r\n // sort data by moment\r\n for (let i = 0; i < jsonRes.data.datasets.length; i++) {\r\n jsonRes.data.datasets[i].data.sort((a: { t: Moment; y: string }, b: { t: Moment; y: string }) => a.t.diff(b.t));\r\n }\r\n return jsonRes;\r\n}\r\n\r\nexport function chartSettingsForDevice(view: string, screenWidth: number, screenHeight: number): IChartSettings {\r\n switch (view) {\r\n case 'max':\r\n if (isTablet(screenWidth)) {\r\n return { isMobile: false, height: screenHeight * 0.28, padding: 20, rotation: 0 };\r\n } else if (isMobile(screenWidth)) {\r\n return { isMobile: true, height: 350, padding: 30, rotation: 0 };\r\n } else {\r\n return { isMobile: false, height: 130, padding: 180, rotation: 0 };\r\n }\r\n case 'fiveYears':\r\n if (isTablet(screenWidth)) {\r\n return { isMobile: false, height: screenHeight * 0.28, padding: 30, rotation: 0 };\r\n } else if (isMobile(screenWidth)) {\r\n return { isMobile: true, height: 350, padding: 30, rotation: 0 };\r\n } else {\r\n return { isMobile: false, height: 130, padding: 100, rotation: 0 };\r\n }\r\n case 'oneYear':\r\n if (isTablet(screenWidth)) {\r\n return { isMobile: false, height: screenHeight * 0.28, padding: 30, rotation: 0 };\r\n } else if (isMobile(screenWidth)) {\r\n return { isMobile: true, height: 350, padding: 30, rotation: 0 };\r\n } else {\r\n return { isMobile: false, height: 120, padding: 60, rotation: 0 };\r\n }\r\n case 'oneMonth':\r\n if (isTablet(screenWidth)) {\r\n return { isMobile: false, height: screenHeight * 0.28, padding: 20, rotation: 0 };\r\n } else if (isMobile(screenWidth)) {\r\n return { isMobile: true, height: 300, padding: 500, rotation: 0 };\r\n } else {\r\n return { isMobile: false, height: 110, padding: 20, rotation: 0 };\r\n }\r\n case 'oneWeek':\r\n if (isTablet(screenWidth)) {\r\n return { isMobile: false, height: screenHeight * 0.28, padding: 20, rotation: 0 };\r\n } else if (isMobile(screenWidth)) {\r\n return { isMobile: true, height: 250, padding: 20, rotation: 0 };\r\n } else {\r\n return { isMobile: false, height: 100, padding: 100, rotation: 0 };\r\n }\r\n default:\r\n return { isMobile: false, height: 130, padding: 180, rotation: 0 };\r\n }\r\n}\r\n\r\nexport const handleDisplayControllers = (props: IAppCharts | undefined): any => {\r\n if (props && props.showControllers !== undefined) {\r\n if (props.showControllers) {\r\n return 'block';\r\n } else {\r\n return 'none';\r\n }\r\n } else {\r\n return 'block';\r\n }\r\n};\r\n\r\nexport const getUnitFromLabel = (props: IChartProps) => {\r\n const unitFromLabel = props.chartData.label.split(' ');\r\n const unit = unitFromLabel[unitFromLabel.length - 1];\r\n return unit;\r\n};\r\n\r\nexport const getDatasetData = (props: IChartDataset) => {\r\n let labelsToDisplay = props.chartProps.labels;\r\n\r\n const unit = getUnitFromLabel(props.chartProps);\r\n\r\n const datasets: any[] = [];\r\n\r\n /* special datasets for MultiLine (Blutzucker) */\r\n if (props.chartProps.chartName === charts.BLOODSUGAR.id) {\r\n /* separate data and fill in \"gaps\" when date changes */\r\n const mmol_l: any[] = [];\r\n const mg_dl: any[] = [];\r\n const labels: any[] = [];\r\n const chartData = props.chartProps.chartData;\r\n let day = chartData.data[0].t;\r\n\r\n /* before a new day begins we fill in a ',' to enable gaps in the line */\r\n for (let i = 0; i < chartData.data.length; i++) {\r\n if (!chartData.data[i].t.isSame(day, 'day')) {\r\n day = chartData.data[i].t;\r\n mmol_l.push(',');\r\n mg_dl.push(',');\r\n labels.push(chartData.data[i].y);\r\n }\r\n if (chartData.data[i].y) {\r\n mmol_l.push(chartData.data[i]);\r\n }\r\n if (chartData.data[i].z) {\r\n // mg_dl.push(chartData.data[i].z);\r\n // mg_dl.push(chartData.data[i]);\r\n }\r\n\r\n labels.push(chartData.data[i].y);\r\n }\r\n mmol_l.push(','); /* fill in ',' at the end for the next step */\r\n mg_dl.push(','); /* fill in ',' at the end for the next step */\r\n labels.push(chartData.data[chartData.data.length - 1].y);\r\n\r\n /* build the dataset that spans the min and max values of every day */\r\n const minSpanData: any[] = [];\r\n const maxSpanData: any[] = [];\r\n let localMin: any;\r\n let localMax: any;\r\n let dailyData: any[] = [];\r\n let firstDailyDataMax: any;\r\n let firstDailyDataMin: any;\r\n let foundFirstData = false;\r\n for (let i = 0; i < mmol_l.length; i++) {\r\n /* build up one array per day */\r\n if (mmol_l[i] !== ',') {\r\n // dailyData.push(Number(mmol_l[i]));\r\n dailyData.push(mmol_l[i]);\r\n if (!foundFirstData) {\r\n firstDailyDataMax = { ...mmol_l[i] };\r\n firstDailyDataMin = { ...mmol_l[i] };\r\n foundFirstData = true;\r\n }\r\n } else {\r\n /* get min and max values from one day */\r\n foundFirstData = false;\r\n let min = +Infinity;\r\n let max = -Infinity;\r\n for (let m = 0; m < dailyData.length; m++) {\r\n const yNumber = Number(dailyData[m].y);\r\n if (yNumber < min) {\r\n min = yNumber;\r\n localMin = dailyData[m];\r\n }\r\n if (yNumber > max) {\r\n max = yNumber;\r\n localMax = dailyData[m];\r\n }\r\n }\r\n\r\n /* add data points with min and max values to create the spanning data */\r\n const lastDailyDataMax = { ...dailyData[dailyData.length - 1] };\r\n lastDailyDataMax.y = localMax;\r\n firstDailyDataMax.y = localMax;\r\n\r\n const lastDailyDataMin = { ...dailyData[dailyData.length - 1] };\r\n lastDailyDataMin.y = localMin;\r\n firstDailyDataMin.y = localMin;\r\n\r\n maxSpanData.push(firstDailyDataMax);\r\n maxSpanData.push(localMax);\r\n maxSpanData.push(lastDailyDataMax);\r\n\r\n // lastDailyData.y = localMin;\r\n // firstDailyData.y = localMin;\r\n\r\n minSpanData.push(firstDailyDataMin);\r\n minSpanData.push(localMin);\r\n minSpanData.push(lastDailyDataMin);\r\n /* fill in gaps after every day for correct label mapping of the data */\r\n minSpanData.push(',');\r\n maxSpanData.push(',');\r\n dailyData = [];\r\n }\r\n }\r\n\r\n labelsToDisplay = labels;\r\n\r\n datasets.push(\r\n {\r\n label: 'Blutzucker',\r\n data: mmol_l,\r\n // yAxisID: 'y-axis-1',\r\n borderColor: '#ed90d5',\r\n backgroundColor: '#ed90d5',\r\n fill: false,\r\n lineTension: 0,\r\n barPercentage: props.barPercentage ? props.barPercentage : 5,\r\n datalabels: {\r\n display: props.chartProps.labelOption, // if labels are enabled, tooltips are disabled and vice versa\r\n align: '-45',\r\n anchor: 'end',\r\n offset: 5,\r\n borderRadius: 4,\r\n backgroundColor: 'rgb(255,255,216)',\r\n opacity: 0.7,\r\n color: 'black',\r\n font: {\r\n weight: 'bold',\r\n },\r\n formatter: function (\r\n value: any,\r\n context: { chart: { data: { labels: { [x: string]: any } } }; dataIndex: string | number },\r\n ) {\r\n const valLabel = Number(context.chart.data.labels[context.dataIndex]).toFixed(\r\n props.chartProps.tooltipPrecisionVal,\r\n );\r\n return valLabel + ' ' + props.chartProps.chartOptions.scales.axisLeft.unit;\r\n },\r\n },\r\n },\r\n {\r\n label: 'Tagesminimum',\r\n data: minSpanData,\r\n borderColor: props.chartProps.chartData.COLOR,\r\n backgroundColor: 'rgba(255,192,203, 0.2)',\r\n fill: '+1',\r\n spanGaps: true,\r\n lineTension: 0,\r\n pointRadius: 0, //don't show point in span\r\n barPercentage: props.barPercentage ? props.barPercentage : 5,\r\n datalabels: {\r\n display: false, // if labels are enabled, tooltips are disabled and vice versa\r\n align: '-45',\r\n anchor: 'end',\r\n offset: 5,\r\n borderRadius: 4,\r\n backgroundColor: 'rgb(255,255,216)',\r\n opacity: 0.7,\r\n color: 'black',\r\n font: {\r\n weight: 'bold',\r\n },\r\n formatter: function (\r\n value: any,\r\n context: { chart: { data: { labels: { [x: string]: any } } }; dataIndex: string | number },\r\n ) {\r\n return (\r\n context.chart.data.labels[context.dataIndex] +\r\n ' ' +\r\n props.chartProps.chartOptions.scales.axisLeft.unit\r\n );\r\n },\r\n },\r\n },\r\n {\r\n label: 'Tagesmaximum',\r\n data: maxSpanData,\r\n borderColor: props.chartProps.chartData.COLOR,\r\n backgroundColor: 'rgba(255,192,203, 0.2)',\r\n spanGaps: true,\r\n fill: '-1',\r\n lineTension: 0,\r\n pointRadius: 0, //don't show point in span\r\n barPercentage: props.barPercentage ? props.barPercentage : 5,\r\n datalabels: {\r\n display: false, // if labels are enabled, tooltips are disabled and vice versa\r\n align: '-45',\r\n anchor: 'end',\r\n offset: 5,\r\n borderRadius: 4,\r\n backgroundColor: 'rgb(255,255,216)',\r\n opacity: 0.7,\r\n color: 'black',\r\n font: {\r\n weight: 'bold',\r\n },\r\n formatter: function (\r\n value: any,\r\n context: { chart: { data: { labels: { [x: string]: any } } }; dataIndex: string | number },\r\n ) {\r\n return (\r\n context.chart.data.labels[context.dataIndex] +\r\n ' ' +\r\n props.chartProps.chartOptions.scales.axisLeft.unit\r\n );\r\n },\r\n },\r\n },\r\n );\r\n /* all other Charts */\r\n } else {\r\n /* add datapoints */\r\n datasets.push({\r\n label: props.chartProps.chartData.label,\r\n data: props.chartProps.chartData.data,\r\n borderColor: props.chartProps.chartData.COLOR,\r\n backgroundColor:\r\n props.chartProps.chartName === charts.ACTIVITY.id\r\n ? 'rgba(170, 206, 41, 1)'\r\n : props.chartProps.chartData.COLOR,\r\n fill: false,\r\n lineTension: 0,\r\n barPercentage: props.barPercentage ? props.barPercentage : 5,\r\n datalabels: {\r\n display: props.chartProps.labelOption, // if labels are enabled, tooltips are disabled and vice versa\r\n align: '-45',\r\n anchor: 'end',\r\n offset: 5,\r\n borderRadius: 4,\r\n backgroundColor: 'rgb(255,255,216)',\r\n opacity: 0.7,\r\n color: 'black',\r\n font: {\r\n weight: 'bold',\r\n },\r\n formatter: function (\r\n value: any,\r\n context: { chart: { data: { labels: { [x: string]: any } } }; dataIndex: string | number },\r\n ) {\r\n return context.chart.data.labels[context.dataIndex] + ' ' + unit; // labels with unit from dataset (e.g. \"kg\", \"%\")\r\n },\r\n },\r\n });\r\n\r\n /* add targetChart1 if not empty */\r\n if (props.chartProps.targetChart1 && props.chartProps.targetChart1.label.length > 0) {\r\n datasets.push({\r\n label: props.chartProps.targetChart1.label,\r\n data: props.chartProps.targetChart1.data,\r\n fill: unit === 'kg' ? 'end' : '+1', // fill to the top of the chart (='end') for weightChart and to dataset 2 (='+1') for bodyfatChart\r\n borderColor: props.chartProps.targetChart1.COLOR,\r\n backgroundColor: unit === 'kg' ? 'rgba(255, 99, 132, 0.2)' : 'rgb(193, 213, 249, 0.4)',\r\n borderWidth: 1,\r\n steppedLine: 'before',\r\n radius: 0,\r\n datalabels: {\r\n labels: {\r\n title: null,\r\n },\r\n },\r\n });\r\n }\r\n\r\n /* add targetChart2 if not empty */\r\n if (props.chartProps.targetChart2 && props.chartProps.targetChart2.label.length > 0) {\r\n datasets.push({\r\n label: props.chartProps.targetChart2.label,\r\n data: props.chartProps.targetChart2.data,\r\n fill: unit === 'kg' ? 1 : '+2', // fill to dataset 1 = targetWeight1 for weightChart and to dataset 4 (='+2') for bodyfatChart (skip hidden dataset)\r\n borderColor: props.chartProps.targetChart2.COLOR,\r\n backgroundColor: unit === 'kg' ? 'rgba(255, 206, 86, 0.2)' : 'rgb(123, 165, 243, 0.4)',\r\n borderWidth: 1,\r\n steppedLine: 'before',\r\n radius: 0,\r\n datalabels: {\r\n labels: {\r\n title: null,\r\n },\r\n },\r\n });\r\n }\r\n\r\n /* add hidden dataset */\r\n datasets.push({\r\n label: 'hiddenDataset',\r\n data: props.chartProps.targetChart2 && props.chartProps.targetChart2.data,\r\n fill: unit === 'kg' ? '+1' : false, // fill to dataset +1 = targetWeight3 for weightChart and don't fill for bodyfatChart\r\n borderColor: props.chartProps.targetChart2 && props.chartProps.targetChart2.COLOR,\r\n backgroundColor: 'rgba(255, 206, 86, 0.2)',\r\n borderWidth: 1,\r\n steppedLine: 'before',\r\n radius: 0,\r\n datalabels: {\r\n labels: {\r\n title: null,\r\n },\r\n },\r\n });\r\n\r\n /* add targetChart3 if not empty */\r\n if (props.chartProps.targetChart3 && props.chartProps.targetChart3.label.length > 0) {\r\n datasets.push({\r\n label: props.chartProps.targetChart3.label,\r\n data: props.chartProps.targetChart3.data,\r\n fill: true, // \"fill area to the bottom of the chart\"\r\n borderColor: props.chartProps.targetChart3.COLOR,\r\n backgroundColor: unit === 'kg' ? 'rgba(75, 192, 192, 0.2)' : 'rgb(53, 117, 237, 0.4)',\r\n borderWidth: 1,\r\n steppedLine: 'before',\r\n radius: 0,\r\n datalabels: {\r\n labels: {\r\n title: null,\r\n },\r\n },\r\n });\r\n }\r\n }\r\n\r\n const data: [any[], any[]] = [datasets, labelsToDisplay];\r\n return data;\r\n};\r\n\r\nexport const getChartOptionsData = (props: IChartOptions) => {\r\n const unit = getUnitFromLabel(props.chartProps);\r\n\r\n let options: any = undefined;\r\n if (props.chartProps.chartName === charts.BLOODSUGAR.id) {\r\n options = {\r\n animation: false,\r\n scales: {\r\n xAxes: [\r\n {\r\n offset: props.scalesOffset ? props.scalesOffset : false,\r\n type: 'time',\r\n time: {\r\n displayFormats: {\r\n day: 'DD.MM.YYYY',\r\n hour: 'DD.MM.YYYY HH:mm',\r\n minute: 'DD.MM.YYYY HH:mm',\r\n second: 'DD.MM.YYYY HH:mm',\r\n millisecond: 'DD.MM.YYYY HH:mm',\r\n },\r\n isoWeekday: true,\r\n },\r\n ticks: {\r\n min: props.ticksXMin,\r\n max: props.ticksXMax,\r\n maxRotation: props.ticksMaxRotation ? props.ticksMaxRotation : props.chartSettings.rotation,\r\n minRotation: props.ticksMinRotation ? props.ticksMinRotation : 0,\r\n autoSkipPadding: props.chartSettings.padding,\r\n labelOffset: props.ticksLabelOffset ? props.ticksLabelOffset : 0,\r\n autoSkip: true,\r\n maxTicksLimit: props.chartSettings.isMobile ? 2 : 4,\r\n },\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n scaleLabel: {\r\n display: true,\r\n fontSize: 14,\r\n labelString: props.chartProps.chartOptions.scales.axisLeft.unit,\r\n },\r\n\r\n ticks: {\r\n suggestedMin: props.chartProps.chartData.YMIN,\r\n suggestedMax: props.chartProps.chartData.YMAX,\r\n },\r\n },\r\n // {\r\n // position: 'right',\r\n // scaleLabel: {\r\n // display: true,\r\n // fontSize: 14,\r\n // labelString: 'mg/dl',\r\n // },\r\n\r\n // ticks: {\r\n // suggestedMin: props.chartProps.chartData.YMIN,\r\n // suggestedMax: props.chartProps.chartData.YMAX,\r\n // },\r\n // },\r\n ],\r\n },\r\n legend: {\r\n labels: {\r\n filter: function (item: { text: string | string[] }) {\r\n if (item.text) {\r\n return !item.text.includes('hiddenDataset'); // Don't show a legend for the duplicated dataset\r\n }\r\n },\r\n },\r\n },\r\n tooltips: {\r\n intersect: props.chartProps.labelOption, // if labels are displayed tooltips are only shown when mouse position intersects with element (less sensitive), for better experience\r\n backgroundColor: 'rgb(255,255,216)',\r\n titleFontColor: 'black',\r\n callbacks: {\r\n label: function (tooltipItem: { yLabel: any }) {\r\n if (tooltipItem?.yLabel) {\r\n const val = Number(tooltipItem?.yLabel).toFixed(props.chartProps.tooltipPrecisionVal);\r\n return val + ' ' + props.chartProps.chartOptions.scales.axisLeft.unit;\r\n }\r\n },\r\n title: function (tooltipItem: any) {\r\n if (tooltipItem[0]?.xLabel) {\r\n return moment(tooltipItem[0]?.xLabel, 'MMM D, YYYY h:mm:ss A', 'de').format(\r\n 'DD.MM.YYYY HH:mm',\r\n );\r\n }\r\n },\r\n labelTextColor: function () {\r\n return 'black';\r\n },\r\n },\r\n filter: function (tooltipItem: { datasetIndex: number }) {\r\n if (tooltipItem.datasetIndex === 0) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n // return tooltipItem.datasetIndex !== 3; // don't show tooltips for duplicated dataset\r\n },\r\n },\r\n zoom: {\r\n enabled: true,\r\n mode: 'x',\r\n // Function called once zooming is completed\r\n onZoomComplete: props.updateLimits,\r\n },\r\n pan: {\r\n enabled: true,\r\n mode: 'x',\r\n // Function called once panning is completed\r\n onPanComplete: props.updateLimits,\r\n },\r\n };\r\n } else {\r\n options = {\r\n animation: false,\r\n scales: {\r\n xAxes: [\r\n {\r\n offset: props.scalesOffset ? props.scalesOffset : false,\r\n type: 'time',\r\n time: {\r\n displayFormats: {\r\n day: props.chartProps.chartName === charts.ACTIVITY.id ? 'DD.MM.YYYY' : 'DD.MM.YYYY',\r\n hour:\r\n props.chartProps.chartName === charts.ACTIVITY.id\r\n ? 'DD.MM.YYYY'\r\n : 'DD.MM.YYYY HH:mm',\r\n minute:\r\n props.chartProps.chartName === charts.ACTIVITY.id\r\n ? 'DD.MM.YYYY'\r\n : 'DD.MM.YYYY HH:mm',\r\n second:\r\n props.chartProps.chartName === charts.ACTIVITY.id\r\n ? 'DD.MM.YYYY'\r\n : 'DD.MM.YYYY HH:mm',\r\n millisecond:\r\n props.chartProps.chartName === charts.ACTIVITY.id\r\n ? 'DD.MM.YYYY'\r\n : 'DD.MM.YYYY HH:mm',\r\n },\r\n isoWeekday: true,\r\n },\r\n ticks: {\r\n min: props.ticksXMin,\r\n max: props.ticksXMax,\r\n maxRotation: props.ticksMaxRotation ? props.ticksMaxRotation : props.chartSettings.rotation,\r\n minRotation: props.ticksMinRotation ? props.ticksMinRotation : 0,\r\n autoSkipPadding: props.chartSettings.padding,\r\n labelOffset: props.ticksLabelOffset ? props.ticksLabelOffset : 0,\r\n autoSkip: true,\r\n maxTicksLimit: props.chartSettings.isMobile ? 2 : 4,\r\n },\r\n },\r\n ],\r\n yAxes: [\r\n {\r\n ticks: {\r\n suggestedMin: props.chartProps.chartData.YMIN,\r\n suggestedMax: props.chartProps.chartData.YMAX,\r\n },\r\n },\r\n ],\r\n },\r\n legend: {\r\n labels: {\r\n filter: function (item: { text: string | string[] }) {\r\n if (item.text) {\r\n return !item.text.includes('hiddenDataset'); // Don't show a legend for the duplicated dataset\r\n }\r\n },\r\n },\r\n },\r\n tooltips: {\r\n intersect: props.chartProps.labelOption, // if labels are displayed tooltips are only shown when mouse position intersects with element (less sensitive), for better experience\r\n backgroundColor: 'rgb(255,255,216)',\r\n titleFontColor: 'black',\r\n callbacks: {\r\n label: function (tooltipItem: { yLabel: any }) {\r\n return Number(tooltipItem?.yLabel).toFixed(props.chartProps.tooltipPrecisionVal) + ' ' + unit;\r\n },\r\n title: function (tooltipItem: any) {\r\n return moment(tooltipItem[0]?.xLabel, 'MMM D, YYYY h:mm:ss A', 'de').format(\r\n props.chartProps.chartName === charts.ACTIVITY.id ? 'DD.MM.YYYY' : 'DD.MM.YYYY HH:mm',\r\n );\r\n },\r\n labelTextColor: function () {\r\n return 'black';\r\n },\r\n },\r\n filter: function (tooltipItem: { datasetIndex: number }) {\r\n return tooltipItem.datasetIndex !== 3; // don't show tooltips for duplicated dataset\r\n },\r\n },\r\n zoom: {\r\n enabled: true,\r\n mode: 'x',\r\n // Function called once zooming is completed\r\n onZoomComplete: props.updateLimits,\r\n },\r\n pan: {\r\n enabled: true,\r\n mode: 'x',\r\n // Function called once panning is completed\r\n onPanComplete: props.updateLimits,\r\n },\r\n };\r\n\r\n /* use of chartjs-plugin-annotation - Box Annotations */\r\n if (props.chartProps.chartName === charts.FLI.id) {\r\n options.annotation = {\r\n annotations: [\r\n {\r\n type: 'box',\r\n drawTime: 'beforeDatasetsDraw',\r\n yMin: 0,\r\n yMax: props.chartProps.targetBarrier?.data[0].y,\r\n backgroundColor: 'rgba(184, 216, 62, 0.5)',\r\n borderWidth: 0,\r\n borderColor: 'transparent',\r\n yScaleID: 'y-axis-0',\r\n },\r\n {\r\n type: 'box',\r\n drawTime: 'beforeDatasetsDraw',\r\n yMin: props.chartProps.targetBarrier?.data[0].y,\r\n yMax: props.chartProps.targetArea?.data[0].y,\r\n backgroundColor: 'rgba(249, 205, 90, 0.5)',\r\n borderWidth: 0,\r\n borderColor: 'transparent',\r\n yScaleID: 'y-axis-0',\r\n },\r\n {\r\n type: 'box',\r\n drawTime: 'beforeDatasetsDraw',\r\n yMin: props.chartProps.targetArea?.data[0].y,\r\n yMax: 100,\r\n backgroundColor: 'rgba(205, 50, 50, 0.5)',\r\n borderWidth: 0,\r\n borderColor: 'transparent',\r\n yScaleID: 'y-axis-0',\r\n },\r\n ],\r\n };\r\n }\r\n }\r\n\r\n return options;\r\n};\r\n\r\nexport const getTableDataFromDiagnosticReportResponse = (diagnosticReportResponse: any) => {\r\n let tableTitle = '';\r\n // let tableData = {} as ITableData;\r\n let tableData = {} as any;\r\n\r\n if (diagnosticReportResponse) {\r\n tableTitle = diagnosticReportResponse.data.entry[0].resource.presentedForm[0].title;\r\n tableData = diagnosticReportResponse.data.entry[0].resource.presentedForm[0].extension[0].valueString;\r\n const jsonRes = JSON.parse(tableData);\r\n tableData = jsonRes;\r\n }\r\n\r\n const tableAllData: [string, ITableData] = [tableTitle, tableData];\r\n return tableAllData;\r\n};\r\n\r\nexport const getTableHeight = (screenHeight: number) => {\r\n const tableHeight = screenHeight - 150;\r\n return tableHeight.toString() + 'px';\r\n};\r\n","import moment from 'moment';\r\n\r\nexport const getBirthdayPrettyFormatedWithAge = (birthdate: string) => {\r\n if (birthdate !== undefined) {\r\n const date = moment(birthdate, 'YYYY-MM-DD', true);\r\n date.locale('de');\r\n return date.format('DD.MM.YYYY') + ' (' + moment().diff(date, 'years') + ' Jahre)';\r\n }\r\n\r\n return birthdate;\r\n};\r\n\r\nexport const isDateToday = (date: string) => {\r\n const momentDate = moment(date);\r\n const isToday = momentDate.isSame(moment(), 'day');\r\n return isToday;\r\n};\r\n\r\nexport const isDateBeforeToday = (date: string | Date) => {\r\n const momentDate = moment(date);\r\n const isBeforeToday = momentDate.isBefore(moment(), 'day');\r\n return isBeforeToday;\r\n};\r\n\r\n/**\r\n * get the elapsed time for a time with format (HH:mm - HH:mm)\r\n *\r\n * @param time\r\n * @returns\r\n * the elapsed time for a time with format (HH:mm - HH:mm)\r\n */\r\nexport const getCalculatedElapsedTimeFromEndFormat = (time: string) => {\r\n const times = time.split(' - ');\r\n return moment(times[0], 'HH:mm').fromNow();\r\n};\r\n\r\nexport const getCurrentDateTime = () => {\r\n // return moment().format('YYYY-MM-DDTHH:mm:ss');\r\n return moment().format();\r\n};\r\n\r\nexport const setTimeOnDate = (date: string, time: string) => {\r\n const timeParts = time.split(':');\r\n return moment(date)\r\n .set({ hour: parseInt(timeParts[0]), minute: parseInt(timeParts[1]) })\r\n .format();\r\n};\r\n\r\n/**\r\n * get the current time with format (HH:mm)\r\n */\r\nexport const getCurrentTime = () => {\r\n const time = moment().format('LT');\r\n return time;\r\n};\r\n\r\nexport const monthNameConverter = (month: string) => {\r\n let convertedMonth = month;\r\n if (month.includes('Januar')) {\r\n convertedMonth = month.replace('Januar', 'Jänner');\r\n }\r\n\r\n return convertedMonth;\r\n};\r\n\r\n/**\r\n * get the weekday from a date\r\n *\r\n * @param date\r\n * the date to get the weekday from\r\n * @param format\r\n * the format to return the weekday in (e.g. 'dddd' for the full name of the weekday)\r\n * @returns\r\n * the weekday from a date\r\n */\r\nexport const getWeekDay = (date: string, format: string) => {\r\n const momentDate = moment(date);\r\n return momentDate.format(format);\r\n};\r\n","import { useResizedScreenResolution } from '../../hooks/useScreenResolution';\r\n\r\nexport interface IFramePDF {\r\n src: string;\r\n}\r\n\r\nconst IFramePDF = (props: IFramePDF) => {\r\n const [getResizedHeight] = useResizedScreenResolution();\r\n // return ;\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default IFramePDF;\r\n","import Button from 'react-bootstrap/Button';\r\nimport styled from 'styled-components';\r\n\r\nexport interface IButtonProps {\r\n color: string;\r\n colorHover: string;\r\n backgroundColor: string;\r\n backgroundColorHover: string;\r\n borderRadius: string;\r\n borderRadiusTopLeft: string;\r\n borderRadiusTopRight: string;\r\n borderRadiusBottomLeft: string;\r\n borderRadiusBottomRight: string;\r\n border: string;\r\n borderColor: string;\r\n borderColorHover: string;\r\n boxShadow: string;\r\n width?: string;\r\n marginLeft?: string;\r\n}\r\n\r\nconst buttonProps = (props: any): IButtonProps => {\r\n /* defaultValues / primary */\r\n const bp: IButtonProps = {\r\n color: props.theme.button.primary.color,\r\n colorHover: props.theme.button.primary.colorHover,\r\n backgroundColor: props.theme.button.primary.backgroundColor,\r\n backgroundColorHover: props.theme.button.primary.backgroundColorHover,\r\n borderRadius: props.theme.button.borderRadius,\r\n borderRadiusTopLeft: props.theme.button.primary.borderRadiusTopLeft,\r\n borderRadiusTopRight: props.theme.button.primary.borderRadiusTopRight,\r\n borderRadiusBottomLeft: props.theme.button.primary.borderRadiusBottomLeft,\r\n borderRadiusBottomRight: props.theme.button.primary.borderRadiusBottomRight,\r\n border: props.theme.button.border,\r\n borderColor: props.theme.button.primary.borderColor,\r\n borderColorHover: props.theme.button.primary.borderColorHover,\r\n boxShadow: props.theme.button.boxShadow,\r\n };\r\n\r\n if (props.variant === 'primary') {\r\n return bp;\r\n } else if (props.variant === 'secondary') {\r\n bp.color = props.theme.button.secondary.color;\r\n bp.colorHover = props.theme.button.secondary.colorHover;\r\n bp.backgroundColor = props.theme.button.secondary.backgroundColor;\r\n bp.backgroundColorHover = props.theme.button.secondary.backgroundColorHover;\r\n bp.border = props.theme.button.secondary.border;\r\n bp.borderColor = props.theme.button.secondary.borderColor;\r\n bp.borderColorHover = props.theme.button.secondary.borderColorHover;\r\n } else if (props.variant === 'warning') {\r\n bp.color = props.theme.button.warning.color;\r\n bp.colorHover = props.theme.button.warning.colorHover;\r\n bp.backgroundColor = props.theme.button.warning.backgroundColor;\r\n bp.backgroundColorHover = props.theme.button.warning.backgroundColorHover;\r\n bp.border = props.theme.button.warning.border;\r\n bp.borderColor = props.theme.button.warning.borderColor;\r\n bp.borderColorHover = props.theme.button.warning.borderColorHover;\r\n } else if (props.variant === 'success') {\r\n bp.color = props.theme.button.success.color;\r\n bp.colorHover = props.theme.button.success.colorHover;\r\n bp.backgroundColor = props.theme.button.success.backgroundColor;\r\n bp.backgroundColorHover = props.theme.button.success.backgroundColorHover;\r\n bp.border = props.theme.button.success.border;\r\n bp.borderColor = props.theme.button.success.borderColor;\r\n bp.borderColorHover = props.theme.button.success.borderColorHover;\r\n } else if (props.variant === 'danger') {\r\n bp.color = props.theme.button.danger.color;\r\n bp.colorHover = props.theme.button.danger.colorHover;\r\n bp.backgroundColor = props.theme.button.danger.backgroundColor;\r\n bp.backgroundColorHover = props.theme.button.danger.backgroundColorHover;\r\n bp.border = props.theme.button.danger.border;\r\n bp.borderColor = props.theme.button.danger.borderColor;\r\n bp.borderColorHover = props.theme.button.danger.borderColorHover;\r\n /* #dc3545\r\n } else if (props.variant === 'pill') {\r\n bp.color = 'black';\r\n bp.backgroundColor = 'white';\r\n bp.backgroundColorHover = pcpColors.lightGray;\r\n bp.borderColor = pcpColors.midGray;\r\n bp.borderColorHover = pcpColors.lightGray;\r\n bp.borderRadius = '20px';\r\n bp.boxShadow = '0 2px 0 0 #e0e1e1, 0 0 2px 0 #e0e1e1';\r\n } else if (props.variant === 'lowP') {\r\n bp.backgroundColor = pcpColors.p4;\r\n bp.borderColor = pcpColors.p4;\r\n bp.backgroundColorHover = pcpColors.p5;\r\n bp.borderColorHover = pcpColors.p5;*/\r\n }\r\n\r\n return bp;\r\n};\r\n\r\nconst StyledButton = styled(Button)`\r\n min-width: 100px;\r\n width: ${(props) => (props.width ? props.width : null)};\r\n height: ${(props) => (props.height ? props.height : null)};\r\n margin-left: ${(props) => (props.marginLeft ? props.marginLeft : null)};\r\n margin-top: ${(props) => (props.marginTop ? props.marginTop : '5px')};\r\n margin-right: ${(props) => (props.marginRight ? props.marginRight : null)};\r\n margin-bottom: ${(props) => (props.marginBottom ? props.marginBottom : null)};\r\n padding-right: ${(props) => (props.paddingRight ? props.paddingRight : null)};\r\n padding-left: ${(props) => (props.paddingLeft ? props.paddingLeft : null)};\r\n color: ${(props) => (props.color ? props.color : buttonProps(props).color)};\r\n background-color: ${(props) =>\r\n props.backgroundColor ? props.backgroundColor : buttonProps(props).backgroundColor};\r\n\r\n border-top-left-radius: ${(props) =>\r\n props.borderRadiusTopLeft ? props.borderRadiusTopLeft : buttonProps(props).borderRadiusTopLeft};\r\n border-top-right-radius: ${(props) =>\r\n props.borderRadiusTopRight ? props.borderRadiusTopRight : buttonProps(props).borderRadiusTopRight};\r\n border-bottom-left-radius: ${(props) =>\r\n props.borderRadiusBottomLeft ? props.borderRadiusBottomLeft : buttonProps(props).borderRadiusBottomLeft};\r\n border-bottom-right-radius: ${(props) =>\r\n props.borderRadiusBottomRight ? props.borderRadiusBottomRight : buttonProps(props).borderRadiusBottomRight};\r\n border-radius: ${(props) => (props.borderRadius ? props.borderRadius : buttonProps(props).borderRadius)};\r\n border: ${(props) => (props.border ? props.border : buttonProps(props).border)};\r\n border-color: ${(props) => (props.borderColor ? props.borderColor : buttonProps(props).borderColor)};\r\n box-shadow: ${(props) => (props.boxShadow ? props.boxShadow : buttonProps(props).boxShadow)};\r\n &:hover {\r\n color: ${(props) => (props.colorHover ? props.colorHover : buttonProps(props).colorHover)};\r\n background-color: ${(props) =>\r\n props.backgroundColorHover ? props.backgroundColorHover : buttonProps(props).backgroundColorHover};\r\n border-color: ${(props) =>\r\n props.borderColorHover ? props.borderColorHover : buttonProps(props).borderColorHover};\r\n }\r\n &:focus {\r\n color: ${(props) => (props.colorHover ? props.colorHover : buttonProps(props).colorHover)};\r\n background-color: ${(props) =>\r\n props.backgroundColorHover ? props.backgroundColorHover : buttonProps(props).backgroundColorHover};\r\n border-color: ${(props) =>\r\n props.borderColorHover ? props.borderColorHover : buttonProps(props).borderColorHover};\r\n }\r\n &:hover:focus:active {\r\n color: ${(props) => (props.colorHover ? props.colorHover : buttonProps(props).colorHover)};\r\n background-color: ${(props) =>\r\n props.backgroundColorHover ? props.backgroundColorHover : buttonProps(props).backgroundColorHover};\r\n border-color: ${(props) =>\r\n props.borderColorHover ? props.borderColorHover : buttonProps(props).borderColorHover};\r\n }\r\n &:active {\r\n color: ${(props) => (props.colorHover ? props.colorHover : buttonProps(props).colorHover)} !important;\r\n background-color: ${(props) =>\r\n props.backgroundColorHover\r\n ? props.backgroundColorHover\r\n : buttonProps(props).backgroundColorHover} !important;\r\n border-color: ${(props) =>\r\n props.borderColorHover ? props.borderHover : buttonProps(props).borderColorHover} !important;\r\n }\r\n &:disabled {\r\n background-color: #eeeeee;\r\n color: gray;\r\n border: solid 1px;\r\n border-color: #aaaaaa;\r\n }\r\n`;\r\n\r\nexport default StyledButton;\r\n","import { ContentWithoutImpressum } from '../../components/Div/StyledDiv';\r\nimport Impressum, { IImpressumElement } from '../../components/Impressum/Impressum';\r\n\r\ninterface IFullScreenImpressum {\r\n show?: boolean;\r\n impressum?: IImpressumElement;\r\n children: React.ReactNode;\r\n}\r\n\r\nconst FullScreenImpressum = (props: IFullScreenImpressum) => {\r\n const showImpressum = props.show !== undefined ? props.show : true;\r\n\r\n if (showImpressum && props.impressum) {\r\n return (\r\n
\r\n {props.children}\r\n \r\n
\r\n );\r\n } else {\r\n return <>{props.children};\r\n }\r\n};\r\n\r\nexport default FullScreenImpressum;\r\n","import Col from 'react-bootstrap/Col';\r\nimport styled from 'styled-components';\r\n\r\ninterface ICol {\r\n borderLeft?: string;\r\n paddingLeft?: string;\r\n paddingRight?: string;\r\n textAlign?: string;\r\n justifyContent?: string;\r\n}\r\n\r\nconst StyledCol = styled(Col)`\r\n border-left: ${(prop) => (prop.borderLeft ? prop.borderLeft : 'none')};\r\n padding-left: ${(prop) => (prop.paddingLeft ? prop.paddingLeft : '15px')};\r\n padding-right: ${(prop) => (prop.paddingRight ? prop.paddingRight : '15px')};\r\n text-align: ${(prop) => (prop.textAlign ? prop.textAlign : 'left')};\r\n`;\r\n\r\nexport const MainHeaderCol = styled(Col)`\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n`;\r\n\r\nexport const ChartsHeaderCol = styled(Col)`\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n`;\r\n\r\nexport const MainHeaderButtonCol = styled(Col)`\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: flex-end;\r\n width: 100%;\r\n`;\r\n\r\nexport const ChartsButtonCol = styled(Col)`\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: ${(prop) => (prop.justifyContent ? prop.justifyContent : 'flex-end')};\r\n width: 100%;\r\n`;\r\n\r\nexport const AppointmentCardHeaderCol = styled(Col)`\r\n height: 100%;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n align-self: center;\r\n width: 100%;\r\n`;\r\n\r\nexport const AppointmentCardHeaderStatusButtonCol = styled(Col)`\r\n justify-content: flex-end;\r\n`;\r\n\r\nexport const AppointmentCardDateCol = styled(AppointmentCardHeaderCol)`\r\n justify-content: left;\r\n`;\r\n\r\nexport const AppointmentCardStatusCol = styled(AppointmentCardHeaderCol)`\r\n padding: 0;\r\n justify-content: flex-start;\r\n`;\r\n\r\nexport const AppointmentCardButtonCol = styled(AppointmentCardHeaderCol)`\r\n padding: 0;\r\n justify-content: flex-end;\r\n`;\r\n\r\nexport const StyledColNoPadding = styled(Col)`\r\n padding: 0 !important;\r\n padding-right: 0 !important;\r\n padding-left: 0 !important;\r\n`;\r\n\r\nexport const DateSwitcherTimeslotCol = styled(Col)`\r\n height: 100%;\r\n padding-left: 5px;\r\n padding-right: 5px;\r\n padding-top: 5px;\r\n\r\n @media screen and (max-width: 580px) {\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n padding-top: 5px;\r\n }\r\n`;\r\n\r\nexport const DateSwitcherTimeslotColStartEnd = styled(Col)`\r\n height: 100%;\r\n padding-left: 5px;\r\n padding-right: 5px;\r\n padding-top: 5px;\r\n flex: 0 0 40px;\r\n\r\n @media screen and (max-width: 580px) {\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n padding-top: 5px;\r\n flex: 0 0 30px;\r\n }\r\n @media screen and (max-width: 360px) {\r\n padding-left: 2px;\r\n padding-right: 2px;\r\n padding-top: 5px;\r\n flex: 0 0 25px;\r\n }\r\n`;\r\n\r\nexport const DateCol = styled(Col)`\r\n font-size: small;\r\n text-align: center;\r\n @media screen and (max-width: 500px) {\r\n font-size: 13px;\r\n }\r\n`;\r\n\r\nexport const DatePlaceholderCol = styled(Col)`\r\n @media screen and (min-width: 897px) {\r\n min-width: 277px;\r\n }\r\n @media screen and (min-width: 985px) {\r\n min-width: 230px;\r\n }\r\n`;\r\n\r\nexport const QuestionnaireSwitcherColStartEnd = styled(Col)`\r\n flex-grow: 1;\r\n padding-left: 0px;\r\n padding-right: 0px;\r\n`;\r\n\r\nexport const QuestionnaireSwitcherColTitle = styled(Col)`\r\n flex-grow: 1;\r\n padding-left: 0px;\r\n padding-right: 0px;\r\n`;\r\n\r\nexport const ButtonColLeft = styled(Col)`\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n\r\n @media screen and (max-width: 500px) {\r\n padding-left: 0px;\r\n padding-right: 5px;\r\n }\r\n`;\r\n\r\nexport const ButtonColMiddle = styled(Col)`\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n\r\n @media screen and (max-width: 500px) {\r\n padding-left: 5px;\r\n padding-right: 5px;\r\n }\r\n`;\r\n\r\nexport const ButtonColRight = styled(Col)`\r\n padding-left: 15px;\r\n padding-right: 15px;\r\n\r\n @media screen and (max-width: 500px) {\r\n padding-left: 5px;\r\n padding-right: 0px;\r\n }\r\n`;\r\n\r\nexport default StyledCol;\r\n","import * as React from 'react';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport styled from 'styled-components';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../../context/alertContext';\r\nimport { ISigData } from '../../../context/sigpadContext';\r\nimport { addSignatureToPDF } from '../../../services/RestServices';\r\nimport { showAlertMessage } from '../../../utils/alertHandling';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport IFramePDF from '../../IFrame/IFramePDF';\r\nimport SignDocumentModal, { ISignDocumentModalShow } from '../SignDocumentModal/SignDocumentModal';\r\n\r\ninterface IModalCst {\r\n fullScreen?: boolean;\r\n}\r\n\r\nexport const ModalCst = styled(Modal)`\r\n .modal-dialog {\r\n max-width: ${(props) => (props.fullScreen ? '100%' : '90%')};\r\n max-height: ${(props) => (props.fullScreen ? '100%' : '93%')};\r\n margin: ${(props) => (props.fullScreen ? '0' : '1.75rem auto')};\r\n height: ${(props) => (props.fullScreen ? '100%' : '93%')};\r\n width: ${(props) => (props.fullScreen ? '100%' : null)};\r\n }\r\n .modal-content {\r\n min-height: ${(props) => (props.fullScreen ? '100%' : '93%')};\r\n border-radius: ${(props) => props.theme.modal.borderRadius};\r\n box-shadow: ${(props) => props.theme.modal.boxShadow};\r\n }\r\n\r\n .modal-body {\r\n min-height: ${(props) => (props.fullScreen ? '100%' : '93%')};\r\n }\r\n`;\r\n\r\nexport interface IPDFModal {\r\n show: boolean;\r\n onHide(): void;\r\n modalTitle: string;\r\n pdfData: any;\r\n isSignable?: boolean;\r\n isSigned?: boolean;\r\n diagnosticReportData?: any;\r\n fullScreen?: boolean;\r\n}\r\n\r\nconst PDFModal = (props: IPDFModal) => {\r\n const [signModalShow, setSignModalShow] = useState({\r\n show: false,\r\n });\r\n const [docIsSigned, setDocIsSigned] = useState(false);\r\n const [pdfDocAfterSign, setPdfDocAfterSign] = useState();\r\n\r\n const { alertdispatch } = useContext(AlertContext);\r\n\r\n useEffect(() => {\r\n if (props.isSigned && props.isSigned === true) {\r\n setDocIsSigned(true);\r\n }\r\n }, [props.show]);\r\n\r\n const showSignModal = (e: React.MouseEvent) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n setSignModalShow({\r\n show: true,\r\n });\r\n };\r\n\r\n const onSignModalSigned = async (sigData: ISigData) => {\r\n setSignModalShow({ show: false });\r\n if (sigData && sigData.pictureData.length > 0 && props.diagnosticReportData) {\r\n const response = await addSignatureToPDF(sigData, props.diagnosticReportData);\r\n if (response.success !== 'true') {\r\n showAlertMessage({\r\n alertTitle: 'PDF signieren',\r\n alertTxt: 'Es ist ein Fehler bei der Signierung des PDFs aufgetreten.',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n alertdispatch: alertdispatch,\r\n });\r\n } else {\r\n setDocIsSigned(true);\r\n if (response.pdfURF) {\r\n setPdfDocAfterSign();\r\n }\r\n }\r\n }\r\n };\r\n\r\n const onSignModalCancel = () => {\r\n setSignModalShow({ show: false });\r\n };\r\n\r\n const showPDFData = () => {\r\n if (docIsSigned && pdfDocAfterSign) {\r\n return pdfDocAfterSign;\r\n } else {\r\n return props.pdfData;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.modalTitle}\r\n \r\n {showPDFData()}\r\n \r\n {props.isSignable && (\r\n showSignModal(e)}>\r\n {docIsSigned ? 'ist signiert' : 'Signieren'}\r\n \r\n )}\r\n props.onHide()}>\r\n Schließen\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PDFModal;\r\n","import Button from 'react-bootstrap/Button';\r\nimport ToggleButton from 'react-bootstrap/ToggleButton';\r\nimport styled from 'styled-components';\r\n\r\nconst SelectButton = styled(Button)`\r\n margin: 10px;\r\n padding: ${(props) => (props.padding ? props.padding : '.375rem .50rem')};\r\n height: ${(props) => (props.height ? props.height : '80px')};\r\n width: ${(props) => (props.width ? props.width : '300px')};\r\n color: rgb(36, 94, 173);\r\n background-color: ${(props) =>\r\n props.selected ? props.theme.selectButton.backgroundColorActive : props.theme.selectButton.backgroundColor};\r\n border-color: rgb(36, 94, 173);\r\n font-weight: normal;\r\n font-size: ${(props) => (props.fontSize ? props.fontSize : 'medium')};\r\n margin-left: 0;\r\n box-shadow: ${(props) => (props.theme.button.boxShadow ? props.theme.button.boxShadow : 'none')};\r\n border-radius: ${(props) => (props.theme.button.borderRadius ? props.theme.button.borderRadius : 'none')};\r\n\r\n &:hover {\r\n background-color: ${(props) => props.theme.selectButton.backgroundColorHover};\r\n border-color: ${(props) => props.theme.selectButton.backgroundColorHover};\r\n color: rgb(36, 94, 173);\r\n }\r\n &:active {\r\n background-color: ${(props) => props.theme.selectButton.backgroundColorActive} !important;\r\n border-color: ${(props) => props.theme.selectButton.backgroundColorActive} !important;\r\n color: rgb(36, 94, 173);\r\n }\r\n\r\n &.btn-outline-primary:not(:disabled):not(.disabled).active,\r\n .btn-outline-primary:not(:disabled):not(.disabled):active,\r\n .show > .btn-outline-primary.dropdown-toggle {\r\n color: black;\r\n background-color: white;\r\n border-color: lightblue;\r\n }\r\n`;\r\n\r\nexport const TimeslotButton = styled(SelectButton)`\r\n variant: 'outline-primary';\r\n margin: 0px;\r\n background-color: rgba(173, 207, 3, 0.5);\r\n box-shadow: none;\r\n font-size: small;\r\n /* font-size: 0.58rem; */\r\n height: 80%;\r\n width: 100%;\r\n display: inline-block;\r\n border-radius: 2px;\r\n text-align: center;\r\n @media screen and (max-width: 520px) {\r\n /* font-size: 10px; */\r\n font-size: 0.58rem;\r\n padding: 4px 2px 4px 2px;\r\n max-width: 37px;\r\n overflow: hidden;\r\n white-space: nowrap;\r\n }\r\n @media screen and (max-width: 400px) {\r\n max-width: 32px;\r\n }\r\n @media screen and (max-width: 414px) {\r\n max-width: 90%;\r\n font-size: small;\r\n // word-break: break-all;\r\n }\r\n`;\r\n\r\nexport const SelectRadioToggleButton = styled(ToggleButton)`\r\n width: 180px;\r\n`;\r\n\r\nexport default SelectButton;\r\n","import { useContext } from 'react';\r\nimport Card from 'react-bootstrap/Card';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport { ListGroupCst, ListGroupItemCst, StyledProfileCard } from '../../components/Cards/StyledCard';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport { getGenderDE } from '../../utils/pcpUtils';\r\n\r\ninterface IPersonalDataSummary {\r\n width?: string;\r\n}\r\n\r\nconst PersonalDataSummary = (props: IPersonalDataSummary) => {\r\n const { tmstate } = useContext(TerminierungContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n\r\n const { t } = useLanguage();\r\n\r\n interface IDataItem {\r\n label: string;\r\n data: string;\r\n }\r\n\r\n const DataItem = (props: IDataItem) => {\r\n return (\r\n \r\n \r\n {props.label}\r\n \r\n {props.data}\r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const getPlannedStudiesList = () => {\r\n let studyList = '';\r\n\r\n if (tmstate.personalData.plannedStudies.length > 0) {\r\n for (let i = 0; i < tmstate.personalData.plannedStudies.length; i++) {\r\n if (tmstate.personalData.plannedStudies[i].participate === true) {\r\n if (i === 0) {\r\n studyList = studyList + tmstate.personalData.plannedStudies[i].display;\r\n } else {\r\n studyList = studyList + ', ' + tmstate.personalData.plannedStudies[i].display;\r\n }\r\n }\r\n }\r\n }\r\n\r\n return studyList;\r\n };\r\n\r\n return (\r\n \r\n \r\n {t('ANMELD', 'Ihre persönlichen Daten')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {apstate.RegistrationVisibleFields.academicTitle === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.firstName === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.lastName === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.birthDate === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.gender === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.phone === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.mobilePhone === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.email === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.zip === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.city === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.street === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.street === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.country === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.insuranceNr === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.insuranceName === true && (\r\n \r\n )}\r\n {apstate.RegistrationVisibleFields.language === true && (\r\n \r\n )}\r\n {tmstate.personalData.plannedStudies.length > 0 && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PersonalDataSummary;\r\n","import moment from 'moment';\r\n\r\nexport interface ISignPosData {\r\n left: any;\r\n top: any;\r\n width: any;\r\n height: any;\r\n page: number;\r\n modalMsg?: string;\r\n}\r\n\r\nexport const getPDFDataFromDiagnosticReportResponse = (\r\n diagnosticReportResponse: any,\r\n filename: string,\r\n date: string,\r\n) => {\r\n let modalTitle = '';\r\n let pdfdata = '';\r\n let pdfsrc = '';\r\n let isSignable = 'false';\r\n let isSigned = 'false';\r\n let signPosData = '';\r\n\r\n const diagReport =\r\n diagnosticReportResponse.data !== undefined ? diagnosticReportResponse.data : diagnosticReportResponse;\r\n\r\n if (diagReport.presentedForm) {\r\n if (date === '') {\r\n if (diagReport.effectiveDateTime) {\r\n date = moment(diagReport.effectiveDateTime).format('L LT');\r\n }\r\n }\r\n if (filename === '') {\r\n if (diagReport.code.coding[0].display) {\r\n filename = diagReport.code.coding[0].display;\r\n }\r\n }\r\n modalTitle = filename + ' / ' + date;\r\n pdfdata = diagReport.presentedForm[0].data;\r\n pdfsrc = 'data:application/pdf;base64,' + pdfdata;\r\n\r\n if (diagReport.extension) {\r\n diagReport.extension.forEach((e) => {\r\n if (e.url.endsWith('isSignable')) {\r\n if (e.valueBoolean === true) {\r\n isSignable = 'true';\r\n }\r\n }\r\n if (e.url.endsWith('isSigned')) {\r\n if (e.valueBoolean === true) {\r\n isSigned = 'true';\r\n }\r\n }\r\n if (e.url.endsWith('signPosData')) {\r\n signPosData = e.valueString;\r\n }\r\n });\r\n }\r\n } else {\r\n modalTitle = 'Kein PDF zum anzeigen vorhanden';\r\n }\r\n\r\n return [modalTitle, pdfsrc, isSignable, isSigned, signPosData];\r\n};\r\n","import Modal from 'react-bootstrap/Modal';\r\nimport styled from 'styled-components';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\n\r\nexport const ModalCst = styled(Modal)`\r\n .modal-dialog {\r\n max-width: 90%;\r\n margin: 1.75rem auto;\r\n }\r\n .modal-content {\r\n border-radius: ${(prop) => (prop.borderRadius ? prop.borderRadius : prop.theme.modal.borderRadius)};\r\n box-shadow: ${(prop) => (prop.boxShadow ? prop.boxShadow : prop.theme.modal.boxShadow)};\r\n }\r\n`;\r\n\r\nexport interface IBlockingAppointmentModal {\r\n show: boolean;\r\n onHide: any;\r\n}\r\n\r\nconst BlockingAppointmentModal = (props: IBlockingAppointmentModal) => {\r\n // useEffect(() => {}, [props.show]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n Dieser Timeslot wurde in der Zwischenzeit bereits vergeben\r\n \r\n Bitte wählen Sie einen neuen Termin aus.\r\n \r\n props.onHide()}>OK\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default BlockingAppointmentModal;\r\n","import { Formik } from 'formik';\r\nimport produce from 'immer';\r\nimport moment from 'moment';\r\nimport * as React from 'react';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Form from 'react-bootstrap/Form';\r\nimport * as yup from 'yup';\r\nimport { StyledFormLabelForInput } from '../../components/StyledForm/SyledForm';\r\nimport AppPropsContext, { IRegistrationFields } from '../../context/appPropsContext';\r\nimport CheckInContext from '../../context/checkInContext';\r\nimport LoginContext, { IPossibleStudies } from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { useAppProperties } from '../../hooks/useAppProperties';\r\nimport { useGoogleAnalytics } from '../../hooks/useGoogleAnalytics';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport { usePersonalData } from '../../hooks/usePersonalData';\r\nimport { IPlannedStudies } from '../../services/fhir/FHIRPatientResource';\r\nimport { getGenderDE, pattern } from '../../utils/pcpUtils';\r\nimport { Default, Mobile } from '../../utils/screenResolution';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport StyledCol from '../Cols/StyledCol';\r\nimport { LeftDiv } from '../Div/StyledDiv';\r\nimport { StyledRowPersonalDataBottom } from '../Rows/StyledRow';\r\nimport './AppointmentPersonalData.css';\r\n\r\nexport interface IAppointmentPersonalData {\r\n handleNext?: any;\r\n handleNextWithActiveStep?(currentActiveStep: number): void;\r\n handleBack?: any;\r\n handleCancel?: any;\r\n directRegistration?: boolean;\r\n currentActiveStep?: number;\r\n showCancelButton?: boolean;\r\n showBackButton?: boolean;\r\n showRegistrationCbx?: boolean;\r\n nextButtonEnabled?: boolean;\r\n showNextButton?: boolean;\r\n isPhysPat?: boolean;\r\n showPrivacyPolicyCbx?: boolean;\r\n}\r\n\r\nconst AppointmentPersonalData = (props: IAppointmentPersonalData) => {\r\n const { state } = useContext(LoginContext);\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n const { checkinstate } = useContext(CheckInContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const [allCurrentStudies, setAllCurrentStudies] = useState();\r\n const [mandFields, setMandFields] = useState({\r\n birthDate: apstate.RegistrationMandFields.birthDate,\r\n city: apstate.RegistrationMandFields.city,\r\n country: apstate.RegistrationMandFields.country,\r\n email: apstate.RegistrationMandFields.email,\r\n firstName: apstate.RegistrationMandFields.firstName,\r\n gender: apstate.RegistrationMandFields.gender,\r\n lastName: apstate.RegistrationMandFields.lastName,\r\n phone: apstate.RegistrationMandFields.phone,\r\n street: apstate.RegistrationMandFields.street,\r\n zip: apstate.RegistrationMandFields.zip,\r\n insuranceNr: apstate.RegistrationMandFields.insuranceNr,\r\n mobilePhone: apstate.RegistrationMandFields.mobilePhone,\r\n academicTitle: apstate.RegistrationMandFields.academicTitle,\r\n insuranceName: apstate.RegistrationMandFields.insuranceName,\r\n language: apstate.RegistrationMandFields.language,\r\n privacyTerms: apstate.RegistrationMandFields.language,\r\n });\r\n\r\n const [cbxRegistrationSelected, setCbxRegistrationSelected] = useState(false);\r\n const [cbxPrivacyPolicySelected, setCbxPrivacyPolicySelected] = useState(false);\r\n\r\n const { getPlannedStudyParticipation } = usePersonalData();\r\n const { sendGoogleAnalyticsPageView } = useGoogleAnalytics();\r\n const { getPossibleCountries } = useAppProperties();\r\n\r\n const { t } = useLanguage();\r\n\r\n useEffect(() => {\r\n sendGoogleAnalyticsPageView({ page: '/AppointmentPersonalData', title: 'Personendaten eingeben' });\r\n\r\n const allStudies: IPlannedStudies[] = [];\r\n\r\n state.possibleStudies.forEach((study) => {\r\n const code = study.code;\r\n const display = study.display;\r\n const participated = getPlannedStudyParticipation(code);\r\n allStudies.push({\r\n code: code,\r\n display: display,\r\n participate: participated,\r\n });\r\n });\r\n\r\n /* get the inital values for the checkboxes */\r\n setAllCurrentStudies(allStudies);\r\n\r\n /* override mand fields */\r\n if (props.isPhysPat) {\r\n setMandFields({\r\n ...mandFields,\r\n email: false,\r\n });\r\n }\r\n }, []);\r\n\r\n const setInsuranceNr = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_INSURANCENR',\r\n personalDataPhysPat: {\r\n insuranceNr: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_INSURANCENR',\r\n personalData: {\r\n insuranceNr: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setInsuranceName = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_INSURANCENAME',\r\n personalDataPhysPat: {\r\n insuranceName: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_INSURANCENAME',\r\n personalData: {\r\n insuranceName: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setLanguage = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_LANGUAGE',\r\n personalDataPhysPat: {\r\n language: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_LANGUAGE',\r\n personalData: {\r\n language: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setMobilePhone = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_MOBILEPHONE',\r\n personalDataPhysPat: {\r\n mobilePhone: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_MOBILEPHONE',\r\n personalData: {\r\n mobilePhone: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setAcademicTitle = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_ACADEMICTITLE',\r\n personalDataPhysPat: {\r\n academicTitle: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_ACADEMICTITLE',\r\n personalData: {\r\n academicTitle: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setFirstName = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_FIRSTNAME',\r\n personalDataPhysPat: {\r\n firstName: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_FIRSTNAME',\r\n personalData: {\r\n firstName: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setLastName = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_LASTNAME',\r\n personalDataPhysPat: {\r\n lastName: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_LASTNAME',\r\n personalData: {\r\n lastName: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setBirthday = (value: string) => {\r\n let dateFormated = '';\r\n\r\n if (value) {\r\n dateFormated = moment(value).format('DD.MM.yyyy');\r\n }\r\n\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_BIRTHDAY',\r\n personalDataPhysPat: {\r\n birthday: dateFormated,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_BIRTHDAY',\r\n personalData: {\r\n birthday: dateFormated,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const formatBirthdayForFormik = (birthday: string) => {\r\n if (moment(birthday, 'dd.MM.yyyy', true).isValid()) {\r\n const dateFormated = moment(birthday).format('YYYY-DD-MM');\r\n console.log('dateFormated: ' + dateFormated);\r\n return dateFormated;\r\n } else {\r\n return birthday;\r\n }\r\n };\r\n\r\n const setGender = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_GENDER',\r\n personalDataPhysPat: {\r\n gender: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_GENDER',\r\n personalData: {\r\n gender: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setEmail = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_EMAIL',\r\n personalDataPhysPat: {\r\n email: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_EMAIL',\r\n personalData: {\r\n email: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setTelephone = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_TELEPHONE',\r\n personalDataPhysPat: {\r\n telephone: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_TELEPHONE',\r\n personalData: {\r\n telephone: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setStreet = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_STREET',\r\n personalDataPhysPat: {\r\n street: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_STREET',\r\n personalData: {\r\n street: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setHouseNr = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_HOUSENR',\r\n personalDataPhysPat: {\r\n housenr: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_HOUSENR',\r\n personalData: {\r\n housenr: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setCity = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_CITY',\r\n personalDataPhysPat: {\r\n city: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_CITY',\r\n personalData: {\r\n city: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setZip = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_ZIP',\r\n personalDataPhysPat: {\r\n zip: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_ZIP',\r\n personalData: {\r\n zip: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setCountry = (value: string) => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_COUNTRY',\r\n personalDataPhysPat: {\r\n country: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_COUNTRY',\r\n personalData: {\r\n country: value,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const setUsername = (value: string) => {\r\n if (props.isPhysPat) {\r\n if (cbxRegistrationSelected) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_USERNAME',\r\n personalDataPhysPat: {\r\n username: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_USERNAME',\r\n personalDataPhysPat: {\r\n username: '',\r\n },\r\n });\r\n }\r\n } else {\r\n if (cbxRegistrationSelected) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_USERNAME',\r\n personalData: {\r\n username: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_USERNAME',\r\n personalData: {\r\n username: '',\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const setPassword = (value: string) => {\r\n if (props.isPhysPat) {\r\n if (cbxRegistrationSelected) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_PASSWORD',\r\n personalDataPhysPat: {\r\n password: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_PASSWORD',\r\n personalDataPhysPat: {\r\n password: '',\r\n },\r\n });\r\n }\r\n } else {\r\n if (cbxRegistrationSelected) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PASSWORD',\r\n personalData: {\r\n password: value,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PASSWORD',\r\n personalData: {\r\n password: '',\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const setPlannedStudies = () => {\r\n if (props.isPhysPat) {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PHYSPAT_PLANNEDSTUDIES',\r\n personalDataPhysPat: {\r\n plannedStudies: allCurrentStudies,\r\n },\r\n });\r\n } else {\r\n tmdispatch({\r\n type: 'SETPERSONALDATA_PLANNEDSTUDIES',\r\n personalData: {\r\n plannedStudies: allCurrentStudies,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const handleSubmit = (event: any) => {\r\n setInsuranceNr(event.insuranceNr);\r\n setInsuranceName(event.insuranceName);\r\n setLanguage(event.language);\r\n setFirstName(event.firstName);\r\n setLastName(event.lastName);\r\n setBirthday(event.birthday);\r\n setEmail(event.email);\r\n setGender(event.gender);\r\n setTelephone(event.phone);\r\n setStreet(event.street);\r\n setHouseNr(event.houseNumber);\r\n setZip(event.zip);\r\n setCity(event.city);\r\n setCountry(event.country);\r\n setMobilePhone(event.mobilePhone);\r\n setAcademicTitle(event.academicTitle);\r\n setUsername(event.username);\r\n setPassword(event.password);\r\n setPlannedStudies();\r\n if (props.handleNextWithActiveStep) {\r\n props.handleNextWithActiveStep(props.currentActiveStep ? props.currentActiveStep : 0);\r\n } else {\r\n props.handleNext();\r\n }\r\n };\r\n\r\n const label = (value: boolean, labelName: string) => {\r\n return (\r\n
\r\n {value ? (\r\n
\r\n {labelName}*\r\n
\r\n ) : (\r\n
\r\n {labelName}\r\n
\r\n )}\r\n
\r\n );\r\n };\r\n\r\n function validationSchema() {\r\n const SignupSchema = yup.object().shape({\r\n insuranceNr:\r\n mandFields.insuranceNr && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.insuranceNr)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Versichertennummer an.'))\r\n : yup.string().notRequired(),\r\n insuranceName:\r\n mandFields.insuranceName && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.insuranceName)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Krankenkassse an.'))\r\n : yup.string().notRequired(),\r\n language:\r\n mandFields.language && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.language)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Sprache an.'))\r\n : yup.string().notRequired(),\r\n firstName:\r\n mandFields.firstName && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.firstName)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihren Vornamen an.'))\r\n : yup.string().notRequired(),\r\n lastName:\r\n mandFields.lastName && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.lastName)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihren Nachnamen an.'))\r\n : yup.string().notRequired(),\r\n birthday:\r\n mandFields.birthDate && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.birthDate)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihren Geburtstag an.'))\r\n : yup.string().notRequired(),\r\n email:\r\n mandFields.email &&\r\n !isFieldReadOnly(apstate.RegistrationReadOnlyFields.email) &&\r\n checkinstate.wpName.length <= 0\r\n ? yup\r\n .string()\r\n .required(t('PERSONALDATA', 'Bitte geben Sie Ihre E-Mail-Adresse an.'))\r\n .matches(pattern, t('PERSONALDATA', 'Ungültiges E-Mail-Format'))\r\n : yup.string().notRequired().matches(pattern, t('PERSONALDATA', 'Ungültiges E-Mail-Format')),\r\n phone:\r\n mandFields.phone && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.phone)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Telefonnummer an.'))\r\n : yup.string().notRequired(),\r\n gender:\r\n mandFields.gender && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.gender)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihr Geschlecht an.'))\r\n : yup.string().notRequired(),\r\n street:\r\n mandFields.street && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.street)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Straße an.'))\r\n : yup.string().notRequired(),\r\n houseNumber:\r\n mandFields.street && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.street)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Hausnummer an.'))\r\n : yup.string().notRequired(),\r\n zip:\r\n mandFields.zip && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.zip)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Postleitzahl an.'))\r\n : yup.string().notRequired(),\r\n city:\r\n mandFields.city && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.city)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihren Ort an.'))\r\n : yup.string().notRequired(),\r\n country:\r\n mandFields.country && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.country)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihr Land an.'))\r\n : yup.string().notRequired(),\r\n mobilePhone:\r\n mandFields.mobilePhone && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.mobilePhone)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihre Mobil-Telefonnummer an.'))\r\n : yup.string().notRequired(),\r\n academicTitle:\r\n mandFields.academicTitle && !isFieldReadOnly(apstate.RegistrationReadOnlyFields.academicTitle)\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie Ihren Titel an.'))\r\n : yup.string().notRequired(),\r\n username: cbxRegistrationSelected\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie einen Benutzernamen an.'))\r\n : yup.string().notRequired(),\r\n password: cbxRegistrationSelected\r\n ? yup.string().required(t('PERSONALDATA', 'Bitte geben Sie ein Passwort an.'))\r\n : yup.string().notRequired(),\r\n });\r\n\r\n return SignupSchema;\r\n }\r\n\r\n /**\r\n * The field can only be readOnly if the value is set and if we are in changePersonalData.\r\n * The field is always writable when creating a new account\r\n *\r\n * @param registrationReadOnlyField\r\n * the field to check\r\n * @returns\r\n * true, if field is readOnly, otherwise false\r\n */\r\n const isFieldReadOnly = (registrationReadOnlyField: boolean) => {\r\n if (tmstate.changePersonalData) {\r\n return registrationReadOnlyField;\r\n }\r\n return false;\r\n };\r\n\r\n const CancelButton = () => {\r\n if (props.showCancelButton !== undefined && props.showCancelButton === false) {\r\n return null;\r\n } else {\r\n return (\r\n \r\n Abbrechen\r\n \r\n );\r\n }\r\n };\r\n\r\n const BackButton = () => {\r\n if (props.showBackButton !== undefined && props.showBackButton === false) {\r\n return null;\r\n } else {\r\n return Zurück;\r\n }\r\n };\r\n\r\n const NextButton = () => {\r\n if (props.showNextButton !== undefined && props.showNextButton === false) {\r\n return null;\r\n }\r\n let buttonEnabled = true;\r\n if (props.showPrivacyPolicyCbx && apstate.RegistrationVisibleFields.privacyTerms) {\r\n if (cbxPrivacyPolicySelected === false && apstate.RegistrationMandFields.privacyTerms) {\r\n buttonEnabled = false;\r\n }\r\n } else if (props.nextButtonEnabled) {\r\n buttonEnabled = props.nextButtonEnabled;\r\n } else if (\r\n checkinstate.wpName !== undefined &&\r\n checkinstate?.wpName?.length > 0 &&\r\n (tmstate.personalData.eGK === undefined || tmstate?.personalData?.eGK?.length <= 0) &&\r\n (tmstate.personalData.kvBarcode === undefined || tmstate?.personalData?.kvBarcode.length <= 0)\r\n ) {\r\n buttonEnabled = false;\r\n }\r\n return (\r\n \r\n {t('BUTTONS', 'Weiter')}\r\n \r\n );\r\n };\r\n\r\n const SubmitButton = () => {\r\n return Bestätigen;\r\n };\r\n\r\n interface IFormGroup {\r\n values: any;\r\n handleChange: any;\r\n errors: any;\r\n }\r\n\r\n const showFormGroupInsuranceNr = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.insuranceNr === true) {\r\n return (\r\n \r\n {label(mandFields.insuranceNr, t('PERSONALDATA', 'Versichertennummer'))}\r\n \r\n {propsFG.errors.insuranceNr}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupInsuranceName = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.insuranceName === true) {\r\n return (\r\n \r\n {label(mandFields.insuranceName, t('PERSONALDATA', 'Krankenkasse'))}\r\n \r\n {propsFG.errors.insuranceName}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupLastName = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.lastName === true) {\r\n return (\r\n \r\n {label(mandFields.lastName, t('PERSONALDATA', 'Nachname'))}\r\n \r\n {propsFG.errors.lastName}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupFirstName = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.firstName === true) {\r\n return (\r\n \r\n {label(mandFields.firstName, t('PERSONALDATA', 'Vorname'))}\r\n \r\n {propsFG.errors.firstName}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupBirthday = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.birthDate === true) {\r\n return (\r\n \r\n {label(mandFields.birthDate, t('PERSONALDATA', 'Geburtstag'))}\r\n {\r\n const currentValues = e.target.value;\r\n const currentNumberValues = currentValues.length;\r\n if (currentNumberValues < 11) {\r\n propsFG.handleChange(e);\r\n }\r\n }}\r\n isInvalid={!!propsFG.errors.birthday}\r\n readOnly={isFieldReadOnly(apstate.RegistrationReadOnlyFields.birthDate)}\r\n />\r\n {propsFG.errors.birthday}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupGender = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.gender === true) {\r\n return (\r\n \r\n {label(mandFields.gender, t('PERSONALDATA', 'Geschlecht'))}\r\n \r\n \r\n \r\n \r\n \r\n \r\n readOnly={isFieldReadOnly(apstate.RegistrationReadOnlyFields.gender)}\r\n \r\n {propsFG.errors.gender}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupLanguage = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.language === true) {\r\n return (\r\n \r\n {label(mandFields.language, t('PERSONALDATA', 'Sprache'))}\r\n \r\n \r\n \r\n \r\n readOnly={isFieldReadOnly(apstate.RegistrationReadOnlyFields.language)}\r\n \r\n {propsFG.errors.language}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupTelephone = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.phone === true) {\r\n return (\r\n \r\n {label(mandFields.phone, t('PERSONALDATA', 'Telefonnummer'))}\r\n \r\n {propsFG.errors.phone}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupMobilePhone = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.mobilePhone === true) {\r\n return (\r\n \r\n {label(mandFields.mobilePhone, t('PERSONALDATA', 'Mobil Telefonnummer'))}\r\n \r\n {propsFG.errors.mobilePhone}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupAcademicTitle = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.academicTitle === true) {\r\n return (\r\n \r\n {label(mandFields.academicTitle, t('PERSONALDATA', 'Titel'))}\r\n \r\n {propsFG.errors.academicTitle}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupEmail = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.email === true) {\r\n return (\r\n \r\n {label(mandFields.email && checkinstate.wpName.length <= 0, t('PERSONALDATA', 'E-Mail'))}\r\n \r\n {propsFG.errors.email}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupZip = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.zip === true) {\r\n return (\r\n \r\n {label(mandFields.zip, t('PERSONALDATA', 'Postleitzahl'))}\r\n \r\n {propsFG.errors.zip}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupCity = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.city === true) {\r\n return (\r\n \r\n {label(mandFields.city, t('PERSONALDATA', 'Ort'))}\r\n \r\n {propsFG.errors.city}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupStreet = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.street === true) {\r\n return (\r\n \r\n {label(mandFields.street, t('PERSONALDATA', 'Straße'))}\r\n \r\n {propsFG.errors.street}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupHouseNr = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.street === true) {\r\n return (\r\n \r\n {label(mandFields.street, t('PERSONALDATA', 'Hausnummer'))}\r\n \r\n {propsFG.errors.houseNumber}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleCbxRegistrationSelected = () => {\r\n setCbxRegistrationSelected(!cbxRegistrationSelected);\r\n };\r\n\r\n const handleCbxPrivacyPolicySelected = () => {\r\n setCbxPrivacyPolicySelected(!cbxPrivacyPolicySelected);\r\n };\r\n\r\n const FormGroupRegistrationCbx = () => {\r\n if (props.showRegistrationCbx) {\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupPrivacyPolicyRegistrationCbx = () => {\r\n if (props.showPrivacyPolicyCbx && apstate.RegistrationVisibleFields.privacyTerms) {\r\n return (\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n \r\n Datenschutzerklärung\r\n {' '}\r\n gelesen und akzeptiert\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupRegistrationUsername = (propsFG: IFormGroup) => {\r\n if (props.showRegistrationCbx && cbxRegistrationSelected) {\r\n return (\r\n \r\n {label(true, t('LOGIN', 'Benutzername'))}\r\n \r\n {propsFG.errors.username}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFormGroupRegistrationPassword = (propsFG: IFormGroup) => {\r\n if (props.showRegistrationCbx && cbxRegistrationSelected) {\r\n return (\r\n \r\n {label(true, t('LOGIN', 'Passwort'))}\r\n \r\n {propsFG.errors.password}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const makeOption = (country: string) => {\r\n return ;\r\n };\r\n\r\n const showFormGroupCountry = (propsFG: IFormGroup) => {\r\n if (apstate.RegistrationVisibleFields.country === true) {\r\n const countries = ['Deutschland', 'Österreich', 'Schweiz', 'Italien'];\r\n return (\r\n \r\n {label(mandFields.country, t('PERSONALDATA', 'Land'))}\r\n \r\n \r\n {getPossibleCountries().map(makeOption)}\r\n readOnly={isFieldReadOnly(apstate.RegistrationReadOnlyFields.country)}\r\n \r\n {propsFG.errors.country}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const studyChange = (e: React.ChangeEvent, studyCode: string) => {\r\n console.log(studyCode + ':' + e.target.checked);\r\n\r\n const modifiedAllCurrentStudies = produce(allCurrentStudies, (draft) => {\r\n if (draft && draft.length > 0) {\r\n for (let i = 0; i < draft.length; i++) {\r\n if (draft[i].code === studyCode) {\r\n draft[i].participate = e.target.checked;\r\n }\r\n }\r\n }\r\n });\r\n\r\n setAllCurrentStudies(modifiedAllCurrentStudies);\r\n };\r\n\r\n const showFormGroupStudies = () => {\r\n const allStudies: any[] = [];\r\n\r\n state.possibleStudies.forEach((study: IPossibleStudies) => {\r\n const cbxId = 'check-formGroupStudies-' + study.code;\r\n let isParticipated = false;\r\n if (allCurrentStudies) {\r\n const foundStudy = allCurrentStudies.find((p: IPlannedStudies) => p.code === study.code);\r\n if (foundStudy?.participate !== undefined) {\r\n isParticipated = foundStudy.participate;\r\n\r\n allStudies.push(\r\n \r\n studyChange(e, study.code)}\r\n />\r\n \r\n
{study.display}
\r\n
\r\n
,\r\n );\r\n }\r\n }\r\n });\r\n\r\n if (tmstate.changePersonalData && state.possibleStudies?.length > 0) {\r\n return (\r\n \r\n {label(false, 'Gewünschte Studienteilnahmen')}\r\n {allStudies}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const getInitialFirstName = () => {\r\n let firstName = '';\r\n if (props.isPhysPat) {\r\n firstName = tmstate.personalDataPhysPat.firstName;\r\n } else if (checkinstate.urlToCallResponse.firstName && checkinstate.urlToCallResponse.firstName.length > 0) {\r\n firstName = checkinstate.urlToCallResponse.firstName;\r\n } else {\r\n firstName = tmstate.personalData.firstName;\r\n }\r\n return firstName;\r\n };\r\n\r\n const getInitialLastName = () => {\r\n let lastName = '';\r\n if (props.isPhysPat) {\r\n lastName = tmstate.personalDataPhysPat.lastName;\r\n } else if (checkinstate.urlToCallResponse.nameLast && checkinstate.urlToCallResponse.nameLast.length > 0) {\r\n lastName = checkinstate.urlToCallResponse.nameLast;\r\n } else {\r\n lastName = tmstate.personalData.lastName;\r\n }\r\n return lastName;\r\n };\r\n\r\n const getInitialInsuranceNr = () => {\r\n let insuranceNr = '';\r\n if (props.isPhysPat) {\r\n insuranceNr = tmstate.personalDataPhysPat.insuranceNr;\r\n } else if (\r\n checkinstate.urlToCallResponse.insuranceNr &&\r\n checkinstate.urlToCallResponse.insuranceNr.length > 0\r\n ) {\r\n insuranceNr = checkinstate.urlToCallResponse.insuranceNr;\r\n } else {\r\n insuranceNr = tmstate.personalData.insuranceNr;\r\n }\r\n return insuranceNr;\r\n };\r\n\r\n const getInitialInsuranceName = () => {\r\n let insuranceName = '';\r\n if (props.isPhysPat) {\r\n insuranceName = tmstate.personalDataPhysPat.insuranceName;\r\n } else if (\r\n checkinstate.urlToCallResponse.insuranceName &&\r\n checkinstate.urlToCallResponse.insuranceName.length > 0\r\n ) {\r\n insuranceName = checkinstate.urlToCallResponse.insuranceName;\r\n } else {\r\n insuranceName = tmstate.personalData.insuranceName;\r\n }\r\n return insuranceName;\r\n };\r\n\r\n const getLanguage = () => {\r\n let language = '';\r\n if (props.isPhysPat) {\r\n language = tmstate.personalDataPhysPat.language;\r\n } else if (checkinstate.urlToCallResponse.language && checkinstate.urlToCallResponse.language.length > 0) {\r\n language = checkinstate.urlToCallResponse.language;\r\n } else {\r\n language = tmstate.personalData.language;\r\n }\r\n return language;\r\n };\r\n\r\n const getInitialBirthday = () => {\r\n let birthday = '';\r\n if (props.isPhysPat) {\r\n birthday = formatBirthdayForFormik(tmstate.personalDataPhysPat.birthday);\r\n } else if (checkinstate.urlToCallResponse.birthday && checkinstate.urlToCallResponse.birthday.length > 0) {\r\n birthday = formatBirthdayForFormik(checkinstate.urlToCallResponse.birthday);\r\n } else {\r\n birthday = formatBirthdayForFormik(tmstate.personalData.birthday);\r\n }\r\n return birthday;\r\n };\r\n\r\n const getInitialEmail = () => {\r\n let email = '';\r\n if (props.isPhysPat) {\r\n email = tmstate.personalDataPhysPat.email;\r\n } else {\r\n email = tmstate.personalData.email;\r\n }\r\n return email;\r\n };\r\n\r\n const getInitialPhone = () => {\r\n let phone = '';\r\n if (props.isPhysPat) {\r\n phone = tmstate.personalDataPhysPat.telephone;\r\n } else {\r\n phone = tmstate.personalData.telephone;\r\n }\r\n\r\n return phone;\r\n };\r\n\r\n const getInitialMobilePhone = () => {\r\n let mobilePhone = '';\r\n if (props.isPhysPat) {\r\n mobilePhone = tmstate.personalDataPhysPat.mobilePhone;\r\n } else {\r\n mobilePhone = tmstate.personalData.mobilePhone;\r\n }\r\n\r\n return mobilePhone;\r\n };\r\n\r\n const getInitialAcademicTitle = () => {\r\n let academicTitle = '';\r\n if (props.isPhysPat) {\r\n academicTitle = tmstate.personalDataPhysPat.academicTitle;\r\n } else {\r\n academicTitle = tmstate.personalData.academicTitle;\r\n }\r\n\r\n return academicTitle;\r\n };\r\n\r\n const getInitialGender = () => {\r\n let gender = '';\r\n if (props.isPhysPat) {\r\n gender = tmstate.personalDataPhysPat.gender;\r\n } else if (checkinstate.urlToCallResponse.gender && checkinstate.urlToCallResponse.gender.length > 0) {\r\n gender = checkinstate.urlToCallResponse.gender;\r\n } else {\r\n gender = tmstate.personalData.gender;\r\n }\r\n return gender;\r\n };\r\n\r\n const getInitialStreet = () => {\r\n let street = '';\r\n if (props.isPhysPat) {\r\n street = tmstate.personalDataPhysPat.street;\r\n } else if (checkinstate.urlToCallResponse.street && checkinstate.urlToCallResponse.street.length > 0) {\r\n street = checkinstate.urlToCallResponse.street;\r\n } else {\r\n street = tmstate.personalData.street;\r\n }\r\n return street;\r\n };\r\n\r\n const getInitialHouseNr = () => {\r\n let houseNr = '';\r\n if (props.isPhysPat) {\r\n houseNr = tmstate.personalDataPhysPat.housenr;\r\n } else if (\r\n checkinstate.urlToCallResponse.houseNumber &&\r\n checkinstate.urlToCallResponse.houseNumber.length > 0\r\n ) {\r\n houseNr = checkinstate.urlToCallResponse.houseNumber;\r\n } else {\r\n houseNr = tmstate.personalData.housenr;\r\n }\r\n return houseNr;\r\n };\r\n\r\n const getInitialZip = () => {\r\n let zip = '';\r\n if (props.isPhysPat) {\r\n zip = tmstate.personalDataPhysPat.zip;\r\n } else if (checkinstate.urlToCallResponse.zip && checkinstate.urlToCallResponse.zip.length > 0) {\r\n zip = checkinstate.urlToCallResponse.zip;\r\n } else {\r\n zip = tmstate.personalData.zip;\r\n }\r\n return zip;\r\n };\r\n\r\n const getInitialCity = () => {\r\n let city = '';\r\n if (props.isPhysPat) {\r\n city = tmstate.personalDataPhysPat.city;\r\n } else if (checkinstate.urlToCallResponse.city && checkinstate.urlToCallResponse.city.length > 0) {\r\n city = checkinstate.urlToCallResponse.city;\r\n } else {\r\n city = tmstate.personalData.city;\r\n }\r\n return city;\r\n };\r\n\r\n const getInitialCountry = () => {\r\n let country = '';\r\n if (props.isPhysPat) {\r\n country = tmstate.personalDataPhysPat.country;\r\n } else if (checkinstate.urlToCallResponse.country && checkinstate.urlToCallResponse.country.length > 0) {\r\n country = checkinstate.urlToCallResponse.country;\r\n } else {\r\n country = tmstate.personalData.country;\r\n }\r\n return country;\r\n };\r\n\r\n const getInitialPlannedStudies = () => {\r\n if (props.isPhysPat) {\r\n return tmstate.personalDataPhysPat.plannedStudies;\r\n } else {\r\n return tmstate.personalData.plannedStudies;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {({ handleSubmit, handleChange, values, errors }) => (\r\n
\r\n \r\n {showFormGroupFirstName({ values, handleChange, errors })}\r\n {showFormGroupLastName({ values, handleChange, errors })}\r\n {showFormGroupAcademicTitle({ values, handleChange, errors })}\r\n \r\n \r\n {showFormGroupBirthday({ values, handleChange, errors })}\r\n {showFormGroupGender({ values, handleChange, errors })}\r\n \r\n \r\n {showFormGroupTelephone({ values, handleChange, errors })}\r\n {showFormGroupMobilePhone({ values, handleChange, errors })}\r\n {showFormGroupEmail({ values, handleChange, errors })}\r\n \r\n \r\n {showFormGroupZip({ values, handleChange, errors })}\r\n {showFormGroupCity({ values, handleChange, errors })}\r\n {showFormGroupStreet({ values, handleChange, errors })}\r\n {showFormGroupHouseNr({ values, handleChange, errors })}\r\n \r\n \r\n {showFormGroupCountry({ values, handleChange, errors })}\r\n {showFormGroupInsuranceNr({ values, handleChange, errors })}\r\n {showFormGroupInsuranceName({ values, handleChange, errors })}\r\n \r\n {showFormGroupLanguage({ values, handleChange, errors })}\r\n {showFormGroupStudies()}\r\n {!props.isPhysPat && (\r\n <>\r\n \r\n \r\n \r\n \r\n {showFormGroupRegistrationUsername({ values, handleChange, errors })}\r\n {showFormGroupRegistrationPassword({ values, handleChange, errors })}\r\n \r\n \r\n )}\r\n {props.showPrivacyPolicyCbx && (\r\n {showFormGroupPrivacyPolicyRegistrationCbx()}\r\n )}\r\n
\r\n {props.directRegistration ? (\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )}\r\n
\r\n
\r\n )}\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AppointmentPersonalData;\r\n","import { createContext } from 'react';\r\n\r\nexport interface ILanguage {\r\n id: string;\r\n name: string;\r\n changedFromUser?: boolean;\r\n}\r\n\r\nexport interface ILanguageData {\r\n language: ILanguage;\r\n changedFromUser: boolean;\r\n}\r\n\r\nexport interface IPossibleMacros {\r\n code: string;\r\n name: string;\r\n id: number;\r\n countAPKs: number;\r\n type?: string;\r\n}\r\n\r\nexport interface ITodoSecurityItem {\r\n name: string;\r\n type: string;\r\n}\r\n\r\nexport interface ISecurityItems {\r\n CHARTS: boolean;\r\n CHARTS_WEIGHT: boolean;\r\n CHARTS_FATMASS: boolean;\r\n CHARTS_BLOODSUGAR: boolean;\r\n CHARTS_FLI: boolean;\r\n CHARTS_SAM: boolean;\r\n CHARTS_ACTIVITY: boolean;\r\n TABLE_VAL: boolean;\r\n PATLIST: boolean;\r\n DOKUMENT: boolean;\r\n FOTOS: boolean;\r\n FRAGEBOGEN: boolean;\r\n MEDIKATION: boolean;\r\n TAGESPLAN: boolean;\r\n TERMINE: boolean;\r\n VIDEO: boolean;\r\n JOURNEY: boolean;\r\n TODO: ITodoSecurityItem[];\r\n TAB_ORDER: string;\r\n}\r\n\r\nexport interface IActiveStudies {\r\n studyName: string;\r\n studyOrgaId: string;\r\n studyPatId: string;\r\n studyPatSynonym: string;\r\n studyPid: string;\r\n securityItems: ISecurityItems;\r\n}\r\n\r\nexport interface IActivePatients {\r\n patientId: string;\r\n nameLast: string;\r\n nameFirst: string;\r\n birthDate: string;\r\n}\r\n\r\nexport interface ILastPatOpened {\r\n patId: string;\r\n nameLast: string;\r\n nameFirst: string;\r\n birthDate: string;\r\n}\r\n\r\nexport interface ILink {\r\n headline: string;\r\n href: string;\r\n linkText: string;\r\n prefix: string;\r\n target: string;\r\n restmethod: string;\r\n innerHTML: string;\r\n}\r\n\r\nexport interface IPossibleStudies {\r\n code: string;\r\n display: string;\r\n}\r\n\r\nexport interface IDepartments {\r\n name: string;\r\n reasons: IDepartmentReasons[];\r\n kontaktArt?: string[];\r\n versicherungsArt?: string[];\r\n fruehererTermin?: boolean;\r\n}\r\n\r\nexport interface IDepartmentReasons {\r\n makroCode: string;\r\n makroId: number;\r\n makroName: string;\r\n pFilter: string;\r\n aFilter: string;\r\n reasonCode: string;\r\n reasonId: string;\r\n reasonName: string;\r\n reasonMainCode?: string;\r\n}\r\n\r\nexport interface ICodeName {\r\n code: string;\r\n name: string;\r\n}\r\n\r\nexport type InitialLoginType = {\r\n isLoggedIn: boolean;\r\n setOfInitPageDone: boolean;\r\n userId: string;\r\n practitionerRoleId: string;\r\n userName: string;\r\n sessionId: string;\r\n securityItems: ISecurityItems;\r\n securityItemsStudy?: ISecurityItems;\r\n finalSecurityItemsOrder: string[];\r\n iceServers: Array;\r\n possibleMacros: Array;\r\n departments: IDepartments[];\r\n activeStudies: Array;\r\n activeUserId: string;\r\n activeProfile: string;\r\n termsHTML: string;\r\n privacyHTML: string;\r\n redirectUser: string;\r\n redirectPwd: string;\r\n extraLinks: Array;\r\n possibleStudies: Array;\r\n addConsignationsToAsk: Array;\r\n encounterId: string;\r\n encounterTitle: string;\r\n activeSidebarItem: string;\r\n activePatients: Array;\r\n activePatient: string;\r\n gdt: {\r\n id: string;\r\n };\r\n lastPatOpened: Array;\r\n anmeldeContexts: Array;\r\n activeLanguage: ILanguageData;\r\n};\r\n\r\nexport const initialLoginState = {\r\n isLoggedIn: false,\r\n setOfInitPageDone: false,\r\n userId: '',\r\n practitionerRoleId: '',\r\n userName: '',\r\n sessionId: '',\r\n securityItems: {\r\n CHARTS: false,\r\n CHARTS_WEIGHT: false,\r\n CHARTS_FATMASS: false,\r\n CHARTS_BLOODSUGAR: false,\r\n CHARTS_FLI: false,\r\n CHARTS_SAM: false,\r\n CHARTS_ACTIVITY: false,\r\n TABLE_VAL: false,\r\n PATLIST: false,\r\n DOKUMENT: false,\r\n FOTOS: false,\r\n FRAGEBOGEN: false,\r\n MEDIKATION: false,\r\n TAGESPLAN: false,\r\n TERMINE: false,\r\n VIDEO: false,\r\n JOURNEY: false,\r\n TODO: [],\r\n TAB_ORDER: '',\r\n },\r\n securityItemsStudy: {\r\n CHARTS: false,\r\n CHARTS_WEIGHT: false,\r\n CHARTS_FATMASS: false,\r\n CHARTS_BLOODSUGAR: false,\r\n CHARTS_FLI: false,\r\n CHARTS_SAM: false,\r\n CHARTS_ACTIVITY: false,\r\n TABLE_VAL: false,\r\n PATLIST: false,\r\n DOKUMENT: false,\r\n FOTOS: false,\r\n FRAGEBOGEN: false,\r\n MEDIKATION: false,\r\n TAGESPLAN: false,\r\n TERMINE: false,\r\n VIDEO: false,\r\n JOURNEY: false,\r\n TODO: [],\r\n TAB_ORDER: '',\r\n },\r\n iceServers: [],\r\n finalSecurityItemsOrder: [],\r\n possibleMacros: [],\r\n departments: [],\r\n activeStudies: [],\r\n activeUserId: '',\r\n activeProfile: '',\r\n termsHTML: '',\r\n privacyHTML: '',\r\n redirectUser: '',\r\n redirectPwd: '',\r\n extraLinks: [],\r\n possibleStudies: [],\r\n addConsignationsToAsk: [],\r\n encounterId: '',\r\n encounterTitle: '',\r\n activeSidebarItem: '',\r\n activePatients: [],\r\n activePatient: '',\r\n gdt: {\r\n id: '',\r\n },\r\n lastPatOpened: [],\r\n anmeldeContexts: [],\r\n activeLanguage: { language: { id: 'de', name: 'Deutsch' }, changedFromUser: false },\r\n};\r\n\r\n// const LoginContext = createContext(initialLoginState);\r\nconst LoginContext = createContext<{\r\n state: InitialLoginType;\r\n dispatch: React.Dispatch;\r\n}>({\r\n state: initialLoginState,\r\n dispatch: () => null,\r\n});\r\n\r\nexport default LoginContext;\r\n","import * as React from 'react';\r\nimport { SetStateAction, useContext, useEffect, useRef, useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport { useLocation } from 'react-router-dom';\r\nimport DokumenteContext from '../../context/dokumenteContext';\r\nimport MyThemeContext from '../../context/themeContext';\r\nimport { Paths } from '../../Routes';\r\n\r\nconst DragNDropArea = ({ children }: React.PropsWithChildren) => {\r\n const currentLocation = useLocation();\r\n\r\n const { themestate } = useContext(MyThemeContext);\r\n\r\n // const [setDrag] = useState(false);\r\n const [dragCounter, setDragCounter] = useState(0);\r\n const dropRef = useRef(null);\r\n const { docdispatch } = useContext(DokumenteContext);\r\n\r\n const fileToBase64 = (file: any): any => {\r\n const reader = new FileReader();\r\n reader.readAsDataURL(file);\r\n reader.onload = function (): SetStateAction {\r\n const result = reader.result;\r\n\r\n docdispatch({\r\n type: 'SETFILEDATA',\r\n filedata: {\r\n name: file.name,\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n size: file.size,\r\n type: file.type,\r\n data: result,\r\n title: '',\r\n conclusion: '',\r\n uploaded: false,\r\n },\r\n });\r\n };\r\n reader.onerror = function (error): SetStateAction {\r\n const result = 'ERROR: ' + error;\r\n docdispatch({\r\n type: 'SETFILEDATA',\r\n filedata: {\r\n name: file.name,\r\n lastModified: file.lastModified,\r\n lastModifiedDate: file.lastModifiedDate,\r\n size: file.size,\r\n type: file.type,\r\n data: result,\r\n title: '',\r\n conclusion: '',\r\n uploaded: false,\r\n },\r\n });\r\n };\r\n };\r\n\r\n const handleDrag = (e: any) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n };\r\n\r\n const handleDragIn = (e: any) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setDragCounter(dragCounter + 1);\r\n if (e.dataTransfer.items && e.dataTransfer.items.length > 0) {\r\n // setDrag(true);\r\n }\r\n };\r\n\r\n const handleDragOut = (e: any) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n setDragCounter(dragCounter - 1);\r\n if (dragCounter === 0) {\r\n // setDrag(false);\r\n }\r\n };\r\n\r\n const handleDrop = (e: any) => {\r\n e.preventDefault();\r\n e.stopPropagation();\r\n // setDrag(false);\r\n if (e.dataTransfer.files && e.dataTransfer.files.length > 0) {\r\n if (currentLocation.pathname === Paths.DOKUMENTE) {\r\n fileToBase64(e.dataTransfer.files[0]);\r\n }\r\n /* \r\n .\r\n . here handling for other pages/areas \r\n .\r\n */\r\n e.dataTransfer.clearData();\r\n setDragCounter(0);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const div = dropRef.current;\r\n div.addEventListener('dragenter', handleDragIn);\r\n div.addEventListener('dragleave', handleDragOut);\r\n div.addEventListener('dragover', handleDrag);\r\n div.addEventListener('drop', handleDrop);\r\n return () => {\r\n div.removeEventListener('dragenter', handleDragIn);\r\n div.removeEventListener('dragleave', handleDragOut);\r\n div.removeEventListener('dragover', handleDrag);\r\n div.removeEventListener('drop', handleDrop);\r\n };\r\n }, []);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default DragNDropArea;\r\n","import { useContext } from 'react';\r\nimport { Image, OverlayTrigger, Tooltip } from 'react-bootstrap';\r\nimport styled, { ThemeContext } from 'styled-components';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\n\r\ninterface IStyledPDiv {\r\n backgroundColor?: string;\r\n}\r\n\r\nexport const StyledPDiv = styled.div`\r\n width: 35px;\r\n height: 35px;\r\n border-radius: 50%;\r\n background: ${(props) => (props.backgroundColor ? props.backgroundColor : props.theme.mainColor)};\r\n font-size: 20px;\r\n color: #fff;\r\n text-align: center;\r\n padding-top: 2px;\r\n\r\n &:hover {\r\n box-shadow: 0px 2px 3px 2px rgba(0, 0, 0, 0.2);\r\n }\r\n`;\r\n\r\nexport const StyledP = styled.p`\r\n text-align: center;\r\n vertical-align: middle;\r\n`;\r\n\r\nconst Avatar = () => {\r\n const { tmstate } = useContext(TerminierungContext);\r\n const themeContext = useContext(ThemeContext);\r\n const photoSrc = 'data:image/jpg;base64,' + tmstate.personalData.profilePhoto;\r\n\r\n const hasProfilePhoto = () => {\r\n if (tmstate.personalData.profilePhoto === '' || tmstate.personalData.profilePhoto === undefined) {\r\n return false;\r\n }\r\n return true;\r\n };\r\n\r\n return (\r\n Profil}>\r\n \r\n {!hasProfilePhoto() ? (\r\n \r\n {tmstate.personalData.firstName.charAt(0)}\r\n {tmstate.personalData.lastName.charAt(0)}\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Avatar;\r\n","import { memo } from 'react';\r\nimport SidebarItemList from '../../components/SidebarItems/SidebarItemList';\r\nimport './Sidebar.css';\r\n\r\ninterface ISidebar {\r\n backgroundColor?: string;\r\n backgroundImage?: string;\r\n width?: string;\r\n paddingTop?: string;\r\n paddingLeft?: string;\r\n paddingRight?: string;\r\n}\r\n\r\nconst Sidebar = memo((props: ISidebar) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n\r\nSidebar.displayName = 'Sidebar';\r\n\r\nexport default Sidebar;\r\n","export type BarcodeScanCallback = (txt: string) => void;\r\nexport interface IBarCodeScanner {\r\n isInScan: boolean;\r\n prefixChecked: boolean;\r\n stopEventListing: any;\r\n onScanKeyDown: any;\r\n onScanKey: any;\r\n lastKeyPressed: number | null;\r\n stopTimer: any;\r\n onScanKeyUp: any;\r\n\r\n startup: any;\r\n removeListeners: any;\r\n scanPrefix: string;\r\n\r\n scanTxt: string;\r\n onScanFinish: BarcodeScanCallback | null;\r\n}\r\n\r\nconst ScanUtils = (): IBarCodeScanner | null => {\r\n const scanStart = 13;\r\n const scanStart1 = 22;\r\n const scanStart1A = 60;\r\n const scanEnd = 13;\r\n const scanEnd1 = 226;\r\n const scanEnd1A = 60;\r\n const maxDTFirstChar = 300;\r\n const checkCtrlKey = true;\r\n const checkKVForm = true;\r\n\r\n /*\r\n const isKVMForm = function(txt: string): boolean {\r\n if (txt.length < 3) {\r\n return false;\r\n }\r\n if ((txt.charAt(0) >= '0') && (txt.charAt(0) <= '9')\r\n && (txt.charAt(1) >= '0') && (txt.charAt(1) <= '9')\r\n && (txt.charAt(2) == '\\t')) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n */\r\n const isKVMForm1st = function (txt: string): boolean {\r\n if (txt.length < 2) {\r\n return false;\r\n }\r\n if (txt.charAt(0) >= '0' && txt.charAt(0) <= '9' && txt.charAt(1) >= '0' && txt.charAt(1) <= '9') {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n /*\r\n const isQREscape = function (txt: string): boolean {\r\n return txt.startsWith('\\\\0026') || txt.startsWith('\\\\000026');\r\n };\r\n */\r\n\r\n const barcodescanner: IBarCodeScanner = {\r\n isInScan: false,\r\n prefixChecked: false,\r\n lastKeyPressed: null,\r\n stopTimer: null,\r\n scanPrefix: '',\r\n scanTxt: '',\r\n onScanFinish: null,\r\n // barcodescanner.onScanFinsh = null;\r\n stopEventListing: function (this: HTMLElement, ev: KeyboardEvent) {\r\n if (ev.stopPropagation) {\r\n ev.stopPropagation();\r\n } else {\r\n ev.cancelBubble = true;\r\n }\r\n\r\n if (ev.preventDefault) {\r\n ev.preventDefault();\r\n } else {\r\n ev.returnValue = false;\r\n }\r\n return false;\r\n },\r\n\r\n onScanKeyDown: function (this: HTMLElement, ev: KeyboardEvent) {\r\n if (ev.ctrlKey && checkCtrlKey && barcodescanner.isInScan) {\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n console.log('found ctrlKey???');\r\n return false;\r\n }\r\n // xml.doLog('onScanKeyDown (' + barcodescanner.isInScan + '): charcode=' + ev.charCode + '/keyCode=' + ev.keyCode + '/txt=barcodescanner.scanTxt=\\n>' + barcodescanner.scanTxt + '<\\n', true, true);\r\n if (ev.keyCode == 9 && barcodescanner.isInScan && checkKVForm && isKVMForm1st(barcodescanner.scanTxt)) {\r\n barcodescanner.scanTxt += '\\t';\r\n ev.stopPropagation();\r\n ev.preventDefault();\r\n return false;\r\n }\r\n if (!barcodescanner.isInScan) {\r\n if (\r\n ev.keyCode == scanStart ||\r\n ev.keyCode == scanStart1 ||\r\n ev.keyCode == scanStart1A ||\r\n !barcodescanner.scanPrefix\r\n ) {\r\n barcodescanner.isInScan = true;\r\n barcodescanner.prefixChecked = false;\r\n barcodescanner.scanTxt = '';\r\n barcodescanner.lastKeyPressed = new Date().getTime();\r\n }\r\n } else if (barcodescanner.isInScan) {\r\n if (barcodescanner.lastKeyPressed) {\r\n const currentDT = new Date().getTime();\r\n if (currentDT > barcodescanner.lastKeyPressed + maxDTFirstChar) {\r\n // it seems, this is the real keyboard. do not process further messages\r\n console.log(\r\n 'Stop barcode - key - handling. to slow after scanStart (barcodescanner.scanTxt=' +\r\n barcodescanner.scanTxt +\r\n ')',\r\n );\r\n barcodescanner.isInScan = false;\r\n barcodescanner.lastKeyPressed = null;\r\n } else {\r\n barcodescanner.lastKeyPressed = currentDT;\r\n }\r\n }\r\n console.log('onScanKeyDown (isInScan): charcode=' + ev.charCode + '/keyCode=' + ev.keyCode);\r\n if (barcodescanner.stopTimer) {\r\n window.clearTimeout(barcodescanner.stopTimer);\r\n barcodescanner.stopTimer = null;\r\n }\r\n if (scanEnd && ev.keyCode == scanEnd) {\r\n barcodescanner.onScanFinish ? barcodescanner.scanTxt : null;\r\n barcodescanner.scanTxt = '';\r\n barcodescanner.isInScan = false;\r\n barcodescanner.lastKeyPressed = null;\r\n console.log('Stop barcode - key - handling. found scanEnd');\r\n } else if (ev.keyCode == scanEnd1 || ev.keyCode == scanEnd1A || !barcodescanner.scanPrefix) {\r\n barcodescanner.stopTimer = window.setTimeout(function () {\r\n if (barcodescanner.scanTxt.length > 20 && barcodescanner.onScanFinish) {\r\n barcodescanner.onScanFinish(barcodescanner.scanTxt);\r\n }\r\n barcodescanner.isInScan = false;\r\n barcodescanner.lastKeyPressed = null;\r\n barcodescanner.stopTimer = null;\r\n barcodescanner.scanTxt = '';\r\n }, 500);\r\n }\r\n }\r\n // console.log('scan char:, ml.onScanKeyDown..., ev.charCode=' + ev.charCode + ', isInScan=' + ml.isInScan + ', ml.scanText=' + ml.scanText + ', keyCode=' + ev.keyCode);\r\n if (barcodescanner.isInScan) {\r\n // return barcodescanner.stopEventListing(ev);\r\n }\r\n },\r\n\r\n onScanKey: function (this: HTMLElement, ev: KeyboardEvent) {\r\n if (barcodescanner.isInScan) {\r\n console.log('onScanKey (isInScan): charcode=' + ev.charCode + '/keyCode=' + ev.keyCode);\r\n const chr = String.fromCharCode(ev.keyCode || ev.charCode);\r\n if (chr == String.fromCharCode(scanStart) || (ev.keyCode || ev.charCode) == scanStart) {\r\n console.log('onScanKey: found scanstart, do nothing');\r\n return;\r\n }\r\n barcodescanner.scanTxt += chr;\r\n if (!barcodescanner.prefixChecked && barcodescanner.scanPrefix) {\r\n if (barcodescanner.scanTxt.length == barcodescanner.scanPrefix.length) {\r\n if (barcodescanner.scanTxt == barcodescanner.scanPrefix) {\r\n barcodescanner.prefixChecked = true;\r\n }\r\n } else if (barcodescanner.scanTxt.length > barcodescanner.scanPrefix.length) {\r\n barcodescanner.isInScan = false;\r\n }\r\n }\r\n // console.log('onScanKey: ' + barcodescanner.scanTxt);\r\n if (barcodescanner.scanPrefix) {\r\n return barcodescanner.stopEventListing(ev);\r\n }\r\n }\r\n },\r\n\r\n onScanKeyUp: function (this: HTMLElement, ev: KeyboardEvent) {\r\n if (barcodescanner.isInScan) {\r\n // return barcodescanner.stopEventListing(ev);\r\n }\r\n },\r\n\r\n startup: function (elem: HTMLElement, scanPrefix: string, scanDone: BarcodeScanCallback) {\r\n elem.removeEventListener('keydown', barcodescanner.onScanKeyDown, true);\r\n elem.addEventListener('keydown', barcodescanner.onScanKeyDown, true);\r\n elem.removeEventListener('keypress', barcodescanner.onScanKey, true);\r\n elem.addEventListener('keypress', barcodescanner.onScanKey, true);\r\n elem.removeEventListener('keyup', barcodescanner.onScanKeyUp, true);\r\n elem.addEventListener('keyup', barcodescanner.onScanKeyUp, true);\r\n barcodescanner.isInScan = false;\r\n barcodescanner.scanTxt = '';\r\n barcodescanner.scanPrefix = scanPrefix;\r\n\r\n barcodescanner.onScanFinish = scanDone;\r\n },\r\n\r\n removeListeners: function (elem: HTMLElement) {\r\n if (elem) {\r\n elem.removeEventListener('keydown', barcodescanner.onScanKeyDown, true);\r\n elem.removeEventListener('keypress', barcodescanner.onScanKey, true);\r\n elem.removeEventListener('keyup', barcodescanner.onScanKeyUp, true);\r\n }\r\n if (barcodescanner.stopTimer) {\r\n window.clearTimeout(barcodescanner.stopTimer);\r\n barcodescanner.stopTimer = null;\r\n }\r\n\r\n barcodescanner.onScanFinish = null;\r\n },\r\n };\r\n return barcodescanner;\r\n};\r\n\r\nexport default ScanUtils;\r\n","import Nav from 'react-bootstrap/Nav';\r\nimport styled from 'styled-components';\r\n\r\ninterface INavButtonProps {\r\n color: string;\r\n backgroundColor: string;\r\n backgroundColorHover: string;\r\n borderRadius: string;\r\n border: string;\r\n borderColor: string;\r\n borderColorHover: string;\r\n width: string;\r\n textAlign: string;\r\n fontWeight: string;\r\n margin: string;\r\n}\r\n\r\nconst navButtonProps = (props: any): INavButtonProps => {\r\n /* defaultValues / primary */\r\n const navb: INavButtonProps = {\r\n color: props.theme.mainColor,\r\n backgroundColor: props.theme.navbutton.default.backgroundColor,\r\n backgroundColorHover: props.theme.navbutton.default.backgroundColorHover,\r\n borderRadius: '0px',\r\n border: '1px transparent',\r\n borderColor: props.theme.navbutton.default.borderColor,\r\n borderColorHover: props.theme.navbutton.default.borderColorHover,\r\n width: '200px',\r\n textAlign: 'left',\r\n fontWeight: 'normal',\r\n margin: 'auto',\r\n };\r\n if (props.variant === 'horizontal') {\r\n if (props.eventKey === props.activekey) {\r\n navb.color = props.theme.navbutton.horizontal.colorActive;\r\n navb.fontWeight = 'bold';\r\n } else {\r\n navb.color = props.theme.navbutton.horizontal.colorInactive;\r\n navb.fontWeight = 'normal';\r\n }\r\n navb.backgroundColorHover = props.theme.navbutton.horizontal.backgroundColorHover;\r\n navb.borderRadius = '20px';\r\n navb.width = '100%';\r\n navb.textAlign = 'center';\r\n }\r\n if (props.variant === 'vertical') {\r\n if (props.eventKey === props.activekey) {\r\n navb.color = props.theme.navbutton.vertical.colorActive;\r\n navb.backgroundColor = props.theme.navbutton.vertical.backgroundColorActive;\r\n navb.fontWeight = 'bold';\r\n } else {\r\n navb.color = props.theme.navbutton.vertical.colorInactive;\r\n navb.backgroundColor = props.theme.navbutton.vertical.backgroundColorInactive;\r\n navb.fontWeight = 'normal';\r\n }\r\n navb.backgroundColorHover = props.theme.navbutton.vertical.backgroundColorHover;\r\n navb.borderRadius = '0px 30px 30px 0px';\r\n navb.border = '1px transparent';\r\n navb.borderColor = 'white';\r\n navb.borderColorHover = props.theme.navbutton.vertical.borderColorHover;\r\n navb.width = '350px';\r\n navb.textAlign = 'left';\r\n }\r\n return navb;\r\n};\r\n\r\nconst StyledNavButton = styled(Nav.Link)`\r\n margin: 'auto';\r\n color: ${(props) => (props.color ? props.color : navButtonProps(props).color)};\r\n background-color: ${(props) =>\r\n props.backgroundColor ? props.backgroundColor : navButtonProps(props).backgroundColor};\r\n border-radius: ${(props) => (props.borderRadius ? props.borderRadius : navButtonProps(props).borderRadius)};\r\n border: ${(props) => (props.border ? props.border : navButtonProps(props).border)};\r\n border-color: ${(props) => (props.borderColor ? props.borderColor : navButtonProps(props).borderColor)};\r\n width: ${(props) => (props.width ? props.width : navButtonProps(props).width)};\r\n text-align: ${(props) => (props.textAlign ? props.textAlign : navButtonProps(props).textAlign)};\r\n font-weight: ${(props) => (props.fontWeight ? props.fontWeight : navButtonProps(props).fontWeight)};\r\n &:hover {\r\n background-color: ${(props) =>\r\n props.backgroundColorHover ? props.backgroundColorHover : navButtonProps(props).backgroundColorHover};\r\n border-color: ${(props) =>\r\n props.borderColorHover ? props.borderHover : navButtonProps(props).borderColorHover};\r\n }\r\n`;\r\n\r\nexport const StepperNavLinkButton = styled(Nav.Link)`\r\n padding: 0;\r\n`;\r\n\r\nexport default StyledNavButton;\r\n","import 'chartjs-plugin-annotation';\r\nimport moment from 'moment';\r\nimport { useCallback, useContext } from 'react';\r\nimport { IAppCharts } from '../components/Charts/AppCharts/AppCharts';\r\nimport AlertContext from '../context/alertContext';\r\nimport LoginContext from '../context/loginContext';\r\nimport { getDiagnosticReportsByCategory } from '../services/fhir/FHIRDiagnosticReports';\r\nimport { charts, IGetChartData, initalChartData, transformAndSortDates } from '../utils/chartUtils';\r\n\r\ninterface IUseCharts extends IAppCharts {\r\n chartId: string;\r\n}\r\n\r\nexport const useChart = (props: IUseCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n\r\n const getChartData = useCallback(async () => {\r\n let dataPrecision = 1;\r\n if (props.dataPrecisionVal !== undefined) {\r\n dataPrecision = props.dataPrecisionVal;\r\n }\r\n\r\n const data: IGetChartData = {\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n };\r\n\r\n const userData: any = {};\r\n let response;\r\n if (props.sessionId) {\r\n userData.sessionId = props.sessionId;\r\n userData.activeUserId = props.activeUserId;\r\n response = await getDiagnosticReportsByCategory(userData, props.chartId, alertdispatch);\r\n } else {\r\n response = await getDiagnosticReportsByCategory(state, props.chartId, alertdispatch);\r\n }\r\n data.chartLoaded = true;\r\n if (response) {\r\n let foundDataEntry = false;\r\n\r\n if (response.data?.entry) {\r\n foundDataEntry = true;\r\n }\r\n\r\n if (foundDataEntry) {\r\n const dataString = response.data.entry[0].resource.presentedForm[0].extension[0].valueString;\r\n const jsonRes = JSON.parse(dataString);\r\n\r\n // convert dates (string) into moment objects and sort chronologically\r\n const sortedJSON = transformAndSortDates(jsonRes);\r\n\r\n const labelsArray: any[] = [];\r\n let tlind = 1;\r\n let foundData = false;\r\n for (let i = 0; i < sortedJSON.data.datasets.length; i++) {\r\n if (\r\n sortedJSON.data.datasets[i].TYPE === 'Line' ||\r\n sortedJSON.data.datasets[i].TYPE === 'Day bars' ||\r\n sortedJSON.data.datasets[i].TYPE === 'MultiLine'\r\n ) {\r\n for (let j = 0; j < jsonRes.data.datasets[i].data.length; j++) {\r\n const origDataVal: number = jsonRes.data.datasets[i].data[j].y;\r\n const dataValPrec: string = origDataVal.toFixed(dataPrecision);\r\n labelsArray.push(dataValPrec);\r\n }\r\n data.chartData.labels = labelsArray;\r\n data.chartData.chartData = sortedJSON.data.datasets[i];\r\n\r\n if (jsonRes.data?.datasets[i]?.data[jsonRes.data.datasets[i].data.length - 1]?.t) {\r\n data.foundChartData = true;\r\n foundData = true;\r\n }\r\n\r\n if (foundData) {\r\n data.chartData.chartViewLimits = {\r\n fiveYears: sortedJSON.data.datasets[i].data[\r\n sortedJSON.data.datasets[i].data.length - 1\r\n ].t\r\n .clone()\r\n .subtract(4, 'years'),\r\n oneYear: sortedJSON.data.datasets[i].data[sortedJSON.data.datasets[i].data.length - 1].t\r\n .clone()\r\n .subtract(1, 'years'),\r\n oneMonth: sortedJSON.data.datasets[i].data[\r\n sortedJSON.data.datasets[i].data.length - 1\r\n ].t\r\n .clone()\r\n .subtract(1, 'months'),\r\n oneWeek: sortedJSON.data.datasets[i].data[sortedJSON.data.datasets[i].data.length - 1].t\r\n .clone()\r\n .subtract(1, 'week'),\r\n };\r\n }\r\n } else if (sortedJSON.data.datasets[i].TYPE === 'TargetLine') {\r\n const lastTargetWeight =\r\n sortedJSON.data.datasets[i].data[sortedJSON.data.datasets[i].data.length - 1].y;\r\n const today = moment();\r\n sortedJSON.data.datasets[i].data.push({\r\n t: today.add(4, 'months'),\r\n y: lastTargetWeight,\r\n });\r\n if (tlind === 1) {\r\n data.chartData.targetChart1 = sortedJSON.data.datasets[i];\r\n tlind++;\r\n } else if (tlind === 2) {\r\n data.chartData.targetChart2 = sortedJSON.data.datasets[i];\r\n tlind++;\r\n } else if (tlind === 3) {\r\n data.chartData.targetChart3 = sortedJSON.data.datasets[i];\r\n tlind++;\r\n }\r\n }\r\n\r\n /* specific chart options */\r\n if (props.chartId === charts.FLI.requestId) {\r\n if (sortedJSON.data.datasets[i].TYPE === 'TargetBarrier') {\r\n data.chartData.targetBarrier = sortedJSON.data.datasets[i];\r\n }\r\n if (sortedJSON.data.datasets[i].TYPE === 'TargetArea') {\r\n data.chartData.targetArea = sortedJSON.data.datasets[i];\r\n }\r\n }\r\n }\r\n\r\n data.chartData.chartOptions = jsonRes.options;\r\n }\r\n }\r\n\r\n return data;\r\n }, []);\r\n\r\n const getTableData = useCallback(async () => {\r\n const response = await getDiagnosticReportsByCategory(state, props.chartId, alertdispatch);\r\n if (response) {\r\n return response;\r\n }\r\n\r\n return 'FAILURE';\r\n }, []);\r\n\r\n return {\r\n getChartData,\r\n getTableData,\r\n };\r\n};\r\n","import { useEffect, useState } from 'react';\r\nimport Table from 'react-bootstrap/Table';\r\n\r\ninterface ITableTitleVal {\r\n name: string;\r\n title: string;\r\n}\r\n\r\ninterface ITableDataVal {\r\n val?: string;\r\n table?: ITableData;\r\n type: string;\r\n}\r\n\r\nexport interface ITableData {\r\n table: {\r\n title: ITableTitleVal[];\r\n data: ITableDataVal[][];\r\n };\r\n}\r\n\r\ninterface ITableProvider {\r\n tableData: ITableData;\r\n maxHeight: string;\r\n}\r\n\r\nexport const initalTableData = {\r\n tableTitle: '',\r\n tableData: {\r\n table: {\r\n title: [],\r\n data: [],\r\n },\r\n },\r\n};\r\n\r\nconst TableProvider = (props: ITableProvider) => {\r\n const [tableToShow, setTableToShow] = useState(<>);\r\n\r\n useEffect(() => {\r\n const tblDat = getTable();\r\n if (tblDat) {\r\n setTableToShow(tblDat);\r\n }\r\n }, []);\r\n\r\n const getTableHeader = (props: ITableTitleVal[]) => {\r\n const allHeaders: any[] = [];\r\n props.forEach((e) => {\r\n allHeaders.push(\r\n \r\n {e.name}\r\n ,\r\n );\r\n });\r\n\r\n return allHeaders;\r\n };\r\n\r\n const getTableRows = (props: ITableDataVal[][]) => {\r\n const allTr: any[] = [];\r\n props.forEach((line, key) => {\r\n const allTd: any[] = [];\r\n line.forEach((td, key) => {\r\n if (!td.type || td.type === 'text' || td.type === 'document') {\r\n if (td.val) {\r\n allTd.push({td.val});\r\n }\r\n } else if (td.type === 'table') {\r\n if (td.table) {\r\n const subTableData: ITableData = td as unknown as ITableData;\r\n const subTable = generateTable(subTableData);\r\n allTd.push({subTable});\r\n }\r\n }\r\n });\r\n allTr.push({allTd});\r\n });\r\n return allTr;\r\n };\r\n\r\n const generateTable = (props: ITableData) => {\r\n const table = (\r\n \r\n \r\n {getTableHeader(props.table.title)}\r\n \r\n {getTableRows(props.table.data)}\r\n
\r\n );\r\n\r\n return table;\r\n };\r\n\r\n const getTable = () => {\r\n if (props.tableData) {\r\n return generateTable(props.tableData);\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n {tableToShow}\r\n \r\n );\r\n};\r\n\r\nexport default TableProvider;\r\n","import Modal from 'react-bootstrap/Modal';\r\nimport styled from 'styled-components';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport TableProvider, { ITableData } from '../../TableProvider/TableProvider';\r\n\r\nexport const ModalCst = styled(Modal)`\r\n .modal-dialog {\r\n max-width: 90%;\r\n max-height: 100%;\r\n margin: 1.75rem auto;\r\n }\r\n .modal-content {\r\n border-radius: ${(prop) => (prop.borderRadius ? prop.borderRadius : prop.theme.modal.borderRadius)};\r\n box-shadow: ${(prop) => (prop.boxShadow ? prop.boxShadow : prop.theme.modal.boxShadow)};\r\n }\r\n`;\r\n\r\nexport interface ITableModalShow {\r\n show: boolean;\r\n modalTitle: string;\r\n tableData: ITableData;\r\n}\r\nexport interface ITableModal extends ITableModalShow {\r\n onHide(): void;\r\n}\r\n\r\nconst TableModal = (props: ITableModal) => {\r\n const screenSize = useScreenResolution();\r\n\r\n const onHideClick = () => {\r\n props.onHide();\r\n };\r\n\r\n const getBodyHeight = () => {\r\n let bodyHeight = screenSize.height;\r\n bodyHeight = bodyHeight * 0.8;\r\n return bodyHeight.toString() + 'px';\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {props.modalTitle}\r\n \r\n \r\n \r\n \r\n \r\n onHideClick()}>\r\n Schließen\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableModal;\r\n","import { Line } from 'react-chartjs-2';\r\nimport { VerticalCenterDiv } from '../../Div/StyledDiv';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\n\r\nconst EmptyView = (props: IAppCharts) => {\r\n const data = {\r\n labels: [\r\n 'Januar',\r\n 'Februar',\r\n 'März',\r\n 'April',\r\n 'Mai',\r\n 'Juni',\r\n 'Juli',\r\n 'August',\r\n 'September',\r\n 'Oktober',\r\n 'November',\r\n 'Dezember',\r\n ],\r\n datasets: [\r\n {\r\n label: 'Keine Daten',\r\n },\r\n ],\r\n };\r\n\r\n const options = {\r\n scales: {\r\n yAxes: [\r\n {\r\n ticks: {\r\n min: 30,\r\n max: 100,\r\n },\r\n },\r\n ],\r\n },\r\n };\r\n\r\n const EmptyViewLine = () => {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n };\r\n\r\n return props.type ? (\r\n /* if props.type then it is called by mobile and we net to center the chart */\r\n \r\n \r\n \r\n ) : (\r\n \r\n );\r\n};\r\n\r\nexport default EmptyView;\r\n","import moment from 'moment';\r\nimport { useState } from 'react';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport {\r\n chartSettingsForDevice,\r\n getChartOptionsData,\r\n getDatasetData,\r\n IChartOptions,\r\n IChartProps,\r\n} from '../../../utils/chartUtils';\r\nimport { ChartInnerDiv, ChartOuterDiv } from '../../Div/StyledDiv';\r\n\r\nconst FiveYearsView = (props: IChartProps) => {\r\n const [xMin, setXMin] = useState(moment([props.chartViewLimits.fiveYears.year()]).clone().startOf('year'));\r\n const [xMax, setXMax] = useState(moment().endOf('year').add(6, 'month'));\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const chartSettings = chartSettingsForDevice('fiveYears', screenSize.width, screenSize.height);\r\n\r\n const datasetProps = {\r\n chartProps: props,\r\n barPercentage: 2,\r\n };\r\n\r\n const [datasets, labelsToDisplay] = getDatasetData(datasetProps);\r\n const data = {\r\n labels: labelsToDisplay, // labels to be displayed by the datalabels.formatter\r\n datasets: datasets,\r\n };\r\n\r\n const chartOptionsProps: IChartOptions = {\r\n chartProps: props,\r\n ticksXMin: xMin,\r\n ticksXMax: xMax,\r\n chartSettings: chartSettings,\r\n updateLimits: (e) => updateLimits(e),\r\n };\r\n\r\n const options = getChartOptionsData(chartOptionsProps);\r\n\r\n function updateLimits(context: any) {\r\n if (!props.mobileProps?.sessionId) {\r\n setXMin(context.chart.scales['x-axis-0'].min);\r\n setXMax(context.chart.scales['x-axis-0'].max);\r\n }\r\n }\r\n\r\n const MyLine = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const MyBar = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return
{props.displayOption === 1 ? : }
;\r\n};\r\n\r\nexport default FiveYearsView;\r\n","import moment from 'moment';\r\nimport { useState } from 'react';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport {\r\n chartSettingsForDevice,\r\n getChartOptionsData,\r\n getDatasetData,\r\n IChartOptions,\r\n IChartProps,\r\n} from '../../../utils/chartUtils';\r\nimport { ChartInnerDiv, ChartOuterDiv } from '../../Div/StyledDiv';\r\n\r\nconst MaxView = (props: IChartProps) => {\r\n const [xMin, setXMin] = useState(props.chartData.data[0].t);\r\n const [xMax, setXMax] = useState(moment().endOf('year').add(12, 'month'));\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const chartSettings = chartSettingsForDevice('max', screenSize.width, screenSize.height);\r\n\r\n const datasetProps = {\r\n chartProps: props,\r\n barPercentage: 2,\r\n };\r\n\r\n const [datasets, labelsToDisplay] = getDatasetData(datasetProps);\r\n const data = {\r\n labels: labelsToDisplay, // labels to be displayed by the datalabels.formatter\r\n datasets: datasets,\r\n };\r\n\r\n const chartOptionsProps: IChartOptions = {\r\n chartProps: props,\r\n ticksXMin: xMin,\r\n ticksXMax: xMax,\r\n chartSettings: chartSettings,\r\n updateLimits: (e) => updateLimits(e),\r\n };\r\n\r\n const options = getChartOptionsData(chartOptionsProps);\r\n\r\n function updateLimits(context: any) {\r\n if (!props.mobileProps?.sessionId) {\r\n setXMin(context.chart.scales['x-axis-0'].min);\r\n setXMax(context.chart.scales['x-axis-0'].max);\r\n }\r\n }\r\n\r\n const MyLine = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const MyBar = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return
{props.displayOption === 1 ? : }
;\r\n};\r\n\r\nexport default MaxView;\r\n","import moment from 'moment';\r\nimport { useState } from 'react';\r\nimport * as React from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Row from 'react-bootstrap/Row';\r\nimport ToggleButton from 'react-bootstrap/ToggleButton';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport {\r\n chartSettingsForDevice,\r\n getChartOptionsData,\r\n getDatasetData,\r\n handleDisplayControllers,\r\n IChartOptions,\r\n IChartProps,\r\n} from '../../../utils/chartUtils';\r\nimport { ToggleButtonGroupFlex } from '../../Buttons/ToggleButtonGroupCst';\r\nimport { ChartInnerDiv, ChartOuterDiv } from '../../Div/StyledDiv';\r\n\r\nconst OneMonthView = (props: IChartProps) => {\r\n // const [xMin, setXMin] = useState(moment(moment().startOf('month').format('DD.MM.YYYY'), 'DD.MM.YYYY'));\r\n // const [xMax, setXMax] = useState(moment(moment().endOf('month').format('DD.MM.YYYY'), 'DD.MM.YYYY'));\r\n\r\n // start with displaying the month with the latest data entry\r\n const [xMin, setXMin] = useState(\r\n moment(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().startOf('month').format('DD.MM.YYYY'),\r\n 'DD.MM.YYYY',\r\n ),\r\n );\r\n const [xMax, setXMax] = useState(\r\n moment(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().endOf('month').format('DD.MM.YYYY'),\r\n 'DD.MM.YYYY',\r\n ),\r\n );\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const chartSettings = chartSettingsForDevice('oneMonth', screenSize.width, screenSize.height);\r\n\r\n const [selectedMonth, setSelectedMonth] = useState(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().month(),\r\n );\r\n const [selectedYear, setSelectedYear] = useState(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().year(),\r\n );\r\n\r\n const scalesOffset = props?.mobileProps?.sessionId ? true : false;\r\n // const ticksMinRotation = props?.mobileProps?.sessionId ? 20 : 0;\r\n // const ticksMaxRotation = props?.mobileProps?.sessionId ? 20 : chartSettings.rotation;\r\n const ticksLabelOffset = props?.mobileProps?.sessionId ? 30 : 0;\r\n\r\n // get year of first and last weight data entry\r\n const firstYear = props.chartData.data[0].t.year();\r\n const lastYear = props.chartData.data[props.chartData.data.length - 1].t.year();\r\n\r\n // create a list of objects with the years and an index for the buttons\r\n const yearList: Array<{ name: number; value: number }> = [];\r\n let index = 0;\r\n for (let year = firstYear; year <= lastYear; year++) {\r\n yearList.push({ name: year, value: index });\r\n index++;\r\n }\r\n\r\n const monthsList = [\r\n { name: 'Januar', value: 0 },\r\n { name: 'Februar', value: 1 },\r\n { name: 'März', value: 2 },\r\n { name: 'April', value: 3 },\r\n { name: 'Mai', value: 4 },\r\n { name: 'Juni', value: 5 },\r\n { name: 'Juli', value: 6 },\r\n { name: 'August', value: 7 },\r\n { name: 'September', value: 8 },\r\n { name: 'Oktober', value: 9 },\r\n { name: 'November', value: 10 },\r\n { name: 'Dezember', value: 11 },\r\n ];\r\n\r\n const datasetProps = {\r\n chartProps: props,\r\n barPercentage: 2,\r\n };\r\n\r\n const [datasets, labelsToDisplay] = getDatasetData(datasetProps);\r\n const data = {\r\n labels: labelsToDisplay, // labels to be displayed by the datalabels.formatter\r\n datasets: datasets,\r\n };\r\n\r\n const chartOptionsProps: IChartOptions = {\r\n chartProps: props,\r\n ticksXMin: xMin,\r\n ticksXMax: xMax,\r\n scalesOffset: scalesOffset,\r\n ticksLabelOffset: ticksLabelOffset,\r\n // ticksMinRotation: ticksMinRotation,\r\n // ticksMaxRotation: ticksMaxRotation,\r\n chartSettings: chartSettings,\r\n updateLimits: (e) => updateLimits(e),\r\n };\r\n\r\n const options = getChartOptionsData(chartOptionsProps);\r\n\r\n function updateLimits(context: any) {\r\n if (!props.mobileProps?.sessionId) {\r\n setXMin(context.chart.scales['x-axis-0'].min);\r\n setXMax(context.chart.scales['x-axis-0'].max);\r\n }\r\n }\r\n\r\n const [radioValYear, setRadioValYear] = useState(yearList[yearList.length - 1].value);\r\n const [radioValMonth, setRadioValMonth] = useState(props.chartData.data[props.chartData.data.length - 1].t.month());\r\n\r\n const handleYearChange = (selectedYearVal: React.SetStateAction) => {\r\n const yearName = yearList.find((i) => i.value === selectedYearVal)?.name;\r\n const selectedYearAndMonth = moment([yearName, selectedMonth]);\r\n setRadioValYear(selectedYearVal);\r\n setSelectedYear(yearList.find((i) => i.value === selectedYearVal)?.name);\r\n setXMin(moment(selectedYearAndMonth).startOf('month'));\r\n setXMax(moment(selectedYearAndMonth).endOf('month'));\r\n };\r\n\r\n const handleMonthChange = (selectedMonthVal: React.SetStateAction) => {\r\n const selectedYearAndMonth = moment([selectedYear, Number(selectedMonthVal)]);\r\n setRadioValMonth(Number(selectedMonthVal));\r\n setSelectedMonth(selectedMonthVal);\r\n setXMin(moment(selectedYearAndMonth).startOf('month'));\r\n setXMax(moment(selectedYearAndMonth).endOf('month'));\r\n };\r\n\r\n const MonthOptions = () => {\r\n const allMonthOptions: any[] = [];\r\n {\r\n monthsList.map((month, idx) => {\r\n allMonthOptions.push(\r\n \r\n handleMonthChange(month.value)}\r\n >\r\n {month.name}\r\n \r\n ,\r\n );\r\n });\r\n }\r\n\r\n return (\r\n \r\n {allMonthOptions}\r\n \r\n );\r\n };\r\n\r\n const YearOptions = () => {\r\n const allYearOptions: any[] = [];\r\n {\r\n yearList.map((year, idx) => {\r\n allYearOptions.push(\r\n \r\n handleYearChange(year.value)}\r\n >\r\n {year.name}\r\n \r\n ,\r\n );\r\n });\r\n }\r\n\r\n return (\r\n \r\n {allYearOptions}\r\n \r\n );\r\n };\r\n\r\n const MyLine = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const MyBar = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.displayOption === 1 ? : }\r\n
\r\n );\r\n};\r\n\r\nexport default OneMonthView;\r\n","import moment, { Moment } from 'moment';\r\nimport { useState } from 'react';\r\nimport * as React from 'react';\r\nimport Badge from 'react-bootstrap/Badge';\r\nimport Button from 'react-bootstrap/Button';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Row from 'react-bootstrap/Row';\r\nimport ToggleButton from 'react-bootstrap/ToggleButton';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\nimport { IoIosArrowBack, IoIosArrowForward } from 'react-icons/io';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport {\r\n chartSettingsForDevice,\r\n getChartOptionsData,\r\n getDatasetData,\r\n handleDisplayControllers,\r\n IChartOptions,\r\n IChartProps,\r\n} from '../../../utils/chartUtils';\r\nimport { ToggleButtonGroupFlex } from '../../Buttons/ToggleButtonGroupCst';\r\nimport { ChartInnerDiv, ChartOuterDiv } from '../../Div/StyledDiv';\r\n\r\nconst OneWeekView = (props: IChartProps) => {\r\n // start with displaying the week with the latest data entry\r\n const [xMin, setXMin] = useState(\r\n moment(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().startOf('isoWeek').format('DD.MM.YYYY'),\r\n 'DD.MM.YYYY',\r\n ),\r\n );\r\n const [xMax, setXMax] = useState(\r\n moment(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().endOf('isoWeek').format('DD.MM.YYYY'),\r\n 'DD.MM.YYYY',\r\n ),\r\n );\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const chartSettings = chartSettingsForDevice('oneWeek', screenSize.width, screenSize.height);\r\n\r\n // start with button selection with the year, month and week from the latest data entry\r\n const [selectedYear, setSelectedYear] = useState(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().year(),\r\n );\r\n const [selectedMonth, setSelectedMonth] = useState(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().month(),\r\n );\r\n const [selectedWeekNumber, setSelectedWeekNumber] = useState(\r\n props.chartData.data[props.chartData.data.length - 1].t.clone().isoWeek(),\r\n );\r\n\r\n const scalesOffset = props?.mobileProps?.sessionId ? true : false;\r\n // const ticksMinRotation = props?.mobileProps?.sessionId ? 20 : 0;\r\n // const ticksMaxRotation = props?.mobileProps?.sessionId ? 20 : chartSettings.rotation;\r\n const ticksLabelOffset = props?.mobileProps?.sessionId ? 30 : 0;\r\n\r\n // get year of first and last weight data entry\r\n const firstYearOfData = props.chartData.data[0].t.year();\r\n const lastYearOfData = props.chartData.data[props.chartData.data.length - 1].t.year();\r\n\r\n // create a list of objects with the years and an index for the buttons\r\n const yearList: Array<{ name: number; value: number }> = [];\r\n let index = 0;\r\n for (let year = firstYearOfData; year <= lastYearOfData; year++) {\r\n yearList.push({ name: year, value: index });\r\n index++;\r\n }\r\n\r\n const monthsList = [\r\n { name: 'Januar', value: 0 },\r\n { name: 'Februar', value: 1 },\r\n { name: 'März', value: 2 },\r\n { name: 'April', value: 3 },\r\n { name: 'Mai', value: 4 },\r\n { name: 'Juni', value: 5 },\r\n { name: 'Juli', value: 6 },\r\n { name: 'August', value: 7 },\r\n { name: 'September', value: 8 },\r\n { name: 'Oktober', value: 9 },\r\n { name: 'November', value: 10 },\r\n { name: 'Dezember', value: 11 },\r\n ];\r\n\r\n const datasetProps = {\r\n chartProps: props,\r\n barPercentage: 5,\r\n };\r\n\r\n const [datasets, labelsToDisplay] = getDatasetData(datasetProps);\r\n const data = {\r\n labels: labelsToDisplay, // labels to be displayed by the datalabels.formatter\r\n datasets: datasets,\r\n };\r\n\r\n const chartOptionsProps: IChartOptions = {\r\n chartProps: props,\r\n ticksXMin: xMin,\r\n ticksXMax: xMax,\r\n scalesOffset: scalesOffset,\r\n ticksLabelOffset: ticksLabelOffset,\r\n // ticksMinRotation: ticksMinRotation,\r\n // ticksMaxRotation: ticksMaxRotation,\r\n chartSettings: chartSettings,\r\n updateLimits: (e) => updateLimits(e),\r\n };\r\n\r\n const options = getChartOptionsData(chartOptionsProps);\r\n\r\n function updateLimits(context: any) {\r\n if (!props.mobileProps?.sessionId) {\r\n setXMin(context.chart.scales['x-axis-0'].min);\r\n setXMax(context.chart.scales['x-axis-0'].max);\r\n }\r\n }\r\n\r\n const [radioValYear, setRadioValYear] = useState(yearList[yearList.length - 1].value);\r\n const [radioValMonth, setRadioValMonth] = useState(props.chartData.data[props.chartData.data.length - 1].t.month());\r\n\r\n const handleYearChange = (selectedYearVal: React.SetStateAction) => {\r\n if (yearList !== undefined) {\r\n const yearName = yearList.find((i) => i.value === selectedYearVal)?.name;\r\n if (yearName !== undefined) {\r\n const selectedYearAndWeek = moment().year(yearName).week(selectedWeekNumber);\r\n setRadioValYear(selectedYearVal);\r\n setSelectedYear(yearList.find((i) => i.value === selectedYearVal)?.name);\r\n setSelectedMonth(selectedYearAndWeek.month());\r\n setRadioValMonth(selectedYearAndWeek.month());\r\n setXMin(moment(selectedYearAndWeek).startOf('isoWeek'));\r\n setXMax(moment(selectedYearAndWeek).endOf('isoWeek'));\r\n }\r\n }\r\n };\r\n\r\n const handleMonthChange = (selectedMonthVal: React.SetStateAction) => {\r\n const selectedYearAndMonth = moment([selectedYear, Number(selectedMonthVal)]);\r\n setSelectedWeekNumber(moment(selectedYearAndMonth).isoWeek());\r\n setRadioValMonth(Number(selectedMonthVal));\r\n setSelectedMonth(selectedMonthVal);\r\n setXMin(moment(selectedYearAndMonth).startOf('isoWeek'));\r\n setXMax(moment(selectedYearAndMonth).endOf('isoWeek'));\r\n };\r\n\r\n function setValues(newDate: Moment) {\r\n setSelectedWeekNumber(newDate.isoWeek());\r\n setSelectedMonth(newDate.month());\r\n setRadioValMonth(newDate.month());\r\n setSelectedYear(newDate.year());\r\n if (yearList !== undefined) {\r\n const year = yearList.find((i) => i.name === newDate.year());\r\n if (year !== undefined) {\r\n setRadioValYear(year.value);\r\n }\r\n }\r\n }\r\n\r\n const handleWeekBack = () => {\r\n // jump one week back and get first and last dates of iso week\r\n const oneWeekBack_beginOfWeek = moment()\r\n .year(selectedYear)\r\n .week(selectedWeekNumber)\r\n .startOf('isoWeek')\r\n .subtract(1, 'week');\r\n const oneWeekBack_endOfWeek = moment()\r\n .year(selectedYear)\r\n .week(selectedWeekNumber)\r\n .endOf('isoWeek')\r\n .subtract(1, 'week');\r\n\r\n // set x-axis time limits left and right\r\n setXMin(oneWeekBack_beginOfWeek);\r\n setXMax(oneWeekBack_endOfWeek);\r\n\r\n // set all time hooks by passing beginning of week\r\n setValues(oneWeekBack_beginOfWeek);\r\n };\r\n\r\n const handleWeekForward = () => {\r\n // jump one week forward and get first and last dates of iso week\r\n const oneWeekForward_beginOfWeek = moment()\r\n .year(selectedYear)\r\n .week(selectedWeekNumber)\r\n .startOf('isoWeek')\r\n .add(1, 'week');\r\n const oneWeekForward_endOfWeek = moment()\r\n .year(selectedYear)\r\n .week(selectedWeekNumber)\r\n .endOf('isoWeek')\r\n .add(1, 'week');\r\n\r\n // set x-axis time limits left and right\r\n setXMin(oneWeekForward_beginOfWeek);\r\n setXMax(oneWeekForward_endOfWeek);\r\n\r\n // set all time hooks by passing beginning of week\r\n setValues(oneWeekForward_endOfWeek);\r\n };\r\n\r\n // returns year if one would step 1 week back in time\r\n const backwardCheck = () => {\r\n return moment().year(selectedYear).week(selectedWeekNumber).endOf('isoWeek').subtract(1, 'week').year();\r\n };\r\n\r\n // returns year of one would step 1 week forward in time\r\n const forwardCheck = () => {\r\n return moment().year(selectedYear).week(selectedWeekNumber).startOf('isoWeek').add(1, 'week').year();\r\n };\r\n\r\n const MonthOptions = () => {\r\n const allMonthOptions: any[] = [];\r\n {\r\n monthsList.map((month, idx) => {\r\n allMonthOptions.push(\r\n \r\n handleMonthChange(month.value)}\r\n >\r\n {month.name}\r\n \r\n ,\r\n );\r\n });\r\n }\r\n\r\n return (\r\n \r\n {allMonthOptions}\r\n \r\n );\r\n };\r\n\r\n const YearOptions = () => {\r\n const allYearOptions: any[] = [];\r\n {\r\n yearList.map((year, idx) => {\r\n allYearOptions.push(\r\n \r\n handleYearChange(year.value)}\r\n >\r\n {year.name}\r\n \r\n ,\r\n );\r\n });\r\n }\r\n\r\n return (\r\n \r\n {allYearOptions}\r\n \r\n );\r\n };\r\n\r\n const MyLine = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const MyBar = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

\r\n handleWeekBack()}\r\n disabled={firstYearOfData > backwardCheck()}\r\n >\r\n \r\n \r\n Woche {selectedWeekNumber}\r\n handleWeekForward()}\r\n disabled={lastYearOfData < forwardCheck()}\r\n >\r\n \r\n \r\n

\r\n \r\n
\r\n {props.displayOption === 1 ? : }\r\n
\r\n );\r\n};\r\n\r\nexport default OneWeekView;\r\n","import moment from 'moment';\r\nimport { useState } from 'react';\r\nimport * as React from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Row from 'react-bootstrap/Row';\r\nimport ToggleButton from 'react-bootstrap/ToggleButton';\r\nimport { Bar, Line } from 'react-chartjs-2';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport {\r\n chartSettingsForDevice,\r\n getChartOptionsData,\r\n getDatasetData,\r\n handleDisplayControllers,\r\n IChartOptions,\r\n IChartProps,\r\n} from '../../../utils/chartUtils';\r\nimport { ToggleButtonGroupFlex } from '../../Buttons/ToggleButtonGroupCst';\r\nimport { ChartInnerDiv, ChartOuterDiv } from '../../Div/StyledDiv';\r\n\r\nconst OneYearView = (props: IChartProps) => {\r\n const [xMin, setXMin] = useState(\r\n moment(props.chartData.data[props.chartData.data.length - 1].t)\r\n .clone()\r\n .startOf('year'),\r\n );\r\n const [xMax, setXMax] = useState(\r\n moment(props.chartData.data[props.chartData.data.length - 1].t)\r\n .clone()\r\n .endOf('year'),\r\n );\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const chartSettings = chartSettingsForDevice('oneYear', screenSize.width, screenSize.height);\r\n\r\n // get year of first and last weight data entry\r\n const firstYear = props.chartData.data[0].t.year();\r\n const lastYear = props.chartData.data[props.chartData.data.length - 1].t.year();\r\n\r\n // create a list of objects with the years and an index for the buttons\r\n const yearList: Array<{ name: number; value: number }> = [];\r\n let index = 0;\r\n for (let year = firstYear; year <= lastYear; year++) {\r\n yearList.push({ name: year, value: index });\r\n index++;\r\n }\r\n\r\n const datasetProps = {\r\n chartProps: props,\r\n barPercentage: 2,\r\n };\r\n\r\n const [datasets, labelsToDisplay] = getDatasetData(datasetProps);\r\n const data = {\r\n labels: labelsToDisplay, // labels to be displayed by the datalabels.formatter\r\n datasets: datasets,\r\n };\r\n\r\n const chartOptionsProps: IChartOptions = {\r\n chartProps: props,\r\n ticksXMin: xMin,\r\n ticksXMax: xMax,\r\n ticksLabelOffset: 0,\r\n chartSettings: chartSettings,\r\n updateLimits: (e) => updateLimits(e),\r\n };\r\n\r\n const options = getChartOptionsData(chartOptionsProps);\r\n\r\n function updateLimits(context: any) {\r\n if (!props.mobileProps?.sessionId) {\r\n setXMin(context.chart.scales['x-axis-0'].min);\r\n setXMax(context.chart.scales['x-axis-0'].max);\r\n }\r\n }\r\n\r\n const [radioValue, setRadioValue] = useState(yearList[yearList.length - 1].value);\r\n\r\n const handleYearChange = (selectedYearVal: React.SetStateAction) => {\r\n setRadioValue(selectedYearVal);\r\n if (yearList) {\r\n const yearName = yearList.find((i) => i.value === selectedYearVal)?.name;\r\n if (yearName) {\r\n setXMin(moment([yearName]).clone().startOf('year'));\r\n setXMax(moment([yearName]).clone().endOf('year'));\r\n }\r\n }\r\n };\r\n\r\n const YearOptions = () => {\r\n const allYearOptions: any[] = [];\r\n {\r\n yearList.map((year, idx) => {\r\n allYearOptions.push(\r\n \r\n handleYearChange(year.value)}\r\n >\r\n {year.name}\r\n \r\n ,\r\n );\r\n });\r\n }\r\n\r\n return (\r\n \r\n {allYearOptions}\r\n \r\n );\r\n };\r\n\r\n const MyLine = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const MyBar = () => {\r\n if (props.mobileProps?.height !== undefined) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {props.displayOption === 1 ? : }\r\n
\r\n );\r\n};\r\n\r\nexport default OneYearView;\r\n","import * as React from 'react';\r\nimport { useContext, useRef, useState } from 'react';\r\nimport ButtonToolbar from 'react-bootstrap/esm/ButtonToolbar';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Container from 'react-bootstrap/esm/Container';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport ToggleButton from 'react-bootstrap/esm/ToggleButton';\r\nimport ToggleButtonGroup from 'react-bootstrap/esm/ToggleButtonGroup';\r\nimport AlertContext from '../../../context/alertContext';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport { getDiagnosticReportsByCategory } from '../../../services/fhir/FHIRDiagnosticReports';\r\nimport {\r\n chartViews,\r\n getTableDataFromDiagnosticReportResponse,\r\n handleDisplayControllers,\r\n IChartProps,\r\n} from '../../../utils/chartUtils';\r\nimport { calcButtonPaddingSize } from '../../../utils/lottieUtils';\r\nimport { isDesktop } from '../../../utils/screenResolution';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport { ChartsButtonCol, ChartsHeaderCol } from '../../Cols/StyledCol';\r\nimport { CenterDiv } from '../../Div/StyledDiv';\r\nimport { LottieButtonLoadingSpinner } from '../../Loading/Loading';\r\nimport LoadingSpinnerWithText from '../../Loading/LoadingSpinnerWithText';\r\nimport TableModal, { ITableModalShow } from '../../Modals/TableModal/TableModal';\r\nimport { initalTableData } from '../../TableProvider/TableProvider';\r\nimport EmptyView from './EmptyView';\r\nimport FiveYearsView from './FiveYearsView';\r\nimport MaxView from './MaxView';\r\nimport OneMonthView from './OneMonthView';\r\nimport OneWeekView from './OneWeekView';\r\nimport OneYearView from './OneYearView';\r\n\r\ninterface IViewSwitcher {\r\n chartLoaded: boolean;\r\n foundData: boolean;\r\n chartProps: IChartProps;\r\n}\r\n\r\nconst ViewSwitcher = (props: IViewSwitcher) => {\r\n const { state } = useContext(LoginContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n const [rangeValue, setRangeValue] = useState(chartViews.ALL_VIEW);\r\n const [labelButtonVal, setLabelButtonVal] = useState('Werte anzeigen');\r\n const [labelOpt, setLabelOpt] = useState(false);\r\n const [showTableButtonLoadingSpinner, setShowTableButtonLoadingSpinner] = useState(false);\r\n const tableButtonRef = useRef(null);\r\n\r\n const screenSize = useScreenResolution();\r\n const desktop = isDesktop(screenSize.width);\r\n const isSmallScreen = screenSize.width < 500 ? true : false;\r\n\r\n const [tableModalShow, setTableModalShow] = useState({\r\n show: false,\r\n modalTitle: '',\r\n tableData: { ...initalTableData.tableData },\r\n });\r\n\r\n const handleValueChange = (e: React.MouseEvent) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n if ('Werte anzeigen' === labelButtonVal) {\r\n setLabelButtonVal('Werte ausblenden');\r\n } else {\r\n setLabelButtonVal('Werte anzeigen');\r\n }\r\n\r\n setLabelOpt(!labelOpt);\r\n };\r\n\r\n const oneWeekView = () => {\r\n if (rangeValue !== chartViews.ONE_WEEK_VIEW) {\r\n setRangeValue(chartViews.ONE_WEEK_VIEW);\r\n }\r\n\r\n if (props.foundData) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const oneMonthView = () => {\r\n if (rangeValue !== chartViews.ONE_MONTH_VIEW) {\r\n setRangeValue(chartViews.ONE_MONTH_VIEW);\r\n }\r\n\r\n if (props.foundData) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const oneYearView = () => {\r\n if (rangeValue !== chartViews.ONE_YEAR_VIEW) {\r\n setRangeValue(chartViews.ONE_YEAR_VIEW);\r\n }\r\n\r\n if (props.foundData) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const fiveYearView = () => {\r\n if (rangeValue !== chartViews.FIVE_YEAR_VIEW) {\r\n setRangeValue(chartViews.FIVE_YEAR_VIEW);\r\n }\r\n\r\n if (props.foundData) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const allView = () => {\r\n if (rangeValue !== chartViews.ALL_VIEW) {\r\n setRangeValue(chartViews.ALL_VIEW);\r\n }\r\n\r\n if (props.foundData) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const getChartsView = () => {\r\n if (rangeValue === chartViews.ONE_WEEK_VIEW) {\r\n return oneWeekView();\r\n } else if (rangeValue === chartViews.ONE_MONTH_VIEW) {\r\n return oneMonthView();\r\n } else if (rangeValue === chartViews.ONE_YEAR_VIEW) {\r\n return oneYearView();\r\n } else if (rangeValue === chartViews.FIVE_YEAR_VIEW) {\r\n return fiveYearView();\r\n } else if (rangeValue === chartViews.ALL_VIEW) {\r\n return allView();\r\n }\r\n };\r\n\r\n const handleTableDataClick = async (e: React.MouseEvent) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n setShowTableButtonLoadingSpinner(true);\r\n\r\n if (props?.chartProps?.chartOptions?.extraTables !== undefined) {\r\n let titleFromExtraTables = '';\r\n titleFromExtraTables = props?.chartProps?.chartOptions?.extraTables[0]?.name;\r\n const id = props?.chartProps?.chartOptions?.extraTables[0]?.id;\r\n\r\n if (id && id.length > 0) {\r\n const response = await getDiagnosticReportsByCategory(state, id, alertdispatch);\r\n if (response) {\r\n const [tableTitle, tableData] = getTableDataFromDiagnosticReportResponse(response);\r\n setShowTableButtonLoadingSpinner(false);\r\n setTableModalShow({\r\n show: true,\r\n modalTitle: titleFromExtraTables,\r\n tableData: tableData,\r\n });\r\n }\r\n }\r\n }\r\n };\r\n\r\n const isTableIncluded = () => {\r\n if (props?.chartProps?.chartOptions?.extraTables !== undefined) {\r\n if (props?.chartProps?.chartOptions?.extraTables[0]?.id?.length > 0) {\r\n return true;\r\n }\r\n }\r\n\r\n return false;\r\n };\r\n\r\n const getTableId = () => {\r\n let id: string | undefined = '';\r\n id = props?.chartProps?.chartOptions?.extraTables?.[0]?.id;\r\n return id;\r\n };\r\n\r\n const ShowTableButton = () => {\r\n if (showTableButtonLoadingSpinner) {\r\n let calcButtonWidth = '35px';\r\n const lottieSize = 24;\r\n calcButtonWidth = calcButtonPaddingSize(tableButtonRef, lottieSize);\r\n\r\n return (\r\n handleTableDataClick(e)}\r\n >\r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleTableDataClick(e)}\r\n >\r\n Tabelle anzeigen\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n {!props.chartLoaded ? (\r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n 1 Woche\r\n \r\n \r\n 1 Monat\r\n \r\n \r\n {' '}\r\n 1 Jahr{' '}\r\n \r\n \r\n {' '}\r\n 5 Jahre{' '}\r\n \r\n \r\n {' '}\r\n Max{' '}\r\n \r\n \r\n \r\n \r\n {isTableIncluded() && }\r\n handleValueChange(e)}\r\n >\r\n {labelButtonVal}\r\n \r\n \r\n {/* {isTableIncluded() && }\r\n \r\n handleValueChange(e)}\r\n >\r\n {labelButtonVal}\r\n \r\n */}\r\n \r\n \r\n \r\n )}\r\n \r\n {getChartsView()}\r\n \r\n setTableModalShow({\r\n show: false,\r\n modalTitle: '',\r\n tableData: { ...initalTableData.tableData },\r\n })\r\n }\r\n modalTitle={tableModalShow.modalTitle}\r\n tableData={tableModalShow.tableData}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default ViewSwitcher;\r\n","import 'chartjs-plugin-datalabels';\r\nimport 'chartjs-plugin-zoom';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport { charts, IChartProps, IGetChartData, initalChartData } from '../../../utils/chartUtils';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\nimport ViewSwitcher from '../ChartViews/ViewSwitcher';\r\n\r\nconst ActivityCharts = (props: IAppCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { getChartData } = useChart({ ...props, chartId: charts.ACTIVITY.requestId, dataPrecisionVal: 0 });\r\n\r\n const [chartData, setChartData] = useState({\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n });\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const data = await getChartData();\r\n setChartData(data);\r\n };\r\n\r\n console.log(initalChartData);\r\n console.log(chartData);\r\n getData();\r\n }, [state.activePatient]);\r\n\r\n const getData = () => {\r\n const data: IChartProps = {\r\n chartName: charts.ACTIVITY.id,\r\n mobileProps: props,\r\n displayOption: 0,\r\n chartOptions: chartData.chartData.chartOptions,\r\n chartData: chartData.chartData.chartData,\r\n targetChart1: chartData.chartData.targetChart1,\r\n targetChart2: chartData.chartData.targetChart2,\r\n targetChart3: chartData.chartData.targetChart3,\r\n chartViewLimits: chartData.chartData.chartViewLimits,\r\n labels: chartData.chartData.labels,\r\n labelOption: false,\r\n tooltipPrecisionVal: 0,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default ActivityCharts;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport { charts, IChartProps, IGetChartData, initalChartData } from '../../../utils/chartUtils';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\nimport ViewSwitcher from '../ChartViews/ViewSwitcher';\r\n\r\nconst BloodSugarCharts = (props: IAppCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { getChartData } = useChart({ ...props, chartId: charts.BLOODSUGAR.requestId, dataPrecisionVal: 2 });\r\n\r\n const [chartData, setChartData] = useState({\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n });\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const data = await getChartData();\r\n setChartData(data);\r\n };\r\n\r\n getData();\r\n }, [state.activePatient]);\r\n\r\n const getData = () => {\r\n const data: IChartProps = {\r\n chartName: charts.BLOODSUGAR.id,\r\n mobileProps: props,\r\n displayOption: 1,\r\n chartOptions: chartData.chartData.chartOptions,\r\n chartData: chartData.chartData.chartData,\r\n targetBarrier: chartData.chartData.targetBarrier,\r\n targetArea: chartData.chartData.targetArea,\r\n targetCeiling: chartData.chartData.targetCeiling,\r\n chartViewLimits: chartData.chartData.chartViewLimits,\r\n labels: chartData.chartData.labels,\r\n labelOption: false,\r\n tooltipPrecisionVal: 1,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default BloodSugarCharts;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport { charts, IChartProps, IGetChartData, initalChartData } from '../../../utils/chartUtils';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\nimport ViewSwitcher from '../ChartViews/ViewSwitcher';\r\n\r\nconst BodyFatCharts = (props: IAppCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { getChartData } = useChart({ ...props, chartId: charts.FATMASS.requestId, dataPrecisionVal: 1 });\r\n\r\n const [chartData, setChartData] = useState({\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n });\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const data = await getChartData();\r\n setChartData(data);\r\n };\r\n\r\n getData();\r\n }, [state.activePatient]);\r\n\r\n const getData = () => {\r\n const data: IChartProps = {\r\n chartName: charts.FATMASS.id,\r\n mobileProps: props,\r\n displayOption: 1,\r\n chartOptions: chartData.chartData.chartOptions,\r\n chartData: chartData.chartData.chartData,\r\n targetChart1: chartData.chartData.targetChart1,\r\n targetChart2: chartData.chartData.targetChart2,\r\n targetChart3: chartData.chartData.targetChart3,\r\n chartViewLimits: chartData.chartData.chartViewLimits,\r\n labels: chartData.chartData.labels,\r\n labelOption: false,\r\n tooltipPrecisionVal: 1,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default BodyFatCharts;\r\n","import 'chartjs-plugin-datalabels';\r\nimport 'chartjs-plugin-zoom';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport { charts, IChartProps, IGetChartData, initalChartData } from '../../../utils/chartUtils';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\nimport ViewSwitcher from '../ChartViews/ViewSwitcher';\r\n\r\nconst FLICharts = (props: IAppCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { getChartData } = useChart({ ...props, chartId: charts.FLI.requestId, dataPrecisionVal: 0 });\r\n\r\n const [chartData, setChartData] = useState({\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n });\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const data = await getChartData();\r\n setChartData(data);\r\n };\r\n\r\n getData();\r\n }, [state.activePatient]);\r\n\r\n const getData = () => {\r\n const data: IChartProps = {\r\n chartName: charts.FLI.id,\r\n mobileProps: props,\r\n displayOption: 1,\r\n chartOptions: chartData.chartData.chartOptions,\r\n chartData: chartData.chartData.chartData,\r\n targetBarrier: chartData.chartData.targetBarrier,\r\n targetArea: chartData.chartData.targetArea,\r\n targetCeiling: chartData.chartData.targetCeiling,\r\n chartViewLimits: chartData.chartData.chartViewLimits,\r\n labels: chartData.chartData.labels,\r\n labelOption: false,\r\n tooltipPrecisionVal: 0,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default FLICharts;\r\n","import 'chartjs-plugin-datalabels';\r\nimport 'chartjs-plugin-zoom';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport { charts, IChartProps, IGetChartData, initalChartData } from '../../../utils/chartUtils';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\nimport ViewSwitcher from '../ChartViews/ViewSwitcher';\r\n\r\nconst SAMCharts = (props: IAppCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { getChartData } = useChart({ ...props, chartId: charts.SAM.requestId, dataPrecisionVal: 0 });\r\n\r\n const [chartData, setChartData] = useState({\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n });\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const data = await getChartData();\r\n setChartData(data);\r\n };\r\n\r\n getData();\r\n }, [state.activePatient]);\r\n\r\n const getData = () => {\r\n const data: IChartProps = {\r\n chartName: charts.SAM.id,\r\n mobileProps: props,\r\n displayOption: 1,\r\n chartOptions: chartData.chartData.chartOptions,\r\n chartData: chartData.chartData.chartData,\r\n targetBarrier: chartData.chartData.targetBarrier,\r\n targetArea: chartData.chartData.targetArea,\r\n targetCeiling: chartData.chartData.targetCeiling,\r\n chartViewLimits: chartData.chartData.chartViewLimits,\r\n labels: chartData.chartData.labels,\r\n labelOption: false,\r\n tooltipPrecisionVal: 0,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default SAMCharts;\r\n","import 'chartjs-plugin-datalabels';\r\nimport 'chartjs-plugin-zoom';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport LoginContext from '../../../context/loginContext';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport { charts, IChartProps, IGetChartData, initalChartData } from '../../../utils/chartUtils';\r\nimport { IAppCharts } from '../AppCharts/AppCharts';\r\nimport ViewSwitcher from '../ChartViews/ViewSwitcher';\r\n\r\nconst WeightCharts = (props: IAppCharts) => {\r\n const { state } = useContext(LoginContext);\r\n const { getChartData } = useChart({ ...props, chartId: charts.WEIGHT.requestId, dataPrecisionVal: 1 });\r\n\r\n const [chartData, setChartData] = useState({\r\n chartLoaded: false,\r\n foundChartData: false,\r\n chartData: { ...initalChartData },\r\n });\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const data = await getChartData();\r\n setChartData(data);\r\n };\r\n\r\n getData();\r\n }, [state.activePatient]);\r\n\r\n const getData = () => {\r\n const data: IChartProps = {\r\n chartName: charts.WEIGHT.id,\r\n mobileProps: props,\r\n displayOption: 1,\r\n chartOptions: chartData.chartData.chartOptions,\r\n chartData: chartData.chartData.chartData,\r\n targetChart1: chartData.chartData.targetChart1,\r\n targetChart2: chartData.chartData.targetChart2,\r\n targetChart3: chartData.chartData.targetChart3,\r\n chartViewLimits: chartData.chartData.chartViewLimits,\r\n labels: chartData.chartData.labels,\r\n labelOption: false,\r\n tooltipPrecisionVal: 1,\r\n };\r\n\r\n return data;\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default WeightCharts;\r\n","import { useLocation } from 'react-router-dom';\r\nimport { charts } from '../../../utils/chartUtils';\r\nimport { getQueryParams } from '../../../utils/urlUtils';\r\nimport ActivityCharts from '../ActivityCharts/ActivityCharts';\r\nimport BloodSugarCharts from '../BloodSugar/BloodSugarCharts';\r\nimport BodyFatCharts from '../BodyFat/BodyFatCharts';\r\nimport FLICharts from '../FLI/FLICharts';\r\nimport SAMCharts from '../SAM/SAMCharts';\r\nimport WeightCharts from '../Weight/WeightCharts';\r\n\r\nexport interface IAppCharts {\r\n type?: string;\r\n chartType?: string;\r\n width?: number;\r\n height?: number;\r\n sessionId?: string;\r\n activeUserId?: number;\r\n showControllers?: boolean;\r\n dataPrecisionVal?: number;\r\n}\r\n\r\nconst AppCharts = () => {\r\n const location = useLocation();\r\n const hashParams = getQueryParams(location.search);\r\n\r\n if (hashParams.type === 'Charts') {\r\n if (hashParams.chartType === charts.WEIGHT.appTypeName) {\r\n return ;\r\n }\r\n if (hashParams.chartType === charts.FATMASS.appTypeName) {\r\n return ;\r\n }\r\n if (hashParams.chartType === charts.BLOODSUGAR.appTypeName) {\r\n return ;\r\n }\r\n if (hashParams.chartType === charts.FLI.appTypeName) {\r\n return ;\r\n }\r\n if (hashParams.chartType === charts.ACTIVITY.appTypeName) {\r\n return ;\r\n }\r\n if (hashParams.chartType === charts.SAM.appTypeName) {\r\n return ;\r\n }\r\n }\r\n\r\n return null;\r\n};\r\n\r\nexport default AppCharts;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Container from 'react-bootstrap/esm/Container';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { ThemeContext } from 'styled-components';\r\nimport NavbarMenu from '../../container/Navbar/Navbar';\r\nimport Sidebar from '../../container/Sidebar/Sidebar';\r\nimport QuestionnaireContext from '../../context/questionnaireContext';\r\nimport { getIFrameURL } from '../../services/RestServices';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport StyledCol from '../Cols/StyledCol';\r\nimport DragNDropArea from '../Div/DragNDropArea';\r\nimport { containerHeader } from '../Header/Header';\r\n\r\nconst IFrameContent = () => {\r\n const { qstate } = useContext(QuestionnaireContext);\r\n\r\n // console.log('qstate: ', qstate);\r\n\r\n const formId = qstate.selectedQuestionnaire.resource.id;\r\n const n = qstate.selectedQuestionnaire.resource.extension[0].valueString.lastIndexOf('='); // get index of last = in string\r\n const patId = qstate.selectedQuestionnaire.resource.extension[0].valueString.substring(n + 1); // extract patientId after last =\r\n\r\n const [iFrame, setIFrame] = useState('');\r\n\r\n //const iFrameSrc = 'data:image/jpg;base64,' + iFrame;\r\n const iFrameSrc = '' + iFrame;\r\n\r\n const getLinkForIFrame = async () => {\r\n const iframeResp = await getIFrameURL(formId, patId);\r\n // console.log('iiframeRep: ', iframeResp);\r\n setIFrame(iframeResp);\r\n };\r\n\r\n useEffect(() => {\r\n getLinkForIFrame();\r\n }, []);\r\n\r\n const navigate = useNavigate();\r\n return (\r\n <>\r\n \r\n \r\n {/* \r\n {iFrame !== '' ? (\r\n \r\n ) : <>}\r\n */}\r\n \r\n \r\n \r\n \r\n navigate(-1)}>\r\n Zurück\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst IFrameFragebogen = () => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n return (\r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n {containerHeader('Fragebogen')}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default IFrameFragebogen;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport Row from 'react-bootstrap/Row';\r\nimport { FaChartPie, FaWeight } from 'react-icons/fa';\r\nimport { GiLiver } from 'react-icons/gi';\r\nimport { ImDroplet, ImTable } from 'react-icons/im';\r\nimport { RiFootprintFill } from 'react-icons/ri';\r\nimport StyledCardContent from '../../components/Cards/StyledCardContent';\r\nimport { containerHeader } from '../../components/Header/Header';\r\nimport LoginContext from '../../context/loginContext';\r\nimport { Paths } from '../../Routes';\r\nimport { charts, tables } from '../../utils/chartUtils';\r\nimport Mainscreen from '../Mainscreen/Mainscreen';\r\n\r\nconst ChartsContent = () => {\r\n const { state } = useContext(LoginContext);\r\n const [chartsOrder, setChartsOrder] = useState([\r\n charts.WEIGHT.id,\r\n charts.ACTIVITY.id,\r\n charts.BLOODSUGAR.id,\r\n charts.FATMASS.id,\r\n charts.SAM.id,\r\n charts.FLI.id,\r\n tables.VALTBL.id,\r\n ]);\r\n\r\n // const {\r\n // isChartsWeightEnabled,\r\n // isChartsBodyFatEnabled,\r\n // isChartsBloodSugarEnabled,\r\n // isChartsFLIEnabled,\r\n // isChartsSAMEnabled,\r\n // isChartsActivityEnabled,\r\n // } = useSecurityItems();\r\n\r\n useEffect(() => {\r\n if (state.finalSecurityItemsOrder.length > 0) {\r\n setChartsOrder(state.finalSecurityItemsOrder);\r\n }\r\n }, [state.finalSecurityItemsOrder]);\r\n\r\n const showChartItems = () => {\r\n const allChartItems: any[] = [];\r\n\r\n chartsOrder.forEach((e) => {\r\n if (!e.startsWith('CHARTS:')) {\r\n return;\r\n }\r\n\r\n let route = '';\r\n let title = '';\r\n let icon = ;\r\n\r\n if (e === charts.WEIGHT.id) {\r\n route = Paths.CHARTS_GEWICHT;\r\n title = charts.WEIGHT.name;\r\n icon = ;\r\n } else if (e === charts.ACTIVITY.id) {\r\n route = Paths.CHARTS_ACTIVITY;\r\n title = charts.ACTIVITY.name;\r\n icon = ;\r\n } else if (e === charts.BLOODSUGAR.id) {\r\n route = Paths.CHARTS_BLUTZUCKER;\r\n title = charts.BLOODSUGAR.name;\r\n icon = ;\r\n } else if (e === charts.FATMASS.id) {\r\n route = Paths.CHARTS_FETTMASSE;\r\n title = charts.FATMASS.name;\r\n icon = ;\r\n } else if (e === charts.SAM.id) {\r\n route = Paths.CHARTS_SAM;\r\n title = charts.SAM.name;\r\n icon = ;\r\n } else if (e === charts.FLI.id) {\r\n route = Paths.CHARTS_FLI;\r\n title = charts.FLI.name;\r\n icon = ;\r\n } else if (e === tables.VALTBL.id) {\r\n route = Paths.TABLE_VAL;\r\n title = tables.VALTBL.name;\r\n icon = ;\r\n }\r\n\r\n allChartItems.push(\r\n ,\r\n );\r\n });\r\n\r\n return allChartItems;\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n\r\n //
\r\n // \r\n //
\r\n );\r\n};\r\n\r\nconst Charts = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader('Charts')}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Charts;\r\n","import Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport ActivityCharts from '../../../components/Charts/ActivityCharts/ActivityCharts';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport { charts } from '../../../utils/chartUtils';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\n\r\nconst ChartsActivityContent = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChartsActivity = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader(charts.ACTIVITY.name)}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChartsActivity;\r\n","import Col from 'react-bootstrap/esm/Col';\r\nimport Container from 'react-bootstrap/esm/Container';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport BloodSugarCharts from '../../../components/Charts/BloodSugar/BloodSugarCharts';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\n\r\nconst ChartsBlutzuckerContent = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChartsBlutzucker = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader('Blutzucker')}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChartsBlutzucker;\r\n","import Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport BodyFatCharts from '../../../components/Charts/BodyFat/BodyFatCharts';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport { charts } from '../../../utils/chartUtils';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\n\r\nconst ChartsFettmasseContent = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChartsFettmasse = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader(charts.FATMASS.name)}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChartsFettmasse;\r\n","import Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport FLICharts from '../../../components/Charts/FLI/FLICharts';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\n\r\nconst ChartsFLIContent = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChartsFLI = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader('FLI')}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChartsFLI;\r\n","import Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport WeightCharts from '../../../components/Charts/Weight/WeightCharts';\r\n\r\nconst ChartsGewichtContent = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChartsGewicht = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader('Gewicht')}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChartsGewicht;\r\n","import Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport SAMCharts from '../../../components/Charts/SAM/SAMCharts';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\n\r\nconst ChartsSAMContent = () => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst ChartsSAM = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader('SAM')}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ChartsSAM;\r\n","const Error = () => {\r\n return (\r\n
\r\n

404 Error

\r\n

cannot find page

\r\n
\r\n );\r\n};\r\n\r\nexport default Error;\r\n","import { useContext } from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport ExecuteRuleContext from '../../context/executeRuleContext';\r\nimport { Paths } from '../../Routes';\r\nimport { setRuleProperties } from '../../utils/executeRuleUtils';\r\nimport { getQueryParams } from '../../utils/urlUtils';\r\n\r\nconst ExecuteRule = () => {\r\n const navigate = useNavigate();\r\n const { executeruledispatch } = useContext(ExecuteRuleContext);\r\n\r\n const hashParams = getQueryParams(location.hash);\r\n setRuleProperties(hashParams, executeruledispatch);\r\n navigate(Paths.HOME);\r\n return null;\r\n};\r\n\r\nexport default ExecuteRule;\r\n","import { useContext, useState } from 'react';\r\nimport { Container, Form } from 'react-bootstrap';\r\nimport Card from 'react-bootstrap/esm/Card';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport { FaRegCalendarAlt } from 'react-icons/fa';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { ThemeContext } from 'styled-components';\r\nimport { Paths } from '../../Routes';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport { GoogleAnalyticsAction, GoogleAnalyticsCategory, useGoogleAnalytics } from '../../hooks/useGoogleAnalytics';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport { StyledMainCardTitle, StyledProfileCard } from '../Cards/StyledCard';\r\nimport { CenterDiv, RightDiv } from '../Div/StyledDiv';\r\nconst EnrollCodeBox = () => {\r\n const navigate = useNavigate();\r\n\r\n const { t } = useLanguage();\r\n const themeContext = useContext(ThemeContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n\r\n const { sendGoogleAnalyticsEvent } = useGoogleAnalytics();\r\n\r\n //const screenSize = useScreenResolution();\r\n\r\n const [anmeldKatSelected, setAnmeldKatSelected] = useState();\r\n\r\n // const getMarginRightLeft = () => {\r\n // if (screenSize.width > 1700) {\r\n // return '50px';\r\n // } else if (screenSize.width > 1300) {\r\n // return '20px';\r\n // } else {\r\n // return '10px';\r\n // }\r\n // };\r\n\r\n const handleSetAnmeldKat = (e: any) => {\r\n setAnmeldKatSelected(e.target.value.toString());\r\n };\r\n\r\n const getAnmeldKatOptions = () => {\r\n // if (props.departments.versicherungsArt && props.departments.versicherungsArt.length > 0) {\r\n // return props.departments.versicherungsArt.map((versicherungsArt) => (\r\n // \r\n // ));\r\n // } else {\r\n // return (\r\n // <>\r\n // \r\n // \r\n // \r\n // );\r\n // }\r\n\r\n if (apstate.anmeldeContexts && apstate.anmeldeContexts.length > 0) {\r\n return apstate.anmeldeContexts.map((anmeldeContext) => (\r\n \r\n ));\r\n } else {\r\n return null;\r\n }\r\n\r\n // return (\r\n // <>\r\n // \r\n // \r\n // \r\n // );\r\n };\r\n\r\n const handleTerminAnfordernClick = () => {\r\n sendGoogleAnalyticsEvent({\r\n category: GoogleAnalyticsCategory.HOMESCREEN,\r\n action: GoogleAnalyticsAction.CLICK,\r\n label: 'Standort ' + anmeldKatSelected + ' ausgewählt',\r\n });\r\n navigate(Paths.NEUER_ACCOUNT_WL + '?reason=' + anmeldKatSelected + '&type=NewAccount');\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {t('LOGIN', 'Ihre Terminplanung ohne Account')}\r\n \r\n \r\n \r\n \r\n \r\n handleSetAnmeldKat(e)}\r\n >\r\n \r\n {getAnmeldKatOptions()}\r\n \r\n \r\n \r\n handleTerminAnfordernClick()}\r\n >\r\n {t('LOGIN', 'Neuen Termin anfordern')}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n /* ALTE VARIANTE \r\n return (\r\n \r\n \r\n \r\n \r\n Sie haben einen Termincode?\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n navigate(Paths.TERMINIERUNG_WL)}>\r\n Neuen Termin anfordern\r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n );\r\n */\r\n};\r\n\r\nexport default EnrollCodeBox;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Image from 'react-bootstrap/Image';\r\nimport Row from 'react-bootstrap/Row';\r\nimport Nav from 'react-bootstrap/esm/Nav';\r\nimport EnrollCodeBox from '../../components/EnrollCodeBox/EnrollCodeBox';\r\nimport ExtraLinks from '../../components/ExtraLinks/ExtraLinks';\r\nimport LanguageSwitch from '../../components/LanguageSwitch/LanguageSwitch';\r\nimport QRCodeForApp from '../../components/QRCode/QRCodeForApp';\r\nimport AlertContext from '../../context/alertContext';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport { useAppProperties } from '../../hooks/useAppProperties';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport { resetShowAlertMessage } from '../../utils/alertHandling';\r\nimport Login from '../Login/Login';\r\nimport FullScreenImpressum from '../Mainscreen/FullScreenImpressum';\r\n\r\nconst Home = () => {\r\n interface IShowHomeElements {\r\n showLogin: boolean;\r\n showEnrollCodeBox: boolean;\r\n showQRCodeForApp: boolean;\r\n row_lg: number;\r\n }\r\n\r\n const { apstate } = useContext(AppPropsContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n // const themeContext = useContext(ThemeContext);\r\n\r\n const { getImpressum } = useAppProperties();\r\n const { t, setSystemLanguage, isLanguageChangedFromUser } = useLanguage();\r\n\r\n const [homeElements, setHomeElements] = useState({\r\n showLogin: false,\r\n showEnrollCodeBox: false,\r\n showQRCodeForApp: false,\r\n row_lg: 0,\r\n });\r\n\r\n useEffect(() => {\r\n if (!isLanguageChangedFromUser()) {\r\n setSystemLanguage();\r\n }\r\n resetShowAlertMessage(alertdispatch);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const homeEle = {\r\n showLogin: false,\r\n showEnrollCodeBox: false,\r\n showQRCodeForApp: false,\r\n row_lg: 0,\r\n };\r\n let row_lg_counter = 0;\r\n\r\n if (apstate.allowLogin) {\r\n homeEle.showLogin = true;\r\n row_lg_counter++;\r\n }\r\n if (apstate.allowAppointmentsWithoutLogin) {\r\n homeEle.showEnrollCodeBox = true;\r\n row_lg_counter++;\r\n }\r\n if (apstate.showMobileQR !== false) {\r\n homeEle.showQRCodeForApp = true;\r\n row_lg_counter++;\r\n }\r\n\r\n homeEle.row_lg = row_lg_counter;\r\n\r\n setHomeElements(homeEle);\r\n }, [apstate]);\r\n\r\n const brandingSrc = 'data:image/jpg;base64,' + apstate.brandingBytes;\r\n\r\n const impressum = getImpressum();\r\n\r\n return (\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {apstate.extraLinks ? : null}\r\n \r\n
\r\n \r\n
\r\n \r\n {apstate.extraLinks ? (\r\n \r\n
\r\n \r\n
\r\n \r\n ) : null}\r\n
\r\n \r\n {homeElements.showEnrollCodeBox ? (\r\n \r\n \r\n \r\n ) : null}\r\n {homeElements.showLogin ? (\r\n \r\n \r\n \r\n ) : null}\r\n\r\n {homeElements.showQRCodeForApp ? (\r\n \r\n \r\n \r\n ) : null}\r\n \r\n
\r\n
\r\n )\r\n
\r\n );\r\n};\r\n\r\nexport default Home;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport { getBaseURL } from '../../globals/global';\r\nimport { usePersonalData } from '../../hooks/usePersonalData';\r\nimport { getQuestionnaireJourney } from '../../services/RestServices';\r\nimport CheckInWL from '../CheckIn/CheckInWL';\r\nimport Mainscreen from '../Mainscreen/Mainscreen';\r\n\r\nexport interface INeuerAccountWL {\r\n type?: string;\r\n key?: string;\r\n reason?: string;\r\n handleFinishClick?(response: any): void;\r\n}\r\n\r\nconst NeuerAccountPhysLogin = () => {\r\n const { apstate, apdispatch } = useContext(AppPropsContext);\r\n\r\n const [journeyData, setJourneyData] = useState();\r\n const [loaded, setLoaded] = useState(false);\r\n const { resetPersonalDataPhysPat } = usePersonalData();\r\n\r\n const hashParams: INeuerAccountWL = {\r\n type: 'NewAccount',\r\n reason: 'ANMELDKARD',\r\n key: getBaseURL(),\r\n };\r\n\r\n useEffect(() => {\r\n const getQuestJourney = async () => {\r\n const questionnaireJourneyResponse = await getQuestionnaireJourney('ANMELDKARD', '', '');\r\n if (questionnaireJourneyResponse) {\r\n /* override appProperties */\r\n apdispatch({\r\n type: 'SETAPPPROPS',\r\n ...apstate,\r\n allowAccountCreateDirect: false,\r\n allowDirectAppointmentsWithoutLogin: false,\r\n });\r\n setJourneyData(questionnaireJourneyResponse);\r\n }\r\n setLoaded(true);\r\n };\r\n\r\n resetPersonalDataPhysPat();\r\n getQuestJourney();\r\n }, []);\r\n\r\n const innerContent = () => {\r\n if (loaded) {\r\n if (journeyData) {\r\n return (\r\n \r\n );\r\n } else {\r\n return <>;\r\n }\r\n }\r\n };\r\n\r\n const showContent = () => {\r\n return (\r\n \r\n
{innerContent()}
\r\n
\r\n );\r\n };\r\n\r\n return showContent();\r\n};\r\n\r\nexport default NeuerAccountPhysLogin;\r\n","export default __webpack_public_path__ + \"static/media/CardSim.11c82f64.png\";","import { Image } from 'react-bootstrap';\r\nimport { BsSim } from 'react-icons/bs';\r\nimport cardSim from '../../images/CardSim.png';\r\nimport { SpaceBetweenDiv, VerticalCenterFlexDiv } from '../Div/StyledDiv';\r\nimport StyledButton from './StyledButton';\r\n\r\ninterface IReadCardButton {\r\n width?: string;\r\n textSize?: string;\r\n disabled: boolean;\r\n onClick(): void;\r\n}\r\n\r\nconst ReadCardButton = (props: IReadCardButton) => {\r\n return (\r\n {\r\n props.onClick();\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n Karte einlesen\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReadCardButton;\r\nBsSim;\r\n","import { useEffect, useState } from 'react';\r\nimport Lottie from 'react-lottie';\r\nimport { useLocation, useNavigate, useNavigationType } from 'react-router-dom';\r\nimport { Paths } from '../../Routes';\r\nimport { CenterDiv, VerticalCenterDiv } from '../../components/Div/StyledDiv';\r\nimport loadingSplashWait from '../../lotties/splashscreenWait.json';\r\nimport { getTabletURL } from '../../services/RestServices';\r\nimport { getQueryParams } from '../../utils/urlUtils';\r\nimport MultiFragebogen, { IMultiFragebogen } from '../Fragebogen/MultiFragebogen';\r\n\r\nexport interface ICheckInSplashscreenMultifragebogenWaiting {\r\n id?: string;\r\n}\r\n\r\nexport interface IGetTabletURLResponse {\r\n t0: string;\r\n otp: string;\r\n userId: string;\r\n name: string;\r\n key: string;\r\n formNames: any;\r\n webAppURL?: string;\r\n}\r\n\r\nlet intervalTimer;\r\n\r\nconst CheckInSplashscreenMultifragebogenWaiting = () => {\r\n const navigate = useNavigate();\r\n const navtype = useNavigationType();\r\n // const [intervalTimer, setIntervalTimer] = useState();\r\n\r\n const location = useLocation();\r\n const hashParams: ICheckInSplashscreenMultifragebogenWaiting = getQueryParams(location.search);\r\n\r\n const [foundData, setFoundData] = useState(false);\r\n const [multifragebogen, setMultifragebogen] = useState(<>);\r\n\r\n useEffect(() => {\r\n startListening();\r\n\r\n return () => {\r\n // clearInterval(intervalTimer);\r\n clearInterval(intervalTimer);\r\n };\r\n }, []);\r\n\r\n /*\r\n useEffect(() => {\r\n /* avoid browser back button click * /\r\n return () => {\r\n if (navtype === 'POP') {\r\n navigate(Paths.SPLASHSCREEN_MULTIFRAGEBOGEN_WAITING);\r\n }\r\n };\r\n }, [history]);\r\n */\r\n\r\n const lottieSpinnerOptions = {\r\n loop: true,\r\n autoplay: true,\r\n animationData: loadingSplashWait,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n };\r\n\r\n const LottieSplashWait = () => {\r\n return ;\r\n };\r\n\r\n const LoadingSpinner = () => {\r\n return (\r\n \r\n \r\n

Fragebogen Terminal

\r\n \r\n

Warten auf Daten...

\r\n
\r\n
\r\n );\r\n };\r\n\r\n const startListening = () => {\r\n // const timer = setInterval(() => listeningWorkflow(), 1000);\r\n // setIntervalTimer(timer);\r\n intervalTimer = setInterval(() => listeningWorkflow(), 1000);\r\n };\r\n\r\n const listeningWorkflow = async () => {\r\n let tabletID = '';\r\n\r\n if (hashParams.id === undefined) {\r\n return;\r\n } else {\r\n tabletID = hashParams.id;\r\n }\r\n\r\n const response: IGetTabletURLResponse = await getTabletURL(tabletID);\r\n if (response && response.webAppURL) {\r\n window.location.replace(response.webAppURL);\r\n return;\r\n }\r\n if (\r\n response &&\r\n response.t0?.length > 0 &&\r\n response.otp?.length > 0 &&\r\n response.userId?.length > 0 &&\r\n response.name?.length > 0 &&\r\n response.key?.length > 0\r\n ) {\r\n const multifragebogenData: IMultiFragebogen = {\r\n type: 'Questionnaire',\r\n name: response.name,\r\n userId: response.userId,\r\n t0: response.t0,\r\n otp: response.otp,\r\n formNames: response.formNames,\r\n };\r\n\r\n const multifragebogen = ;\r\n clearInterval(intervalTimer);\r\n setFoundData(true);\r\n setMultifragebogen(multifragebogen);\r\n }\r\n };\r\n\r\n return foundData ? (\r\n multifragebogen\r\n ) : (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CheckInSplashscreenMultifragebogenWaiting;\r\n","import { useContext, useEffect, useRef, useState } from 'react';\r\nimport { Form, Image, Row } from 'react-bootstrap';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Lottie from 'react-lottie';\r\nimport { useLocation, useNavigate, useNavigationType } from 'react-router-dom';\r\nimport { Paths } from '../../Routes';\r\nimport {\r\n CenterDiv,\r\n CenterPositionFixedDiv,\r\n CheckInCenterDiv,\r\n IconDiv,\r\n RightDiv,\r\n SpaceBetweenDiv,\r\n VerticalCenterFlexDiv,\r\n} from '../../components/Div/StyledDiv';\r\nimport CheckInContext from '../../context/checkInContext';\r\nimport ScanUtils, { BarcodeScanCallback } from '../../hooks/barcodeKeyHandler';\r\nimport loadingSplashWait from '../../lotties/splashscreenWait.json';\r\nimport {\r\n checkAppointment,\r\n getAppProperties,\r\n getOTPFromAppID,\r\n getURLToCall,\r\n interpreteKVParams,\r\n} from '../../services/RestServices';\r\nimport { getQueryParams } from '../../utils/urlUtils';\r\nimport { INeuerAccountWL } from '../NeuerAccount/NeuerAccountWL';\r\n\r\nimport { BiBarcodeReader } from 'react-icons/bi';\r\nimport { ThemeContext } from 'styled-components';\r\nimport ReadCardButton from '../../components/Buttons/ReadCardButton';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { showAlertMessage } from '../../utils/alertHandling';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport { Divider } from '@material-ui/core';\r\nimport StyledButton from '../../components/Buttons/StyledButton';\r\nimport MyTooltip from '../../components/Tooltip/MyTooltip';\r\nimport { RiLogoutBoxRLine } from 'react-icons/ri';\r\n\r\nexport interface ICheckInSplashscreen {\r\n wpName?: string;\r\n reason?: string;\r\n tileUEB?: boolean;\r\n tileOBU?: boolean; //Onlinebuchung\r\n tilePAN?: boolean; //Praxisanmeldung\r\n tileTUE?: boolean; //Terminueberpruefung\r\n}\r\n\r\nexport interface IURLToCallResponse {\r\n state: string;\r\n url: string;\r\n eGK: string;\r\n kvBarcode: string;\r\n birthday: string;\r\n city: string;\r\n country: string;\r\n firstName: string;\r\n gender: string;\r\n street: string;\r\n houseNumber: string;\r\n nameLast: string;\r\n zip: string;\r\n insuranceNr: string;\r\n insuranceName: string;\r\n language;\r\n error?: any;\r\n info?: any;\r\n}\r\n\r\ninterface IVisibleTiles {\r\n tileUeberweisung: boolean;\r\n tileOnlinebuchung: boolean;\r\n tilePraxisanmeldung: boolean;\r\n tileTerminueberpruefung: boolean;\r\n fromOnlinebuchung: boolean;\r\n}\r\n\r\ninterface ICheckedAppointmentData {\r\n userId: string;\r\n t0: string;\r\n otp: string;\r\n reason: string;\r\n}\r\n\r\nconst CheckInSplashscreen = () => {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const navtype = useNavigationType();\r\n const hashParams: ICheckInSplashscreen = getQueryParams(location.search);\r\n const { checkindispatch } = useContext(CheckInContext);\r\n const [showLoadingSpinner, setShowLoadingSpinner] = useState(false);\r\n const [brandingBytes, setBrandingBytes] = useState('');\r\n const { apstate } = useContext(AppPropsContext);\r\n const [visibleTiles, setVisibleTiles] = useState({\r\n tileUeberweisung: false,\r\n tileOnlinebuchung: false,\r\n tilePraxisanmeldung: false,\r\n tileTerminueberpruefung: false,\r\n fromOnlinebuchung: false,\r\n });\r\n const [checkedAppointmentData, setCheckedAppointmentData] = useState({\r\n userId: '',\r\n t0: '',\r\n otp: '',\r\n reason: '',\r\n });\r\n const screenSize = useScreenResolution();\r\n const themeContext = useContext(ThemeContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n\r\n const brandingSrc = 'data:image/jpg;base64,' + brandingBytes;\r\n\r\n const scanInputRefUEB = useRef(null);\r\n const scanInputRefOBU = useRef(null);\r\n const scanInputRefTUE = useRef(null);\r\n\r\n useEffect(() => {\r\n const bc = ScanUtils();\r\n if (bc) {\r\n bc.startup(document.getElementById('MainSplashscreen'), '', barcodeScannerCallback);\r\n }\r\n\r\n let ueb = false;\r\n let obu = false;\r\n let pan = false;\r\n let tue = false;\r\n\r\n if (hashParams.tileUEB) {\r\n ueb = hashParams.tileUEB;\r\n }\r\n\r\n if (hashParams.tileOBU) {\r\n obu = hashParams.tileOBU;\r\n }\r\n\r\n if (hashParams.tilePAN) {\r\n pan = hashParams.tilePAN;\r\n }\r\n\r\n if (hashParams.tileTUE) {\r\n tue = hashParams.tileTUE;\r\n }\r\n setVisibleTiles({\r\n tileUeberweisung: ueb,\r\n tileOnlinebuchung: obu,\r\n tilePraxisanmeldung: pan,\r\n tileTerminueberpruefung: tue,\r\n fromOnlinebuchung: false,\r\n });\r\n getProperties();\r\n\r\n return () => {\r\n if (bc) {\r\n bc.removeListeners(document.getElementById('MainSplashscreen'));\r\n }\r\n };\r\n }, []);\r\n\r\n const handleUrlTextAfterScan = async (scannedText: string) => {\r\n let urlToCall = '';\r\n\r\n let fromOBU = false;\r\n let fromUEB = false;\r\n let fromTUE = false;\r\n if (scannedText) {\r\n if (scanInputRefOBU.current && scanInputRefOBU.current.value.length > 0) {\r\n fromOBU = true;\r\n } else if (scanInputRefUEB.current && scanInputRefUEB.current.value.length > 0) {\r\n fromUEB = true;\r\n } else if (scanInputRefTUE.current && scanInputRefTUE.current.value.length > 0) {\r\n fromTUE = true;\r\n }\r\n\r\n // scannedText = scanInputRef.current?.value;\r\n const urlStart = scannedText.indexOf('https://');\r\n urlToCall = scannedText.substring(urlStart);\r\n\r\n const hashParamsResponse: any = getQueryParams(urlToCall);\r\n\r\n if (fromTUE) {\r\n const response = await checkAppointment(\r\n hashParamsResponse.userId,\r\n hashParamsResponse.otp,\r\n hashParamsResponse.t0,\r\n hashParamsResponse.reason,\r\n );\r\n\r\n if (response && response.state == 'error') {\r\n showAlertMessage({\r\n alertTitle: response.error.alertTitle,\r\n alertTxt: response.error.alertTxt,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.reload,\r\n alertdispatch: alertdispatch,\r\n doBig: true,\r\n });\r\n } else if (response && response.state == 'info') {\r\n showAlertMessage({\r\n alertTitle: response.info.alertTitle,\r\n alertTxt: response.info.alertTxt,\r\n alertType: AlertType.info,\r\n onHide: AlertOnHide.onlyClose,\r\n alertdispatch: alertdispatch,\r\n doBig: true,\r\n });\r\n setVisibleTiles({\r\n ...visibleTiles,\r\n tilePraxisanmeldung: true,\r\n tileTerminueberpruefung: false,\r\n fromOnlinebuchung: true,\r\n });\r\n setCheckedAppointmentData({\r\n ...checkedAppointmentData,\r\n userId: hashParamsResponse.userId,\r\n t0: hashParamsResponse.t0,\r\n otp: hashParamsResponse.otp,\r\n reason: hashParamsResponse.reason,\r\n });\r\n /*\r\n window.setTimeout(function () {\r\n cancelClick();\r\n }, 60000);\r\n */\r\n }\r\n\r\n return;\r\n }\r\n\r\n if (hashParamsResponse.appId) {\r\n const newOTPData = await getOTPFromAppID(hashParamsResponse.appId, hashParamsResponse.secret);\r\n checkindispatch({\r\n type: 'SETCHECKINDATA',\r\n urlToCallResponse: {},\r\n key: hashParamsResponse.key,\r\n reason: 'ANY', // TODO: Irgendwann mal muessen wir das Ding los werden\r\n requesttype: newOTPData.type,\r\n wpName: hashParams.wpName,\r\n userId: newOTPData.userId,\r\n t0: newOTPData.t0,\r\n otp: newOTPData.otp,\r\n });\r\n\r\n navigate(\r\n Paths.QUESTIONNAIRE_WL +\r\n '?reason=ANY' +\r\n '&type=' +\r\n newOTPData.type +\r\n '&wpName=' +\r\n hashParams.wpName,\r\n );\r\n setShowLoadingSpinner(false);\r\n } else {\r\n checkindispatch({\r\n type: 'SETCHECKINDATA',\r\n urlToCallResponse: {},\r\n key: hashParamsResponse.key,\r\n reason: hashParamsResponse.reason,\r\n requesttype: hashParamsResponse.type,\r\n wpName: hashParams.wpName,\r\n userId: hashParamsResponse.userId,\r\n t0: hashParamsResponse.t0,\r\n otp: hashParamsResponse.otp,\r\n });\r\n\r\n navigate(\r\n Paths.QUESTIONNAIRE_WL +\r\n '?reason=' +\r\n hashParamsResponse.reason +\r\n '&type=' +\r\n hashParamsResponse.type +\r\n '&wpName=' +\r\n hashParams.wpName,\r\n );\r\n setShowLoadingSpinner(false);\r\n }\r\n }\r\n };\r\n\r\n const barcodeScannerCallback: BarcodeScanCallback = async (txt) => {\r\n console.log(txt);\r\n if (txt.indexOf('https://') >= 0) {\r\n handleUrlTextAfterScan(txt);\r\n } else {\r\n if (txt.startsWith('06\\t')) {\r\n const response = await interpreteKVParams(txt, hashParams.reason);\r\n if (response && response.url) {\r\n // let urlToOpen = response.url;\r\n // /* only for testing */\r\n // urlToOpen =\r\n // 'https://localhost:3000/#/NeuesProfilWL?type=NewAccount&key=https://demo.siegele-software.com&reason=ANMELDKARD&isMobile=false';\r\n // window.open(urlToOpen, '_self');\r\n const hashParamsResponse: INeuerAccountWL = getQueryParams(response.url);\r\n checkindispatch({\r\n type: 'SETCHECKINDATA',\r\n urlToCallResponse: response,\r\n key: hashParamsResponse.key,\r\n reason: hashParamsResponse.reason,\r\n requesttype: hashParamsResponse.type,\r\n wpName: hashParams.wpName,\r\n });\r\n\r\n navigate(\r\n Paths.NEUER_ACCOUNT_WL +\r\n '?reason=' +\r\n hashParamsResponse.reason +\r\n '&type=' +\r\n hashParamsResponse.type,\r\n );\r\n setShowLoadingSpinner(false);\r\n }\r\n }\r\n }\r\n };\r\n\r\n const getProperties = async () => {\r\n const propRes = await getAppProperties();\r\n setBrandingBytes(propRes.brandingBytes);\r\n };\r\n\r\n const lottieSpinnerOptions = {\r\n loop: true,\r\n autoplay: true,\r\n animationData: loadingSplashWait,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n };\r\n\r\n const LottieSplashWait = () => {\r\n return ;\r\n };\r\n\r\n const onHideAlertModal = () => {\r\n setShowLoadingSpinner(false);\r\n onclickMainsplacscreen();\r\n };\r\n\r\n const getURLToCallWorkflow = async () => {\r\n if (hashParams.wpName) {\r\n const response: IURLToCallResponse = await getURLToCall(\r\n hashParams.wpName,\r\n hashParams.reason,\r\n checkedAppointmentData.userId,\r\n checkedAppointmentData.t0,\r\n checkedAppointmentData.otp,\r\n );\r\n if (response && response.state === 'active') {\r\n // let urlToOpen = response.url;\r\n // /* only for testing */\r\n // urlToOpen =\r\n // 'https://localhost:3000/#/NeuesProfilWL?type=NewAccount&key=https://demo.siegele-software.com&reason=ANMELDKARD&isMobile=false';\r\n // window.open(urlToOpen, '_self');\r\n const hashParamsResponse: INeuerAccountWL = getQueryParams(response.url);\r\n checkindispatch({\r\n type: 'SETCHECKINDATA',\r\n urlToCallResponse: response,\r\n key: hashParamsResponse.key,\r\n reason: hashParamsResponse.reason,\r\n requesttype: hashParamsResponse.type,\r\n wpName: hashParams.wpName,\r\n });\r\n\r\n navigate(\r\n Paths.NEUER_ACCOUNT_WL +\r\n '?reason=' +\r\n hashParamsResponse.reason +\r\n '&type=' +\r\n hashParamsResponse.type,\r\n );\r\n setShowLoadingSpinner(false);\r\n } else if (response && response.state == 'error') {\r\n if (response.error.alertTitle == 'Karte nicht gesteckt' || response.error.stayInWorkflow) {\r\n showAlertMessage({\r\n alertTitle: response.error.alertTitle,\r\n alertTxt: response.error.alertTxt,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.custom,\r\n onHideCustom: onHideAlertModal,\r\n alertdispatch: alertdispatch,\r\n doBig: true,\r\n });\r\n } else {\r\n showAlertMessage({\r\n alertTitle: response.error.alertTitle,\r\n alertTxt: response.error.alertTxt,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.reload,\r\n alertdispatch: alertdispatch,\r\n doBig: true,\r\n });\r\n }\r\n } else if (response && response.state == 'info') {\r\n showAlertMessage({\r\n alertTitle: response.info.alertTitle,\r\n alertTxt: response.info.alertTxt,\r\n alertType: AlertType.info,\r\n onHide: AlertOnHide.reload,\r\n alertdispatch: alertdispatch,\r\n doBig: true,\r\n });\r\n }\r\n }\r\n };\r\n\r\n const handleClickWithCard = () => {\r\n setShowLoadingSpinner(true);\r\n getURLToCallWorkflow();\r\n };\r\n\r\n const getArrowImageWidth = () => {\r\n if (screenSize.width > 1600) {\r\n return '50%';\r\n } else if (screenSize.width > 1000) {\r\n return '70%';\r\n } else {\r\n return '80%';\r\n }\r\n };\r\n\r\n const UeberweisungTile = () => {\r\n if (visibleTiles.tileUeberweisung) {\r\n return (\r\n \r\n \r\n

Überweisung

\r\n

Daten übertragen

\r\n {htmlBeforeOrAfter('UEBBEFORE', apstate.tileTexts.UEBBEFORE)}\r\n 1000 ? '50%' : '70%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n backgroundColor: 'white',\r\n borderRadius: '100px',\r\n paddingLeft: '20px',\r\n paddingRight: '20px',\r\n boxShadow: themeContext.button.boxShadow,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n 1300 ? '1.5rem' : '1rem',\r\n }}\r\n type=\"text\"\r\n placeholder=\"Code scannen\"\r\n />\r\n \r\n \r\n
{' '}\r\n \r\n {htmlBeforeOrAfter('UEBAFTER', apstate.tileTexts.UEBAFTER)}\r\n
\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const OnlinebuchungTile = () => {\r\n if (visibleTiles.tileOnlinebuchung) {\r\n return (\r\n \r\n \r\n

Onlinebuchung

\r\n

Buchungsdatei einsehen / vervollständigen

\r\n {htmlBeforeOrAfter('OBUBEFORE', apstate.tileTexts.OBUBEFORE)}\r\n 1000 ? '50%' : '70%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n backgroundColor: 'white',\r\n borderRadius: '100px',\r\n paddingLeft: '20px',\r\n paddingRight: '20px',\r\n boxShadow: themeContext.button.boxShadow,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n 1300 ? '1.5rem' : '1rem',\r\n }}\r\n type=\"text\"\r\n placeholder=\"Code scannen\"\r\n />\r\n \r\n \r\n
{' '}\r\n \r\n {htmlBeforeOrAfter('OBUAFTER', apstate.tileTexts.OBUAFTER)}\r\n
\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const cancelClick = () => {\r\n window.location.reload();\r\n };\r\n\r\n const PraxisanmeldungTile = () => {\r\n if (visibleTiles.tilePraxisanmeldung) {\r\n return (\r\n \r\n \r\n

Praxisanmeldung

\r\n

Gesundheitskarte einlesen

\r\n {htmlBeforeOrAfter('PANBEFORE', apstate.tileTexts.PANBEFORE)}\r\n 1000 ? '50%' : '70%'}\r\n textSize={screenSize.width > 1300 ? '1.5rem' : '1rem'}\r\n disabled={showLoadingSpinner}\r\n onClick={handleClickWithCard}\r\n >\r\n {htmlBeforeOrAfter('PANAFTER', apstate.tileTexts.PANAFTER)}\r\n {visibleTiles.fromOnlinebuchung && (\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n Startbildschirm\r\n \r\n )}\r\n
\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const htmlBeforeOrAfter = (id: string, html: string) => {\r\n if (html) {\r\n return
;\r\n }\r\n return null;\r\n };\r\n const TerminueberpruefenTile = () => {\r\n if (visibleTiles.tileTerminueberpruefung) {\r\n return (\r\n \r\n \r\n

Termin überprüfen

\r\n

QR Code überprüfen

\r\n {htmlBeforeOrAfter('TUEBEFORE', apstate.tileTexts.TUEBEFORE)}\r\n 1000 ? '50%' : '70%',\r\n marginLeft: 'auto',\r\n marginRight: 'auto',\r\n backgroundColor: 'white',\r\n borderRadius: '100px',\r\n paddingLeft: '20px',\r\n paddingRight: '20px',\r\n boxShadow: themeContext.button.boxShadow,\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n
\r\n \r\n 1300 ? '1.5rem' : '1rem',\r\n }}\r\n type=\"text\"\r\n placeholder=\"Code scannen\"\r\n />\r\n \r\n \r\n
{' '}\r\n \r\n {htmlBeforeOrAfter('TUEAFTER', apstate.tileTexts.TUEAFTER)}\r\n
\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const useV2 = true;\r\n\r\n const onclickMainsplacscreen = () => {\r\n const mainWindow = document.getElementById('MainSplashscreen');\r\n if (mainWindow) {\r\n const firstInp = mainWindow.querySelector('input');\r\n if (firstInp) {\r\n window.setTimeout(function () {\r\n firstInp.focus();\r\n }, 0);\r\n } else {\r\n const firstButton = mainWindow.querySelector('button');\r\n if (firstButton) {\r\n window.setTimeout(function () {\r\n firstButton.focus();\r\n }, 0);\r\n }\r\n }\r\n }\r\n };\r\n const getContent = () => {\r\n if (useV2) {\r\n return (\r\n <>\r\n \r\n
\r\n \r\n
\r\n \r\n

Willkommen

\r\n

beim Self Check-in

{' '}\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n {showLoadingSpinner ? : null}\r\n \r\n );\r\n } else {\r\n return null;\r\n // return (\r\n // <>\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // {/* {showLoadingSpinner ? : null} */}\r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // \r\n // 1000 ? '50%' : '70%',\r\n // marginLeft: 'auto',\r\n // marginRight: 'auto',\r\n // backgroundColor: 'white',\r\n // borderRadius: '100px',\r\n // paddingLeft: '20px',\r\n // paddingRight: '20px',\r\n // boxShadow: themeContext.button.boxShadow,\r\n // }}\r\n // >\r\n // \r\n // \r\n // \r\n // \r\n //
\r\n // \r\n // 1300 ? '1.5rem' : '1rem',\r\n // }}\r\n // type=\"text\"\r\n // placeholder=\"Code scannen\"\r\n // />\r\n // \r\n // \r\n //
\r\n // \r\n // \r\n // \r\n // 1000 ? '50%' : '70%'}\r\n // textSize={screenSize.width > 1300 ? '1.5rem' : '1rem'}\r\n // disabled={showLoadingSpinner}\r\n // onClick={handleClickWithCard}\r\n // >\r\n // \r\n //
\r\n //
\r\n // \r\n // {showLoadingSpinner ? : null}\r\n // \r\n // );\r\n }\r\n };\r\n\r\n return getContent();\r\n};\r\n\r\nexport default CheckInSplashscreen;\r\n","import { useEffect, useState } from 'react';\r\nimport Lottie from 'react-lottie';\r\nimport { useNavigate, useNavigationType } from 'react-router-dom';\r\nimport { CenterDiv, VerticalCenterDiv } from '../../components/Div/StyledDiv';\r\nimport { IURLToCallResponse } from '../../container/Splashscreen/CheckInSplashscreen';\r\nimport loadingSplashWait from '../../lotties/splashscreenWait.json';\r\nimport { Paths } from '../../Routes';\r\nimport { getURLToCall } from '../../services/RestServices';\r\nconst CheckInSplashscreenWaiting = () => {\r\n const navigate = useNavigate();\r\n const navtype = useNavigationType();\r\n const [intervalTimer, setIntervalTimer] = useState();\r\n\r\n useEffect(() => {\r\n startListening();\r\n\r\n return () => {\r\n clearInterval(intervalTimer);\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n /* avoid browser back button click */\r\n return () => {\r\n if (navtype === 'POP') {\r\n navigate(Paths.SPLASHSCREEN_CHECKIN);\r\n }\r\n };\r\n }, [history]);\r\n\r\n const lottieSpinnerOptions = {\r\n loop: true,\r\n autoplay: true,\r\n animationData: loadingSplashWait,\r\n rendererSettings: {\r\n preserveAspectRatio: 'xMidYMid slice',\r\n },\r\n };\r\n\r\n const LottieSplashWait = () => {\r\n return ;\r\n };\r\n\r\n const LoadingSpinner = () => {\r\n return (\r\n \r\n \r\n

CheckIn Terminal

\r\n \r\n

Bitte stecken Sie Ihre Karte

\r\n
\r\n
\r\n );\r\n };\r\n\r\n const startListening = () => {\r\n const timer = setInterval(() => listeningWorkflow(), 1000);\r\n setIntervalTimer(timer);\r\n };\r\n\r\n const listeningWorkflow = async () => {\r\n // console.log('do something...');\r\n const wpName = 'HSRUW';\r\n const response: IURLToCallResponse = await getURLToCall(wpName);\r\n if (response && response.state === 'active') {\r\n window.open(response.url, '_self');\r\n }\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CheckInSplashscreenWaiting;\r\n","import { useEffect } from 'react';\r\nimport { useNavigate, useNavigationType } from 'react-router-dom';\r\nimport { CenterDiv, VerticalCenterDiv } from '../../components/Div/StyledDiv';\r\nimport { Paths } from '../../Routes';\r\n\r\nconst LoggedOutSplashscreen = () => {\r\n const navigation = useNavigate();\r\n const navtype = useNavigationType();\r\n /* avoid browser back button click */\r\n useEffect(() => {\r\n return () => {\r\n if (navtype === 'POP') {\r\n navigation(Paths.SPLASHSCREEN_LOGGEDOUT);\r\n }\r\n };\r\n }, [history]);\r\n\r\n return (\r\n
\r\n \r\n \r\n

Sie wurden abgemeldet

\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoggedOutSplashscreen;\r\n","import { useEffect, useState } from 'react';\r\nimport { useChart } from '../../../hooks/useChart';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport {\r\n getTableDataFromDiagnosticReportResponse,\r\n getTableHeight,\r\n IGetTableData,\r\n tables,\r\n} from '../../../utils/chartUtils';\r\nimport { CenterDiv } from '../../Div/StyledDiv';\r\nimport LoadingSpinnerWithText from '../../Loading/LoadingSpinnerWithText';\r\nimport TableProvider, { initalTableData } from '../../TableProvider/TableProvider';\r\n\r\ninterface ITableProps {\r\n tableTitle: string;\r\n handleSetTableTitle(title: string): void;\r\n}\r\n\r\nconst VALTable = (props: ITableProps) => {\r\n const { getTableData } = useChart({ chartId: tables.VALTBL.requestId });\r\n const [chartData, setChartData] = useState({\r\n ...initalTableData,\r\n });\r\n const [dataLoaded, setDataLoaded] = useState(false);\r\n const screenSize = useScreenResolution();\r\n\r\n useEffect(() => {\r\n const getData = async () => {\r\n const response = await getTableData();\r\n setDataLoaded(true);\r\n const [tableTitle, tableData] = getTableDataFromDiagnosticReportResponse(response);\r\n setChartData({\r\n tableTitle: tableTitle,\r\n tableData: tableData,\r\n });\r\n props.handleSetTableTitle(tableTitle);\r\n };\r\n\r\n getData();\r\n }, []);\r\n\r\n const showTable = () => {\r\n if (chartData.tableTitle && chartData.tableTitle.length > 0) {\r\n return ;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n // return <>{showTable()};\r\n return (\r\n <>\r\n {!dataLoaded ? (\r\n \r\n \r\n \r\n ) : (\r\n <>{showTable()}\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default VALTable;\r\n","import { useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Row from 'react-bootstrap/Row';\r\nimport { containerHeader } from '../../../components/Header/Header';\r\nimport VALTable from '../../../components/Tables/VAL/VALTable';\r\nimport { tables } from '../../../utils/chartUtils';\r\nimport Mainscreen from '../../Mainscreen/Mainscreen';\r\n\r\nconst TableVAL = () => {\r\n const [tableTitle, setTableTitle] = useState(tables.VALTBL.name);\r\n\r\n const handleSetTableTitle = (title: string) => {\r\n setTableTitle(title);\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n {containerHeader(tableTitle)}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default TableVAL;\r\n","import { lazy, Suspense, useContext } from 'react';\r\nimport { Route, Routes, useNavigate } from 'react-router-dom';\r\nimport AppCharts from './components/Charts/AppCharts/AppCharts';\r\nimport IFrame from './components/IFrame/IFrame';\r\nimport IFrameFragebogen from './components/IFrame/IFrameFragebogen';\r\nimport { LoadingSpinner, LoadingSpinnerInMainscreen } from './components/Loading/Loading';\r\nimport Charts from './container/Charts/Charts';\r\nimport ChartsActivity from './container/Charts/ChartsActivity/ChartsActivity';\r\nimport ChartsBlutzucker from './container/Charts/ChartsBlutzucker/ChartsBlutzucker';\r\nimport ChartsFettmasse from './container/Charts/ChartsFettmasse/ChartsFettmasse';\r\nimport ChartsFLI from './container/Charts/ChartsFLI/ChartsFLI';\r\nimport ChartsGewicht from './container/Charts/ChartsGewicht/ChartsGewicht';\r\nimport ChartsSAM from './container/Charts/ChartsSAM/ChartsSAM';\r\nimport Error from './container/Error/Error';\r\nimport ExecuteRule from './container/ExecuteRule/ExecuteRule';\r\nimport Home from './container/Home/Home';\r\nimport NeuerAccountPhysLogin from './container/NeuerAccount/NeuerAccountPhysLogin';\r\nimport CheckInSplashscreen from './container/Splashscreen/CheckInSplashscreen';\r\nimport CheckInSplashscreenMultifragebogenWaiting from './container/Splashscreen/CheckInSplashscreenMultifragebogenWaiting';\r\nimport CheckInSplashscreenWaiting from './container/Splashscreen/CheckInSplashscreenWaiting';\r\nimport LoggedOutSplashscreen from './container/Splashscreen/LoggedOutSplashscreen';\r\nimport TableVAL from './container/Tables/TableVAL/TableVAL';\r\nimport LoginContext from './context/loginContext';\r\n\r\nconst AppInfo = lazy(() => import('./container/AppInfo/AppInfo'));\r\n\r\nconst Dashboard = lazy(() => import('./container/Dashboard/Dashboard'));\r\nconst Termine = lazy(() => import('./container/Termine/Termine'));\r\nconst PatientList = lazy(() => import('./container/PatientList/PatientList'));\r\nconst Dokumente = lazy(() => import('./container/Dokumente/Dokumente'));\r\nconst Login = lazy(() => import('./container/Login/Login'));\r\n\r\nconst Fotos = lazy(() => import('./container/Fotos/Fotos'));\r\nconst Medikation = lazy(() => import('./container/Medikation/Medikation'));\r\nconst Tagesplan = lazy(() => import('./container/Tagesplan/Tagesplan'));\r\nconst Journey = lazy(() => import('./container/Journey/Journey'));\r\nconst Fragebogen = lazy(() => import('./container/Fragebogen/Fragebogen'));\r\nconst FragebogenDetail = lazy(() => import('./container/Fragebogen/FragebogenDetail'));\r\nconst Profil = lazy(() => import('./container/Profil/Profil'));\r\n\r\nconst Videochat = lazy(() => import('./container/Videochat/Videochat'));\r\nconst VideochatWL = lazy(() => import('./container/Videochat/VideochatWL'));\r\nconst Terminierung = lazy(() => import('./container/Terminierung/Terminierung'));\r\nconst TerminierungAlternateDate = lazy(() => import('./container/Terminierung/TerminierungAlternateDate'));\r\nconst Terminkategorie = lazy(() => import('./container/Terminkategorie/Terminkategorie'));\r\nconst Termincode = lazy(() => import('./container/Termincode/Termincode'));\r\nconst Warteraum = lazy(() => import('./container/Warteraum/Warteraum'));\r\nconst PersonalInformation = lazy(() => import('./components/User/PersonalInformation'));\r\nconst ProfileSafety = lazy(() => import('./components/User/ProfileSafety'));\r\nconst ProfileLegalTerms = lazy(() => import('./components/User/LegalTerms'));\r\nconst TwoFactorAuthentication = lazy(() => import('./components/TwoFactorAuthentication/TwoFactorAuthentication'));\r\nconst NeuerAccount = lazy(() => import('./container/NeuerAccount/NeuerAccount'));\r\nconst NeuerAccountWL = lazy(() => import('./container/NeuerAccount/NeuerAccountWL'));\r\nconst QRCode4App = lazy(() => import('./components/User/HandyAppQRCode'));\r\nconst ResetPassword = lazy(() => import('./components/User/ResetPassword'));\r\nconst Mails = lazy(() => import('./container/Mails/Mails'));\r\nconst QuestionnaireWL = lazy(() => import('./container/Fragebogen/QuestionnaireWL'));\r\nconst TerminierungWL = lazy(() => import('./container/Terminierung/TerminierungWL'));\r\nconst Todo = lazy(() => import('./container/Todo/Todo'));\r\nconst CheckInWL = lazy(() => import('./container/CheckIn/CheckInWL'));\r\n\r\ninterface IPaths {\r\n readonly HOME: string;\r\n readonly LOGIN: string;\r\n readonly APPINFO: string;\r\n readonly DASHBOARD: string;\r\n readonly TERMINE: string;\r\n readonly PATLIST: string;\r\n readonly DOKUMENTE: string;\r\n readonly FOTOS: string;\r\n readonly MEDIKATION: string;\r\n readonly TAGESPLAN: string;\r\n readonly JOURNEY: string;\r\n readonly FRAGEBOGEN: string;\r\n readonly FRAGEBOGEN_DETAIL: string;\r\n readonly QUESTIONNAIRE_WL: string;\r\n readonly IFRAME: string;\r\n readonly FRAGEBOGEN_IFRAME: string;\r\n readonly VIDEOCHAT: string;\r\n readonly VIDEOCHAT_WL: string;\r\n readonly TERMINIERUNG: string;\r\n readonly TERMINIERUNG_ALTERNATE_DATE: string;\r\n readonly TERMINIERUNG_WL: string;\r\n readonly PROFIL: string;\r\n readonly PROFIL_INFO: string;\r\n readonly PROFIL_SICHERHEIT: string;\r\n readonly PROFIL_LEGALTERMS: string;\r\n readonly ZWEI_FAKTOR_AUTHENTIFIZIERUNG: string;\r\n readonly TERMINKATEGORIE: string;\r\n readonly TERMINCODE: string;\r\n readonly TERMIN_DETAIL: string;\r\n readonly WARTERAUM: string;\r\n readonly NEUER_ACCOUNT: string;\r\n readonly NEUER_ACCOUNT_WL: string;\r\n readonly NEUER_ACCOUNT_PHYSLOGIN: string;\r\n readonly AENDERN_ACCOUNT: string;\r\n readonly QRCODE4APP: string;\r\n readonly RESET_PASSWORD: string;\r\n readonly MAILS: string;\r\n readonly CHARTS: string;\r\n readonly CHARTS_GEWICHT: string;\r\n readonly CHARTS_FETTMASSE: string;\r\n readonly CHARTS_BLUTZUCKER: string;\r\n readonly CHARTS_FLI: string;\r\n readonly CHARTS_SAM: string;\r\n readonly CHARTS_ACTIVITY: string;\r\n readonly APP_CHARTS: string;\r\n readonly TABLE_VAL: string;\r\n readonly EXECUTE_RULE: string;\r\n readonly TODO: string;\r\n readonly CHECKIN_WL: string;\r\n readonly SPLASHSCREEN_CHECKIN: string;\r\n readonly SPLASHSCREEN_CHECKIN_WAITING: string;\r\n readonly SPLASHSCREEN_MULTIFRAGEBOGEN_WAITING: string;\r\n readonly SPLASHSCREEN_LOGGEDOUT: string;\r\n}\r\n\r\nexport const Paths: IPaths = {\r\n HOME: '/',\r\n LOGIN: '/Login',\r\n APPINFO: '/AppInfo',\r\n DASHBOARD: '/Dashboard',\r\n TERMINE: '/Termine',\r\n PATLIST: '/PatList',\r\n DOKUMENTE: '/Dokumente',\r\n FOTOS: '/Fotos',\r\n MEDIKATION: '/Medikation',\r\n TAGESPLAN: '/Tagesplan',\r\n JOURNEY: '/Journey',\r\n FRAGEBOGEN: '/Fragebogen',\r\n FRAGEBOGEN_DETAIL: '/FragebogenDetail',\r\n QUESTIONNAIRE_WL: '/QuestionnaireWL',\r\n IFRAME: '/IFrame',\r\n FRAGEBOGEN_IFRAME: '/FragebogenInfo',\r\n VIDEOCHAT: '/Videochat',\r\n VIDEOCHAT_WL: '/VideochatWL',\r\n TERMINIERUNG: '/Terminierung',\r\n TERMINIERUNG_ALTERNATE_DATE: '/TerminierungAlternateDate',\r\n TERMINIERUNG_WL: '/TerminierungWL',\r\n PROFIL: '/Profil',\r\n PROFIL_INFO: '/ProfilInfo',\r\n PROFIL_SICHERHEIT: '/ProfilSicherheit',\r\n PROFIL_LEGALTERMS: '/ProfilBestimmungen',\r\n ZWEI_FAKTOR_AUTHENTIFIZIERUNG: '/2FA',\r\n TERMINKATEGORIE: '/Terminkategorie',\r\n TERMINCODE: '/Termincode',\r\n TERMIN_DETAIL: 'TerminDetails',\r\n WARTERAUM: '/Warteraum',\r\n NEUER_ACCOUNT: '/NeuesProfil',\r\n NEUER_ACCOUNT_WL: '/NeuesProfilWL',\r\n NEUER_ACCOUNT_PHYSLOGIN: '/NeuesProfilPhysLogin',\r\n AENDERN_ACCOUNT: '/ProfilAendern',\r\n QRCODE4APP: '/AppCode',\r\n RESET_PASSWORD: '/PasswortZuruecksetzen',\r\n MAILS: '/Mails',\r\n CHARTS: '/Charts',\r\n CHARTS_GEWICHT: '/ChartsGewicht',\r\n CHARTS_FETTMASSE: '/ChartsFettmasse',\r\n CHARTS_BLUTZUCKER: '/ChartsBlutzucker',\r\n CHARTS_FLI: '/ChartsFLI',\r\n CHARTS_SAM: '/ChartsSAM',\r\n CHARTS_ACTIVITY: '/ChartsActivity',\r\n APP_CHARTS: '/AppCharts',\r\n TABLE_VAL: '/TableVal',\r\n EXECUTE_RULE: '/ExecuteRule',\r\n TODO: '/Todo',\r\n CHECKIN_WL: '/CheckInWL',\r\n SPLASHSCREEN_CHECKIN: '/CheckInSplashscreen',\r\n SPLASHSCREEN_CHECKIN_WAITING: '/CheckInSplashscreenWaiting',\r\n SPLASHSCREEN_MULTIFRAGEBOGEN_WAITING: '/MultifragebogenSplashscreenWaiting',\r\n SPLASHSCREEN_LOGGEDOUT: '/LoggedOutSplashscreen',\r\n};\r\n\r\nconst PublicRoute = ({ children }) => {\r\n return }>{children};\r\n};\r\n\r\nconst PrivateRoute = ({ children }) => {\r\n const { state } = useContext(LoginContext);\r\n const navigate = useNavigate();\r\n // const { handleLogout } = useHandleLogout();\r\n\r\n if (state.sessionId !== '' && state.userId !== '') {\r\n return }>{children};\r\n } else {\r\n // history.push('/');\r\n navigate(Paths.HOME);\r\n return (\r\n }>\r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nfunction AppRoutes() {\r\n return (\r\n \r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n \r\n }\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const IFrameInternal = (props: IIFrame) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\nexport default IFrame;\r\n","export const setRuleProperties = (hashParams: any, executeruledispatch: any) => {\r\n if (hashParams && hashParams.type === 'ExecuteRule' && hashParams.ruleName) {\r\n executeruledispatch({\r\n type: 'SETRULEPROPERTIES',\r\n ruleName: hashParams.ruleName ? hashParams.ruleName : '',\r\n ruleParam: hashParams.ruleParam ? hashParams.ruleParam : '',\r\n persInfo: hashParams.persInfo ? hashParams.persInfo : '',\r\n });\r\n }\r\n};\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { Badge } from 'react-bootstrap';\r\nimport Dropdown from 'react-bootstrap/Dropdown';\r\nimport { TbWorld } from 'react-icons/tb';\r\nimport { JsxElement } from 'typescript';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport LoginContext, { ILanguage } from '../../context/loginContext';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport StyledButton from '../Buttons/StyledButton';\r\n\r\nconst LanguageSwitch = () => {\r\n const [allLanguages, setAllLanguages] = useState([]);\r\n\r\n const { state } = useContext(LoginContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const { setActiveLanguage, getAvailableLanguages } = useLanguage();\r\n\r\n useEffect(() => {\r\n getDropdownItems();\r\n }, [state.activeLanguage, apstate.availableLanguages]);\r\n\r\n const handleLanguageSwitch = async (e: any, language: ILanguage) => {\r\n if (e && e.currentTarget) {\r\n e.preventDefault();\r\n e.currentTarget.blur();\r\n }\r\n setActiveLanguage(language);\r\n };\r\n\r\n const getDropdownItems = () => {\r\n const allItems: any[] = [];\r\n const availableLanguages = getAvailableLanguages();\r\n\r\n if (Array.isArray(availableLanguages) && availableLanguages.length) {\r\n availableLanguages.forEach((language: ILanguage) => {\r\n allItems.push(\r\n handleLanguageSwitch(e, language)}>\r\n {language.name}\r\n ,\r\n );\r\n });\r\n }\r\n\r\n setAllLanguages(allItems);\r\n };\r\n\r\n return (\r\n 1 ? 'visible' : 'hidden' }}>\r\n \r\n \r\n \r\n \r\n {state.activeLanguage.language.id}\r\n \r\n {allLanguages}\r\n \r\n );\r\n};\r\n\r\nexport default LanguageSwitch;\r\n","export const findLongestWord = (str: string) => {\r\n const strSplit = str.split(' ');\r\n let longestWord = 0;\r\n for (let i = 0; i < strSplit.length; i++) {\r\n if (strSplit[i].length > longestWord) {\r\n longestWord = strSplit[i].length;\r\n }\r\n }\r\n return longestWord;\r\n};\r\n\r\nexport const simulateClick = (element: HTMLElement | null) => {\r\n if (element) {\r\n const mouseClickEvents = ['mousedown', 'click', 'mouseup'];\r\n mouseClickEvents.forEach((mouseEventType) =>\r\n element.dispatchEvent(\r\n new MouseEvent(mouseEventType, {\r\n view: window,\r\n bubbles: true,\r\n cancelable: true,\r\n buttons: 1,\r\n }),\r\n ),\r\n );\r\n element.focus();\r\n }\r\n};\r\n","import * as React from 'react';\r\nimport { useEffect, useRef, useState } from 'react';\r\nimport { Col, Container, Row } from 'react-bootstrap';\r\nimport SigPad from 'react-signature-canvas';\r\nimport { ISigData } from '../../context/sigpadContext';\r\nimport StyledButton from '../Buttons/StyledButton';\r\n\r\n/* ### Usage for for Mouse Signature without device ###\r\n\r\n use either onSave OR onWriteEnd\r\n\r\n const onSignaturePadSave = (sigData) => {\r\n setSignatureData(sigData);\r\n };\r\n\r\n const onSignaturePadWriteEnd = (sigData) => {\r\n setSignatureData(sigData);\r\n };\r\n\r\n \r\n \r\n */\r\n\r\ninterface ISignaturePad {\r\n onSave?: (sigData: ISigData) => void; // callback when click on buttonSave\r\n onWriteEnd?: (sigData: ISigData) => void; // callback when end of write\r\n onCancel?: () => void; // callback when click on buttonCancel\r\n onSign?: () => void; // callback when click on buttonSign\r\n onClickClear?: () => void; // clear signature pad done\r\n clickClear?: boolean; // clear signature pad\r\n clickSign?: boolean; // sign signature pad\r\n embedded?: boolean; // embedded mode\r\n width?: number; // override width\r\n height?: number; // override height\r\n offsetTop?: number; // Abstand von oben\r\n offsetLeft?: number; // Abstand von links\r\n margin?: string;\r\n}\r\n\r\nconst SignaturePad = (props: ISignaturePad) => {\r\n const signatureRef = useRef(null);\r\n const [divWidth, setDivWidth] = useState(700);\r\n const [divHeight, setDivHeight] = useState(300);\r\n const [offsetTop, setOffsetTop] = useState(0);\r\n const [offsetLeft, setOffsetLeft] = useState(0);\r\n const [signaturePadWidth, setSignaturePadWidth] = useState(690);\r\n const [signaturePadHeight, setSignaturePadHeight] = useState(240);\r\n\r\n useEffect(() => {\r\n /* clickClear clicked */\r\n if (props.clickClear) {\r\n onSignaturePadClear();\r\n }\r\n\r\n /* clickSign clicked */\r\n if (props.clickSign) {\r\n if (props.onSign) {\r\n props.onSign();\r\n }\r\n }\r\n\r\n /* explicity set width and height override all other sizes */\r\n if (props.width && props.width > 0) {\r\n setDivWidth(props.width);\r\n setSignaturePadWidth(props.width - 10);\r\n }\r\n if (props.height && props.height > 0) {\r\n setDivHeight(props.height);\r\n setSignaturePadHeight(props.height - 60);\r\n }\r\n if (props.offsetTop && props.offsetTop > 0) {\r\n setOffsetTop(props.offsetTop);\r\n }\r\n if (props.offsetLeft && props.offsetLeft > 0) {\r\n setOffsetLeft(props.offsetLeft);\r\n }\r\n }, [props.width, props.height, props.offsetTop, props.offsetLeft, props.clickClear, props.clickSign]);\r\n\r\n const onSignaturePadClear = (e?: React.MouseEvent) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n if (signatureRef) {\r\n signatureRef?.current.clear();\r\n }\r\n\r\n if (props.onClickClear) {\r\n props.onClickClear();\r\n }\r\n };\r\n\r\n const onSignaturePadSave = (e: React.MouseEvent) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n if (signatureRef && props.onSave) {\r\n // const sigDataPicture = signatureRef.current.getTrimmedCanvas().toDataURL('image/png');\r\n const sigDataPicture = signatureRef.current.getCanvas().toDataURL('image/png');\r\n\r\n // const sigDataPicture = signatureRef.current.toDataURL('image/svg+xml');\r\n const sigData: ISigData = {\r\n certId: '',\r\n pictureData: sigDataPicture,\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n };\r\n\r\n props.onSave(sigData);\r\n }\r\n };\r\n\r\n const onSignaturePadWriteEnd = () => {\r\n if (signatureRef && props.onWriteEnd) {\r\n // const sigDataPicture = signatureRef.current.getTrimmedCanvas().toDataURL('image/png');\r\n const sigDataPicture = signatureRef.current.getCanvas().toDataURL('image/png');\r\n\r\n // const sigDataPicture = signatureRef.current.toDataURL('image/svg+xml');\r\n const sigData: ISigData = {\r\n certId: '',\r\n pictureData: sigDataPicture,\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n };\r\n\r\n props.onWriteEnd(sigData);\r\n }\r\n };\r\n\r\n return props.embedded ? (\r\n \r\n \r\n \r\n ) : (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n onSignaturePadClear(e)}>\r\n Löschen\r\n \r\n \r\n {props.onSave !== undefined && (\r\n \r\n onSignaturePadSave(e)}>Speichern\r\n \r\n )}\r\n {props.onCancel !== undefined && (\r\n \r\n \r\n Abbrechen\r\n \r\n \r\n )}\r\n {props.onSign !== undefined && (\r\n \r\n Jetzt signieren\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignaturePad;\r\n","type IPhyscianSelectionDescriptionList = {\r\n description?: string[];\r\n firstFreeDateElement?: JSX.Element;\r\n};\r\n\r\nconst PhysicianSelectionDescriptionList = (props: IPhyscianSelectionDescriptionList) => {\r\n const descriptionList = () => {\r\n if (props.description && props.description.length > 0) {\r\n const allDescrItems: any[] = [];\r\n props.description?.forEach((e) => {\r\n // allDescrItems.push(
  • {e}
  • );\r\n allDescrItems.push(

    );\r\n });\r\n\r\n if (props.firstFreeDateElement) {\r\n allDescrItems.push(props.firstFreeDateElement);\r\n }\r\n\r\n return allDescrItems;\r\n }\r\n\r\n return null;\r\n };\r\n\r\n return <>{descriptionList()};\r\n};\r\n\r\nexport default PhysicianSelectionDescriptionList;\r\n","import { Image } from 'react-bootstrap';\r\nimport { AiOutlineUser } from 'react-icons/ai';\r\n\r\ntype IPhyscianSelectionPhoto = {\r\n showPicture?: boolean;\r\n pict?: string;\r\n};\r\n\r\nconst PhysicianSelectionPhoto = (props: IPhyscianSelectionPhoto) => {\r\n const physicianPhoto = () => {\r\n if (props.showPicture && props.pict) {\r\n return ;\r\n } else if (props.showPicture && !props.pict) {\r\n return ;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return physicianPhoto();\r\n};\r\n\r\nexport default PhysicianSelectionPhoto;\r\n","import { useCallback, useContext, useRef, useState } from 'react';\r\nimport { ButtonToolbar, Form } from 'react-bootstrap';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Container from 'react-bootstrap/esm/Container';\r\nimport Modal from 'react-bootstrap/esm/Modal';\r\nimport Nav from 'react-bootstrap/esm/Nav';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport Image from 'react-bootstrap/Image';\r\nimport { AiOutlineMinusCircle } from 'react-icons/ai';\r\nimport { MdAddAPhoto, MdPhotoLibrary } from 'react-icons/md';\r\nimport Webcam from 'react-webcam';\r\nimport { ThemeContext } from 'styled-components';\r\nimport CheckInContext from '../../../context/checkInContext';\r\nimport useScreenResolution from '../../../hooks/useScreenResolution';\r\nimport { loadPerspectiveData } from '../../../services/RestServices';\r\nimport { fullSrc, IPhoto } from '../../../utils/photoUtils';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport { StyledToggleButton, ToggleButtonGroupFlex } from '../../Buttons/ToggleButtonGroupCst';\r\nimport StyledCol from '../../Cols/StyledCol';\r\nimport MyTooltip from '../../Tooltip/MyTooltip';\r\nimport { StyledModal } from '../StyledModal/StyledModal';\r\nimport { getWebcamDim } from './WebcamModal';\r\n\r\ninterface IWebcamPreviewModal {\r\n show: boolean;\r\n onCancel: () => void;\r\n photos: IPhoto[];\r\n onSave: () => void;\r\n onRemove: (index: number) => void;\r\n addPhoto: (photo: string) => void;\r\n}\r\n\r\nconst myVars = {\r\n fmt: 'A4',\r\n};\r\n\r\nconst WebcamPreviewModal = (props: IWebcamPreviewModal) => {\r\n const themeContext = useContext(ThemeContext);\r\n const webcamRef = useRef(null);\r\n const screenSize = useScreenResolution();\r\n const webcamDim = getWebcamDim(screenSize.width);\r\n const [bodyHeight, setBodyHeight] = useState(0);\r\n const { checkinstate } = useContext(CheckInContext);\r\n // const [formatButton, setFormatButton] = useState('A4');\r\n\r\n const ref = useRef(null);\r\n\r\n const onModalEnter = () => {\r\n if (ref) {\r\n const height = ref?.current?.clientHeight;\r\n if (height) {\r\n setBodyHeight(height - 30);\r\n }\r\n }\r\n };\r\n\r\n function photoPreview(photos: IPhoto[]) {\r\n if (photos.length > 0) {\r\n const previews = photos.map((item: IPhoto, index: number) => (\r\n \r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n {\r\n props.onRemove(index);\r\n }}\r\n >\r\n }\r\n >\r\n \r\n \r\n
    \r\n ));\r\n return previews;\r\n }\r\n }\r\n\r\n const getImage = async function (video: any): Promise {\r\n // Temporary create canvas element\r\n\r\n const fmtPerspective = await loadPerspectiveData();\r\n const resKOORDS = fmtPerspective[myVars.fmt];\r\n\r\n const canvas = document.createElement('canvas');\r\n canvas.width = 2480;\r\n canvas.height = 3507;\r\n const ctx = canvas.getContext('2d');\r\n // Write video stream to canvas instance\r\n ctx?.drawImage(video, 0, 0, canvas.width, canvas.height);\r\n //const dataURI = canvas.toDataURL('image/jpeg'); // can also use 'image/png'\r\n // Access canvas data\r\n const normalSrc = canvas.toDataURL('image/jpeg', 1);\r\n if (myVars.fmt == 'A5') {\r\n console.log('want A5 transformation.');\r\n } else if (myVars.fmt == 'A6') {\r\n console.log('want A6 transformation.');\r\n } else {\r\n console.log('want A4 transformation.');\r\n }\r\n let testImg = document.getElementById('__HIDDENIMG');\r\n if (testImg) {\r\n document.body.removeChild(testImg);\r\n }\r\n const src_image = document.createElement('img');\r\n src_image.src = normalSrc;\r\n src_image.id = '__HIDDENIMG';\r\n src_image.width = 2480;\r\n src_image.height = 3507;\r\n document.body.appendChild(src_image);\r\n return new Promise(function (done, errfnc) {\r\n src_image.addEventListener('load', function () {\r\n const w_ratio = src_image.naturalWidth / canvas.width;\r\n const h_ratio = src_image.naturalHeight / canvas.height;\r\n // try to create a WebGL canvas (will fail if WebGL isn't supported)\r\n // eslint-disable-next-line no-var\r\n var fx_canvas;\r\n try {\r\n fx_canvas = fx.canvas();\r\n console.log('Fx canvas loaded');\r\n } catch (e) {\r\n alert(e);\r\n }\r\n const texture = fx_canvas.texture(src_image);\r\n /*\r\n const destTransform = [\r\n 0,\r\n 0,\r\n src_image.width,\r\n 0,\r\n 0,\r\n src_image.height,\r\n src_image.width,\r\n src_image.height,\r\n ];\r\n */\r\n const destTransform = [0, 0, 2480, 0, 0, 3507, 2480, 3507];\r\n const sourceTransform = [\r\n resKOORDS.c1.x * w_ratio,\r\n resKOORDS.c1.y * h_ratio,\r\n resKOORDS.c2.x * w_ratio,\r\n resKOORDS.c2.y * h_ratio,\r\n resKOORDS.c3.x * w_ratio,\r\n resKOORDS.c3.y * h_ratio,\r\n resKOORDS.c4.x * w_ratio,\r\n resKOORDS.c4.y * h_ratio,\r\n ];\r\n\r\n fx_canvas.draw(texture);\r\n fx_canvas.perspective(sourceTransform, destTransform);\r\n fx_canvas.update();\r\n\r\n /*\r\n canvas\r\n .getContext('2d')\r\n ?.drawImage(fx_canvas, 0, 0, src_image.width, src_image.height, 0, 0, canvas.width, canvas.height);\r\n */\r\n const destCanvas = document.createElement('canvas');\r\n destCanvas.width = 2480;\r\n destCanvas.height = 3507;\r\n destCanvas.getContext('2d')?.drawImage(fx_canvas, 0, 0);\r\n\r\n const resSrc = destCanvas.toDataURL('image/jpeg', 0.5);\r\n testImg = document.getElementById('__HIDDENIMG');\r\n if (testImg) {\r\n document.body.removeChild(testImg);\r\n }\r\n done(resSrc);\r\n });\r\n });\r\n /*\r\n canvas.remove();\r\n\r\n const fx_canvas = document.createElement('canvas');\r\n const texture = fx_canvas.texture(src_image);\r\n\r\n // set mapping from src to dst coordinates in same canvas\r\n \r\n // src = [0,0, 568,386, 2190,1920, 2306,92]; // the 4 corners of the warped paper in the picture\r\n // | | | | remember mapping of points\r\n dest = [0,0, src_image.width,0, 0,src_image.height, src_image.width,src_image.height]; // the 90deg rotated DinA4 mold\r\n // [top left, top right, bottom left, bottom right]\r\n // apply the perspective transform filter initially\r\n fx_canvas.draw(texture);\r\n fx_canvas.perspective(src, dest);\r\n fx_canvas.update();\r\n\r\n // Add canvas to dom structure in place of dummy canvas\r\n if(shadow.getElementById(\"persp_canvas\")){\r\n console.log(\"temp canvas present\");\r\n fx_canvas.setAttribute(\"id\", \"transform_canvas\");\r\n shadow.getElementById(\"persp_canvas\").replaceWith(fx_canvas);\r\n } \r\n */\r\n // return resSrc;\r\n };\r\n const isTransformation = function (): boolean {\r\n if (checkinstate.wpName?.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n const capture = useCallback(() => {\r\n if (isTransformation()) {\r\n getImage(webcamRef.current?.video).then((img: string) => {\r\n props.addPhoto(img);\r\n });\r\n } else {\r\n if (webcamRef.current) {\r\n const image = webcamRef.current?.getScreenshot();\r\n if (image) {\r\n props.addPhoto(image);\r\n }\r\n }\r\n }\r\n }, [webcamRef]);\r\n\r\n interface IFormatChoice {\r\n handleFormatButtonChange(format: string): void;\r\n }\r\n const FormatChoice = (props: IFormatChoice) => {\r\n const [fmt, setFmt] = useState(myVars.fmt);\r\n const handleChange = (sfmt: string) => {\r\n setFmt(sfmt);\r\n props.handleFormatButtonChange(sfmt);\r\n };\r\n return (\r\n
    \r\n \r\n \r\n \r\n {\r\n handleChange('A4');\r\n }}\r\n >\r\n A4\r\n \r\n {\r\n handleChange('A5');\r\n }}\r\n >\r\n A5\r\n \r\n {\r\n handleChange('A6');\r\n }}\r\n >\r\n A6\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Neue Fotodokumentation\r\n \r\n \r\n \r\n \r\n \r\n \r\n {photoPreview(props.photos)}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {isTransformation() && (\r\n {\r\n console.log('fmtChg: ' + fmt);\r\n myVars.fmt = fmt;\r\n }}\r\n />\r\n )}\r\n \r\n Foto aufnehmen\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Abbrechen\r\n \r\n \r\n \r\n \r\n Speichern\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default WebcamPreviewModal;\r\n","import { useContext } from 'react';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport Navbar from 'react-bootstrap/Navbar';\r\nimport { AiOutlineUser } from 'react-icons/ai';\r\nimport { RiLogoutBoxRLine } from 'react-icons/ri';\r\nimport { ThemeContext } from 'styled-components';\r\nimport { IconDiv } from '../../components/Div/StyledDiv';\r\nimport LanguageSwitch from '../../components/LanguageSwitch/LanguageSwitch';\r\nimport Avatar from '../../components/SidebarItems/Avatar';\r\nimport MyTooltip from '../../components/Tooltip/MyTooltip';\r\n\r\nexport interface INavbarCheckInWL {\r\n showLogoutButton: boolean;\r\n onLogout?(): void;\r\n showAvatarIcon: boolean;\r\n onProfileClick?(): void;\r\n showLoginIcon: boolean;\r\n onLoginClick?(): void;\r\n wpName?: string;\r\n}\r\n\r\nconst NavbarCheckInWL = (props: INavbarCheckInWL) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n return (\r\n \r\n \r\n {props.wpName && props.wpName.length > 0 && (\r\n
    \r\n

    \r\n Arbeitsplatz: {props.wpName}\r\n

    \r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default NavbarCheckInWL;\r\n","import { Step, Stepper } from '@material-ui/core';\r\nimport StepLabel from '@material-ui/core/StepLabel';\r\nimport { Theme, createStyles, makeStyles } from '@material-ui/core/styles';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport Alert from 'react-bootstrap/Alert';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport Row from 'react-bootstrap/Row';\r\nimport Lottie from 'react-lottie';\r\nimport { Link, useNavigate } from 'react-router-dom';\r\nimport { Paths } from '../../Routes';\r\nimport AppointmentPersonalData from '../../components/AppointmentPersonalData/AppointmentPersonalData';\r\nimport StyledButton from '../../components/Buttons/StyledButton';\r\nimport StyledCol from '../../components/Cols/StyledCol';\r\nimport { LeftDiv } from '../../components/Div/StyledDiv';\r\nimport PersonalDataSummary from '../../container/PersonalDataSummary/PersonalDataSummary';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport LoginContext from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { useAppProperties } from '../../hooks/useAppProperties';\r\nimport { usePersonalData } from '../../hooks/usePersonalData';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { IRegisterData, registerUserDirect } from '../../services/RestServices';\r\nimport {\r\n changePatientResource,\r\n getPatientResource,\r\n modifyPatientResource,\r\n} from '../../services/fhir/FHIRPatientResource';\r\nimport { showAlertMessage } from '../../utils/alertHandling';\r\nimport { lottieCheck } from '../../utils/lottieUtils';\r\nimport { isMobile, isTablet } from '../../utils/screenResolution';\r\nimport FullScreenImpressum from '../Mainscreen/FullScreenImpressum';\r\nimport { INeuerAccountWL } from './NeuerAccountWL';\r\n\r\nconst useStyles = makeStyles((theme: Theme) =>\r\n createStyles({\r\n instructions: {\r\n marginTop: theme.spacing(1),\r\n marginBottom: theme.spacing(1),\r\n },\r\n iconContainer: {\r\n transform: 'scale(1.5)',\r\n },\r\n }),\r\n);\r\n\r\nfunction getSteps() {\r\n return ['Formular ausfüllen', 'Daten überprüfen'];\r\n}\r\n\r\nfunction getDivWidth(screenWidth: number) {\r\n if (isTablet(screenWidth)) {\r\n return '70%';\r\n } else if (isMobile(screenWidth)) {\r\n return '100%';\r\n } else {\r\n return '60%';\r\n }\r\n}\r\n\r\nconst NeuerAccount = (props: INeuerAccountWL) => {\r\n const navigate = useNavigate();\r\n const { state } = useContext(LoginContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [skipped, setSkipped] = useState(new Set());\r\n const steps = getSteps();\r\n const [success, setSuccess] = useState(false);\r\n const [response, setResponse] = useState();\r\n const [reason, setReason] = useState('');\r\n\r\n const screenSize = useScreenResolution();\r\n const divWidth = getDivWidth(screenSize.width);\r\n\r\n const { getAndSetPersonalData } = usePersonalData();\r\n const { getAndSetAppProperties, getImpressum } = useAppProperties();\r\n\r\n const classes = useStyles();\r\n\r\n useEffect(() => {\r\n if (props.type === 'NewAccount') {\r\n if (props.reason) {\r\n setReason(props.reason);\r\n }\r\n getAndSetAppProperties();\r\n }\r\n }, []);\r\n\r\n function getStepContent(step: number, handleNext: any, handleBack: any, handleCancel: any) {\r\n switch (step) {\r\n case 0:\r\n return personalDataForm(handleNext, handleBack, handleCancel);\r\n case 1:\r\n return personalDataSummary();\r\n default:\r\n return 'Unknown step';\r\n }\r\n }\r\n\r\n const SuccessLottieMessage = () => {\r\n if (tmstate.changePersonalData) {\r\n return (\r\n <>\r\n

    Ihre Profildaten wurden erfolgreich geändert!

    \r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n

    \r\n Willkommen{' '}\r\n \r\n {tmstate.personalData.firstName} {tmstate.personalData.lastName}\r\n \r\n

    \r\n

    Ihr Account wurde erfolgreich eingerichtet!

    \r\n

    Die Login-Daten wurden an folgende E-Mail Adresse gesendet:

    \r\n

    \r\n {tmstate.personalData.email}\r\n

    \r\n \r\n );\r\n }\r\n };\r\n\r\n const personalDataForm = (handleNext: any, handleBack: any, handleCancel: any) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n const personalDataSummary = () => {\r\n let finalButton = 'Account erstellen';\r\n if (tmstate.changePersonalData) {\r\n finalButton = 'Daten ändern';\r\n }\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n handleCancel()}>\r\n Abbrechen\r\n \r\n \r\n
    \r\n \r\n Zurück\r\n \r\n
    \r\n
    \r\n \r\n \r\n {activeStep === steps.length - 1 ? finalButton : 'Bestätigen'}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const isStepSkipped = (step: number) => {\r\n return skipped.has(step);\r\n };\r\n\r\n const handleNext = () => {\r\n let newSkipped = skipped;\r\n if (isStepSkipped(activeStep)) {\r\n newSkipped = new Set(newSkipped.values());\r\n newSkipped.delete(activeStep);\r\n }\r\n\r\n setActiveStep((prevActiveStep) => prevActiveStep + 1);\r\n setSkipped(newSkipped);\r\n\r\n if (activeStep === steps.length - 1) {\r\n handleSubmit();\r\n }\r\n };\r\n\r\n const handleSubmit = async () => {\r\n const registerData: IRegisterData = {\r\n insuranceNr: tmstate.personalData.insuranceNr,\r\n nameLast: tmstate.personalData.lastName,\r\n nameFirst: tmstate.personalData.firstName,\r\n birthdate: tmstate.personalData.birthday,\r\n zip: tmstate.personalData.zip,\r\n city: tmstate.personalData.city,\r\n street: tmstate.personalData.street,\r\n streetNr: tmstate.personalData.housenr,\r\n tel: tmstate.personalData.telephone,\r\n email: tmstate.personalData.email,\r\n gender: tmstate.personalData.gender,\r\n country: tmstate.personalData.country,\r\n mobilePhone: tmstate.personalData.mobilePhone,\r\n academicTitle: tmstate.personalData.academicTitle,\r\n reason: reason,\r\n plannedStudies: tmstate.personalData.plannedStudies,\r\n insuranceName: tmstate.personalData.insuranceName,\r\n language: tmstate.personalData.language,\r\n };\r\n\r\n let response;\r\n if (tmstate.changePersonalData) {\r\n const patdataOrignal = await getPatientResource(state.sessionId, state.activeUserId);\r\n const modifiedPatientResource = modifyPatientResource(patdataOrignal, registerData);\r\n response = await changePatientResource(state, modifiedPatientResource);\r\n } else {\r\n response = await registerUserDirect(registerData);\r\n }\r\n\r\n if (response.error) {\r\n let alertTitleCst = 'Neuer Account';\r\n if (tmstate.changePersonalData) {\r\n alertTitleCst = 'Persönliche Daten ändern';\r\n }\r\n\r\n showAlertMessage({\r\n alertTitle: alertTitleCst,\r\n alertTxt: response.error,\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.goToHome,\r\n alertdispatch: alertdispatch,\r\n });\r\n } else {\r\n setSuccess(true);\r\n setResponse(response);\r\n\r\n if (tmstate.changePersonalData) {\r\n getAndSetPersonalData(state.sessionId, state.activeUserId, state.practitionerRoleId);\r\n }\r\n }\r\n };\r\n\r\n const handleBack = () => {\r\n setActiveStep((prevActiveStep) => prevActiveStep - 1);\r\n };\r\n\r\n const handleCancel = async () => {\r\n if (props.handleFinishClick) {\r\n props.handleFinishClick(response);\r\n } else if (tmstate.changePersonalData) {\r\n tmdispatch({\r\n type: 'CHANGEPERSONALDATA',\r\n changePersonalData: true,\r\n });\r\n navigate(Paths.PROFIL_INFO);\r\n } else {\r\n tmdispatch({\r\n type: 'RESETALL',\r\n });\r\n navigate(Paths.HOME);\r\n }\r\n };\r\n\r\n let stepContent;\r\n\r\n if (activeStep === 0) {\r\n stepContent = {getStepContent(activeStep, handleNext, handleBack, handleCancel)};\r\n }\r\n\r\n if (activeStep === 1) {\r\n stepContent = {getStepContent(activeStep, handleNext, handleBack, handleCancel)};\r\n }\r\n\r\n if (activeStep === steps.length && success) {\r\n stepContent = (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n handleCancel()}>OK\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n\r\n let description;\r\n\r\n if (activeStep === 0) {\r\n description =

    Bitte erfassen Sie Ihre persönlichen Informationen:

    ;\r\n }\r\n\r\n if (activeStep === 1) {\r\n description =

    Bitte überprüfen Sie Ihre persönlichen Informationen:

    ;\r\n }\r\n\r\n const brandingSrc = 'data:image/jpg;base64,' + apstate.brandingBytes;\r\n\r\n const impressum = getImpressum();\r\n\r\n return (\r\n \r\n \r\n \r\n \"Principa\r\n \r\n \r\n
    \r\n

    {tmstate.changePersonalData ? 'Accountdaten ändern' : 'Neuen Account erstellen'}

    \r\n
    {description}
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n {steps.map((label, index) => {\r\n const stepProps: { completed?: boolean } = {};\r\n if (isStepSkipped(index)) {\r\n stepProps.completed = false;\r\n }\r\n return (\r\n \r\n \r\n {label}\r\n \r\n \r\n );\r\n })}\r\n \r\n
    {stepContent}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NeuerAccount;\r\n","import Row from 'react-bootstrap/Row';\r\nimport TabContent from 'react-bootstrap/TabContent';\r\nimport styled from 'styled-components';\r\n\r\nexport const StyledTabRow = styled(Row)`\r\n background-color: white;\r\n border-radius: 50px 50px 0px 0px;\r\n padding: 5px;\r\n`;\r\n\r\nexport const StyledTabContent = styled(TabContent)`\r\n background-color: white;\r\n width: 100%;\r\n margin: 0 auto;\r\n`;\r\n\r\nexport const FixedTabsHeader = styled.div`\r\n overflow: hidden;\r\n position: fixed;\r\n width: 80%;\r\n margin-top: 45px;\r\n background-color: ${(props) => props.theme.mainColor};\r\n z-index: 10;\r\n align-content: center;\r\n`;\r\n","import moment from 'moment';\r\nimport { useContext, useState } from 'react';\r\nimport { Button, Card, Col, Row } from 'react-bootstrap';\r\nimport TerminierungContext, {\r\n IAvailableTimeslot,\r\n IExtendedPhysicianAppointment,\r\n IExtendedPhysicianAppointmentExtension,\r\n} from '../../context/terminierungContext';\r\nimport { useAppointmentSelection } from '../../hooks/useAppointmentSelection';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { blockAppointment } from '../../services/RestServices';\r\nimport {\r\n setReplacedCareUnitForResource,\r\n setReplacedDepartmentForResource,\r\n setReplacedPractitionerForResource,\r\n setReplacedRoomForResource,\r\n setReplacedServiceTypeForResource,\r\n setReplacedStartEndForResource,\r\n} from '../../utils/appointmentUtils';\r\nimport { TimeslotButton } from '../Buttons/SelectButton';\r\nimport { StyledPhysicianSelectionCard, StyledPhysicianSelectionCardTitle } from '../Cards/StyledCard';\r\nimport { DateSwitcherTimeslotCol, DateSwitcherTimeslotColStartEnd } from '../Cols/StyledCol';\r\nimport { VerticalCenterDiv } from '../Div/StyledDiv';\r\nimport LoadingSpinnerWithText from '../Loading/LoadingSpinnerWithText';\r\nimport BlockingAppointmentModal from '../Modals/BlockingAppointmentModal/BlockingAppointmentModal';\r\nimport { TimeslotRow } from '../Rows/StyledRow';\r\nimport PhysicianSelectionDescriptionList from './PhysicianSelectionDescriptionList';\r\nimport PhysicianSelectionPhoto from './PhysicianSelectionPhoto';\r\n\r\ntype IPhyscianSelectionCardWithAppointments = {\r\n name?: string;\r\n description?: string[];\r\n showPicture?: boolean;\r\n pict?: string;\r\n startDate: Date;\r\n countDaysToVisualize: number;\r\n maxTimeSlots: number;\r\n appointments?: IExtendedPhysicianAppointment[];\r\n blockMessage?: string;\r\n hdBooking?: string;\r\n handleTimelotClick?(currentActiveStep: number): void;\r\n currentActiveStep?: number;\r\n showLoadingSpinner: boolean;\r\n firstPossibleDate?: string;\r\n handleStartDate(firstPossibleDate?: string): void;\r\n};\r\n\r\nconst PhysicianSelectionCardWithAppointments = (props: IPhyscianSelectionCardWithAppointments) => {\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n\r\n const [showMoreButton, setShowMoreButton] = useState(false);\r\n const [showAllTimeSlots, setShowAllTimeSlots] = useState(false);\r\n\r\n const { getSelectedResource, setSelectedResource, setSelectedTimeslot, getMakroIdFromResourceServiceType } =\r\n useAppointmentSelection();\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const { t } = useLanguage();\r\n\r\n interface IBlockingModalShow {\r\n show: boolean;\r\n }\r\n const [blockingModalShow, setBlockingModalShow] = useState({\r\n show: false,\r\n });\r\n\r\n const getAppointmentForDate = (date: string, appointments: IExtendedPhysicianAppointment[]) => {\r\n const appointment = appointments.filter((e) => {\r\n const myDate = moment(e.start).format('DD.MM.yyyy');\r\n if (myDate === date) {\r\n return true;\r\n }\r\n });\r\n\r\n return appointment;\r\n };\r\n\r\n const getTimeSlotsForDate = (appointment: IExtendedPhysicianAppointmentExtension[]) => {\r\n const timeslots = appointment.filter((e) => {\r\n if (e.url.endsWith('possibleTimes')) {\r\n return true;\r\n }\r\n });\r\n\r\n return timeslots;\r\n };\r\n\r\n const clickedTimeslot = async (\r\n resourceAppointment: IExtendedPhysicianAppointment,\r\n timeslot: IAvailableTimeslot,\r\n supressDuration: boolean,\r\n ) => {\r\n // console.log('clicked timeslot: start: ', dateStart, ' end: ', dateEnd);\r\n const selectedTimeslot = {\r\n start: timeslot.timeslot.start,\r\n end: timeslot.timeslot.end,\r\n supressDuration: supressDuration,\r\n };\r\n\r\n let updatedResource = setReplacedRoomForResource(resourceAppointment, timeslot.replacedRoom);\r\n updatedResource = setReplacedStartEndForResource(updatedResource, selectedTimeslot);\r\n updatedResource = setReplacedPractitionerForResource(updatedResource, timeslot.replacedPractitioner);\r\n updatedResource = setReplacedCareUnitForResource(updatedResource, timeslot.replacedCareUnit);\r\n updatedResource = setReplacedDepartmentForResource(updatedResource, timeslot.replacedDepartment);\r\n updatedResource = setReplacedServiceTypeForResource(updatedResource, timeslot.replacedServiceType);\r\n\r\n setSelectedResource(tmstate.workOnAppointmentNr, updatedResource);\r\n\r\n const resource = getSelectedResource(1);\r\n const blockResponse = await blockAppointment(resource);\r\n if (blockResponse.success === 'false') {\r\n // onNewAppointments(blockResponse.newApp, tmstate.workOnAppointmentNr, setSelectedTimeslot);\r\n // gotNewAppointment = true;\r\n setBlockingModalShow({\r\n show: true,\r\n });\r\n return;\r\n }\r\n\r\n setSelectedTimeslot(tmstate.workOnAppointmentNr, selectedTimeslot);\r\n\r\n /* Fruehester Termin -> get makroId from ServiceType and find resource from filteredResources */\r\n if (tmstate.selectedReason?.makroId !== undefined && tmstate.selectedReason.makroId === 0) {\r\n const makroId = getMakroIdFromResourceServiceType(updatedResource);\r\n\r\n if (makroId && makroId > 0) {\r\n const filteredSelectedReason = tmstate.filteredReasons.filter((e) => e.makroId === makroId);\r\n tmdispatch({\r\n type: 'SELECTREASON',\r\n selectedReason: filteredSelectedReason[0],\r\n });\r\n }\r\n }\r\n\r\n if (props.handleTimelotClick) {\r\n // if (tmstate.selectedTimeslots && tmstate.selectedTimeslots.length > 0 && tmstate.timeslotClicked) {\r\n // props.handleTimelotClick(props.currentActiveStep ? props.currentActiveStep : 0);\r\n // }\r\n tmdispatch({\r\n type: 'HDBOOKING',\r\n hdBooking: props.hdBooking ? props.hdBooking : '',\r\n });\r\n props.handleTimelotClick(props.currentActiveStep ? props.currentActiveStep : 0);\r\n }\r\n };\r\n\r\n const getTime = (date: Date) => {\r\n return moment(date).format('HH:mm');\r\n };\r\n\r\n const getTimeRange = (slot: IAvailableTimeslot, supressDuration: boolean) => {\r\n if (supressDuration) {\r\n return getTime(slot.timeslot.start);\r\n }\r\n return getTime(slot.timeslot.start) + ' - ' + getTime(slot.timeslot.end);\r\n };\r\n\r\n const rowNrToShow = (\r\n rowNr: number,\r\n maxRowNr: number,\r\n allPossibleTimeslots: IExtendedPhysicianAppointmentExtension[],\r\n ) => {\r\n if (isNaN(maxRowNr)) {\r\n return rowNr;\r\n }\r\n if (maxRowNr >= allPossibleTimeslots.length) {\r\n return rowNr;\r\n }\r\n if (rowNr == maxRowNr - 1) {\r\n return allPossibleTimeslots.length - 1;\r\n }\r\n const stepWith = allPossibleTimeslots.length / (maxRowNr - 1);\r\n return Math.floor(rowNr * stepWith);\r\n };\r\n\r\n const timeslotCol = (rowNr: number, maxRowNr: number) => {\r\n const allCols: any[] = [];\r\n\r\n allCols.push();\r\n for (let i = 0; i < props.countDaysToVisualize; i++) {\r\n let color = '#f0f0f0';\r\n if (i % 2 !== 0) {\r\n color = 'white';\r\n }\r\n\r\n const myDate = moment(props.startDate).add(i, 'days');\r\n const myDateFormated = myDate.format('DD.MM.yyyy');\r\n if (props.appointments && props.appointments.length > 0) {\r\n const appointments = getAppointmentForDate(\r\n myDateFormated,\r\n props.appointments ? props.appointments : [],\r\n );\r\n if (appointments.length > 0) {\r\n const appointment = appointments[0];\r\n if (appointment.extension) {\r\n const allPossibleTimeslots = getTimeSlotsForDate(appointment.extension);\r\n\r\n if (allPossibleTimeslots.length > props.maxTimeSlots) {\r\n if (showMoreButton === false) {\r\n setShowMoreButton(true);\r\n }\r\n }\r\n\r\n const row2Show = rowNrToShow(rowNr, maxRowNr, allPossibleTimeslots);\r\n const possibleTimeslots = allPossibleTimeslots[row2Show];\r\n\r\n if (possibleTimeslots?.url.endsWith('possibleTimes')) {\r\n if (possibleTimeslots.extension) {\r\n const container = {} as IAvailableTimeslot;\r\n\r\n possibleTimeslots.extension.forEach((subExtension) => {\r\n if (subExtension.url.endsWith('timeSlot') && subExtension.valuePeriod) {\r\n container.timeslot = subExtension.valuePeriod;\r\n }\r\n if (subExtension.url.endsWith('replacedRoom') && subExtension.valueReference) {\r\n container.replacedRoom = subExtension.valueReference;\r\n }\r\n if (\r\n subExtension.url.endsWith('replacedPractitioner') &&\r\n subExtension.valueReference\r\n ) {\r\n container.replacedPractitioner = subExtension.valueReference;\r\n }\r\n if (subExtension.url.endsWith('replacedCareunit') && subExtension.valueReference) {\r\n container.replacedCareUnit = subExtension.valueReference;\r\n }\r\n if (\r\n subExtension.url.endsWith('replacedDepartment') &&\r\n subExtension.valueReference\r\n ) {\r\n container.replacedDepartment = subExtension.valueReference;\r\n }\r\n if (\r\n subExtension.url.endsWith('replacedServiceType') &&\r\n subExtension.valueCodeableConcept\r\n ) {\r\n container.replacedServiceType = subExtension.valueCodeableConcept;\r\n }\r\n });\r\n\r\n allCols.push(\r\n \r\n clickedTimeslot(appointment, container, true)}\r\n >\r\n {getTimeRange(container, true)}\r\n \r\n {/* clickedTimeslot(appointment, container, true)}\r\n >\r\n {getTimeRange(container, true)}\r\n */}\r\n ,\r\n );\r\n }\r\n } else {\r\n allCols.push(\r\n \r\n \r\n 00:00\r\n \r\n ,\r\n );\r\n }\r\n }\r\n } else {\r\n allCols.push(\r\n \r\n \r\n 00:00\r\n \r\n ,\r\n );\r\n }\r\n }\r\n }\r\n allCols.push();\r\n\r\n return allCols;\r\n };\r\n\r\n const timeslots = (appointments: IExtendedPhysicianAppointment[]) => {\r\n const allTimeslots: JSX.Element[] = [];\r\n\r\n if (showAllTimeSlots) {\r\n let maxRows = 7;\r\n appointments.forEach((e) => {\r\n let currentMax = 0;\r\n e.extension?.forEach((ext) => {\r\n if (ext.url.endsWith('possibleTimes')) {\r\n currentMax++;\r\n }\r\n });\r\n\r\n if (currentMax > maxRows) {\r\n maxRows = currentMax;\r\n }\r\n });\r\n for (let i = 0; i < maxRows; i++) {\r\n allTimeslots.push({timeslotCol(i, NaN)});\r\n }\r\n } else {\r\n for (let i = 0; i < props.maxTimeSlots; i++) {\r\n allTimeslots.push({timeslotCol(i, props.maxTimeSlots)});\r\n }\r\n }\r\n\r\n return allTimeslots;\r\n };\r\n\r\n const ShowMoreButton = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const BlockMessage = () => {\r\n if (props.blockMessage) {\r\n return (\r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n const jumpToDate = (firstPossibleDate?: string) => {\r\n props.handleStartDate(firstPossibleDate);\r\n };\r\n\r\n const FirstPossibleDateInTimeSlot = () => {\r\n if (props.firstPossibleDate && screenSize.width >= 677) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n const FirstPossibleDateInDescrList = () => {\r\n if (props.firstPossibleDate && screenSize.width < 677) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n return null;\r\n };\r\n\r\n const FirstPossibleDateContent = () => {\r\n return (\r\n

    \r\n Nächster Freier Termin:  \r\n jumpToDate(props.firstPossibleDate)}\r\n >\r\n {props.firstPossibleDate}\r\n \r\n

    \r\n );\r\n };\r\n\r\n const TimeSlotArea = () => {\r\n if (props.showLoadingSpinner) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n if (props.blockMessage) {\r\n return ;\r\n } else if (props.firstPossibleDate) {\r\n return ;\r\n } else {\r\n return (\r\n <>\r\n {timeslots(props.appointments ? props.appointments : [])}\r\n {showMoreButton && props.appointments && props.appointments.length > 0 && }\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.name && (\r\n {props.name}\r\n )}\r\n }\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n setBlockingModalShow({ show: false })}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default PhysicianSelectionCardWithAppointments;\r\n","import moment from 'moment';\r\nimport { Nav } from 'react-bootstrap';\r\nimport { RiArrowLeftSLine, RiArrowRightSLine } from 'react-icons/ri';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { getWeekDay } from '../../utils/dateUtils';\r\nimport { DateSwitcherTimeslotCol, DateSwitcherTimeslotColStartEnd } from '../Cols/StyledCol';\r\nimport { IPhysicianSelectionCardWithDateSwitcher } from '../PhysicianSelectionCard/PhysicianSelectionCardWithDateSwitcher';\r\nimport { DateSwitcherRow } from '../Rows/StyledRow';\r\nimport MyTooltip from '../Tooltip/MyTooltip';\r\n\r\ntype IHorizontalDateSwitcher = IPhysicianSelectionCardWithDateSwitcher;\r\n\r\nconst HorizontalDateSwitcher = (props: IHorizontalDateSwitcher) => {\r\n const screenSize = useScreenResolution();\r\n\r\n const showDate = (date: Date, offset: number) => {\r\n const myDate = moment(date).add(offset, 'days');\r\n const weekday = getWeekDay(myDate.toString(), 'dd');\r\n\r\n // return weekday;\r\n\r\n return (\r\n
    \r\n
    {weekday}
    \r\n
    {myDate.format('DD.MM.')}
    \r\n
    \r\n );\r\n };\r\n\r\n const dates = () => {\r\n const dates: any[] = [];\r\n\r\n for (let i = 0; i < props.countDaysToVisualize; i++) {\r\n dates.push({showDate(props.startDate, i)});\r\n }\r\n\r\n return dates;\r\n };\r\n\r\n return (\r\n \r\n \r\n props.handlePreviousDate()}>\r\n }\r\n >\r\n \r\n \r\n {dates()}\r\n \r\n \r\n props.handleNextDate()}>\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default HorizontalDateSwitcher;\r\n","import { Card, Col, Row } from 'react-bootstrap';\r\nimport HorizontalDateSwitcher from '../Calendar/HorizontalDateSwitcher';\r\nimport { StyledPhysicianSelectionCard } from '../Cards/StyledCard';\r\nimport { DateCol, DatePlaceholderCol } from '../Cols/StyledCol';\r\n\r\nexport interface IPhysicianSelectionCardWithDateSwitcher {\r\n startDate: Date;\r\n handlePreviousDate(): void;\r\n handleNextDate(): void;\r\n countDaysToVisualize: number;\r\n}\r\n\r\nconst PhysicianSelectionCardWithDateSwitcher = (props: IPhysicianSelectionCardWithDateSwitcher) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PhysicianSelectionCardWithDateSwitcher;\r\n","import moment from 'moment';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport { Col, Row } from 'react-bootstrap';\r\nimport { ThemeContext } from 'styled-components';\r\nimport { CategoryBadgeSelected } from '../../components/Badges/StyledBadge';\r\nimport { AnmeldBaseDiv, AnmeldBaseHeader, AnmeldBaseHeaderLogin, CenterDiv } from '../../components/Div/StyledDiv';\r\nimport LoadingSpinnerWithText from '../../components/Loading/LoadingSpinnerWithText';\r\nimport PhysicianSelectionCardWithAppointments from '../../components/PhysicianSelectionCard/PhysicianSelectionCardWithAppointments';\r\nimport PhysicianSelectionCardWithDateSwitcher from '../../components/PhysicianSelectionCard/PhysicianSelectionCardWithDateSwitcher';\r\nimport { ParagraphFontSize } from '../../components/StyledParagraph/StyledParagraph';\r\nimport { StyledMainHeader, StyledSubHeader } from '../../components/StyledText/StyledHeader';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport LoginContext, { IDepartmentReasons } from '../../context/loginContext';\r\nimport TerminierungContext, { ISelectedPhysician } from '../../context/terminierungContext';\r\nimport { useAppProperties } from '../../hooks/useAppProperties';\r\nimport { useAppointmentSelection } from '../../hooks/useAppointmentSelection';\r\nimport { useGoogleAnalytics } from '../../hooks/useGoogleAnalytics';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { IPhysiciansFor, getPhysiciansFor, unblockAppointment } from '../../services/RestServices';\r\nimport { INeuerAccountWL } from '../NeuerAccount/NeuerAccountWL';\r\n\r\ninterface IAppointmentCategoryExtendedPhysician {\r\n department: string;\r\n reason: IDepartmentReasons;\r\n handleTimeslotClick(currentActiveStep: number, hdBooking?: string): void;\r\n currentActiveStep: number;\r\n newAccountHashParam?: INeuerAccountWL;\r\n}\r\n\r\nconst AppointmentCategoryExtendedPhysician = (props: IAppointmentCategoryExtendedPhysician) => {\r\n const themeContext = useContext(ThemeContext);\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n const { state } = useContext(LoginContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const [allPhysicians, setAllPhysicians] = useState();\r\n const { getAllMakroIdsFromFilteredReasons } = useAppointmentSelection();\r\n const [startDate, setStartDate] = useState(new Date());\r\n const [makroId, setMakroId] = useState('');\r\n const [hdTimeslots, setHdTimeslots] = useState('');\r\n const [initalPhysicianIds, setInitialPhysicianIds] = useState();\r\n const [showLoadingSpinner, setShowLoadingSpinner] = useState(false);\r\n const { getCountDaysToVisualize } = useAppProperties();\r\n const { sendGoogleAnalyticsPageView } = useGoogleAnalytics();\r\n\r\n const { t } = useLanguage();\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const { getSelectedResource } = useAppointmentSelection();\r\n\r\n const getExtension = (app: any, url: string) => {\r\n for (const e of app.extension) {\r\n if (e.url == url) {\r\n return e.valueString;\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n const getExtensionJSON = (app: any, url: string) => {\r\n const sjson = getExtension(app, url);\r\n if (sjson) {\r\n return JSON.parse(sjson);\r\n }\r\n return null;\r\n };\r\n const simulateBehFilterFromLocation = (app: any) => {\r\n let res = '';\r\n for (const p of app.participant) {\r\n const ref = p.actor.reference;\r\n if (ref.startsWith('Location/')) {\r\n if (res.length > 0) {\r\n res += ',';\r\n }\r\n res += ref.substring('Location/'.length);\r\n } else if (ref.startsWith('Practitioner/')) {\r\n if (res.length > 0) {\r\n res += ',';\r\n }\r\n res += ref.substring('Practitioner/'.length);\r\n }\r\n }\r\n return res;\r\n };\r\n useEffect(() => {\r\n sendGoogleAnalyticsPageView({\r\n page: '/AppointmentCategoryExtendedPhysician',\r\n title: 'Behandler und Termin wählen',\r\n });\r\n\r\n const getPhysicians = async () => {\r\n let physiciansForData: IPhysiciansFor;\r\n if (tmstate.cancelNewAppointmentData?.data) {\r\n const app = tmstate.cancelNewAppointmentData?.data;\r\n const _makroId = app.serviceType[0].coding[0].id;\r\n const behFilter = simulateBehFilterFromLocation(app);\r\n setMakroId(_makroId);\r\n physiciansForData = {\r\n makroId: _makroId,\r\n selectedReason: getExtensionJSON(app, 'http://www.principa.siegele-software.com/selectedReason')\r\n ?.reasonId,\r\n selectedInsurance: getExtension(app, 'http://www.principa.siegele-software.com/selectedInsurance'),\r\n selectedDepartment: getExtension(\r\n app,\r\n 'http://www.principa.siegele-software.com/selectedDepartment',\r\n ),\r\n selectedAptType: getExtension(app, 'http://www.principa.siegele-software.com/selectedAptType'),\r\n countDaysToVisualize: getCountDaysToVisualize(),\r\n extendedPhysicians: apstate.extendedPhysicians,\r\n // behFilter: getExtension(app, 'http://www.principa.siegele-software.com/behFilter'),\r\n behFilter: behFilter,\r\n };\r\n } else {\r\n const _makroId = getAllMakroIdsFromFilteredReasons();\r\n setMakroId(_makroId);\r\n physiciansForData = {\r\n makroId: _makroId,\r\n selectedReason: tmstate.selectedReason.reasonId,\r\n selectedInsurance: tmstate.selectedInsurance,\r\n selectedDepartment: tmstate.selectedDepartment.name,\r\n selectedAptType: tmstate.selectedAppointmentType,\r\n countDaysToVisualize: getCountDaysToVisualize(),\r\n extendedPhysicians: apstate.extendedPhysicians,\r\n };\r\n if (props.newAccountHashParam?.behFilter) {\r\n physiciansForData.behFilter = props.newAccountHashParam?.behFilter;\r\n }\r\n }\r\n\r\n setShowLoadingSpinner(true);\r\n const physiciansData = await getPhysiciansFor(physiciansForData);\r\n setShowLoadingSpinner(false);\r\n if (physiciansData?.physicians) {\r\n setAllPhysicians(physiciansData.physicians);\r\n setHdTimeslots(physiciansData.hdTimeslots);\r\n const allPhysicianIds: string[] = [];\r\n physiciansData.physicians.forEach((e: ISelectedPhysician) => {\r\n if (e.id) {\r\n allPhysicianIds?.push(e.id.toString());\r\n }\r\n });\r\n setInitialPhysicianIds(allPhysicianIds);\r\n }\r\n };\r\n\r\n tmdispatch({\r\n type: 'RESETTIMESLOT',\r\n });\r\n\r\n /* unblock appointment */\r\n const resource_1 = getSelectedResource(1);\r\n if (resource_1) {\r\n unblockAppointment(resource_1);\r\n }\r\n\r\n /* get physicians data*/\r\n\r\n getPhysicians();\r\n }, []);\r\n\r\n const getNewPhyscianData = async (myDate: moment.Moment) => {\r\n const physiciansForData: IPhysiciansFor = {\r\n makroId: makroId,\r\n selectedReason: tmstate.selectedReason.reasonId,\r\n selectedInsurance: tmstate.selectedInsurance,\r\n selectedDepartment: tmstate.selectedDepartment.name,\r\n selectedAptType: tmstate.selectedAppointmentType,\r\n countDaysToVisualize: getCountDaysToVisualize(),\r\n extendedPhysicians: apstate.extendedPhysicians,\r\n startDate: myDate.format('DD.MM.yyyy'),\r\n currentPhys: initalPhysicianIds?.join(),\r\n };\r\n if (props.newAccountHashParam?.behFilter) {\r\n physiciansForData.behFilter = props.newAccountHashParam?.behFilter;\r\n }\r\n\r\n setShowLoadingSpinner(true);\r\n const physiciansData = await getPhysiciansFor(physiciansForData);\r\n setShowLoadingSpinner(false);\r\n if (physiciansData?.physicians) {\r\n setAllPhysicians(physiciansData.physicians);\r\n }\r\n };\r\n\r\n const handlePreviousDate = () => {\r\n const dateToday = new Date();\r\n\r\n const offset = apstate.countDaysToVisualize ? getCountDaysToVisualize() : 7;\r\n\r\n const myDate = moment(startDate).add(offset * -1, 'days');\r\n\r\n if (moment(myDate).isBefore(dateToday, 'day')) {\r\n /* no switch to past dates */\r\n return;\r\n }\r\n setStartDate(myDate.toDate());\r\n\r\n getNewPhyscianData(myDate);\r\n };\r\n const handleNextDate = async () => {\r\n const offset = apstate.countDaysToVisualize ? getCountDaysToVisualize() : 7;\r\n\r\n const myDate = moment(startDate).add(offset, 'days');\r\n setStartDate(myDate.toDate());\r\n\r\n getNewPhyscianData(myDate);\r\n };\r\n\r\n const handleStartDate = async (firstPossibleDate: string) => {\r\n const myDate = moment(firstPossibleDate, 'DD.MM.yyyy', true);\r\n setStartDate(myDate.toDate());\r\n\r\n getNewPhyscianData(myDate);\r\n };\r\n\r\n const DateHeader = () => {\r\n const allCards: any[] = [];\r\n\r\n allCards.push(\r\n
    \r\n \r\n
    ,\r\n );\r\n return allCards;\r\n };\r\n const allPhysicianCards = () => {\r\n const allCards: any[] = [];\r\n\r\n allPhysicians?.forEach((e: ISelectedPhysician) => {\r\n let descrList: string[] = [];\r\n if (e.lines && typeof e.lines === 'string') {\r\n descrList.push(e.lines);\r\n } else if (e.lines) {\r\n descrList = e.lines;\r\n }\r\n allCards.push(\r\n
    \r\n \r\n
    ,\r\n );\r\n });\r\n\r\n return allCards;\r\n };\r\n\r\n const MyAnmeldBaseHeader = (props) => {\r\n if (state.isLoggedIn) {\r\n return {props.children};\r\n } else {\r\n return {props.children};\r\n }\r\n };\r\n const getTimeslotHeader = () => {\r\n if (hdTimeslots) {\r\n return ;\r\n }\r\n return null;\r\n };\r\n\r\n return (\r\n <>\r\n {showLoadingSpinner && (\r\n
    \r\n \r\n
    \r\n )}\r\n \r\n {getTimeslotHeader()}\r\n \r\n {screenSize.height && screenSize.height > 600 && (\r\n \r\n \r\n {t('ANMELD', 'Behandler und Termin wählen')}\r\n \r\n \r\n \r\n {t('ANMELD', 'Fachrichtung')}\r\n \r\n {props.department ? props.department : ''}\r\n \r\n \r\n \r\n \r\n \r\n {t('ANMELD', 'Besuchsgrund')}\r\n \r\n {props.reason?.reasonName ? props.reason.reasonName : ''}\r\n \r\n \r\n \r\n \r\n )}\r\n {DateHeader()}\r\n \r\n {allPhysicianCards()}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AppointmentCategoryExtendedPhysician;\r\n","import { useContext } from 'react';\r\nimport SigPadContext, { ISigData, ISignaturePadDevice } from '../context/sigpadContext';\r\n\r\nexport interface ISignotec {\r\n wsUri?: string;\r\n}\r\n\r\nexport const useSignotecConnector = (props: ISignotec) => {\r\n const { sigpadstate, sigpaddispatch } = useContext(SigPadContext);\r\n\r\n const docHashes = {\r\n kSha1: 0,\r\n kSha256: 1,\r\n };\r\n\r\n const sha1_dochash = 'AAECAwQFBgcICQoLDA0ODxAREhM=';\r\n const sha256_dochash = 'AAECAwQFBgcICQoLDA0ODxAREhMUFRYXGBkaGxwdHh8=';\r\n const encryption_cert =\r\n 'MIICqTCCAZGgAwIBAgIBATANBgkqhkiG9w0BAQUFADAYMRYwFAYDVQQKEw1EZW1vIHNpZ25vdGVjMB4XDTE1MTAwNzA5NDc1MFoXDTI1MTAwNDA5NDc1MFowGDEWMBQGA1UEChMNRGVtbyBzaWdub3RlYzCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAOFFpsZexYW28Neznn26Bp9NVCJywFFj1QYXg3DDsaSyr6ubuqXKSC4jkenIGBnom/zKPxwPDtNXuy+nyDYFXYNn87TUdh/51CCr3uk9kR9hvRIzBKwkOx0DGLdCoSGAKDOPHwx1rE0m/SOqYOQh6XFjlybw+KzDZcPvhf2Fq/IFNXHpk8m0YHMAReW8q34CYjk9ZtcIlrcYGTikQherOtYM8CaEUPDd6vdJgosGWEnDeNXDCAIWTFc5ECJm9Hh7a47eF3BG5Pjl1QfOSA8lQBV5eTjQc1n1rWCWULt143nIbN5yCFrn0D8W6+eKJV5urETxWUQ208iqgeU1bIgKSEUCAwEAATANBgkqhkiG9w0BAQUFAAOCAQEAt2ax8iwLFoOmlAOZTQcRQtjxseQAhgOTYL/vEP14rPZhF1/gkI9ZzhESdkqR8mHIIl7FnfBg9A2v9ZccC7YgRb4bCXNzv6TIEyz4EYXNkIq8EaaQpvsX4+A5jKIP0PRNZUaLJaDRcQZudd6FMyHxrHtCUTEvORzrgGtRnhBDhAMiSDmQ958t8RhET6HL8C7EnL7f8XBMMFR5sDC60iCu/HeIUkCnx/a2waZ13QvhEIeUBmTRi9gEjZEsGd1iZmgf8OapTjefZMXlbl7CJBymKPJgXFe5mD9/yEMFKNRy5Xfl3cB2gJka4wct6PSIzcQVPaCts6I0V9NfEikXy1bpSA==';\r\n\r\n const encryption_cert_only_when_empty = 'TRUE';\r\n const rsa_scheme = STPadServerLibDefault.RsaScheme.PSS;\r\n let supportsRSA = false;\r\n let canStoreEncryptKey = false;\r\n const padConnectionType = 'HID';\r\n const padIndex = 0;\r\n const docHash_type = docHashes.kSha256;\r\n\r\n const cancelButton = -1;\r\n const retryButton = -1;\r\n const confirmButton = -1;\r\n // const buttonDiff = 0;\r\n // const buttonLeft = 0;\r\n // const buttonTop = 0;\r\n // const buttonSize = 0;\r\n // let backgroundImage;\r\n // const scaleFactorX = 1.0;\r\n // const scaleFactorY = 1.0;\r\n\r\n let sampleRate;\r\n\r\n const fieldName = 'Signatur';\r\n const customText = 'Bitte hier signieren!';\r\n\r\n const padStates = {\r\n closed: 0,\r\n opened: 1,\r\n };\r\n\r\n let padState = padStates.closed;\r\n\r\n const padModes = {\r\n Default: 0,\r\n API: 1,\r\n };\r\n const padMode = padModes.Default;\r\n\r\n const deviceCapabilities = {\r\n HasColorDisplay: 0x00000001,\r\n HasBacklight: 0x00000002,\r\n SupportsVerticalScrolling: 0x00000004,\r\n SupportsHorizontalScrolling: 0x00000008,\r\n SupportsPenScrolling: 0x00000010,\r\n SupportsServiceMenu: 0x00000020,\r\n SupportsRSA: 0x00000040,\r\n SupportsContentSigning: 0x00000080,\r\n SupportsH2ContentSigning: 0x00000100,\r\n CanGenerateSignKey: 0x00000200,\r\n CanStoreSignKey: 0x00000400,\r\n CanStoreEncryptKey: 0x00000800,\r\n CanSignExternalHash: 0x00001000,\r\n SupportsRSAPassword: 0x00002000,\r\n SupportsSecureModePassword: 0x00004000,\r\n Supports4096BitKeys: 0x00008000,\r\n HasNFCReader: 0x00010000,\r\n SupportsKeyPad: 0x00020000,\r\n SupportsKeyPad32: 0x00040000,\r\n HasDisplay: 0x00080000,\r\n SupportsRSASignPassword: 0x00100000,\r\n };\r\n\r\n const padTypes = {\r\n sigmaUSB: 1,\r\n sigmaSerial: 2,\r\n zetaUSB: 5,\r\n zetaSerial: 6,\r\n omegaUSB: 11,\r\n omegaSerial: 12,\r\n gammaUSB: 15,\r\n gammaSerial: 16,\r\n deltaUSB: 21,\r\n deltaSerial: 22,\r\n deltaIP: 23,\r\n alphaUSB: 31,\r\n alphaSerial: 32,\r\n alphaIP: 33,\r\n };\r\n\r\n const getReadableType = (intTypeNumber: number) => {\r\n switch (intTypeNumber) {\r\n case padTypes.sigmaUSB:\r\n return 'Sigma USB';\r\n case padTypes.sigmaSerial:\r\n return 'Sigma serial';\r\n case padTypes.zetaUSB:\r\n return 'Zeta USB';\r\n case padTypes.zetaSerial:\r\n return 'Zeta serial';\r\n case padTypes.omegaUSB:\r\n return 'Omega USB';\r\n case padTypes.omegaSerial:\r\n return 'Omega serial';\r\n case padTypes.gammaUSB:\r\n return 'Gamma USB';\r\n case padTypes.gammaSerial:\r\n return 'Gamma serial';\r\n case padTypes.deltaUSB:\r\n return 'Delta USB';\r\n case padTypes.deltaSerial:\r\n return 'Delta serial';\r\n case padTypes.deltaIP:\r\n return 'Delta IP';\r\n case padTypes.alphaUSB:\r\n return 'Alpha USB';\r\n case padTypes.alphaSerial:\r\n return 'Alpha serial';\r\n case padTypes.alphaIP:\r\n return 'Alpha IP';\r\n default:\r\n return 'Unknown';\r\n }\r\n };\r\n\r\n const resetSignotecDeviceData = () => {\r\n sigpaddispatch({\r\n type: 'RESETALL',\r\n });\r\n };\r\n\r\n /* BEGIN extern callable hook functions */\r\n\r\n const loadSignotec = () => {\r\n let wsUri = 'wss://local.signotecwebsocket.de:49494';\r\n if (props.wsUri && props.wsUri.length > 0) {\r\n wsUri = props.wsUri;\r\n }\r\n STPadServerLibCommons.handleLogging = logMessage;\r\n STPadServerLibCommons.createConnection(wsUri, onOpen, onClose, onError);\r\n };\r\n\r\n const unloadSignotec = () => {\r\n try {\r\n default_close_pad();\r\n } catch (e) {\r\n logMessage('problems to close pad, maybe its already closed, exception was = ' + e);\r\n }\r\n\r\n STPadServerLibCommons.destroyConnection();\r\n resetSignotecDeviceData();\r\n };\r\n\r\n const clearSignotec = (canvasRef: any) => {\r\n signature_retry_send(canvasRef);\r\n };\r\n\r\n const sendSignotec = () => {\r\n signature_confirm_send();\r\n };\r\n\r\n /* END extern callable hook functions */\r\n\r\n const onOpen = (evt) => {\r\n let loadText = '';\r\n if (evt.target === undefined || evt.target.url === undefined) {\r\n loadText = 'ActiveX loaded';\r\n } else {\r\n loadText = 'Connected to ' + evt.target.url;\r\n }\r\n logMessage('loadText: ' + loadText);\r\n\r\n getSignatureDefault(); // hier aufrufen???\r\n };\r\n\r\n const onClose = (evt) => {\r\n let unloadText = '';\r\n if (evt.target === undefined || evt.target.url === undefined) {\r\n unloadText = 'ActiveX unloaded';\r\n } else {\r\n unloadText = 'Disconnected from ' + evt.target.url;\r\n }\r\n logMessage('unloadText: ' + unloadText);\r\n };\r\n\r\n const onError = (evt) => {\r\n let errorText = '';\r\n if (evt.target === undefined || evt.target.url === undefined) {\r\n errorText = 'Communication error';\r\n } else {\r\n errorText = 'Communication error ' + evt.target.url;\r\n }\r\n logMessage('errorText: ' + errorText);\r\n };\r\n\r\n const getSignatureDefault = () => {\r\n // search for pads begin\r\n const deviceData: ISignaturePadDevice = {\r\n deviceName: '',\r\n canStoreEncryptKey: false,\r\n firmwareVersion: '',\r\n serialNumber: '',\r\n supportsRSA: false,\r\n padConnectionType: '',\r\n padIndex: 0,\r\n displayHeight: 0,\r\n displayWidth: 0,\r\n sampleRate: 0,\r\n scaleFactorX: 0,\r\n scaleFactorY: 0,\r\n xResolution: 0,\r\n yResolution: 0,\r\n };\r\n\r\n const searchForPadsParams = new STPadServerLibDefault.Params.searchForPads();\r\n\r\n searchForPadsParams.setPadSubset(padConnectionType);\r\n\r\n STPadServerLibDefault.searchForPads(searchForPadsParams)\r\n .then(function (pads: any) {\r\n if (pads.foundPads.length == 0) {\r\n logMessage('No connected pads have been found.');\r\n return Promise.reject('No connected pads have been found.');\r\n }\r\n\r\n deviceData.padIndex = padIndex;\r\n deviceData.padConnectionType = padConnectionType;\r\n\r\n const padType = pads.foundPads[padIndex].type;\r\n\r\n deviceData.deviceName = getReadableType(padType);\r\n deviceData.serialNumber = pads.foundPads[padIndex].serialNumber;\r\n deviceData.firmwareVersion = pads.foundPads[padIndex].firmwareVersion;\r\n\r\n if (pads.foundPads[padIndex].capabilities & deviceCapabilities.SupportsRSA) {\r\n supportsRSA = true;\r\n } else {\r\n supportsRSA = false;\r\n }\r\n deviceData.supportsRSA = supportsRSA;\r\n\r\n if (pads.foundPads[padIndex].capabilities & deviceCapabilities.CanStoreEncryptKey) {\r\n canStoreEncryptKey = true;\r\n } else {\r\n canStoreEncryptKey = false;\r\n }\r\n deviceData.canStoreEncryptKey = canStoreEncryptKey;\r\n }, STPadServerLibCommons.defaultReject)\r\n // search for pads end\r\n\r\n // open pad begin\r\n .then(function () {\r\n const openPadParams = new STPadServerLibDefault.Params.openPad(padIndex);\r\n return STPadServerLibDefault.openPad(openPadParams);\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(function (padInfo) {\r\n padState = padStates.opened;\r\n deviceData.displayWidth = padInfo.padInfo.displayWidth;\r\n deviceData.displayHeight = padInfo.padInfo.displayHeight;\r\n\r\n //get scale factor from signature resolution to canvas\r\n deviceData.scaleFactorX = padInfo.padInfo.displayWidth / padInfo.padInfo.xResolution;\r\n deviceData.scaleFactorY = padInfo.padInfo.displayHeight / padInfo.padInfo.yResolution;\r\n\r\n //get sample rate\r\n deviceData.sampleRate = padInfo.padInfo.samplingRate;\r\n\r\n //start the signature process\r\n selection_dialog();\r\n }, STPadServerLibCommons.defaultReject)\r\n // open pad end\r\n\r\n .then(\r\n function () {\r\n logMessage('getSignatureDefault end');\r\n sigpaddispatch({\r\n type: 'SETDEVICEDATA',\r\n deviceData: {\r\n ...deviceData,\r\n },\r\n });\r\n },\r\n function (reason) {\r\n error_message(reason);\r\n default_close_pad();\r\n },\r\n );\r\n };\r\n\r\n const selection_dialog = () => {\r\n //Selection Diaglog nur für SignaturPads mit Display\r\n if (false) {\r\n // prepare selection dialog\r\n const checkBoxInformation: any = [];\r\n const box: any = {};\r\n box.id = 'Signature 1';\r\n box.text = 'Bite signieren...';\r\n box.checked = false;\r\n box.required = true;\r\n checkBoxInformation[0] = box;\r\n\r\n const startSelectionDialogParams = new STPadServerLibDefault.Params.startSelectionDialog();\r\n startSelectionDialogParams.addCheckboxInformation(checkBoxInformation);\r\n STPadServerLibDefault.startSelectionDialog(startSelectionDialogParams)\r\n .then(function () {\r\n logMessage('Please select and confirm elements on the pad.');\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n default_close_pad();\r\n });\r\n } else {\r\n // start signature capture\r\n signature_start();\r\n }\r\n };\r\n\r\n const error_message = (param: any) => {\r\n if (param.errorCode < 0) {\r\n logMessage('Signotec errorMessage: Function' + param.command + ' failed. Reason: ' + param.errorMesage);\r\n }\r\n };\r\n\r\n const logMessage = (msg) => {\r\n //TODO: do something with this log\r\n console.log('Signotec logMessage: ' + msg);\r\n };\r\n\r\n // close pad begin\r\n const default_close_pad = () => {\r\n if (padState == padStates.opened) {\r\n const closePadParams = new STPadServerLibDefault.Params.closePad(padIndex);\r\n STPadServerLibDefault.closePad(closePadParams)\r\n .then(function () {\r\n padState = padStates.closed;\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n return;\r\n });\r\n }\r\n };\r\n\r\n const api_close_pad = () => {\r\n if (padState == padStates.opened) {\r\n const closePadParams = new STPadServerLibApi.Device.Params.close(padIndex);\r\n STPadServerLibApi.Device.close(closePadParams)\r\n .then(function () {\r\n padState = padStates.closed;\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n return;\r\n });\r\n }\r\n };\r\n // close pad end\r\n\r\n // signature start begin\r\n const signature_start = () => {\r\n let dochash;\r\n\r\n switch (docHash_type) {\r\n case docHashes.kSha1:\r\n dochash = sha1_dochash;\r\n break;\r\n\r\n case docHashes.kSha256:\r\n dochash = sha256_dochash;\r\n break;\r\n\r\n default:\r\n logMessage('unknown doc hash');\r\n return;\r\n }\r\n\r\n if (supportsRSA) {\r\n const startSignatureParams = new STPadServerLibDefault.Params.startSignature();\r\n startSignatureParams.setFieldName(fieldName);\r\n startSignatureParams.setCustomText(customText);\r\n if (canStoreEncryptKey) {\r\n startSignatureParams.enablePadEncryption(dochash, encryption_cert, encryption_cert_only_when_empty);\r\n } else {\r\n startSignatureParams.enablePadEncryption(dochash, null);\r\n }\r\n STPadServerLibDefault.startSignature(startSignatureParams)\r\n .then(function () {}, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n default_close_pad();\r\n });\r\n } else {\r\n const startSignatureParams = new STPadServerLibDefault.Params.startSignature();\r\n startSignatureParams.setFieldName(fieldName);\r\n startSignatureParams.setCustomText(customText);\r\n STPadServerLibDefault.startSignature(startSignatureParams)\r\n .then(function () {}, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n default_close_pad();\r\n });\r\n }\r\n };\r\n // signature start end\r\n\r\n /**\r\n * The send events\r\n */\r\n STPadServerLibCommons.handleDisconnect = function (index) {\r\n disconnect_send(index);\r\n };\r\n\r\n STPadServerLibCommons.handleNextSignaturePoint = function (x, y, p) {\r\n signature_point_send(x, y, p);\r\n };\r\n\r\n STPadServerLibDefault.handleRetrySignature = function () {\r\n signature_retry_send();\r\n };\r\n\r\n STPadServerLibDefault.handleConfirmSignature = function () {\r\n // signature_confirm_send();\r\n sigpaddispatch({\r\n type: 'SETDEVICEACTION_SEND',\r\n deviceActions: {\r\n sendClicked: true,\r\n },\r\n });\r\n };\r\n\r\n STPadServerLibDefault.handleCancelSignature = function () {\r\n // signature_cancel_send();\r\n sigpaddispatch({\r\n type: 'SETDEVICEACTION_CANCEL',\r\n deviceActions: {\r\n cancelClicked: true,\r\n },\r\n });\r\n };\r\n\r\n // STPadServerLibDefault.handleConfirmSelection = function () {\r\n // selection_confirm_send();\r\n // };\r\n\r\n // STPadServerLibDefault.handleSelectionChange = function (fieldId, fieldChecked) {\r\n // selection_change_send(fieldId, fieldChecked);\r\n // };\r\n\r\n // STPadServerLibDefault.handleCancelSelection = function () {\r\n // selection_cancel_send();\r\n // };\r\n\r\n STPadServerLibDefault.handleError = function (error_context, return_code, error_description) {\r\n error_send(error_context, return_code, error_description);\r\n };\r\n\r\n STPadServerLibApi.Sensor.handleHotSpotPressed = function (button) {\r\n api_sensor_hot_spot_pressed_send(button);\r\n };\r\n\r\n STPadServerLibApi.Sensor.handleDisplayScrollPosChanged = function (xPos, yPos) {\r\n api_display_scroll_pos_changed_send(xPos, yPos);\r\n };\r\n\r\n // disconnect send begin\r\n const disconnect_send = (index) => {\r\n const msg = 'The pad (index: ' + index + ') has been disconnected.';\r\n logMessage('disconnect_send: ' + msg);\r\n\r\n padState = padStates.closed;\r\n };\r\n // disconnect send end\r\n\r\n // signature point send begin\r\n const signature_point_send = (x, y, p) => {\r\n // const sigcanvas: HTMLCanvasElement = document.getElementById('signotecCanvas');\r\n if (sigpadstate.canvasRef) {\r\n const ctx = sigpadstate.canvasRef.current?.getContext('2d');\r\n if (ctx) {\r\n ctx.lineWidth = 4.5;\r\n ctx.lineCap = 'round';\r\n if (p == 0) {\r\n // drawStrokeStartPoint(ctx, x * scaleFactorX, y * scaleFactorY);\r\n drawStrokeStartPoint(\r\n ctx,\r\n x * sigpadstate.deviceData.scaleFactorX,\r\n y * sigpadstate.deviceData.scaleFactorY,\r\n );\r\n } else {\r\n // drawStrokePoint(ctx, x * scaleFactorX, y * scaleFactorY);\r\n drawStrokePoint(\r\n ctx,\r\n x * sigpadstate.deviceData.scaleFactorX,\r\n y * sigpadstate.deviceData.scaleFactorY,\r\n );\r\n }\r\n }\r\n }\r\n };\r\n // signature point send end\r\n\r\n /**\r\n * Draws a stroke start point into the canvas\r\n */\r\n function drawStrokeStartPoint(canvasContext, softCoordX, softCoordY) {\r\n // open new stroke's path\r\n canvasContext.beginPath();\r\n canvasContext.arc(softCoordX, softCoordY, 0.1, 0, 2 * Math.PI, true);\r\n canvasContext.fill();\r\n canvasContext.stroke();\r\n canvasContext.moveTo(softCoordX, softCoordY);\r\n }\r\n\r\n /**\r\n * Draws a stroke point into the canvas\r\n */\r\n function drawStrokePoint(canvasContext, softCoordX, softCoordY) {\r\n // continue after start or not start point\r\n canvasContext.lineTo(softCoordX, softCoordY);\r\n canvasContext.stroke();\r\n }\r\n\r\n // signature retry send begin\r\n const signature_retry_send = (canvRef?: any) => {\r\n let canvasRef: any = null;\r\n if (sigpadstate.canvasRef) {\r\n canvasRef = sigpadstate.canvasRef;\r\n } else if (canvRef) {\r\n canvasRef = canvRef;\r\n }\r\n\r\n if (canvasRef) {\r\n if (padMode == padModes.Default) {\r\n // default mode\r\n STPadServerLibDefault.retrySignature()\r\n .then(function () {\r\n const ctx = canvasRef.current?.getContext('2d');\r\n if (ctx) {\r\n if (canvasRef.current) {\r\n ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);\r\n }\r\n }\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n default_close_pad();\r\n });\r\n } else if (padMode == padModes.API) {\r\n // API mode\r\n STPadServerLibApi.Signature.retry()\r\n .then(function () {\r\n const ctx = canvasRef.current?.getContext('2d');\r\n if (ctx) {\r\n if (canvasRef.current) {\r\n ctx.clearRect(0, 0, canvasRef.current.width, canvasRef.current.height);\r\n }\r\n }\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n api_close_pad();\r\n });\r\n } else {\r\n alert('invalid padMode');\r\n return;\r\n }\r\n }\r\n };\r\n // signature retry send end\r\n\r\n // signature confirm send begin\r\n const signature_confirm_send = () => {\r\n const sigData: ISigData = {\r\n certId: '',\r\n pictureData: '',\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n };\r\n\r\n if (padMode == padModes.Default) {\r\n // default mode\r\n STPadServerLibDefault.confirmSignature()\r\n .then(function (value) {\r\n // check if there are enough points for a valid signature\r\n if (value.countedPoints / sampleRate <= 0.2) {\r\n alert('The signature is too short. Please sign again!');\r\n return STPadServerLibDefault.retrySignature();\r\n }\r\n if (supportsRSA) {\r\n return STPadServerLibDefault.getSigningCert();\r\n } else {\r\n return value;\r\n }\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(function (value) {\r\n if (value.command == 'TOKEN_CMD_SIGNATURE_RETRY') {\r\n const ctx = sigpadstate.canvasRef.current?.getContext('2d');\r\n if (ctx) {\r\n if (sigpadstate.canvasRef.current?.width && sigpadstate.canvasRef.current?.height) {\r\n ctx.clearRect(\r\n 0,\r\n 0,\r\n sigpadstate.canvasRef.current?.width,\r\n sigpadstate.canvasRef.current?.height,\r\n );\r\n }\r\n }\r\n\r\n return value;\r\n }\r\n if (supportsRSA) {\r\n if (value.signingCert !== undefined) {\r\n sigData.signingCert = value.signingCert; // NEEDED\r\n }\r\n }\r\n const getSignatureImageParams = new STPadServerLibDefault.Params.getSignatureImage();\r\n getSignatureImageParams.setFileType(STPadServerLibDefault.FileType.PNG);\r\n getSignatureImageParams.setPenWidth(5);\r\n return STPadServerLibDefault.getSignatureImage(getSignatureImageParams);\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(function (value) {\r\n if (value.command == 'TOKEN_CMD_SIGNATURE_RETRY') {\r\n // just do nothing but returning original promise object\r\n return value;\r\n }\r\n if (value.file !== undefined) {\r\n const pictureData = 'data:image/png;base64,' + value.file; //NEEDED\r\n sigData.pictureData = pictureData;\r\n }\r\n const getSignatureDataParams = new STPadServerLibDefault.Params.getSignatureData();\r\n getSignatureDataParams.setRsaScheme(rsa_scheme);\r\n return STPadServerLibDefault.getSignatureData(getSignatureDataParams);\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(function (value) {\r\n if (value.command == 'TOKEN_CMD_SIGNATURE_RETRY') {\r\n // just do nothing but returning original promise object\r\n return value;\r\n }\r\n if (supportsRSA) {\r\n if (value.certId !== undefined) {\r\n const certId = value.certId; //NEEDED\r\n sigData.certId = certId;\r\n }\r\n if (value.rsaSignature !== undefined) {\r\n const rsaSignature = value.rsaSignature; //NEEDED\r\n sigData.rsaSignature = rsaSignature;\r\n }\r\n }\r\n if (value.signData !== undefined) {\r\n const signData = value.signData; //NEEDED\r\n sigData.signData = signData;\r\n }\r\n default_close_pad();\r\n\r\n sigpaddispatch({\r\n type: 'SETSIGDATA',\r\n sigData: {\r\n ...sigData,\r\n },\r\n });\r\n }, STPadServerLibCommons.defaultReject)\r\n .then(null, function (reason) {\r\n error_message(reason);\r\n default_close_pad();\r\n });\r\n } else if (padMode == padModes.API) {\r\n // // API mode\r\n // STPadServerLibApi.Signature.confirm()\r\n // .then(function (value) {\r\n // // check if there are enough points for a valid signature\r\n // if (value.countedPoints / sampleRate <= 0.2) {\r\n // alert('The signature is too short. Please sign again!');\r\n // return STPadServerLibApi.Signature.retry();\r\n // }\r\n // const saveAsStreamExParams = new STPadServerLibApi.Signature.Params.saveAsStreamEx(\r\n // 300,\r\n // 0,\r\n // 0,\r\n // STPadServerLibApi.FileType.PNG,\r\n // 5,\r\n // document.getElementById('signaturePenColorSelect').value,\r\n // 0,\r\n // );\r\n // return STPadServerLibApi.Signature.saveAsStreamEx(saveAsStreamExParams);\r\n // }, STPadServerLibCommons.defaultReject)\r\n // .then(function (value) {\r\n // if (value.command == 'TOKEN_CMD_API_SIGNATURE_RETRY') {\r\n // const ctx = sigcanvas.getContext('2d');\r\n // ctx.clearRect(0, 0, sigcanvas.width, sigcanvas.height);\r\n // return value;\r\n // }\r\n // if (value.image !== undefined) {\r\n // document.getElementById('Signature_0').src = 'data:image/png;base64,' + value.image;\r\n // }\r\n // return STPadServerLibApi.Signature.getSignData();\r\n // }, STPadServerLibCommons.defaultReject)\r\n // .then(function (value) {\r\n // if (value.command == 'TOKEN_CMD_API_SIGNATURE_RETRY') {\r\n // // just do nothing but returning original promise object\r\n // return value;\r\n // }\r\n // if (value.signData !== undefined) {\r\n // document.getElementById('SignData_0').value = value.signData;\r\n // }\r\n // api_close_pad();\r\n // }, STPadServerLibCommons.defaultReject)\r\n // .then(\r\n // function (value) {},\r\n // function (reason) {\r\n // error_message(reason);\r\n // api_close_pad();\r\n // },\r\n // );\r\n } else {\r\n alert('invalid padMode');\r\n return;\r\n }\r\n };\r\n // signature confirm send end\r\n\r\n // signature cancel send begin\r\n const signature_cancel_send = () => {\r\n //TODO: do something with the points...\r\n //\r\n //\r\n // if (padMode == padModes.Default) {\r\n // // default mode\r\n // STPadServerLibDefault.cancelSignature()\r\n // .then(function (value) {\r\n // const ctx = sigcanvas.getContext('2d');\r\n // ctx.clearRect(0, 0, sigcanvas.width, sigcanvas.height);\r\n // default_close_pad();\r\n // }, STPadServerLibCommons.defaultReject)\r\n // .then(null, function (reason) {\r\n // error_message(reason);\r\n // default_close_pad();\r\n // });\r\n // } else if (padMode == padModes.API) {\r\n // // API mode\r\n // const cancelParams = new STPadServerLibApi.Signature.Params.cancel();\r\n // cancelParams.setErase(0);\r\n // STPadServerLibApi.Signature.cancel(cancelParams)\r\n // .then(function (value) {\r\n // const ctx = sigcanvas.getContext('2d');\r\n // ctx.clearRect(0, 0, sigcanvas.width, sigcanvas.height);\r\n // api_close_pad();\r\n // }, STPadServerLibCommons.defaultReject)\r\n // .then(\r\n // function (value) {},\r\n // function (reason) {\r\n // error_message(reason);\r\n // api_close_pad();\r\n // },\r\n // );\r\n // } else {\r\n // alert('invalid padMode');\r\n // return;\r\n // }\r\n };\r\n // signature cancel send end\r\n\r\n // selection confirm send begin\r\n // const selection_confirm_send = () => {\r\n\r\n // if (padMode == padModes.Default) {\r\n // // default mode\r\n // let status = '';\r\n // for (i = 1; i <= document.getElementById('check_boxes_selectedElements').value; i++) {\r\n // status += 'Feld ' + i + ' = ' + document.getElementById('fieldChecked' + i).checked + '\\n';\r\n // }\r\n // alert(status);\r\n // signature_start();\r\n // } else if (padMode == padModes.API) {\r\n // // API mode\r\n // // do nothing\r\n // } else {\r\n // alert('invalid padMode');\r\n // return;\r\n // }\r\n // };\r\n // selection confirm send end\r\n\r\n // selection change send begin\r\n // const selection_change_send = (fieldId, fieldChecked) => {\r\n\r\n // if (padMode == padModes.Default) {\r\n // // default mode\r\n // for (i = 1; i <= document.getElementById('check_boxes_selectedElements').value; i++) {\r\n // if (document.getElementById('fieldID' + i).value == fieldId) {\r\n // if (fieldChecked == 'TRUE') {\r\n // document.getElementById('fieldChecked' + i).checked = true;\r\n // } else {\r\n // document.getElementById('fieldChecked' + i).checked = false;\r\n // }\r\n // }\r\n // }\r\n // } else if (padMode == padModes.API) {\r\n // // API mode\r\n // // do nothing\r\n // } else {\r\n // alert('invalid padMode');\r\n // return;\r\n // }\r\n // };\r\n // selection change send end\r\n\r\n // selection cancel send begin\r\n // const selection_cancel_send = () => {\r\n\r\n // if (padMode == padModes.Default) {\r\n // // default mode\r\n // const ctx = sigcanvas.getContext('2d');\r\n // ctx.clearRect(0, 0, sigcanvas.width, sigcanvas.height);\r\n // STPadServerLibDefault.cancelSignature()\r\n // .then(function (value) {\r\n // default_close_pad();\r\n // }, STPadServerLibCommons.defaultReject)\r\n // .then(null, function (reason) {\r\n // error_message(reason);\r\n // default_close_pad();\r\n // });\r\n // } else if (padMode == padModes.API) {\r\n // // API mode\r\n // // do nothing\r\n // } else {\r\n // alert('invalid padMode');\r\n // return;\r\n // }\r\n // };\r\n // selection cancel send end\r\n\r\n // error send begin\r\n const error_send = (error_context, return_code, error_description) => {\r\n const ret = return_code;\r\n if (ret < 0) {\r\n logMessage('Failed to confirm the signature. Reason: ' + error_description + ', Context: ' + error_context);\r\n }\r\n };\r\n // error send end\r\n\r\n // api sensor hot spot pressed send begin\r\n const api_sensor_hot_spot_pressed_send = (button) => {\r\n switch (button) {\r\n // cancel signing process\r\n case cancelButton:\r\n signature_cancel_send();\r\n break;\r\n\r\n // restart signing process\r\n case retryButton:\r\n signature_retry_send();\r\n break;\r\n\r\n // confirm signing process\r\n case confirmButton:\r\n signature_confirm_send();\r\n break;\r\n\r\n default:\r\n alert('unknown button id: ' + button);\r\n }\r\n };\r\n // api sensor hot spot pressed send end\r\n\r\n // api display scroll pos changed send begin\r\n function api_display_scroll_pos_changed_send(xPos, yPos) {\r\n logMessage(xPos + ',' + yPos);\r\n }\r\n // api display scroll pos changed send end\r\n\r\n return {\r\n loadSignotec,\r\n unloadSignotec,\r\n clearSignotec,\r\n sendSignotec,\r\n };\r\n};\r\n","import { useCallback } from 'react';\r\nimport { ISignotec, useSignotecConnector } from './useSignotecConnector';\r\n\r\nexport const SignaturePadDeviceName = {\r\n SIGNOTEC_SIGMA: 'Sigma USB',\r\n SIGNOTEC_GAMMA: 'Gamma USB',\r\n};\r\n\r\nexport interface ISignaturePad {\r\n signotecProps: ISignotec;\r\n}\r\n\r\nexport const useSignaturePad = (props: ISignaturePad) => {\r\n const { loadSignotec, unloadSignotec, clearSignotec, sendSignotec } = useSignotecConnector(props.signotecProps);\r\n\r\n const loadSignaturePad = useCallback(() => {\r\n loadSignotec();\r\n }, []);\r\n\r\n const unloadSignaturePad = useCallback((deviceName: string) => {\r\n // if (\r\n // deviceName === SignaturePadDeviceName.SIGNOTEC_SIGMA ||\r\n // deviceName === SignaturePadDeviceName.SIGNOTEC_GAMMA\r\n // ) {\r\n // unloadSignotec();\r\n // }\r\n unloadSignotec();\r\n }, []);\r\n\r\n const clearSignaturePad = useCallback((deviceName: string, canvasRef: any) => {\r\n if (\r\n deviceName === SignaturePadDeviceName.SIGNOTEC_SIGMA ||\r\n deviceName === SignaturePadDeviceName.SIGNOTEC_GAMMA\r\n ) {\r\n clearSignotec(canvasRef);\r\n }\r\n }, []);\r\n\r\n const sendSignaturePad = useCallback((deviceName: string) => {\r\n if (\r\n deviceName === SignaturePadDeviceName.SIGNOTEC_SIGMA ||\r\n deviceName === SignaturePadDeviceName.SIGNOTEC_GAMMA\r\n ) {\r\n sendSignotec();\r\n }\r\n }, []);\r\n\r\n return {\r\n loadSignaturePad,\r\n unloadSignaturePad,\r\n clearSignaturePad,\r\n sendSignaturePad,\r\n };\r\n};\r\n","import * as React from 'react';\r\nimport { useContext, useEffect, useState } from 'react';\r\nimport Col from 'react-bootstrap/esm/Col';\r\nimport Container from 'react-bootstrap/esm/Container';\r\nimport Row from 'react-bootstrap/esm/Row';\r\nimport SigPadContext, { ISignaturePadDevice } from '../../context/sigpadContext';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport { ParagraphFontSize, StyledParagraph } from '../StyledParagraph/StyledParagraph';\r\n\r\ninterface ISignaturePadSignotec {\r\n width: number;\r\n height: number;\r\n margin?: string;\r\n deviceData: ISignaturePadDevice;\r\n onClear: (canvasRef: any) => void; // callback when click on button Clear\r\n onCancel?: () => void; // callback when click on button Cancel\r\n onSign?: () => void; // callback when click on button Signieren\r\n}\r\n\r\nconst SignaturePadSignotec = (props: ISignaturePadSignotec) => {\r\n const { sigpaddispatch } = useContext(SigPadContext);\r\n\r\n const [divWidth, setDivWidth] = useState(700);\r\n const [divHeight, setDivHeight] = useState(300);\r\n const [signaturePadWidth, setSignaturePadWidth] = useState(690);\r\n const [signaturePadHeight, setSignaturePadHeight] = useState(240);\r\n\r\n const canvasSignotec = React.useRef(null);\r\n\r\n useEffect(() => {\r\n sigpaddispatch({\r\n type: 'SETCANVAS',\r\n canvasRef: canvasSignotec,\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n /* explicity set width and height override all other sizes */\r\n if (props.width && props.width > 0) {\r\n setDivWidth(props.width);\r\n setSignaturePadWidth(props.width - 10);\r\n }\r\n if (props.height && props.height > 0) {\r\n setDivHeight(props.height);\r\n setSignaturePadHeight(props.height - 120);\r\n }\r\n }, [props.width, props.height]);\r\n\r\n const onSignaturePadClear = (e: React.MouseEvent) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n props.onClear(canvasSignotec);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n \r\n deviceName: \r\n {props.deviceData.deviceName}\r\n
    \r\n
    \r\n
    \r\n {/* \r\n firmwareVersion: \r\n {props.deviceData.firmwareVersion}\r\n \r\n \r\n serialNumber: \r\n {props.deviceData.serialNumber}\r\n \r\n \r\n canStoreEncryptionKey: \r\n {props.deviceData.canStoreEncryptKey}\r\n \r\n \r\n supportsRSA: \r\n {props.deviceData.supportsRSA}\r\n \r\n \r\n padConnectionType: \r\n {props.deviceData.padConnectionType}\r\n \r\n \r\n padIndex: \r\n {props.deviceData.padIndex}\r\n */}\r\n
    \r\n \r\n Your browser does not support the HTML canvas tag.\r\n \r\n
    \r\n \r\n \r\n \r\n onSignaturePadClear(e)}>\r\n Löschen\r\n \r\n \r\n {props.onCancel !== undefined && (\r\n \r\n \r\n Abbrechen\r\n \r\n \r\n )}\r\n {props.onSign !== undefined && (\r\n \r\n Jetzt signieren\r\n \r\n )}\r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default SignaturePadSignotec;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport styled from 'styled-components';\r\nimport SigPadContext, { ISigData } from '../../../context/sigpadContext';\r\nimport { ISignaturePad, SignaturePadDeviceName, useSignaturePad } from '../../../hooks/useSignaturePad';\r\nimport { ISignotec } from '../../../hooks/useSignotecConnector';\r\nimport { ISignPosData } from '../../../utils/documentUtils';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport { EmbeddedSignDocumentModalContainer } from '../../Div/StyledDiv';\r\nimport SignaturePad from '../../SignaturePad/SignaturePad';\r\nimport SignaturePadSignotec from '../../SignaturePad/SignaturePadSignotec';\r\n\r\nexport const ModalCst = styled(Modal)`\r\n .modal-dialog {\r\n max-width: 90%;\r\n max-height: 90%;\r\n width: 90%;\r\n height: 90%;\r\n margin: 1.75rem auto;\r\n margin-top: 100px;\r\n }\r\n .modal-content {\r\n border-radius: ${(prop) => (prop.borderRadius ? prop.borderRadius : prop.theme.modal.borderRadius)};\r\n box-shadow: ${(prop) => (prop.boxShadow ? prop.boxShadow : prop.theme.modal.boxShadow)};\r\n }\r\n`;\r\n\r\nexport interface ISignDocumentModalShow {\r\n show: boolean;\r\n}\r\n\r\nexport interface ISignDocumentModal {\r\n show: boolean;\r\n embedded: boolean;\r\n onSign(signData: ISigData): void;\r\n onCancel(): void;\r\n onClickClear?: () => void; // clear signature pad done\r\n clickSign?: boolean;\r\n clickClear?: boolean;\r\n signPosData?: ISignPosData;\r\n title?: string | null;\r\n}\r\n\r\nconst SignDocumentModal = (props: ISignDocumentModal) => {\r\n const { sigpadstate, sigpaddispatch } = useContext(SigPadContext);\r\n\r\n const [mouseSignData, setMouseSignData] = useState({\r\n certId: '',\r\n pictureData: '',\r\n rsaSignature: '',\r\n signData: '',\r\n signingCert: '',\r\n });\r\n\r\n const [sendClicked, setSendClicked] = useState(false);\r\n\r\n const signotecProps: ISignotec = {\r\n wsUri: 'wss://local.signotecwebsocket.de:49494',\r\n };\r\n const signaturePadProps: ISignaturePad = { signotecProps: signotecProps };\r\n const { loadSignaturePad, unloadSignaturePad, clearSignaturePad, sendSignaturePad } =\r\n useSignaturePad(signaturePadProps);\r\n\r\n useEffect(() => {\r\n if (props.show) {\r\n loadSignaturePad();\r\n }\r\n\r\n return () => {\r\n unloadSignaturePad(sigpadstate.deviceData.deviceName);\r\n };\r\n }, [props.show]);\r\n\r\n useEffect(() => {\r\n if (sendClicked) {\r\n if (sigpadstate.sigData.pictureData && sigpadstate.sigData.pictureData.length > 0) {\r\n /* Signotec Sign Data */\r\n props.onSign(sigpadstate.sigData);\r\n setSendClicked(false);\r\n } else if (mouseSignData.pictureData && mouseSignData.pictureData.length > 0) {\r\n /* Default Mouse Sign Data*/\r\n props.onSign(mouseSignData);\r\n setSendClicked(false);\r\n }\r\n }\r\n }, [sigpadstate.sigData, mouseSignData, sendClicked]);\r\n\r\n /* ## DEVICE ACTIONS BEGIN ## */\r\n useEffect(() => {\r\n if (sigpadstate?.deviceActions?.sendClicked) {\r\n onSignatureSend();\r\n sigpaddispatch({\r\n type: 'RESETDEVICEACTIONS',\r\n });\r\n }\r\n if (sigpadstate?.deviceActions?.cancelClicked) {\r\n onSignatureCancel();\r\n sigpaddispatch({\r\n type: 'RESETDEVICEACTIONS',\r\n });\r\n }\r\n }, [sigpadstate.deviceActions]);\r\n\r\n /* ## DEVICE ACTIONS END ## */\r\n\r\n const SignaturePadComponent = () => {\r\n if (\r\n sigpadstate.deviceData.deviceName === SignaturePadDeviceName.SIGNOTEC_SIGMA ||\r\n sigpadstate.deviceData.deviceName === SignaturePadDeviceName.SIGNOTEC_GAMMA\r\n ) {\r\n /* Signotec Pad */\r\n return (\r\n \r\n );\r\n } else {\r\n /* withoutDevice - Standard SignaturePad to use with mouse */\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n const onSignaturePadWriteEnd = (sigData) => {\r\n setMouseSignData(sigData);\r\n };\r\n\r\n const onSignatureCancel = () => {\r\n unloadSignaturePad(sigpadstate.deviceData.deviceName);\r\n props.onCancel();\r\n };\r\n\r\n const onSignatureClear = (canvasRef: any) => {\r\n clearSignaturePad(sigpadstate.deviceData.deviceName, canvasRef);\r\n };\r\n\r\n const onSignatureSend = () => {\r\n sendSignaturePad(sigpadstate.deviceData.deviceName);\r\n setSendClicked(true);\r\n };\r\n\r\n return props.embedded && props.show ? (\r\n {SignaturePadComponent()}\r\n ) : (\r\n \r\n \r\n {props.title ? props.title : 'Signieren'}\r\n \r\n {SignaturePadComponent()}\r\n \r\n onSignatureCancel()}>\r\n Abbrechen\r\n \r\n onSignatureSend()}>\r\n Jetzt signieren\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SignDocumentModal;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { NavDropdown } from 'react-bootstrap';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport Row from 'react-bootstrap/Row';\r\nimport { IconBaseProps } from 'react-icons/lib';\r\nimport { Link } from 'react-router-dom';\r\nimport { ThemeContext } from 'styled-components';\r\nimport LoginContext from '../../context/loginContext';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { isMobile } from '../../utils/screenResolution';\r\nimport { CenterRow } from '../Rows/StyledRow';\r\n\r\ninterface ISidebarItem {\r\n route: string;\r\n label: string;\r\n icon: IconBaseProps;\r\n className?: string;\r\n forMoreMenu?: boolean;\r\n}\r\n\r\nconst SidebarItem = (props: ISidebarItem) => {\r\n const themeContext = useContext(ThemeContext);\r\n const { state } = useContext(LoginContext);\r\n const [isActive, setIsActive] = useState(false);\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n useEffect(() => {\r\n if (state.activeSidebarItem === props.label || state.activeSidebarItem === props.route) {\r\n setIsActive(true);\r\n } else {\r\n setIsActive(false);\r\n }\r\n }, [state.activeSidebarItem]);\r\n\r\n if (isMobile(screenSize.width)) {\r\n if (props.forMoreMenu) {\r\n return (\r\n \r\n \r\n \r\n {props.icon}\r\n {props.label}\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {props.icon}\r\n \r\n \r\n {props.label}\r\n \r\n \r\n \r\n );\r\n }\r\n } else {\r\n return (\r\n \r\n \r\n \r\n \r\n
    {props.icon}
    \r\n \r\n \r\n {props.label}\r\n \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default SidebarItem;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { NavDropdown } from 'react-bootstrap';\r\nimport Nav from 'react-bootstrap/Nav';\r\nimport { FaChartPie, FaWeight } from 'react-icons/fa';\r\nimport { GiLiver } from 'react-icons/gi';\r\nimport { ImDroplet, ImTable } from 'react-icons/im';\r\nimport {\r\n RiBarChart2Line,\r\n RiCalendarCheckLine,\r\n RiCalendarEventLine,\r\n RiCameraLine,\r\n RiFileList2Line,\r\n RiFolder2Line,\r\n RiFootprintFill,\r\n RiGitMergeLine,\r\n RiHospitalLine,\r\n RiLiveLine,\r\n RiMenuFill,\r\n RiTaskLine,\r\n RiUserSearchFill,\r\n} from 'react-icons/ri';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { Paths } from '../../Routes';\r\nimport LoginContext from '../../context/loginContext';\r\nimport { securityItemNames } from '../../globals/global';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { useSecurityItems } from '../../hooks/useSecurityItems';\r\nimport { charts, tables } from '../../utils/chartUtils';\r\nimport { isMobile } from '../../utils/screenResolution';\r\nimport SidebarItem from '../SidebarItems/SidebarItem';\r\n\r\nconst SidebarItemList = () => {\r\n const navigate = useNavigate();\r\n const { state, dispatch } = useContext(LoginContext);\r\n const [itemOrderIsSet, setItemOrderIsSet] = useState(false);\r\n const {\r\n isPatListEnabled,\r\n isDokumenteEnabled,\r\n isTermineEnabled,\r\n isFotosEnabled,\r\n isMedikationEnabled,\r\n isTagesplanEnabled,\r\n isFragebogenEnabled,\r\n isVideochatEnabled,\r\n isChartsEnabled,\r\n isChartsWeightEnabled,\r\n isChartsBodyFatEnabled,\r\n isChartsBloodSugarEnabled,\r\n isChartsFLIEnabled,\r\n isChartsSAMEnabled,\r\n isChartsActivityEnabled,\r\n isTableVALEnabled,\r\n isJourneyEnabled,\r\n isTodoEnabled,\r\n getTabOrder,\r\n setActiveSidebarItem,\r\n } = useSecurityItems();\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n useEffect(() => {\r\n if (!state.setOfInitPageDone) {\r\n dispatch({\r\n type: 'SETOFINITPAGEDONE',\r\n setOfInitPageDone: true,\r\n });\r\n if (isJourneyEnabled()) {\r\n setActiveSidebarItem(Paths.JOURNEY);\r\n navigate(Paths.JOURNEY);\r\n } else {\r\n const defaultPage = getDefaultPage();\r\n setActiveSidebarItem(defaultPage);\r\n navigate(defaultPage);\r\n }\r\n }\r\n }, [state.setOfInitPageDone]);\r\n\r\n const getDefaultPage = () => {\r\n /* Default Page when no TAB_ORDER from SecurityItems*/\r\n let route = Paths.DOKUMENTE;\r\n if (state.practitionerRoleId) {\r\n route = Paths.PATLIST;\r\n }\r\n const tabOrderFromSecurityItems = getTabOrder();\r\n if (tabOrderFromSecurityItems.length > 0) {\r\n /* first item from SecurityItems.TAB_ORDER is defaultPage */\r\n const firstItem = tabOrderFromSecurityItems[0];\r\n if (firstItem !== undefined && firstItem === securityItemNames.JOURNEY && isJourneyEnabled()) {\r\n route = Paths.JOURNEY;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.PATLIST) {\r\n route = Paths.PATLIST;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.DOKUMENT) {\r\n route = Paths.DOKUMENTE;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.TERMINE) {\r\n route = Paths.TERMINE;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.FOTOS) {\r\n route = Paths.FOTOS;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.MEDIKATION) {\r\n route = Paths.MEDIKATION;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.TAGESPLAN) {\r\n route = Paths.TAGESPLAN;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.FRAGEBOGEN) {\r\n route = Paths.FRAGEBOGEN;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.VIDEO) {\r\n route = Paths.VIDEOCHAT;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS) {\r\n route = Paths.CHARTS;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS_WEIGHT) {\r\n route = Paths.CHARTS_GEWICHT;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS_FATMASS) {\r\n route = Paths.CHARTS_FETTMASSE;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS_BLOODSUGAR) {\r\n route = Paths.CHARTS_BLUTZUCKER;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS_FLI) {\r\n route = Paths.CHARTS_FLI;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS_SAM) {\r\n route = Paths.CHARTS_SAM;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.CHARTS_ACTIVITY) {\r\n route = Paths.CHARTS_ACTIVITY;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.TABLE_VAL) {\r\n route = Paths.TABLE_VAL;\r\n }\r\n if (firstItem !== undefined && firstItem === securityItemNames.TODO) {\r\n route = Paths.TODO;\r\n }\r\n }\r\n\r\n return route;\r\n };\r\n\r\n const isPhysicanLoginWithoutSelectedPatient = () => {\r\n if (state.practitionerRoleId && (state.activePatient === undefined || state.activePatient.length <= 0)) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const showPatList = (forMoreMenu: boolean) => {\r\n if (isPatListEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showDokumente = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isDokumenteEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showTermine = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isTermineEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFotos = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isFotosEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showMedikation = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isMedikationEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showTagesplan = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isTagesplanEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showFragebogen = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isFragebogenEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showVideochat = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isVideochatEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showJourney = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isJourneyEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showCharts = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isChartsEnabled()) {\r\n return (\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showChartWeight = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isChartsWeightEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showChartBodyFat = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isChartsBodyFatEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showChartBloodSugar = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n // if (true) {\r\n if (isChartsBloodSugarEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showChartFLI = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n // if (true) {\r\n if (isChartsFLIEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showChartSAM = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n // if (true) {\r\n if (isChartsSAMEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showChartActivity = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n // if (true) {\r\n if (isChartsActivityEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showTableVAL = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n // if (true) {\r\n if (isTableVALEnabled()) {\r\n return (\r\n
    \r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const showTodo = (forMoreMenu: boolean) => {\r\n if (isPhysicanLoginWithoutSelectedPatient()) {\r\n return null;\r\n }\r\n if (isTodoEnabled()) {\r\n return (\r\n <>\r\n }\r\n forMoreMenu={forMoreMenu}\r\n >\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n interface IOrderSidebarItems {\r\n securityItemName: string;\r\n item: any;\r\n forMoreMenu: boolean;\r\n }\r\n\r\n const orderSidebarItemsWorkflow = (startItemNr: number, tabOrderList: string[], maxSidebarItems: number) => {\r\n const allSidebarItems: IOrderSidebarItems[] = [];\r\n\r\n let itemNr = startItemNr;\r\n tabOrderList.forEach((tab) => {\r\n let forMoreMenu = false;\r\n\r\n if (maxSidebarItems > 0 && itemNr >= maxSidebarItems - 1) {\r\n forMoreMenu = true;\r\n }\r\n if (tab !== undefined && tab === securityItemNames.JOURNEY) {\r\n const journey = showJourney(forMoreMenu);\r\n if (journey) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.JOURNEY,\r\n item: journey,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.PATLIST) {\r\n const patList = showPatList(forMoreMenu);\r\n if (patList) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.PATLIST,\r\n item: patList,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.DOKUMENT) {\r\n const dokumente = showDokumente(forMoreMenu);\r\n if (dokumente) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.DOKUMENT,\r\n item: dokumente,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.TERMINE) {\r\n const termine = showTermine(forMoreMenu);\r\n if (termine) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.TERMINE,\r\n item: termine,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.FOTOS) {\r\n const fotos = showFotos(forMoreMenu);\r\n if (fotos) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.FOTOS,\r\n item: fotos,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.MEDIKATION) {\r\n const medikation = showMedikation(forMoreMenu);\r\n if (medikation) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.MEDIKATION,\r\n item: medikation,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.TAGESPLAN) {\r\n const tagesplan = showTagesplan(forMoreMenu);\r\n if (tagesplan) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.TAGESPLAN,\r\n item: tagesplan,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.FRAGEBOGEN) {\r\n const fragebogen = showFragebogen(forMoreMenu);\r\n if (fragebogen) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.FRAGEBOGEN,\r\n item: fragebogen,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.VIDEO) {\r\n const videochat = showVideochat(forMoreMenu);\r\n if (videochat) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.VIDEO,\r\n item: videochat,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS) {\r\n const charts = showCharts(forMoreMenu);\r\n if (charts) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS,\r\n item: charts,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS_WEIGHT) {\r\n const chartWeight = showChartWeight(forMoreMenu);\r\n if (chartWeight) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS_WEIGHT,\r\n item: chartWeight,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS_FATMASS) {\r\n const chartBodyFat = showChartBodyFat(forMoreMenu);\r\n if (chartBodyFat) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS_FATMASS,\r\n item: chartBodyFat,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS_BLOODSUGAR) {\r\n const chartBloodSugar = showChartBloodSugar(forMoreMenu);\r\n if (chartBloodSugar) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS_BLOODSUGAR,\r\n item: chartBloodSugar,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS_FLI) {\r\n const chartFLI = showChartFLI(forMoreMenu);\r\n if (chartFLI) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS_FLI,\r\n item: chartFLI,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS_SAM) {\r\n const chartSAM = showChartSAM(forMoreMenu);\r\n if (chartSAM) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS_SAM,\r\n item: chartSAM,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.CHARTS_ACTIVITY) {\r\n const chartActivity = showChartActivity(forMoreMenu);\r\n if (chartActivity) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.CHARTS_ACTIVITY,\r\n item: chartActivity,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.TABLE_VAL) {\r\n const tableVAL = showTableVAL(forMoreMenu);\r\n if (tableVAL) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.TABLE_VAL,\r\n item: tableVAL,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n if (tab !== undefined && tab === securityItemNames.TODO) {\r\n const todo = showTodo(forMoreMenu);\r\n if (todo) {\r\n itemNr++;\r\n allSidebarItems.push({\r\n securityItemName: securityItemNames.TODO,\r\n item: todo,\r\n forMoreMenu: forMoreMenu,\r\n });\r\n }\r\n }\r\n });\r\n\r\n return allSidebarItems;\r\n };\r\n\r\n const orderedSidebarItems = (maxSidebarItems: number) => {\r\n /* INFO: the defaultPage (first page after login) is defined in getDefaultPage() */\r\n\r\n const allSidebarItems: any[] = [];\r\n const allSidebarMoreMenuItems: any[] = [];\r\n const allSidebarItemNames: string[] = [];\r\n\r\n const defaultTabOrder = [\r\n securityItemNames.JOURNEY,\r\n securityItemNames.PATLIST,\r\n securityItemNames.DOKUMENT,\r\n securityItemNames.TERMINE,\r\n securityItemNames.FOTOS,\r\n securityItemNames.MEDIKATION,\r\n securityItemNames.TAGESPLAN,\r\n securityItemNames.FRAGEBOGEN,\r\n securityItemNames.VIDEO,\r\n securityItemNames.CHARTS,\r\n securityItemNames.CHARTS_WEIGHT,\r\n securityItemNames.CHARTS_FATMASS,\r\n securityItemNames.CHARTS_BLOODSUGAR,\r\n securityItemNames.CHARTS_SAM,\r\n securityItemNames.CHARTS_FLI,\r\n securityItemNames.CHARTS_ACTIVITY,\r\n securityItemNames.TABLE_VAL,\r\n securityItemNames.TODO,\r\n ];\r\n\r\n const tabOrderFromSecurityItems = getTabOrder();\r\n let doTabOrderFromSecItems = false;\r\n if (tabOrderFromSecurityItems.length > 0) {\r\n /* ORDER FROM SECURITY ITEMS */\r\n doTabOrderFromSecItems = true;\r\n tabOrderFromSecurityItems.forEach((tab) => {\r\n /* delete from the default list */\r\n delete defaultTabOrder[defaultTabOrder.indexOf(tab)];\r\n });\r\n }\r\n\r\n /* ORDER FROM SECURITY ITEMS */\r\n if (doTabOrderFromSecItems) {\r\n const orderedSidebarItemsSecItems = orderSidebarItemsWorkflow(\r\n 0,\r\n tabOrderFromSecurityItems,\r\n maxSidebarItems,\r\n );\r\n\r\n orderedSidebarItemsSecItems.forEach((e) => {\r\n if (e.forMoreMenu) {\r\n allSidebarMoreMenuItems.push(e.item);\r\n } else {\r\n allSidebarItems.push(e.item);\r\n }\r\n\r\n allSidebarItemNames.push(e.securityItemName);\r\n });\r\n\r\n // allSidebarItems.push(orderSidebarItemsWorkflow(tabOrderFromSecurityItems));\r\n }\r\n\r\n /* REST FROM DEFAULT LIST */\r\n const orderedSidebarItemsDefault = orderSidebarItemsWorkflow(\r\n allSidebarItems.length,\r\n defaultTabOrder,\r\n maxSidebarItems,\r\n );\r\n orderedSidebarItemsDefault.forEach((e) => {\r\n if (e.forMoreMenu) {\r\n allSidebarMoreMenuItems.push(e.item);\r\n } else {\r\n allSidebarItems.push(e.item);\r\n }\r\n allSidebarItemNames.push(e.securityItemName);\r\n });\r\n // allSidebarItems.push(orderSidebarItemsWorkflow(defaultTabOrder));\r\n\r\n if (!itemOrderIsSet) {\r\n dispatch({\r\n type: 'SETFINALSECURITYITEMSORDER',\r\n finalSecurityItemsOrder: allSidebarItemNames,\r\n });\r\n setItemOrderIsSet(true);\r\n }\r\n\r\n if (allSidebarMoreMenuItems.length > 0) {\r\n const dropdown = (\r\n }\r\n id=\"moreMenu-collasible-nav-dropdown\"\r\n drop=\"up\"\r\n alignRight\r\n >\r\n {allSidebarMoreMenuItems}\r\n \r\n );\r\n\r\n allSidebarItems.push(dropdown);\r\n }\r\n\r\n return allSidebarItems;\r\n };\r\n\r\n const handleSidebarItemClick = (eventKey) => {\r\n setActiveSidebarItem(eventKey);\r\n };\r\n\r\n const getMaxSidebarItems = () => {\r\n let maxSidebarItems = 0;\r\n\r\n if (isMobile(screenSize.width)) {\r\n if (screenSize.width < 295) {\r\n maxSidebarItems = 3;\r\n } else if (screenSize.width < 354) {\r\n maxSidebarItems = 4;\r\n } else if (screenSize.width < 490) {\r\n maxSidebarItems = 5;\r\n } else if (screenSize.width < 620) {\r\n maxSidebarItems = 6;\r\n } else if (screenSize.width < 720) {\r\n maxSidebarItems = 7;\r\n } else {\r\n maxSidebarItems = 8;\r\n }\r\n }\r\n\r\n return maxSidebarItems;\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n {/* }> */}\r\n {orderedSidebarItems(getMaxSidebarItems())}\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default SidebarItemList;\r\n","import { AlertOnHide, AlertType } from '../context/alertContext';\r\n\r\nexport interface IAlertMessageWithoutDispatch {\r\n alertTitle: string;\r\n alertTxt: string;\r\n alertType: AlertType;\r\n onHide: AlertOnHide;\r\n onHideCustom?: any;\r\n buttonName?: string;\r\n doBig?: boolean;\r\n doHTML?: boolean;\r\n}\r\nexport interface IAlertMessage extends IAlertMessageWithoutDispatch {\r\n alertdispatch: React.Dispatch;\r\n}\r\n\r\nexport const showAlertMessage = (props: IAlertMessage) => {\r\n props.alertdispatch({\r\n type: 'SETSHOWALERTMESSAGE',\r\n alertMessage: {\r\n showModal: true,\r\n alertTitle: props.alertTitle,\r\n alertTxt: props.alertTxt,\r\n alertType: props.alertType,\r\n onHide: props.onHide,\r\n onHideCustom: props.onHideCustom,\r\n buttonName: props.buttonName ? props.buttonName : 'OK',\r\n doBig: props.doBig ? props.doBig : false,\r\n doHTML: props.doHTML ? props.doHTML : false,\r\n },\r\n });\r\n};\r\n\r\nexport const resetShowAlertMessage = (alertdispatch: any) => {\r\n alertdispatch({\r\n type: 'RESETSHOWALERTMESSAGE',\r\n });\r\n};\r\n","import { makeStyles, Step, StepButton, StepLabel, Stepper } from '@material-ui/core';\r\nimport { useEffect, useState } from 'react';\r\nimport OverlayTrigger from 'react-bootstrap/esm/OverlayTrigger';\r\nimport Tooltip from 'react-bootstrap/esm/Tooltip';\r\nimport { IQuestionnaireWL } from '../../container/Fragebogen/QuestionnaireWL';\r\nimport { pcpTheme } from '../../globals/theme';\r\nimport './Stepper.css';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { BsStackOverflow } from 'react-icons/bs';\r\nimport { MdVisibility } from 'react-icons/md';\r\n\r\nexport enum StepperOrientation {\r\n Horizontal,\r\n Vertical,\r\n}\r\n\r\nexport enum StepperLabelOrientation {\r\n Right,\r\n Bottom,\r\n}\r\n\r\nexport enum StepTyp {\r\n Normal = 'NORMAL',\r\n Journey = 'JOURNEY',\r\n}\r\n\r\nexport interface IStepperCheckInStep {\r\n id: string;\r\n name: string;\r\n typ: StepTyp;\r\n completed: boolean;\r\n draft: boolean;\r\n active: boolean;\r\n clickable: boolean;\r\n url?: string;\r\n hashParams?: IQuestionnaireWL;\r\n}\r\n\r\nexport interface IStepperCheckIn {\r\n steps: IStepperCheckInStep[];\r\n backgroundColor?: string;\r\n handleStepClick(stepNumberClicked: number): void;\r\n stepperOrientation: StepperOrientation;\r\n labelOrientation: StepperLabelOrientation;\r\n paddingTop?: number | string;\r\n paddingBottom?: number | string;\r\n}\r\n\r\nconst useStyles = makeStyles({\r\n root: {\r\n '& .MuiStepIcon-root': { color: 'gray' },\r\n '& .MuiStepIcon-completed': { color: pcpTheme.step.completed + ' !important' },\r\n '& .MuiStepIcon-active': { color: pcpTheme.step.active + ' !important' } /*{ color: 'rgb(36, 94, 173)' },*/,\r\n '& .Mui-disabled .MuiStepIcon-root': { color: '#bab9b9 !important' },\r\n // '& .MuiStepLabel-alternativeLabel': { marginTop: '10px', marginBottom: '30px', color: 'white', width: '100%' },\r\n '& .MuiStep-alternativeLabel': { overflow: 'clip', minWidth: '0px', overflowClipMargin: 'content-box 500px' },\r\n '& .MuiStepLabel-alternativeLabel': { overflow: 'hidden' },\r\n '& .MuiStepLabel-label': {\r\n color: 'black',\r\n textAlign: 'left',\r\n whiteSpace: 'nowrap',\r\n textOverflow: 'ellipsis',\r\n overflow: 'hidden',\r\n },\r\n '& .MuiStepLabel-active .MuiStepLabel-label': {\r\n fontWeight: '530',\r\n },\r\n '& .MuiStepConnector-lineVertical': { minHeight: '60px' },\r\n '& .MuiStepConnector-horizontal': { visibility: 'visible', position: 'absolute' },\r\n '& .MuiStepConnector-lineHorizontal': { visibility: 'visible !important', position: 'static' },\r\n },\r\n stepButtonDraft: {\r\n '& .MuiStepIcon-root': { color: '#0080009c' },\r\n },\r\n});\r\n// const useStyles = makeStyles({\r\n// root: {\r\n// '& .MuiStepIcon-root': { color: 'gray' },\r\n// '& .MuiStepIcon-completed': { color: pcpTheme.step.completed + ' !important' },\r\n// '& .MuiStepIcon-active': { color: pcpTheme.step.active + ' !important' } /*{ color: 'rgb(36, 94, 173)' },*/,\r\n// '& .Mui-disabled .MuiStepIcon-root': { color: '#bab9b9 !important' },\r\n// '& .MuiStepLabel-alternativeLabel': { marginTop: '10px', marginBottom: '30px', color: 'white', width: '100%' },\r\n// '& .MuiStepLabel-label': { color: 'white', width: '100%', textAlign: 'left' },\r\n// '& .MuiStepConnector-lineVertical': { minHeight: '60px' },\r\n// },\r\n// stepButtonDraft: {\r\n// '& .MuiStepIcon-root': { color: '#0080009c' },\r\n// },\r\n// });\r\n\r\nconst StepperCheckIn = (props: IStepperCheckIn) => {\r\n const classes = useStyles();\r\n\r\n const [activeStep, setActiveStep] = useState(0);\r\n const [completed, setCompleted] = useState({});\r\n const [steps, setSteps] = useState([\r\n {\r\n id: '',\r\n name: '',\r\n typ: StepTyp.Normal,\r\n completed: false,\r\n draft: false,\r\n active: false,\r\n clickable: false,\r\n url: '',\r\n },\r\n ]);\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n // const steps = ['Select campaign settings', 'Create an ad group', 'Create an ad'];\r\n\r\n const haveStepsChanged = () => {\r\n let isSame = false;\r\n let currentSteps;\r\n let newSteps;\r\n\r\n if (props.steps) {\r\n currentSteps = steps.map((step) => step.id);\r\n newSteps = props.steps.map((step) => step.id);\r\n }\r\n\r\n isSame =\r\n currentSteps.length === newSteps.length && currentSteps.every((value, index) => value === newSteps[index]);\r\n return !isSame;\r\n };\r\n\r\n useEffect(() => {\r\n let newCompleted = completed;\r\n let activeIndex = 0;\r\n\r\n if (props.steps) {\r\n if (haveStepsChanged()) {\r\n newCompleted = {};\r\n setActiveStep(0);\r\n }\r\n if (props.steps.length > 0) {\r\n props.steps.forEach((step, index) => {\r\n if (step.active) {\r\n activeIndex = index;\r\n }\r\n if (step.completed) {\r\n newCompleted[index] = true;\r\n }\r\n });\r\n }\r\n setCompleted(newCompleted);\r\n setActiveStep(activeIndex);\r\n\r\n setSteps(props.steps);\r\n }\r\n }, [props.steps]);\r\n\r\n const totalSteps = () => {\r\n return steps.length;\r\n };\r\n\r\n const completedSteps = () => {\r\n return Object.keys(completed).length;\r\n };\r\n\r\n const allStepsCompleted = () => {\r\n return completedSteps() === totalSteps();\r\n };\r\n\r\n const handleStep = (step) => () => {\r\n setActiveStep(step);\r\n props.handleStepClick(step);\r\n };\r\n\r\n // const handleComplete = () => {\r\n // const newCompleted = completed;\r\n // newCompleted[activeStep] = true;\r\n // setCompleted(newCompleted);\r\n // };\r\n\r\n const getTooltipText = (isCompleted: boolean, isDraft: boolean) => {\r\n let text = 'noch offen';\r\n if (isCompleted) {\r\n text = 'abgeschlossen';\r\n } else if (isDraft) {\r\n text = 'zwischengespeichert';\r\n }\r\n return text;\r\n };\r\n\r\n const getStepperOrientation = () => {\r\n if (props.stepperOrientation === StepperOrientation.Vertical) {\r\n return 'vertical';\r\n } else {\r\n return 'horizontal';\r\n }\r\n };\r\n\r\n const getStepperLabelOrientation = () => {\r\n if (props.labelOrientation === StepperLabelOrientation.Right) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n {steps.map((label, index) => (\r\n \r\n \r\n \r\n {getTooltipText(completed[index], label.draft)}\r\n \r\n }\r\n >\r\n {label.name}\r\n \r\n \r\n \r\n ))}\r\n \r\n
    {allStepsCompleted() ? <>{/*

    Alles erledigt

    */} : <>}
    \r\n \r\n );\r\n};\r\n\r\nexport default StepperCheckIn;\r\n","import { createContext } from 'react';\r\nimport { ILink } from './loginContext';\r\n\r\nexport interface IRegistrationFields {\r\n birthDate: boolean;\r\n city: boolean;\r\n country: boolean;\r\n email: boolean;\r\n firstName: boolean;\r\n gender: boolean;\r\n lastName: boolean;\r\n phone: boolean;\r\n street: boolean;\r\n zip: boolean;\r\n insuranceNr: boolean;\r\n mobilePhone: boolean;\r\n academicTitle: boolean;\r\n insuranceName: boolean;\r\n language: boolean;\r\n privacyTerms: boolean;\r\n}\r\n\r\nexport interface IAppointmentSummary {\r\n behandler: boolean;\r\n fach: boolean;\r\n pflege: boolean;\r\n raum: boolean;\r\n standort: boolean;\r\n}\r\n\r\nexport interface IAppointmentGeneral {\r\n skipBehandlersuche?: boolean;\r\n}\r\n\r\nexport interface ICustomTexts {\r\n CredentialsLost: string;\r\n}\r\n\r\nexport interface IImpressum {\r\n impressumLink: string;\r\n datenschutzLink: string;\r\n}\r\n\r\nexport interface IAnmeldeContexts {\r\n code: string;\r\n name: string;\r\n}\r\n\r\nexport type InitialAppPropsType = {\r\n appPropsSet: boolean;\r\n Appointment?: IAppointmentGeneral;\r\n AppointmentSummary: IAppointmentSummary;\r\n RegistrationMandFields: IRegistrationFields;\r\n RegistrationVisibleFields: IRegistrationFields;\r\n RegistrationReadOnlyFields: IRegistrationFields;\r\n allowAccountAfterAppointment: boolean;\r\n allowAccountCreateDirect: boolean;\r\n allowAppointments: boolean;\r\n allowAppointmentsEinweiser: boolean;\r\n allowAppointmentsWithoutLogin: boolean;\r\n allowDirectAppointments: boolean;\r\n allowDirectAppointmentsWithoutLogin: boolean;\r\n allowLogin: boolean;\r\n allowVideo: boolean;\r\n allowVideoWithoutLogin: boolean;\r\n allowAccountInAnmeldeworkflow: boolean;\r\n brandingBytes: string;\r\n brandigType: string;\r\n extraLinks: Array;\r\n customTexts: ICustomTexts;\r\n showMobileQR: boolean;\r\n jitsiDomain: string;\r\n jitsiOptions: any;\r\n impressum: IImpressum;\r\n anmeldeContexts: Array;\r\n countDaysToVisualize?: number;\r\n extendedPhysicians: boolean;\r\n allowChat: boolean;\r\n fullscreenMode: boolean;\r\n googleAnalyticsID?: string;\r\n tileTexts?: any;\r\n smtpUser?: string;\r\n mailFromAddress?: string;\r\n possibleCountries: string;\r\n availableLanguages: string;\r\n disableTerms: boolean;\r\n};\r\n\r\nexport const InitialAppPropsState = {\r\n appPropsSet: false,\r\n Appointment: {\r\n skipBehandlersuche: false,\r\n },\r\n AppointmentSummary: {\r\n behandler: true,\r\n fach: true,\r\n pflege: true,\r\n raum: true,\r\n standort: true,\r\n },\r\n RegistrationMandFields: {\r\n birthDate: false,\r\n city: false,\r\n country: false,\r\n email: true,\r\n firstName: true,\r\n gender: false,\r\n lastName: true,\r\n phone: false,\r\n street: false,\r\n zip: false,\r\n insuranceNr: false,\r\n mobilePhone: false,\r\n academicTitle: false,\r\n insuranceName: false,\r\n language: false,\r\n privacyTerms: false,\r\n },\r\n RegistrationVisibleFields: {\r\n birthDate: true,\r\n city: true,\r\n country: true,\r\n email: true,\r\n firstName: true,\r\n gender: true,\r\n lastName: true,\r\n phone: true,\r\n street: true,\r\n zip: true,\r\n insuranceNr: false,\r\n mobilePhone: true,\r\n academicTitle: true,\r\n insuranceName: true,\r\n language: true,\r\n privacyTerms: false,\r\n },\r\n RegistrationReadOnlyFields: {\r\n birthDate: false,\r\n city: false,\r\n country: false,\r\n email: false,\r\n firstName: false,\r\n gender: false,\r\n lastName: false,\r\n phone: false,\r\n street: false,\r\n zip: false,\r\n insuranceNr: false,\r\n mobilePhone: false,\r\n academicTitle: false,\r\n insuranceName: false,\r\n language: false,\r\n privacyTerms: false,\r\n },\r\n allowAccountAfterAppointment: false,\r\n allowAccountCreateDirect: false,\r\n allowAppointments: false,\r\n allowAppointmentsEinweiser: false,\r\n allowAppointmentsWithoutLogin: false,\r\n allowDirectAppointments: false,\r\n allowDirectAppointmentsWithoutLogin: false,\r\n allowLogin: false,\r\n allowVideo: false,\r\n allowVideoWithoutLogin: false,\r\n allowAccountInAnmeldeworkflow: true,\r\n brandingBytes: '',\r\n brandigType: '',\r\n extraLinks: [],\r\n customTexts: {\r\n CredentialsLost: '',\r\n },\r\n showMobileQR: true,\r\n jitsiDomain: '',\r\n jitsiOptions: null,\r\n impressum: {\r\n impressumLink: '',\r\n datenschutzLink: '',\r\n },\r\n anmeldeContexts: [],\r\n countDaysToVisualize: 0,\r\n extendedPhysicians: false,\r\n allowChat: false,\r\n fullscreenMode: false,\r\n googleAnalyticsID: '',\r\n tileTexts: {},\r\n smtpUser: '',\r\n mailFromAddress: '',\r\n possibleCountries: '',\r\n availableLanguages: 'de',\r\n disableTerms: false,\r\n};\r\n\r\nconst AppPropsContext = createContext<{\r\n apstate: InitialAppPropsType;\r\n apdispatch: React.Dispatch;\r\n}>({\r\n apstate: InitialAppPropsState,\r\n apdispatch: () => null,\r\n});\r\n\r\nexport default AppPropsContext;\r\n","import { useContext } from 'react';\r\nimport FormControl from 'react-bootstrap/FormControl';\r\nimport InputGroup from 'react-bootstrap/InputGroup';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\n\r\ninterface IRemarkInputField {\r\n groupText?: string;\r\n}\r\n\r\nconst RemarkInputField = (props: IRemarkInputField) => {\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n\r\n const setRemark = (value: string) => {\r\n tmdispatch({\r\n type: 'SETREMARK',\r\n remark: value,\r\n });\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n {props.groupText ? props.groupText : 'Grund für Termin'}\r\n \r\n \r\n setRemark(e.target.value)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default RemarkInputField;\r\n","import { useContext, useEffect } from 'react';\r\nimport CheckInContext from '../../context/checkInContext';\r\nimport { usePersonalData } from '../../hooks/usePersonalData';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport AppointmentPersonalData, { IAppointmentPersonalData } from './AppointmentPersonalData';\r\nimport ScanUtils, { BarcodeScanCallback } from '../../hooks/barcodeKeyHandler';\r\nimport { showAlertMessage } from '../../utils/alertHandling';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../context/alertContext';\r\n\r\ninterface IAppointmentPersonalDataWithCardRead extends IAppointmentPersonalData {\r\n showCardReadButton: boolean;\r\n onCardReadClick?(): void;\r\n}\r\n\r\nconst AppointmentPersonalDataWithCardRead = (props: IAppointmentPersonalDataWithCardRead) => {\r\n const { readCardDataAndSetPersonalData, readKVDataAndSetPersonalData } = usePersonalData();\r\n const { checkinstate } = useContext(CheckInContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n\r\n const readEGKCard = async () => {\r\n readCardDataAndSetPersonalData(checkinstate.wpName);\r\n };\r\n\r\n const handleCardReadClick = (e: any) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n\r\n readEGKCard();\r\n if (props.onCardReadClick) {\r\n props.onCardReadClick();\r\n }\r\n };\r\n\r\n const barcodeScannerCallback: BarcodeScanCallback = (txt) => {\r\n if (txt.startsWith('06\\t')) {\r\n readKVDataAndSetPersonalData(txt);\r\n if (props.onCardReadClick) {\r\n props.onCardReadClick();\r\n }\r\n } else {\r\n showAlertMessage({\r\n alertTitle: 'Unbekannter Barcode',\r\n alertTxt: 'An dieser Stelle sind nur Überweisungen erlaubt.',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n alertdispatch: alertdispatch,\r\n });\r\n }\r\n };\r\n useEffect(() => {\r\n const bc = ScanUtils();\r\n if (bc) {\r\n bc.startup(document.getElementById('MainPatData'), '', barcodeScannerCallback);\r\n }\r\n return () => {\r\n if (bc) {\r\n bc.removeListeners(document.getElementById('MainPatData'));\r\n }\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n
    \r\n {props.showCardReadButton && (\r\n

    \r\n handleCardReadClick(e)}>Karte lesen\r\n

    \r\n )}\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AppointmentPersonalDataWithCardRead;\r\n","import { Button } from 'react-bootstrap';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport AppointmentPersonalData, { IAppointmentPersonalData } from './AppointmentPersonalData';\r\n\r\ninterface IAppointmentPersonalDataWithLogin extends IAppointmentPersonalData {\r\n showLogin: boolean;\r\n showRegistrationCbx: boolean;\r\n onLoginClick?(): void;\r\n}\r\n\r\nconst AppointmentPersonalDataWithLogin = (props: IAppointmentPersonalDataWithLogin) => {\r\n const { t } = useLanguage();\r\n\r\n const handleLoginClick = (e: any) => {\r\n if (e) {\r\n e.currentTarget.blur();\r\n }\r\n if (props.onLoginClick) {\r\n props.onLoginClick();\r\n }\r\n };\r\n\r\n const showLogin = () => {\r\n if (props.isPhysPat) {\r\n return false;\r\n }\r\n if (props.showLogin) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {showLogin() && (\r\n

    \r\n {t('ANMELD', 'Haben Sie bereits einen Account?')}\r\n \r\n

    \r\n )}\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AppointmentPersonalDataWithLogin;\r\n","import * as React from 'react';\r\nimport { Alert, Row } from 'react-bootstrap';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Form from 'react-bootstrap/Form';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport StyledCol from '../../Cols/StyledCol';\r\nimport { StyledModal } from '../StyledModal/StyledModal';\r\n\r\nexport interface ICancelConfirmModalShow {\r\n show: boolean;\r\n}\r\n\r\ninterface ICancelConfirmModal extends ICancelConfirmModalShow {\r\n onHide: () => void;\r\n onSubmit: () => void;\r\n}\r\n\r\nconst CancelConfirmModal = (props: ICancelConfirmModal) => {\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n {\r\n props.onSubmit();\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Abbrechen\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n

    Möchten Sie wirklich abbrechen? Ihre eingegebenen Daten gehen dabei verloren.

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n Zurück\r\n \r\n \r\n \r\n Abbrechen\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CancelConfirmModal;\r\n","import * as React from 'react';\r\nimport { useState } from 'react';\r\nimport Col from 'react-bootstrap/Col';\r\nimport Container from 'react-bootstrap/Container';\r\nimport Form from 'react-bootstrap/Form';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Row from 'react-bootstrap/Row';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport StyledCol from '../../Cols/StyledCol';\r\nimport { StyledFormLabelForInput } from '../../StyledForm/SyledForm';\r\nimport { StyledModal } from '../StyledModal/StyledModal';\r\n\r\nexport interface ICodeInputModalShow {\r\n show: boolean;\r\n modalTitle: string;\r\n modalText: string;\r\n}\r\n\r\ninterface ICodeInputModal {\r\n show: boolean;\r\n modalTitle: string;\r\n modalText: string;\r\n onHide: () => void;\r\n onSubmit: (code: string) => void;\r\n}\r\n\r\nexport const CodeInputModal = (props: ICodeInputModal) => {\r\n const [code, setCode] = useState('');\r\n\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n if (event) {\r\n event.currentTarget.blur();\r\n }\r\n setCode('');\r\n props.onSubmit(code);\r\n };\r\n\r\n return (\r\n \r\n \r\n {props.modalTitle}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {props.modalText}\r\n setCode(e.target.value)}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Abbrechen\r\n \r\n \r\n \r\n Absenden\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CodeInputModal;\r\n","import produce from 'immer';\r\nimport { useContext, useEffect, useRef, useState } from 'react';\r\nimport { Modal, Row } from 'react-bootstrap';\r\nimport Lottie from 'react-lottie';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { Paths } from '../../Routes';\r\nimport { INeuerAccountWL } from '../../container/NeuerAccount/NeuerAccountWL';\r\nimport AlertContext, { AlertOnHide, AlertType } from '../../context/alertContext';\r\nimport CheckInContext from '../../context/checkInContext';\r\nimport LoginContext from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { useAppointmentSelection } from '../../hooks/useAppointmentSelection';\r\nimport { GoogleAnalyticsAction, GoogleAnalyticsCategory, useGoogleAnalytics } from '../../hooks/useGoogleAnalytics';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport { usePersonalData } from '../../hooks/usePersonalData';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { IEnrollData, enroll } from '../../services/RestServices';\r\nimport { bookAppointment } from '../../services/fhir/FHIRAppointment';\r\nimport { showAlertMessage } from '../../utils/alertHandling';\r\nimport { APPOINTMENT_POSTPONE_REASON } from '../../utils/appointmentUtils';\r\nimport { calcButtonPaddingSize, lottieCheck } from '../../utils/lottieUtils';\r\nimport StyledButton from '../Buttons/StyledButton';\r\nimport { isTimeslotDateSet } from '../Calendar/TimeSlots';\r\nimport StyledCol from '../Cols/StyledCol';\r\nimport { StickyButtonRowBottomDiv } from '../Div/StyledDiv';\r\nimport { LottieButtonLoadingSpinner } from '../Loading/Loading';\r\nimport CancelConfirmModal, { ICancelConfirmModalShow } from '../Modals/CancelConfirmModal/CancelConfirmModal';\r\nimport CodeInputModal, { ICodeInputModalShow } from '../Modals/CodeInputModal/CodeInputModal';\r\nimport { StyledModal } from '../Modals/StyledModal/StyledModal';\r\nimport { StyledRowNoMargin } from '../Rows/StyledRow';\r\nimport { StyledP } from '../SidebarItems/Avatar';\r\nimport Booking from './Booking';\r\n\r\ninterface IBookingAppointment {\r\n reason: string;\r\n handleBookingClick(response: any, currentActiveStep: number): void;\r\n showCancelButton: boolean;\r\n handleCancelClick(currentActiveStep: number): void;\r\n currentActiveStep: number;\r\n reasonGroupText?: string;\r\n useLoginContext: boolean;\r\n isPhysicianLogin?: boolean;\r\n newAccountHashParam?: INeuerAccountWL;\r\n}\r\n\r\ninterface IBookingButtons {\r\n handleBooking(): void;\r\n showCancelButton: boolean;\r\n handleCancel(): void;\r\n showWithSpaceBetween: boolean;\r\n}\r\n\r\ninterface IBookingSuccess {\r\n handleNext(): void;\r\n show: boolean;\r\n}\r\n\r\nconst BookingAppointment = (props: IBookingAppointment) => {\r\n const { getEnrollData, getEnrollDataPhysPat } = usePersonalData();\r\n const { state } = useContext(LoginContext);\r\n const { checkinstate } = useContext(CheckInContext);\r\n const { tmstate } = useContext(TerminierungContext);\r\n const { alertdispatch } = useContext(AlertContext);\r\n const { getSelectedTimeslot, getSelectedResource, isEarlierAppointmentPossible } = useAppointmentSelection();\r\n const [bookingCode, setBookingCode] = useState('');\r\n const [showBookingButtonLoadingSpinner, setShowBookingButtonLoadingSpinner] = useState(false);\r\n const [bookingSuccess, setBookingSuccess] = useState({ show: false, handleNext: function () {} });\r\n const navigate = useNavigate();\r\n const { sendGoogleAnalyticsEvent } = useGoogleAnalytics();\r\n\r\n const { t } = useLanguage();\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const bookingButtonRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (bookingCode && bookingCode.length > 0) {\r\n innerBookAppointment();\r\n }\r\n }, [bookingCode]);\r\n\r\n const [codeModalShow, setCodeModalShow] = useState({\r\n show: false,\r\n modalTitle: '',\r\n modalText: '',\r\n });\r\n\r\n const [cancelConfirmModalShow, setCancelConfirmModalShow] = useState({\r\n show: false,\r\n });\r\n\r\n const BookNowButton = (props: IBookingButtons) => {\r\n const handleBooking = () => {\r\n sendGoogleAnalyticsEvent({\r\n category: GoogleAnalyticsCategory.APPOINTMENT_BOOKING,\r\n action: GoogleAnalyticsAction.SUBMIT,\r\n label: 'Jetzt buchen',\r\n });\r\n setShowBookingButtonLoadingSpinner(true);\r\n props.handleBooking();\r\n };\r\n\r\n if (showBookingButtonLoadingSpinner) {\r\n let calcButtonWidth = '35px';\r\n const lottieSize = 24;\r\n calcButtonWidth = calcButtonPaddingSize(bookingButtonRef, lottieSize);\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleBooking()}\r\n >\r\n {t('BUTTONS', 'Jetzt buchen')}\r\n \r\n );\r\n }\r\n };\r\n\r\n const BookingButtons = (props: IBookingButtons) => {\r\n const handleCancel = () => {\r\n sendGoogleAnalyticsEvent({\r\n category: GoogleAnalyticsCategory.APPOINTMENT_BOOKING,\r\n action: GoogleAnalyticsAction.CLICK,\r\n label: 'Termin buchen abbrechen',\r\n });\r\n props.handleCancel();\r\n };\r\n\r\n if (props.showWithSpaceBetween) {\r\n return (\r\n \r\n \r\n \r\n {props.showCancelButton && (\r\n handleCancel()}>\r\n {t('BUTTONS', 'Abbrechen')}\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n \r\n \r\n \r\n {props.showCancelButton && (\r\n handleCancel()}>\r\n {t('BUTTONS', 'Abbrechen')}\r\n \r\n )}\r\n {/* handleBooking()}>\r\n Jetzt buchen\r\n */}\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const shouldCreateAccount = () => {\r\n if (tmstate.personalData.username.length > 0 && tmstate.personalData.password.length > 0) {\r\n return true;\r\n }\r\n return false;\r\n };\r\n\r\n const getEnrollDataForBooking = async (isPhysicianLogin: boolean) => {\r\n let enrollData: IEnrollData;\r\n if (isPhysicianLogin) {\r\n enrollData = await getEnrollDataPhysPat();\r\n } else {\r\n enrollData = await getEnrollData();\r\n }\r\n\r\n if (bookingCode && bookingCode.length > 0) {\r\n enrollData.bookingCode = bookingCode;\r\n }\r\n\r\n if (tmstate.cancelNewAppointmentData.reason === APPOINTMENT_POSTPONE_REASON) {\r\n enrollData.makroId = tmstate.enrollData.fhir.serviceType[0].coding[0].extension[0].valueInteger.toString();\r\n }\r\n\r\n if (checkinstate.urlToCallResponse.eGK && checkinstate.urlToCallResponse.eGK.length > 0) {\r\n enrollData.eGK = checkinstate.urlToCallResponse.eGK;\r\n }\r\n if (checkinstate.urlToCallResponse.kvBarcode && checkinstate.urlToCallResponse.kvBarcode.length > 0) {\r\n enrollData.kvBarcode = checkinstate.urlToCallResponse.kvBarcode;\r\n }\r\n if (checkinstate.urlToCallResponse.kvBarcode && checkinstate.urlToCallResponse.kvBarcode.length > 0) {\r\n enrollData.kvBarcode = checkinstate.urlToCallResponse.kvBarcode;\r\n }\r\n if (props.newAccountHashParam?.behFilter) {\r\n enrollData.behFilter = props.newAccountHashParam?.behFilter;\r\n }\r\n\r\n return enrollData;\r\n };\r\n\r\n const innerBookAppointment = async () => {\r\n if (props.isPhysicianLogin) {\r\n const enrollData: IEnrollData = await getEnrollDataForBooking(true);\r\n setBookingCode('');\r\n\r\n const response = await enroll(enrollData, props.reason);\r\n\r\n if (!response || response.error) {\r\n if (response?.error.includes('MISSINGBC:')) {\r\n const text = response.error.slice('MISSINGBC:'.length, response.error.length);\r\n setCodeModalShow({\r\n show: true,\r\n modalTitle: 'Buchungscode',\r\n modalText: text,\r\n });\r\n } else {\r\n showAlertMessage({\r\n alertTitle: 'Terminbuchung',\r\n alertTxt: response?.error ? response.error : 'Fehler in der Terminbuchung',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n alertdispatch: alertdispatch,\r\n });\r\n }\r\n } else {\r\n props.handleBookingClick(response, props.currentActiveStep);\r\n }\r\n } else if (props.useLoginContext && !props.isPhysicianLogin) {\r\n let selectedResource;\r\n let selectedResource_2;\r\n let multiAppointment = false;\r\n\r\n const timeslot_1 = getSelectedTimeslot(1);\r\n const resource_1 = getSelectedResource(1);\r\n if (isTimeslotDateSet(timeslot_1)) {\r\n selectedResource = produce(resource_1, (draft: any) => {\r\n draft.start = timeslot_1?.start;\r\n draft.end = timeslot_1?.end;\r\n });\r\n }\r\n\r\n const timeslot_2 = getSelectedTimeslot(2);\r\n const resource_2 = getSelectedResource(2);\r\n if (isTimeslotDateSet(timeslot_2)) {\r\n selectedResource_2 = produce(resource_2, (draft: any) => {\r\n draft.start = timeslot_2?.start;\r\n draft.end = timeslot_2?.end;\r\n });\r\n multiAppointment = true;\r\n }\r\n const response = await bookAppointment(\r\n state.sessionId,\r\n selectedResource,\r\n tmstate.remark,\r\n tmstate.earlierAppointmentWanted,\r\n );\r\n if (!response || response.error) {\r\n if (response?.error.includes('MISSINGBC:')) {\r\n const text = response.error.slice('MISSINGBC:'.length, response.error.length);\r\n setCodeModalShow({\r\n show: true,\r\n modalTitle: 'Buchungscode',\r\n modalText: text,\r\n });\r\n } else {\r\n showAlertMessage({\r\n alertTitle: 'Terminbuchung',\r\n alertTxt: response?.error ? response.error : 'Fehler in der Terminbuchung',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n alertdispatch: alertdispatch,\r\n });\r\n }\r\n } else {\r\n setBookingSuccess({\r\n show: true,\r\n handleNext: function () {\r\n navigate(Paths.TERMINE);\r\n },\r\n });\r\n }\r\n } else {\r\n const enrollData: IEnrollData = await getEnrollDataForBooking(false);\r\n setBookingCode('');\r\n\r\n const response = await enroll(enrollData, props.reason);\r\n\r\n if (!response || response.error) {\r\n if (response?.error.includes('MISSINGBC:')) {\r\n const text = response.error.slice('MISSINGBC:'.length, response.error.length);\r\n setCodeModalShow({\r\n show: true,\r\n modalTitle: 'Buchungscode',\r\n modalText: text,\r\n });\r\n } else {\r\n showAlertMessage({\r\n alertTitle: 'Terminbuchung',\r\n alertTxt: response?.error ? response.error : 'Fehler in der Terminbuchung',\r\n alertType: AlertType.error,\r\n onHide: AlertOnHide.onlyClose,\r\n alertdispatch: alertdispatch,\r\n });\r\n }\r\n } else {\r\n setBookingSuccess({\r\n show: true,\r\n handleNext: function () {\r\n props.handleBookingClick(response, props.currentActiveStep);\r\n },\r\n });\r\n }\r\n }\r\n };\r\n\r\n const handleBookingClick = () => {\r\n innerBookAppointment();\r\n };\r\n\r\n const handleCancelClick = () => {\r\n setCancelConfirmModalShow({ show: true });\r\n };\r\n\r\n const handleCancelClickAfterConfirm = () => {\r\n setCancelConfirmModalShow({ show: false });\r\n props.handleCancelClick(props.currentActiveStep);\r\n };\r\n\r\n const handleCloseCodeInputModal = () => {\r\n sendGoogleAnalyticsEvent({\r\n category: GoogleAnalyticsCategory.APPOINTMENT_BOOKING,\r\n action: GoogleAnalyticsAction.CLICK,\r\n label: 'Buchungscode abbrechen',\r\n });\r\n setCodeModalShow({\r\n show: false,\r\n modalTitle: '',\r\n modalText: '',\r\n });\r\n setShowBookingButtonLoadingSpinner(false);\r\n };\r\n\r\n const handleSubmitCodeInputModal = (code: string) => {\r\n sendGoogleAnalyticsEvent({\r\n category: GoogleAnalyticsCategory.APPOINTMENT_BOOKING,\r\n action: GoogleAnalyticsAction.SUBMIT,\r\n label: 'Buchungscode absenden',\r\n });\r\n setBookingCode(code);\r\n setCodeModalShow({\r\n show: false,\r\n modalTitle: '',\r\n modalText: '',\r\n });\r\n };\r\n\r\n const BookSuccessScreen = (props: IBookingSuccess) => {\r\n return (\r\n \r\n \r\n Terminbuchung erfolgreich\r\n \r\n \r\n \r\n
    \r\n \r\n Ihre Terminbuchung wurde erfolgreich durchgeführt. Weitere Infos zu Ihrem Termin erhalten Sie\r\n auch per E-Mail.\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Weiter\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n handleCloseCodeInputModal()}\r\n onSubmit={handleSubmitCodeInputModal}\r\n />\r\n setCancelConfirmModalShow({ show: false })}\r\n onSubmit={() => handleCancelClickAfterConfirm()}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default BookingAppointment;\r\n","import StyledButton from '../Buttons/StyledButton';\r\nimport { CenterDiv, VerticalCenterDiv } from '../Div/StyledDiv';\r\n\r\ninterface IFinalCheckIn {\r\n handleButtonClick(): void;\r\n}\r\n\r\nconst FinalCheckIn = (props: IFinalCheckIn) => {\r\n const onButtonClick = () => {\r\n props.handleButtonClick();\r\n };\r\n\r\n return (\r\n \r\n \r\n onButtonClick()}>\r\n CheckIn abschließen\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FinalCheckIn;\r\n","import * as React from 'react';\r\nimport { useState } from 'react';\r\nimport { Col, Container, Form, Modal, Row } from 'react-bootstrap';\r\nimport StyledButton from '../../Buttons/StyledButton';\r\nimport StyledCol from '../../Cols/StyledCol';\r\nimport { StyledFormLabelForInput } from '../../StyledForm/SyledForm';\r\nimport { StyledModal } from '../StyledModal/StyledModal';\r\n\r\nexport interface ILoginCardModalShow {\r\n show: boolean;\r\n}\r\n\r\ninterface ILoginCardModal {\r\n show: boolean;\r\n onHide: () => void;\r\n onLoginClick(username: string, pwd: string): void;\r\n}\r\n\r\nconst LoginCardModal = (props: ILoginCardModal) => {\r\n const [username, setUsername] = useState('');\r\n const [password, setPassword] = useState('');\r\n\r\n const handleSubmit = (event: React.FormEvent) => {\r\n event.preventDefault();\r\n const form = event.currentTarget;\r\n if (form.checkValidity() === false) {\r\n event.preventDefault();\r\n event.stopPropagation();\r\n }\r\n {\r\n props.onLoginClick(username, password);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n Anmelden\r\n \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n Benutzername\r\n
    \r\n {\r\n setUsername(e.target.value);\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n Passwort\r\n {\r\n setPassword(e.target.value);\r\n }}\r\n />\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n Abbrechen\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n Anmelden\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default LoginCardModal;\r\n","import { useContext } from 'react';\r\nimport { ThemeContext } from 'styled-components';\r\nimport { ParagraphFontSize } from '../StyledParagraph/StyledParagraph';\r\nimport { CategoryBadge } from './StyledBadge';\r\n\r\ninterface IBadgesList {\r\n badgesList: string[];\r\n handleBadgeClick(badgeName: string): void;\r\n showAsGrid: boolean;\r\n}\r\n\r\nconst BadgesList = (props: IBadgesList) => {\r\n const themeContext = useContext(ThemeContext);\r\n\r\n const handleBadgeClick = (badge: string) => {\r\n props.handleBadgeClick(badge);\r\n };\r\n\r\n const getAllBadges = () => {\r\n const allBadges: any[] = [];\r\n\r\n props.badgesList.forEach((badge) => {\r\n allBadges.push(\r\n handleBadgeClick(badge)}\r\n >\r\n {badge}\r\n ,\r\n );\r\n });\r\n\r\n return allBadges;\r\n };\r\n\r\n return
    {getAllBadges()}
    ;\r\n};\r\n\r\nexport default BadgesList;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport BadgesList from '../../components/Badges/BadgesList';\r\nimport { LeftDivMain } from '../../components/Div/StyledDiv';\r\nimport { StyledMainHeader } from '../../components/StyledText/StyledHeader';\r\nimport AlertContext from '../../context/alertContext';\r\nimport LoginContext, { IDepartments } from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport { useGoogleAnalytics } from '../../hooks/useGoogleAnalytics';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\nimport { getParticipants } from '../../services/RestServices';\r\n\r\ninterface IAppointmentCategoryDepartment {\r\n departments?: IDepartments[];\r\n handleDepartmentClick(): void;\r\n}\r\n\r\nconst AppointmentCategoryDepartment = (props: IAppointmentCategoryDepartment) => {\r\n const { alertdispatch } = useContext(AlertContext);\r\n const { dispatch } = useContext(LoginContext);\r\n const { tmdispatch } = useContext(TerminierungContext);\r\n const [departments, setDepartments] = useState([]);\r\n\r\n const { t } = useLanguage();\r\n\r\n const { sendGoogleAnalyticsPageView } = useGoogleAnalytics();\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n useEffect(() => {\r\n sendGoogleAnalyticsPageView({\r\n page: '/AppointmentCategoryDepartment',\r\n title: 'Fachrichtung wählen',\r\n });\r\n\r\n const getDepartmentMacros = async () => {\r\n if (props.departments) {\r\n setDepartments(props.departments);\r\n } else {\r\n const possibleMacrosResponse: any = await getParticipants(alertdispatch);\r\n if (possibleMacrosResponse.departments !== undefined) {\r\n setDepartments(possibleMacrosResponse.departments);\r\n }\r\n }\r\n };\r\n\r\n getDepartmentMacros();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (departments && departments.length > 0) {\r\n dispatch({\r\n type: 'SETDEPARTMENTS',\r\n departments: departments,\r\n });\r\n }\r\n }, [departments]);\r\n\r\n const getBadgesList = () => {\r\n const allBadges: string[] = [];\r\n departments.forEach((e) => {\r\n allBadges.push(e.name);\r\n });\r\n\r\n return allBadges;\r\n };\r\n\r\n const handleDepartmentClick = (departmentName: string) => {\r\n const selectedDepartment = departments.find((dep) => dep.name === departmentName);\r\n if (selectedDepartment) {\r\n tmdispatch({\r\n type: 'SELECTDEPARTMENT',\r\n selectedDepartment: selectedDepartment,\r\n });\r\n props.handleDepartmentClick();\r\n }\r\n };\r\n\r\n return (\r\n \r\n {t('ANMELD', 'Fachrichtung wählen')}\r\n

    {t('ANMELD', 'Wählen Sie die gewünschte Fachrichtung aus')}

    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AppointmentCategoryDepartment;\r\n","import { useContext } from 'react';\r\nimport BadgesList from '../../components/Badges/BadgesList';\r\nimport { LeftDivMain } from '../../components/Div/StyledDiv';\r\nimport { StyledMainHeader } from '../../components/StyledText/StyledHeader';\r\nimport AlertContext from '../../context/alertContext';\r\nimport LoginContext, { ICodeName } from '../../context/loginContext';\r\nimport TerminierungContext from '../../context/terminierungContext';\r\nimport useScreenResolution from '../../hooks/useScreenResolution';\r\n\r\ninterface IAppointmentCategoryLocation {\r\n handleLocationClick(location: ICodeName): void;\r\n}\r\n\r\nconst AppointmentCategoryLocation = (props: IAppointmentCategoryLocation) => {\r\n const { alertdispatch } = useContext(AlertContext);\r\n const { state } = useContext(LoginContext);\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n\r\n const screenSize = useScreenResolution();\r\n\r\n const getBadgesList = () => {\r\n const allBadges: string[] = [];\r\n state.anmeldeContexts.forEach((e) => {\r\n allBadges.push(e.name);\r\n });\r\n\r\n return allBadges;\r\n };\r\n\r\n const handleLocationClick = (locationName: string) => {\r\n const location = state.anmeldeContexts.find((loc) => loc.name === locationName);\r\n\r\n if (location) {\r\n tmdispatch({\r\n type: 'SELECTLOCATION',\r\n selectedLocation: location,\r\n });\r\n props.handleLocationClick(location);\r\n }\r\n };\r\n\r\n return (\r\n \r\n Standort wählen\r\n

    Wählen Sie den gwünschten Standort aus

    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AppointmentCategoryLocation;\r\n","import { Card, Col, Row } from 'react-bootstrap';\r\nimport { StyledPhysicianSelectionCard, StyledPhysicianSelectionCardTitle } from '../Cards/StyledCard';\r\nimport PhysicianSelectionDescriptionList from './PhysicianSelectionDescriptionList';\r\nimport PhysicianSelectionPhoto from './PhysicianSelectionPhoto';\r\n\r\ntype IPhyscianSelectionCard = {\r\n name: string;\r\n description?: string[];\r\n showPicture: boolean;\r\n pict?: string;\r\n};\r\n\r\nconst PhysicianSelectionCard = (props: IPhyscianSelectionCard) => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {props.name && (\r\n {props.name}\r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default PhysicianSelectionCard;\r\n","import { useContext, useEffect, useState } from 'react';\r\nimport { ThemeContext } from 'styled-components';\r\nimport { CategoryBadgeSelected } from '../../components/Badges/StyledBadge';\r\nimport { LeftDivMain } from '../../components/Div/StyledDiv';\r\nimport PhysicianSelectionCard from '../../components/PhysicianSelectionCard/PhysicianSelectionCard';\r\nimport { ParagraphFontSize } from '../../components/StyledParagraph/StyledParagraph';\r\nimport AppPropsContext from '../../context/appPropsContext';\r\nimport { IDepartmentReasons } from '../../context/loginContext';\r\nimport TerminierungContext, { ISelectedPhysician } from '../../context/terminierungContext';\r\nimport { useAppProperties } from '../../hooks/useAppProperties';\r\nimport { useAppointmentSelection } from '../../hooks/useAppointmentSelection';\r\nimport { useGoogleAnalytics } from '../../hooks/useGoogleAnalytics';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\nimport { IPhysiciansFor, getPhysiciansFor } from '../../services/RestServices';\r\n\r\ninterface IAppointmentCategoryPhysician {\r\n department: string;\r\n reason: IDepartmentReasons;\r\n handlePhysicianClick(currentActiveStep: number): void;\r\n currentActiveStep: number;\r\n}\r\n\r\nconst AppointmentCategoryPhysician = (props: IAppointmentCategoryPhysician) => {\r\n const themeContext = useContext(ThemeContext);\r\n const { tmstate, tmdispatch } = useContext(TerminierungContext);\r\n const { apstate } = useContext(AppPropsContext);\r\n const [allPhysicians, setAllPhysicians] = useState();\r\n const { getAllMakroIdsFromFilteredReasons } = useAppointmentSelection();\r\n\r\n const { t } = useLanguage();\r\n\r\n const { getCountDaysToVisualize } = useAppProperties();\r\n const { sendGoogleAnalyticsPageView } = useGoogleAnalytics();\r\n\r\n useEffect(() => {\r\n sendGoogleAnalyticsPageView({ page: '/AppointmentCategoryPhysician', title: 'Behandler wählen' });\r\n\r\n const getPhysicians = async () => {\r\n const makroId = getAllMakroIdsFromFilteredReasons();\r\n\r\n const physiciansForData: IPhysiciansFor = {\r\n makroId: makroId,\r\n selectedReason: tmstate.selectedReason.reasonId,\r\n selectedInsurance: tmstate.selectedInsurance,\r\n selectedDepartment: tmstate.selectedDepartment.name,\r\n selectedAptType: tmstate.selectedAppointmentType,\r\n countDaysToVisualize: getCountDaysToVisualize(),\r\n extendedPhysicians: apstate.extendedPhysicians,\r\n };\r\n\r\n const physiciansData = await getPhysiciansFor(physiciansForData);\r\n if (physiciansData?.physicians) {\r\n setAllPhysicians(physiciansData.physicians);\r\n } else {\r\n /* only earliest appointment possible, no physicians, so auto jump to next step */\r\n handleSetPhysicianClick(0, 0, '', '', []);\r\n }\r\n };\r\n\r\n tmdispatch({\r\n type: 'RESETTIMESLOT',\r\n });\r\n\r\n getPhysicians();\r\n }, []);\r\n\r\n const handleSetPhysicianClick = (\r\n id: number,\r\n makroId: number | undefined,\r\n name: string,\r\n pict?: string,\r\n description?: string[],\r\n ) => {\r\n tmdispatch({\r\n type: 'SELECTPHYSICIAN',\r\n selectedPhysician: {\r\n lines: description ? description : [],\r\n id: id ? id : 0,\r\n name: name ? name : '',\r\n pict: pict ? pict : '',\r\n makroId: makroId ? makroId : 0,\r\n },\r\n });\r\n\r\n /* search for the correct physician with makroId from filteredReasons and set it as selectedReason */\r\n if (makroId) {\r\n const filteredSelectedReason = tmstate.filteredReasons.filter((e) => e.makroId === makroId);\r\n tmdispatch({\r\n type: 'SELECTREASON',\r\n selectedReason: filteredSelectedReason[0],\r\n });\r\n }\r\n\r\n props.handlePhysicianClick(props.currentActiveStep);\r\n };\r\n\r\n const allPhysicianCards = () => {\r\n const allCards: any[] = [];\r\n\r\n allCards.push(\r\n
    handleSetPhysicianClick(0, 0, '', '', [])}>\r\n \r\n
    ,\r\n );\r\n\r\n allPhysicians?.forEach((e: ISelectedPhysician) => {\r\n let descrList: string[] = [];\r\n if (e.lines && typeof e.lines === 'string') {\r\n descrList.push(e.lines);\r\n } else if (e.lines) {\r\n descrList = e.lines;\r\n }\r\n allCards.push(\r\n
    handleSetPhysicianClick(e.id, e.makroId, e.name, e.pict, e.lines)}>\r\n \r\n
    ,\r\n );\r\n });\r\n\r\n return allCards;\r\n };\r\n\r\n return (\r\n \r\n

    {t('ANMELD', 'Behandler wählen')}

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

    \r\n {t('ANMELD', 'Fachrichtung')}\r\n \r\n {props.department}\r\n \r\n

    \r\n

    \r\n {t('ANMELD', 'Besuchsgrund')}\r\n \r\n {props.reason.reasonName}\r\n \r\n

    \r\n
    \r\n
    \r\n {allPhysicianCards()}\r\n
    \r\n );\r\n};\r\n\r\nexport default AppointmentCategoryPhysician;\r\n","import { default as Select, StylesConfig } from 'react-select';\r\nimport { useLanguage } from '../../hooks/useLanguage';\r\n\r\nexport interface ISelectComboboxOption {\r\n value: string;\r\n label: string;\r\n}\r\n\r\nexport const createSelectComboboxOption = (option: string): ISelectComboboxOption => {\r\n return {\r\n value: option,\r\n label: option,\r\n };\r\n};\r\n\r\nexport const createSelectComboboxOptions = (options: string[]): ISelectComboboxOption[] => {\r\n return options.map((option) => {\r\n return {\r\n value: option,\r\n label: option,\r\n };\r\n });\r\n};\r\n\r\nexport const getReactSelectComboBoxDefaultStyles = () => {\r\n const colourStyles: StylesConfig = {\r\n control: (styles, { menuIsOpen, isFocused, isDisabled }) => ({\r\n ...styles,\r\n backgroundColor: 'white',\r\n boxShadow: menuIsOpen ? '0 0 0 0.2rem rgba(0, 123, 255, 0.25)' : undefined,\r\n borderColor: menuIsOpen ? '#80bdff' : '#ced4da',\r\n fontWeight: 400,\r\n lineHeight: '1.5',\r\n fontSize: '1rem',\r\n paddingLeft: '0.375rem',\r\n '&:hover': {\r\n borderColor: menuIsOpen ? '#80bdff' : '#ced4da',\r\n },\r\n }),\r\n placeholder: (styles, {}) => {\r\n return {\r\n ...styles,\r\n color: '#495057',\r\n };\r\n },\r\n dropdownIndicator: (styles, {}) => {\r\n return {\r\n ...styles,\r\n color: '#60666C',\r\n width: '1.97rem',\r\n };\r\n },\r\n indicatorsContainer: (styles, {}) => {\r\n return {\r\n ...styles,\r\n };\r\n },\r\n option: (styles, { isDisabled, isFocused, isSelected }) => {\r\n return {\r\n ...styles,\r\n backgroundColor: isDisabled\r\n ? undefined\r\n : isSelected\r\n ? 'rgb(25, 103, 210)'\r\n : isFocused\r\n ? 'rgb(25, 103, 210)'\r\n : undefined,\r\n color: isDisabled ? '#495057' : isSelected ? 'white' : isFocused ? 'white' : '#495057',\r\n fontWeight: 400,\r\n lineHeight: '1.5',\r\n fontSize: '1rem',\r\n };\r\n },\r\n };\r\n\r\n return colourStyles;\r\n};\r\n\r\nexport const SelectCombobox = (props: React.ComponentProps) => {\r\n const { t } = useLanguage();\r\n\r\n let style = getReactSelectComboBoxDefaultStyles();\r\n if (props.styles) {\r\n style = props.styles;\r\n }\r\n return