{"version":3,"sources":["components/pages/home/Jumbotron.module.css","assets/images/tourscreen/bullet1.png","assets/images/tourscreen/bullet2.png","components/pages/admin/components/AdminResult.module.css","components/accordion/Chevron.module.css","components/accordion/CustomAccordion.module.css","assets/images/myCHLA.png","assets/images/pdf-file.png","assets/images/image-file.png","assets/images/mychla_Logo.png","assets/CHLA_myCHLA User Guide_Practice Owner Account Management Process.pdf","components/mButton/MButtonGroup.module.css","components/pages/admin/AdminSection.module.css","assets/images/tourscreen/myPatient_x.jpg","assets/images/tourscreen/myPatient_labResults_x.jpg","assets/images/tourscreen/bullet3.png","assets/images/tourscreen/myPractice_x.jpg","assets/images/tourscreen/myPractice_physicianVerify_x.jpg","assets/images/tourscreen/myPractice_nonPhysician_x2.jpg","assets/images/tourscreen/myReferrals_x.jpg","assets/images/chevron.png","components/navbars/Navbar.module.css","assets/images/cloud-upload.png","assets/images/delete-icon.svg","config/RoleNames.ts","config/Roles.ts","services/ServiceConfig.ts","services/HomeService.ts","services/UserService.ts","components/spinner/Spinner.tsx","components/pages/home/Jumbotron.tsx","context/MenuItemsContext.tsx","hooks/useSliderImages.ts","hooks/useInfowells.ts","components/common/Loader.tsx","helpers/DateHelper.js","components/mButton/MButton.tsx","components/GoButton/GoButton.tsx","appInsights.js","services/EducationService.ts","helpers/FileHelper.ts","components/pages/home/Infowell.tsx","components/pages/home/InfowellSection.tsx","hooks/useUserRole.ts","components/common/TourScreen.jsx","components/pages/home/Home.tsx","services/PatientService.ts","helpers/RecentSearchHelper.ts","components/pages/myPatients/components/PatientsList.tsx","components/pages/myPatients/components/RecentSearch.tsx","components/pages/myPatients/components/PatientsCard.tsx","components/common/SearchBar.tsx","hooks/usePatients.ts","hooks/useScrollPosition.ts","hooks/useSessionState.ts","components/common/LookBackFilter.tsx","components/pages/myPatients/components/VisitsModal.tsx","components/common/CustomAlert.tsx","components/pages/myPatients/components/DeleteConfirmationModal.tsx","components/common/CustomPagination.tsx","components/pages/myPatients/MyPatients.tsx","components/pages/myPatients/SharedPatients.tsx","components/pages/myPatients/components/PracticeAppointmentModal.tsx","components/pages/myPatients/PracticeAppointments.tsx","services/ChartService.ts","components/pages/myPatients/components/ComponentToPrintLabs.tsx","components/customScale/CustomScale.tsx","components/pages/myPatients/components/CommentsModal.tsx","components/accordion/Chevron.tsx","components/accordion/CustomAccordion.jsx","components/pages/myPatients/components/LabResults.tsx","components/common/CustomAlertModal.tsx","components/pages/myPatients/components/NoteViewErrorModal.tsx","components/pages/myPatients/components/Notes.tsx","components/pages/myPatients/components/ReportsModal.tsx","components/pages/myPatients/components/RadiologyResults.tsx","components/backButton/BackButton.tsx","components/pages/myPatients/PatientDetails.tsx","components/pages/myPatients/ViewPatients.tsx","components/headerName/HeaderName.tsx","services/PatientAccessRequestService.ts","services/ReferralService.ts","components/pages/myPatients/NewPatientAccessRequest.tsx","components/pages/myPatients/components/PatientAccessRequestList.tsx","components/pages/myPatients/components/ProxyPatientAccessRequestList.tsx","components/pages/myPatients/PatientAccessRequests.tsx","components/pages/myPatients/components/NotMyPatientRequestList.tsx","components/pages/myPatients/NotMyPatientRequest.tsx","components/pages/myPatients/PatientAccessRequestsDetails.tsx","components/pages/myPatients/PatientAccessRequestsEdit.tsx","components/pages/myPatients/MyAppointment.tsx","components/pages/allAccounts/components/AllAccountsList.tsx","services/AccountService.ts","components/pages/allAccounts/AllAccounts.tsx","components/pages/allAccounts/AllAccountsListEdit.tsx","components/pages/allAccounts/AllAccountsListDetail.tsx","components/common/CustomInputFormik.tsx","components/pages/allAccounts/LoginAsAnotherUser.tsx","components/pages/allAccounts/AccountRequests.tsx","components/pages/home/UserPrivacyPolicy.tsx","components/pages/home/TermsOfUse.tsx","components/pages/allAccounts/SentInvitations.tsx","components/pages/myReferrals/MyReferrals.tsx","components/pages/myReferrals/SharedReferrals.tsx","components/common/FormPopover.tsx","components/pages/myReferrals/components/ReferralList.tsx","components/pages/myReferrals/components/ReferralCard.tsx","components/pages/myReferrals/components/CancelReferralModal.tsx","components/pages/myReferrals/components/CancellationRequestModal.tsx","components/pages/myReferrals/components/CancellationReasonModal.tsx","components/pages/myReferrals/components/ScheduledReasonModal.tsx","components/pages/myReferrals/ViewReferrals.tsx","data/ReferralFormStructure.ts","context/ReferralFormContext.tsx","components/wizard/FormikStepper.tsx","components/wizard/FormikStep.tsx","components/common/SelectInput.jsx","components/common/DateInput.tsx","components/common/EmailInput.tsx","components/common/HiddenInput.jsx","components/common/NumberInput.tsx","components/common/TextAreaInput.tsx","components/common/TextInput.tsx","components/common/DeleteIcon.tsx","components/pages/myReferrals/components/UploadAttachmentsNew.tsx","components/pages/myReferrals/components/ReferralForm.tsx","context/ReferralFormState.tsx","components/pages/myReferrals/NewReferralWizard.tsx","services/PracticeService.ts","hooks/usePracticeInfo.ts","components/pages/myPractice/components/PhysiciansToVerify.tsx","components/pages/myPractice/components/AddPhysicianToPracticeModal.tsx","components/pages/myPractice/components/RemoveUserConfirmationModal.tsx","components/pages/myPractice/components/InvitePhysicianConfirmationModal.tsx","components/pages/myPractice/components/PracticePhysicians.tsx","hooks/useUserInfo.ts","components/pages/myPractice/components/MyPracticeInfo.tsx","components/pages/myPractice/components/AddNonPhysicianToPracticeModal.tsx","components/pages/myPractice/components/PracticeNonPhysicians.tsx","components/toggle/CustomToggle.tsx","components/pages/myPractice/components/PracticeDelegation.tsx","components/pages/myPractice/MyPractice.tsx","services/UploadImageService.ts","components/pages/portalUpdates/SliderImages.tsx","services/AnnouncementService.ts","components/pages/portalUpdates/AnnouncementBanner.tsx","services/AlumniSpotlightService.ts","components/pages/portalUpdates/AlumniSpotlight.tsx","services/DivisionMonthService.ts","components/pages/portalUpdates/DivisionOfTheMonth.tsx","services/OnlineCMEService.ts","components/pages/portalUpdates/OnlineCMELectures.tsx","services/PediatricGRService.ts","components/pages/portalUpdates/PediatricGrandRounds.tsx","services/PracticeTipService.ts","components/pages/portalUpdates/PracticeTipOfTheMonth.tsx","services/AmbulatoryService.ts","components/pages/portalUpdates/AmbulatoryCareCenter.tsx","services/MemberDirectoryService.ts","components/pages/portalUpdates/MemberDirectory.tsx","services/ClinicalPathwayService.ts","components/pages/portalUpdates/ClinicalCarePathways.tsx","services/CareNetworkService.ts","components/pages/portalUpdates/CareNetworkTeamContacts.tsx","services/MentalHealthService.ts","components/pages/portalUpdates/MentalHealthResources.tsx","services/PatientFamilyService.ts","components/pages/portalUpdates/PatientAndFamilyEducationMaterials.tsx","components/pages/portalUpdates/components/NewMemberDirectory.tsx","components/pages/portalUpdates/components/NewClinicalCarePathways.tsx","components/pages/portalUpdates/components/NewCareNetworkTeamContacts.tsx","components/pages/portalUpdates/components/NewPatientFamily.tsx","components/pages/portalUpdates/components/NewMentalHealth.tsx","components/pages/portalUpdates/components/EditMemberDirectory.tsx","components/pages/portalUpdates/components/EditClinicalCarePathways.tsx","components/pages/portalUpdates/components/EditCareNetwork.tsx","components/pages/portalUpdates/components/EditPatientFamily.tsx","components/pages/portalUpdates/components/EditMentalHealth.tsx","components/common/DateTimeInput.tsx","components/pages/portalUpdates/components/NewFomAnnouncement.tsx","components/pages/portalUpdates/components/UploadImages.tsx","components/pages/portalUpdates/components/NewAlumniForm.tsx","components/pages/portalUpdates/components/NewPracticeTipForm.tsx","components/pages/portalUpdates/components/NewDivisionForm.tsx","components/pages/portalUpdates/components/NewAmbulatorySchedules.tsx","components/pages/portalUpdates/components/EditAmbulatory.tsx","components/pages/portalUpdates/components/EditAlumni.tsx","components/pages/portalUpdates/components/EditAnnouncement.tsx","components/pages/portalUpdates/components/EditPracticeTipOfMonth.tsx","components/pages/portalUpdates/components/EditSubform.tsx","components/pages/portalUpdates/components/EditOnlineCME.tsx","components/pages/portalUpdates/components/EditDivisionOfMonth.tsx","components/RichTextEditor/RichTextEditor.jsx","components/pages/portalUpdates/components/PediatricSubForm.tsx","helpers/PediatricHelper.ts","components/pages/portalUpdates/components/PediatricForm.tsx","components/pages/portalUpdates/components/SubForm.tsx","components/pages/portalUpdates/components/NewOnlineCMEForms.tsx","services/PhysicianResourceService.ts","components/pages/physicianResources/PhysicianResources.tsx","components/pages/education/InfowellsEdu.tsx","components/pages/education/Education.tsx","components/pages/education/PGRInfoWells.tsx","components/pages/education/CMEInfoWells.tsx","components/pages/physicianResources/MedicalStaff.tsx","components/mButton/MButtonGroup.tsx","components/pages/admin/components/AdminLocationsTable.tsx","components/pages/admin/components/AdminPracticePhysiciansTable.tsx","services/AdminService.ts","components/pages/admin/components/DeactivateConfirmationModal.tsx","components/pages/admin/components/AdminPracticeResult.tsx","components/pages/admin/AdminPracticeSection.tsx","services/PhysicianService.ts","components/pages/admin/components/AdminPhysicianPracticesTable.tsx","components/pages/admin/components/AdminPhysicianResult.tsx","components/pages/admin/AdminPhysicianSection.tsx","components/pages/admin/AdminLocationSection.tsx","components/pages/admin/AdminSection.tsx","components/multiselect/MultiSelect.tsx","components/pages/admin/components/AdminCreateLocationModal.tsx","components/pages/admin/components/AdminSearchPhysicianModal.tsx","components/pages/admin/components/AdminPracticeLookupModal.tsx","components/pages/admin/AdminCreatePractice.tsx","services/DropdownDataService.ts","components/pages/admin/components/AdminCreatePhysicianModal.tsx","components/pages/admin/AdminCreatePhysician.tsx","services/ResourceService.ts","components/pages/careNetwork/Resources.tsx","components/pages/careNetwork/ClinicalPathwayCards.tsx","components/pages/careNetwork/ClinicalCarePathwaysScreen.tsx","components/pages/careNetwork/CareWebsite.tsx","hooks/useDebounceQuery.ts","components/pages/allAccounts/AccountRequestEdit.tsx","components/pages/myPractice/AccountRequestDetails.tsx","components/pages/admin/components/AdminEditLocationModal.tsx","components/pages/admin/components/AdminEditSearchPhysicianModal.tsx","components/pages/admin/AdminEditPractice.tsx","components/pages/admin/AdminEditPhysician.tsx","components/pages/home/PracticeNotActive.tsx","components/pages/education/PGRVideo.tsx","services/EmbassyService.ts","components/pages/myEmbassy/MyEmbassyInfo.tsx","components/pages/myEmbassy/EmbassyMemberInfo.tsx","config/RouteConfig.ts","components/pages/myPatients/EmbassyPatients.tsx","components/pages/myEmbassy/MyEmbassy.tsx","config/index.ts","components/auth/OktaSignInWidget.tsx","components/auth/Login.tsx","helpers/RouteHelper.ts","components/navbars/Tab.tsx","components/common/ReminderPopup.jsx","components/router/IdleTimeOutModal.js","components/router/IdleTimeOutHandler.js","components/navbars/Navbar.tsx","components/footer/Footer.tsx","components/common/DisplayBanner.tsx","components/pages/allAccounts/NewPracticeRequest.tsx","components/common/LoginAsBanner.tsx","components/router/AppWithRouterAccess.tsx","hooks/useMenuItems.ts","context/MenuItemsState.tsx","context/PracticeInfoContext.tsx","context/PracticeInfoState.tsx","App.tsx","index.js","assets/images/sortable.png"],"names":["module","exports","RoleNames","PHYSICIAN","PRACTICE_OWNER","SYSTEM_ADMIN","PRACTICE_ADMIN","GENERAL","HEALTH_NETWORK_ADMIN","COMPLIANCE","EMBASSY_LEAD","EMBASSY_MEMBER","Roles","ROLES1","ROLES2","ROLES3","ROLES4","ROLES5","customAxios","axios","create","transformResponse","data","JSON","parse","isMyCHLA","window","location","pathname","assign","loginas","localStorage","getItem","loginasEmail","HomeService","getHomeData","async","get","concat","API_BASE_URL","headers","Accept","Pragma","stringify","email","cancelToken","token","getSliderImages","getInfowells","Authorization","getDropDownWells","dropDownName","likeButton","post","GetPracticeNotActiveStatement","UserService","getMenuItems","getPracticeRoles","getUserAgreement","updateUserAgreement","status","put","docuSignStatus","Spinner","_ref","margin","_jsx","style","textAlign","children","BeatLoader","size","color","Jumbotron","sliderImages","_Fragment","Carousel","map","sliderImage","index","Item","className","alt","imageName","src","imageContent","onClick","e","preventDefault","open","targetUrl","height","width","menuItemsContext","createContext","menuItems","undefined","setMenuItems","useSliderImages","key","arguments","length","initialValue","setSliderImages","useState","getSliderImagesFromSessionStorage","savedValue","Function","useEffect","setItem","alert","useInfowells","infowells","setInfowells","getInfowellsFromSessionStorage","role","getFormattedDate","date","dd","getDate","mm","getMonth","yyyy","getFullYear","getFormattedTime","mDate","Date","hours","getHours","minutes","getMinutes","isNaN","ampm","strTime","split","getFormattedDateFromDate","String","padStart","getFormattedYear","getFormattedDateWords","toLocaleString","month","getFormattedDateFromDateTime","getFormattedTimeFromDateTime","editFormattedTimeFromDateTime","getFormattedDateTimeFromDateTime","getFormattedDateTime","MButton","title","small","variant","hidden","paddingBottom","marginTop","borderTopRightRadius","borderBottomRightRadius","borderTopLeftRadius","borderBottomLeftRadius","property","disabled","alignItem","marginLeft","marginRight","infoButton","type","isSubmitting","bColor","loader","bgColor","alignItems","borderColor","backgroundColor","GoButton","handleSubmit","loading","animation","browserHistory","createBrowserHistory","basename","reactPlugin","ReactPlugin","appInsights","ApplicationInsights","config","instrumentationKey","process","REACT_APP_APPINSIGHTS_KEY","enableAutoRouteTracking","extensions","extensionConfig","identifier","history","loadAppInsights","trackPageView","EducationService","getEducationService","downloadPdfService","editEducationService","downloadFileFromEducationService","id","value","setLoading","setError","accessToken","formData","FormData","append","then","blobUrl","name","link","document","createElement","href","setAttribute","body","appendChild","click","removeChild","downloadPDF","response","catch","isCancel","trackException","error","Infowell","_authState$accessToke","infowell","home","likedInfowells","authState","useOktaAuth","CancelToken","source","dropDownWells","setDropDownWells","setDropDownName","setFormData","setValue","setlink","useHistory","handleClick","push","sort","a","b","cancel","isLiked","flag","item","_jsxs","Card","display","pageId","FormControlLabel","control","Checkbox","icon","FavoriteBorder","checkedIcon","Favorite","defaultChecked","onChange","InfoWellId","reload","label","Title","styles","titleCard","paragraph","Text","flexDirection","Form","Select","as","handleOnChange","nativeEvent","target","selectedIndex","text","_dropDownWells$find","find","parseInt","url","option","trim","publicationDate","handleClickClinicalCare","htmlContent","includes","InfowellSection","console","Col","sm","span","offset","Loader","infoWell","useUserRole","userRole","setUserRole","getuserRoleFromSessionStorage","TourScreen","show","setShow","setIndex","oktaAuth","handleClose","isAuthenticated","Modal","onHide","Header","closeButton","Body","padding","activeIndex","onSelect","handleSelect","require","default","Caption","Footer","Home","_window$localStorage$","_window$localStorage$2","useContext","useLocation","loggedIn","user_role","practiceRoles","filter","roleId","active","embassyRoles","log","search","signRequired","replace","docusignUrl","items","parent","viewOrder","Alert","message","lastLoggedIn","PatientService","getPatients","action","query","PageSize","SearchText","Lookback","PageNumber","getPatientById","getPatientEncounters","hideOrSharePatient","pid","patientId","providerId","removePatient","getPracticeAppointments","getMyAppointments","RECENT_SEARCH","setRecentSearch","searchedItem","recentSearch","recentSearchArray","unshift","getRecentSearch","PatientsList","patients","onVisitsClick","onHideOrShareClick","onRemoveClick","tableCellPadding","isEmbassy","setIsEmbassy","Table","responsive","paddingLeft","paddingRight","maxWidth","patient","patientName","dob","sex","physicianName","mrn","personId","state","onPatientCardClick","onReferPatientClick","isShared","RecentSearch","recentSearchList","updateRecentSearch","onClickRecentSearch","PatientsCard","onReferPatientClicked","SearchBar","placeholder","defaultValue","onSearch","onTextChange","clearRecentSearch","setText","InputGroup","FormControl","onKeyDown","Button","usePatients","setPatients","getPatientsFromSessionStorage","useScrollPosition","position","scrollPosition","setScrollPosition","getScrollPosition","toString","useSessionState","setState","getSessionStateValue","LookbackFilter","options","VisitsModal","lastVisit","futureVisits","centered","dtm","v","begDtTm","resource","CustomAlert","code","isSuccessful","onClickTakeSurvey","DeleteConfirmationModal","handleConfirm","CustomPagination","currentPage","totalPages","onPageChange","range","Pagination","First","Prev","getPaginatedGroup","start","Math","floor","n","Array","fill","_","idx","page","Next","Last","MyPatients","visitLookbackOptions","isBigScreen","innerWidth","setFlag","searchText","setSearchText","setPatient","showDeleteModal","setShowDeleteModal","isBack","setIsBack","pages","setPages","maxPages","setMaxPages","setCurrentPage","lookback","setLookback","setQuery","searched","setSearched","setPage","useRef","viewAsFilter","setViewAsFilter","showModal","setShowModal","visits","setVisits","apiCallCount","setApiCallCount","recentSearchPatientName","setRecentSearchPatientName","locationKeys","setLocationKeys","useCallback","entries","isIntersecting","prev","lastEncounterDtTm","lastEncounterLoc","hasNext","ButtonGroup","ToggleButton","checked","q","c","scrollTo","ref","providerName","SharedPatients","PracticeAppointmentModal","selectedEvent","hour12","allDay","toLocaleTimeString","slice","end","physician","resources","localizer","momentLocalizer","moment","Object","keys","Views","k","CustomEvent","event","SURGERY_IND","RADIOLOGY_IND","dateConverter","dateStr","PracticeAppointments","practiceAppointments","setPracticeAppointments","searchResult","setSearchResult","selectedSearchResult","setSelectedSearchResult","setSelectedEvent","startDate","setStartDate","actualStartDate","setActualStartDate","appointments","setAppointments","viewType","setViewType","createAppointmentsArray","appointements","RPTDATA","FUTURE_VISITS","PATIENT_NAME","toLowerCase","obj","EVENT_ID","STATE","BEG_DT_TM","END_DT_TM","RESOURCE","TYPE","PHYSICIAN_NAME","P_PERSON_PRSNL_R_DISP","LOCATION","sd","asd","textDecoration","Calendar","popup","selectable","onNavigate","focusDate","flipUnit","prevOrNext","events","views","onView","step","showMultiDayTimes","max","dates","defaultDate","onSelectEvent","components","eventPropGetter","isSelected","newStyle","borderRadius","ChartService","getLabResults","getNotes","getNotesHTML","result","responseType","pdfBlob","Blob","URL","createObjectURL","getRadiologyResults","getReportsHTML","getNotesError","ComponentToPrintLabs","_patientDetail$allerg","labResults","notes","radiologyResults","patientDetail","dt","currentTime","setDate","reportFrom","paddingTop","allergies","allergyName","join","fontWeight","fontSize","LABS","_ref2","LAB","lab","ES2","EVENT_END_DT_TM","ORDERING_PHYSICIAN","striped","bordered","EVENT","DISPLAY","RESULT_VAL","RESULT_UNITS","NORMALCY","NORMAL_LOW","NORMAL_HIGH","EVENT_NOTES","note","NOTE_DT_TM_DISP","EVENT_NOTE_BLOB","CustomScale","criticalLow","criticalHigh","normalLow","normalHigh","normalcy","renderValueOnScale","transform","marginBottom","renderBadge","isCritical","numberValue","parseFloat","renderValue","pos","cl","ch","nl","nh","i","CommentsModal","eventName","Chevron","SIZE","chevron","rotate","CustomAccordion","content","isOpen","setOpen","setHeight","header","background","LabResults","encounterId","setLabResults","componentRef","dateObj","getUTCMonth","day","getUTCDate","year","getUTCFullYear","titleDate","documentTitle","resultFilter","setResultFilter","setEventName","setNotes","filteredByType","setFilteredByType","allLabs","orderBy","ES1_SEQ","thenBy","ES2_SEQ","currentES1","currentES2","lastES1","lastES2","ES1s","forEach","_currentES2$labs","_currentES1$ES2s","ES1","ES2s","labs","handlePrint","useReactToPrint","pageStyle","current","res","renderEventsTable","RESULT_STATUS","CRITICAL_LOW","CRITICAL_HIGH","EVENT_NOTE_CNT","handleCommentsClick","isDisabled","_ref3","LAB_CNT","_ES1$ES2s","_ES1$ES2s2","_ES2$labs","_ES2$labs2","CustomAlertModal","hideBorder","NoteViewErrorModal","onClose","onTryAgain","formatFailed","errorMessage","alternativeMethod","XR","TR","alternative","method","pdfError","htmlError","border","Notes","_error$response","patientDOB","setNote","setBody","loadingNotes","setLoadingNotes","setFormatFailed","showErrorModal","setShowErrorModal","failedAttemptedMethods","setFailedAttemptedMethods","NotesErrorMessages","setNotesErrorMessages","eventId","view","format","currentAttempts","PARENT_ID","pdf","html","prevState","DOCUMENT_FORMAT","NOTE_CNT","NOTE_GROUP_PERFORMED_DATE","NOTE_GROUP_VERIFIED_DATE","NOTE_GROUP_TITLE","NOTE_GROUP_AUTHOR","NOTE_GROUP_AUTHOR_POSITION","DOB","NOTES","NAME_FULL","POSITION","NOTE_PERFORMED_DATE","NOTE_SEQ","updatedAttempts","finally","NOTE_GROUP_CNT","hover","NOTE_GROUPS","isLoadingPdf","isLoadingHtml","generalError","supportMail","handleCloseErrorModal","ReportsModal","handleSave","FIN","FACILITY","ENCNTR_TYPE","DISCHARGE_DATE","CATALOG","ORDER_ID","EVENT_VISIT_DATE","EVENT_DATE","REPORT_STATUS","justifyContent","RadiologyResults","setRadiologyResults","setEvent","aref","EVENTS_CNT","EVENTS","handleReportsClick","EVENT_TAG","IMAGE_URL","rel","IMAGE_COUNT","BackButton","goBack","PatientDetails","useParams","lookBackOptions","setVisitLookbackOptions","setEncounterId","valueVisit","setValueVisit","valueRange","setValueRange","handleLookback","getVisitsLookBackDisplay","enc","REG_DT_TM","NURSE_UNIT","ROOM","ENCOUNTERS_CNT","ENCOUNTERS","ENCNTR_ID","ViewPatients","HeaderName","PatientAccessRequestService","getPatientAccessRequestList","getPatientAccessRequestById","createNewPatientAccessRequest","editPatientAccessRequest","getNotMyPatientList","editNotMyPatientRequest","ReferralService","getReferrals","getPhysicianReferrals","getReferralById","getReferralFormDataList","cancelReferral","referral","createReferral","editReferral","NewPatientAccessRequest","referralFormDropdownData","setReferralFormDropdownData","redirect","setRedirect","DATE","Number","setTimeout","err","form","onBehalfPhysicianId","physicians","Redirect","to","severity","onSubmit","field","Group","Label","column","required","custom","Control","PatientAccessRequestList","patientAccessRequest","tableRows","setTableRows","sortDirection","setSortDiection","sortKey","setSortKey","assembleData","patientsArray","patientAccessRequestID","patientAccess","patientFirstName","patientLastName","patientDob","requestStatus","onBehalfPhysicianName","createdBy","createdOn","modifiedOn","columns","rows","MDBDataTable","sorting","onSort","direction","searching","ProxyPatientAccessRequestList","patientGender","patientMRN","hight","PatientAccessRequests","pathName","setPatientAccessRequest","setMessage","practice","navigateToPage","handleSearch","searchterm","handleLookBack","temp","LookBackFilter","newPatientAccessRequest","NotMyPatientRequestList","handleActiveRecordClick","tRows","user","providerID","patientID","activeRecord","onStatusClick","cols","NotMyPatientRequest","PatientAccessRequestsDetails","setpatientAccess","headerName","modifiedBy","PatientAccessRequestsEdit","toISOString","patientGenderId","onBehalfPhysicianID","handleDefaultValue","dateDefaultValue","substring","MyAppointment","AllAccountsList","allAccounts","isTrue","account","_account$accountRoleP","_account$accountRoleP2","_account$lastLoggedIn","domain","lastIndexOf","firstName","lastName","accountRolePerPractice","practiceName","roleName","button","userId","onDetailClick","onEditClick","AccountService","getAllAccountsList","getUserAccount","getAllAccountRoles","editAccountsList","getVerifyOktaQuestion","requestPasswordReset","generateTempPassword","resetMFA","accountStatus","oktaStatus","removePhysician","removeNonPhysician","invitePhysician","inviteNonPhysician","newAccountRequest","getAccountRequests","getSentInvitations","editAccountRequest","emailExists","reinvite","loginAsValidator","loginAsInitiate","removeEmbassyMember","AllAccounts","setallAccounts","AllAccountsListEdit","accountEdit","allAccountsRoles","userName","securityQuestion","setSecurityQuestion","answer","loadingOKTAVerify","setLoadingOKTAVerify","statusOKTA","setStatusOKTA","oktaAnswer","setOktaAnswer","tempPassword","setTempPassword","allAccountsDetail","setallAccountsDetail","securityAnswerOKTA","setSecurityAnswerOKTA","mobilePhoneNumber","officePhoneNumber","accountStatusOnClick","verifyMessage","_allAccountsDetail$ac","_allAccountsDetail$la","_allAccountsDetail$la2","rolePractice","practiceId","lastModifiedOn","handleOnChangeOKTAVerify","AllAccountsListDetail","setAccount","CustomInputFormik","props","nonEditable","selectedItem","itemSelected","isInvalid","errors","touched","renderInput","Check","o","Typeahead","inputProps","selected","defaultSelected","labelKey","setFieldValue","onWheel","blur","ConfirmationPopup","LoginAsAnotherUser","_authState$accessToke2","setshowModal","errorMsg","setErrorMsg","setUserName","emailId","setEmailId","setPracticeName","loginAsAnotherUser","setLoginAsAnotherUser","loginAsAnotherUserEmailId","setLoginAsAnotherUserEmailId","origin","Formik","initialValues","validationSchema","Yup","shape","nullable","FormikForm","Field","component","AccountRequests","accountRequests","setAccountRequests","searchTerm","lookBack","pageNumber","pageSize","isHIM","request","accountRequestId","userFirstName","userLastName","userEmail","expectedRole","accountRequestStatus","handleOnClick","UserPrivacyPolicy","listStyle","TermsOfUse","SentInvitations","invitedDate","expectedRoleName","registeredUsrName","invitedBy","MyReferrals","referrals","setReferrals","showCancelReferralModal","setShowCancelReferralModal","clinic","referralId","showCancelReasonModal","setShowCancelReasonModal","reason","showScheduleReasonModal","setShowScheduleReasonModal","aptDate","duration","pagesize","pagenumber","sortfield","sortdirection","msg","SharedReferrals","FormPopover","Popover","ReferralList","modifyQuery","onCancelPress","onReferPress","onEditPress","onCancelledPress","onCancelRequestPress","onScheduledPress","appointment","_referral$dateOfBirth","_referral$createdDtm","referralAppointment","borderTop","dateOfBirth","clinicName","createdDtm","OverlayTrigger","placement","overlay","cernerStatus","cancellationReason","Badge","bg","handleCancelledClick","InfoOutlinedIcon","cancelationRequest","modifyBy","modifyDtm","ReferralsCard","Loading","CancelReferralModal","handleRemove","setReason","CancellationRequestModal","CancellationReasonModal","ScheduledReasonModal","ViewReferrals","appointmentDetail","setReferral","listedReferrals","setListedReferrals","s","setS","Bloading","setBloading","showCancelRequestModal","setShowCancelRequestModal","getReferral","handleSearchReferrals","handleSortReferrals","toggleCancelReferralModal","handleReferPatientClick","toggleCancelReasonModal","handleScheduledClick","toggleScheduleReasonModal","toggleCancelRequestModal","comp","toUpperCase","localeCompare","toLocaleLowerCase","patientOneDOB","patientTwoDOB","getTime","patientOneCreatedOn","patientTwoCreatedOn","querystring","tempReferrals","element","listStylePosition","listStyleType","newReferral","referralQuery","ReferralCard","handleRemoveClick","ReferralFormStructure","popover","belongsTo","affects","dependsOn","referralFormContext","setErrors","referralSubmitContext","FormikStepper","childrenArray","Children","toArray","setStep","currentChild","completed","setCompleted","isLastStep","submitDisabled","React","values","helpers","Stepper","alternativeLabel","activeStep","child","Step","StepLabel","letterSpacing","FormikStep","SelectInput","fieldInfo","defaultvalue","useFormikContext","DateInput","MAX_DATE","EmailInput","HiddenInput","NumberInput","TextAreaInput","TextInput","DeleteIcon","fillColor","viewBox","xmlns","d","FileName","flex","FileItem","f","handleRemoveFile","isError","file","toFixed","UploadAttachmentsNew","setSubmitDisabled","files","setFiles","showFiles","setShowFiles","totalSize","setTotalSize","MAX_FILE_SIZE","__","useField","attachmentNames","mFiles","onDrop","acceptedFiles","rejectedFiles","mappedAccepetedFiles","accFileSize","rejFileSize","t","getRootProps","getInputProps","isDragActive","useDropzone","accept","validator","opacity","ReferralForm","states","abbreviation","renderErrorMessage","setPhysician","acuity","setAcuity","patientAcuity","patientState","setPatientState","clinicKey","setClinicKey","guardianRelationship","setGuardianRelationship","patientSex","setPatientSex","guardianSex","setGuardianSex","requestType","setRequestType","insuranceType","setInsuranceType","patientStateId","clinicKeyData","patientAcuityId","guardianRelationshipId","patientSexId","guardianSexId","requestTypeId","physicianId","insuranceTypeId","referralFormStructure","r","patientFormStructure","guardianFormStructure","attachmentsFormStructure","renderFormField","DEFAULT_OPTION","practices","insuranceTypes","patientAcuitys","requestTypes","clinics","guardianRelationships","_ref4","_ref5","_ref6","_ref7","_ref8","_ref9","_ref10","Provider","enableReinitialize","_ref11","setSubmitting","entry","has","guardianEmail","phoneNumber","matches","secondaryPhoneNumber","zipCode","practiceFax","min","guardianDob","middleName","guardianFirstName","guardianLastName","ReferralFormState","initialFormValues","NewReferralWizard","setInitialValues","route","setRoute","path","reverse","getReferralData","_referralInfo$dateOfB","_patient$patientName$","_patient$patientName$2","_patient$mrn$toString","_referralInfo$guardia","_patient$sex","_patient$physicianNam","referralInfo","botMessage","botStatus","cernerReferralId","cernerUpdtDtm","parentReferralId","statusId","Promise","resolve","reject","PracticeService","searchPracticeByName","searchPracticeByLocation","searchPracticeById","getPracticeNonPhysicians","getPracticePhysicians","getPhysiciansToVerify","getPracticeInfo","getPhysicians","getLocations","isPoPresent","practiceDelegation","verifyPhysician","getPractice","practiceDefaultLocationChange","practiceOwnerChange","changeDefaultPractice","usePracticeInfo","practiceInfo","setPracticeInfo","getpracticeInfoFromSessionStorage","PhysiciansToVerify","practicePhysicians","setPracticePhysicians","submittingYes","setSubmittingYes","submittingNo","setSubmittingNo","setReload","onVerifyClick","verificationStatus","checkRole","renderButtons","isDelegated","renderTableHeader","npi","AddPhysicianToPracticeModal","handleAdd","handleError","midName","medicalLicenseNumber","npiNum","mobilePhone","practiceZip","practicePhone","practiceAddress1","practiceCity","practiceState","maxHeight","overflowY","RemoveUserConfirmationModal","isPractice","InvitePhysicianConfirmationModal","setData","emailAddress","success","setSuccess","controlId","_emailAddress$current","postBody","verified","PracticePhysicians","modalShow","setModalShow","username","showRemoveModal","setShowRemoveModal","setIsSubmitting","invited","setInvited","setResponse","userToRemove","setUserToRemove","renderRemoveButton","accountExists","inviteModal","cursor","useUserInfo","userInfo","setUserInfo","getUser","info","signOut","logout","MyPracticeInfo","_practiceInfo$availab","onPracticeInfoUpdate","address","address1","address2","city","zip","zip4","redirectOKTA","isInternal","test","OKTA_AUTH_CONFIG","issuer","htmlFor","availablePractices","AddNonPhysicianToPracticeModal","PracticeNonPhysicians","nonPhysicians","setNonPhysicians","CustomToggle","onToggle","isOn","setChecked","PracticeDelegation","delegationEnabled","delegation","setDelegation","toggle","setToggle","MyPractice","canControlDelegation","isDelegatoinEnabled","UploadImageService","getSliderImage","createSliderImageRequest","editSliderImageRequest","SliderImages","tableHeadPadding","sliderImageData","setSliderImageData","imageData","AnnouncementService","getAnnouncementServiceList","createAnnouncementServiceRequest","editAnnouncementServiceRequest","AnnouncementBanner","delegationToggle","setdelegationToggle","announcementData","setAnnouncementData","announce","cssClassId","validFrom","validTo","AlumniSpotlightService","getAlumniSpotlightServiceList","createAlumniSpotlightServiceRequest","editAlumniSpotlightServiceRequest","AlumniSpotlight","alumniData","setAlumniData","alumni","fileName","isActive","DivisionMonthService","getDivisionMonths","createDivisionMonthServiceRequest","editDivisionMonthServiceRequest","DivisionOfTheMonth","divisionData","setDivisionData","division","OnlineCMEService","getOnlineCMEServiceList","createOnlineCMEServiceRequest","editOnlineCMEServiceRequest","OnlineCMELectures","onlineCMEData","setOnlineCMEData","cme","eventDate","videoUrl","PediatricGRService","getPediatricGRServiceList","getPGRSupportedMediaType","deletePediatricGRServiceRequest","delete","createPediatricGRServiceRequest","setProgress","onUploadProgress","round","loaded","total","editPediatricGRServiceRequest","uploadPGRVideo","pediatricGrandRoundSAS","PediatricGrandRounds","pediatricData","setPediatricData","pediatric","pediatricEditValue","PracticeTipService","getPracticeTipServiceList","createPracticeTipServiceRequest","editPracticeTipServiceRequest","PracticeTipOfTheMonth","practiceTipData","setPracticeTipData","practiceTip","wordWrap","AmbulatoryService","getAmbulatoryList","createNewAmbulatoryRequest","editAmbulatoryRequest","AmbulatoryCareCenter","ambulatoryData","setAmbulatoryData","ambulatory","MemberDirectoryService","getMemberDirectoryServiceList","createMemberDirectoryServiceRequest","editMemberDirectoryServiceRequest","MemberDirectory","memberDirectoryData","setMemberDirectoryData","member","ClinicalPathwayService","getClinicalPathwayServiceList","getClinicalType","createClinicalPathwayServiceRequest","editClinicalPathwayServiceRequest","ClinicalCarePathways","clinicalTypeData","setClinicalTypeData","clinicalPathwayData","setClinicalPathwayData","clinicalpathway","clinicalCareId","CareNetworkService","getCareNetworkServiceList","createCareNetworkServiceRequest","editCareNetworkServiceRequest","CareNetworkTeamContacts","careNetworkData","setCareNetworkData","carenetwork","MentalHealthService","getMentalHealthServiceList","createMentalHealthServiceRequest","editMentalHealthServiceRequest","MentalHealthResources","mentalhealthData","setMentalhealthData","mentalhealth","PatientFamilyService","getPatientFamilyServiceList","createPatientFamilyServiceRequest","editPatientFamilyServiceRequest","PatientAndFamilyEducationMaterials","patientfamilyData","setPatientfamilyData","patientfamily","NewMemberDirectory","NewClinicalCarePathways","handleOnChangeClinical","NewCareNetworkTeamContacts","NewPatientFamily","NewMentalHealth","EditMemberDirectory","EditClinicalCarePathways","EditCareNetwork","EditPatientFamily","EditMentalHealth","DateTimeInput","defaultTime","from","dateTime1","setDateTime1","dateTime2","setDateTime2","NewFomAnnouncement","alertType","setAlertType","trimStart","BootstrapAlert","UploadImages","setStatus","flag1","setFlag1","img","Image","onload","p","set","NewAlumniForm","NewPracticeTipForm","NewDivisionForm","NewAmbulatorySchedules","trimEnd","EditAmbulatory","EditAlumni","EditAnnouncement","EditPracticeTipOfMonth","EditSubform","_data$contentTitle","_data$contentBulletLi","_data$contentSignatur","cmedata","onFormClick","contentTitle","contentMessage","contentBulletLine","contentFullname","contentSignature","fieldCount1","setFieldCount1","fieldCount2","setFieldCount2","fieldCount3","setFieldCount3","settitle","handleMultipleOnChange","mData","Tabs","defaultActiveKey","transition","Tab","eventKey","count","bullet","EditOnlineCME","handleFormClick","EditSubForm","EditDivisionOfMonth","RichTextEditor","_props$editorHtml","_props$setEditorHtml","editorHtml","setEditorHtml","ReactQuill","modules","toolbar","list","indent","formats","theme","PediatricSubForm","_pediatricData$conten","_pediatricData$conten2","_pediatricData$conten3","ReactHtmlParser","PediatricHelper","convertOlderPediatricToNewForm","oldPGR","pgr","PediatricForm","_data$videoUrl","setdata","setFile","progress","supportedTypes","setSupportedTypes","_data$contentFullname","videoExists","getElementById","focus","changeValue","_videoInput$files","videoInput","myFile","File","dataTransfer","DataTransfer","add","_data$isActive","_data$eventDate","handleFile","autoFocus","onFocus","SubForm","NewOnlineCMEForms","setHtml","PhysicianResourceService","getPhysicianResourceService","downloadPdfProviderRelation","createPhysicianResourceService","editPhysicianResourceService","PhysicianResources","physicianData","setPhysicianData","infoWells","InfowellsEdu","likeButtonClicked","setLikeButtonClicked","Education","educationData","setEducationData","education","PGRInfowells","allYears","setAllYears","every","getAllYear","yearArr","_pgr$contentTitle","_pgr$contentBulletLin","_pgr$contentSignature","handleVideo","videoURL","CMEInfoWells","cmeData","setCmeData","MedicalStaff","MButtonGroup","buttons","mButtonGroup","AdminLocationsTable","locations","contactPerson","phone","fax","AdminPracticePhysiciansTable","gap","isPracticeOwner","AdminService","createPractice","editPractice","practiceLookup","createPhysician","deactivatePractice","deactivatePhysician","editPhysician","DeactivateConfirmationModal","AdminPracticeResult","practiceSearchResult","searchValue","setPractice","setphysicians","setlocations","adminPractice","handleDeactivateClick","handleEditClick","physicianResult","physicianCount","locationResult","locationCount","AdminPracticeLocationsTable","AdminPracticeSection","practiceSearchResults","setPracticeSearchResults","serachCount","setSearchCount","checkBox","setCheckBox","setSearchValue","filterPractice","handleClearResultsClick","handleAddClick","PhysicianService","searchPhysician","getPhysician","AdminPhysicianPracticesTable","AdminPhysicianResult","physicianSearchResult","AdminPhysicianSection","physicianSearchResults","setPhysicianSearchResults","filterPhysician","AdminLocationSection","AdminSection","TAB_1","TAB_2","TAB_3","activeTab","setActiveTab","topSection","onPhysicianClick","onPracticeClick","onLocationClick","MultiSelect","multipleAllowed","onAddClick","onDoubleClick","isLocation","setSelected","borderWidth","borderStyle","multiple","_option$disabled","AdminCreateLocationModal","apiCall","setApiCall","setSearch","showLocationModal","setShowLocationModal","isInitial","setIsInitial","setIsError","isChecked","setIsChecked","mailStop","country","mailAddress1","mailAddress2","mailMailStop","mailCity","mailCountry","mailState","mailZip","mailZip4","contactName","phoneExt","formFilledData","setFormFilledData","API_KEY","secrets","GEO_API_KEY","Geocode","setApiKey","setLanguage","handleHideLocation","actions","str","fromAddress","results","address_components","types","long_name","short_name","AddressSearch","setValues","resetForm","visibility","AdminSearchPhysicianModal","renderForm","setRenderForm","selectedPhysician","setSelectedPhysician","department","practiceLocationId","AdminPracticeLookupModal","borderless","paddingInlineStart","handleOnSubmit","AdminCreatePractice","physicianOptions","setPhysicianOptions","locationOptions","setLocationOptions","setResults","showPhysicianModal","setShowPhysicianModal","showPracticeLookupModal","setShowPracticeLookupModal","setLocation","existingSimilarNames","setExistingSimilarNames","handleCreatePractice","groupName","practiceType","practice_Physician","practice_Location","yup","npinum","key_loc","key_phy","listOfExisting","practiceLocation","DropdownDataService","getAccountRequestEditDropdownData","getPhysicianFormDropdownData","AdminCreatePhysicianModal","AdminCreatePhysician","setOptions","dropdownData","setDropdownData","showSpecialties","setShowSpecialties","specialties","setSpecialties","showAffiliations","setShowAffiliations","affiliations","setAffiliations","showInsurances","setShowInsurances","insurances","setInsurances","languages","ErrorFallback","suffix","cellPhone","deaNum","deaExpireDate","boardCertified","licenseNumber","licenseState","medicaidId","medicaidState","medicareId","medicareState","medicareProviderFlag","medicalSchool","residency","yearStartedPracticing","hospitalAffiliation","preferredProvider","fochla","language1","language2","hdsRunDate","hdsPhyId","cernerId","starId","childrensConnect","labOutreach","chlahealthNetwork","myChla","physicianSpecialties","physicianHospitalAffiliations","physicianInsuranceAccpted","suffixes","boardCertifications","titles","medicalSchools","residencies","statuses","ErrorBoundary","FallbackComponent","hospitals","ResourceService","getResourceService","createResourceService","editResourceService","Resources","setId","resourceData","setResourceData","ClinicalCarePathwaysScreen","dropdown","clinicalCareType","load","setLoad","ClinicalPathwayCards","CareWebsite","useDebounceQuery","time","debounceQuery","setDebounceQuery","timeout","clearTimeout","AccountRequestEdit","inviteLoader","setInviteLoader","reInviteLoader","setReInviteLoader","setDropDownData","isPO","setIsPO","handleBackClick","handleReinvite","reInvite","practiceContactEmail","officePhone","userPhone","handleChange","accountRequestUserRole","onkeypress","expectedRoleId","accountRequestStatusId","AccountRequestDetails","userMiddleName","userTitle","practiceAddress2","practiceContactName","accountRequestTypeId","AdminEditLocationModal","selectedLocation","showSuggestion","isflag","setisflag","prctId","locationId","dateCreated","dateModified","defaultLocation","hdsSiteid","AdminEditSearchPhysicianModal","selectedEditPhysician","showLocationError","setLocationError","homeLocId","moreThan","physId","physicianFirstName","physicianLastName","physicianTitle","verifiedBy","verifiedDate","AdminEditPractice","defaultLocationError","setDefaultLocationError","setDefaultLocation","practiceOwner","setPracticeOwner","setPhysicians","setLocations","setSelectedLocations","saveBtnLoad","setSaveBtnLoad","l","deafaultLocArr","deafaultLoc","practiceOwnerArr","po","selecPhysician","phy","newOptions","filteredPhysicians","selecLocation","filteredlocations","AdminEditPhysician","setInitialValue","filterHospitalName","arr","filtered","x","filterInsuranceName","filterSpecialtyName","_physicianDetail$phys","_physicianDetail$phys3","physicianDetail","physicianEdit","_physicianDetail$phys2","physicianInsurancesAccepteds","PracticeNotActive","statement","setStatement","PGRVideo","setUrl","setTitle","description","setDescription","setEventDate","params","fetchSAS","SASInfo","sas","ReactPlayer","controls","attributes","controlsList","EmbassyService","getEmbassyInfo","getEmbassyMembers","embassyId","MyEmbassyInfo","embassyID","embassyAddress1","embassyName","embassyAddress2","embassyCity","embassyState","embassyZip","EmbassyMemberInfo","embassyInfo","embassyMembers","setEmbassyMembers","some","RouteConfig","render","exact","permissions","isShownOnNavBar","setEmbassyInfo","pageName","setPageName","NewFormAnnouncement","NewMentalHealthResources","NewPatientAndFamilyEducationMaterials","PGRInfoWells","ISSUER","REACT_APP_ISSUER","CLIENTID","REACT_APP_CLIENTID","REACT_APP_API_ENDPOINT","ROUTES","clientId","redirectUri","scopes","pkce","disableHttpsCheck","OktaSignInWidget","onSuccess","onError","widgetRef","widget","OktaSignIn","showSignInToGetTokens","el","remove","Login","isLoggedIn","setIsLoggedIn","oktaSignInConfig","baseUrl","logo","i18n","en","features","registration","rememberMe","multiOptionalFactorEnroll","selfServiceUnlock","smsRecovery","callRecovery","router","idpDiscovery","requestContext","helpSupportNumber","brandName","authParams","session","exists","getWithoutPrompt","tokenManager","setTokens","tokens","myItem","clear","handleLoginRedirect","isPending","getAllRoutes","allowedRoutes","getRoutesFromMenuItems","routes","menu","_routes$find","_routes$find2","itemId","dropdownMenu","setDropdownMenu","isEmbassyUser","setIsEmbassyUser","handleDropdownSelect","getElementsByClassName","addEventListener","checkEmbassyUser","Navbar","collapseOnSelect","expand","navDiv","Brand","logoContainer","brandLogo","Toggle","Collapse","Nav","tabs","activeKey","row","main","NavDropdown","navbarLink","responsiveNavDropdown","align","itemName","Link","ReminderPopup","showReminder","IdleTimeOutModal","handleContinue","handleLogout","remainingTime","IdleTimeOutHandler","isLogout","setLogout","setIsActive","timer","eventHandler","eventType","onActive","startTimer","addEvents","removeEvents","lastInteractionTime","diff","timeOutInterval","_milliseconds","onIdle","cTime","removeEventListener","removeItem","handleContinueSession","mainContainer","headerContainer","brandContainer","onClickLogo","loginContainer","referDetails","topLink","createAccount","DisplayBanner","shouldRender","setShouldRender","displayBanner","setDisplayBanner","varient","setVarient","todayDate","setBanner","todayBanners","isValidBanner","recentModified","banner","differenceTime","checkVarient","NewPracticeRequest","LoginAsBanner","alertMessage","setAlertMessage","OktaAuth","AppWithRouterAccess","Security","onAuthRequired","customAuthHandler","restoreOriginalUri","_oktaAuth","originalUri","toRelativeUrl","fontFamily","Switch","Route","LoginCallback","SecureRoute","Element","Suspense","fallback","useHomeData","getMenuItemsFromSessionStorage","MenuItemsState","mItems","setMItems","useMenuItems","practiceInfoContext","PracticeInfoState","pInfo","setPInfo","App","BrowserRouter","ReactDOM","StrictMode"],"mappings":"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","file":"static/js/main.162ddadd.chunk.js","sourcesContent":["// extracted by mini-css-extract-plugin\nmodule.exports = {\"login-home\":\"Jumbotron_login-home__3Pda0\",\"img-corousel\":\"Jumbotron_img-corousel__3WBEv\",\"btn-login\":\"Jumbotron_btn-login__2nJbf\",\"card-main\":\"Jumbotron_card-main__3CNEy\",\"card-title\":\"Jumbotron_card-title__2rOvU\",\"titleCard\":\"Jumbotron_titleCard__70gxl\",\"infowellButton\":\"Jumbotron_infowellButton__1OvJX\",\"inforwellContainer\":\"Jumbotron_inforwellContainer__1OfDr\",\"button-card\":\"Jumbotron_button-card__jlISy\",\"button-card-auth\":\"Jumbotron_button-card-auth__H1jfe\",\"outline-secondary-infowells\":\"Jumbotron_outline-secondary-infowells__2wxHj\",\"card-body-home\":\"Jumbotron_card-body-home__24wTN\",\"card-deck\":\"Jumbotron_card-deck__3Dw1b\",\"social\":\"Jumbotron_social___Rw1A\",\"main-div\":\"Jumbotron_main-div__ccuY9\",\"carousel-control-prev-icon\":\"Jumbotron_carousel-control-prev-icon__75Rwu\",\"carousel-control-next-icon\":\"Jumbotron_carousel-control-next-icon__3S-Lv\",\"carousel-indicators\":\"Jumbotron_carousel-indicators__2bBo_\",\"testname\":\"Jumbotron_testname__36lSw\"};","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUNCNTMyMDBBQzdGMTFFQzk5REY5QzdEMDJCMDJFRkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUNCNTMyMDFBQzdGMTFFQzk5REY5QzdEMDJCMDJFRkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQ0I1MzFGRUFDN0YxMUVDOTlERjlDN0QwMkIwMkVGQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQ0I1MzFGRkFDN0YxMUVDOTlERjlDN0QwMkIwMkVGQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PumOJB0AAALJSURBVHjarJRLTBNRFIaZDp3Og7YUClPbirZEfIsVYiRRIYEFQY0vgsLCxLULVyYmbl342JmwBJSFsQtdoDTE2PiICZiIFZK6EKQSp7a00toHnb5mxjPTpmIdSms8mUxu7/zf33PvufcggiBU/Y+olp2NpPhJT8zJJD6GUssshysQK1W9Q6PsNpMnLGqtSvE3ghRllOL4MXfkznzYl+Zl/4NWKq636i7v1apQxYZGTCxzyemfDqVgfNZEnrHUdGwhDKSYtT+RnfaxE574Y28CfnbUqca7DWa1UsboWyzT+4xZYjmbFrt3tKGdJmQzer/CXn0b/BBJWwl06qR5a8FLkCKZ5TqfLOMjC/0OJpLihJIBggEHA2JAAMxN5tc56o68C6cP67D7PUYNlp98OB8mRhdzD4wLSYFgrMcIYkBG3JHcpMiEk9ytuRCMho81UkqknGKTSgTEgNyeCwGeN3J44oGMMNBE7dPj69UHaXykvX4jLxADAuCkJ543eiEV4pxVXSTdQxNDB3Ql8upvFhGnhItGrlWx3vvrVZWe5la9qoCLRoy0SJpCKzWipSPGFPaIkqrEC0ilRkKhXrn3Nko8VIG1bKVGfglpItC80e5a0cgVTFZqNBsQkUPSTolGPWYK3vbFaKVGjxaiBVw06rOom3B0wsfO+NjyXUAMCIDQWH7ftfFPYbg7bXZPiM0KZQTIQAzIA3f4j7s2uFN72ki449nB599XEpvsOghABmJAhnZpi9sIXJlTDu/sz3Qzid490tC7vQaRq/fU1/i1meCXBNdWiz3tM+lwVKaxQYe98sqfa13H9dgFq8bWiNMkmuGrgmx2PpiyL0Xf/EjD1/MmcrjLsL7nFrdajhfsn6M3XSEPy8muy0KgN2x1F1s0qAIp1bNzkeaE1961lww7t5oMJHlMgRhJtEWLdZmJThOFocjmzf+f45cAAwB5ppfRRO6UhwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6QUNCNTMyMDRBQzdGMTFFQzk5REY5QzdEMDJCMDJFRkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6QUNCNTMyMDVBQzdGMTFFQzk5REY5QzdEMDJCMDJFRkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQ0I1MzIwMkFDN0YxMUVDOTlERjlDN0QwMkIwMkVGQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDpBQ0I1MzIwM0FDN0YxMUVDOTlERjlDN0QwMkIwMkVGQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PkXUNnMAAANeSURBVHjarFRbSBRRGHZ39uJe3PW66+IarYigRmkaJaZWdkPLoALDqDCphx7qwZeI6KF8CKSHKHsIJIheCpWytEhNkkgs8wKZYOjquouXnXbdXWdnd2dntv/MjONkq0X0cRj+OfN93/znP+f8kkgkEvM/IIs6G6Ij7x1Er50c/RFwBhgFJjGpsCy9Yo9ZVZamgdffJZI1GdFM5OmEt2HYZSXpqP+wqLDr+YnVWTpMKlnXyBtiLvXOtzr8EJcmK05adAUGpVEjo+gYPBAeXgy2WL19eAi+nkhTP9ibqlNIoxi5A/TRTseXpVCGCrtXbNi3SRM1o3c24vLHxUk/XRCveFmRlhCL8R8iLCiaOfXaEdv8/dAL2zxBRURwLlNj834CyrYCIAANyCABITfJZ/Rk3HOh35mjlXVXpQs/mVkKNQ7gzexKAfUZmmvFRrVcyqV/oH12bDn8sCj5THY8zKBZyODWsAuCphLjaqoxMRe75wQXwJ0pomkQ52Kg3S8xQtAw7AY5b9Rp9dkCdJVJtcukEmSf7USfl4Kg76CJPJ95PFmJEp9aFghABgkIQc4bddsJeFZn6sRF1cilzYVJMHaYUdXzUpDRRJARczhJFytHB3J8Cf05PyVWTMoxqmBwsZ9iuh0kVyYxp9CIJEN4kM9ohkBGBo1sveMPpeGWWcPWVUAqK7GxR5ctNpuvEovu0ti/eGPcCwEsU8iRP4Tsk1stMjKzO7XgD2/gcjNbV7M1Yc3XRTIsyJFRfhIqJNwAMQnqcrp9VnCpzIj7tkDCEHNGnEFBjoz2p6nh2TrlE5Oej3vacN4a7Ao6HNwQc1omkaSclaNqVVi0hkH8mY2oxwNbkvm9M2lldSxjPXzFAyAxyCWVFu3qXWsadcHdKW2DDaQjfwEyTJe1zYAEhNwM3wfqcvU7ExSf3KHarjloJhs3QyCcezs34A6BBIRr28isjzr8yj5F0tv1iru7Uwp/3WkBgwvklQ/OIQ/qNm+OmNPj5FEam91Hne2Z73cFudZ1zKItMqng1FEMtA4aLNqnl1vs6BoXJSofl6eaV1yitNogzTwa89wedS9Q0RdolEuvbkuozdUrMelGPZuDJ8h0WH09dv+IKzjtRzdgsxrLS1SWm9WVlji9Uvrn5v/P+CnAAL1f6foDu8yvAAAAAElFTkSuQmCC\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"adminPractice\":\"AdminResult_adminPractice__b2f_Q\",\"hover\":\"AdminResult_hover__1pxNO\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"chevron\":\"Chevron_chevron__4xLsr\",\"rotate\":\"Chevron_rotate__2-ec8\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"item\":\"CustomAccordion_item__1KrZV\",\"header\":\"CustomAccordion_header__3rrgB\",\"content\":\"CustomAccordion_content__1hYw8\"};","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/pdf-file.513d4100.png\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAZIAAAA7CAYAAABR5gxoAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Nzk0OUQ5NzBFOEYwMTFFQjg2MzNCOUU0RkYzQTVBMjgiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Nzk0OUQ5NzFFOEYwMTFFQjg2MzNCOUU0RkYzQTVBMjgiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo3OTQ5RDk2RUU4RjAxMUVCODYzM0I5RTRGRjNBNUEyOCIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo3OTQ5RDk2RkU4RjAxMUVCODYzM0I5RTRGRjNBNUEyOCIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/PvtpsKYAACLiSURBVHja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\"","export default __webpack_public_path__ + \"static/media/CHLA_myCHLA User Guide_Practice Owner Account Management Process.d9ceda5e.pdf\";","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mButtonGroup\":\"MButtonGroup_mButtonGroup__y6PbQ\"};","// extracted by mini-css-extract-plugin\nmodule.exports = {\"topSection\":\"AdminSection_topSection__3W8ni\",\"btnContainer\":\"AdminSection_btnContainer__1T40z\",\"hover\":\"AdminSection_hover__1-Knv\"};","export default __webpack_public_path__ + \"static/media/myPatient_x.8ad2b5e9.jpg\";","export default __webpack_public_path__ + \"static/media/myPatient_labResults_x.6b9f9919.jpg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAIAAABvFaqvAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyhpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQwIDc5LjE2MDQ1MSwgMjAxNy8wNS8wNi0wMTowODoyMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTggKE1hY2ludG9zaCkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NUY5Q0M3NzdBQzgwMTFFQzk5REY5QzdEMDJCMDJFRkIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NUY5Q0M3NzhBQzgwMTFFQzk5REY5QzdEMDJCMDJFRkIiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDpBQ0I1MzIwNkFDN0YxMUVDOTlERjlDN0QwMkIwMkVGQiIgc3RSZWY6ZG9jdW1lbnRJRD0ieG1wLmRpZDo1RjlDQzc3NkFDODAxMUVDOTlERjlDN0QwMkIwMkVGQiIvPiA8L3JkZjpEZXNjcmlwdGlvbj4gPC9yZGY6UkRGPiA8L3g6eG1wbWV0YT4gPD94cGFja2V0IGVuZD0iciI/Ps58b5wAAAN6SURBVHjarFRtSFNhFHa7bvNuc3O6OcdmNRFDpcwUTEotLSpNiwqMosKkP/2oH1FE9av8EfVHKYMKCyKCRIWsNPKLJBLDz8qkD7/mhpubm3Mfd9vd3Tr33nF3tSkRHS4v5573eZ573veeczjBYDDqf1h0xKiPCL43uHr02OiCx+wJ8BGOCkXSpPydGrRILYLXPymcFRkRgeCLH0s1w9YpjIj4DS2KXM+Or0yTIFzOqkJLvsC5HmOzwQ1+oZx/VCvJSRQoRdE4EWXx+IfnvU1TS70WH+weUQvv70qS8LkRhGweorzNMLjoS0GRu9sTi9eJImbUrXOd/zg/4SZy4vivStWyGCS0EaQMJwLH2g0xDT/3vtQZXXiQZWYnPmZ0w8pEAAAwAAMFiHQwlNGzcfvZPnOGOLqzIpn5yMyi706/pYE6KVi1Wni7OEnI49Lp72mdHXP6H+bLT6bHQYSMQgY3h63g1Bcow6lGRV3tNTEqYOBf7jbSPsDuFSjBqRm2AT0k1Dbl0HmIChW6TYUyNEinxeIl+bkJ2JnU2qw4WosBABgoQAR6SKhT74K1MlXCvlSFKHqwTA3PoXQpE0wTcNkYmtJB0cmCHF/EYc1WxLBBcBcZSjLBB4OWXgNGZ1ebr2BjcpUkZYjaIr8w4yKFEkWRq/yLJXTGQglvkxJlbyVRFB1VutRlB8ioAIncRJfy5I3bFYflgt4l/ES7YVk1UyvFpoQ01J8yuf1skMXlf/7ZBg9cVvlG6bU8OQRB65sJYzDzmJ+hk7llJwi+u8gOUIt5YZATrx5YoP3jm2UjJg/ti1iZj5i9ND2U0W61ENbmSQc7I7hpOA5ZhwML6ONftChE1sfxGUzTBEkpoeikUKlWnMjjNOpcXy0ettaj/eob6eGauJgiqitRMa8ABgoQy7TicK/Vj1qhdwpb4AcSwb8wzE8UtcwABYh0JFRg1ZnSPBn/k81X1TEHw2TtYQiA0+/m+m0+oABx5RiZdeD7XusnMWKrlF+3Q5G7vGQYGzBhFz6Yh+zktHl7QJMcy4sw2PQO/FSXsc/qpUfXQa04X4VC1eEBGB0ESLROO5v0ZLvlxwueliRpYnmrjlovEXgyZr81ajPhkQ+o5HGvZMmqMqUChLvWzKbN7g28mXJ06d0jVu+0m+yADUJkS7ygRCMs08ZKl7fuWkL/YL8FGAAr2O0GwNVSngAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/myPractice_x.fc8f0324.jpg\";","export default __webpack_public_path__ + \"static/media/myPractice_physicianVerify_x.28bc4eb3.jpg\";","export default __webpack_public_path__ + \"static/media/myPractice_nonPhysician_x2.defb759b.jpg\";","export default __webpack_public_path__ + \"static/media/myReferrals_x.c30f97bb.jpg\";","export default \"data:image/png;base64,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\"","// extracted by mini-css-extract-plugin\nmodule.exports = {\"mainContainer\":\"Navbar_mainContainer__1sVOa\",\"responsiveNavDropdown\":\"Navbar_responsiveNavDropdown__1wQqG\",\"active\":\"Navbar_active__3R-KH\",\"headerContainer\":\"Navbar_headerContainer__z1rC2\",\"brandContainer\":\"Navbar_brandContainer__3MnIy\",\"loginContainer\":\"Navbar_loginContainer__3Z7ky\",\"navDiv\":\"Navbar_navDiv__TKM6_\",\"logoContainer\":\"Navbar_logoContainer__VSo2X\",\"topLink\":\"Navbar_topLink__ZuDuz\",\"logout\":\"Navbar_logout__WvobA\",\"tabs\":\"Navbar_tabs__1ZMzc\",\"main\":\"Navbar_main__3O99E\",\"activeMenuDropdown\":\"Navbar_activeMenuDropdown__2fWUy\",\"link\":\"Navbar_link__1o-YO\",\"navbarLink\":\"Navbar_navbarLink__33-7M\",\"navbar-light\":\"Navbar_navbar-light__3aDDD\",\"navbar-toggler\":\"Navbar_navbar-toggler__1LfGg\",\"navbar-toggler-icon\":\"Navbar_navbar-toggler-icon__1bzll\",\"referDetails\":\"Navbar_referDetails__1llP-\",\"welcome\":\"Navbar_welcome__G3B0F\",\"brandLogo\":\"Navbar_brandLogo__3qll9\"};","export default __webpack_public_path__ + \"static/media/cloud-upload.737c1e32.png\";","export default __webpack_public_path__ + \"static/media/delete-icon.5b708ed6.svg\";","const COMPLIANCE = \"myCHLA_Compliance\";\r\nconst EMBASSY_LEAD = \"myCHLA_EmbassyLead\";\r\nconst EMBASSY_MEMBER = \"myCHLA_EmbassyMember\";\r\nconst GENERAL = \"myCHLA_General\";\r\nconst HEALTH_NETWORK_ADMIN = \"myCHLA_HealthNetworkAdmin\";\r\nconst HEALTH_NETWORK_USER = \"myCHLA_HealthNetworkUser\";\r\nconst HIM = \"myCHLA_HIM\";\r\nconst LOG_IN_AS = \"myCHLA_LogInAs\";\r\nconst PENDING = \"myCHLA_Pending\";\r\nconst PHYSICIAN = \"myCHLA_Physician\";\r\nconst PHYSICIAN_DATA_ADMIN = \"myCHLA_PhysicianDataAdmin\";\r\nconst PRACTICE_ADMIN = \"myCHLA_PracticeAdmin\";\r\nconst PRACTICE_OWNER = \"myCHLA_PracticeOwner\";\r\nconst PROVIDER_RELATIONS = \"myCHLA_ProviderRelations\";\r\nconst READ_ONLY_PMD = \"myCHLA_ReadOnlyPMD\";\r\nconst SECURITY = \"myCHLA_Security\";\r\nconst SERVICE_DESK = \"myCHLA_ServiceDesk\";\r\nconst SYSTEM_ADMIN = \"myCHLA_SystemAdmin\";\r\n\r\nconst RoleNames = {\r\n PHYSICIAN,\r\n PRACTICE_OWNER,\r\n SYSTEM_ADMIN,\r\n PRACTICE_ADMIN,\r\n GENERAL,\r\n HEALTH_NETWORK_ADMIN,\r\n COMPLIANCE,\r\n EMBASSY_LEAD,\r\n EMBASSY_MEMBER,\r\n};\r\n\r\nexport default RoleNames;\r\n","import RoleNames from \"./RoleNames\";\r\n\r\nconst Roles = {\r\n ROLES1: [\r\n RoleNames.PHYSICIAN,\r\n RoleNames.PRACTICE_OWNER,\r\n RoleNames.SYSTEM_ADMIN,\r\n ],\r\n ROLES2: [\r\n RoleNames.PRACTICE_ADMIN, \r\n RoleNames.GENERAL, \r\n RoleNames.SYSTEM_ADMIN\r\n ],\r\n ROLES3: [\r\n RoleNames.PRACTICE_ADMIN,\r\n RoleNames.GENERAL,\r\n RoleNames.PHYSICIAN,\r\n RoleNames.PRACTICE_OWNER,\r\n RoleNames.SYSTEM_ADMIN,\r\n ],\r\n ROLES4: [\r\n RoleNames.HEALTH_NETWORK_ADMIN,\r\n RoleNames.GENERAL,\r\n RoleNames.PHYSICIAN,\r\n RoleNames.PRACTICE_OWNER,\r\n RoleNames.SYSTEM_ADMIN,\r\n ],\r\n ROLES5: [\r\n RoleNames.EMBASSY_LEAD,\r\n RoleNames.EMBASSY_MEMBER\r\n ]\r\n};\r\n\r\nexport default Roles;\r\n","import axios from \"axios\";\r\n\r\nexport const customAxios = axios.create({\r\n transformResponse: [function (data) {\r\n if(data === \"\") return data;\r\n try{\r\n if(JSON.parse(data).isMyCHLA === false && window.location.pathname !== '/practice-not-active') {\r\n window.location.assign('/practice-not-active')\r\n }\r\n return JSON.parse(data);\r\n }catch{\r\n return data;\r\n }\r\n }],\r\n});\r\n\r\nconst ServiceConfig = {\r\n customAxios,\r\n};\r\n\r\nexport default ServiceConfig;","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IDropDownInfoWell from \"../types/IDropDownInfoWell\";\r\nimport IHomeData from \"../types/IHomeData\";\r\nimport IInfoWell from \"../types/IInfoWell\";\r\nimport ISliderImage from \"../types/ISliderImage\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\nconst getHomeData = async (cancelToken?: CancelTokenSource) => {\r\n const result = await axios.get(`${API_BASE_URL}/home`, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n \r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\nconst getSliderImages = async (cancelToken?: CancelTokenSource) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/home/homepageslidderImage`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getInfowells = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/home/homepageinfowells`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst getDropDownWells = async (\r\n dropDownName?: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/Home/homepagedropdown/?dropDownName=${dropDownName}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst likeButton = async (\r\n data?: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Home/favoriteinfowells`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst GetPracticeNotActiveStatement = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/Home/practiceNotActiveStatement`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst HomeService = {\r\n getHomeData,\r\n getSliderImages,\r\n getInfowells,\r\n getDropDownWells,\r\n likeButton,\r\n GetPracticeNotActiveStatement,\r\n};\r\n\r\nexport default HomeService;\r\n","import { crypto } from \"@okta/okta-auth-js\";\r\nimport { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IMenuItem from \"../types/IMenuItem\";\r\nimport IPracticeRoles from \"../types/IPracticeRoles\";\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\nconst getMenuItems = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n \r\n const result = await axios.get(`${API_BASE_URL}/user/menu`, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getPracticeRoles = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(`${API_BASE_URL}/user/roles`, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getUserAgreement = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get<{\r\n signRequired: boolean;\r\n docusignUrl: null | string;\r\n }>(`${API_BASE_URL}/user/agreement`, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst updateUserAgreement = async (\r\n status: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/user/agreement`,\r\n {\r\n docuSignStatus: status,\r\n },\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst UserService = {\r\n getMenuItems,\r\n getPracticeRoles,\r\n getUserAgreement,\r\n updateUserAgreement,\r\n};\r\n\r\nexport default UserService;\r\n","import { FC } from \"react\";\r\nimport BeatLoader from \"react-spinners/BeatLoader\";\r\n\r\nconst Spinner: FC<{\r\n /** receives a string or number to set the margin */\r\n margin?: string | number;\r\n}> = ({ margin }) => {\r\n return (\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Spinner;\r\n","import { Component, FC } from \"react\";\r\nimport { Carousel } from \"react-bootstrap\";\r\n// import \"./jumbotron.css\";\r\nimport ISliderImage from \"../../../types/ISliderImage\";\r\n\r\ninterface Props {\r\n sliderImages: ISliderImage[];\r\n}\r\n\r\nconst Jumbotron: FC = ({ sliderImages }) => {\r\n return (\r\n <>\r\n \r\n {sliderImages && sliderImages.map((sliderImage, index: React.Key) => {\r\n return (\r\n \r\n {\r\n e.preventDefault();\r\n window.open(sliderImage.targetUrl);\r\n }}\r\n height=\"100%\"\r\n width=\"100%\"\r\n />\r\n \r\n );\r\n })}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Jumbotron;\r\n","import { createContext } from \"react\";\r\nimport IMenuItem from \"../types/IMenuItem\";\r\n\r\ninterface IMenuItemsContext {\r\n menuItems: IMenuItem[] | undefined;\r\n setMenuItems: React.Dispatch>;\r\n}\r\n\r\nconst menuItemsContext = createContext({\r\n menuItems: undefined,\r\n setMenuItems: () => {},\r\n});\r\n\r\nexport default menuItemsContext;\r\n","import { useEffect, useState } from \"react\";\r\nimport ISliderImage from \"../types/ISliderImage\";\r\n\r\ntype KEY = \"slider_images\";\r\n\r\nconst getSliderImagesFromSessionStorage = (\r\n key: KEY,\r\n initialValue: ISliderImage[] | undefined\r\n) => {\r\n const savedValue = localStorage.getItem(key);\r\n const savedValueJSON = savedValue && JSON.parse(savedValue);\r\n if (savedValueJSON) return savedValueJSON;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst useSliderImages = (\r\n key: KEY = \"slider_images\",\r\n initialValue?: ISliderImage[]\r\n) => {\r\n const [sliderImages, setSliderImages] = useState(() => {\r\n return getSliderImagesFromSessionStorage(key, initialValue);\r\n });\r\n useEffect(() => {\r\n if (sliderImages !== undefined) {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(sliderImages));\r\n } catch (e) {\r\n let msg =\r\n \"Cannot store the images in local storage as it has exceeded the localStorage limit. Please contact the administrator\";\r\n alert(msg);\r\n throw e;\r\n } finally {\r\n return;\r\n }\r\n }\r\n }, [sliderImages]);\r\n return [sliderImages, setSliderImages] as const;\r\n};\r\n\r\nexport default useSliderImages;\r\n","import { useEffect, useState } from \"react\";\r\nimport IInfowell from '../types/IInfoWell'\r\n\r\ntype KEY = \"infowells\";\r\n\r\nconst getInfowellsFromSessionStorage = (\r\n key: KEY,\r\n initialValue: IInfowell[] | undefined\r\n) => {\r\n const savedValue = localStorage.getItem(key);\r\n const savedValueJSON = savedValue && JSON.parse(savedValue);\r\n if (savedValueJSON) return savedValueJSON;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst useInfowells = (key: KEY = \"infowells\", initialValue?: IInfowell[]) => {\r\n const [infowells, setInfowells] = useState(() => {\r\n return getInfowellsFromSessionStorage(key, initialValue);\r\n });\r\n useEffect(() => {\r\n if (infowells !== undefined) {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(infowells));\r\n } catch (e) {\r\n let msg =\r\n \"Cannot store the images in local storage as it has exceeded the localStorage limit. Please contact the administrator\";\r\n alert(msg);\r\n throw e;\r\n } finally {\r\n return;\r\n }\r\n }\r\n }, [infowells]);\r\n return [infowells, setInfowells] as const;\r\n};\r\n\r\nexport default useInfowells;\r\n","export default ({ height = 24, width = 24, color = \"#6C757D\" }) => {\r\n return (\r\n
\r\n \r\n \r\n \r\n {/* \r\n Loading...\r\n */}\r\n
\r\n );\r\n};\r\n","export const getFormattedDate = (date) => {\r\n let dd = date.getDate();\r\n let mm = date.getMonth() + 1;\r\n const yyyy = date.getFullYear();\r\n if (dd < 10) {\r\n dd = `0${dd}`;\r\n }\r\n if (mm < 10) {\r\n mm = `0${mm}`;\r\n }\r\n return `${mm}-${dd}-${yyyy}`;\r\n};\r\n\r\nexport const getFormattedTime = (mDate) => {\r\n if(mDate != null || mDate != undefined)\r\n {\r\n let date = new Date(mDate);\r\n var hours = date.getHours();\r\n var minutes = date.getMinutes();\r\n if (isNaN(hours) || isNaN(minutes)) {\r\n return mDate;\r\n }\r\n var ampm = hours >= 12 ? \"PM\" : \"AM\";\r\n hours = hours % 12;\r\n hours = hours< 10 && hours !== 0 ? \"0\"+hours : 12; // the hour '0' should be '12'\r\n minutes = minutes < 10 ? \"0\" + minutes : minutes;\r\n var strTime = hours + \":\" + minutes + \" \" + ampm;\r\n return mDate.split(\" \")[0] + \" \" + strTime;\r\n}\r\nelse\r\n{\r\n return \"No date\";\r\n}\r\n};\r\n\r\nexport const getFormattedDateFromDate = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var dd = String(date.getDate()).padStart(2, \"0\");\r\n var mm = String(date.getMonth() + 1).padStart(2, \"0\"); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n return mm + \"/\" + dd + \"/\" + yyyy;\r\n};\r\nexport const getFormattedYear = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var dd = String(date.getDate()).padStart(2, \"0\");\r\n var mm = String(date.getMonth() + 1).padStart(2, \"0\"); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n return yyyy;\r\n};\r\nexport const getFormattedDateWords = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var dd = String(date.getDate()).padStart(2, \"0\");\r\n var mm = date.toLocaleString('en-us', { month: 'long' }); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n return mm + ' ' + yyyy;\r\n};\r\nexport const getFormattedDateFromDateTime = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var dd = String(date.getDate()).padStart(2, \"0\");\r\n var mm = String(date.getMonth() + 1).padStart(2, \"0\"); //January is 0!\r\n var yyyy = date.getFullYear();\r\n\r\n return yyyy + \"-\" + mm + \"-\" + dd;\r\n};\r\nexport const getFormattedTimeFromDateTime = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var hours = String(date.getHours()).padStart(2, \"0\");\r\n var minutes = String(date.getMinutes()).padStart(2, \"0\"); \r\n var ampm = hours >= 12 ? \"PM\" : \"AM\";\r\n hours = hours % 12;\r\n hours = hours < 10 && hours !== 0 ? \"0\"+hours : 12; \r\n var strTime = hours + \":\" + minutes +\" \" + ampm;\r\n return \" \" + strTime;\r\n \r\n};\r\nexport const editFormattedTimeFromDateTime = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var hours = String(date.getHours()).padStart(2, \"0\");\r\n var minutes = String(date.getMinutes()).padStart(2, \"0\"); //January is 0!\r\n\r\n return hours+\":\"+minutes\r\n};\r\nexport const getFormattedDateTimeFromDateTime = (date) => {\r\n if (date === undefined || date == null) {\r\n return \"\";\r\n }\r\n\r\n if (typeof date === \"string\") {\r\n date = new Date(date);\r\n }\r\n var dd = String(date.getDate()).padStart(2, \"0\");\r\n var mm = String(date.getMonth() + 1).padStart(2, \"0\"); //January is 0!\r\n var yyyy = date.getFullYear();\r\n var hours = String(date.getHours()).padStart(2, \"0\");\r\n var minutes = String(date.getMinutes()).padStart(2, \"0\"); //January is 0!\r\n return yyyy + \"-\" + mm + \"-\" + dd+\"T\"+hours+\":\"+minutes;\r\n};\r\n\r\nexport const getFormattedDateTime=(mDate)=>{\r\n if (mDate == undefined || mDate == null) {\r\n return \"\";\r\n }\r\n let date = new Date(mDate);\r\n var hours = date.getHours();\r\n var minutes = date.getMinutes();\r\n if (isNaN(hours) || isNaN(minutes)) {\r\n return mDate;\r\n }\r\n var ampm = hours >= 12 ? \"PM\" : \"AM\";\r\n hours = hours % 12;\r\n hours = hours ? hours : 12; // the hour '0' should be '12'\r\n minutes = minutes < 10 ? \"0\" + minutes : minutes;\r\n var strTime = hours + \":\" + minutes + \" \" + ampm;\r\n return mDate.split(\"T\")[0] + \" \" + strTime;\r\n}\r\n\r\nexport default {\r\n \r\n getFormattedDate,\r\n getFormattedTime,\r\n getFormattedDateFromDate,\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateTimeFromDateTime,\r\n getFormattedDateTime,\r\n editFormattedTimeFromDateTime\r\n};\r\n","import { FC } from \"react\";\r\nimport Loader from \"../common/Loader\";\r\nimport \"./m-button.css\";\r\n\r\nconst MButton: FC<{\r\n title?: string;\r\n color?:string;\r\n bColor?:string;\r\n variant:\r\n | \"primary\"\r\n | \"secondary\"\r\n | \"accent\"\r\n | \"danger\"\r\n | \"danger-outline\"\r\n | \"neutral\"\r\n | \"success\"\r\n | \"light\"\r\n | \"secondary-light\";\r\n onClick?: (e?: any) => void;\r\n small?: boolean;\r\n primary?: boolean;\r\n hidden?: boolean;\r\n paddingBottom?: any;\r\n borderTopRightRadius?: any;\r\n borderBottomRightRadius?: any;\r\n borderTopLeftRadius?: any;\r\n borderBottomLeftRadius?: any;\r\n marginTop?: any;\r\n width?: any;\r\n property?: any;\r\n marginLeft?: any;\r\n marginRight?: any;\r\n alignItem?: any;\r\n disabled?: boolean;\r\n infoButton?: any;\r\n type?: \"button\" | \"reset\" | \"submit\";\r\n isSubmitting?: boolean;\r\n loader?:boolean\r\n bgColor?: string;\r\n}> = ({\r\n title,\r\n onClick,\r\n small,\r\n variant,\r\n hidden,\r\n paddingBottom,\r\n marginTop,\r\n borderTopRightRadius,\r\n borderBottomRightRadius,\r\n borderTopLeftRadius,\r\n borderBottomLeftRadius,\r\n width,\r\n property,\r\n disabled,\r\n alignItem,\r\n marginLeft,\r\n marginRight,\r\n infoButton,\r\n type = \"button\",\r\n isSubmitting,\r\n color,\r\n bColor,\r\n loader,\r\n bgColor\r\n}) => {\r\n return (\r\n \r\n {isSubmitting || loader ? (\r\n
\r\n \r\n
\r\n ) : (\r\n title\r\n )}\r\n \r\n );\r\n };\r\n\r\nexport default MButton;\r\n","/* \r\n Used in :\r\n ** Infowell.tsx\r\n\r\n Usage :\r\n ** define the OnClick logic for this Button\r\n\r\n *** Please mark here if you are using this component elsewhere ***\r\n */\r\n\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport { FC, useState } from \"react\";\r\nimport { appInsights } from \"../../appInsights\";\r\nimport EducationService from \"../../services/EducationService\";\r\nimport MButton from \"../mButton/MButton\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\n\r\nconst GoButton: FC<{\r\n handleSubmit: (e?:any) => void\r\n loading?: boolean;\r\n}> = ({ handleSubmit, loading=false}) => {\r\n\r\n return (\r\n <>\r\n {loading ? (\r\n \r\n ) : (\r\n \r\n {\"Go \" + \"\\u00bb\"}\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default GoButton;\r\n","// appInsights.js\r\n\r\nimport { ApplicationInsights } from '@microsoft/applicationinsights-web';\r\nimport { ReactPlugin } from '@microsoft/applicationinsights-react-js';\r\nimport { createBrowserHistory } from 'history';\r\nimport { REACT_APP_APPINSIGHTS_KEY } from \"./config/index\";\r\nconst browserHistory = createBrowserHistory({ basename: '' });\r\nconst reactPlugin = new ReactPlugin();\r\n\r\nconst appInsights = new ApplicationInsights({\r\n config: {\r\n instrumentationKey: process.env.REACT_APP_APPINSIGHTS_KEY || '406be720-42ea-4729-b72d-df2949d2fed0',\r\n enableAutoRouteTracking: true,\r\n extensions: [reactPlugin],\r\n extensionConfig: {\r\n [reactPlugin.identifier]: { history: browserHistory },\r\n },\r\n },\r\n});\r\nappInsights.loadAppInsights();\r\nappInsights.trackPageView(); // Manually call trackPageView to establish the current user/session/pageview\r\nexport { reactPlugin, appInsights };","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IEducation from \"../types/IEducation\";\r\nimport IPhysicianResources from \"../types/IPhysicianResources\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getEducationService = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/PortalUpdate/education`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function downloadPdfService(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/downloadPdf`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editEducationService(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editdivisionofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst EducationService = {\r\n getEducationService,\r\n // getAmbulatoryRequestById,\r\n downloadPdfService,\r\n editEducationService,\r\n};\r\n\r\nexport default EducationService;\r\n","import axios, { AxiosResponse } from \"axios\";\r\nimport { appInsights } from \"../appInsights\";\r\nimport EducationService from \"../services/EducationService\";\r\n\r\nconst base64toBlob = (data: string) => {\r\n const bytes = atob(data);\r\n let length = bytes.length;\r\n let out = new Uint8Array(length);\r\n\r\n while (length--) {\r\n out[length] = bytes.charCodeAt(length);\r\n }\r\n\r\n return new Blob([out], { type: \"application/pdf\" });\r\n};\r\n\r\nfunction downloadPDF(blobUrl: string, name: string, setLoading: ((e?: any)=>void)) {\r\n // Create a link element\r\n const link = document.createElement(\"a\");\r\n\r\n // Set link's href to point to the Blob URL\r\n link.href = `data:application/pdf;base64,${blobUrl}`;\r\n link.setAttribute(\"download\", name);\r\n link.setAttribute(\"title\", name);\r\n\r\n // Append link to the body\r\n document.body.appendChild(link);\r\n link.click();\r\n\r\n // Remove link from body\r\n document.body.removeChild(link);\r\n setLoading(false);\r\n}\r\n\r\nconst showPDF = (base64String: string) => {\r\n const blob = base64toBlob(base64String);\r\n var pdfurl = window.URL.createObjectURL(blob);\r\n window.open(pdfurl);\r\n};\r\n\r\nconst downloadFileFromEducationService = (id: any, value: string, setLoading: ((e?: any)=>void), setError: ((e?: any)=>void), accessToken?: string) => {\r\n setLoading(true);\r\n\r\n var formData = new FormData();\r\n formData.append(\"id\", id);\r\n if (id === undefined) {\r\n alert(\"Select\");\r\n setLoading(false);\r\n } else {\r\n EducationService.downloadPdfService(formData, accessToken)\r\n .then(async (response: AxiosResponse) => {\r\n const base64String: string = response.data;\r\n downloadPDF(base64String, value ?? \"no title\", setLoading);\r\n })\r\n\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n setLoading(false);\r\n setError(e);\r\n }\r\n });\r\n }\r\n};\r\n\r\n\r\nexport {\r\n downloadFileFromEducationService,\r\n};","/* \r\n Used in :\r\n ** Resources.tsx\r\n ** InfowellSection.tsx\r\n ** PhysicianResources.tsx\r\n\r\n Usage : \r\n ** To show cards in the above pages\r\n\r\n *** Please mark here if you are using this component elsewhere ***\r\n */\r\n\r\nimport React, { FC, useEffect, useState } from \"react\";\r\nimport { Card, Button, Form, FormControl } from \"react-bootstrap\";\r\nimport useInfowells from \"../../../hooks/useInfowells\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport Loader from \"../../common/Loader\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { getFormattedDateWords } from \"../../../helpers/DateHelper\";\r\nimport IInfoWell from \"../../../types/IInfoWell\";\r\nimport IDropDownInfoWell from \"../../../types/IDropDownInfoWell\";\r\nimport { TextField } from \"@mui/material\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport EducationService from \"../../../services/EducationService\";\r\nimport GoButton from \"../../GoButton/GoButton\";\r\nimport styles from \"./Jumbotron.module.css\";\r\nimport PhysicianResourceService from \"../../../services/PhysicianResourceService\";\r\nimport FormControlLabel from \"@material-ui/core/FormControlLabel\";\r\nimport Checkbox from \"@material-ui/core/Checkbox\";\r\nimport Favorite from \"@material-ui/icons/Favorite\";\r\nimport FavoriteBorder from \"@material-ui/icons/FavoriteBorder\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nimport { downloadFileFromEducationService } from \"../../../helpers/FileHelper\";\r\n\r\nconst Infowell: FC<{\r\n infowell: IInfoWell;\r\n home?: Boolean;\r\n likedInfowells?: IInfoWell[];\r\n}> = ({ infowell, home = false, likedInfowells = [] }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [dropDownWells, setDropDownWells] = useState();\r\n const [dropDownName, setDropDownName] = useState(\"\");\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [error, setError] = useState(null);\r\n const [formData, setFormData] = useState();\r\n const [value, setValue] = useState(\"\");\r\n const [link, setlink] = useState(\"\");\r\n\r\n const handleOnChange = (id: any, e?: any) => {\r\n let data = new FormData();\r\n let title =\r\n e.nativeEvent.target[e.nativeEvent.target.selectedIndex].text.split(\r\n \": \"\r\n )[1];\r\n\r\n data.append(\"id\", id);\r\n setFormData(data);\r\n\r\n setValue(title);\r\n if (infowell.dropDownName === \"AmbulatoryCareCenterSchedules\") {\r\n setlink(dropDownWells?.find((a) => a.id === parseInt(id))?.url);\r\n }\r\n };\r\n const history = useHistory();\r\n const handleClick = () => {\r\n history.push(\"/physicianresources/medicalstaff\");\r\n };\r\n const handleClickClinicalCare = (dropDownWells: IDropDownInfoWell[]) => {\r\n history.push(\"/carenetwork/clinicalcarepathwaysscreen\", dropDownWells);\r\n };\r\n\r\n useEffect(() => {\r\n if (infowell.dropDownName !== null) {\r\n setLoading(true);\r\n if (infowell.dropDownName != \"Clinical Care Pathways\") {\r\n HomeService.getDropDownWells(infowell.dropDownName, accessToken)\r\n .then((response) => {\r\n var data = response.data;\r\n if (infowell.dropDownName === \"AmbulatoryCareCenterSchedules\") {\r\n data = response.data.sort((a, b) =>\r\n a.title > b.title ? 1 : b.title > a.title ? -1 : 0\r\n );\r\n }\r\n setDropDownWells(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n }\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [dropDownName]);\r\n\r\n const likeButton = (id: any) => {\r\n setLoading(true);\r\n let data = {\r\n InfoWellId: id,\r\n Favorite: !isLiked(infowell.id),\r\n };\r\n HomeService.likeButton(data, accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n if (home) {\r\n window.location.reload();\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n };\r\n const isLiked = (id: any): boolean => {\r\n if (home) {\r\n return true;\r\n }\r\n var flag: boolean = false;\r\n likedInfowells.map((item) => {\r\n if (item.id == id) {\r\n flag = true;\r\n }\r\n });\r\n\r\n return flag;\r\n };\r\n\r\n return (\r\n
\r\n \r\n {infowell.pageId === 1 ? null : (\r\n }\r\n checkedIcon={}\r\n defaultChecked={isLiked(infowell.id)}\r\n name=\"checked\"\r\n />\r\n }\r\n onChange={() => likeButton(infowell.id)}\r\n label=\"\"\r\n />\r\n )}\r\n \r\n {infowell.title.split(\" 1 ? (\r\n <>\r\n {infowell.title.split(\"\r\n \r\n ) : (\r\n infowell.title\r\n )}\r\n \r\n {infowell.paragraph !== \"\" ? (\r\n \r\n {infowell.paragraph}\r\n \r\n ) : null}\r\n {loading &&\r\n infowell.title ===\r\n 'Provider Relations Reference Guide ' && (null\r\n // \r\n )}\r\n {infowell.dropDownName !== null ? (\r\n infowell.dropDownName !== \"ClinicalCarePathways\" ? (\r\n handleOnChange(e.target.value, e)}\r\n aria-label=\"Default select example\"\r\n >\r\n {formData === undefined ? : null}\r\n {dropDownWells\r\n ?.map((option, index: number) => (option.title.trim() !== \"\")?(\r\n <>\r\n \r\n \r\n ):<>)}\r\n \r\n ) : null\r\n ) : null}\r\n
\r\n {infowell.dropDownName !== null &&\r\n infowell.dropDownName !== \"AmbulatoryCareCenterSchedules\" &&\r\n infowell.dropDownName !== \"ClinicalCarePathways\" ? (\r\n {\r\n downloadFileFromEducationService(\r\n formData?.get(\"id\"),\r\n value,\r\n setLoading,\r\n setError,\r\n accessToken\r\n );\r\n }}\r\n loading = {loading}\r\n />\r\n ) : infowell.title ===\r\n 'Provider Relations Reference Guide ' ? (\r\n {\r\n downloadFileFromEducationService(\r\n 1,\r\n \"Provider Relations Reference Guide\",\r\n setLoading,\r\n setError,\r\n accessToken\r\n );\r\n }}\r\n loading = {loading}\r\n />\r\n ) : infowell.title === \"Clinical Care Pathways\" ||\r\n dropDownWells == undefined ||\r\n infowell.dropDownName === \"AmbulatoryCareCenterSchedules\" ? (\r\n {\r\n \r\n if (\r\n infowell.title ===\r\n 'Medical Staff Services '\r\n ) {\r\n handleClick();\r\n } else if (infowell.title === \"Clinical Care Pathways\") {\r\n if (dropDownWells != undefined) {\r\n handleClickClinicalCare(dropDownWells);\r\n } else {\r\n history.push(\r\n \"/carenetwork/clinicalcarepathwaysscreen\",\r\n infowell.dropDownName\r\n );\r\n }\r\n } else if (\r\n infowell.title ===\r\n 'Medical Staff Services '\r\n ) {\r\n handleClick();\r\n } else if (\r\n infowell.dropDownName === \"AmbulatoryCareCenterSchedules\"\r\n ) {\r\n if (link.length != 0) {\r\n window.open(link);\r\n } else {\r\n alert(\"Select a PDF\");\r\n }\r\n } else {\r\n if (infowell.htmlContent.includes(\"Education\")) {\r\n history.push(\"/education\");\r\n } else {\r\n window.open(infowell.htmlContent);\r\n }\r\n }\r\n }}\r\n />\r\n ) : null}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Infowell;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { Card, Button, Form ,Col} from \"react-bootstrap\";\r\nimport useInfowells from \"../../../hooks/useInfowells\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport Loader from \"../../common/Loader\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { getFormattedDateWords } from \"../../../helpers/DateHelper\";\r\nimport Infowell from \"./Infowell\";\r\nimport styles from \"./Jumbotron.module.css\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\n// import './Infowell.css'\r\n\r\nconst InfowellSection = () => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [infowells, setInfowells] = useInfowells();\r\n const [dropDownWells, setDropDownWells] = useInfowells();\r\n const [dropDownName, setDropDownName] = useState('');\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n const [formData, setFormData] = useState();\r\n\r\n\r\n \r\n useEffect(() => {\r\n setLoading(true);\r\n HomeService.getInfowells(accessToken) \r\n .then((response) => {\r\n setInfowells(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [accessToken]);\r\n\r\n return (\r\n
\r\n
\r\n \r\n {loading && }\r\n \r\n
\r\n {infowells !== undefined && (\r\n
\r\n {infowells.map((infoWell, index) => {\r\n return (\r\n \r\n );\r\n })}\r\n
\r\n )}\r\n
\r\n );\r\n};\r\n\r\nexport default InfowellSection;\r\n","import { useEffect, useState } from \"react\";\r\nimport IPracticeRoles from \"../types/IPracticeRoles\";\r\n\r\ntype KEY = \"user_role\";\r\n\r\nconst getuserRoleFromSessionStorage = (\r\n key: KEY,\r\n initialValue: IPracticeRoles | undefined\r\n) => {\r\n const savedValue = localStorage.getItem(key);\r\n const savedValueJSON = savedValue && JSON.parse(savedValue);\r\n if (savedValueJSON) return savedValueJSON;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst useUserRole = (key: KEY = \"user_role\", initialValue?: IPracticeRoles) => {\r\n const [userRole, setUserRole] = useState(() => {\r\n return getuserRoleFromSessionStorage(key, initialValue);\r\n });\r\n useEffect(() => {\r\n if (userRole !== undefined) {\r\n localStorage.setItem(key, JSON.stringify(userRole));\r\n }\r\n }, [userRole]);\r\n return [userRole, setUserRole] as const;\r\n};\r\n\r\nexport default useUserRole;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Form, Button, Modal, Col, Carousel } from \"react-bootstrap\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport MButton from \"../mButton/MButton\";\r\nimport \"./tour-screen.css\";\r\n\r\nconst TourScreen = () => {\r\n const [show, setShow] = useState(false);\r\n const [index, setIndex] = useState(0);\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const handleSelect = (selectedIndex, e) => {\r\n setIndex(selectedIndex);\r\n };\r\n\r\n\r\n // const showTour = JSON.parse(localStorage.getItem(\"showTour\"));\r\n\r\n useEffect(() => {\r\n if (authState?.isAuthenticated) {\r\n setShow(true);\r\n }\r\n }, [oktaAuth, authState]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n Welcome to myCHLA! Here's a brief tour.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n

View My Patient

\r\n
\r\n

\r\n \r\n \r\n View Patients associated with physicians in your practice on\r\n the My Patients tab.\r\n \r\n

\r\n

\r\n \r\n \r\n Use the dropdown menu to control which patients appear on\r\n the list, based on their visit to CHLA.\r\n \r\n

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

View Patient Data

\r\n
\r\n

\r\n \r\n \r\n Click on a patient name to view clinical data - labs,\r\n radiology results, and notes.\r\n \r\n

\r\n

\r\n \r\n \r\n View results by time range or by visit. For time range, use\r\n the dropdown menu to set the lookback range.\r\n \r\n

\r\n

\r\n \r\n \r\n Labs may be viewed chronologically or by type.\r\n \r\n

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

My Practice

\r\n
\r\n

\r\n \r\n \r\n View members of your practice.\r\n \r\n

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

My Practice

\r\n
\r\n

\r\n \r\n \r\n View Physicians as part of your practice.\r\n \r\n

\r\n

\r\n \r\n \r\n Use the Yes/No button to verify physician in your practice.\r\n \r\n

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

My Practice

\r\n
\r\n

\r\n \r\n \r\n View Non Physicians as part of your practice.\r\n \r\n

\r\n

\r\n \r\n \r\n Non Physician can also be added to your practice by clicking\r\n on “Add non-physician to my practice” button.\r\n \r\n

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

My Referrals

\r\n
\r\n

\r\n \r\n \r\n View Referrals associated with physicians in your referrals\r\n on the My Referrals tab.\r\n \r\n

\r\n

\r\n \r\n \r\n View results by time using the dropdown.\r\n \r\n

\r\n
\r\n \r\n
\r\n
\r\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 TourScreen;\r\n","import { FC, useContext, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport UserService from \"../../../services/UserService\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport Jumbotron from \"./Jumbotron\";\r\nimport { Alert } from \"react-bootstrap\";\r\nimport menuItemsContext from \"../../../context/MenuItemsContext\";\r\nimport useSliderImages from \"../../../hooks/useSliderImages\";\r\nimport InfowellSection from \"./InfowellSection\";\r\nimport useUserRole from \"../../../hooks/useUserRole\";\r\nimport TourScreen from \"../../common/TourScreen\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport IPracticeRoles from \"../../../types/IPracticeRoles\";\r\n\r\nconst Home: FC = () => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [sliderImages, setSliderImages] = useSliderImages();\r\n const { setMenuItems } = useContext(menuItemsContext);\r\n const [error, setError] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [userRole, setUserRole] = useUserRole();\r\n\r\n const location = useLocation();\r\n const history = useHistory();\r\n\r\n const loggedIn = JSON.parse(window.localStorage.getItem(\"loggedIn\") ?? \"{}\");\r\n const user_role = JSON.parse(\r\n window.localStorage.getItem(\"user_role\") ?? \"{}\"\r\n );\r\n\r\n useEffect(() => {\r\n setError(null);\r\n if (authState?.isAuthenticated) {\r\n setLoading(true);\r\n if (\r\n JSON.stringify(user_role) === \"{}\" ||\r\n (JSON.stringify(user_role) !== \"{}\" &&\r\n JSON.stringify(loggedIn) !== \"{}\")\r\n ) {\r\n UserService.getPracticeRoles(accessToken)\r\n .then((response) => {\r\n setUserRole(response.data);\r\n //if user is a practice owner or embassy lead\r\n if (\r\n (response.data.practiceRoles && response.data.practiceRoles.filter(\r\n (role) => role.roleId === \"9\" && role.active).length !== 0) || (response.data.embassyRoles && response.data.embassyRoles.filter((role) => role.roleId === \"11\" && role.active))\r\n ) {\r\n // check if user returned from docusign\r\n console.log(\"location: \", location.search)\r\n if (location.search.includes(\"event\")) {\r\n let status = location.search.split(\"event=\")[1];\r\n UserService.updateUserAgreement(status, accessToken).then(\r\n (response) => {\r\n if (response.data === true) {\r\n // go on to show the ui\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n //console.log(\"error occured while updating the status\");\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n } else {\r\n history.push(\"/\");\r\n }\r\n }\r\n );\r\n } else {\r\n UserService.getUserAgreement(accessToken).then((response) => {\r\n if (response.data.signRequired) {\r\n window.location.replace(response.data.docusignUrl || \"/\");\r\n } else {\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n } else {\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n else {\r\n setUserRole(user_role);\r\n // user is a practice owner or embassy Lead\r\n if (\r\n (userRole?.practiceRoles && userRole?.practiceRoles.filter(\r\n (role) => role.roleId === \"9\" && role.active\r\n ).length !== 0) || (userRole?.embassyRoles && userRole?.embassyRoles.filter(\r\n (role) => role.roleId === \"11\" && role.active\r\n ).length !== 0)\r\n ) {\r\n // check if user returned from docusign\r\n if (location.search.includes(\"event\")) {\r\n let status = location.search.split(\"event=\")[1];\r\n UserService.updateUserAgreement(status, accessToken).then(\r\n (response) => {\r\n if (response.data === true) {\r\n // go on to show the ui\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n } else {\r\n history.push(\"/\");\r\n }\r\n }\r\n );\r\n } else {\r\n UserService.getUserAgreement(accessToken).then((response) => {\r\n if (response.data.signRequired) {\r\n window.location.replace(response.data.docusignUrl || \"/\");\r\n } else {\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n });\r\n }\r\n } else {\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n setLoading(false);\r\n setMenuItems([\r\n {\r\n id: 1,\r\n items: [],\r\n parent: \"Home\",\r\n viewOrder: 1,\r\n },\r\n {\r\n id: 2,\r\n items: [],\r\n parent: \"My Patients\",\r\n viewOrder: 2,\r\n },\r\n {\r\n id: 3,\r\n items: [],\r\n parent: \"My Referrals\",\r\n viewOrder: 3,\r\n },\r\n {\r\n id: 9,\r\n items: [],\r\n parent: \"Physician Resources\",\r\n viewOrder: 4,\r\n },\r\n {\r\n id: 10,\r\n items: [],\r\n parent: \"Education\",\r\n viewOrder: 5,\r\n },\r\n ]);\r\n }\r\n HomeService.getSliderImages()\r\n .then((response) => {\r\n setSliderImages(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n });\r\n }, [authState?.isAuthenticated]);\r\n\r\n if (error !== null) {\r\n return {error?.message};\r\n }\r\n return (\r\n
\r\n {loading ? (\r\n \r\n ) : (\r\n <>\r\n {userRole?.lastLoggedIn != null || userRole?.lastLoggedIn != undefined ? (userRole?.lastLoggedIn === null ||\r\n userRole?.lastLoggedIn.length == 0) ? (\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 { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPatient, { IPatientResponse } from \"../types/IPatient\";\r\nimport IPatientEncounters from \"../types/IPatientEncounters\";\r\nimport IPatientQuery from \"../types/IPatientQuery\";\r\nimport { IPracticeAppointment } from \"../types/IPracticeAppointment\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param action receives the action name\r\n * @param lookback receives the number of days\r\n * @param token receives the access token of type string\r\n */\r\nconst getPatients = async (\r\n action: \"viewpatients\" | \"sharedpatients\" | \"mypatients\" | \"embassypatients\",\r\n query:IPatientQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/patient/${action}?PageSize=${query.PageSize}&SearchText=${query.SearchText}&Lookback=${query.Lookback}&PageNumber=${query.PageNumber}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the personId\r\n * @param token receives the access token of type string\r\n */\r\nconst getPatientById = async (\r\n id: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(`${API_BASE_URL}/patient/${id}`, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the personId\r\n * @param token receives the access token of type string\r\n */\r\nconst getPatientEncounters = async (\r\n id: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/patient/${id}/encounters`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n/**\r\n * @param date receives the start Date of the query\r\n * @param token receives the access token of type string\r\n */\r\nconst getPracticeAppointments = async (\r\n date: string = \"02/01/2022\",\r\n token?: string\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/patient/practiceappointments?startdate=${date}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }\r\n );\r\n return result;\r\n};\r\n/**\r\n * @param date receives the start Date of the query\r\n * @param token receives the access token of type string\r\n */\r\nconst getMyAppointments = async (\r\n date: string = \"02/01/2022\",\r\n token?: string\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/patient/myappointments?startdate=${date}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }\r\n );\r\n return result;\r\n};\r\n/**\r\n * @param id receives the personId\r\n * @param token receives the access token of type string\r\n */\r\nconst hideOrSharePatient = async (\r\n id: string,\r\n pid: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/patient/hideorshare`,\r\n {\r\n patientId: id,\r\n providerId: pid,\r\n },\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param data receives the post body\r\n * @param token receives the access token of type string\r\n */\r\nconst removePatient = async (\r\n data: {\r\n patientName: string;\r\n providerName: string;\r\n patientId: string;\r\n providerId: string;\r\n dob:string;\r\n\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(`${API_BASE_URL}/patient/remove`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\nconst PatientService = {\r\n getPatients,\r\n getPatientById,\r\n getPatientEncounters,\r\n hideOrSharePatient,\r\n removePatient,\r\n getPracticeAppointments,\r\n getMyAppointments,\r\n};\r\n\r\nexport default PatientService;\r\n","import IRecentSearchPatient from \"../types/IRecentSearchPatient\";\r\n\r\nconst RECENT_SEARCH = \"recentSearch\";\r\n\r\n/**\r\n * @param searchedItem accepts the searched entity to be stored in local storage\r\n */\r\nexport const setRecentSearch = (searchedItem: IRecentSearchPatient) => {\r\n let recentSearch = localStorage.getItem(RECENT_SEARCH);\r\n if (recentSearch === null) {\r\n localStorage.setItem(RECENT_SEARCH, JSON.stringify([searchedItem]));\r\n } else {\r\n let recentSearchArray: IRecentSearchPatient[] = JSON.parse(recentSearch);\r\n if (recentSearchArray.find((e) => e.name === searchedItem.name) !== null) {\r\n recentSearchArray = recentSearchArray.filter(\r\n (e) => e.name !== searchedItem.name\r\n );\r\n recentSearchArray.unshift(searchedItem);\r\n localStorage.setItem(RECENT_SEARCH, JSON.stringify(recentSearchArray));\r\n }\r\n }\r\n};\r\n\r\nexport const getRecentSearch = (): IRecentSearchPatient[] => {\r\n const recentSearch = localStorage.getItem(RECENT_SEARCH);\r\n if (recentSearch !== null) {\r\n return JSON.parse(recentSearch);\r\n } else return [];\r\n};\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport \"./patient-list.css\";\r\nimport { setRecentSearch } from \"../../../../helpers/RecentSearchHelper\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\n// import InfiniteScroll from \"react-infinite-scroll-component\";\r\n// import Loader from \"../../../common/Loader\";\r\n\r\ntype stateType = {\r\n state: {\r\n patient: IPatient;\r\n };\r\n};\r\n\r\nconst PatientsList: FC<{\r\n patients: IPatient[];\r\n source: \"MyPatients\" | \"SharedPatients\" | \"ViewPatients\";\r\n\r\n onVisitsClick: (patient: IPatient) => void;\r\n onHideOrShareClick?: (patientId: string, providerId: string) => void;\r\n onRemoveClick: (patient: IPatient) => void;\r\n}> = ({\r\n patients,\r\n source = \"ViewPatients\",\r\n onVisitsClick,\r\n onHideOrShareClick,\r\n onRemoveClick,\r\n}) => {\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const history = useHistory();\r\n\r\n const onReferPatientClick = (patient: IPatient) => {\r\n history.push(`/referrals/refer-a-patient`, { state: { patient } });\r\n };\r\n\r\n const onPatientCardClick = (patient: IPatient) => {\r\n let searchedItem = {\r\n name: patient.patientName,\r\n dob: patient.dob,\r\n };\r\n setRecentSearch(searchedItem);\r\n history.push(`/patients/${patient.personId}`, { state: { patient } });\r\n };\r\n\r\n const [isEmbassy, setIsEmbassy] = useState(false);\r\n useEffect(() => {\r\n window.location.href.includes(\"embassy\") ? setIsEmbassy(true) : setIsEmbassy(false);\r\n }, [])\r\n\r\n return (\r\n
\r\n {/* UI designed with table */}\r\n \r\n \r\n \r\n \r\n {source !== \"MyPatients\" && (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n {/* }\r\n next={() => {}}\r\n hasMore={true}\r\n > */}\r\n {patients.map((patient, index) => {\r\n if (patient) {\r\n return (\r\n \r\n \r\n {source !== \"MyPatients\" && (\r\n \r\n )}\r\n \r\n \r\n \r\n );\r\n }\r\n })}\r\n {/* */}\r\n \r\n
\r\n Patient Name\r\n Referring Physician
\r\n
\r\n
\r\n
\r\n
{patient.patientName}
\r\n
\r\n
\r\n DOB: {patient.dob}\r\n
\r\n
\r\n
\r\n Sex: {patient.sex}\r\n
\r\n
\r\n
\r\n
\r\n {patient.physicianName}\r\n
\r\n
\r\n
\r\n
\r\n MRN: {patient.mrn}\r\n
\r\n
\r\n
\r\n
\r\n onPatientCardClick(patient)}\r\n title=\"View Chart\"\r\n small\r\n width={\"max-content\"}\r\n />\r\n {isEmbassy == false ? onReferPatientClick(patient)}\r\n title=\"Refer\"\r\n small\r\n width={\"max-content\"}\r\n /> : null}\r\n onVisitsClick(patient)}\r\n title=\"Visits\"\r\n small\r\n variant=\"secondary\"\r\n width={\"max-content\"}\r\n />\r\n {source !== \"SharedPatients\" && isEmbassy == false &&\r\n onHideOrShareClick !== undefined && (\r\n <>\r\n onHideOrShareClick(patient.id, patient.providerId)}\r\n title={patient.isShared ? \"Hide\" : \"Share\"}\r\n small\r\n variant=\"secondary\"\r\n width={\"max-content\"}\r\n />\r\n onRemoveClick(patient)}\r\n title=\"Remove\"\r\n small\r\n variant=\"secondary\"\r\n width={\"max-content\"}\r\n />\r\n \r\n )}\r\n
\r\n
\r\n
\r\n );\r\n };\r\n\r\nexport default PatientsList;\r\n","import { FC } from \"react\";\r\nimport IRecentSearchPatient from \"../../../../types/IRecentSearchPatient\";\r\nimport {\r\n setRecentSearch,\r\n getRecentSearch,\r\n} from \"../../../../helpers/RecentSearchHelper\";\r\n\r\nconst RecentSearch: FC<{ recentSearchList: IRecentSearchPatient[], updateRecentSearch?:(name: string) => void; }> = ({\r\n recentSearchList,\r\n updateRecentSearch\r\n}) => {\r\n\r\n const onClickRecentSearch = (name:string) => {\r\n updateRecentSearch!(name)\r\n }\r\n\r\n return (\r\n <>\r\n

Recent Searches

\r\n {recentSearchList === null || recentSearchList.length === 0 ? (\r\n
\r\n

No recent searches

\r\n
\r\n ) : (\r\n
\r\n {recentSearchList.map((item, index) => (\r\n
\r\n onClickRecentSearch(item.name)}>{item.name}\r\n
DOB: {item.dob}
\r\n
\r\n
\r\n ))}\r\n
\r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RecentSearch;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Card } from \"react-bootstrap\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport RecentSearch from \"./RecentSearch\";\r\nimport {\r\n setRecentSearch,\r\n getRecentSearch,\r\n} from \"../../../../helpers/RecentSearchHelper\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\nimport \"./patients-card.css\";\r\n\r\ntype stateType = {\r\n state: {\r\n patient: IPatient;\r\n };\r\n};\r\n\r\n\r\n\r\nconst PatientsCard: FC<{\r\n patients: IPatient[];\r\n source: \"MyPatients\" | \"SharedPatients\" | \"ViewPatients\";\r\n onVisitsClick: (patient: IPatient) => void;\r\n onHideOrShareClick?: (patientId: string, providerId: string) => void;\r\n onRemoveClick: (patient: IPatient) => void;\r\n updateRecentSearch?:(name: string) => void;\r\n}> = ({\r\n patients,\r\n source = \"ViewPatients\",\r\n onVisitsClick,\r\n onHideOrShareClick,\r\n onRemoveClick,\r\n updateRecentSearch\r\n}) => {\r\n const history = useHistory();\r\n\r\n const onReferPatientClicked = (patient: IPatient) => {\r\n history.push(`/referrals/refer-a-patient`, { state: { patient } });\r\n };\r\n \r\n const [isEmbassy, setIsEmbassy] = useState(false);\r\n useEffect(() => {\r\n window.location.href.includes(\"embassy\") ? setIsEmbassy(true) : setIsEmbassy(false);\r\n }, [])\r\n const onPatientCardClick = (patient: IPatient) => {\r\n let searchedItem = {\r\n name: patient.patientName,\r\n dob: patient.dob,\r\n };\r\n setRecentSearch(searchedItem);\r\n history.push(`/patients/${patient.personId}`, { state: { patient } });\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n {patients.map((patient, index) => {\r\n if (patient) {\r\n return (\r\n \r\n \r\n \r\n
\r\n
{patient.patientName}
\r\n
\r\n
\r\n
\r\n DOB: {patient.dob}\r\n
\r\n
\r\n Sex: {patient.sex}\r\n
\r\n
\r\n MRN: {patient.mrn}\r\n
\r\n {source !== \"MyPatients\" && (\r\n
\r\n \r\n PMD: {patient.physicianName}\r\n \r\n
\r\n )}\r\n
\r\n
\r\n onPatientCardClick(patient)}\r\n title=\"View Chart\"\r\n small\r\n variant=\"accent\"\r\n />\r\n onVisitsClick(patient)}\r\n title=\"Visits\"\r\n small\r\n variant=\"secondary\"\r\n />\r\n {isEmbassy == false ? onReferPatientClicked(patient)}\r\n title=\"Refer\"\r\n small\r\n variant=\"secondary\"\r\n /> : null}\r\n {source !== \"SharedPatients\" && isEmbassy == false &&\r\n onHideOrShareClick !== undefined && (\r\n <>\r\n onHideOrShareClick(patient.id, patient.providerId)}\r\n title={patient.isShared ? \"Hide\" : \"Share\"}\r\n small\r\n variant=\"secondary\"\r\n />\r\n onRemoveClick(patient)}\r\n title=\"Remove\"\r\n small\r\n variant=\"secondary\"\r\n />\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n })}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n );\r\n };\r\n\r\nexport default PatientsCard;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { FormControl, InputGroup, Button } from \"react-bootstrap\";\r\n// import \"@fortawesome/fontawesome-free/css/all.min.css\";\r\n\r\n\r\nconst SearchBar: FC<{\r\n placeholder: string;\r\n value?: string;\r\n source? : string;\r\n defaultValue?: string;\r\n /** triggers when search button is clicked or 'ENTER' is pressed on keyboard */\r\n onSearch: () => void;\r\n onTextChange: (text: string) => void;\r\n clearRecentSearch?: () => void;\r\n}> = ({ placeholder, value = \"\", defaultValue , onSearch, onTextChange, clearRecentSearch, source }) => {\r\n const [text, setText] = useState(value);\r\n useEffect(() => {\r\n if(text == \"\") {\r\n if(source == 'myPatients' || source == 'sharedPatients' || source == 'viewPatients') {\r\n clearRecentSearch!();\r\n }\r\n }\r\n onTextChange(text);\r\n }, [text]);\r\n \r\n useEffect(() => {\r\n if(source == 'myPatients' || source == 'sharedPatients' || source == 'viewPatients') {\r\n setText(defaultValue!);\r\n }\r\n }, [defaultValue]);\r\n return (\r\n \r\n {\r\n setText(e.target.value);\r\n }}\r\n onKeyDown={(e: React.KeyboardEvent) => {\r\n if (e.key === \"Enter\") {\r\n onSearch();\r\n }\r\n }}\r\n />\r\n {text.length > 0 ? (\r\n {\r\n if(source == 'myPatients' || source == 'sharedPatients' || source == 'viewPatients') {\r\n clearRecentSearch!();\r\n }\r\n setText(\"\");\r\n }}\r\n >\r\n \r\n \r\n ) : null}\r\n {\r\n onSearch();\r\n }}\r\n >\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default SearchBar;\r\n","import { useEffect, useState } from \"react\";\r\nimport IPatient from \"../types/IPatient\";\r\n\r\ntype KEY = \"mypatients\" | \"sharedpatients\" | \"viewpatients\";\r\n\r\nconst getPatientsFromSessionStorage = (\r\n key: KEY,\r\n initialValue: IPatient[] | undefined\r\n) => {\r\n const savedValue = localStorage.getItem(key);\r\n const savedValueJSON = savedValue && JSON.parse(savedValue);\r\n if (savedValueJSON) return savedValueJSON;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst usePatients = (key: KEY, initialValue?: IPatient[]) => {\r\n const [patients, setPatients] = useState(() => {\r\n return getPatientsFromSessionStorage(key, initialValue);\r\n });\r\n useEffect(() => {\r\n if (patients !== undefined) {\r\n localStorage.setItem(key, JSON.stringify(patients));\r\n }\r\n }, [patients]);\r\n return [patients, setPatients] as const;\r\n};\r\n\r\nexport default usePatients;\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst getScrollPosition = (key: string, initialValue: any) => {\r\n const savedValue = localStorage.getItem(key);\r\n const savedValueNumber = savedValue && parseInt(savedValue);\r\n if (savedValueNumber) return savedValueNumber;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst useScrollPosition = (key: string, position: number = 0) => {\r\n const [scrollPosition, setScrollPosition] = useState(() => {\r\n return getScrollPosition(key, position);\r\n });\r\n useEffect(() => {\r\n localStorage.setItem(key, scrollPosition.toString());\r\n }, [scrollPosition]);\r\n return [scrollPosition, setScrollPosition];\r\n};\r\n\r\nexport default useScrollPosition;\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst getSessionStateValue = (key: string, initialValue: any) => {\r\n const savedValue = localStorage.getItem(key);\r\n if (savedValue) return savedValue;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst useSessionState = (key: string, value: T) => {\r\n const [state, setState] = useState(() => {\r\n return getSessionStateValue(key, value);\r\n });\r\n useEffect(() => {\r\n localStorage.setItem(key, state);\r\n }, [state]);\r\n return [state, setState];\r\n};\r\n\r\nexport default useSessionState;\r\n","import { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport ILookbackOption from \"../../types/ILookbackOption\";\r\n\r\nconst LookbackFilter: FC<{\r\n onChange: (e: React.ChangeEvent) => void;\r\n options: ILookbackOption[];\r\n initialValue?: ILookbackOption;\r\n value?: number\r\n}> = ({ onChange, options, initialValue, value }) => {\r\n return (\r\n {\r\n onChange(e);\r\n }}\r\n defaultValue={initialValue?.value}\r\n value={value}\r\n >\r\n {options.map((option, index: number) => (\r\n \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default LookbackFilter;\r\n","import { FC } from \"react\";\r\nimport { FutureVisit } from \"../../../../types/IPatient\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { getFormattedDateFromDateTime, getFormattedDateTimeFromDateTime,getFormattedTimeFromDateTime,getFormattedDateFromDate } from \"../../../../helpers/DateHelper\";\r\n\r\nconst VisitsModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n lastVisit?: { dtm: string; location: string };\r\n futureVisits?: FutureVisit[];\r\n}> = ({ show, handleClose, lastVisit, futureVisits = [] }) => {\r\n return (\r\n \r\n \r\n
\r\n

Last Visit

\r\n {lastVisit ? (\r\n <>\r\n
{getFormattedDateFromDate(lastVisit.dtm) +\" \"+getFormattedTimeFromDateTime(lastVisit.dtm) }
\r\n

{lastVisit.location}

\r\n \r\n ) : (\r\n

No record found

\r\n )}\r\n

Future Visits

\r\n {futureVisits.length !== 0 ? (\r\n futureVisits.map((v) => (\r\n <>\r\n
{getFormattedDateFromDate(v.begDtTm) +\" \"+getFormattedTimeFromDateTime(v.begDtTm) }
\r\n\r\n \r\n

\r\n {v.location} - {v.resource}\r\n

\r\n \r\n ))\r\n ) : (\r\n

No record found

\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default VisitsModal;\r\n","import { FC } from \"react\";\r\n\r\nconst CustomAlert: FC<{\r\n code?: number;\r\n isSuccessful: boolean;\r\n message: string;\r\n}> = ({ code, isSuccessful, message }) => {\r\n const onClickTakeSurvey = () => {\r\n window.open(\"https://ncv.microsoft.com/1co1DazzCM\", \"_blank\");\r\n };\r\n if (isSuccessful === true) {\r\n return (\r\n
\r\n {message}\r\n \r\n How was your referral experience?\r\n \r\n\r\n
\r\n );\r\n } else {\r\n return (\r\n
\r\n {message}\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport default CustomAlert;\r\n","import { FC } from \"react\";\r\nimport { FutureVisit } from \"../../../../types/IPatient\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst DeleteConfirmationModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleConfirm?: () => void;\r\n}> = ({ show, handleClose, handleConfirm }) => {\r\n return (\r\n \r\n Remove patient from your list\r\n \r\n
\r\n

\r\n OK to remove this patient from your list and notify CHLA of the\r\n incorrect patient assignment?\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 DeleteConfirmationModal;\r\n","import { FC } from \"react\";\r\nimport { Pagination } from \"react-bootstrap\";\r\nimport './custom-pagination.css'\r\nconst CustomPagination: FC<{\r\n currentPage: number;\r\n totalPages: number;\r\n onPageChange: (page: number) => void;\r\n range: number;\r\n}> = ({ currentPage, totalPages, onPageChange, range }) => {\r\n const goToFirstPage = () => {\r\n if (currentPage !== 1) {\r\n onPageChange(1);\r\n }\r\n };\r\n\r\n const goToLastPage = () => {\r\n if (currentPage !== totalPages) {\r\n onPageChange(totalPages);\r\n }\r\n };\r\n\r\n const goToNextPage = () => {\r\n if (currentPage !== totalPages) {\r\n onPageChange(currentPage + 1);\r\n }\r\n };\r\n\r\n const goToPreviousPage = () => {\r\n if (currentPage !== 1) {\r\n onPageChange(currentPage - 1);\r\n }\r\n };\r\n\r\n const changePage = (page: number) => {\r\n if (currentPage !== page) {\r\n onPageChange(page);\r\n }\r\n };\r\n\r\n const getPaginatedGroup = () => {\r\n let start = Math.floor((currentPage - 1) / range) * range;\r\n let n = range;\r\n if (totalPages - start < range) {\r\n n = totalPages % range;\r\n }\r\n const paginatedGroup = new Array(n).fill(null).map((_, idx) => {\r\n return start + idx + 1;\r\n });\r\n return paginatedGroup;\r\n };\r\n\r\n return (\r\n \r\n goToFirstPage()} />\r\n goToPreviousPage()} />\r\n {getPaginatedGroup().map((item, index) => {\r\n return (\r\n changePage(item)}\r\n active={currentPage === item}\r\n >\r\n {item}\r\n \r\n );\r\n })}\r\n goToNextPage()} />\r\n goToLastPage()} />\r\n \r\n );\r\n};\r\n\r\nexport default CustomPagination;\r\n","import { useState, useEffect, FC, useCallback, useRef } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport PatientsList from \"./components/PatientsList\";\r\nimport PatientsCard from \"./components/PatientsCard\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatient, { FutureVisit } from \"../../../types/IPatient\";\r\nimport usePatients from \"../../../hooks/usePatients\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { ButtonGroup, ToggleButton } from \"react-bootstrap\";\r\nimport VisitsModal from \"./components/VisitsModal\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport DeleteConfirmationModal from \"./components/DeleteConfirmationModal\";\r\nimport IPatientQuery from \"../../../types/IPatientQuery\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { useHistory } from 'react-router-dom'\r\ntype visits = {\r\n lastVisit: { dtm: string; location: string };\r\n futureVisits: FutureVisit[];\r\n};\r\n\r\nconst MyPatients: FC<{ name?: string }> = ({ name }) => {\r\n const [error, setError] = useState(null);\r\n const visitLookbackOptions: ILookbackOption[] = require(\"../../../data/patientListVisitsLookbackOptions.json\");\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [patients, setPatients] = useState();\r\n const isBigScreen = window.innerWidth > 1000;\r\n const [flag, setFlag] = useState(isBigScreen);\r\n const [searchText, setSearchText] = useSessionState(\"mypatientsearch_state\", \"\");\r\n const [patient, setPatient] = useState();\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [isBack, setIsBack] = useState(true);\r\n const [pages, setPages] = useSessionState(\"mypatientpages_state\", 0);\r\n const [maxPages, setMaxPages] = useSessionState(\"mypatientMaxPage_state\", 0);\r\n const [currentPage, setCurrentPage] = useSessionState(\"mypatientcurrentpage_state\", 1);\r\n const [lookback, setLookback] = useSessionState(\"mypatientlookback_state\", visitLookbackOptions[0].value);\r\n const pageSize = 12;\r\n const [query, setQuery] = useState({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n });\r\n const [searched, setSearched] = useState(0);\r\n const [loading, setLoading] = useState(true);\r\n const [page, setPage] = useState(1);\r\n const [value, setValue] = usePatients(\"mypatients\");\r\n const loader = useRef(null);\r\n const [viewAsFilter, setViewAsFilter] = useSessionState<\"list\" | \"cards\">(\"mypatientsfilter_state\", \"list\");\r\n const [showModal, setShowModal] = useState(false);\r\n const [visits, setVisits] = useState();\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [recentSearchPatientName, setRecentSearchPatientName] = useState(\"\");\r\n const [ locationKeys, setLocationKeys ] = useState([])\r\n const history = useHistory()\r\n \r\n \r\n\r\n const [scrollPosition, setScrollPosition] = useScrollPosition(\"patientList\");\r\n const handleScroll = () => {\r\n const position = window.pageYOffset;\r\n setScrollPosition(position);\r\n };\r\n const PAGE_SIZE = 10;\r\n\r\n const getPaginatedValue = (array: any, page: number) => {\r\n return array.data\r\n };\r\n const handleQuery = () => {\r\n setQuery({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n })\r\n }\r\n const handleObserver = useCallback((entries) => {\r\n const target = entries[0];\r\n if (target.isIntersecting) {\r\n setPage((prev) => prev + 1);\r\n }\r\n }, []);\r\n\r\n const onHideOrShareClick = (personId: string, providerId: string) => {\r\n setLoading(true);\r\n // setError(null)\r\n PatientService.hideOrSharePatient(personId, providerId, accessToken, cancelToken)\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const updateRecentSearch = (name: string) => {\r\n setQuery((q) => ({ ...q, SearchText: name, PageNumber: 1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n setRecentSearchPatientName(name);\r\n }\r\n const clearRecentSearch = () => {\r\n setRecentSearchPatientName(\"\");\r\n }\r\n\r\n const onVisitsClick = (patient: IPatient) => {\r\n setVisits({\r\n lastVisit: {\r\n dtm: patient.lastEncounterDtTm,\r\n location: patient.lastEncounterLoc,\r\n },\r\n futureVisits: patient.futureVisits,\r\n });\r\n setShowModal(true);\r\n };\r\n const removePatient = (patient: IPatient) => {\r\n setLoading(true);\r\n PatientService.removePatient(\r\n {\r\n patientId: patient.personId,\r\n patientName: patient.patientName,\r\n providerId: patient.providerId,\r\n providerName: patient.physicianName,\r\n dob: patient.dob\r\n },\r\n accessToken\r\n )\r\n .then((response) => window.location.reload())\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n const onRemoveClick = (patient: IPatient) => {\r\n setPatient(patient)\r\n setLoading(true);\r\n setShowDeleteModal(true)\r\n };\r\n const navigateToPage = (page: number) => {\r\n setCurrentPage(page);\r\n setQuery((q) => ({ ...q, PageNumber: page }));\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n useEffect(() => {\r\n const cancelToken = axios.CancelToken.source();\r\n setLoading(true);\r\n PatientService.getPatients(\"mypatients\", query, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setValue(response.data.data);\r\n setPatients(response.data.data);\r\n if (maxPages == 0) {\r\n if(response.data.hasNext){\r\n setPages(response.data.totalPages);\r\n setMaxPages(response.data.totalPages);\r\n }\r\n \r\n\r\n }\r\n\r\n setCurrentPage(response.data.currentPage);\r\n\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n \r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n\r\n useEffect(() => {\r\n if (viewAsFilter === \"list\") {\r\n if (isBigScreen) {\r\n setFlag(true);\r\n }\r\n } else {\r\n setFlag(false);\r\n }\r\n }, [viewAsFilter]);\r\n\r\n if (error) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n
\r\n
\r\n

{name}

\r\n
\r\n View as\r\n \r\n setViewAsFilter(\"list\")}\r\n >\r\n List\r\n \r\n {\r\n setViewAsFilter(\"cards\");\r\n }}\r\n >\r\n Cards\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setLookback(e.target.value)\r\n\r\n setQuery((q) => ({ ...q, Lookback: e.target.value, PageNumber: 1 }));\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n value={lookback}\r\n options={visitLookbackOptions}\r\n />\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {\r\n setQuery((q) => ({ ...q, SearchText: searchText,PageNumber:1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n\r\n onTextChange={(text) => {\r\n\r\n if (text == \"\") {\r\n if(patients !== undefined){\r\n setQuery((q) => ({ ...q, SearchText: \"\",PageNumber:1,Lookback : -1}));\r\n setLookback(-1)\r\n }\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n setSearchText(text)\r\n\r\n }}\r\n />\r\n
\r\n
\r\n {patients !== undefined ? (\r\n
\r\n {patients.length === 0 ? (\r\n
\r\n

No record found

\r\n
\r\n ) : (\r\n
\r\n {flag === false ? (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n updateRecentSearch={updateRecentSearch}\r\n />\r\n ) : (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n />\r\n )}\r\n
\r\n\r\n )}\r\n {patients.length !== 0 ? (\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n ) : null}\r\n\r\n
\r\n {\r\n setShowModal(false);\r\n setVisits(undefined);\r\n }}\r\n lastVisit={visits?.lastVisit}\r\n futureVisits={visits?.futureVisits}\r\n />\r\n {\r\n setLoading(false)\r\n setShowDeleteModal(false)\r\n }}\r\n handleConfirm={() => {\r\n patient && removePatient(patient)\r\n setShowDeleteModal(false)\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default MyPatients;\r\n","import { useState, useEffect, FC, useCallback, useRef } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport PatientsList from \"./components/PatientsList\";\r\nimport PatientsCard from \"./components/PatientsCard\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatient, { FutureVisit } from \"../../../types/IPatient\";\r\nimport usePatients from \"../../../hooks/usePatients\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { ButtonGroup, ToggleButton } from \"react-bootstrap\";\r\nimport VisitsModal from \"./components/VisitsModal\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport DeleteConfirmationModal from \"./components/DeleteConfirmationModal\";\r\nimport IPatientQuery from \"../../../types/IPatientQuery\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { useHistory } from 'react-router-dom'\r\ntype visits = {\r\n lastVisit: { dtm: string; location: string };\r\n futureVisits: FutureVisit[];\r\n};\r\n\r\nconst SharedPatients: FC<{ name?: string }> = ({ name }) => {\r\n const [error, setError] = useState(null);\r\n const visitLookbackOptions: ILookbackOption[] = require(\"../../../data/patientListVisitsLookbackOptions.json\");\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [patients, setPatients] = useState();\r\n const isBigScreen = window.innerWidth > 1000;\r\n const [flag, setFlag] = useState(isBigScreen);\r\n const [searchText, setSearchText] = useSessionState(\"sharedpatientsearch_state\", \"\");\r\n const [patient, setPatient] = useState();\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [isBack, setIsBack] = useState(true);\r\n const [pages, setPages] = useSessionState(\"sharedpatientpages_state\", 0);\r\n const [maxPages, setMaxPages] = useSessionState(\"sharedatientMaxPage_state\", 0);\r\n const [currentPage, setCurrentPage] = useSessionState(\"sharedpatientcurrentpage_state\", 1);\r\n const [lookback, setLookback] = useSessionState(\"sharedpatientlookback_state\", visitLookbackOptions[0].value);\r\n const pageSize = 12;\r\n const [query, setQuery] = useState({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n });\r\n const [searched, setSearched] = useState(0);\r\n const [loading, setLoading] = useState(true);\r\n const [page, setPage] = useState(1);\r\n const [value, setValue] = usePatients(\"sharedpatients\");\r\n const loader = useRef(null);\r\n const [viewAsFilter, setViewAsFilter] = useSessionState<\"list\" | \"cards\">(\"sharedpatientsfilter_state\", \"list\");\r\n const [showModal, setShowModal] = useState(false);\r\n const [visits, setVisits] = useState();\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [recentSearchPatientName, setRecentSearchPatientName] = useState(\"\");\r\n const [ locationKeys, setLocationKeys ] = useState([])\r\n const history = useHistory()\r\n \r\n \r\n\r\n const [scrollPosition, setScrollPosition] = useScrollPosition(\"patientList\");\r\n const handleScroll = () => {\r\n const position = window.pageYOffset;\r\n setScrollPosition(position);\r\n };\r\n const PAGE_SIZE = 10;\r\n\r\n const getPaginatedValue = (array: any, page: number) => {\r\n return array.data\r\n };\r\n const handleQuery = () => {\r\n setQuery({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n })\r\n }\r\n const handleObserver = useCallback((entries) => {\r\n const target = entries[0];\r\n if (target.isIntersecting) {\r\n setPage((prev) => prev + 1);\r\n }\r\n }, []);\r\n\r\n const onHideOrShareClick = (personId: string, providerId: string) => {\r\n setLoading(true);\r\n // setError(null)\r\n PatientService.hideOrSharePatient(personId, providerId, accessToken, cancelToken)\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const updateRecentSearch = (name: string) => {\r\n setQuery((q) => ({ ...q, SearchText: name, PageNumber: 1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n setRecentSearchPatientName(name);\r\n }\r\n const clearRecentSearch = () => {\r\n setRecentSearchPatientName(\"\");\r\n }\r\n\r\n const onVisitsClick = (patient: IPatient) => {\r\n setVisits({\r\n lastVisit: {\r\n dtm: patient.lastEncounterDtTm,\r\n location: patient.lastEncounterLoc,\r\n },\r\n futureVisits: patient.futureVisits,\r\n });\r\n setShowModal(true);\r\n };\r\n const removePatient = (patient: IPatient) => {\r\n setLoading(true);\r\n PatientService.removePatient(\r\n {\r\n patientId: patient.personId,\r\n patientName: patient.patientName,\r\n providerId: patient.providerId,\r\n providerName: patient.physicianName,\r\n dob: patient.dob\r\n },\r\n accessToken\r\n )\r\n .then((response) => window.location.reload())\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n const onRemoveClick = (patient: IPatient) => {\r\n setPatient(patient)\r\n setLoading(true);\r\n setShowDeleteModal(true)\r\n };\r\n const navigateToPage = (page: number) => {\r\n setCurrentPage(page);\r\n setQuery((q) => ({ ...q, PageNumber: page }));\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n useEffect(() => {\r\n const cancelToken = axios.CancelToken.source();\r\n setLoading(true);\r\n PatientService.getPatients(\"sharedpatients\", query, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setValue(response.data.data);\r\n setPatients(response.data.data);\r\n if (maxPages == 0) {\r\n if(response.data.hasNext){\r\n setPages(response.data.totalPages);\r\n setMaxPages(response.data.totalPages);\r\n }\r\n \r\n\r\n }\r\n\r\n setCurrentPage(response.data.currentPage);\r\n\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n \r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n\r\n useEffect(() => {\r\n if (viewAsFilter === \"list\") {\r\n if (isBigScreen) {\r\n setFlag(true);\r\n }\r\n } else {\r\n setFlag(false);\r\n }\r\n }, [viewAsFilter]);\r\n\r\n if (error) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n
\r\n
\r\n

{name}

\r\n
\r\n View as\r\n \r\n setViewAsFilter(\"list\")}\r\n >\r\n List\r\n \r\n {\r\n setViewAsFilter(\"cards\");\r\n }}\r\n >\r\n Cards\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setLookback(e.target.value)\r\n\r\n setQuery((q) => ({ ...q, Lookback: e.target.value, PageNumber: 1 }));\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n value={lookback}\r\n options={visitLookbackOptions}\r\n />\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {\r\n setQuery((q) => ({ ...q, SearchText: searchText,PageNumber:1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n\r\n onTextChange={(text) => {\r\n\r\n if (text == \"\") {\r\n if(patients !== undefined){\r\n setQuery((q) => ({ ...q, SearchText: \"\",PageNumber:1,Lookback : -1}));\r\n setLookback(-1)\r\n }\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n setSearchText(text)\r\n\r\n }}\r\n />\r\n
\r\n
\r\n {patients !== undefined ? (\r\n
\r\n {patients.length === 0 ? (\r\n
\r\n

No record found

\r\n
\r\n ) : (\r\n
\r\n {flag === false ? (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n updateRecentSearch={updateRecentSearch}\r\n />\r\n ) : (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n />\r\n )}\r\n
\r\n\r\n )}\r\n {patients.length !== 0 ? (\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n ) : null}\r\n\r\n
\r\n {\r\n setShowModal(false);\r\n setVisits(undefined);\r\n }}\r\n lastVisit={visits?.lastVisit}\r\n futureVisits={visits?.futureVisits}\r\n />\r\n {\r\n setLoading(false)\r\n setShowDeleteModal(false)\r\n }}\r\n handleConfirm={() => {\r\n patient && removePatient(patient)\r\n setShowDeleteModal(false)\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default SharedPatients;\r\n","import { FC } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst PracticeAppointmentModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n selectedEvent?: {\r\n id: number;\r\n title: string;\r\n allDay: Boolean;\r\n state: string;\r\n start: Date;\r\n end: Date;\r\n SURGERY_IND: number;\r\n RADIOLOGY_IND: number;\r\n resources: string;\r\n type: string;\r\n physician: string;\r\n role: string;\r\n location: string;\r\n };\r\n}> = ({ show, handleClose, selectedEvent }) => {\r\n var options = { hour12: false};\r\n return (\r\n \r\n \r\n
\r\n {!selectedEvent?.allDay?

\r\n {selectedEvent?.start.toLocaleTimeString('en-US',options).slice(0, -3) +\r\n \" - \" +\r\n selectedEvent?.end.toLocaleTimeString('en-US',options).slice(0, -3) +\r\n \" \" +\r\n selectedEvent?.title}\r\n

:

\r\n {selectedEvent?.title +\" \"+ \"(Scheduled time not available for this type of appointment.)\"}\r\n

}\r\n {selectedEvent ? (\r\n <>\r\n
\r\n

\r\n Type : \r\n {selectedEvent.type}\r\n

\r\n
\r\n

\r\n Physician : {selectedEvent.physician}\r\n

\r\n
\r\n

\r\n Role : \r\n {selectedEvent.role}\r\n

\r\n
\r\n

\r\n Resource : \r\n {selectedEvent.resources}\r\n

\r\n
\r\n

\r\n Location : \r\n {selectedEvent.location}\r\n

\r\n
\r\n

\r\n State : \r\n {selectedEvent.state}\r\n

\r\n \r\n ) : (\r\n

No record found

\r\n )}\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default PracticeAppointmentModal;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { Calendar, momentLocalizer, Views } from \"react-big-calendar\";\r\nimport moment from \"moment\";\r\nimport \"./practice-appointments.css\";\r\nimport * as dates from \"../../../helpers/dates\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"react-big-calendar/lib/css/react-big-calendar.css\";\r\nimport { IPracticeAppointment } from \"../../../types/IPracticeAppointment\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PracticeAppointmentModal from \"./components/PracticeAppointmentModal\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport Loader from \"../../common/Loader\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport { getFormattedDateFromDate, getFormattedDateFromDateTime } from \"../../../helpers/DateHelper\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\n// import 'react-big-calendar/lib/sass/styles';\r\nconst localizer = momentLocalizer(moment);\r\nlet allViews = Object.keys(Views).map((k) => Views[k]);\r\n\r\nconst indivisualEventComponent: FC<{ children?: string }> = ({ children }) => {\r\n return
{children}
;\r\n};\r\nconst LegendForCalendar= () =>{\r\n \r\n return (\r\n \r\n {\"Legend: \"}\r\n \r\n \r\n No Show\r\n \r\n \r\n Cancelled\r\n \r\n \r\n {\"All Day\"}\r\n \r\n \r\n );\r\n //\r\n \r\n}\r\nconst CustomEvent = (event: any) => {\r\n var options = { hour12: false};\r\n if (event.event.SURGERY_IND == 1 || event.event.RADIOLOGY_IND == 1) {\r\n return (\r\n \r\n {event.event.title}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {\" \"}\r\n \r\n {\" \"}\r\n {event.event.start.toLocaleTimeString('en-US',options).slice(0, -3)}\r\n {\" \"}\r\n {event.event.title}\r\n \r\n );\r\n};\r\n\r\nconst dateConverter = (dateStr: string) => {\r\n return new Date(dateStr);\r\n};\r\n\r\nconst PracticeAppointments = () => {\r\n var date = new Date();\r\n const [practiceAppointments, setPracticeAppointments] =\r\n useState();\r\n const [showModal, setShowModal] = useState(false);\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [searched, setSearched] = useState(0);\r\n const [searchResult, setSearchResult] = useState([]);\r\n const [selectedSearchResult, setSelectedSearchResult] = useState({\r\n value: \"\",\r\n display: \"\",\r\n });\r\n const [loading, setLoading] = useState(true);\r\n const [selectedEvent, setSelectedEvent] = useState(undefined);\r\n const [startDate, setStartDate] = useState(getFormattedDateFromDate(new Date(date.getFullYear(), date.getMonth(), 1)));\r\n const [actualStartDate, setActualStartDate] = useState(getFormattedDateFromDate(new Date(date.getFullYear(), date.getMonth(), 1)));\r\n\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [appointments, setAppointments] = useState([]);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [viewType , setViewType] = useState(\"month\")\r\n const createAppointmentsArray = (\r\n practiceAppointments?: IPracticeAppointment\r\n ): any[] => {\r\n let appointements: any[] = [];\r\n if (practiceAppointments === undefined) {\r\n \r\n return [] \r\n }\r\n practiceAppointments.RPTDATA.FUTURE_VISITS.map((item) => {\r\n if (item.PATIENT_NAME.toLowerCase().includes(searchText.toLowerCase())) {\r\n let obj = {\r\n id: item.EVENT_ID,\r\n title: item.PATIENT_NAME,\r\n allDay: item.RADIOLOGY_IND || item.SURGERY_IND ? true : false,\r\n state: item.STATE,\r\n start: dateConverter(item.BEG_DT_TM),\r\n end: dateConverter(item.END_DT_TM),\r\n SURGERY_IND: item.SURGERY_IND,\r\n RADIOLOGY_IND: item.RADIOLOGY_IND,\r\n resources: item.RESOURCE,\r\n type: item.TYPE,\r\n physician: item.PHYSICIAN_NAME,\r\n role: item.P_PERSON_PRSNL_R_DISP,\r\n location: item.LOCATION,\r\n };\r\n\r\n appointements.push(obj);\r\n }\r\n });\r\n setAppointments(appointements)\r\n return appointements;\r\n };\r\n useEffect(() => {\r\n var sd = new Date(startDate)\r\n var asd = new Date(actualStartDate)\r\n if(sd.getMonth() <= asd.getMonth() && sd.getFullYear() == asd.getFullYear()){\r\n setLoading(true)\r\n PatientService.getPracticeAppointments(startDate, accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n\r\n setPracticeAppointments(response.data);\r\n createAppointmentsArray(response.data)\r\n setActualStartDate(startDate)\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n \r\n }, [startDate]);\r\n useEffect(() => {\r\n \r\n createAppointmentsArray(practiceAppointments)\r\n \r\n \r\n }, [searchText]);\r\n return (\r\n
\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {}}\r\n onTextChange={(text) => setSearchText(text)}\r\n />\r\n
\r\n
\r\n
\r\n {LegendForCalendar()}\r\n
\r\n {\r\n if (prevOrNext === \"PREV\") {\r\n setStartDate(\r\n (focusDate.getMonth() + 1) +\r\n \"/\" +\r\n (1) +\r\n \"/\" +\r\n focusDate.getFullYear()\r\n );\r\n setApiCallCount((c) => c + 1);\r\n }\r\n }}\r\n events={appointments}\r\n views={[\"month\", \"day\", \"week\"]}\r\n onView={(v:string) => {\r\n setViewType(v)\r\n }}\r\n step={10}\r\n showMultiDayTimes\r\n max={dates.add(dates.endOf(new Date(2022, 1, 1), \"day\"), -1, \"hours\")}\r\n defaultDate={new Date()}\r\n onSelectEvent={(event: any) => {\r\n setSelectedEvent(event);\r\n setShowModal(true);\r\n }}\r\n components={{\r\n event: viewType == \"month\" ? CustomEvent : null,\r\n }}\r\n eventPropGetter={(\r\n event: any,\r\n start: any,\r\n end: any,\r\n isSelected: any\r\n ) => {\r\n \r\n let newStyle = {\r\n backgroundColor: \"white\",\r\n color: \"var(--color-dark-blue)\",\r\n borderRadius: \"0px\",\r\n // border: \"none\",\r\n borderColor:\"white\",\r\n textDecoration: \"\",\r\n };\r\n \r\n if (event === undefined) {\r\n return {\r\n className: \"\",\r\n style: newStyle,\r\n };\r\n }\r\n if (event.state === \"Canceled\") {\r\n newStyle.color = \"#000\";\r\n newStyle.textDecoration = \"line-through\";\r\n }\r\n if(event.state == \"No Show\"){\r\n newStyle.backgroundColor = \"#ff7f00\";\r\n newStyle.color = \"white\"\r\n }\r\n if(viewType == \"day\" || viewType == \"week\"){\r\n newStyle.backgroundColor = \"var(--color-light-blue)\";\r\n newStyle.color = \"white\"\r\n if(event.state === \"Canceled\"){\r\n newStyle.backgroundColor = \"#000\";\r\n newStyle.color = \"white\"\r\n }\r\n if(event.state == \"No Show\"){\r\n newStyle.backgroundColor = \"#ff7f00\";\r\n newStyle.color = \"white\"\r\n }\r\n \r\n }\r\n if (event.RADIOLOGY_IND == 1 || event.SURGERY_IND == 1) {\r\n newStyle.backgroundColor = \"#0D9DDB\";\r\n newStyle.color = \"white\";\r\n }\r\n \r\n return {\r\n className: \"\",\r\n style: newStyle,\r\n };\r\n }}\r\n localizer={localizer}\r\n />\r\n
\r\n {\r\n setShowModal(false);\r\n }}\r\n selectedEvent={selectedEvent}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default PracticeAppointments;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPatientLabResults from \"../types/IPatientLabResults\";\r\nimport IPatientNotes from \"../types/IPatientNotes\";\r\nimport IPatientRadiologyResults from \"../types/IPatientRadiologyResults\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\nconst getLabResults = async (\r\n data: {\r\n personId: string;\r\n lookback: string;\r\n encounterId?: string;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/chart/labs`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getNotes = async (\r\n data: {\r\n eventId: string;\r\n personId: string;\r\n lookback: string;\r\n encounterId?: string;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/chart/notes`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getNotesHTML = async (\r\n data: {\r\n NOTE_CNT: number;\r\n NOTE_GROUP_PERFORMED_DATE: string;\r\n NOTE_GROUP_VERIFIED_DATE: string;\r\n NOTE_GROUP_TITLE: string;\r\n NOTE_GROUP_AUTHOR: string;\r\n NOTE_GROUP_AUTHOR_POSITION: string;\r\n PATIENT_NAME: string;\r\n DOB: string;\r\n NOTES: {\r\n EVENT_ID: string;\r\n NAME_FULL: string;\r\n POSITION: string;\r\n NOTE_PERFORMED_DATE: string;\r\n NOTE_SEQ: string;\r\n }[];\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n // /chart/noteshtml\r\n const result = await axios.post(`${API_BASE_URL}/chart/notespdf`, data, loginas !== null ? {\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Accept: 'application/pdf',\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n responseType: 'blob',\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n \"Content-Type\": \"application/json\",\r\n Accept: 'application/pdf',\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n responseType: 'blob',\r\n cancelToken: cancelToken?.token,\r\n });\r\n const pdfBlob = new Blob([result.data], { type: 'application/pdf' });\r\n const url = URL.createObjectURL(pdfBlob);\r\n return url;\r\n};\r\n\r\nconst getNotesError = async (token?: string) => {\r\n const result = await axios.get(`${API_BASE_URL}/chart/noteserror`,loginas !== null ? {\r\n headers: {\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n return result;\r\n}\r\n\r\nconst getRadiologyResults = async (\r\n data: {\r\n personId: string;\r\n lookback: string;\r\n encounterId?: string;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/chart/radiology`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getReportsHTML = async (\r\n data: {\r\n FIN: string;\r\n FACILITY: string;\r\n ENCNTR_TYPE: string;\r\n DISCHARGE_DATE: string;\r\n CATALOG: string;\r\n ORDER_ID: number;\r\n EVENT_VISIT_DATE: string;\r\n EVENT_DATE: string;\r\n REPORT_STATUS: string;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(`${API_BASE_URL}/chart/radiologyhtml`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\nconst ChartService = {\r\n getLabResults,\r\n getNotes,\r\n getNotesHTML,\r\n getRadiologyResults,\r\n getReportsHTML,\r\n getNotesError\r\n};\r\n\r\nexport default ChartService;\r\n","import { FC } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Table, Navbar } from \"react-bootstrap\";\r\nimport IPatientLabResults from \"../../../../types/IPatientLabResults\";\r\nimport IPatientNotes, { NOTEGROUP } from \"../../../../types/IPatientNotes\";\r\nimport IPatientRadiologyResults, {\r\n EVENT,\r\n} from \"../../../../types/IPatientRadiologyResults\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport \"./lab-results.css\";\r\nimport { getFormattedTime } from \"../../../../helpers/DateHelper\";\r\n\r\ntype stateType = {\r\n state: {\r\n patient: IPatient;\r\n };\r\n};\r\n\r\nconst ComponentToPrintLabs: FC<{\r\n labResults?: IPatientLabResults;\r\n lookback?: string | undefined;\r\n result: string;\r\n notes?: any;\r\n radiologyResults?: any;\r\n}> = ({ labResults, lookback, result, notes, radiologyResults }) => {\r\n const { state } = useLocation();\r\n const pdfURL = notes;\r\n const patientDetail = state.state.patient;\r\n let dt = new Date();\r\n let currentTime = dt.toLocaleString();\r\n if (typeof lookback === \"string\") {\r\n dt.setDate(dt.getDate() - parseInt(lookback));\r\n }\r\n let reportFrom = dt.toLocaleString();\r\n\r\n return (\r\n
\r\n
\r\n {result === \"notes\" ? (notes): <>}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n

\r\n 4650 Sunset Blvd., Los Angeles, CA 90027\r\n

\r\n
\r\n
\r\n Report Created On: \r\n {currentTime}\r\n
\r\n
\r\n
\r\n

{`${patientDetail.patientName}`}

\r\n
\r\n DOB:\r\n {patientDetail.dob}\r\n
\r\n
\r\n Allergies: \r\n {patientDetail.allergies?.map((a) => a.allergyName).join(\", \")}\r\n
\r\n
\r\n {result === \"labResult\" ? (\r\n <>\r\n

\r\n Results in this report are from {reportFrom} to {currentTime}\r\n

\r\n
\r\n

\r\n Lab Results\r\n

\r\n {}\r\n

\r\n The following test(s) were performed at Children’s Hospital Los\r\n Angeles 4650 Sunset Blvd, Los Angeles, CA 90027 (323) 361-2423,\r\n unless otherwise indicated. Certain Microbiology and Anatomic\r\n Pathology results are not listed here. Therefore, this is not a\r\n comprehensive list of all tests performed on this patient.\r\n

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

\r\n Note: This is not a comprehensive list of all tests performed on this patient. The following results are not included: Anatomic pathology, bacteriology, HLA, microbiology, molecular pathology, mycology, report images, scanned reports, surgical pathology.{\" \"}\r\n

\r\n {labResults === undefined ? (\r\n \r\n ) : labResults?.RPTDATA ? (\r\n labResults?.RPTDATA.LABS.map(({ LAB }) => {\r\n if (LAB.length === 0) {\r\n return
No record found
;\r\n }\r\n return LAB.map((lab) => {\r\n return (\r\n
\r\n

{lab.ES2}

\r\n
{lab.EVENT_END_DT_TM}
\r\n
Ordered By: {lab.ORDERING_PHYSICIAN}
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {lab.EVENT.map((event) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n {event.NORMALCY !== 'Normal' ? :}\r\n \r\n \r\n {event.EVENT_NOTES.length === 0 ? (\r\n <>\r\n ) : (\r\n event.EVENT_NOTES.map((note) => {\r\n \r\n {\" \"}\r\n {\" \"}\r\n ;\r\n })\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n
TestResultFlagNormal LowNormal High
{event.DISPLAY}:\r\n {event.RESULT_VAL +\r\n \" \" +\r\n event.RESULT_UNITS}\r\n {event.NORMALCY}{event.NORMAL_LOW}{event.NORMAL_HIGH}
\r\n
\r\n \r\n {\" \"}\r\n Comments on{\" \"}\r\n {note.NOTE_DT_TM_DISP.slice(0, -3)}:\r\n \r\n
\r\n
{note.EVENT_NOTE_BLOB}
\r\n
\r\n
\r\n
\r\n );\r\n });\r\n })\r\n ) : (\r\n
No Record Found.
\r\n )}\r\n
\r\n \r\n ) : result === \"radiologyResults\" ? (\r\n <>{radiologyResults}\r\n ) : (\r\n <>\r\n )}\r\n\r\n
\r\n
\r\n
\r\n
\r\n {patientDetail.patientName} - DOB: {patientDetail.dob}\r\n
\r\n
\r\n Children’s Hospital Los Angeles | 4650 Sunset Blvd., Los\r\n Angeles, CA 90027 | Phone 323-660-2450\r\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 ComponentToPrintLabs;\r\n","import { FC } from \"react\";\r\nimport \"./custom-scale.css\";\r\n\r\ntype resultStatus = \"CRITICAL\" | \"HIGH\";\r\n\r\nconst CustomScale: FC<{\r\n value: string;\r\n criticalLow?: string;\r\n criticalHigh?: string;\r\n normalLow?: string;\r\n normalHigh?: string;\r\n normalcy?: string;\r\n}> = ({\r\n value,\r\n criticalLow,\r\n criticalHigh,\r\n normalLow,\r\n normalHigh,\r\n normalcy,\r\n}) => {\r\n\r\n const renderValueOnScale = (width: number) => {\r\n return (\r\n \r\n
{value}
\r\n \r\n â–Ľ\r\n \r\n \r\n );\r\n };\r\n\r\n const renderBadge = (status: resultStatus | \"\") => {\r\n if (normalcy === \"CRIT\") {\r\n return (\r\n \r\n CRITICAL\r\n \r\n );\r\n }\r\n if (status === \"\") {\r\n return (\r\n \r\n .\r\n \r\n );\r\n }\r\n const isCritical = status === \"CRITICAL\";\r\n return (\r\n \r\n {normalcy === \"HI\" ? \"HIGH\" : normalcy === \"LOW\" ? \"LOW\" : normalcy === \"CRIT\" ? \"CRITICAL\" : null}\r\n \r\n );\r\n };\r\n\r\n let numberValue = parseFloat(value);\r\n\r\n const renderHighsAndLows = () => {\r\n return (\r\n {criticalLow && criticalLow !== \"\" && Critical Low: {criticalLow}}{normalLow && normalLow !== \"\" && Normal Low: {normalLow}}{normalHigh && normalHigh !== \"\" && Normal High: {normalHigh}}{criticalHigh && criticalHigh !== \"\" && Critical High: {criticalHigh}}\r\n )\r\n }\r\n\r\n const renderValue = () => {\r\n return
{value}{renderHighsAndLows()}{renderBadge(\"HIGH\")}
;\r\n }\r\n\r\n if (isNaN(numberValue)) {\r\n return <>{renderValue()}\r\n }\r\n\r\n if (criticalHigh && criticalLow && normalHigh && normalLow) {\r\n if (isNaN(numberValue)) {\r\n return <>{renderValue()}\r\n }\r\n let pos = 0;\r\n let width = 0;\r\n let status: resultStatus | \"\" = \"CRITICAL\";\r\n let v = parseFloat(value);\r\n let cl = parseFloat(criticalLow);\r\n let ch = parseFloat(criticalHigh);\r\n let nl = parseFloat(normalLow);\r\n let nh = parseFloat(normalHigh);\r\n if (v < cl) {\r\n pos = 1;\r\n width = 50;\r\n } else if (v >= cl && v <= nl) {\r\n pos = 2;\r\n width = ((v - cl) / (nl - cl)) * 100;\r\n status = \"HIGH\";\r\n } else if (v >= nl && v <= nh) {\r\n pos = 3;\r\n width = ((v - nl) / (nh - nl)) * 100;\r\n status = \"\";\r\n } else if (v >= nh && v <= ch) {\r\n pos = 4;\r\n width = ((v - nh) / (ch - nh)) * 100;\r\n status = \"HIGH\";\r\n } else if (v > ch) {\r\n pos = 5;\r\n width = 50;\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n {Array(5)\r\n .fill(0)\r\n .map((n, i) => {\r\n return (\r\n
\r\n {pos === i + 1 && renderValueOnScale(width)}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
{criticalLow}
\r\n
{normalLow}
\r\n
\r\n
{normalHigh}
\r\n
{criticalHigh}
\r\n
\r\n \r\n {renderBadge(status)}\r\n \r\n );\r\n }\r\n\r\n if (normalHigh && normalLow) {\r\n if (isNaN(numberValue)) {\r\n return <>{renderValue()}\r\n }\r\n let pos = 0;\r\n let width = 0;\r\n let status: resultStatus | \"\" = \"HIGH\";\r\n let v = parseFloat(value);\r\n let nl = parseFloat(normalLow);\r\n let nh = parseFloat(normalHigh);\r\n if (v < nl) {\r\n pos = 2;\r\n width = 50;\r\n } else if (v >= nl && v <= nh) {\r\n pos = 3;\r\n width = ((v - nl) / (nh - nl)) * 100;\r\n status = \"\";\r\n } else if (v > nh) {\r\n pos = 4;\r\n width = 50;\r\n }\r\n return (\r\n
\r\n
\r\n
\r\n {Array(5)\r\n .fill(0)\r\n .map((n, i) => {\r\n return (\r\n
\r\n {pos === i + 1 && renderValueOnScale(width)}\r\n
\r\n );\r\n })}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
{normalLow}
\r\n
\r\n
{normalHigh}
\r\n
\r\n
\r\n \r\n {renderBadge(status)}\r\n \r\n );\r\n }\r\n\r\n\r\n return <>{renderValue()}\r\n };\r\n\r\nexport default CustomScale;\r\n","import { FC } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { getFormattedTime } from \"../../../../helpers/DateHelper\";\r\nimport { EVENTNOTE } from \"../../../../types/IPatientLabResults\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport \"./comments-modal.css\";\r\n\r\nconst CommentsModal: FC<{\r\n show: boolean;\r\n eventName?: string;\r\n handleClose?: () => void;\r\n notes?: EVENTNOTE[];\r\n}> = ({ show, eventName, handleClose, notes }) => {\r\n return (\r\n \r\n Comments for {eventName}\r\n \r\n {notes?.map((note) => {\r\n return (\r\n <>\r\n
\r\n Comments on {note.NOTE_DT_TM_DISP.slice(0, -3)}\r\n
\r\n

{note.EVENT_NOTE_BLOB}

\r\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 CommentsModal;\r\n","import React, { FC } from \"react\";\r\nimport styles from \"./Chevron.module.css\";\r\n\r\nconst Chevron: FC<{\r\n className: \"chevron\" | \"chevron rotate\";\r\n small: boolean;\r\n}> = ({ className, small = false }) => {\r\n const SIZE = small ? 20 : 24;\r\n\r\n return (\r\n
\r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Chevron;\r\n","import React, { useRef, useState } from \"react\";\r\nimport Chevron from \"./Chevron\";\r\nimport styles from \"./CustomAccordion.module.css\";\r\n\r\nconst CustomAccordion = ({\r\n title,\r\n content,\r\n small = false,\r\n onClick = () => {},\r\n isOpen = false,\r\n}) => {\r\n const [open, setOpen] = useState(isOpen);\r\n const [height, setHeight] = useState(\"0px\");\r\n const contentRef = useRef(null);\r\n\r\n const toggleAccordion = () => {\r\n setOpen((prev) => !prev);\r\n if (!open) {\r\n onClick && onClick();\r\n }\r\n // setHeight(open ? `${contentRef.current.scrollHeight}px` : \"0px\");\r\n // console.log(contentRef.current.scrollHeight)\r\n };\r\n\r\n return (\r\n
\r\n \r\n toggleAccordion()}\r\n style={{ padding: `${small ? \"0.75rem 1rem\" : \"1.5rem 1rem\"}` }}\r\n >\r\n
{title}
\r\n \r\n
\r\n {open && (\r\n <>\r\n \r\n {\r\n // contentRef.current = el;\r\n // }}\r\n className={styles.content}\r\n >\r\n {content}\r\n \r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomAccordion;\r\n","import { FC, useEffect, useState, useRef } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Button, ButtonGroup, Table, ToggleButton } from \"react-bootstrap\";\r\nimport ChartService from \"../../../../services/ChartService\";\r\nimport IPatientLabResults, {\r\n EVENT,\r\n EVENTNOTE,\r\n LAB,\r\n} from \"../../../../types/IPatientLabResults\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport ComponentToPrintLabs from \"./ComponentToPrintLabs\";\r\nimport \"./lab-results.css\";\r\nimport CustomScale from \"../../../customScale/CustomScale\";\r\nimport CommentsModal from \"./CommentsModal\";\r\nimport { firstBy as orderBy } from \"thenby\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport {\r\n getFormattedDate,\r\n getFormattedTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\n\r\ntype stateType = {\r\n state: {\r\n patient: IPatient;\r\n };\r\n};\r\ntype ES2 = {\r\n name: string;\r\n labs?: LAB[];\r\n};\r\ntype ES1 = {\r\n name: string;\r\n ES2s?: ES2[];\r\n};\r\n\r\nconst LabResults: FC<{\r\n personId: string;\r\n encounterId: string;\r\n lookback: string;\r\n}> = ({ personId, encounterId, lookback }) => {\r\n const [loading, setLoading] = useState(true);\r\n const [labResults, setLabResults] = useState();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const { state } = useLocation();\r\n const patientDetail = state.state.patient;\r\n const componentRef = useRef(null);\r\n const pageStyle = `{ size: 2.5in 4in }`;\r\n let dateObj = new Date();\r\n let month = dateObj.getUTCMonth() + 1; //months from 1-12\r\n let day = dateObj.getUTCDate();\r\n let year = dateObj.getUTCFullYear();\r\n let titleDate = `${year}${month}${day}`;\r\n const documentTitle = `CHLA_${patientDetail.patientName} - ${titleDate}`;\r\n const [resultFilter, setResultFilter] = useState<\"date\" | \"type\">(\"date\");\r\n const [open, setOpen] = useState(false);\r\n const [showModal, setShowModal] = useState(false);\r\n const [eventName, setEventName] = useState();\r\n const [notes, setNotes] = useState();\r\n const [filteredByType, setFilteredByType] = useState([]);\r\n\r\n useEffect(() => {\r\n if (labResults !== undefined ) {\r\n let allLabs = labResults.RPTDATA.LABS[0].LAB.map((lab) => lab);\r\n allLabs.sort(\r\n orderBy((a: LAB, b: LAB) => a.ES1_SEQ - b.ES1_SEQ).thenBy(\r\n (a: LAB, b: LAB) => a.ES2_SEQ - b.ES2_SEQ\r\n )\r\n );\r\n let lastES1 = 0;\r\n let lastES2 = 0;\r\n\r\n let ES1s: ES1[] = [];\r\n let currentES1: ES1;\r\n let currentES2: ES2;\r\n\r\n allLabs.forEach((lab) => {\r\n \r\n if (lab.ES1_SEQ > lastES1) {\r\n currentES1 = {\r\n name: lab.ES1,\r\n ES2s: [],\r\n };\r\n ES1s.push(currentES1);\r\n }\r\n if (lab.ES1_SEQ > lastES1 || lab.ES2_SEQ > lastES2) {\r\n currentES2 = {\r\n name: lab.ES2,\r\n labs: [],\r\n };\r\n currentES1.ES2s?.push(currentES2);\r\n }\r\n currentES2.labs?.push(lab);\r\n lastES1 = lab.ES1_SEQ;\r\n lastES2 = lab.ES2_SEQ;\r\n });\r\n setFilteredByType(ES1s);\r\n }\r\n }, [labResults]);\r\n\r\n const handlePrint = useReactToPrint({\r\n pageStyle: () => pageStyle,\r\n content: () => componentRef.current,\r\n documentTitle: documentTitle,\r\n });\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n ChartService.getLabResults(\r\n {\r\n personId: personId,\r\n lookback: lookback,\r\n encounterId: encounterId,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((res) => {\r\n setLabResults(res.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n \r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [encounterId, lookback]);\r\n\r\n const handleCommentsClick = (event: EVENT) => {\r\n setShowModal(true);\r\n setEventName(event.DISPLAY);\r\n setNotes(event.EVENT_NOTES);\r\n };\r\n\r\n const renderEventsTable = (lab: LAB) => {\r\n return (\r\n \r\n \r\n {lab.EVENT.map((event) => {\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 {event.DISPLAY}\r\n
\r\n {event.RESULT_UNITS && event.RESULT_UNITS}\r\n
\r\n
\r\n {event.RESULT_STATUS}\r\n
\r\n
\r\n
\r\n \r\n \r\n {event.EVENT_NOTE_CNT > 0 ? (\r\n handleCommentsClick(event)}\r\n title=\"Comments\"\r\n variant=\"primary\"\r\n width={\"fit-content\"}\r\n />\r\n\r\n ) : null}\r\n
\r\n );\r\n };\r\n\r\n const renderResultsByDate = () => {\r\n return labResults?.RPTDATA.LABS.map(({ LAB }) => {\r\n if (LAB.length === 0) {\r\n return
No record found
;\r\n }\r\n return LAB.map((lab) => {\r\n return (\r\n
\r\n
{lab.ES2}
\r\n
\r\n
Collected: {lab.EVENT_END_DT_TM.slice(0, -3)}
\r\n
Ordered By: {lab.ORDERING_PHYSICIAN}
\r\n
\r\n {renderEventsTable(lab)}\r\n
\r\n );\r\n });\r\n });\r\n };\r\n\r\n const renderResultsByType = () => {\r\n if (filteredByType.length === 0) {\r\n return
No record found
;\r\n }\r\n return filteredByType.map((ES1) => {\r\n return (\r\n <>\r\n
\r\n \r\n {ES1.name} {\"(\" + ES1.ES2s?.length + \")\"}\r\n \r\n {ES1.ES2s?.map((ES2) => {\r\n return (\r\n
\r\n \r\n {ES2.name} {\"(\" + ES2.labs?.length + \")\"}\r\n \r\n {ES2.labs?.map((lab) => {\r\n return (\r\n \r\n \r\n {lab.EVENT_END_DT_TM.slice(0, -3)} (Collected)\r\n \r\n
\r\n Ordered By: {lab.ORDERING_PHYSICIAN}\r\n {renderEventsTable(lab)}\r\n
\r\n );\r\n })}\r\n
\r\n );\r\n })}\r\n \r\n
\r\n \r\n );\r\n });\r\n };\r\n\r\n let isDisabled;\r\n if (loading) {\r\n isDisabled = true;\r\n } else {\r\n labResults?.RPTDATA.LABS.map(({ LAB }) => {\r\n if (LAB.length === 0) {\r\n isDisabled = true;\r\n } else {\r\n isDisabled = false;\r\n }\r\n });\r\n }\r\n\r\n return (\r\n
\r\n \r\n

Lab Results

\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n (\r\n {labResults !== undefined\r\n ? labResults.RPTDATA.LABS[0].LAB_CNT\r\n : 0}\r\n )\r\n
\r\n )}\r\n
\r\n }\r\n content={\r\n <>\r\n
\r\n \r\n setResultFilter(\"date\")}\r\n >\r\n By Date\r\n \r\n {\r\n setResultFilter(\"type\");\r\n }}\r\n >\r\n By Type\r\n \r\n \r\n \r\n
\r\n <>\r\n Note: This is not a comprehensive list of all tests performed on this patient. The following results are not included: Anatomic pathology, bacteriology, HLA, microbiology, molecular pathology, mycology, report images, scanned reports, surgical pathology.{\" \"}\r\n \r\n {resultFilter === \"type\" && filteredByType.length !== 0 && (\r\n <>\r\n setOpen((prev) => !prev)}\r\n >\r\n {open ? \"Collapse\" : \"Expand\"} All\r\n \r\n \r\n )}\r\n
\r\n <>\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n {loading ? (\r\n <>\r\n ) : \r\n resultFilter === \"date\" ? (\r\n renderResultsByDate()\r\n ) : (\r\n renderResultsByType()\r\n )}\r\n
\r\n \r\n }\r\n />\r\n {\r\n setShowModal(false);\r\n setEventName(undefined);\r\n setNotes(undefined);\r\n }}\r\n notes={notes}\r\n eventName={eventName}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default LabResults;\r\n","import { FC } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../mButton/MButton\";\r\n\r\nconst CustomAlertModal: FC<{\r\n show: boolean;\r\n header?: string;\r\n body: string;\r\n hideBorder?: boolean;\r\n handleClose?: () => void;\r\n}> = ({ show, header, body, hideBorder, handleClose, }) => {\r\n\r\n return (\r\n \r\n {header}\r\n \r\n {body}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default CustomAlertModal;\r\n","import React from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { NotesErrorMessage } from \"../../../../types/IPatientNotes\";\r\n\r\ninterface NoteViewErrorModalProps {\r\n show: boolean;\r\n onClose: () => void;\r\n onTryAgain: (format: string) => void;\r\n formatFailed: string;\r\n errorMessage?: NotesErrorMessage;\r\n}\r\n\r\nconst NoteViewErrorModal: React.FC = ({\r\n show,\r\n onClose,\r\n onTryAgain,\r\n formatFailed,\r\n errorMessage,\r\n}) => {\r\n const getAlternativeMethod = (failedMethod: string) => { \r\n const methodMap: { [key: string]: string } = {\r\n XR: \"HTML TR\",\r\n TR: \"PDF XR\",\r\n };\r\n return methodMap[failedMethod] || \"\"; \r\n };\r\n\r\n const alternativeMethod = getAlternativeMethod(formatFailed);\r\n const [alternative, method] = alternativeMethod.split(\" \");\r\n\r\n return (\r\n \r\n \r\n \r\n

\r\n {formatFailed === \"XR\"\r\n ? errorMessage?.pdfError\r\n : errorMessage?.htmlError}\r\n

\r\n
\r\n \r\n \r\n Cancel\r\n \r\n onTryAgain(method)}\r\n className=\"modal-button\"\r\n style={{\r\n borderRadius: \"20px\",\r\n backgroundColor: \"var(--color-light-blue)\",\r\n border: \"none\",\r\n }}\r\n >\r\n {`View as ${alternative}`}\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default NoteViewErrorModal;\r\n","import { FC, useEffect, useState, useRef } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport ChartService from \"../../../../services/ChartService\";\r\nimport IPatientNotes, { NOTEGROUP, NotesErrorMessage } from \"../../../../types/IPatientNotes\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport NotesModal from \"./NotesModal\";\r\nimport { Alert } from \"@mui/material\";\r\nimport \"./notes.css\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport {\r\n getFormattedDateTime,\r\n getFormattedTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { ErrorBoundary } from \"react-error-boundary\";\r\nimport CustomAlertModal from \"../../../common/CustomAlertModal\";\r\nimport NoteViewErrorModal from \"./NoteViewErrorModal\";\r\n\r\n\r\nconst Notes: FC<{\r\n personId: string;\r\n patientName: string;\r\n patientDOB: string;\r\n encounterId?: string;\r\n lookback: string;\r\n}> = ({ personId, patientName, patientDOB, encounterId, lookback }) => {\r\n const [loading, setLoading] = useState(true);\r\n const [notes, setNotes] = useState();\r\n const [note, setNote] = useState();\r\n const [showModal, setShowModal] = useState(false);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [open, setOpen] = useState(true);\r\n const [body, setBody] = useState();\r\n const [error, setError] = useState(null);\r\n const [loadingNotes, setLoadingNotes] = useState<{ [key: string]: string }>(\r\n {}\r\n );\r\n const [formatFailed, setFormatFailed] = useState(''); // Track which format to retry\r\n const [showErrorModal, setShowErrorModal] = useState(false);\r\n const [failedAttemptedMethods, setFailedAttemptedMethods] = useState<{ [key: string]: { pdf: boolean, html: boolean } }>({});\r\n const [NotesErrorMessages, setNotesErrorMessages] = useState({\r\n \"pdfError\": \"PDF is currently not available, please view as HTML instead.\",\r\n \"htmlError\": \"HTML is currently not available, please view as PDF instead.\",\r\n \"generalError\": \"Issue with retrieving the note, please contact myCHLA support at \",\r\n \"supportMail\": \"heatsd2@chla.usc.edu\"\r\n });\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setFailedAttemptedMethods({});\r\n ChartService.getNotes(\r\n {\r\n eventId: \"\",\r\n personId: personId,\r\n lookback: lookback,\r\n encounterId: encounterId,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((res) => {\r\n setNotes(res.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [encounterId, lookback]);\r\n\r\n useEffect(() => {\r\n ChartService.getNotesError(accessToken)\r\n .then((res) => {\r\n setNotesErrorMessages(res.data)\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n }\r\n });\r\n },[])\r\n\r\n const view = (note: NOTEGROUP, format: string) => {\r\n const currentAttempts = failedAttemptedMethods[note.PARENT_ID] || { pdf: false, html: false };\r\n // Set the loading state for the specific note\r\n setLoadingNotes((prevState) => ({\r\n ...prevState,\r\n [note.PARENT_ID]: format, // 'XR' for PDF and 'TR' for HTML\r\n }));\r\n\r\n setNote(note);\r\n if (note !== undefined) {\r\n setBody(undefined);\r\n let body = {\r\n DOCUMENT_FORMAT: format,\r\n NOTE_CNT: note.NOTE_CNT,\r\n NOTE_GROUP_PERFORMED_DATE: note.NOTE_GROUP_PERFORMED_DATE,\r\n NOTE_GROUP_VERIFIED_DATE: note.NOTE_GROUP_VERIFIED_DATE,\r\n NOTE_GROUP_TITLE: note.NOTE_GROUP_TITLE,\r\n NOTE_GROUP_AUTHOR: note.NOTE_GROUP_AUTHOR,\r\n NOTE_GROUP_AUTHOR_POSITION: note.NOTE_GROUP_AUTHOR_POSITION,\r\n PATIENT_NAME: patientName,\r\n DOB: patientDOB,\r\n NOTES: note.NOTES.map((n) => ({\r\n EVENT_ID: n.EVENT_ID + \"\",\r\n NAME_FULL: n.NAME_FULL,\r\n POSITION: n.POSITION,\r\n NOTE_PERFORMED_DATE: n.NOTE_PERFORMED_DATE,\r\n NOTE_SEQ: n.NOTE_SEQ,\r\n })),\r\n };\r\n\r\n ChartService.getNotesHTML(body, accessToken, cancelToken)\r\n .then((res) => {\r\n setBody(res);\r\n window.open(res, \"_blank\");\r\n // Logic to open pdf in different tab with embed tag\r\n // const newTab = window.open('', '_blank');\r\n // if (newTab) {\r\n // newTab.document.body.innerHTML = `\r\n //
\r\n // \r\n //
\r\n // `;\r\n // }\r\n })\r\n .catch((e) => {\r\n const updatedAttempts = {\r\n ...currentAttempts,\r\n [format === 'XR' ? 'pdf' : 'html']: true,\r\n };\r\n \r\n setFailedAttemptedMethods((prevState) => ({\r\n ...prevState,\r\n [note.PARENT_ID]: updatedAttempts,\r\n }));\r\n const alternativeMethod = format === \"XR\" ? \"html\" : \"pdf\";\r\n if (currentAttempts[alternativeMethod]) { // If the alternative method was already tried and this method failed, set the error to open the CustomAlertModal\r\n setError(e); \r\n }\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n }\r\n setFormatFailed(format);\r\n setShowErrorModal(true);\r\n })\r\n .finally(() => {\r\n // Reset the loading state after the request is finished\r\n setLoadingNotes((prevState) => ({\r\n ...prevState,\r\n [note.PARENT_ID]: \"\",\r\n }));\r\n })\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n };\r\n const ErrorFallback = (error: any) => {\r\n return (\r\n \r\n {\"Notes not Avialable\"}\r\n \r\n );\r\n };\r\n const handleCloseErrorModal = () => {\r\n setShowErrorModal(false);\r\n\r\n };\r\n const handleRetry = (format: string) => {\r\n setShowErrorModal(false);\r\n view(note as NOTEGROUP, format); // Retry with the selected format\r\n };\r\n return (\r\n
\r\n \r\n

Notes

\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n ({notes !== undefined ? notes.RPTDATA.NOTE_GROUP_CNT : 0})\r\n
\r\n )}\r\n
\r\n }\r\n content={\r\n <>\r\n

\r\n This is not a comprehensive list of all notes for this patient.\r\n Included in this list are selected outpatient consultative notes,\r\n Emergency Department provider notes, and the following inpatient\r\n notes: history and physical, operative report, physician discharge\r\n summary, and inpatient consultation.\r\n

\r\n
\r\n {loading ? (\r\n <>\r\n ) : // \r\n notes?.RPTDATA.NOTE_GROUP_CNT === 0 ? (\r\n
No record found
\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {notes?.RPTDATA.NOTE_GROUPS.map((note) => {\r\n const isLoadingPdf = loadingNotes[note.PARENT_ID] === \"XR\";\r\n const isLoadingHtml = loadingNotes[note.PARENT_ID] === \"TR\";\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
DateTitleAuthorView
{note.NOTE_GROUP_PERFORMED_DATE.slice(0, -3)}\r\n {note.NOTE_GROUP_TITLE}\r\n {note.NOTE_GROUP_AUTHOR}\r\n
\r\n
\r\n view(note, \"XR\")}\r\n disabled={isLoadingHtml}\r\n >\r\n {isLoadingPdf ? (\r\n \r\n \r\n
\r\n ) : (\r\n <>PDF\r\n )}\r\n \r\n\r\n view(note, \"TR\")}\r\n disabled={isLoadingPdf}\r\n >\r\n {isLoadingHtml ? (\r\n \r\n \r\n
\r\n ) : (\r\n <>HTML\r\n )}\r\n \r\n \r\n \r\n
\r\n )}\r\n
\r\n \r\n }\r\n />\r\n {/* {\r\n setShowModal(false);\r\n }}\r\n /> */}\r\n {\r\n setError(null);\r\n setShowErrorModal(false);\r\n }}\r\n hideBorder={true}\r\n // @ts-ignore\r\n body={error?.response?.data.message || (\r\n <>\r\n {NotesErrorMessages?.generalError}{\" \"}\r\n \r\n {NotesErrorMessages?.supportMail}\r\n .\r\n \r\n )}\r\n />\r\n {(error === null && showErrorModal) && (\r\n \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default Notes;\r\n","import { FC, useEffect, useState, useRef } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport ChartService from \"../../../../services/ChartService\";\r\nimport parse from \"html-react-parser\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { EVENT } from \"../../../../types/IPatientRadiologyResults\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport axios from \"axios\";\r\nimport { useReactToPrint } from \"react-to-print\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\nimport ComponentToPrintLabs from \"./ComponentToPrintLabs\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\n\r\ntype stateType = {\r\n state: {\r\n patient: IPatient;\r\n };\r\n};\r\n\r\nconst ReportsModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleSave?: () => void;\r\n event?: EVENT;\r\n accessToken?: string;\r\n lookback: string;\r\n}> = ({ show, handleClose, handleSave, event, accessToken, lookback }) => {\r\n const [body, setBody] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const { state } = useLocation();\r\n const patientDetail = state.state.patient;\r\n const componentRef = useRef(null);\r\n const pageStyle = `{ size: 2.5in 4in }`;\r\n let dateObj = new Date();\r\n let month = dateObj.getUTCMonth() + 1; //months from 1-12\r\n let day = dateObj.getUTCDate();\r\n let year = dateObj.getUTCFullYear();\r\n let titleDate = `${year}${month}${day}`;\r\n const documentTitle = `CHLA_${patientDetail.patientName} - ${titleDate}`;\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n useEffect(() => {\r\n if (event !== undefined) {\r\n setBody(undefined);\r\n setLoading(true);\r\n let body = {\r\n FIN: \"\",\r\n FACILITY: \"\",\r\n ENCNTR_TYPE: \"\",\r\n DISCHARGE_DATE: \"\",\r\n CATALOG: event.CATALOG,\r\n ORDER_ID: event.ORDER_ID,\r\n EVENT_VISIT_DATE: event.EVENT_VISIT_DATE,\r\n EVENT_DATE: event.EVENT_DATE,\r\n REPORT_STATUS: event.REPORT_STATUS,\r\n };\r\n ChartService.getReportsHTML(body, accessToken, cancelToken)\r\n .then((res) => {\r\n setBody(res.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n });\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [event]);\r\n\r\n const handlePrint = useReactToPrint({\r\n pageStyle: () => pageStyle,\r\n content: () => componentRef.current,\r\n documentTitle: documentTitle,\r\n });\r\n\r\n return (\r\n \r\n \r\n
\r\n {loading ? (\r\n \r\n \r\n
\r\n ) : (\r\n <>\r\n {parse(body)}\r\n
\r\n
\r\n \r\n
\r\n
\r\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 ReportsModal;\r\n","import { useOktaAuth } from \"@okta/okta-react\";\r\nimport { FC, useEffect, useRef, useState } from \"react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport ChartService from \"../../../../services/ChartService\";\r\nimport IPatientRadiologyResults, {\r\n EVENT,\r\n} from \"../../../../types/IPatientRadiologyResults\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport ReportsModal from \"./ReportsModal\";\r\nimport \"./radiology-results.css\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst RadiologyResults: FC<{\r\n personId: string;\r\n encounterId?: string;\r\n lookback: string;\r\n}> = ({ personId, encounterId, lookback }) => {\r\n const [loading, setLoading] = useState(true);\r\n const [radiologyResults, setRadiologyResults] =\r\n useState();\r\n const [event, setEvent] = useState();\r\n const [showModal, setShowModal] = useState(false);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const aref = useRef(null);\r\n const [open, setOpen] = useState(true);\r\n\r\n const handleReportsClick = (event: EVENT) => {\r\n setShowModal(true);\r\n setEvent(event);\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n ChartService.getRadiologyResults(\r\n {\r\n personId: personId,\r\n lookback: lookback,\r\n encounterId: encounterId,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((res) => {\r\n setRadiologyResults(res.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [encounterId, lookback]);\r\n\r\n return (\r\n
\r\n \r\n

Radiology Results

\r\n {loading ? (\r\n \r\n ) : (\r\n
\r\n (\r\n {radiologyResults !== undefined\r\n ? radiologyResults.RPTDATA.EVENTS_CNT\r\n : 0}\r\n )\r\n
\r\n )}\r\n
\r\n }\r\n content={\r\n <>\r\n
\r\n {loading ? (\r\n <>\r\n ) : // \r\n radiologyResults?.RPTDATA.EVENTS_CNT === 0 ? (\r\n
No record found
\r\n ) : (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {radiologyResults?.RPTDATA.EVENTS.map((event) => {\r\n return (\r\n \r\n \r\n handleReportsClick(event)}\r\n >\r\n {event.EVENT_TAG}\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
Visit DateReportsImages
{event.EVENT_VISIT_DATE}\r\n \r\n {event.IMAGE_COUNT > 0 && (\r\n {\r\n aref.current && aref.current.click();\r\n }}\r\n title='View Images'\r\n variant=\"primary\"\r\n width={\"fit-content\"}\r\n // style={{ width: 130 }}\r\n >\r\n View Images\r\n \r\n )}\r\n
\r\n )}\r\n
\r\n \r\n }\r\n />\r\n {\r\n setShowModal(false);\r\n }}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default RadiologyResults;\r\n","import { FC } from \"react\";\r\nimport { Link,useHistory } from \"react-router-dom\";\r\nimport \"./backButton.css\";\r\n\r\ninterface Props {\r\n link?: string;\r\n style?:string;\r\n}\r\n\r\nconst BackButton: FC = ({ link, style }) => {\r\n const history = useHistory()\r\n return (\r\n <>\r\n
\r\n {\r\n if (history.location.pathname.includes(\"/physicians&practices/edit/practice/\")) {\r\n localStorage.setItem(\"gotFrom\", \"/physicians&practices/edit/practice/\");\r\n }\r\n history.goBack()\r\n }}\r\n >\r\n {\"\\u00ab\"+\" Back to List \"}\r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default BackButton;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { ButtonGroup, ToggleButton } from \"react-bootstrap\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport IPatient from \"../../../types/IPatient\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport LabResults from \"./components/LabResults\";\r\nimport Notes from \"./components/Notes\";\r\nimport RadiologyResults from \"./components/RadiologyResults\";\r\nimport \"./patient-details.css\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { ENCOUNTER } from \"../../../types/IPatientEncounters\";\r\nimport { getFormattedTime } from \"../../../helpers/DateHelper\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\n\r\ntype stateType = {\r\n state: {\r\n patient: IPatient;\r\n };\r\n};\r\n\r\nconst PatientDetails: FC<{ name?: string }> = ({ name }) => {\r\n const { id } = useParams<{ id?: string | undefined }>();\r\n const { state } = useLocation();\r\n const patientDetail: IPatient = state.state.patient;\r\n const lookBackOptions: ILookbackOption[] = require(\"../../../data/patientDetailsLookbackOptions.json\");\r\n const [resultFilter, setResultFilter] = useState<\"results\" | \"visits\">(\r\n \"results\"\r\n );\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [visitLookbackOptions, setVisitLookbackOptions] = useState<\r\n ILookbackOption[]\r\n >([]);\r\n const [encounterId, setEncounterId] = useState(\"\");\r\n const [valueVisit, setValueVisit] = useState(0);\r\n const [valueRange, setValueRange] = useState(0);\r\n\r\n const [lookback, setLookback] = useState(\r\n lookBackOptions[0].value + \"\"\r\n );\r\n\r\n const handleLookback = (value: number) => {\r\n if (resultFilter === \"visits\") {\r\n if (value == undefined || value == null) {\r\n setValueVisit(0)\r\n setEncounterId(0 + \"\");\r\n }else {\r\n setValueVisit(value)\r\n setEncounterId(value + \"\");\r\n }\r\n } else {\r\n setLookback(value + \"\");\r\n setValueRange(value)\r\n\r\n }\r\n };\r\n\r\n const onClickTakeSurvey = () => {\r\n window.open(\"https://ncv.microsoft.com/YcCpQpPC3L\", \"_blank\");\r\n };\r\n\r\n const getVisitsLookBackDisplay = (enc: ENCOUNTER) => {\r\n if (enc.TYPE === \"Inpatient\") {\r\n return `${enc.REG_DT_TM.slice(0, -3)} - ${enc.NURSE_UNIT} | ${enc.ROOM\r\n } | ${enc.LOCATION}`;\r\n } else {\r\n return `${enc.REG_DT_TM.slice(0, -3)} - ${enc.LOCATION}`;\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n \r\n PatientService.getPatientEncounters(\r\n patientDetail.personId,\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((res) => {\r\n setVisitLookbackOptions(() =>\r\n res.data.RPTDATA.ENCOUNTERS_CNT != 0 ? res.data.RPTDATA.ENCOUNTERS.map((enc) => ({\r\n value: enc.ENCNTR_ID,\r\n display: getVisitsLookBackDisplay(enc),\r\n })) : ([{\r\n value: 0,\r\n display: \"No visits found\"\r\n }])\r\n );\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n\r\n }\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n resultFilter === \"visits\" &&\r\n encounterId === \"\" &&\r\n visitLookbackOptions !== undefined &&\r\n visitLookbackOptions.length !== 0\r\n ) {\r\n setEncounterId(visitLookbackOptions[0].value + \"\");\r\n } else {\r\n setEncounterId(\"\");\r\n }\r\n }, [resultFilter]);\r\n\r\n if (patientDetail === undefined || Object.keys(patientDetail).length === 0) {\r\n return ;\r\n } else {\r\n let patientName = patientDetail.patientName;\r\n let headerName = { name: name + \" > \" + patientName };\r\n return (\r\n <>\r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n

{patientName}

\r\n \r\n
\r\n DOB: {patientDetail.dob}\r\n
\r\n
\r\n Allergies:{\" \"}\r\n \r\n {patientDetail.allergies\r\n ?.map((a) => a.allergyName)\r\n .join(\", \")}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n View results by\r\n \r\n {\r\n setValueRange(0)\r\n setEncounterId(\"\")\r\n setLookback(lookBackOptions[0].value + \"\");\r\n setResultFilter(\"results\")\r\n }}\r\n >\r\n Time Range\r\n \r\n {\r\n setValueVisit(0)\r\n setEncounterId(\"\")\r\n setResultFilter(\"visits\");\r\n }}\r\n >\r\n Visits\r\n \r\n \r\n
\r\n
\r\n {resultFilter === \"results\" ? (\r\n handleLookback(e.target.value)}\r\n options={lookBackOptions}\r\n value={valueRange}\r\n />\r\n ) : visitLookbackOptions !== undefined &&\r\n visitLookbackOptions.length !== 0 ? (\r\n handleLookback(e.target.value)}\r\n options={visitLookbackOptions}\r\n value={valueVisit}\r\n />\r\n ) : (\r\n handleLookback(e.target.value)}\r\n options={visitLookbackOptions}\r\n value={undefined}\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n {/* hel} content={
HElllloooo
} /> */}\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n Give us your feedback\r\n \r\n
\r\n \r\n
\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default PatientDetails;\r\n","import { useState, useEffect, FC, useCallback, useRef } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport PatientsList from \"./components/PatientsList\";\r\nimport PatientsCard from \"./components/PatientsCard\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatient, { FutureVisit } from \"../../../types/IPatient\";\r\nimport usePatients from \"../../../hooks/usePatients\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { ButtonGroup, ToggleButton } from \"react-bootstrap\";\r\nimport VisitsModal from \"./components/VisitsModal\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport DeleteConfirmationModal from \"./components/DeleteConfirmationModal\";\r\nimport IPatientQuery from \"../../../types/IPatientQuery\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { useHistory } from 'react-router-dom'\r\ntype visits = {\r\n lastVisit: { dtm: string; location: string };\r\n futureVisits: FutureVisit[];\r\n};\r\n\r\nconst ViewPatients: FC<{ name?: string }> = ({ name }) => {\r\n const [error, setError] = useState(null);\r\n const visitLookbackOptions: ILookbackOption[] = require(\"../../../data/patientListVisitsLookbackOptions.json\");\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [patients, setPatients] = useState();\r\n const isBigScreen = window.innerWidth > 1000;\r\n const [flag, setFlag] = useState(isBigScreen);\r\n const [searchText, setSearchText] = useSessionState(\"viewpatientsearch_state\", \"\");\r\n const [patient, setPatient] = useState();\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [isBack, setIsBack] = useState(true);\r\n const [pages, setPages] = useSessionState(\"viewpatientpages_state\", 0);\r\n const [maxPages, setMaxPages] = useSessionState(\"viewpatientMaxPage_state\", 0);\r\n const [currentPage, setCurrentPage] = useSessionState(\"viewpatientcurrentpage_state\", 1);\r\n const [lookback, setLookback] = useSessionState(\"viewpatientlookback_state\", visitLookbackOptions[0].value);\r\n const pageSize = 12;\r\n const [query, setQuery] = useState({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n });\r\n const [searched, setSearched] = useState(0);\r\n const [loading, setLoading] = useState(true);\r\n const [page, setPage] = useState(1);\r\n const [value, setValue] = usePatients(\"viewpatients\");\r\n const loader = useRef(null);\r\n const [viewAsFilter, setViewAsFilter] = useSessionState<\"list\" | \"cards\">(\"viewpatientsfilter_state\", \"list\");\r\n const [showModal, setShowModal] = useState(false);\r\n const [visits, setVisits] = useState();\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [recentSearchPatientName, setRecentSearchPatientName] = useState(\"\");\r\n const [ locationKeys, setLocationKeys ] = useState([])\r\n const history = useHistory()\r\n \r\n \r\n\r\n const [scrollPosition, setScrollPosition] = useScrollPosition(\"patientList\");\r\n const handleScroll = () => {\r\n const position = window.pageYOffset;\r\n setScrollPosition(position);\r\n };\r\n const PAGE_SIZE = 10;\r\n\r\n const getPaginatedValue = (array: any, page: number) => {\r\n return array.data\r\n };\r\n const handleQuery = () => {\r\n setQuery({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n })\r\n }\r\n const handleObserver = useCallback((entries) => {\r\n const target = entries[0];\r\n if (target.isIntersecting) {\r\n setPage((prev) => prev + 1);\r\n }\r\n }, []);\r\n\r\n const onHideOrShareClick = (personId: string, providerId: string) => {\r\n setLoading(true);\r\n // setError(null)\r\n PatientService.hideOrSharePatient(personId, providerId, accessToken, cancelToken)\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const updateRecentSearch = (name: string) => {\r\n setQuery((q) => ({ ...q, SearchText: name, PageNumber: 1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n setRecentSearchPatientName(name);\r\n }\r\n const clearRecentSearch = () => {\r\n setRecentSearchPatientName(\"\");\r\n }\r\n\r\n const onVisitsClick = (patient: IPatient) => {\r\n setVisits({\r\n lastVisit: {\r\n dtm: patient.lastEncounterDtTm,\r\n location: patient.lastEncounterLoc,\r\n },\r\n futureVisits: patient.futureVisits,\r\n });\r\n setShowModal(true);\r\n };\r\n const removePatient = (patient: IPatient) => {\r\n setLoading(true);\r\n PatientService.removePatient(\r\n {\r\n patientId: patient.personId,\r\n patientName: patient.patientName,\r\n providerId: patient.providerId,\r\n providerName: patient.physicianName,\r\n dob: patient.dob\r\n },\r\n accessToken\r\n )\r\n .then((response) => window.location.reload())\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n const onRemoveClick = (patient: IPatient) => {\r\n setPatient(patient)\r\n setLoading(true);\r\n setShowDeleteModal(true)\r\n };\r\n const navigateToPage = (page: number) => {\r\n setCurrentPage(page);\r\n setQuery((q) => ({ ...q, PageNumber: page }));\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n useEffect(() => {\r\n const cancelToken = axios.CancelToken.source();\r\n setLoading(true);\r\n PatientService.getPatients(\"viewpatients\", query, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setValue(response.data.data);\r\n setPatients(response.data.data);\r\n if (maxPages == 0) {\r\n if(response.data.hasNext || query.SearchText !== \"\"){\r\n setPages(response.data.totalPages);\r\n setMaxPages(response.data.totalPages);\r\n }\r\n \r\n }\r\n\r\n setCurrentPage(response.data.currentPage);\r\n\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n \r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n\r\n useEffect(() => {\r\n if (viewAsFilter === \"list\") {\r\n if (isBigScreen) {\r\n setFlag(true);\r\n }\r\n } else {\r\n setFlag(false);\r\n }\r\n }, [viewAsFilter]);\r\n\r\n if (error) {\r\n return (\r\n
\r\n \r\n
\r\n );\r\n }\r\n return (\r\n
\r\n
\r\n

{name}

\r\n
\r\n View as\r\n \r\n setViewAsFilter(\"list\")}\r\n >\r\n List\r\n \r\n {\r\n setViewAsFilter(\"cards\");\r\n }}\r\n >\r\n Cards\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {\r\n setLookback(e.target.value)\r\n\r\n setQuery((q) => ({ ...q, Lookback: e.target.value, PageNumber: 1 }));\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n value={lookback}\r\n options={visitLookbackOptions}\r\n />\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {\r\n setQuery((q) => ({ ...q, SearchText: searchText,PageNumber:1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n\r\n onTextChange={(text) => {\r\n\r\n if (text == \"\") {\r\n\r\n \r\n if(patients !== undefined){\r\n setQuery((q) => ({ ...q, SearchText: \"\",PageNumber:1,Lookback : -1}));\r\n setLookback(-1)\r\n }\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n setSearchText(text)\r\n\r\n }}\r\n />\r\n
\r\n
\r\n {patients !== undefined ? (\r\n
\r\n {patients.length === 0 ? (\r\n
\r\n

No record found

\r\n
\r\n ) : (\r\n
\r\n {flag === false ? (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n updateRecentSearch={updateRecentSearch}\r\n />\r\n ) : (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n />\r\n )}\r\n
\r\n\r\n )}\r\n {patients.length !== 0 ? (\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n\r\n ) : null}\r\n\r\n
\r\n {\r\n setShowModal(false);\r\n setVisits(undefined);\r\n }}\r\n lastVisit={visits?.lastVisit}\r\n futureVisits={visits?.futureVisits}\r\n />\r\n {\r\n setLoading(false)\r\n setShowDeleteModal(false)\r\n }}\r\n handleConfirm={() => {\r\n patient && removePatient(patient)\r\n setShowDeleteModal(false)\r\n }}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default ViewPatients;\r\n","import { FC } from \"react\";\r\nimport \"./headerName.css\";\r\n\r\ninterface Props {\r\n name?: string;\r\n}\r\n\r\nconst HeaderName: FC = ({ name }) => {\r\n return (\r\n <>\r\n
\r\n
Home > {name}
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default HeaderName;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPatientAccessRequestList from \"../types/IPatientAccessRequestList\";\r\nimport IReferralQuery from \"../types/IReferralQuery\";\r\nimport IPatientAccessQuery from \"../types/IPatientAccessQuery\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\n const getPatientAccessRequestList = async (\r\n data:IPatientAccessQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n ) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/patient/getallpatientaccessrequest`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n };\r\n\r\n /**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\n const getNotMyPatientList = async (\r\n data:IPatientAccessQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/patient/getallnotmypatient`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n /**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\nconst getPatientAccessRequestById = async (id: number, token?: string) => {\r\n const result = await axios.get(`${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nconst createNewPatientAccessRequest = async (data: any, token?: string) => {\r\n const result = await axios.post(`${API_BASE_URL}/patient/newpatientaccessrequest`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }\r\n );\r\n return result;\r\n}\r\n\r\n const editPatientAccessRequest = async (data: any, token?: string) => {\r\n const result = await axios.put(`${API_BASE_URL}/Patient/editpatientaccessrequest`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n }\r\n );\r\n return result;\r\n}\r\n\r\n const editNotMyPatientRequest = async (data: any, token?: string) => {\r\n const result = await axios.put(`${API_BASE_URL}/Patient/editnotmypatient`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n });\r\n return result;\r\n }\r\n\r\n const PatientAccessRequestService = {\r\n getPatientAccessRequestList,\r\n getPatientAccessRequestById,\r\n createNewPatientAccessRequest,\r\n editPatientAccessRequest,\r\n getNotMyPatientList,\r\n editNotMyPatientRequest\r\n };\r\n\r\nexport default PatientAccessRequestService;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IReferralList from \"../types/IReferralList\";\r\nimport IReferralDetailed from \"../types/IReferralDetailed\";\r\nimport IReferralQuery from \"../types/IReferralQuery\";\r\nimport IReferralFormDropdownData from \"../types/IReferralFormDropdownData\";\r\nimport IReferral from \"../types/IReferral\";\r\nlet loginas = localStorage.getItem(\"loginAsFlag\");\r\nlet loginasEmail = localStorage.getItem(\"loginAsEmail\");\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getReferrals = async (\r\n query: IReferralQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/referral/viewreferrals`,\r\n query,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getPhysicianReferrals = async (\r\n query: IReferralQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/referral/myreferrals`,\r\n query,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the referral number\r\n * @param token receives the access token of type string\r\n */\r\nconst getReferralById = async (\r\n id: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/referral/${id}`,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getReferralFormDataList = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/dropdowndata/referralform`,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param data receives the referral id & cancellation reason\r\n * @param token receives the access token of type string\r\n */\r\nconst cancelReferral = async (\r\n data: {\r\n id: number;\r\n reason: string;\r\n referral?: IReferral | IReferralDetailed;\r\n },\r\n token?: string,\r\n referral?: IReferral | IReferralDetailed,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/referral/cancelreferral/`,\r\n referral,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createReferral(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n for (var key in data.keys()) {\r\n console.log(key, data.get(key));\r\n }\r\n\r\n console.log(data)\r\n const result = await axios.post(\r\n `${API_BASE_URL}/referral`,\r\n data,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function editReferral(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/referral`,\r\n data,\r\n loginas !== null\r\n ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas: loginas !== null ? loginas : JSON.stringify(false),\r\n email: loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n : {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst ReferralService = {\r\n getReferrals,\r\n getPhysicianReferrals,\r\n getReferralById,\r\n getReferralFormDataList,\r\n cancelReferral,\r\n createReferral,\r\n editReferral,\r\n};\r\n\r\nexport default ReferralService;\r\n","import { useState, FC, useEffect } from \"react\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { getFormattedDate } from \"../../../helpers/DateHelper\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\nimport IReferralFormDropdownData from \"../../../types/IReferralFormDropdownData\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\n\r\nconst NewPatientAccessRequest: FC<{ name?: string }> = ({ name }) => {\r\n const [referralFormDropdownData, setReferralFormDropdownData] =\r\n useState();\r\n\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [formData, setFormData] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n const DATE = getFormattedDate(new Date());\r\n\r\n useEffect(() => {\r\n ReferralService.getReferralFormDataList(accessToken)\r\n .then((response) => {\r\n setReferralFormDropdownData(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n });\r\n }, []);\r\n\r\n const handleOnChange = (e: any, key: any) => {\r\n let data: any = formData;\r\n if (key === \"patientGenderId\" || key === \"onBehalfPhysicianId\") {\r\n data[key] = Number(e.target.value);\r\n } else {\r\n data[key] = e.target.value;\r\n }\r\n setFormData(data);\r\n };\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n setLoading(true);\r\n PatientAccessRequestService.createNewPatientAccessRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n // setRedirect({ redirect: true, message: \"success\" });\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n };\r\n\r\n let form = require(\"../../../data/newPatientAccessRequestForm.json\");\r\n const DEFAULT_OPTION = \"Please make a selection...\";\r\n\r\n const { onBehalfPhysicianId } = form;\r\n\r\n form = {\r\n ...form,\r\n onBehalfPhysicianId: {\r\n ...onBehalfPhysicianId,\r\n value: ([{ id: \"\", display: DEFAULT_OPTION }] as any[])\r\n .concat(referralFormDropdownData?.physicians)\r\n .map((display) => {\r\n if (display !== undefined) {\r\n return {\r\n value: display.id,\r\n display: display.display,\r\n };\r\n }\r\n }),\r\n },\r\n };\r\n\r\n if (\r\n referralFormDropdownData === undefined ||\r\n Object.keys(referralFormDropdownData).length === 0\r\n ) {\r\n return ;\r\n }\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
\r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n

{name}

\r\n

\r\n Please fill out the form below to request access to a patient's\r\n electronic medical record. We will process your request within 48\r\n hours.\r\n

\r\n
\r\n
\r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"select\" && key === \"patientGenderId\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"select\" &&\r\n key === \"onBehalfPhysicianId\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n // defaultValue={handleDefaultValue(value.type, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n // defaultValue={handleDefaultValue(value.type, key)}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n {/* \r\n \r\n */}\r\n \r\n \r\n
\r\n
\r\n
\r\n );\r\n }\r\n};\r\n\r\nexport default NewPatientAccessRequest;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport IPatientAccessRequest from \"../../../../types/IPatientAccessRequest\";\r\nimport IPatientAccessQuery from \"../../../../types/IPatientAccessQuery\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { setRecentSearch } from \"../../../../helpers/RecentSearchHelper\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateFromDate,\r\n getFormattedDate,\r\n getFormattedDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { MDBDataTable, MDBTable, MDBTableBody, MDBTableHead } from \"mdbreact\";\r\nimport \"./patient-access-requestlist.css\";\r\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\r\n// import 'mdbreact/dist/css/mdb.css';\r\n\r\ntype stateType = {\r\n state: {\r\n patientAccess: IPatientAccessRequest;\r\n };\r\n};\r\n\r\nconst PatientAccessRequestList: FC<{\r\n patientAccessRequest: IPatientAccessRequest[];\r\n query: IPatientAccessQuery;\r\n}> = ({ patientAccessRequest, query }) => {\r\n const history = useHistory();\r\n const [tableRows, setTableRows] = useState([]);\r\n const [sortDirection, setSortDiection] = useState(\"desc\");\r\n const [sortKey, setSortKey] = useState(\"\");\r\n useEffect(() => {\r\n if (patientAccessRequest) {\r\n setTableRows(assembleData());\r\n }\r\n }, [patientAccessRequest]);\r\n useEffect(() => {\r\n if (patientAccessRequest) {\r\n setTableRows(assembleData());\r\n }\r\n }, [sortDirection]);\r\n\r\n const onPatientCardClick = (patientAccess: IPatientAccessRequest) => {\r\n if (\r\n patientAccess.patientFirstName != null &&\r\n patientAccess.patientLastName != null\r\n ) {\r\n let searchedItem = {\r\n name: `${patientAccess.patientFirstName}, ${patientAccess.patientLastName}`,\r\n dob: patientAccess.patientDob,\r\n id: patientAccess.patientAccessRequestID,\r\n status: patientAccess.requestStatus,\r\n };\r\n history.push(\r\n `/patients/patientaccessrequests/details/${patientAccess.patientAccessRequestID}`,\r\n { state: { patientAccess } }\r\n );\r\n }\r\n };\r\n\r\n const assembleData: any = () => {\r\n let patientsArray = patientAccessRequest;\r\n if (sortKey === \"patientAccessRequestID\") {\r\n if (sortDirection == \"asc\") {\r\n patientsArray = patientAccessRequest.sort(function (a, b) {\r\n return a.patientAccessRequestID - b.patientAccessRequestID;\r\n });\r\n } else {\r\n patientsArray = patientAccessRequest.sort(function (a, b) {\r\n return b.patientAccessRequestID - a.patientAccessRequestID;\r\n });\r\n }\r\n }\r\n\r\n let patients = patientsArray.map((patientAccess) => {\r\n return {\r\n patientAccessRequestID: (\r\n <>\r\n {\" \"}\r\n onPatientCardClick(patientAccess)}\r\n >\r\n {patientAccess.patientAccessRequestID}\r\n \r\n \r\n ),\r\n\r\n patientFirstName:\r\n patientAccess.patientFirstName != null\r\n ? patientAccess.patientFirstName.trim()\r\n : null,\r\n patientLastName:\r\n patientAccess.patientLastName != null\r\n ? patientAccess.patientLastName.trim()\r\n : null,\r\n patientDob: `${patientAccess.patientDob}`,\r\n requestStatus: patientAccess.requestStatus,\r\n onBehalfPhysicianName: patientAccess.onBehalfPhysicianName,\r\n createdBy: patientAccess.createdBy,\r\n\r\n createdOn:\r\n patientAccess.createdOn != null\r\n ? `${patientAccess?.createdOn.split(\"T\")[0]} ${\r\n patientAccess?.createdOn.split(\"T\")[1]\r\n }`\r\n : null,\r\n modifiedOn:\r\n patientAccess.modifiedOn != null\r\n ? `${patientAccess?.modifiedOn.split(\"T\")[0]} ${\r\n patientAccess?.modifiedOn.split(\"T\")[1]\r\n }`\r\n : null,\r\n };\r\n });\r\n return patients;\r\n };\r\n\r\n const data = {\r\n columns: [\r\n {\r\n label: \"ID\",\r\n field: \"patientAccessRequestID\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"First Name\",\r\n field: \"patientFirstName\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Last Name\",\r\n field: \"patientLastName\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"DOB\",\r\n field: \"patientDob\",\r\n sort: \"asc\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Status\",\r\n field: \"requestStatus\",\r\n sort: \"asc\",\r\n width: 100,\r\n },\r\n {\r\n label: \"On Behalf Of\",\r\n field: \"onBehalfPhysicianName\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Submitted By\",\r\n field: \"createdBy\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Requested On\",\r\n field: \"createdOn\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Last Modified\",\r\n field: \"modifiedOn\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n ],\r\n rows: tableRows,\r\n };\r\n\r\n return (\r\n {\r\n if (e.column === \"patientAccessRequestID\") {\r\n setSortDiection(e.direction);\r\n setSortKey(e.column);\r\n } else {\r\n setSortDiection(\"desc\");\r\n setSortKey(\"\");\r\n }\r\n }}\r\n searching={false}\r\n />\r\n );\r\n};\r\n\r\nexport default PatientAccessRequestList;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport IPatientAccessRequest from \"../../../../types/IPatientAccessRequest\";\r\nimport IPatientAccessQuery from \"../../../../types/IPatientAccessQuery\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { setRecentSearch } from \"../../../../helpers/RecentSearchHelper\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateFromDate,\r\n getFormattedDateTime\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { MDBDataTable, MDBTable, MDBTableBody, MDBTableHead } from \"mdbreact\";\r\nimport \"./patient-access-requestlist.css\";\r\n\r\ntype stateType = {\r\n state: {\r\n patientAccess: IPatientAccessRequest;\r\n };\r\n};\r\n\r\nconst ProxyPatientAccessRequestList: FC<{\r\n patientAccessRequest: IPatientAccessRequest[];\r\n query: IPatientAccessQuery;\r\n}> = ({ patientAccessRequest, query }) => {\r\n const history = useHistory();\r\n const [tableRows, setTableRows] = useState([]);\r\n const [sortDirection , setSortDiection] = useState(\"desc\");\r\n const [sortKey , setSortKey] = useState(\"\");\r\n\r\n useEffect(() => {\r\n if (patientAccessRequest) {\r\n setTableRows(assembleData());\r\n }\r\n }, [patientAccessRequest]);\r\n useEffect(() => {\r\n if (patientAccessRequest) {\r\n setTableRows(assembleData());\r\n }\r\n }, [sortDirection]);\r\n\r\n const onPatientCardClick = (patientAccess: IPatientAccessRequest) => {\r\n let searchedItem = {\r\n name: `${patientAccess.patientFirstName}, ${patientAccess.patientLastName}`,\r\n dob: patientAccess.patientDob,\r\n };\r\n history.push(\r\n `/patientaccessrequest/edit/${patientAccess.patientAccessRequestID}`,\r\n { state: { patientAccess } }\r\n );\r\n };\r\n\r\n const assembleData: any = () => {\r\n let patientsArray = patientAccessRequest\r\n if(sortKey === \"patientAccessRequestID\"){\r\n if(sortDirection == \"asc\"){\r\n patientsArray = patientAccessRequest.sort(function(a, b) { \r\n return a.patientAccessRequestID - b.patientAccessRequestID ;\r\n });\r\n }\r\n else{\r\n patientsArray = patientAccessRequest.sort(function(a, b) { \r\n return b.patientAccessRequestID - a.patientAccessRequestID ;\r\n });\r\n }\r\n }\r\n \r\n let patients = patientsArray.map((patientAccess) => {\r\n return {\r\n patientAccessRequestID: (\r\n <>\r\n {\" \"}\r\n onPatientCardClick(patientAccess)}\r\n >\r\n {patientAccess.patientAccessRequestID}\r\n \r\n \r\n ),\r\n patientFirstName: patientAccess.patientFirstName,\r\n patientLastName: patientAccess.patientLastName,\r\n patientGender: patientAccess.patientGender,\r\n patientMRN: patientAccess.patientMRN,\r\n patientDob: (`${patientAccess.patientDob}`),\r\n requestStatus: patientAccess.requestStatus,\r\n onBehalfPhysicianName: patientAccess.onBehalfPhysicianName,\r\n createdBy: patientAccess.createdBy,\r\n createdOn:(patientAccess?.createdOn!=null?`${patientAccess?.createdOn.split(\"T\")[0]} ${patientAccess?.createdOn.split(\"T\")[1]}`:null),\r\n modifiedOn:(patientAccess?.modifiedOn!=null?`${patientAccess?.modifiedOn.split(\"T\")[0]} ${patientAccess?.modifiedOn.split(\"T\")[1]}`:null),\r\n \r\n };\r\n });\r\n return patients;\r\n };\r\n const data = {\r\n columns: [\r\n {\r\n label: \"ID\",\r\n field: \"patientAccessRequestID\",\r\n sort: \"asc\",\r\n width: 150,\r\n hight: 200,\r\n },\r\n {\r\n label: \"First Name\",\r\n field: \"patientFirstName\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Last Name\",\r\n field: \"patientLastName\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Gender\",\r\n field: \"patientGender\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"MRN\",\r\n field: \"patientMRN\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"DOB\",\r\n field: \"patientDob\",\r\n sort: \"asc\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Status\",\r\n field: \"requestStatus\",\r\n sort: \"asc\",\r\n width: 100,\r\n },\r\n {\r\n label: \"On Behalf Of\",\r\n field: \"onBehalfPhysicianName\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Submitted By\",\r\n field: \"createdBy\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Requested On\",\r\n field: \"createdOn\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Last Modified\",\r\n field: \"modifiedOn\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n ],\r\n rows: tableRows,\r\n };\r\n\r\n return (\r\n {\r\n if(e.column === \"patientAccessRequestID\"){\r\n setSortDiection(e.direction)\r\n setSortKey(e.column)\r\n }\r\n else{\r\n setSortDiection(\"desc\")\r\n setSortKey(\"\")\r\n }\r\n }}\r\n sorting=\"true\"\r\n />\r\n );\r\n};\r\n\r\nexport default ProxyPatientAccessRequestList;\r\n","import { FC, useEffect, useState, useRef, useCallback } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport IRouteState from \"../../../types/IRouteState\";\r\nimport IPatientAccessRequest from \"../../../types/IPatientAccessRequest\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatientAccessQuery from \"../../../types/IPatientAccessQuery\";\r\nimport PatientAccessRequestList from \"../myPatients/components/PatientAccessRequestList\";\r\nimport ProxyPatientAccessRequestList from \"../myPatients/components/ProxyPatientAccessRequestList\";\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst PatientAccessRequests: FC<{ name?: string }> = ({ name }) => {\r\n const lookBackOptions: ILookbackOption[] = require(\"../../../data/visitsLookbackOptions.json\");\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const history = useHistory();\r\n let pathName = history.location.pathname;\r\n\r\n const [patientAccessRequest, setPatientAccessRequest] = useState([]);\r\n\r\n const [searchText, setSearchText] = useSessionState(\r\n \"searchTextPatientsList\",\r\n \"\"\r\n );\r\n const [message, setMessage] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [query, setQuery] = useState({\r\n lookback: 30,\r\n practice:pathName === \"/patientaccessrequest/patientaccessrequests\"?false:true\r\n });\r\n\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [error, setError] = useState();\r\n const location = useLocation();\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n const newPatientAccessRequest = () => {\r\n let path = `/patients/newpatientaccessrequest`;\r\n history.push(path);\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n PatientAccessRequestService.getPatientAccessRequestList(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setPatientAccessRequest(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSearch = (searchText: string) => {\r\n setQuery({\r\n ...query,\r\n searchterm: searchText,\r\n });\r\n };\r\n const handleLookBack = (e: React.ChangeEvent) => {\r\n let temp = query;\r\n temp[\"lookback\"] = e.target.value;\r\n setQuery(temp);\r\n navigateToPage(1);\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n

{name}

\r\n
\r\n {pathName === \"/patientaccessrequest/patientaccessrequests\" ? (\r\n <>\r\n
\r\n
\r\n \r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n navigateToPage(1)}\r\n onTextChange={handleSearch}\r\n />\r\n
\r\n
\r\n\r\n {patientAccessRequest.length === 0 ? (\r\n !loading ? (\r\n
No Record Found
\r\n ) : null\r\n ) : (\r\n <>\r\n \r\n \r\n )}\r\n \r\n ) : (\r\n <>\r\n
\r\n \r\n My Recent Requests{\" \"}\r\n \r\n \r\n New{\" \"}\r\n \r\n {\" \"}\r\n \r\n \r\n \r\n {\" \"}\r\n \r\n \r\n
\r\n \r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n navigateToPage(1)}\r\n onTextChange={handleSearch}\r\n />\r\n
\r\n
\r\n\r\n {patientAccessRequest.length === 0 ? (\r\n !loading ? (\r\n
No Record Found
\r\n ) : 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};\r\n\r\nexport default PatientAccessRequests;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport INotMyPatientRequest from \"../../../../types/INotMyPatientRequest\";\r\nimport IPatientAccessQuery from \"../../../../types/IPatientAccessQuery\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateFromDate,\r\n getFormattedDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { MDBDataTable, MDBTable, MDBTableBody, MDBTableHead } from \"mdbreact\";\r\nimport \"./patient-access-requestlist.css\";\r\n\r\nconst NotMyPatientRequestList: FC<{\r\n patientAccessRequest: INotMyPatientRequest[];\r\n handleActiveRecordClick: (id: number, activeRecord: boolean) => void;\r\n query: IPatientAccessQuery;\r\n}> = ({ patientAccessRequest, query, handleActiveRecordClick }) => {\r\n const [tableRows, setTableRows] = useState([]);\r\n\r\n useEffect(() => {\r\n if (patientAccessRequest) {\r\n const tRows = assembleData();\r\n setTableRows(tRows);\r\n }\r\n }, [patientAccessRequest]);\r\n\r\n const onStatusClick = (patientAccess: INotMyPatientRequest) => {\r\n if (patientAccess.id !== null) {\r\n handleActiveRecordClick(patientAccess.id, !patientAccess.activeRecord);\r\n }\r\n };\r\n\r\n const assembleData: any = () => {\r\n const tableData = patientAccessRequest.map((patientAccess) => {\r\n if (patientAccess.modifiedOn != null) {\r\n return {\r\n id: (\r\n
{patientAccess.id}
\r\n ),\r\n user: patientAccess.user,\r\n patientName: patientAccess.patientName,\r\n providerID: patientAccess.providerID,\r\n providerName: patientAccess.providerName,\r\n patientDob: `${patientAccess.patientDob}`,\r\n patientID: patientAccess.patientID,\r\n\r\n modifiedOn:\r\n patientAccess?.modifiedOn != null\r\n ? `${patientAccess?.modifiedOn.split(\"T\")[0]} ${\r\n patientAccess?.modifiedOn.split(\"T\")[1]\r\n }`\r\n : null,\r\n\r\n status: patientAccess.status,\r\n activeRecord: (\r\n onStatusClick(patientAccess)}\r\n >\r\n {patientAccess.activeRecord === false ? \"Undo\" : \"Complete\"}\r\n \r\n ),\r\n };\r\n }\r\n });\r\n return tableData;\r\n };\r\n\r\n const cols = [\r\n {\r\n label: \"ID\",\r\n field: \"id\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"User\",\r\n field: \"user\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Patient Name\",\r\n field: \"patientName\",\r\n sort: \"asc\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Provider ID\",\r\n field: \"providerID\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Provider Name\",\r\n field: \"providerName\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"DOB\",\r\n field: \"patientDob\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Patient ID\",\r\n field: \"patientID\",\r\n sort: \"disabled\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Last Modified\",\r\n field: \"modifiedOn\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n {\r\n label: \"Status\",\r\n field: \"status\",\r\n sort: \"disabled\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Action\",\r\n field: \"activeRecord\",\r\n sort: \"disabled\",\r\n width: 150,\r\n },\r\n ];\r\n\r\n const data = {\r\n columns: cols,\r\n rows: tableRows !== undefined && tableRows !== null ? tableRows : [],\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NotMyPatientRequestList;\r\n","import { FC, useEffect, useState, useRef, useCallback } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport IRouteState from \"../../../types/IRouteState\";\r\nimport INotMyPatientRequest from \"../../../types/INotMyPatientRequest\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatientAccessQuery from \"../../../types/IPatientAccessQuery\";\r\nimport NotMyPatientRequestList from \"../myPatients/components/NotMyPatientRequestList\";\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\n\r\nconst NotMyPatientRequest: FC<{ name?: string }> = ({ name }) => {\r\n\r\n const lookBackOptions: ILookbackOption[] = require(\"../../../data/visitsLookbackOptions.json\");\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n\r\n const [patientAccessRequest, setPatientAccessRequest] = useState([]);\r\n const [searchText, setSearchText] = useSessionState(\r\n \"searchTextPatientsList\",\r\n \"\"\r\n );\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [query, setQuery] = useState({\r\n lookback: 30,\r\n });\r\n\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [error, setError] = useState();\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n PatientAccessRequestService.getNotMyPatientList(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n if (response) {\r\n const patients = response.data;\r\n if (patients !== null && patients !== undefined) {\r\n setPatientAccessRequest(patients);\r\n setLoading(false);\r\n }\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSearch = (searchText: string) => {\r\n setQuery({\r\n ...query,\r\n searchterm: searchText,\r\n });\r\n console.log(query)\r\n };\r\n const handleLookBack = (e: React.ChangeEvent) => {\r\n let temp = query;\r\n temp[\"lookback\"] = e.target.value;\r\n setQuery(temp);\r\n navigateToPage(1);\r\n };\r\n\r\n const handleActiveRecordClick = (id: number, activeRecord: boolean) => {\r\n PatientAccessRequestService.editNotMyPatientRequest({\r\n id: id,\r\n activeRecord: activeRecord\r\n }, accessToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n navigateToPage(1);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n });\r\n\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n

{name}

\r\n
\r\n
\r\n
\r\n \r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n navigateToPage(1)}\r\n onTextChange={handleSearch}\r\n />\r\n
\r\n
\r\n {patientAccessRequest.length === 0 ? (\r\n !loading ? (\r\n
No Record Found
\r\n ) : null\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 NotMyPatientRequest;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { useLocation, useParams } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport IPatientAccessRequest from \"../../../types/IPatientAccessRequest\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport Loader from \"../../common/Loader\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateFromDate,\r\n getFormattedDateTime\r\n} from \"../../../helpers/DateHelper\";\r\nimport axios from \"axios\";\r\nimport \"./patient-details.css\";\r\n\r\n\r\n\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\n\r\n\r\n\r\n\r\ntype stateType = {\r\n state: {\r\n patientAccess: IPatientAccessRequest;\r\n };\r\n};\r\nconst PatientAccessRequestsDetails: FC<{ name?: string }> = ({ name }) => {\r\n\r\n\r\n const { id } = useParams<{ id?: string | undefined }>();\r\n const { state } = useLocation();\r\n const patientDetail: IPatientAccessRequest = state.state.patientAccess;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState();\r\n const [patientAccess, setpatientAccess] = useState(null);\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n PatientAccessRequestService.getPatientAccessRequestById(patientDetail.patientAccessRequestID, accessToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setpatientAccess(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n if (patientDetail === undefined || Object.keys(patientDetail).length === 0) {\r\n return ;\r\n } else {\r\n let headerName = { name: name + \" > Details\" };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n
\r\n

Patient Access Request Details

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
ID
\r\n
{patientDetail.patientAccessRequestID}
\r\n
Patient's First Name
\r\n
{patientDetail.patientFirstName}
\r\n
Patient's Last Name
\r\n
{patientDetail.patientLastName}
\r\n
On Behalf of (Doctor's Name)
\r\n
{patientDetail.onBehalfPhysicianName}
\r\n
Status
\r\n
{patientDetail.requestStatus}
\r\n
Requested By
\r\n
{patientDetail.createdBy}
\r\n
Requested on
\r\n
{patientDetail?.createdOn!= null ? `${patientDetail?.createdOn.split(\"T\")[0]} ${patientDetail?.createdOn.split(\"T\")[1]}`:<>}
\r\n\r\n
Last Modified By
\r\n
{patientDetail.modifiedBy}
\r\n
Last Modified
\r\n
{patientDetail?.modifiedOn!=null ?`${patientDetail?.modifiedOn.split(\"T\")[0]} ${patientDetail?.modifiedOn.split(\"T\")[1]}`:<>}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n};\r\n\r\nexport default PatientAccessRequestsDetails;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { useLocation, useParams, Redirect } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport IPatientAccessRequest from \"../../../types/IPatientAccessRequest\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport Loader from \"../../common/Loader\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport \"./patient-details.css\";\r\nimport { getFormattedDate } from \"../../../helpers/DateHelper\";\r\nimport IReferralFormDropdownData from \"../../../types/IReferralFormDropdownData\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport axios from \"axios\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateFromDate,\r\n getFormattedDateTime\r\n} from \"../../../helpers/DateHelper\";\r\n\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\n\r\ntype stateType = {\r\n state: {\r\n patientAccess: IPatientAccessRequest;\r\n };\r\n};\r\nconst PatientAccessRequestsEdit: FC<{ name?: string }> = ({ name }) => {\r\n const [referralFormDropdownData, setReferralFormDropdownData] =\r\n useState();\r\n const { state } = useLocation();\r\n\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const patientDetail: IPatientAccessRequest = state.state.patientAccess;\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [formData, setFormData] = useState({\r\n patientAccessRequestID: patientDetail.patientAccessRequestID,\r\n patientFirstName: patientDetail.patientFirstName,\r\n patientLastName: patientDetail.patientLastName,\r\n patientDob: (patientDetail.patientDob != null || patientDetail.patientDob != undefined) ? new Date(patientDetail.patientDob).toISOString():null,\r\n patientMRN: patientDetail.patientMRN,\r\n patientGenderId: patientDetail.patientGenderId,\r\n onBehalfPhysicianId: patientDetail.onBehalfPhysicianID,\r\n requestStatus: patientDetail.requestStatus,\r\n notes: patientDetail.notes,\r\n });\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState();\r\n const [patientAccess, setpatientAccess] = useState(null);\r\n\r\n useEffect(() => {\r\n ReferralService.getReferralFormDataList(accessToken)\r\n .then((response) => {\r\n setReferralFormDropdownData(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n });\r\n }, []);\r\n\r\n const handleOnChange = (e: any, key: any) => {\r\n let data: any = formData;\r\n if (key === \"patientGenderId\" || key === \"onBehalfPhysicianId\") {\r\n data[key] = Number(e.target.value);\r\n } else if (key === \"requestStatus\") {\r\n data[key] = e.target.value;\r\n } else {\r\n data[key] = e.target.value;\r\n }\r\n setFormData(data);\r\n };\r\n const handleDefaultValue = (type: any, key: any) => {\r\n if (type === \"select\") {\r\n if (key === \"onBehalfPhysicianId\") {\r\n return patientDetail.onBehalfPhysicianID;\r\n }\r\n if (key === \"patientGenderId\") {\r\n return patientDetail.patientGenderId;\r\n }\r\n if (key === \"requestStatus\") {\r\n return patientDetail.requestStatus;\r\n }\r\n } else {\r\n if (key === \"patientDob\") {\r\n var dateDefaultValue = new Date(patientDetail.patientDob);\r\n dateDefaultValue.setDate(dateDefaultValue.getDate());\r\n var date = dateDefaultValue.toISOString().substring(0,10);\r\n return date;\r\n }\r\n if (key === \"patientFirstName\") {\r\n return patientDetail.patientFirstName;\r\n }\r\n if (key === \"patientLastName\") {\r\n return patientDetail.patientLastName;\r\n }\r\n\r\n if (key === \"patientMRN\") {\r\n return patientDetail.patientMRN;\r\n }\r\n if (key === \"notes\") {\r\n return patientDetail.notes;\r\n }\r\n }\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n setLoading(true);\r\n PatientAccessRequestService.editPatientAccessRequest(formData, accessToken)\r\n .then((response) => {\r\n \r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setRedirect({ redirect: true, message: \"\" });\r\n setLoading(false)\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n };\r\n\r\n let form = require(\"../../../data/editPatientAccessRequest.json\");\r\n const DEFAULT_OPTION = \"Please make a selection...\";\r\n\r\n const { onBehalfPhysicianId } = form;\r\n\r\n form = {\r\n ...form,\r\n onBehalfPhysicianId: {\r\n ...onBehalfPhysicianId,\r\n value: ([{ id: \"\", display: DEFAULT_OPTION }] as any[])\r\n .concat(referralFormDropdownData?.physicians)\r\n .map((display: any) => {\r\n if (display !== undefined) {\r\n return {\r\n value: display.id,\r\n display: display.display,\r\n };\r\n }\r\n }),\r\n },\r\n };\r\n\r\n if (\r\n referralFormDropdownData === undefined ||\r\n Object.keys(referralFormDropdownData).length === 0\r\n ) {\r\n return ;\r\n }\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n let headerName = { name: name + \" > Edit\" };\r\n\r\n return (\r\n <>\r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n

\r\n Edit Patient Access Request\r\n

\r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n ID\r\n \r\n \r\n {patientDetail.patientAccessRequestID}\r\n \r\n \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"select\" && key === \"requestStatus\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ):value.type === \"select\" && key === \"onBehalfPhysicianId\" ? null\r\n : value.type === \"select\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"date\" && key === \"patientDob\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n defaultValue={handleDefaultValue(value.type, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n defaultValue={handleDefaultValue(value.type, key)}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n On Behalf Of (Doctor's Name)\r\n \r\n \r\n {patientDetail.onBehalfPhysicianName}\r\n \r\n \r\n\r\n \r\n \r\n Requested By\r\n \r\n \r\n {patientDetail.createdBy}\r\n \r\n \r\n\r\n \r\n \r\n Requested On\r\n \r\n\r\n \r\n {patientDetail?.createdOn!= null ? `${patientDetail?.createdOn.split(\"T\")[0]} ${patientDetail?.createdOn.split(\"T\")[1]}`:null}\r\n \r\n \r\n\r\n \r\n \r\n Last Modified By\r\n \r\n \r\n {patientDetail.modifiedBy}\r\n \r\n \r\n\r\n \r\n \r\n Last Modified\r\n \r\n \r\n {patientDetail?.modifiedOn!=null?`${patientDetail?.modifiedOn.split(\"T\")[0]} ${patientDetail?.modifiedOn.split(\"T\")[1]}`:<>}\r\n \r\n \r\n\r\n \r\n \r\n \r\n Submit\r\n \r\n \r\n \r\n \r\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 PatientAccessRequestsEdit;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { Calendar, momentLocalizer, Views } from \"react-big-calendar\";\r\nimport moment from \"moment\";\r\nimport \"./practice-appointments.css\";\r\nimport * as dates from \"../../../helpers/dates\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"react-big-calendar/lib/css/react-big-calendar.css\";\r\nimport { IPracticeAppointment } from \"../../../types/IPracticeAppointment\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PracticeAppointmentModal from \"./components/PracticeAppointmentModal\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport Loader from \"../../common/Loader\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport { getFormattedDateFromDate, getFormattedDateFromDateTime } from \"../../../helpers/DateHelper\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\n// import 'react-big-calendar/lib/sass/styles';\r\nconst localizer = momentLocalizer(moment);\r\nlet allViews = Object.keys(Views).map((k) => Views[k]);\r\n\r\nconst indivisualEventComponent: FC<{ children?: string }> = ({ children }) => {\r\n return
{children}
;\r\n};\r\nconst LegendForCalendar= () =>{\r\n \r\n return (\r\n \r\n {\"Legend: \"}\r\n \r\n \r\n No Show\r\n \r\n \r\n Cancelled\r\n \r\n \r\n {\"All Day\"}\r\n \r\n \r\n );\r\n //\r\n \r\n}\r\nconst CustomEvent = (event: any) => {\r\n var options = { hour12: false};\r\n if (event.event.SURGERY_IND == 1 || event.event.RADIOLOGY_IND == 1) {\r\n return (\r\n \r\n {event.event.title}\r\n \r\n );\r\n }\r\n return (\r\n \r\n {\" \"}\r\n \r\n {\" \"}\r\n {event.event.start.toLocaleTimeString('en-US',options).slice(0, -3)}\r\n {\" \"}\r\n {event.event.title}\r\n \r\n );\r\n};\r\n\r\nconst dateConverter = (dateStr: string) => {\r\n return new Date(dateStr);\r\n};\r\n\r\nconst MyAppointment = () => {\r\n var date = new Date();\r\n const [practiceAppointments, setPracticeAppointments] =\r\n useState();\r\n const [showModal, setShowModal] = useState(false);\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [searched, setSearched] = useState(0);\r\n const [searchResult, setSearchResult] = useState([]);\r\n const [selectedSearchResult, setSelectedSearchResult] = useState({\r\n value: \"\",\r\n display: \"\",\r\n });\r\n const [loading, setLoading] = useState(true);\r\n const [selectedEvent, setSelectedEvent] = useState(undefined);\r\n const [startDate, setStartDate] = useState(getFormattedDateFromDate(new Date(date.getFullYear(), date.getMonth(), 1)));\r\n const [actualStartDate, setActualStartDate] = useState(getFormattedDateFromDate(new Date(date.getFullYear(), date.getMonth(), 1)));\r\n\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [appointments, setAppointments] = useState([]);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [viewType , setViewType] = useState(\"month\")\r\n const createAppointmentsArray = (\r\n practiceAppointments?: IPracticeAppointment\r\n ): any[] => {\r\n let appointements: any[] = [];\r\n if (practiceAppointments === undefined) {\r\n \r\n return [] \r\n }\r\n practiceAppointments.RPTDATA.FUTURE_VISITS.map((item) => {\r\n if (item.PATIENT_NAME.toLowerCase().includes(searchText.toLowerCase())) {\r\n let obj = {\r\n id: item.EVENT_ID,\r\n title: item.PATIENT_NAME,\r\n allDay: item.RADIOLOGY_IND || item.SURGERY_IND ? true : false,\r\n state: item.STATE,\r\n start: dateConverter(item.BEG_DT_TM),\r\n end: dateConverter(item.END_DT_TM),\r\n SURGERY_IND: item.SURGERY_IND,\r\n RADIOLOGY_IND: item.RADIOLOGY_IND,\r\n resources: item.RESOURCE,\r\n type: item.TYPE,\r\n physician: item.PHYSICIAN_NAME,\r\n role: item.P_PERSON_PRSNL_R_DISP,\r\n location: item.LOCATION,\r\n };\r\n\r\n appointements.push(obj);\r\n }\r\n });\r\n setAppointments(appointements)\r\n return appointements;\r\n };\r\n useEffect(() => {\r\n var sd = new Date(startDate)\r\n var asd = new Date(actualStartDate)\r\n if(sd.getMonth() <= asd.getMonth() && sd.getFullYear() == asd.getFullYear()){\r\n setLoading(true)\r\n PatientService.getMyAppointments(startDate, accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n\r\n setPracticeAppointments(response.data);\r\n createAppointmentsArray(response.data)\r\n setActualStartDate(startDate)\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n }\r\n \r\n }, [startDate]);\r\n useEffect(() => {\r\n \r\n createAppointmentsArray(practiceAppointments)\r\n \r\n \r\n }, [searchText]);\r\n return (\r\n
\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {}}\r\n onTextChange={(text) => setSearchText(text)}\r\n />\r\n
\r\n
\r\n
\r\n {LegendForCalendar()}\r\n
\r\n {\r\n if (prevOrNext === \"PREV\") {\r\n setStartDate(\r\n (focusDate.getMonth() + 1) +\r\n \"/\" +\r\n (1) +\r\n \"/\" +\r\n focusDate.getFullYear()\r\n );\r\n setApiCallCount((c) => c + 1);\r\n }\r\n }}\r\n events={appointments}\r\n views={[\"month\", \"day\", \"week\"]}\r\n onView={(v:string) => {\r\n setViewType(v)\r\n }}\r\n step={10}\r\n showMultiDayTimes\r\n max={dates.add(dates.endOf(new Date(2022, 1, 1), \"day\"), -1, \"hours\")}\r\n defaultDate={new Date()}\r\n onSelectEvent={(event: any) => {\r\n setSelectedEvent(event);\r\n setShowModal(true);\r\n }}\r\n components={{\r\n event: viewType == \"month\" ? CustomEvent : null,\r\n }}\r\n eventPropGetter={(\r\n event: any,\r\n start: any,\r\n end: any,\r\n isSelected: any\r\n ) => {\r\n \r\n let newStyle = {\r\n backgroundColor: \"white\",\r\n color: \"var(--color-dark-blue)\",\r\n borderRadius: \"0px\",\r\n // border: \"none\",\r\n borderColor:\"white\",\r\n textDecoration: \"\",\r\n };\r\n \r\n if (event === undefined) {\r\n return {\r\n className: \"\",\r\n style: newStyle,\r\n };\r\n }\r\n \r\n if(event.state == \"No Show\"){\r\n newStyle.backgroundColor = \"#ff7f00\";\r\n newStyle.color = \"white\"\r\n }\r\n if (event.state === \"Canceled\") {\r\n newStyle.color = \"#000\";\r\n newStyle.textDecoration = \"line-through\";\r\n }\r\n if(viewType == \"day\" || viewType == \"week\"){\r\n newStyle.backgroundColor = \"var(--color-light-blue)\";\r\n newStyle.color = \"white\"\r\n if(event.state === \"Canceled\"){\r\n newStyle.backgroundColor = \"#000\";\r\n newStyle.color = \"white\"\r\n }\r\n if(event.state == \"No Show\"){\r\n newStyle.backgroundColor = \"#ff7f00\";\r\n newStyle.color = \"white\"\r\n }\r\n \r\n }\r\n if (event.RADIOLOGY_IND == 1 || event.SURGERY_IND == 1) {\r\n newStyle.backgroundColor = \"#0D9DDB\";\r\n newStyle.color = \"white\";\r\n }\r\n \r\n return {\r\n className: \"\",\r\n style: newStyle,\r\n };\r\n }}\r\n localizer={localizer}\r\n />\r\n
\r\n {\r\n setShowModal(false);\r\n }}\r\n selectedEvent={selectedEvent}\r\n />\r\n
\r\n );\r\n};\r\n\r\nexport default MyAppointment;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport IAllAccounts, { AccountRolePerPractice } from \"../../../../types/IAllAccounts\";\r\nimport IAllAccountsRoles from \"../../../../types/IAllRoles\";\r\nimport IPatientAccessQuery from \"../../../../types/IPatientAccessQuery\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { MDBDataTable } from \"mdbreact\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport AccountService from \"../../../../services/AccountService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport {\r\n getFormattedDate,\r\n getFormattedTime,\r\n getFormattedDateTime,\r\n getFormattedDateFromDate,\r\n getFormattedDateFromDateTime,\r\n getFormattedDateTimeFromDateTime,\r\n getFormattedTimeFromDateTime\r\n} from \"../../../../helpers/DateHelper\";\r\n\r\n\r\n\r\n\r\nimport \"./all-accounts.css\";\r\n\r\ntype stateType = {\r\n state: {\r\n account: IAllAccounts;\r\n };\r\n};\r\n\r\n\r\nconst AllAccountsList: FC<{\r\n allAccounts: IAllAccounts[];\r\n query: IPatientAccessQuery;\r\n}> = ({ allAccounts, query }) => {\r\n // const history = useHistory();\r\n const [tableRows, setTableRows] = useState([]);\r\n const history = useHistory();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [error, setError] = useState();\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n\r\n useEffect(() => {\r\n if (allAccounts) {\r\n setTableRows(assembleData());\r\n }\r\n\r\n }, [allAccounts]);\r\n\r\n\r\n const onEditClick = (account: IAllAccounts) => {\r\n history.push(`/account/modify/${account.userId}`, { state: { account } });\r\n };\r\n\r\n const onDetailClick = (account: IAllAccounts) => {\r\n history.push(`/account/detail/${account.userId}`, { state: { account } });\r\n };\r\n\r\n const assembleData: any = () => {\r\n let isTrue = false;\r\n let patients = allAccounts.map((account) => {\r\n let domain = account.email?account.email.substring(account.email.lastIndexOf(\"@\") + 1):null;\r\n if (domain === \"chla.usc.edu\".toLowerCase()) {\r\n isTrue = true;\r\n } else {\r\n isTrue = false;\r\n }\r\n\r\n\r\n return {\r\n firstName: account.firstName!=null?account.firstName.trim():null,\r\n lastName: account.lastName!=null?account.lastName.trim():null,\r\n email: account.email,\r\n practice: account?.accountRolePerPractice?.map(\r\n (practice: AccountRolePerPractice) => {\r\n return

{practice?.practiceName}

;\r\n }\r\n ),\r\n role: account?.accountRolePerPractice?.map(\r\n (role: AccountRolePerPractice) => {\r\n return

{role?.roleName}

;\r\n }\r\n ),\r\n lastLoggedIn: (`${getFormattedDateFromDate(account?.lastLoggedIn?.split('T')[0])} ${getFormattedTimeFromDateTime(account.lastLoggedIn)}`),\r\n button: isTrue ? (\r\n onDetailClick(account)}\r\n title=\"Details\"\r\n variant=\"primary\"\r\n small\r\n width=\"auto\"\r\n />\r\n ) : (\r\n onEditClick(account)}\r\n title=\"Edit\"\r\n variant=\"primary\"\r\n small\r\n width=\"auto\"\r\n />\r\n ),\r\n };\r\n });\r\n return patients;\r\n };\r\n const data = {\r\n columns: [\r\n {\r\n label: \"First Name\",\r\n field: \"firstName\",\r\n sort: \"asc\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Last Name\",\r\n field: \"lastName\",\r\n sort: \"asc\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Email\",\r\n field: \"email\",\r\n sort: \"disabled\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Practices\",\r\n field: \"practice\",\r\n sort: \"disabled\",\r\n width: 100,\r\n },\r\n {\r\n label: \"Role(s)\",\r\n field: \"role\",\r\n sort: \"disabled\",\r\n width: 50,\r\n },\r\n {\r\n label: \"Last Login\",\r\n field: \"lastLoggedIn\",\r\n sort: \"asc\",\r\n width: 50,\r\n },\r\n {\r\n label: \"\",\r\n field: \"button\",\r\n sort: \"disabled\",\r\n width: 50,\r\n },\r\n ],\r\n rows: tableRows,\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AllAccountsList;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IAccountRequests, { AccountRequest } from \"../types/IAccountRequests\";\r\nimport IAllAccountsRoles from \"../types/IAllRoles\";\r\nimport INewPracticeRequest from \"../types/INewPracticeRequest\";\r\nimport IInviteNonPhysician from \"../types/IInviteNonPhysician\";\r\nimport IInvitePhysician from \"../types/IInvitePhysician\";\r\nimport IPaginationQuery from \"../types/IPaginationQuery\";\r\nimport IPatientAccessQuery from \"../types/IPatientAccessQuery\";\r\nimport IUserName from \"../types/IUserName\";\r\nimport ISentInvitations from \"../types/ISentInvitations\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getAllAccountsList = async (\r\n data: IPatientAccessQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/account/allaccounts`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\n const loginAsValidator = async (\r\n data: {email:string},\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/confirm/loginas`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst loginAsInitiate = async (\r\n data: {email:string},\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/loginas`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getUserAccount = async (\r\n data: IUserName,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/getuseraccount`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getVerifyOktaQuestion = async (\r\n data: IUserName,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/verifysecurityquestion`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst requestPasswordReset = async (\r\n data: IUserName,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/requestpasswordreset`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst generateTempPassword = async (\r\n data: IUserName,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/generatetemppassword`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst resetMFA = async (\r\n data: IUserName,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/resetmfa`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst accountStatus = async (\r\n data: IUserName,\r\n token?: string,\r\n cancelToken?: CancelTokenSource,\r\n status?: string\r\n) => {\r\n let oktaStatus = \"\";\r\n if (status === \"STAGED\" || status === \"PROVISIONED\") {\r\n oktaStatus = \"reactivateaccount\";\r\n }\r\n if (status === \"ACTIVE\") {\r\n oktaStatus = \"suspenduser\";\r\n }\r\n if (status === \"LOCKED_OUT\") {\r\n oktaStatus = \"unlockaccount\";\r\n }\r\n if (status === \"SUSPEND\") {\r\n oktaStatus = \"suspenduser\";\r\n }\r\n if (status === \"SUSPENDED\") {\r\n oktaStatus = \"unsuspenduser\";\r\n }\r\n\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/${oktaStatus}`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\nconst getAllAccountRoles = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/Account/allroles`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst editAccountsList = async (data: any, token?: string) => {\r\n const result = await axios.put(`${API_BASE_URL}/Account/editaccount`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n \r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n \r\n });\r\n return result;\r\n};\r\n\r\nconst removePhysician = async (\r\n data: {\r\n practiceId: number;\r\n physicianId: number;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{}>(\r\n `${API_BASE_URL}/account/removephysician`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\n\r\nconst removeNonPhysician = async (\r\n data: {\r\n practiceId: number;\r\n userId: string;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{}>(\r\n `${API_BASE_URL}/account/removenonphysician`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\n\r\nconst invitePhysician = async (\r\n data: IInvitePhysician,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{}>(\r\n `${API_BASE_URL}/account/invite/physician`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\n\r\nconst inviteNonPhysician = async (\r\n data: IInviteNonPhysician,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{}>(\r\n `${API_BASE_URL}/account/invite/nonphysician`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\n\r\nconst newAccountRequest = async (data: any) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/newaccountrequest`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n \r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n },\r\n \r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getAccountRequests = async (\r\n query: IPaginationQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/account/accountrequests`,\r\n query,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getSentInvitations = async (\r\n query: IPaginationQuery,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/account/sentinvitations`,\r\n query,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst editAccountRequest = async (\r\n data: AccountRequest,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/Account/accountrequest`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst emailExists = async (\r\n data: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/account/emailexists`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst reinvite = async (\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/Account/invitefromrequest`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst removeEmbassyMember = async (\r\n data: {\r\n embassyId: number;\r\n userId: string;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{}>(\r\n `${API_BASE_URL}/account/removeEmbassyMember`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\nconst AccountService = {\r\n getAllAccountsList,\r\n getUserAccount,\r\n getAllAccountRoles,\r\n editAccountsList,\r\n getVerifyOktaQuestion,\r\n requestPasswordReset,\r\n generateTempPassword,\r\n resetMFA,\r\n accountStatus,\r\n removePhysician,\r\n removeNonPhysician,\r\n invitePhysician,\r\n inviteNonPhysician,\r\n newAccountRequest,\r\n getAccountRequests,\r\n getSentInvitations,\r\n editAccountRequest,\r\n emailExists,\r\n reinvite,\r\n loginAsValidator,\r\n loginAsInitiate,\r\n removeEmbassyMember,\r\n};\r\n\r\nexport default AccountService;\r\n","import { FC, useEffect, useState, useRef, useCallback } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport IRouteState from \"../../../types/IRouteState\";\r\nimport IAllAccounts from \"../../../types/IAllAccounts\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatientAccessQuery from \"../../../types/IPatientAccessQuery\";\r\nimport PatientAccessRequestList from \"../myPatients/components/PatientAccessRequestList\";\r\nimport AllAccountsList from \"../allAccounts/components/AllAccountsList\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst AllAccounts: FC<{ name?: string }> = ({ name }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n\r\n const [allAccounts, setallAccounts] = useState([]);\r\n\r\n const [message, setMessage] = useState(false);\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [query, setQuery] = useState({\r\n searchterm: \"\",\r\n });\r\n\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [error, setError] = useState();\r\n const location = useLocation();\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n AccountService.getAllAccountsList(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n console.log(response);\r\n setallAccounts(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSearch = (searchText: string) => {\r\n setQuery({\r\n searchterm: searchText,\r\n });\r\n };\r\n\r\n return (\r\n
\r\n \r\n
\r\n

{name}

\r\n
\r\n\r\n
\r\n navigateToPage(1)}\r\n onTextChange={handleSearch}\r\n />\r\n\r\n
\r\n
\r\n <>\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n {allAccounts.length === 0 ? (\r\n !loading ? (\r\n
No Record Found
\r\n ) : 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};\r\n\r\nexport default AllAccounts;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { useLocation, useParams, Redirect } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport IAllAccounts from \"../../../types/IAllAccounts\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport Loader from \"../../common/Loader\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport { Form, Col, Button, Table } from \"react-bootstrap\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport IPatientAccessQuery from \"../../../types/IPatientAccessQuery\";\r\nimport IUserName from \"../../../types/IUserName\"\r\nimport IAllAccountsRoles from \"../../../types/IAllRoles\";\r\nimport axios from \"axios\";\r\nimport '../allAccounts/components/all-accounts.css';\r\nimport {\r\n getFormattedDate,\r\n getFormattedTime,\r\n getFormattedDateFromDateTime,\r\n getFormattedTimeFromDateTime,\r\n getFormattedDateFromDate\r\n} from \"../../../helpers/DateHelper\";\r\nimport IReferralFormDropdownData from \"../../../types/IReferralFormDropdownData\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\n\r\ntype stateType = {\r\n state: {\r\n account: IAllAccounts;\r\n allAccountsRoles?: any\r\n };\r\n};\r\n\r\n\r\nconst AllAccountsListEdit: FC<{ name?: string }> = ({ name }) => {\r\n const { state } = useLocation();\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const accountEdit: IAllAccounts = state.state.account;\r\n const allRoles = state.state.allAccountsRoles;\r\n\r\n const DEFAULT_VALUE = \"\";\r\n\r\n const [formData, setFormData] = useState({});\r\n const [query, setQuery] = useState({\r\n userName: accountEdit.email\r\n });\r\n const [securityQuestion, setSecurityQuestion] = useState({\r\n userName: accountEdit.email,\r\n answer: \"\"\r\n });\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(true);\r\n const [loadingOKTAVerify, setLoadingOKTAVerify] = useState(false);\r\n const [statusOKTA, setStatusOKTA] = useState('');\r\n const [oktaAnswer, setOktaAnswer] = useState('');\r\n const [error, setError] = useState();\r\n const [tempPassword, setTempPassword] = useState(\"\");\r\n const cancelToken = axios.CancelToken.source();\r\n const [allAccountsDetail, setallAccountsDetail] = useState({});\r\n const [securityAnswerOKTA, setSecurityAnswerOKTA] = useState();\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n\r\n\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n // POST endpoint for getting all account details\r\n AccountService.getUserAccount(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setallAccountsDetail(response.data);\r\n setStatusOKTA(response.data.accountStatus);\r\n setFormData(response.data)\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleOnChange = ((type: any, e: any, key: any) => {\r\n \r\n let data: any = formData;\r\n data[key] = e.target.value;\r\n setFormData(data);\r\n\r\n });\r\n\r\n const handleOnChangeOKTAVerify = ((e: any) => {\r\n \r\n setSecurityQuestion({ userName: accountEdit.email, answer: e.target.value });\r\n });\r\n const handleDefaultValue = (type: any, key: any) => {\r\n let finalValue = DEFAULT_VALUE;\r\n\r\n if (key === \"firstName\") {\r\n return allAccountsDetail.firstName;\r\n }\r\n if (key === \"lastName\") {\r\n return allAccountsDetail.lastName;\r\n }\r\n if (key === \"mobilePhoneNumber\") {\r\n return allAccountsDetail.mobilePhoneNumber;\r\n }\r\n if (key === \"officePhoneNumber\") {\r\n return allAccountsDetail.officePhoneNumber;\r\n }\r\n if (key === \"email\") {\r\n return allAccountsDetail.email;\r\n }\r\n };\r\n\r\n const SecurityAnswerOKTAVerify = () => {\r\n setLoadingOKTAVerify(true);\r\n // POST endpoint for Security Answer verify\r\n AccountService.getVerifyOktaQuestion(securityQuestion, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setSecurityAnswerOKTA(response.data);\r\n setLoadingOKTAVerify(false);\r\n\r\n\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoadingOKTAVerify(false);\r\n\r\n });\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n\r\n }\r\n const onPasswordReset = () => {\r\n setLoading(true);\r\n\r\n AccountService.requestPasswordReset(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n if (response.status == 200) {\r\n setRedirect({ redirect: false, message: \"onPasswordReset\" });\r\n setLoading(false);\r\n\r\n }\r\n\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setRedirect({ redirect: false, message: \"errorLinks\" });\r\n setLoading(false);\r\n\r\n\r\n });\r\n\r\n }\r\n const onTemporaryPasswordClick = () => {\r\n setLoading(true);\r\n\r\n AccountService.generateTempPassword(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n if (response.status == 200) {\r\n setTempPassword(response.data)\r\n setRedirect({ redirect: false, message: \"onTemporaryPasswordClick\" });\r\n setLoading(false);\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setRedirect({ redirect: false, message: \"errorLinks\" });\r\n setLoading(false);\r\n\r\n\r\n });\r\n\r\n }\r\n\r\n const onResetMFA = () => {\r\n setLoading(true);\r\n\r\n AccountService.resetMFA(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n if (response.status == 200) {\r\n setRedirect({ redirect: false, message: \"onResetMFA\" });\r\n setLoading(false);\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setRedirect({ redirect: false, message: \"errorLinks\" });\r\n setLoading(false);\r\n\r\n });\r\n }\r\n\r\n const accountStatusOnClick = (status: string) => {\r\n setLoading(true);\r\n AccountService.accountStatus(query, accessToken, cancelToken, status)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n if (response.status == 200) {\r\n setStatusOKTA(status);\r\n setLoading(false);\r\n navigateToPage(1);\r\n\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setRedirect({ redirect: false, message: \"errorLinks\" });\r\n setLoading(false);\r\n\r\n });\r\n\r\n }\r\n\r\n\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n\r\n AccountService.editAccountsList(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n };\r\n\r\n let form = require(\"../../../data/editAllAccount.json\");\r\n\r\n let verifyMessage;\r\n\r\n if (securityAnswerOKTA === true) {\r\n verifyMessage =
Correct
\r\n\r\n }\r\n else if (securityAnswerOKTA === false) {\r\n verifyMessage =
Not Correct
\r\n }\r\n else {\r\n verifyMessage = <>\r\n }\r\n\r\n\r\n\r\n\r\n if (redirect?.redirect) {\r\n return (\r\n \r\n );\r\n }\r\n else {\r\n let headerName = { name: name + \" > Edit\" };\r\n\r\n return (\r\n <>\r\n \r\n\r\n\r\n\r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n\r\n ) : redirect.message === \"onPasswordReset\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n {`A Reset Password link has been sent to the email address ${accountEdit.email}. Please advise user to check the inbox ( or Spam folder ) and follow the instructions in the email.`}\r\n \r\n \r\n ) :\r\n redirect.message === \"onTemporaryPasswordClick\" ? (<>\r\n {window.scrollTo(0, 0)}\r\n \r\n {`User's Temporary Password: ${tempPassword}`}\r\n \r\n )\r\n : redirect.message === \"onResetMFA\" ? (<>\r\n {window.scrollTo(0, 0)}\r\n \r\n {`User's MFA factors have been reset. User will be prompted for new factors the next time they log in.`}\r\n \r\n )\r\n : redirect.message === \"errorLinks\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Something went wrong, please try again!\r\n \r\n \r\n\r\n ) : <>\r\n }\r\n {loading ? (\r\n
\r\n
\r\n \r\n
\r\n
\r\n ) :\r\n (Object.keys(allAccountsDetail).length === 0)\r\n ? (<>\r\n \r\n {`User is not in OKTA`}\r\n \r\n \r\n\r\n ) : (\r\n
\r\n\r\n
\r\n\r\n
\r\n
\r\n

\r\n {`Account Edit | ${allAccountsDetail.firstName} ${allAccountsDetail.lastName}`}\r\n

\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n handleOnChange(value.type, e, key)}\r\n type={value.type}\r\n required={value.required}\r\n defaultValue={handleDefaultValue(value.type, key)}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allAccountsDetail.accountRolePerPractice.length === 0 ?
No Record found
: <>}\r\n {allAccountsDetail.accountRolePerPractice?.map((rolePractice: any) => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n\r\n \r\n\r\n
Role(s)Practices
{rolePractice.roleName}{rolePractice.practiceName}
\r\n \r\n
\r\n\r\n \r\n \r\n Email\r\n \r\n \r\n {allAccountsDetail.email}\r\n \r\n \r\n \r\n \r\n Account Status\r\n \r\n \r\n
{statusOKTA === 'LOCKED_OUT' ? {statusOKTA} : statusOKTA === 'ACTIVE' ? {statusOKTA} : statusOKTA === 'SUSPENDED' ? {statusOKTA} : statusOKTA === \"STAGED\" ? {`${statusOKTA} (Pending user action)`} : statusOKTA === \"RECOVERY\" ? {statusOKTA} : statusOKTA === \"PASSWORD_EXPIRED\" ? {statusOKTA} : statusOKTA === \"PROVISIONED\" ? {`${statusOKTA} (Pending user action)`} : statusOKTA}
\r\n {statusOKTA === 'STAGED' || statusOKTA === 'PROVISIONED' || statusOKTA === 'LOCKED_OUT' || statusOKTA === 'SUSPENDED' ? (\r\n <>\r\n accountStatusOnClick(allAccountsDetail.accountStatus)}\r\n title={statusOKTA === 'STAGED' ? 'SEND ACTIVATION EMAIL' : statusOKTA === 'LOCKED_OUT' ? 'UNLOCK' : statusOKTA === 'PROVISIONED' ? 'SEND ACTIVATION EMAIL' : statusOKTA === 'SUSPENDED' ? 'ACTIVATE' : ''}\r\n variant='success'\r\n small\r\n width=\"auto\"\r\n marginLeft=\"10px\"\r\n />\r\n \r\n ) : <>}\r\n {statusOKTA === 'SUSPENDED' ? <> : accountStatusOnClick('SUSPEND')}\r\n title=\"SUSPEND\"\r\n variant=\"danger\"\r\n small\r\n width=\"auto\"\r\n marginLeft=\"10px\"\r\n />}\r\n\r\n\r\n\r\n \r\n
\r\n\r\n \r\n \r\n Last Login\r\n \r\n \r\n {allAccountsDetail.lastLoggedIn !== null ? (\r\n `${getFormattedDateFromDate(allAccountsDetail?.lastLoggedIn?.split('T')[0])} ${getFormattedTimeFromDateTime(allAccountsDetail?.lastLoggedIn)}`\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n Last Modified\r\n \r\n \r\n {allAccountsDetail.lastModifiedOn !== null ? (\r\n `${getFormattedDateFromDate(allAccountsDetail?.lastModifiedOn?.split('T')[0])} ${getFormattedTimeFromDateTime(allAccountsDetail?.lastModifiedOn)}`\r\n ) : (\r\n <>\r\n )}\r\n \r\n \r\n \r\n \r\n Security Question\r\n \r\n \r\n {allAccountsDetail.securityQuestion !== null ? allAccountsDetail.securityQuestion : <>None}\r\n \r\n \r\n {allAccountsDetail.securityQuestion ? (\r\n \r\n \r\n Verify Answer\r\n \r\n \r\n {\r\n handleOnChangeOKTAVerify(e)}\r\n type=\"password\"\r\n />\r\n }\r\n SecurityAnswerOKTAVerify()}\r\n title=\"Verify\"\r\n variant=\"primary\"\r\n small\r\n width=\"auto\"\r\n marginLeft=\"10px\"\r\n />\r\n \r\n {loadingOKTAVerify === true ?
:
{verifyMessage}
}\r\n
\r\n ) : <>}\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n\r\n \r\n {statusOKTA === 'STAGED' || statusOKTA === 'SUSPENDED' || statusOKTA === 'PROVISIONED' ? (\r\n <>\r\n\r\n \r\n ) : <>\r\n onPasswordReset()}\r\n title=\"Send Password Reset Link\"\r\n variant=\"neutral\"\r\n small\r\n width=\"80%\"\r\n />\r\n onTemporaryPasswordClick()}\r\n title=\"Generate Temporary Password\"\r\n variant=\"neutral\"\r\n small\r\n width=\"80%\"\r\n />\r\n onResetMFA()}\r\n title=\"Reset MFA Factors\"\r\n variant=\"neutral\"\r\n small\r\n width=\"80%\"\r\n />\r\n }\r\n\r\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 AllAccountsListEdit;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { useLocation, useParams, Redirect } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport IAllAccounts from \"../../../types/IAllAccounts\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport Loader from \"../../common/Loader\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport { Form, Col, Button, Table } from \"react-bootstrap\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\n\r\n// import \"./patient-details.css\";\r\nimport {\r\n getFormattedDate,\r\n getFormattedTime,\r\n} from \"../../../helpers/DateHelper\";\r\nimport IReferralFormDropdownData from \"../../../types/IReferralFormDropdownData\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport PatientAccessRequestService from \"../../../services/PatientAccessRequestService\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport IUserName from \"../../../types/IUserName\";\r\nimport axios from \"axios\";\r\n\r\n\r\ntype stateType = {\r\n state: {\r\n account: IAllAccounts;\r\n };\r\n};\r\n\r\nconst AllAccountsListDetail: FC<{ name?: string }> = ({ name }) => {\r\n const { state } = useLocation();\r\n\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const accountEdit: IAllAccounts = state.state.account;\r\n const [allAccountsDetail, setallAccountsDetail] = useState({});\r\n\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState();\r\n const [account, setAccount] = useState(null);\r\n const [query, setQuery] = useState({\r\n userName: accountEdit.email\r\n });\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n\r\n\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n // POST endpoint for getting all account details\r\n AccountService.getUserAccount(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setallAccountsDetail(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n\r\n }, [authState]);\r\n\r\n if (redirect?.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n let headerName = { name: name + \" > Detail\" };\r\n\r\n return (\r\n <>\r\n \r\n
\r\n
\r\n
\r\n
\r\n

\r\n {`Account Details | ${accountEdit.firstName} ${accountEdit.lastName}`}\r\n

\r\n \r\n
\r\n
\r\n {loading ? (\r\n
\r\n
\r\n \r\n
\r\n
) : (<>\r\n
\r\n
\r\n
First Name
\r\n
{allAccountsDetail.firstName}
\r\n
Last Name
\r\n
{allAccountsDetail.lastName}
\r\n
Email
\r\n
{allAccountsDetail.email}
\r\n\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {allAccountsDetail.accountRolePerPractice?.map((rolePractice: any) => {\r\n return (\r\n \r\n \r\n \r\n \r\n )\r\n })}\r\n \r\n
Role(s)Practices
{rolePractice.roleName}{rolePractice.practiceName}
\r\n
\r\n
Account Status
\r\n
{allAccountsDetail.accountStatus}
\r\n
Mobile Phone
\r\n
{allAccountsDetail.mobilePhoneNumber}
\r\n
Office Phone
\r\n
{allAccountsDetail.officePhoneNumber}
\r\n
Modified On
\r\n
\r\n {allAccountsDetail.lastModifiedOn !== null ? (\r\n getFormattedTime(allAccountsDetail.lastModifiedOn?.split(\"T\")[0])\r\n ) : (\r\n <>\r\n )}\r\n
\r\n
Last Logged In
\r\n
\r\n {allAccountsDetail.lastLoggedIn !== null ? (\r\n `${getFormattedTime(\r\n allAccountsDetail.lastLoggedIn?.split(\"T\")[0]\r\n )} `\r\n ) : (\r\n <>\r\n )}\r\n
\r\n\r\n
\r\n
\r\n )}\r\n\r\n
\r\n
\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default AllAccountsListDetail;\r\n","import { FieldProps } from \"formik\";\r\nimport { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { Typeahead } from \"react-bootstrap-typeahead\";\r\nimport IFormDropdownOption from \"../../types/IFormDropdownOption\";\r\n\r\nconst CustomInputFormik: FC = ({ field, form, ...props }) => {\r\n //\r\n const {\r\n label,\r\n required,\r\n nonEditable,\r\n type,\r\n disabled,\r\n options,\r\n placeholder,\r\n selectedItem ,\r\n defaultValue = \"\",\r\n itemSelected = false,\r\n onChange = (selectedItem : any) =>{\r\n\r\n }\r\n }: any = props;\r\n const isInvalid =\r\n form.errors[field.name] && form.touched[field.name] ? true : false;\r\n\r\n const renderInput = () => {\r\n if (nonEditable) {\r\n return
{field.value}
;\r\n } else {\r\n switch (type) {\r\n case \"textarea\":\r\n return ;\r\n case \"checkbox\":\r\n return (\r\n \r\n );\r\n\r\n\r\n case \"select\":\r\n return (\r\n \r\n {options &&\r\n options.map((o: IFormDropdownOption) => (\r\n \r\n ))}\r\n \r\n );\r\n case \"typeahead\":\r\n return (\r\n (o.display === field.value || o.id === field.value))}\r\n defaultSelected={options?.filter((o: any) => (o.display === field.value || o.id === field.value))}\r\n // selected={!itemSelected ? undefined : selectedItem !== undefined ? [selectedItem] : options?.filter((o: any) => (o.display === field.value || o.id === field.value))}\r\n // defaultSelected={selectedItem !== undefined ? [selectedItem] : options?.filter((o: any) => (o.display === field.value || o.id === field.value))}\r\n labelKey=\"display\"\r\n onChange={(selected: any) => {\r\n onChange(selected)\r\n form.setFieldValue(\r\n field.name,\r\n selected !== undefined && selected.length > 0\r\n ? selected[0].id\r\n : \"\"\r\n )\r\n\r\n }\r\n }\r\n />\r\n );\r\n default:\r\n return e.target.blur()} isInvalid={isInvalid} {...field} {...props} />;\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {label}\r\n {required ? * : <>}\r\n \r\n
{renderInput()}
\r\n
\r\n
\r\n {isInvalid && form.errors[field.name]}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default CustomInputFormik;\r\n","import { FC, useEffect, useState } from 'react';\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport { Form, Col, Button, Alert } from \"react-bootstrap\";\r\nimport { Field, Formik, Form as FormikForm, ErrorMessage } from \"formik\";\r\nimport * as Yup from 'yup'\r\nimport CustomInputFormik from '../../common/CustomInputFormik';\r\nimport MButton from '../../mButton/MButton';\r\nimport useSessionState from '../../../hooks/useSessionState';\r\nimport AccountService from '../../../services/AccountService';\r\n\r\nimport { Modal } from \"react-bootstrap\";\r\n// import \"./reminder-popup.css\";\r\n\r\nconst ConfirmationPopup:FC<{showModal:boolean;\r\n onClick?: (e?: any) => void;\r\n name:string;\r\n practiceName:string;\r\n onClose:()=>void\r\n}> = ({showModal,name,practiceName,onClick,onClose}) => {\r\n //\r\n const [show, setShow] = useState(showModal);\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n\r\n const handleClose = () => {\r\n onClose()\r\n setShow(false);\r\n }\r\n const handleShow = () => setShow(true);\r\n \r\n\r\n return (\r\n <>\r\n \r\n \r\n Confirm\r\n \r\n \r\n {`Are you sure you want to login as \"${name}\" of practice \"${practiceName}\"?`}\r\n
\r\n {`Please note that your activity will be monitored and logged.`}\r\n
\r\n \r\n
\r\n {\r\n onClick && onClick()\r\n }}\r\n >\r\n Yes\r\n \r\n \r\n No\r\n \r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\nconst LoginAsAnotherUser: FC<{ name?: string }> = (name) => {\r\n // console.log(name)\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(false);\r\n const [showModal, setshowModal] = useState(false);\r\n const [errorMsg, setErrorMsg] = useState(\"The email you entered is invalid.\");\r\n const [userName, setUserName] = useState(\"\");\r\n const [emailId, setEmailId] = useState(\"\");\r\n const [practiceName, setPracticeName] = useState(\"\");\r\n const [loginAsAnotherUser, setLoginAsAnotherUser] = useSessionState(\"loginAsAnotherUser\", false);\r\n const [loginAsAnotherUserEmailId, setLoginAsAnotherUserEmailId] = useSessionState(\"loginAsAnotherUserEmailId\", \"\");\r\n const cancelToken = axios.CancelToken.source();\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n\r\n };\r\n const initialValue = {\r\n \r\n email: \"\",\r\n \r\n };\r\n return (\r\n
\r\n
\r\n

{name.name}

\r\n
\r\n {showModal === true? {\r\n AccountService.loginAsInitiate({email:emailId},accessToken,cancelToken).then((res)=>{\r\n setError(false)\r\n \r\n localStorage.setItem('loginAsFlag',\"true\")\r\n localStorage.setItem('loginAsEmail',emailId)\r\n window.location.href=window.location.origin\r\n }).catch((error)=>{\r\n setError(true)\r\n setErrorMsg(error.response.data.message)\r\n })\r\n }} \r\n onClose={()=>{\r\n setshowModal(false)\r\n }}/>:null}\r\n {error ? (\r\n \r\n {errorMsg}\r\n \r\n ) : (\r\n <>\r\n )}\r\n
\r\n \r\n \r\n {\r\n\r\n AccountService.loginAsValidator({email:email},accessToken,cancelToken).then((res)=>{\r\n setError(false)\r\n setUserName(res.data.firstName + \" \" + res.data.lastName)\r\n setPracticeName(res.data.practiceName) \r\n setEmailId(email)\r\n setshowModal(true)\r\n // localStorage.setItem('loginAsFlag',\"true\")\r\n // localStorage.setItem('loginAsEmail',email)\r\n // window.location.href=window.location.origin\r\n }).catch((error)=>{\r\n setError(true)\r\n setErrorMsg(error.response.data.message)\r\n })\r\n \r\n \r\n\r\n }}\r\n >\r\n {({ touched, errors }) => (\r\n \r\n \r\n \r\n \r\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 LoginAsAnotherUser;","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Loader from \"../../common/Loader\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport IAccountRequests, { AccountRequest } from \"../../../types/IAccountRequests\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport './accountRequest.css';\r\nconst lookBackOptions = require(\"../../../data/accountRequestsLookbackOptions.json\");\r\n\r\nconst AccountRequests: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n\r\n const location = useLocation();\r\n const history = useHistory();\r\n const handleOnClick = (request: AccountRequest) => {\r\n if (isHIM) {\r\n history.push(\"/accountsandaccess/accountrequests/edit/\" + request.accountRequestId, request);\r\n } else {\r\n history.push(\"/practice/accountrequests/details/\" + request.accountRequestId, request);\r\n }\r\n };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [accountRequests, setAccountRequests] = useState();\r\n const [error, setError] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [maxPages, setMaxPages] = useState(0);\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [lookback, setLookback] = useState(lookBackOptions[3].value);\r\n const pageSize = 10;\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n AccountService.getAccountRequests(\r\n {\r\n searchTerm: searchText,\r\n lookBack: lookback,\r\n pageNumber: currentPage,\r\n pageSize: pageSize,\r\n practice: !isHIM\r\n },\r\n accessToken\r\n )\r\n .then((response) => {\r\n setLoading(false);\r\n if(maxPages == 0){\r\n setPages(response.data.totalPages);\r\n setMaxPages(response.data.totalPages);\r\n }\r\n setCurrentPage(response.data.currentPage);\r\n setAccountRequests(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n \r\n setCurrentPage(page);\r\n setAccountRequests(undefined)\r\n window.scrollTo(0, 0);\r\n setApiCallCount((c) => c + 1);\r\n };\r\n\r\n const isHIM = location.pathname === \"/accountsandaccess/accountrequests\";\r\n\r\n return (\r\n
\r\n \r\n
\r\n

{name}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setLookback(e.target.value)\r\n setCurrentPage(1)\r\n setMaxPages(0)\r\n setAccountRequests(undefined)\r\n window.scrollTo(0, 0);\r\n setApiCallCount((c) => c + 1);\r\n }}\r\n options={lookBackOptions}\r\n value={lookback}\r\n initialValue={lookBackOptions[3]}\r\n />\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {\r\n setSearchText(searchText)\r\n setAccountRequests(undefined)\r\n setCurrentPage(1)\r\n setMaxPages(0)\r\n setLookback(-1)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }}\r\n onTextChange={(text) => {\r\n if(text==\"\"){\r\n setSearchText(\"\")\r\n setCurrentPage(1)\r\n setMaxPages(0)\r\n if(accountRequests !== undefined){\r\n setLookback(-1)\r\n }\r\n setAccountRequests(undefined)\r\n\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n setSearchText(text)\r\n }}\r\n />\r\n
\r\n
\r\n {accountRequests?.data.length ==0?
No data found
:\r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Practice\r\n \r\n \r\n \r\n \r\n \r\n \r\n {accountRequests?.data.map((request) => {\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
IDFirst NameLast NameEmailRoleStatus
\r\n {request.accountRequestId}\r\n {request.userFirstName}{request.userLastName}{request.userEmail}{request.practiceName}{request.expectedRole}\r\n {request.accountRequestStatus}\r\n \r\n {\r\n handleOnClick(request);\r\n }}\r\n width={\"fit-content\"}\r\n />\r\n
)}\r\n {accountRequests?.data.length !== 0 ? (\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default AccountRequests;\r\n","import { FC, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\n\r\n\r\nconst UserPrivacyPolicy: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n return (\r\n <>\r\n \r\n
\r\n

User Privacy Policy

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

Children's Hospital Los Angeles respects the privacy of users of its websites, mobile applications, social media channels, and other online-based services (“Online Services”). This User Privacy Policy covers all these Online Services and explains what information is collected about you, how that information may be used, with whom it may be shared, and your choices about such uses and sharing.

\r\n

Please also read Children’s Hospital Los Angeles’ Terms of Use. By using any of the Online Services, you agree to this User Privacy Policy and the Terms of Use.

\r\n WHAT INFORMATION IS COLLECTED\r\n

Children’s Hospital Los Angeles may collect personal information (information that can identify you including, but not limited to, your name, phone number, mailing address, e-mail address, username, password, and credit card information) and non-personal information (information that does not identify you including, but not limited to, information about the browser you are using and the pages visited during a single or multiple visits).

\r\n Information You Provide\r\n

Children's Hospital Los Angeles collects personal information from you as part of online transactions. When you contact Children’s Hospital Los Angeles or fill out online forms while using the Online Services, information is collected to help identify you on return visits to the service, categorize your questions or needs, respond to them, and, if applicable, investigate a breach of the Online Services’ terms and conditions. This information is also used to track potential problems and trends and customize responses to better serve you.

\r\n Information From Other People And About Others\r\n

Children’s Hospital Los Angeles may collect and store personal and non-personal information that has been provided by other people. For example, if your outside physician refers you to Children’s Hospital Los Angeles, personal information provided by that physician about you may be collected and stored. Children’s Hospital Los Angeles may also collect personal information that you have provided about other individuals. For example, if you submit an appointment request for your child, Children’s Hospital Los Angeles may store your personal information and the personal information of your child.

\r\n Information Collected Automatically\r\n
Cookies
\r\n
Cookies are small text files that are stored on your computer or mobile device for record-keeping purposes. Children’s Hospital Los Angeles uses cookies to gather information on what pages you access or visit and what information you provide, such as survey information and online registrations. The use of cookies does not result in the collection of any personal information from you. You may choose to adjust the settings of your web browser to disallow the usage of cookies. However, if you reject cookies from the Online Services, some parts of the Online Services may not work properly.
\r\n
\r\n
Other Technologies
\r\n
Children's Hospital Los Angeles may collect personal and non-personal information about how you use the Online Services including, but not limited to, domain names visited; URLs accessed; URLs of hyperlinked sites from which you came or to which you went; website traffic patterns; searches performed; browsers used; date, frequency, and period of use; server usage statistics; Internet Protocol address; and name of Internet Service Provider. Children’s Hospital Los Angeles also may collect an anonymous identification number if you come to the Online Services from an online advertisement displayed on a third-party website.
\r\n
\r\n HOW INFORMATION MAY BE USED\r\n
Online Donation Information
\r\n

In order to accept your donation or register you for participation in a fundraising event, Children's Hospital Los Angeles asks you to voluntarily provide personal information. This information is used to process your donation or registration, provide you with a receipt or confirmation of your donation, and communicate with you when necessary.

\r\n

Should you wish, you can provide this information by either of the following methods rather than through the Online Services:

\r\n\r\n \r\n \r\n \r\n \r\n
\r\n Phone:\r\n
\r\n \"(800) 817-4543\"\r\n
\r\n
\r\n Mail:\r\n
\r\n \"Foundation Department\"\r\n
\r\n \"Children's Hospital Los Angeles\"\r\n
\r\n \"4650 Sunset Blvd., Mailstop #29\"\r\n
\r\n \"Los Angeles, CA 90027\"\r\n
\r\n
\r\n

Information related to donations made through the Online Services is collected in a database maintained by Children's Hospital Los Angeles and may be used to send you e-mails or mail regarding children health updates, research findings, and other opportunities to support Children's Hospital Los Angeles.

\r\n Communications and Subscriptions\r\n

Children's Hospital Los Angeles may use your personal information to communicate with you. Whether you continue to receive such communications is your choice. You can request to stop communications by either clicking on the “Unsubscribe” link at the bottom of an e-mail, if available, you receive or by contacting Children’s Hospital Los Angeles through one of the means listed in the below “Contact” section of this User Privacy Policy.

\r\n Improvement of Online Services\r\n

Information gathered from cookies and related technologies helps Children’s Hospital Los Angeles improve the content and performance of the Online Services for you; offer online features that are helpful to you; customize the content and layout for you; and contact you to build awareness about its efforts and charitable endeavors. This information also helps diagnose problems with the Online Services.

\r\n \r\n Mobile Services\r\n \r\n

Information gathered from the download or use of any of its mobile applications is sent to Children’s Hospital Los Angeles. This information may be traceable back to you and may be used to identify you. This information may be used for any reasons deemed appropriate by Children’s Hospital Los Angeles including, but not limited to, internal evaluation of mobile services, quality control, and the development of additional supportive mobile-enabled services for product and service improvement.

\r\n User-Submitted Content (Blogs, Bulletin Boards, Reviews, Profiles, etc.)\r\n

Information that you submit using Children’s Hospital Los Angeles’ blog, social media sites, or other online channels should be considered public. Your posts may appear on other websites as the results of searches or through the actions of others who find your content compelling and wish to promote it on the web. Whenever you voluntarily provide personal information on publicly viewable web pages, ¬¬¬that information will be publicly available and can be collected and used by others (for example, if you share your phone number publicly, you may receive unwanted phone calls). Children’s Hospital Los Angeles cannot control who reads your postings or what others may do with the information you post, so please exercise discretion and caution with respect to your personal information. Once you have posted information, you may not be able to edit or delete such information. For more information about its social media terms and conditions, review Children’s Hospital Los Angeles’ Social Media Use policy.

\r\n Online Comments, Surveys, and Feedback Forms\r\n

You may be asked to complete surveys, provide comments, or complete feedback forms when using the Online Services. Children's Hospital Los Angeles uses such information to better understand your needs and preferences and to gather information about health care trends and issues.

\r\n Job Applications\r\n

If you submit personal information to Children’s Hospital Los Angeles through the Online Services to apply for a job, the information will be used in connection with your application. Even if you are not hired, Children’s Hospital Los Angeles may retain your personal information to contact you for any other positions and to help advocate for efforts by Children’s Hospital Los Angeles to protect the health of children.

\r\n WHO INFORMATION MAY BE SHARED WITH\r\n

Children’s Hospital Los Angeles wants you to understand when and with whom it may share your personal and non-personal information. Your information is never sold or rented to others. Children’s Hospital Los Angeles does not share your personal information with others except as indicated below.

\r\n E-mails and Messages\r\n

E-mails and other types of messages that you send to Children's Hospital Los Angeles via the Online Services may be shared with a customer service representative, medical expert, or other representative of Children's Hospital Los Angeles who may or may not be an employee. E-mails that do not require a response are discarded. E-mails that require a response are, once addressed, either archived or deleted, depending on the nature of the inquiry.

\r\n Mailing Lists\r\n

Children’s Hospital Los Angeles may occasionally allow other nonprofit organizations to send mail to its donors. Children’s Hospital Los Angeles carefully screens these organizations and only permits mailings from those nonprofit organizations whose services it believes may be of interest to its supporters. If you do not want to receive such mailings, please contact (800) 817-4543 or foundation@chla.usc.edu to opt out of future mailings.

\r\n Service Providers\r\n

Children's Hospital Los Angeles may share information with third-party service providers who perform data management or other services on its behalf to allow better service to you and other users. Personal information shared with these third-party service providers is closely monitored and is only shared as necessary. These third-party service providers are obligated to Children’s Hospital Los Angeles not to disclose or use your information for other purposes. Children’s Hospital Los Angeles may allow these authorized service providers to serve cookies from the Online Services to allow them to perform various services, such as doing analysis and research on the effectiveness of the Online Services, content, and advertising. Children’s Hospital Los Angeles may share with these service providers your financial information or payment method to process payment for any donations or other transactions you have authorized.

\r\n Analytics\r\n

By using Children’s Hospital Los Angeles’ Online Services, your traffic and browsing patterns are subject to the same level of scrutiny, measurement, cataloguing, and other information gathering that occurs across the Internet via the efforts of third parties such as Google, Bing, and Facebook. Children’s Hospital Los Angeles does not prevent, and is not responsible for, such third parties’ access to the browsing history you develop on the web through your personal use and interactions online.

\r\n Other Situations\r\n

Children’s Hospital Los Angeles may share your information in response to a subpoena or similar investigative demand, a court order, or a request for cooperation from law enforcement or any government agency; to establish or exercise its legal rights, including, but not limited to, efforts to investigate, prevent, or take other action regarding illegal activity, suspected fraud, or other wrongdoing; to protect and defend the rights, property, or safety of Children’s Hospital Los Angeles, its patients, employees, or others; to enforce the Online Services’ terms and conditions or other agreements and policies; or as otherwise required by law. In such cases, Children’s Hospital Los Angeles may raise or waive any legal objection or right available to it.

\r\n

Your information may also be shared in connection with a substantial corporate transaction including, but not limited to, the sale of Children’s Hospital Los Angeles’ business, a divestiture, merger, consolidation, asset sale, bankruptcy, change in control of the company or one of its affiliates, or in preparation for any of these events. Any third party to which Children’s Hospital Los Angeles transfers or sells its assets will have the right to continue to use your personal and non-personal information in accordance with this User Privacy Policy.

\r\n HOW CHILDREN’S HOSPITAL LOS ANGELES PROTECTS YOUR PERSONAL INFORMATION\r\n

Children’s Hospital Los Angeles has security measures in place to protect against the loss, misuse, and alteration of your personal information under its control. The personal information you provide on the Online Services is stored on secure servers, and access to change or edit this information is restricted to those authorized by Children's Hospital Los Angeles.

\r\n

E-mail should not be considered a secure and confidential means of communication. It is possible that your e-mail communication may be accessed or viewed by another Internet user while in transit to Children's Hospital Los Angeles. If you wish to keep your communication private, DO NOT E-MAIL ANY CONFIDENTIAL INFORMATION. IF YOU DO SO, IT IS AT YOUR OWN RISK.

\r\n YOUR CHOICES ABOUT COLLECTION AND USE OF INFORMATION \r\n

You can choose not to provide Children’s Hospital Los Angeles with certain information, but that may result in your being unable to use certain features of the Online Services such as registering, referring a patient, scheduling an appointment, participating in a survey, asking a question online, and initiating transactions.

\r\n DO NOT TRACK SIGNALS\r\n

Children’s Hospital Los Angeles’ Online Services do not recognize automated browser signals regarding \"do not track\" instructions. Please note that third parties may collect personal information about your online activities over time and across different websites when you use the Online Services or browse other websites. For more information about \"do not track\" signals, visit www.allaboutdnt.com.

\r\n THIRD-PARTY WEBSITES\r\n

Children’s Hospital Los Angeles’ Online Services may contain links to websites of outside organizations. While these links may indicate special relationships between the organizations, Children's Hospital Los Angeles is not responsible for the privacy practices of websites of these organizations. Please familiarize yourself with the privacy policies of any website you visit to determine what information is being collected.

\r\n VISITING ONLINE SERVICES FROM OUTSIDE THE UNITED STATES\r\n

This User Privacy Policy is intended to cover the collection of information on the Online Services from residents of the United States. If you are using the Online Services from outside the United States, please be aware that your information may be transferred to, stored, and processed in the United States, where Children’s Hospital Los Angeles’ servers are located. The data protection and other laws of the United States might not be as comprehensive as those in your country. By using the Online Services, you understand that your information may be transferred to Children’s Hospital Los Angeles’ facilities and third parties as described in this User Privacy Policy.

\r\n CONTACT\r\n

If you wish to change your personal information or stop communication from Children’s Hospital Los Angeles, or you have questions about this User Privacy Policy, do one of the following:

\r\n
    \r\n
  • Send an e-mail to: webmaster@chla.usc.edu\r\n
    \r\n
    \r\n
  • \r\n\r\n
  • \r\n Write to the following address:\r\n
    \r\n Webmaster\r\n
    \r\n Children's Hospital Los Angeles\r\n
    \r\n 4650 Sunset Blvd., Mailstop #110\r\n
    \r\n Los Angeles, CA 90027\r\n
  • \r\n
\r\n CHANGES TO THIS USER PRIVACY POLICY\r\n

Children's Hospital Los Angeles may change this User Privacy Policy from time to time without notice. The most recent revision date is listed below and the posted version of this User Privacy Policy will apply to your use of the Online Services.

\r\n
\r\n

Effective Date: July 8, 2014

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n}\r\n\r\nexport default UserPrivacyPolicy;","import { FC, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\n\r\n\r\nconst TermsOfUse: FC<{\r\n name?: string;\r\n }> = ({ name }) => {\r\n return (\r\n <>\r\n \r\n
\r\n

myCHLA Terms of Use

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

Children’s Hospital Los Angeles is committed to respecting patient privacy and protecting the confidentiality and security of patient information and requires that individuals accessing Children’s Hospital Los Angeles’ patient information share that commitment. You are requesting your access to Children’s Hospital Los Angeles’ patient information through the myCHLA portal of patients of your myCHLA sponsor’s physician practice (“Sponsoring Practice”). Children’s Hospital Los Angeles grants you permission to use myCHLA subject to the below terms and conditions:

\r\n
    \r\n
  1. \r\n \r\n Your Compliance\r\n \r\n You certify and agree to the following:\r\n
    \r\n
    \r\n
      \r\n
    1. \r\n You understand the concepts of confidentiality, privacy, and security. You will adhere to the requirements of this agreement and all of Children’s Hospital Los Angeles’ policies and practices, as may be issued or amended from time to time; and will complete training regarding myCHLA in a form and manner determined by Children’s Hospital Los Angeles.\r\n
      \r\n
      \r\n
    2. \r\n
    3. \r\n You will keep your username, password, and authentication information confidential. You will not share your username, password, and authentication information with any other person or entity; and will not allow any other person to log into myCHLA using your username, password, or authentication information. You will be responsible for all activity on myCHLA that is conducted with your username, password, and/or authentication information including, but not limited to, damages and inappropriate use or disclosure of patient information. If you suspect or learn that your username, password, or authentication information has been misused or obtained by another individual or entity, you must immediately inform Children’s Hospital Los Angeles’ Service Desk by calling (888) 631-2452 and notify the owner of your Sponsoring Practice.\r\n
      \r\n
      \r\n
    4. \r\n
    5. \r\n You will: (i) not email any information obtained from myCHLA to a personal email account; (ii) not transport any information obtained from myCHLA through unsecured methods including, but not limited to, portable media devices such as thumb/flash drives, memory sticks, DVDs, and CDs; (iii) limit printed information to the minimal amount necessary for the provision of health care services; (iv) properly safeguard, secure, and dispose of such printouts; (v) not download information from, or log into, myCHLA while on an unsecured wireless connection or from a personal computer, handheld device, or other computer or device that is not protected by controls and access policies approved by Children’s Hospital Los Angeles; and (vi) not leave unattended a computer or device through which you are logged into myCHLA. You will be responsible for any information accessed, viewed, downloaded, or printed through myCHLA.\r\n
      \r\n
      \r\n
    6. \r\n
    7. \r\n You will only use or download (as expressly permitted on myCHLA) patient information contained on myCHLA in support of treatment, payment, and health care operations in connection with treatment of Sponsoring Practice’s patients who also have received or are receiving care at Children’s Hospital Los Angeles; to comply with the laws that govern health care; and to the extent permissible under all applicable laws regarding the privacy of patient information. In addition, you will only disclose information viewed through myCHLA as necessary for treatment, payment, and health care operations purposes; to comply with the laws that govern health care; and as consistent with governing privacy restrictions which may vary according to the type of information viewed.\r\n
      \r\n
      \r\n
    8. \r\n
    9. \r\n You will not: (i) use, reproduce, or copy all or part of the content of myCHLA except as expressly permitted by these terms and conditions and applicable law; (ii) change or delete any proprietary notices from materials downloaded or printed out from myCHLA; (iii) use, or incorporate in a product designed, marketed, sold, or licensed by you or on your behalf, the content of myCHLA for the benefit of a third party except as permitted by these terms and conditions; or (iv) use myCHLA in a manner contrary to any applicable law.\r\n
      \r\n
      \r\n
    10. \r\n
    11. \r\n Children’s Hospital Los Angeles has the right, at any time, to monitor and audit your compliance with these terms and conditions and your use of myCHLA. You will promptly cooperate with any audit by Children’s Hospital Los Angeles. The following information may be collected and stored for every request you initiate via the myCHLA application for mobile devices: computer IP address; URL accessed; date, frequency, and period accessed; username; password; and Sponsoring Practice’s name and address. This information may be used by Children’s Hospital Los Angeles for internal evaluation, quality control, and other reasons deemed appropriate by Children’s Hospital Los Angeles.\r\n
      \r\n
      \r\n
    12. \r\n
    13. \r\n Your failure to comply with these terms and conditions may result in corrective action including, but not limited to, termination of your access to myCHLA, reports to authorities charged with professional licensing and enforcement of privacy laws, and personal liability for breach of confidential information.\r\n
      \r\n
      \r\n
    14. \r\n\r\n\r\n\r\n
    \r\n
    \r\n
  2. \r\n
  3. \r\n Breach of Information\r\n You agree that within 24 hours of becoming aware of an unauthorized use or disclosure of Children’s Hospital Los Angeles’ patient information, you will give notice as follows and take actions to eliminate the cause of the breach: (a)\r\n telephone calls to both Children’s Hospital Los Angeles’ Privacy Officer at (323) 361-2302 and Children’s Hospital Los Angeles’ Service Desk at (888) 631-2452 ;\" (b) \"letter sent via a nationally recognized overnight carrier to the following: Children’s Hospital Los Angeles, 4650 Sunset Boulevard, Mailstop 5, Los Angeles, California 90027, Attention: Privacy Officer;\"\r\n AND\r\n \" (c) \"\r\n notification to the owner of your Sponsoring Practice. \r\n \" To the extent Children’s Hospital Los Angeles deems warranted, in its sole discretion, Children’s Hospital Los Angeles will provide notice or require you to provide notice to individuals whose patient information may have been improperly accessed or disclosed. \"\r\n
    \r\n
    \r\n
  4. \r\n
  5. \r\n Modifications and Termination\r\n \" . Children’s Hospital Los Angeles may modify and terminate this agreement and any use of myCHLA by you at any time for any reason without penalty, regardless of any effect such action may have on Sponsoring Practice’s operations.\"\r\n
    \r\n
    \r\n
  6. \r\n
  7. \r\n Disclaimers\r\n \" . Services provided through and information contained on myCHLA are provided “as is.” Children’s Hospital Los Angeles makes no, and disclaims any, warranty of any kind, express or implied, including, but not limited to, the implied warranties of title, noninfringement, merchantability, and fitness for a particular use or purpose. Further, Children’s Hospital Los Angeles disclaims any warranty that myCHLA will be available at all times or will operate without interruption or error. Children’s Hospital Los Angeles makes no warranty as to the reliability, accuracy, timeliness, usefulness, adequacy, completeness, or suitability of the services or information provided through myCHLA.\"\r\n
    \r\n
    \r\n
  8. \r\n
  9. \r\n Release of Liability and Indemnification\r\n \" . You understand and agree that the general educational information provided on myCHLA is not to be used as a substitute for medical judgment of a qualified health care professional. In consideration for Children’s Hospital Los Angeles’ permitting you to use myCHLA, you expressly release and hold harmless Children’s Hospital Los Angeles, its trustees, officers, directors, employees, agents, and affiliates from any and all claims, liabilities, demands, causes of action, costs, expenses, and damages of every kind and nature, in law, equity, or otherwise, arising out of or in any way related to your use of myCHLA, whether arising from negligence or any other acts or omissions by Children’s Hospital Los Angeles. In addition, you will indemnify and hold harmless Children’s Hospital Los Angeles, its trustees, officers, directors, employees, agents, and affiliates against all actual and direct losses, liabilities, damages, claims, penalties, costs, or expenses (including, but not limited to, reasonable attorney’s fees and the full cost of any required notice to impacted individuals) they may suffer as the result of any claims, demands, actions, investigations, settlements, or judgments against them arising from or in connection with any breach of these terms and conditions, or from any negligence or wrongful acts or omissions, by you. The provisions of this section entitled “Release of Liability and Indemnification” will survive termination of this agreement.\"\r\n
    \r\n
    \r\n
  10. \r\n
  11. \r\n Miscellaneous\r\n \" . myCHLA is also subject to both Children’s Hospital Los Angeles’ website General Terms of Use and User Privacy Policy. You agree to download, print, and maintain a copy of this agreement for your reference. You are signing this agreement electronically by selecting the “AGREE” button below and you agree that your electronic signature is the legal equivalent of your manual signature. Notices sent to you by Children’s Hospital Los Angeles in connection with these terms and conditions or your use of myCHLA may be delivered to you by e-mail, a general notice on myCHLA, or written communication delivered by first class U.S. mail. You may give notice to Children’s Hospital Los Angeles at any time by letter delivered by first class postage prepaid U.S. mail or overnight courier to the following address: 4650 Sunset Blvd #71, Los Angeles CA 90027. These terms and conditions are severable to the extent any are deemed invalid, illegal, or unenforceable. The parties to this agreement are independent contractors of one another; nothing in this agreement will be deemed to create any relationship of agency, partnership, or joint venture between the parties.\"\r\n
    \r\n
    \r\n
  12. \r\n
\r\n

Updated: June 30, 2014

\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n )\r\n }\r\n\r\nexport default TermsOfUse;","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Loader from \"../../common/Loader\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport ISentInvitations from \"../../../types/ISentInvitations\";\r\n\r\nconst lookBackOptions = require(\"../../../data/accountRequestsLookbackOptions.json\");\r\n\r\nconst SentInvitations: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n //\r\n const location = useLocation();\r\n const history = useHistory();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [accountRequests, setAccountRequests] = useState();\r\n const [error, setError] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [maxPages, setMaxPages] = useState(0);\r\n const [lookback, setLookback] = useState(lookBackOptions[3].value);\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const pageSize = 10;\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n AccountService.getSentInvitations(\r\n {\r\n searchTerm: searchText,\r\n lookBack: lookback,\r\n pageNumber: currentPage,\r\n pageSize: pageSize,\r\n practice: !isHIM\r\n },\r\n accessToken\r\n )\r\n .then((response) => {\r\n setLoading(false);\r\n setCurrentPage(response.data.currentPage);\r\n setAccountRequests(response.data);\r\n if(maxPages == 0){\r\n setPages(response.data.totalPages);\r\n setMaxPages(response.data.totalPages);\r\n }\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n \r\n setCurrentPage(page);\r\n setAccountRequests(undefined)\r\n window.scrollTo(0, 0);\r\n setApiCallCount((c) => c + 1);\r\n };\r\n\r\n const isHIM = location.pathname === \"/accountsandaccess/accountrequests\";\r\n return (\r\n
\r\n \r\n
\r\n

{name}

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n {\r\n setLookback(e.target.value)\r\n setCurrentPage(1)\r\n setMaxPages(0)\r\n setAccountRequests(undefined)\r\n window.scrollTo(0, 0);\r\n setApiCallCount((c) => c + 1);\r\n }}\r\n options={lookBackOptions}\r\n value={lookback}\r\n initialValue={lookBackOptions[3]}\r\n />\r\n
\r\n {loading ? (\r\n
\r\n \r\n
\r\n ) : null}\r\n
\r\n {\r\n // setQuery((q) => ({ ...q, SearchText: searchText,PageNumber:1 }));\r\n setSearchText(searchText)\r\n setAccountRequests(undefined)\r\n setLookback(-1)\r\n setCurrentPage(1)\r\n setMaxPages(0)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }}\r\n onTextChange={(text) => {\r\n if(text==\"\"){\r\n setSearchText(\"\")\r\n setCurrentPage(1)\r\n setMaxPages(0)\r\n setAccountRequests(undefined)\r\n if(accountRequests !== undefined){\r\n setLookback(-1)\r\n }\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n setSearchText(text)\r\n }}\r\n />\r\n
\r\n
\r\n {accountRequests?.data.length != 0 ?\r\n \r\n (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Registered Username\r\n \r\n \r\n \r\n \r\n \r\n {accountRequests?.data.map((request) => {\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
Invited DateFirst NameLast NameRoleInvited By
\r\n {request.invitedDate}\r\n {request.userFirstName}{request.userLastName}{request.expectedRoleName}{request.registeredUsrName}\r\n {request.invitedBy}\r\n \r\n {\r\n handleOnClick(request);\r\n }}\r\n width={\"fit-content\"}\r\n /> \r\n
):
No record Found
}\r\n {accountRequests?.data.length !== 0 ? (\r\n \r\n \r\n
\r\n ) : null}\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SentInvitations;\r\n\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport \"../../styles.css\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport ReferralList from \"./components/ReferralList\";\r\nimport ReferralCard from \"./components/ReferralCard\";\r\nimport IRouteState from \"../../../types/IRouteState\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IReferral, { ReferralAppointment } from \"../../../types/IReferral\";\r\nimport IReferralQuery from \"../../../types/IReferralQuery\";\r\nimport Loader from \"../../common/Loader\";\r\nimport CancelReferralModal from \"./components/CancelReferralModal\";\r\nimport CancellationReasonModal from \"./components/CancellationReasonModal\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport ScheduledReasonModal from \"./components/ScheduledReasonModal\";\r\n\r\ninterface Props {\r\n name?: string;\r\n}\r\n\r\ntype modalType = {\r\n show: boolean;\r\n reason: string | null;\r\n};\r\ntype appointmentModalType = {\r\n show: boolean;\r\n reason: ReferralAppointment;\r\n};\r\ntype cancelModalType = {\r\n show: boolean;\r\n clinic: string;\r\n referralId: null | number;\r\n};\r\n\r\nconst lookBackOptions: ILookbackOption[] = require(\"../../../data/referralLookbackOptions.json\");\r\n\r\nconst MyReferrals: FC = ({ name }) => {\r\n const isBigScreen = window.innerWidth > 1000;\r\n\r\n const pageSize = 10;\r\n const [message, setMessage] = useState(false);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [referrals, setReferrals] = useState([]);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [loading, setLoading] = useState(true);\r\n const appointmentDetail = {\r\n aptDate: \"\",\r\n duration: \"\",\r\n type: \"\",\r\n location: \"\",\r\n resource: \"\",\r\n state: \"\",\r\n };\r\n const [showCancelReferralModal, setShowCancelReferralModal] =\r\n useState({\r\n show: false,\r\n clinic: \"\",\r\n referralId: null,\r\n });\r\n const [showCancelReasonModal, setShowCancelReasonModal] = useState(\r\n {\r\n show: false,\r\n reason: null,\r\n }\r\n );\r\n const [showScheduleReasonModal, setShowScheduleReasonModal] =\r\n useState({\r\n show: false,\r\n reason: appointmentDetail,\r\n });\r\n const [query, setQuery] = useState({\r\n pagesize: pageSize,\r\n pagenumber: 1,\r\n sortfield: \"ID\",\r\n sortdirection: \"DESC\",\r\n lookback: 30,\r\n });\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [error, setError] = useState();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n if (location.state !== undefined) {\r\n const state = { ...location.state };\r\n let msg = true;\r\n if (state.message !== undefined && apiCallCount > 0) {\r\n delete state.message;\r\n msg = false;\r\n history.replace({ state: state });\r\n }\r\n setMessage(msg);\r\n }\r\n setLoading(true);\r\n ReferralService.getPhysicianReferrals(query, accessToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setReferrals(response.data.data);\r\n setPages(response.data.totalPages);\r\n setCurrentPage(response.data.currentPage);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n setCurrentPage(page);\r\n setQuery((q) => ({ ...q, pagenumber: page }));\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSearch = (searchText: string) => {\r\n setQuery({\r\n ...query,\r\n searchterm: searchText,\r\n });\r\n };\r\n\r\n const handleLookBack = (e: React.ChangeEvent) => {\r\n setQuery({\r\n ...query,\r\n lookback: e.target.value,\r\n });\r\n navigateToPage(1);\r\n };\r\n\r\n const newReferral = () => {\r\n let path = `/referrals/newreferral`;\r\n history.push(path);\r\n };\r\n\r\n const handleReferPatientClick = (referralId: IReferral) => {\r\n history.push(\"/referrals/re-refer\", { state: { referrals } });\r\n };\r\n\r\n const handlePatientNameClick = (referralId: number) => {\r\n history.push(\"/referrals/editreferral\", { state: { referralId } });\r\n };\r\n\r\n const handleCancelledClick = (reason: string) => {\r\n toggleCancelReasonModal(true, reason);\r\n };\r\n const handleScheduledClick = (reason: ReferralAppointment) => {\r\n toggleScheduleReasonModal(true, reason);\r\n };\r\n const handleReferralQuery = (referralQuery: IReferralQuery) => {\r\n setQuery(referralQuery);\r\n navigateToPage(1);\r\n };\r\n\r\n const toggleCancelReferralModal = (\r\n show: boolean,\r\n clinicName: string,\r\n id: number | null\r\n ) => {\r\n setShowCancelReferralModal({\r\n show: show,\r\n clinic: clinicName,\r\n referralId: id,\r\n });\r\n };\r\n const toggleCancelReasonModal = (show: boolean, reason: string | null) => {\r\n setShowCancelReasonModal({\r\n show: show,\r\n reason: reason,\r\n });\r\n };\r\n const toggleScheduleReasonModal = (\r\n show: boolean,\r\n reason: ReferralAppointment\r\n ) => {\r\n setShowScheduleReasonModal({\r\n show: show,\r\n reason: reason,\r\n });\r\n };\r\n const handleRemoveClick = (id: number, reason: string) => {\r\n toggleCancelReferralModal(false, \"\", id);\r\n ReferralService.cancelReferral(\r\n {\r\n id: id,\r\n reason: reason,\r\n },\r\n accessToken\r\n )\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n navigateToPage(1);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n // navigateToPage(1);\r\n });\r\n };\r\n return (<>\r\n // <>\r\n // {/* */}\r\n //
\r\n //

{name}

\r\n //
\r\n // \r\n // If your referral has been cancelled, please call 888-631-2452 with\r\n // any additional questions.{\" \"}\r\n // \r\n // Hover mouse over labels marked \"Cancelled\" to view the\r\n // cancellation reason.\r\n // {\" \"}\r\n // If you need to fax documentation, please fax to 323-361-8988. Please\r\n // include the referral number on the fax cover sheet.\r\n //
\r\n //
\r\n // \r\n //
\r\n //
\r\n // {error !== undefined ? (\r\n // \r\n // ) : null}\r\n // {message && location.state.message !== undefined ? (\r\n // \r\n // ) : null}\r\n //
\r\n //
\r\n //
\r\n // \r\n //
\r\n // {loading ? (\r\n //
\r\n // \r\n //
\r\n // ) : null}\r\n //
\r\n // navigateToPage(1)}\r\n // onTextChange={handleSearch}\r\n // />\r\n //
\r\n //
\r\n // {referrals.length === 0 ? (\r\n // !loading ? (\r\n //
No Record Found
\r\n // ) : null\r\n // ) : isBigScreen ? (\r\n // \r\n // ) : (\r\n // \r\n // )}\r\n // {referrals.length !== 0 ? (\r\n // \r\n // \r\n //
\r\n // ) : null}\r\n // \r\n // \r\n // toggleCancelReferralModal(false, \"\", null)}\r\n // handleRemove={handleRemoveClick}\r\n // />\r\n // toggleCancelReasonModal(false, null)}\r\n // />\r\n // toggleScheduleReasonModal(false, appointmentDetail)}\r\n // />\r\n // \r\n );\r\n};\r\n\r\nexport default MyReferrals;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport \"../../styles.css\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport ReferralList from \"./components/ReferralList\";\r\nimport ReferralCard from \"./components/ReferralCard\";\r\nimport IRouteState from \"../../../types/IRouteState\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IReferral, { ReferralAppointment } from \"../../../types/IReferral\";\r\nimport IReferralQuery from \"../../../types/IReferralQuery\";\r\nimport Loader from \"../../common/Loader\";\r\nimport CancelReferralModal from \"./components/CancelReferralModal\";\r\nimport CancellationReasonModal from \"./components/CancellationReasonModal\";\r\nimport { Button } from \"react-bootstrap\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport ScheduledReasonModal from \"./components/ScheduledReasonModal\";\r\n\r\n\r\n\r\ninterface Props {\r\n name?: string;\r\n}\r\n\r\ntype modalType = {\r\n show: boolean;\r\n reason: string | null;\r\n};\r\ntype appointmentModalType = {\r\n show: boolean;\r\n reason: ReferralAppointment;\r\n};\r\ntype cancelModalType = {\r\n show: boolean;\r\n clinic: string;\r\n referralId: null | number;\r\n};\r\n\r\nconst lookBackOptions: ILookbackOption[] = require(\"../../../data/referralLookbackOptions.json\");\r\n\r\nconst SharedReferrals: FC = ({ name }) => {\r\n const isBigScreen = window.innerWidth > 1000;\r\n const appointmentDetail ={\r\n aptDate: '',\r\nduration: '',\r\ntype: '',\r\nlocation: '',\r\nresource: '',\r\nstate: '',\r\n\r\n}\r\n const pageSize = 10;\r\n const [message, setMessage] = useState(false);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [referrals, setReferrals] = useState([]);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [loading, setLoading] = useState(true);\r\n const [showCancelReferralModal, setShowCancelReferralModal] =\r\n useState({\r\n show: false,\r\n clinic: \"\",\r\n referralId: null,\r\n });\r\n const [showCancelReasonModal, setShowCancelReasonModal] = useState(\r\n {\r\n show: false,\r\n reason: null,\r\n }\r\n );\r\n const [showScheduleReasonModal, setShowScheduleReasonModal] = useState(\r\n {\r\n show: false,\r\n reason: appointmentDetail,\r\n }\r\n );\r\n const [query, setQuery] = useState({\r\n pagesize: pageSize,\r\n pagenumber: 1,\r\n sortfield: \"ID\",\r\n sortdirection: \"DESC\",\r\n lookback: 30,\r\n });\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [error, setError] = useState();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n if (location.state !== undefined) {\r\n const state = { ...location.state };\r\n let msg = true;\r\n if (state.message !== undefined && apiCallCount > 0) {\r\n delete state.message;\r\n msg = false;\r\n history.replace({ state: state });\r\n }\r\n setMessage(msg);\r\n }\r\n setLoading(true);\r\n ReferralService.getReferrals(query, accessToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setReferrals(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n \r\n setLoading(false);\r\n });\r\n }, [apiCallCount]);\r\n\r\n const navigateToPage = (page: number) => {\r\n setCurrentPage(page);\r\n setQuery((q) => ({ ...q, pagenumber: page }));\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n \r\n const newReferral = () => {\r\n let path = `/referrals/newreferral`;\r\n history.push(path);\r\n };\r\n\r\n const handleSearch = (searchText: string) => {\r\n setQuery({\r\n ...query,\r\n searchterm: searchText,\r\n });\r\n };\r\n\r\n const handleLookBack = (e: React.ChangeEvent) => {\r\n setQuery({\r\n ...query,\r\n lookback: e.target.value,\r\n });\r\n navigateToPage(1);\r\n };\r\n\r\n const handleReferPatientClick = (referralId: IReferral) => {\r\n history.push(\"/referrals/re-refer\", { state: { referrals } });\r\n };\r\n\r\n const handlePatientNameClick = (referralId: number) => {\r\n history.push(\"/referrals/editreferral\", { state: { referralId } });\r\n };\r\n\r\n const handleCancelledClick = (reason: string) => {\r\n toggleCancelReasonModal(true, reason);\r\n };\r\n const handleScheduledClick = (reason: ReferralAppointment) => {\r\n toggleScheduleReasonModal(true, reason);\r\n };\r\n const handleReferralQuery = (referralQuery: IReferralQuery) => {\r\n setQuery(referralQuery);\r\n navigateToPage(1);\r\n };\r\n\r\n const toggleCancelReferralModal = (\r\n show: boolean,\r\n clinicName: string,\r\n id: number | null\r\n ) => {\r\n setShowCancelReferralModal({\r\n show: show,\r\n clinic: clinicName,\r\n referralId: id,\r\n });\r\n };\r\n const toggleCancelReasonModal = (show: boolean, reason: string | null) => {\r\n setShowCancelReasonModal({\r\n show: show,\r\n reason: reason,\r\n });\r\n };\r\n const toggleScheduleReasonModal = (show: boolean, reason: ReferralAppointment) => {\r\n setShowScheduleReasonModal({\r\n show: show,\r\n reason: reason,\r\n });\r\n };\r\n const handleRemoveClick = (id: number, reason: string) => {\r\n toggleCancelReferralModal(false, \"\", id);\r\n ReferralService.cancelReferral(\r\n {\r\n id: id,\r\n reason: reason,\r\n },\r\n accessToken\r\n )\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n navigateToPage(1);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n // navigateToPage(1);\r\n });\r\n };\r\n return (<>);\r\n};\r\n\r\nexport default SharedReferrals;\r\n","import { FC } from \"react\";\r\nimport { Popover } from \"react-bootstrap\";\r\n\r\nconst FormPopover = (title: string, body: string) => {\r\n return (\r\n \r\n {title}\r\n {body}\r\n \r\n );\r\n};\r\n\r\nexport default FormPopover;\r\n","import { FC, useEffect } from \"react\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport IReferral, { ReferralAppointment } from \"../../../../types/IReferral\";\r\nimport IReferralDetailed from \"../../../../types/IReferralDetailed\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport InfoOutlinedIcon from \"@material-ui/icons/InfoOutlined\";\r\nimport Loading from \"../../../common/Loader\";\r\nconst sortable = require(\"../../../../assets/images/sortable.png\").default;\r\n\r\nconst ReferralList: FC<{\r\n referrals: IReferral[];\r\n query: IReferralQuery;\r\n Loader?: boolean;\r\n modifyQuery: (query: IReferralQuery) => void;\r\n onCancelPress: (\r\n cancelPressed: boolean,\r\n clinicName: string,\r\n referralId: number,\r\n referral: IReferral | IReferralDetailed\r\n ) => void;\r\n onCancelRequestPress: (\r\n requestPressed: boolean,\r\n name?: string,\r\n date?: Date,\r\n reason?: string\r\n ) => void;\r\n onReferPress: (referrals: IReferral) => void;\r\n onEditPress?: (referralId: number) => void;\r\n onCancelledPress: (reason: string) => void;\r\n onScheduledPress: (reason: ReferralAppointment) => void;\r\n\r\n page?: \"MyReferrals\" | \"SharedReferrals\";\r\n}> = ({\r\n referrals,\r\n query,\r\n modifyQuery,\r\n onCancelPress,\r\n onReferPress,\r\n onEditPress,\r\n onCancelledPress,\r\n onCancelRequestPress,\r\n onScheduledPress,\r\n page,\r\n Loader,\r\n}) => {\r\n const handleSort = (sortfield: string) => {\r\n if (query.sortdirection === \"DESC\") {\r\n modifyQuery({\r\n ...query,\r\n sortfield: sortfield,\r\n sortdirection: \"ASC\",\r\n });\r\n } else {\r\n if (query.sortdirection === \"ASC\") {\r\n modifyQuery({\r\n ...query,\r\n sortfield: sortfield,\r\n sortdirection: \"DESC\",\r\n });\r\n }\r\n }\r\n };\r\n let appointment:any = [];\r\n const handleCancelledClick = (\r\n status: string,\r\n reason: string | null | ReferralAppointment\r\n ) => {\r\n if (\r\n status === \"Cancelled\" &&\r\n reason !== null &&\r\n reason !== \"\" &&\r\n typeof reason === \"string\"\r\n ) {\r\n onCancelledPress(reason);\r\n } else if (\r\n status === \"Patient Scheduled\" &&\r\n reason !== null &&\r\n reason !== \"\" &&\r\n typeof reason !== \"string\"\r\n ) {\r\n onScheduledPress(reason);\r\n }\r\n };\r\n return (\r\n \r\n \r\n \r\n {\r\n // handleSort(\"PatientFullName\");\r\n // }}\r\n >\r\n Patient Name{\" \"}\r\n {/* {query.sortfield === \"PatientFullName\" ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n \r\n {/* */}\r\n {\r\n // handleSort(\"PatientBirthDate\");\r\n // }}\r\n >\r\n DOB{\" \"}\r\n {/* {query.sortfield === \"PatientBirthDate\" ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n \r\n \r\n {\r\n // handleSort(\"CreatedDateTime\");\r\n // }}\r\n >\r\n Created On{\" \"}\r\n {/* {query.sortfield === \"CreatedDateTime\" ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n \r\n {page === undefined || page === \"SharedReferrals\" ? (\r\n {\r\n // handleSort(\"PhysicianFullName\");\r\n // }}\r\n >\r\n Referring Physician{\" \"}\r\n {/* {query.sortfield === \"PhysicianFullName\" ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n \r\n ) : null}\r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {referrals.map((referral) => {\r\n appointment.push(referral.referralAppointment);\r\n // console.log(\"referral.referralAppointment\",referral.referralAppointment);\r\n return (\r\n \r\n \r\n {/* */}\r\n \r\n\r\n \r\n\r\n \r\n {page === undefined || page === \"SharedReferrals\" ? (\r\n \r\n ) : null}\r\n {/* */}\r\n \r\n {page === \"SharedReferrals\" ? null : (\r\n <>\r\n \r\n \r\n \r\n )}\r\n \r\n );\r\n })}\r\n \r\n
Referral No.ClinicMRN Status
\r\n {referral.firstName + \" \" + referral.lastName}\r\n {referral.id}{referral.dateOfBirth?.split(\"T\")[0]}\r\n {referral.clinicName}\r\n \r\n {referral.createdDtm?.split(\"T\")[0]}\r\n \r\n {referral.physicianName}\r\n \r\n {referral.mrn}\r\n \r\n \r\n )\r\n }\r\n >\r\n {\r\n //console.log(referral)\r\n handleCancelledClick(\r\n referral.cernerStatus,\r\n referral.cernerStatus === \"Patient Scheduled\" &&\r\n referral.referralAppointment !== undefined\r\n ? referral.referralAppointment\r\n : referral.cancellationReason\r\n );\r\n }}\r\n >\r\n {(referral.cernerStatus === \"Patient Scheduled\" &&\r\n referral.referralAppointment !== null) ||\r\n (referral.cernerStatus === \"Cancelled\" &&\r\n referral.cancellationReason !== null) ? (\r\n \r\n ) : null}\r\n {referral.cernerStatus}\r\n \r\n \r\n \r\n
\r\n {onEditPress != null ? (\r\n onEditPress(referral.id)}\r\n title=\"Edit\"\r\n small\r\n variant=\"secondary\"\r\n />\r\n ) : (\r\n \r\n )}\r\n {referral.cancelationRequest === true ? (\r\n {\r\n onCancelRequestPress(\r\n true,\r\n referral.modifyBy,\r\n referral.modifyDtm,\r\n referral.cancellationReason\r\n );\r\n }}\r\n title=\"Cancellation Requested\"\r\n color=\"#EA1D36\"\r\n // bColor=\"#EA1D36\"\r\n small\r\n variant=\"secondary\"\r\n hidden={\r\n referral.cernerStatus === \"Cancelled\"\r\n ? true\r\n : false\r\n }\r\n />\r\n ) : (\r\n \r\n onCancelPress(\r\n true,\r\n referral.clinicName,\r\n referral.id,\r\n referral\r\n )\r\n }\r\n title=\"Request to Cancel\"\r\n small\r\n variant=\"secondary\"\r\n hidden={\r\n referral.cernerStatus === \"Cancelled\" ? true : false\r\n }\r\n />\r\n )}\r\n
\r\n
\r\n
\r\n onReferPress(referral)}\r\n title=\"Refer\"\r\n small\r\n variant=\"accent\"\r\n />\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ReferralList;\r\n","import { FC } from \"react\";\r\nimport { Badge } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport IReferral, { ReferralAppointment } from \"../../../../types/IReferral\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport Loading from \"../../../common/Loader\";\r\n\r\nconst ReferralsCard: FC<{\r\n referrals: IReferral[];\r\n Loader?: boolean;\r\n onCancelPress: (\r\n cancelPressed: boolean,\r\n clinicName: string,\r\n referralId: number\r\n ) => void;\r\n onCancelRequestPress: (\r\n requestPressed: boolean,\r\n name?: string,\r\n date?: Date,\r\n reason?: string\r\n ) => void;\r\n onReferPress: (referral: IReferral) => void;\r\n onEditPress?: (referralId: number) => void;\r\n onCancelledPress: (reason: string) => void;\r\n onScheduledPress: (reason: ReferralAppointment) => void;\r\n\r\n page?: \"MyReferrals\" | \"SharedReferrals\";\r\n}> = ({\r\n referrals,\r\n onCancelPress,\r\n onReferPress,\r\n onEditPress,\r\n onCancelRequestPress,\r\n onCancelledPress,\r\n onScheduledPress,\r\n page,\r\n Loader,\r\n}) => {\r\n const handleCancelledClick = (status: string, reason: string|ReferralAppointment|null) => {\r\n \r\n if (status === \"Cancelled\" && reason !== null && reason !== \"\" && typeof reason === \"string\" ) {\r\n onCancelledPress(reason);\r\n }\r\n else if (status === \"Patient Scheduled\" && reason !== null && reason !== \"\" && typeof reason !== \"string\" ) {\r\n onScheduledPress(reason);\r\n }\r\n };\r\n return (\r\n
\r\n {referrals.map((referral) => {\r\n return (\r\n
\r\n
\r\n {referral.firstName + \" \" + referral.lastName}\r\n
\r\n
\r\n Referral No.: {referral.id}\r\n
\r\n
\r\n DOB: {referral.dateOfBirth?.split(\"T\")[0]}\r\n
\r\n
\r\n Clinic: {referral.clinicName}\r\n
\r\n
\r\n Created On: {referral.createdDtm?.split(\"T\")[0]}\r\n
\r\n {page === undefined || page === \"SharedReferrals\" ? (\r\n
\r\n
Referring Physician:
\r\n {referral.physicianName}\r\n
\r\n ) : null}\r\n
\r\n
Status:
\r\n
\r\n \r\n handleCancelledClick(\r\n referral.cernerStatus,\r\n referral.cernerStatus === \"Patient Scheduled\" && referral.referralAppointment !== undefined \r\n ? referral.referralAppointment:referral.cancellationReason )\r\n }\r\n >\r\n {referral.cernerStatus}\r\n \r\n
\r\n
\r\n {page === \"SharedReferrals\" ? null : (\r\n
\r\n
\r\n {onEditPress != null ? onEditPress(referral.id)}\r\n title=\"Edit\"\r\n variant=\"secondary\"\r\n />:\r\n }\r\n {Loader ? : ( referral.cancelationRequest === true ? (\r\n {\r\n onCancelRequestPress(\r\n true,\r\n referral.modifyBy,\r\n referral.modifyDtm,\r\n referral.cancellationReason\r\n );\r\n }}\r\n title=\"Cancellation Requested\"\r\n color=\"#EA1D36\"\r\n //bColor=\"#EA1D36\"\r\n small\r\n variant=\"secondary\"\r\n hidden={\r\n referral.cernerStatus === \"Cancelled\"\r\n ? true\r\n : false\r\n }\r\n />\r\n ) : (\r\n \r\n onCancelPress(\r\n true,\r\n referral.clinicName,\r\n referral.id,\r\n )\r\n }\r\n title=\"Request to Cancel\"\r\n small\r\n variant=\"secondary\"\r\n hidden={\r\n referral.cernerStatus === \"Cancelled\" ? true : false\r\n }\r\n />\r\n ))}\r\n onReferPress(referral)}\r\n title=\"Refer\"\r\n variant=\"accent\"\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 ReferralsCard;\r\n","import { FC, useState } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport IReferralDetailed from \"../../../../types/IReferralDetailed\";\r\nimport IReferral, { ReferralAppointment } from \"../../../../types/IReferral\";\r\nimport Loading from \"../../../common/Loader\";\r\n\r\nconst CancelReferralModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleRemove: (referralId: number, reason: string , referral : IReferral | IReferralDetailed) => void;\r\n referral?:IReferral | IReferralDetailed | null;\r\n clinicName: string;\r\n referralId: number | null;\r\n Loader?:boolean\r\n}> = ({ show, handleClose, handleRemove, clinicName, referralId,referral ,Loader}) => {\r\n const [reason, setReason] = useState(\"\");\r\n const handleOnSubmit = (e: React.ChangeEvent) => {\r\n e.preventDefault();\r\n if (referralId !== null && referral!= null ) {\r\n handleRemove(referralId, reason, referral);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n {/* Cancel {clinicName} Clinic Referral */}\r\n Cancel Referral\r\n \r\n

Are you sure you want to cancel this referral?

\r\n setReason(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};\r\n\r\nexport default CancelReferralModal;\r\n","import { FC } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst CancellationRequestModal: FC<{\r\n show: boolean;\r\n name?:string;\r\n date?:Date;\r\n handleClose?: () => void;\r\n reason?: string | null;\r\n}> = ({ show,name,date,handleClose, reason}) => {\r\n return (\r\n \r\n Cancellation Details\r\n \r\n <>\r\n
\r\n Cancellation Date - \r\n {date}\r\n
\r\n
\r\n Cancelled By - \r\n {name}\r\n
\r\n
\r\n Cancellation Reason - \r\n {reason}\r\n
\r\n \r\n
\r\n \r\n \r\n Close\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CancellationRequestModal;\r\n","import { FC } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst CancellationReasonModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n reason: string | null;\r\n Loader?:boolean\r\n}> = ({ show, handleClose, reason,Loader }) => {\r\n return (\r\n \r\n Cancellation Reason\r\n \r\n

{reason}

\r\n
\r\n \r\n \r\n Close\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default CancellationReasonModal;\r\n","import { FC } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { ReferralAppointment } from \"../../../../types/IReferral\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst ScheduledReasonModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n reason: ReferralAppointment;\r\n}> = ({ show, handleClose, reason }) => {\r\n return (\r\n \r\n Appointment Details\r\n \r\n <>\r\n
\r\n Appointment Date - \r\n {reason.aptDate}\r\n
\r\n
\r\n Duration - \r\n {reason.duration}\r\n
\r\n
\r\n Location - \r\n {reason.location}\r\n
\r\n
\r\n Resource - \r\n {reason.resource}\r\n
\r\n
\r\n State - \r\n {reason.state}\r\n
\r\n
\r\n Type - \r\n {reason.type}\r\n
\r\n \r\n
\r\n \r\n \r\n Close\r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default ScheduledReasonModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport LookBackFilter from \"../../common/LookBackFilter\";\r\nimport { Button, Table } from \"react-bootstrap\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport \"../../styles.css\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport ReferralList from \"./components/ReferralList\";\r\nimport ReferralCard from \"./components/ReferralCard\";\r\nimport IRouteState from \"../../../types/IRouteState\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IReferral, { ReferralAppointment } from \"../../../types/IReferral\";\r\nimport IReferralQuery from \"../../../types/IReferralQuery\";\r\nimport Loader from \"../../common/Loader\";\r\nimport CancelReferralModal from \"./components/CancelReferralModal\";\r\nimport CancellationRequestModal from \"./components/CancellationRequestModal\";\r\nimport CancellationReasonModal from \"./components/CancellationReasonModal\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport ScheduledReasonModal from \"./components/ScheduledReasonModal\";\r\nimport IReferralDetailed from \"../../../types/IReferralDetailed\";\r\n\r\ninterface Props {\r\n name?: string;\r\n}\r\n\r\ntype modalType = {\r\n show: boolean;\r\n reason: string | null;\r\n};\r\n\r\ntype cancelModalType = {\r\n show: boolean;\r\n clinic: string;\r\n referralId: null | number;\r\n referral?: IReferral | IReferralDetailed | null;\r\n};\r\ntype cancleRequestType = {\r\n show: boolean;\r\n name?: string;\r\n date?: Date;\r\n reason?: string;\r\n};\r\ntype appointmentModalType = {\r\n show: boolean;\r\n reason: ReferralAppointment;\r\n};\r\nconst lookBackOptions: ILookbackOption[] = require(\"../../../data/referralLookbackOptions.json\");\r\n\r\nconst ViewReferrals: FC = ({ name }) => {\r\n const isBigScreen = window.innerWidth > 1000;\r\n const appointmentDetail = {\r\n aptDate: \"\",\r\n duration: \"\",\r\n type: \"\",\r\n location: \"\",\r\n resource: \"\",\r\n state: \"\",\r\n };\r\n const pageSize = 10;\r\n const [message, setMessage] = useState(false);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [referrals, setReferrals] = useState();\r\n const [referral, setReferral] = useState();\r\n const [listedReferrals, setListedReferrals] = useState();\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [s,setS] = useState(false);\r\n const [maxPages, setMaxPages] = useState(0);\r\n const [loading, setLoading] = useState(true);\r\n const [Bloading,setBloading] = useState(false);\r\n const [lookback, setLookback] = useState(lookBackOptions[0].value);\r\n const [searchText, setSearchText] = useSessionState(\r\n \"viewreferrals_state\",\r\n \"\"\r\n );\r\n\r\n const [showCancelReferralModal, setShowCancelReferralModal] =\r\n useState({\r\n show: false,\r\n clinic: \"\",\r\n referralId: null,\r\n });\r\n const [showCancelReasonModal, setShowCancelReasonModal] = useState(\r\n {\r\n show: false,\r\n reason: null,\r\n }\r\n );\r\n const [showCancelRequestModal, setShowCancelRequestModal] =\r\n useState({\r\n show: false,\r\n name: \"\",\r\n reason: \"\",\r\n });\r\n const [showScheduleReasonModal, setShowScheduleReasonModal] =\r\n useState({\r\n show: false,\r\n reason: appointmentDetail,\r\n });\r\n const [query, setQuery] = useState({\r\n sortfield: \"ID\",\r\n sortdirection: \"DESC\",\r\n lookback: 30,\r\n });\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [error, setError] = useState();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n const cancelToken = axios.CancelToken.source();\r\n if (location.state !== undefined) {\r\n const state = { ...location.state };\r\n let msg = true;\r\n if (state.message !== undefined && apiCallCount > 0) {\r\n delete state.message;\r\n msg = false;\r\n history.replace({ state: state });\r\n }\r\n setMessage(msg);\r\n }\r\n setLoading(true);\r\n getReferral();\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n useEffect(() => {\r\n handleSearchReferrals();\r\n }, [query.searchterm]);\r\n\r\n useEffect(() => {\r\n handleSortReferrals(listedReferrals);\r\n }, [query.sortfield, query.sortdirection]);\r\n\r\n const handleSearch = (searchText: string) => {\r\n setQuery({\r\n ...query,\r\n searchterm: searchText,\r\n lookback: -1,\r\n });\r\n };\r\n const getReferral = () =>{\r\n setListedReferrals([]);\r\n setLoading(true);\r\n const cancelToken = axios.CancelToken.source();\r\n ReferralService.getReferrals(query, accessToken, cancelToken)\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setReferrals(response.data);\r\n setListedReferrals(response.data);\r\n setLoading(false);\r\n toggleCancelReferralModal(false, \"\", null);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n toggleCancelReferralModal(false, \"\", null);\r\n }\r\n });\r\n }\r\n const handleLookBack = (e: React.ChangeEvent) => {\r\n setLookback(e.target.value);\r\n setQuery((q) => ({ ...q, lookback: e.target.value }));\r\n setReferrals(undefined);\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n const handleReferPatientClick = (referral: IReferral) => {\r\n history.push(\"/referrals/re-refer\", referral);\r\n };\r\n const handleCancelledClick = (reason: string) => {\r\n toggleCancelReasonModal(true, reason);\r\n };\r\n const handleScheduledClick = (reason: ReferralAppointment) => {\r\n toggleScheduleReasonModal(true, reason);\r\n };\r\n const handleReferralQuery = (referralQuery: IReferralQuery) => {\r\n setQuery(referralQuery);\r\n };\r\n\r\n const newReferral = () => {\r\n let path = `/referrals/newreferral`;\r\n history.push(path);\r\n };\r\n const toggleCancelRequestModal = (\r\n show: boolean,\r\n name?: string,\r\n date?: Date,\r\n reason?: string\r\n ) => {\r\n // console.log(show, name, reason, date);\r\n setShowCancelRequestModal({\r\n show: show,\r\n name: name,\r\n date: date,\r\n reason: reason,\r\n });\r\n };\r\n const toggleCancelReferralModal = (\r\n show: boolean,\r\n clinicName: string,\r\n id: number | null,\r\n referral?: IReferral | IReferralDetailed\r\n ) => {\r\n //setReferral(referral);\r\n //console.log(\"referral\",referral)\r\n setShowCancelReferralModal({\r\n show: show,\r\n clinic: clinicName,\r\n referralId: id,\r\n referral: referral,\r\n });\r\n };\r\n const toggleCancelReasonModal = (show: boolean, reason: string | null) => {\r\n setShowCancelReasonModal({\r\n show: show,\r\n reason: reason,\r\n });\r\n };\r\n const toggleScheduleReasonModal = (\r\n show: boolean,\r\n reason: ReferralAppointment\r\n ) => {\r\n setShowScheduleReasonModal({\r\n show: show,\r\n reason: reason,\r\n });\r\n };\r\n\r\n const handleRemoveClick = (\r\n id: number,\r\n reason: string,\r\n referral?: IReferral | IReferralDetailed\r\n ) => {\r\n setBloading(true);\r\n toggleCancelReferralModal(true, \"\", id);\r\n if (referral != undefined) {\r\n referral.cancellationReason = reason;\r\n }\r\n //console.log(\"refe\", referral);\r\n ReferralService.cancelReferral(\r\n {\r\n id: id,\r\n reason: reason,\r\n referral: referral,\r\n },\r\n accessToken,\r\n referral\r\n // showCancelReferralModal.referral\r\n )\r\n .then((response) => {\r\n if (error !== undefined) {\r\n setError(undefined);\r\n }\r\n setBloading(false)\r\n toggleCancelReferralModal(false, \"\", null);\r\n setReferrals(undefined);\r\n getReferral();\r\n //setS(true);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n // console.error(e);\r\n e.message = \"Cannot process cancellation at the moment.\";\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setBloading(false);\r\n toggleCancelReferralModal(false, \"\", id);\r\n }\r\n });\r\n };\r\n\r\n const comp = (a: IReferral, b: IReferral): number => {\r\n if (query.sortfield === \"PatientFullName\") {\r\n if (query.sortdirection === \"DESC\") {\r\n return (\r\n (a.firstName != null || b.firstName != null) ? a.firstName\r\n .toUpperCase()\r\n .localeCompare(b.firstName.toLocaleLowerCase()) - 1\r\n :a.firstName);\r\n }\r\n if(query.sortdirection === \"ASC\") {\r\n return (\r\n (a.firstName != null || b.firstName != null) ? b.firstName\r\n .toUpperCase()\r\n .localeCompare(a.firstName.toLocaleLowerCase()) - 1\r\n :b.firstName);\r\n }\r\n \r\n }\r\n\r\n if (query.sortfield === \"PatientBirthDate\") {\r\n let patientOneDOB = new Date(a.dateOfBirth);\r\n let patientTwoDOB = new Date(b.dateOfBirth);\r\n if (query.sortdirection === \"DESC\") {\r\n return (patientOneDOB.getTime() - patientTwoDOB.getTime())\r\n }\r\n if (query.sortdirection === \"ASC\") {\r\n return (patientTwoDOB.getTime() - patientOneDOB.getTime())\r\n }\r\n\r\n }\r\n\r\n if (query.sortfield === \"CreatedDateTime\") {\r\n let patientOneCreatedOn = new Date(a.createdDtm);\r\n let patientTwoCreatedOn = new Date(b.createdDtm);\r\n if (query.sortdirection === \"DESC\") {\r\n return (patientOneCreatedOn.getTime() - patientTwoCreatedOn.getTime())\r\n }\r\n if (query.sortdirection === \"ASC\") {\r\n return (patientTwoCreatedOn.getTime() - patientOneCreatedOn.getTime())\r\n }\r\n }\r\n\r\n if (query.sortfield === \"PhysicianFullName\") {\r\n if (query.sortdirection === \"DESC\") {\r\n a.physicianName = a.physicianName || '';\r\n b.physicianName = b.physicianName || '';\r\n return a.physicianName.localeCompare(b.physicianName);\r\n }\r\n if(query.sortdirection === \"ASC\") {\r\n a.physicianName = a.physicianName || '';\r\n b.physicianName = b.physicianName || '';\r\n return b.physicianName.localeCompare(a.physicianName);\r\n }\r\n }\r\n\r\n return 0;\r\n };\r\n const handleSortReferrals = (referrals: IReferral[] | undefined) => {\r\n if (referrals == undefined) {\r\n return;\r\n }\r\n //console.log(\"got here\");\r\n referrals.sort(comp);\r\n setListedReferrals(referrals);\r\n setReferrals(referrals);\r\n };\r\n\r\n const handleSearchReferrals = () => {\r\n const querystring = searchText.replace(/\\s+/g, \"\").toUpperCase();\r\n //console.log(searchText);\r\n\r\n if (referrals == undefined) {\r\n return;\r\n }\r\n if (querystring === undefined || querystring === \"\") {\r\n setListedReferrals(referrals);\r\n }\r\n\r\n const tempReferrals: IReferral[] = referrals.filter(\r\n (element) =>\r\n element.firstName!= null ? element.firstName.toUpperCase().includes(querystring) ||\r\n element.lastName.toUpperCase().includes(querystring) ||\r\n (element.firstName + element.lastName)\r\n .toUpperCase()\r\n .includes(querystring):null\r\n );\r\n\r\n setListedReferrals([]);\r\n setTimeout(() => {\r\n setListedReferrals(tempReferrals);\r\n }, 10);\r\n };\r\n\r\n return (\r\n <>\r\n {/* */}\r\n
\r\n

{name}

\r\n
\r\n \r\n
  • \r\n Please call 888-631-2452 with any questions about your referral\r\n
  • \r\n
  • \r\n If your referral has been cancelled, click on the Cancelled label\r\n to view the cancellation reason\r\n
  • \r\n
  • \r\n If needed, you may fax additional information about your referral\r\n after it has been submitted to 323-361-8988. On the cover sheet,\r\n please include the patient’s name, date of birth, and the clinic\r\n where the patient is being referred\r\n
  • \r\n
  • \r\n If you need to cancel your referral, please call 888-631-2452.\r\n
  • \r\n \r\n \r\n \r\n
    \r\n
    \r\n {error !== undefined ? (\r\n \r\n ) : null}\r\n {message && location.state && location.state.message !== undefined ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {loading ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n {\r\n setQuery((q) => ({\r\n ...q,\r\n searchterm: searchText,\r\n }));\r\n // setReferrals(undefined);\r\n // setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }}\r\n onTextChange={(text) => {\r\n if (text == \"\") {\r\n if (referrals !== undefined) {\r\n setQuery((q) => ({\r\n ...q,\r\n searchterm: \"\",\r\n }));\r\n // setReferrals(undefined);\r\n // setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n }\r\n setSearchText(text);\r\n }}\r\n />\r\n
    \r\n
    \r\n {listedReferrals !== undefined ? (\r\n
    \r\n {listedReferrals.length === 0 ? (\r\n !loading ? (\r\n
    \r\n No Record Found within{\" \"}\r\n {query.lookback == -1\r\n ? \"all records available\"\r\n : `past ${query.lookback} days`}\r\n
    \r\n ) : null\r\n ) : isBigScreen ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n ) : null}\r\n
    \r\n \r\n toggleCancelReferralModal(false, \"\", null)}\r\n handleRemove={handleRemoveClick}\r\n Loader={Bloading}\r\n />\r\n {\r\n setShowCancelRequestModal({\r\n show: false,\r\n name: \"\",\r\n //date: new Date('December 17, 1995 03:24:00'),\r\n reason: \"\",\r\n });\r\n }}\r\n />\r\n toggleCancelReasonModal(false, null)}\r\n />\r\n toggleScheduleReasonModal(false, appointmentDetail)}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default ViewReferrals;\r\n","import IReferralForm from \"../types/IReferralFormField\";\r\nconst ReferralFormStructure: IReferralForm[] = [\r\n {\r\n name: \"physicianId\",\r\n label: \"On Behalf Of\",\r\n required: true,\r\n type: \"select\",\r\n popover:\r\n \"Select the physician on whose behalf you are submitting this referral.\",\r\n belongsTo: \"Referral\",\r\n affects: \"physicianName\",\r\n // initialValue: \"\",\r\n },\r\n {\r\n name: \"physicianName\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n belongsTo: \"Referral\",\r\n dependsOn: \"physicianId\",\r\n },\r\n {\r\n name: \"practiceId\",\r\n label: \"Practice\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Select the practice from which you are submitting this referral.\",\r\n belongsTo: \"Referral\",\r\n affects: \"practiceName\",\r\n // initialValue: 1,\r\n },\r\n {\r\n name: \"practiceName\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n belongsTo: \"Referral\",\r\n dependsOn: \"practiceId\",\r\n },\r\n {\r\n name: \"insuranceTypeId\",\r\n label: \"Insurance Type\",\r\n required: true,\r\n type: \"select\",\r\n popover:\r\n \"Enter the patient’s insurance type. Authorizations are required for all patients with California Children’s Services (CCS), HMO, and Medi-Cal insurance, as well as all radiology referrals. Please attach the authorization in the Attachments window.\",\r\n belongsTo: \"Referral\",\r\n affects: \"insuranceType\",\r\n // initialValue: \"\",\r\n },\r\n {\r\n name: \"insuranceType\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n belongsTo: \"Referral\",\r\n dependsOn: \"insuranceTypeId\",\r\n },\r\n {\r\n name: \"patientAcuityId\",\r\n label: \"Patient Acuity\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Enter the patient's acuity\",\r\n belongsTo: \"Referral\",\r\n affects: \"patientAcuity\",\r\n initialValue: 2,\r\n },\r\n {\r\n name: \"patientAcuity\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n belongsTo: \"Referral\",\r\n dependsOn: \"patientAcuityId\",\r\n },\r\n {\r\n name: \"requestTypeId\",\r\n label: \"Request Type\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Is this a new appointment or a follow-up appointment?\",\r\n belongsTo: \"Referral\",\r\n affects: \"requestType\",\r\n initialValue: 1,\r\n },\r\n {\r\n name: \"requestType\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n belongsTo: \"Referral\",\r\n dependsOn: \"requestTypeId\",\r\n },\r\n {\r\n name: \"reason\",\r\n label: \"Reason for Referral and/or Current Diagnosis\",\r\n required: true,\r\n type: \"textarea\",\r\n popover: \"Enter the reason for the referral or/and the current diagnosis.\",\r\n belongsTo: \"Referral\",\r\n },\r\n {\r\n name: \"clinicKey\",\r\n label: \"Choose A Clinic\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Enter the clinic to which you would like to refer this patient\",\r\n belongsTo: \"Referral\",\r\n affects: \"clinicName\",\r\n },\r\n {\r\n name: \"clinicName\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n\r\n belongsTo: \"Referral\",\r\n dependsOn: \"clinicKey\",\r\n },\r\n {\r\n name: \"firstName\",\r\n label: \"Patient First Name\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"middleName\",\r\n label: \"Patient Middle Name\",\r\n required: false,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"lastName\",\r\n label: \"Patient Last Name\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"patientSexId\",\r\n label: \"Patient Sex\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Select the sex of the patient.\",\r\n belongsTo: \"Patient\",\r\n affects: \"patientSex\",\r\n },\r\n {\r\n name: \"patientSex\",\r\n label: \"\",\r\n required: true,\r\n type: \"hidden\",\r\n belongsTo: \"Patient\",\r\n dependsOn: \"patientSexId\",\r\n },\r\n {\r\n name: \"dateOfBirth\",\r\n label: \"Patient Date Of Birth\",\r\n required: true,\r\n type: \"date\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"patientStreetAddress\",\r\n label: \"Patient Street Address\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"patientCity\",\r\n label: \"Patient City\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"patientState\",\r\n label: \"Patient State\",\r\n required: true,\r\n type: \"select\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"zipCode\",\r\n label: \"Patient Zip Code\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"phoneNumber\",\r\n label: \"Patient or Guardian Phone\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"secondaryPhoneNumber\",\r\n label: \"Patient Secondary Phone\",\r\n required: false,\r\n type: \"text\",\r\n belongsTo: \"Patient\",\r\n },\r\n {\r\n name: \"guardianFirstName\",\r\n label: \"Guardian First Name\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Guardian\",\r\n },\r\n {\r\n name: \"guardianLastName\",\r\n label: \"Guardian Last Name\",\r\n required: true,\r\n type: \"text\",\r\n belongsTo: \"Guardian\",\r\n },\r\n {\r\n name: \"guardianDob\",\r\n label: \"Guardian Date Of Birth\",\r\n required: true,\r\n type: \"date\",\r\n belongsTo: \"Guardian\",\r\n },\r\n {\r\n name: \"guardianSexId\",\r\n label: \"Guardian Sex\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Select sex of the guardian.\",\r\n belongsTo: \"Guardian\",\r\n affects: \"guardianSex\",\r\n },\r\n {\r\n name: \"guardianRelationshipId\",\r\n label: \"Guardian Relationship\",\r\n required: true,\r\n type: \"select\",\r\n popover: \"Select the guardian's relationship to the patient.\",\r\n belongsTo: \"Guardian\",\r\n affects: \"guardianRelationship\",\r\n },\r\n {\r\n name: \"guardianRelationship\",\r\n label: \"\",\r\n required: false,\r\n type: \"hidden\",\r\n belongsTo: \"Guardian\",\r\n dependsOn: \"guardianRelationshipId\",\r\n },\r\n {\r\n name: \"guardianEmail\",\r\n label: \"Guardian Email Address\",\r\n required: false,\r\n type: \"email\",\r\n belongsTo: \"Guardian\",\r\n },\r\n {\r\n name: \"attachedFile\",\r\n label: \"Attachments\",\r\n required: false,\r\n type: \"file\",\r\n affects: \"attachmentNames\",\r\n belongsTo: \"Attachments\",\r\n },\r\n {\r\n name: \"attachmentNames\",\r\n label: \"\",\r\n required: false,\r\n type: \"hidden\",\r\n dependsOn: \"attachedFile\",\r\n belongsTo: \"Attachments\",\r\n },\r\n];\r\n\r\nexport default ReferralFormStructure;\r\n","import { FormikErrors, FormikValues } from \"formik\";\r\nimport { createContext } from \"react\";\r\n\r\ninterface IReferralFormContext {\r\n errors: FormikErrors;\r\n setErrors: React.Dispatch>>;\r\n}\r\n\r\nconst referralFormContext = createContext({\r\n errors: {},\r\n setErrors: () => { },\r\n});\r\n\r\nexport const referralSubmitContext = createContext(false);\r\n\r\nexport default referralFormContext;\r\n","import React, { Children, useContext, useEffect, useState } from \"react\";\r\nimport {\r\n Form,\r\n Formik,\r\n FormikConfig,\r\n FormikErrors,\r\n FormikValues,\r\n useFormikContext,\r\n} from \"formik\";\r\nimport Stepper from \"@mui/material/Stepper\";\r\nimport Step from \"@mui/material/Step\";\r\nimport StepLabel from \"@mui/material/StepLabel\";\r\nimport Loader from \"../common/Loader\";\r\nimport referralFormContext, { referralSubmitContext } from \"../../context/ReferralFormContext\";\r\nimport MButton from \"../mButton/MButton\";\r\n\r\nexport interface FormikStepProps\r\n extends Pick, \"children\" | \"validationSchema\"> {\r\n label: string;\r\n}\r\n\r\nconst FormikStepper = ({ children, ...props }: FormikConfig) => {\r\n //\r\n const { setErrors } = useContext(referralFormContext);\r\n\r\n const childrenArray = Children.toArray(\r\n children\r\n ) as React.ElementType[];\r\n const [step, setStep] = useState(1);\r\n const currentChild = childrenArray[step - 1];\r\n const [completed, setCompleted] = useState(false);\r\n const isLastStep = step === childrenArray.length;\r\n const submitDisabled = React.useContext(referralSubmitContext);\r\n\r\n console.log(\"submitDisabled: \", submitDisabled)\r\n\r\n return (\r\n {\r\n if (isLastStep) {\r\n await props.onSubmit(values, helpers);\r\n setCompleted(true);\r\n } else {\r\n setStep((s) => s + 1);\r\n }\r\n }}\r\n >\r\n {({ isSubmitting, errors }) => {\r\n if(isSubmitting){\r\n setErrors(() => errors);\r\n }\r\n \r\n return (\r\n
    \r\n \r\n {childrenArray.map((child, index) => (\r\n index || completed}\r\n >\r\n \r\n {\r\n //@ts-ignore\r\n child.props.label\r\n }\r\n \r\n \r\n ))}\r\n \r\n {currentChild}\r\n
    \r\n
    \r\n
    \r\n {step > 1 ? (\r\n {\r\n setErrors({})\r\n setStep((s) => s - 1)\r\n }}\r\n disabled={isSubmitting}\r\n >\r\n Back to Step{\" \"}\r\n {step - 1}\r\n \r\n ) : null}\r\n \r\n \r\n \r\n {isSubmitting && Object.keys(errors).length === 0 ? (\r\n
    \r\n Submitting...\r\n {\" \"}\r\n
    \r\n ) : isLastStep ? (\r\n <>\r\n Complete Referral \r\n \r\n ) : (\r\n <>\r\n Continue to Step {step + 1}{\" \"}\r\n \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }}\r\n \r\n );\r\n};\r\n\r\nexport default FormikStepper;\r\n","import { FormikStepProps } from \"./FormikStepper\";\r\n\r\nconst FormikStep = ({ children }: FormikStepProps) => {\r\n return (\r\n <>{children}\r\n );\r\n};\r\n\r\nexport default FormikStep;\r\n","import { Form, OverlayTrigger } from \"react-bootstrap\";\r\nimport FormPopover from \"./FormPopover\";\r\nimport { useFormikContext } from \"formik\";\r\nimport { useEffect } from \"react\";\r\n\r\nconst SelectInput = ({ fieldInfo, options, value, defaultvalue, ...field }) => {\r\n const { values, touched, setFieldValue } = useFormikContext();\r\n const handleChange = (e) => {\r\n if (!isNaN(parseInt(e.target.value))) {\r\n setFieldValue(field.name, parseInt(e.target.value));\r\n setFieldValue(\r\n fieldInfo.affects,\r\n e.nativeEvent.target[e.nativeEvent.target.selectedIndex].text\r\n );\r\n fieldInfo.initialValue = parseInt(e.target.value);\r\n } else {\r\n setFieldValue(field.name, null);\r\n setFieldValue(fieldInfo.affects, null);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (value == null) return;\r\n\r\n const option = options.filter(src => src.id == value)\r\n setFieldValue(field.name, value);\r\n setFieldValue(fieldInfo.affects, option[0].display);\r\n }, [])\r\n\r\n const defaultValue = () => {\r\n let a ;\r\n\r\n // console.log(field.name, \": \", value);\r\n field.name === \"physicianId\"||\r\n field.name === \"practiceId\" ||\r\n field.name === \"insuranceTypeId\" ||\r\n field.name === \"patientAcuityId\"||\r\n field.name === \"requestTypeId\" ||\r\n field.name === \"clinicKey\" ||\r\n field.name === \"patientState\" ||\r\n field.name === \"patientSexId\" ||\r\n field.name === \"guardianRelationshipId\"||\r\n field.name === \"guardianSexId\"\r\n ? a = value\r\n : a = null\r\n \r\n return a\r\n };\r\n \r\n return (\r\n \r\n \r\n {fieldInfo.label}\r\n {fieldInfo.required ? * : <>}\r\n \r\n
    \r\n {fieldInfo.popover !== undefined && field.disabled !== true ? (\r\n \r\n \r\n {options.map(({ id, display }) => (\r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \r\n {options.map(({ id, display }) => (\r\n \r\n ))}\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SelectInput;\r\n","import { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\nimport { getFormattedDate } from \"../../helpers/DateHelper\";\r\n\r\nconst DateInput: FC<{\r\n fieldInfo: IReferralFormField;\r\n}> = ({ fieldInfo, ...field }) => {\r\n const MAX_DATE = getFormattedDate(new Date());\r\n return (\r\n \r\n \r\n {fieldInfo.label}\r\n {fieldInfo.required ? * : <>}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DateInput;\r\n","import { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\n\r\nconst EmailInput: FC<{\r\n fieldInfo: IReferralFormField;\r\n}> = ({ fieldInfo, ...field }) => {\r\n return (\r\n \r\n \r\n {fieldInfo.label}\r\n {fieldInfo.required ? * : <>}\r\n \r\n
    \r\n handleOnChange(e, key)}\r\n // disabled={isDisabled}\r\n />\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default EmailInput;\r\n","import { FC, useEffect } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\nimport { useFormikContext } from \"formik\";\r\n// : FC<{\r\n// fieldInfo: IReferralFormField;\r\n// }>\r\nconst HiddenInput = ({ fieldInfo, ...field }) => {\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default HiddenInput;\r\n","import { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\n\r\nconst NumberInput: FC<{\r\n fieldInfo: IReferralFormField;\r\n}> = ({ fieldInfo, ...field }) => {\r\n return (\r\n \r\n \r\n {fieldInfo.label}\r\n {fieldInfo.required ? * : <>}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NumberInput;\r\n","import { useField } from \"formik\";\r\nimport { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\n\r\nconst TextAreaInput: FC<{\r\n fieldInfo: IReferralFormField;\r\n}> = ({ fieldInfo, ...field }) => {\r\n return (\r\n \r\n \r\n {fieldInfo.label}\r\n {fieldInfo.required ? * : <>}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TextAreaInput;\r\n","import { FC } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\n\r\nconst TextInput: FC<{\r\n fieldInfo: IReferralFormField;\r\n}> = ({ fieldInfo, ...field }) => {\r\n return (\r\n \r\n \r\n {fieldInfo.label}\r\n {fieldInfo.required ? * : <>}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TextInput;\r\n","import \"./delete-icon.css\";\r\n\r\nconst DeleteIcon = ({\r\n height = 20,\r\n width = 20,\r\n fillColor = \"#0d9ddb\",\r\n onClick = () => {},\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\nexport default DeleteIcon;\r\n","import { Field, useField } from \"formik\";\r\nimport { FC, useCallback, useEffect, useState } from \"react\";\r\nimport { FileError, FileRejection, useDropzone } from \"react-dropzone\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport IReferralFormField from \"../../../../types/IReferralFormField\";\r\nimport DeleteIcon from \"../../../common/DeleteIcon\";\r\nimport \"./upload-attachments-new.css\";\r\n\r\nexport interface UploadFile {\r\n file: File;\r\n errors: FileError[];\r\n}\r\n\r\nconst UploadAttachmentsNew: FC<{\r\n fieldInfo: IReferralFormField;\r\n setSubmitDisabled: React.Dispatch>;\r\n files: UploadFile[];\r\n setFiles: React.Dispatch>;\r\n showFiles: UploadFile[];\r\n setShowFiles: React.Dispatch>;\r\n totalSize: number;\r\n setTotalSize: React.Dispatch>;\r\n}> = ({\r\n fieldInfo,\r\n setSubmitDisabled,\r\n files,\r\n setFiles,\r\n showFiles,\r\n setShowFiles,\r\n totalSize,\r\n setTotalSize,\r\n ...field\r\n}) => {\r\n // max size is 20 mb\r\n const MAX_FILE_SIZE = 20971520;\r\n const [_, __, helpers] = useField(fieldInfo.name);\r\n const [attachmentNames] = useField(fieldInfo.affects + \"\");\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n let mFiles = files.map((f) => f.file);\r\n if (showFiles.length !== files.length) {\r\n helpers.setError(\"Cannot upload file with 0 bytes.\");\r\n } else {\r\n helpers.setValue(mFiles);\r\n }\r\n }, [files]);\r\n\r\n const onDrop = useCallback(\r\n (acceptedFiles: File[], rejectedFiles: FileRejection[]) => {\r\n // Do something with the files\r\n const mappedAccepetedFiles = acceptedFiles.map((f) => ({\r\n file: f,\r\n errors: [],\r\n }));\r\n\r\n setShowFiles((f) => [...f, ...mappedAccepetedFiles, ...rejectedFiles]);\r\n setFiles((f) => [...f, ...mappedAccepetedFiles]);\r\n let accFileSize = 0,\r\n rejFileSize = 0;\r\n mappedAccepetedFiles.forEach((f) => (accFileSize += f.file.size));\r\n rejectedFiles.forEach((f) => (rejFileSize += f.file.size));\r\n setTotalSize((t) => t + accFileSize + rejFileSize);\r\n },\r\n []\r\n );\r\n const { getRootProps, getInputProps, isDragActive, open } = useDropzone({\r\n onDrop,\r\n // noClick: true,\r\n // noKeyboard: true,\r\n accept: \"image/png, image/jpg, image/jpeg, application/pdf\",\r\n validator: (file) => {\r\n if (file.size > MAX_FILE_SIZE) {\r\n return {\r\n code: \"file-too-large\",\r\n message: `File is larger than 20MB`,\r\n };\r\n }\r\n if (file.size == 0) {\r\n return {\r\n code: \"file-too-small\",\r\n message: `Total size is 0 bytes.`,\r\n };\r\n }\r\n return null;\r\n },\r\n });\r\n\r\n const handleRemoveFile = (f: UploadFile) => {\r\n setFiles((prev) => prev.filter((file) => file.file.name !== f.file.name));\r\n setShowFiles((prev) =>\r\n prev.filter((file) => file.file.name !== f.file.name)\r\n );\r\n setTotalSize((t) => t - f.file.size);\r\n };\r\n\r\n useEffect(() => {\r\n if (totalSize > MAX_FILE_SIZE) {\r\n setSubmitDisabled(true);\r\n console.log(\"setSubmitDisabled(true)\");\r\n } else {\r\n setSubmitDisabled(false);\r\n console.log(\"setSubmitDisabled(false)\");\r\n }\r\n }, [totalSize]);\r\n\r\n return (\r\n
    \r\n
    \r\n

    To ensure timely processing of your referral, please attach:

    \r\n
      \r\n
    • Most recent clinical notes
    • \r\n
    • Insurance information
    • \r\n
    • Demographics
    • \r\n
    \r\n

    If available, please include labs, growth charts, and diagnostics

    \r\n
    \r\n \r\n \r\n\r\n {totalSize > MAX_FILE_SIZE ? (\r\n
    \r\n Total file size exceeded 20 MB\r\n
    \r\n Please remove some files\r\n
    \r\n ) : (\r\n <>\r\n
    Drag files here to upload
    \r\n or browse for files\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n {attachmentNames.value !== \"\" &&\r\n location.pathname.includes(\"edit\") &&\r\n attachmentNames.value.map((f: string) => {\r\n return ;\r\n })}\r\n\r\n {showFiles.map((f) => {\r\n if (f.errors.length <= 0) {\r\n return (\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\nexport const FileName: FC<{\r\n name: string;\r\n}> = ({ name }) => {\r\n return (\r\n
    \r\n \r\n \r\n {name}\r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport const FileItem: FC<{\r\n f: UploadFile;\r\n handleRemoveFile: (f: UploadFile) => void;\r\n isError: boolean;\r\n}> = ({ f, handleRemoveFile, isError }) => {\r\n return (\r\n
    \r\n \r\n \r\n \r\n {f.file.name}\r\n
    \r\n {(f.file.size / 1000000).toFixed(2)} MB\r\n
    \r\n {isError ? (\r\n {\"Cannot upload this file as \" + f.errors[0].message}\r\n ) : null}\r\n {\r\n handleRemoveFile(f);\r\n }}\r\n height=\"20\"\r\n width=\"20\"\r\n src={require(\"../../../../assets/images/delete-icon.svg\").default}\r\n />\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default UploadAttachmentsNew;\r\n","import FormikStepper from \"../../../wizard/FormikStepper\";\r\nimport FormikStep from \"../../../wizard/FormikStep\";\r\nimport ReferralFormStructure from \"../../../../data/ReferralFormStructure\";\r\nimport { createContext, FC, useContext, useEffect, useState } from \"react\";\r\nimport IReferralDetailed from \"../../../../types/IReferralDetailed\";\r\nimport IReferralFormField from \"../../../../types/IReferralFormField\";\r\nimport IReferral, { ReferralAppointment } from \"../../../../types/IReferral\";\r\nimport { Field, useField } from \"formik\";\r\nimport SelectInput from \"../../../common/SelectInput\";\r\nimport DateInput from \"../../../common/DateInput\";\r\nimport EmailInput from \"../../../common/EmailInput\";\r\nimport HiddenInput from \"../../../common/HiddenInput\";\r\nimport NumberInput from \"../../../common/NumberInput\";\r\nimport TextAreaInput from \"../../../common/TextAreaInput\";\r\nimport TextInput from \"../../../common/TextInput\";\r\nimport UploadAttachmentsNew, { UploadFile } from \"./UploadAttachmentsNew\";\r\nimport IReferralFormDropdownData, {\r\n IReferralFormDropdownDataType,\r\n} from \"../../../../types/IReferralFormDropdownData\";\r\nimport * as Yup from \"yup\";\r\nimport referralFormContext, { referralSubmitContext } from \"../../../../context/ReferralFormContext\";\r\nimport IFormDropdownOption from \"../../../../types/IFormDropdownOption\";\r\n\r\nconst ReferralForm: FC<{\r\n initialValues: IReferral | IReferralDetailed | undefined;\r\n onSubmit: (formData: FormData) => Promise;\r\n referralFormDropdownData: IReferralFormDropdownData;\r\n referral: IReferral | IReferralDetailed | undefined;\r\n isDisabled: boolean;\r\n}> = ({\r\n initialValues,\r\n onSubmit,\r\n referralFormDropdownData,\r\n referral,\r\n isDisabled,\r\n}) => {\r\n const { errors } = useContext(referralFormContext);\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n\r\n const [submitDisabled, setSubmitDisabled] = useState(false);\r\n const [files, setFiles] = useState([]);\r\n const [showFiles, setShowFiles] = useState([]);\r\n const [totalSize, setTotalSize] = useState(0);\r\n \r\n const renderErrorMessage = (field: any) => {\r\n return (\r\n errors[field.name] && (\r\n
    \r\n
    \r\n
    \r\n {errors[field.name]}\r\n
    \r\n
    \r\n )\r\n );\r\n };\r\n\r\n const [physician, setPhysician] = useState(referral?.physicianName);\r\n const [acuity, setAcuity] = useState(referral?.patientAcuity);\r\n const [patientState, setPatientState] = useState(referral?.patientState);\r\n const [clinicKey, setClinicKey] = useState(referral?.clinicName);\r\n const [guardianRelationship, setGuardianRelationship] = useState(referral?.guardianRelationship);\r\n const [patientSex, setPatientSex] = useState(referral?.patientSex);\r\n const [guardianSex, setGuardianSex] = useState(referral?.guardianSex);\r\n const [requestType, setRequestType] = useState(referral?.requestType);\r\n const [insuranceType, setInsuranceType] = useState(referral?.insuranceType);\r\n\r\n const patientStateId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (patientState !== undefined && patientState !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (patientState?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setPatientState(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n const clinicKeyData = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (clinicKey !== undefined && clinicKey !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (clinicKey?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setClinicKey(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n const patientAcuityId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (acuity !== undefined && acuity !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (acuity?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setAcuity(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n const guardianRelationshipId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (guardianRelationship !== undefined && guardianRelationship !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (guardianRelationship?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setGuardianRelationship(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n const patientSexId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (patientSex !== undefined && patientSex !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (patientSex?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setPatientSex(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n\r\n const guardianSexId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n console.log(\"guardianSexId\", options);\r\n console.log(\"guardianSex\", guardianSex);\r\n if (guardianSex !== undefined && guardianSex !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (guardianSex?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n console.log(\"guardiansex\", display);\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setGuardianSex(\"\");\r\n }\r\n console.log(\"guardianSex after setting\",fieldInfo.initialValue);\r\n return fieldInfo.initialValue;\r\n }\r\n \r\n const requestTypeId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (requestType !== undefined && requestType !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (requestType?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setRequestType(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n const physicianId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (physician !== undefined && physician !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (physician.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setPhysician(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n const insuranceTypeId = (fieldInfo: any, options: IReferralFormDropdownDataType[]) => {\r\n if (insuranceType !== undefined && insuranceType !== \"\") {\r\n let result: any;\r\n options.map((display) => {\r\n if (insuranceType?.toLowerCase() === display.display.toLocaleLowerCase()) {\r\n result = display.id;\r\n }\r\n });\r\n fieldInfo.initialValue = result;\r\n setInsuranceType(\"\");\r\n }\r\n\r\n return fieldInfo.initialValue;\r\n };\r\n\r\n const referralFormStructure = ReferralFormStructure.filter(\r\n (r) => r.belongsTo === \"Referral\"\r\n );\r\n const patientFormStructure = ReferralFormStructure.filter(\r\n (r) => r.belongsTo === \"Patient\"\r\n );\r\n const guardianFormStructure = ReferralFormStructure.filter(\r\n (r) => r.belongsTo === \"Guardian\"\r\n );\r\n const attachmentsFormStructure = ReferralFormStructure.filter(\r\n (r) => r.belongsTo === \"Attachments\"\r\n );\r\n\r\n const renderFormField = (fieldInfo: IReferralFormField, error?: any) => {\r\n //console.log(\"field\",fieldInfo)\r\n referralFormDropdownData.physicians.map((data) => {\r\n //console.log(data);\r\n });\r\n let DEFAULT_OPTION: IReferralFormDropdownDataType = {\r\n id: \"\",\r\n display: \"Please make a selection...\",\r\n };\r\n if (fieldInfo.type === \"select\") {\r\n let options: IReferralFormDropdownDataType[] = [];\r\n //console.log(\"referralFormDropdownData\", referralFormDropdownData);\r\n if (referralFormDropdownData !== undefined) {\r\n switch (fieldInfo.name) {\r\n case \"physicianId\":\r\n if (referral !== undefined && referral.physicianName !== \"\") {\r\n let result = referralFormDropdownData.physicians.find(\r\n (data) => data.display === referral.physicianName\r\n );\r\n //console.log(\"result\", result);\r\n if (result == undefined && referral.physicianName != undefined) {\r\n referralFormDropdownData.physicians.push({\r\n id: -1,\r\n display: referral.physicianName.toString(),\r\n });\r\n }\r\n }\r\n\r\n options = [DEFAULT_OPTION, ...referralFormDropdownData.physicians];\r\n break;\r\n case \"patientState\":\r\n options = [DEFAULT_OPTION, ...states];\r\n break;\r\n case \"practiceId\":\r\n options = [...referralFormDropdownData.practices];\r\n break;\r\n case \"insuranceTypeId\":\r\n if (referral !== undefined && referral.insuranceType !== \"\") {\r\n //console.log(\"insurance\", referral.insuranceType);\r\n let insuranceTyperesult =\r\n referralFormDropdownData.insuranceTypes.find(\r\n (data) => data.display === referral.insuranceType\r\n );\r\n if (\r\n insuranceTyperesult == undefined &&\r\n referral.insuranceType != undefined\r\n ) {\r\n referralFormDropdownData.insuranceTypes.push({\r\n id: -1,\r\n display: referral.insuranceType.toString(),\r\n });\r\n }\r\n }\r\n options = [\r\n DEFAULT_OPTION,\r\n ...referralFormDropdownData.insuranceTypes,\r\n ];\r\n break;\r\n case \"patientAcuityId\":\r\n if (referral !== undefined && referral.patientAcuity !== \"\") {\r\n //console.log(\"insurance\", referral.patientAcuity);\r\n let patientAcuityresult =\r\n referralFormDropdownData.patientAcuitys.find(\r\n (data) => data.display === referral.patientAcuity\r\n );\r\n if (\r\n patientAcuityresult == undefined &&\r\n referral.patientAcuity != undefined\r\n ) {\r\n referralFormDropdownData.patientAcuitys.push({\r\n id: -1,\r\n display: referral.patientAcuity.toString(),\r\n });\r\n }\r\n }\r\n options = [\r\n DEFAULT_OPTION,\r\n ...referralFormDropdownData.patientAcuitys\r\n ]\r\n break;\r\n case \"requestTypeId\":\r\n options = [DEFAULT_OPTION, ...referralFormDropdownData.requestTypes];\r\n break;\r\n case \"clinicKey\":\r\n if (referral !== undefined && referral.clinicName !== \"\") {\r\n let clinicKeyresult = referralFormDropdownData.clinics.find(\r\n (data) => data.display === referral.clinicName\r\n );\r\n if (\r\n clinicKeyresult == undefined &&\r\n referral.clinicName != undefined\r\n ) {\r\n referralFormDropdownData.clinics.push({\r\n id: -1,\r\n display: referral.clinicName.toString(),\r\n });\r\n }\r\n }\r\n options = [DEFAULT_OPTION, ...referralFormDropdownData.clinics];\r\n break;\r\n case \"guardianRelationshipId\":\r\n options = [\r\n DEFAULT_OPTION,\r\n ...referralFormDropdownData.guardianRelationships,\r\n ];\r\n break;\r\n case \"patientSexId\":\r\n options = [DEFAULT_OPTION, ...referralFormDropdownData.patientSex];\r\n break;\r\n case \"guardianSexId\":\r\n options = [DEFAULT_OPTION, ...referralFormDropdownData.guardianSex];\r\n }\r\n }\r\n\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n {referral != undefined ? (\r\n \r\n ) : (\r\n \r\n )}\r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"hidden\") {\r\n return (\r\n \r\n {({ field }: any) => {\r\n return (\r\n \r\n );\r\n }}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"text\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n \r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"typeahead\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n \r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"textarea\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n \r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"number\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n \r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"email\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n \r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"date\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n <>\r\n \r\n {renderErrorMessage(fieldInfo)}\r\n \r\n )}\r\n \r\n );\r\n }\r\n if (fieldInfo.type === \"file\") {\r\n return (\r\n \r\n {({ field }: any) => (\r\n \r\n )}\r\n \r\n );\r\n }\r\n };\r\n\r\n useEffect(() => {}, [errors]);\r\n\r\n return (\r\n \r\n {\r\n setSubmitting(true);\r\n let formData = new FormData();\r\n Object.entries(values).map((entry) => {\r\n const key = entry[0];\r\n const value = entry[1];\r\n if (value !== null) {\r\n if (key.toLowerCase() === \"id\" && !isDisabled) {\r\n if (value !== \"\") {\r\n formData.append(\"parentReferralId\", value);\r\n }\r\n formData.append(key, \"\");\r\n }\r\n if (key.toLowerCase() === \"attachedfile\") {\r\n value.map((file: File) => {\r\n formData.append(key, file);\r\n });\r\n } else {\r\n if (\r\n key.toLowerCase() === \"guardianrelationshipid\" &&\r\n (value === \"\" || value === null)\r\n ) {\r\n formData.append(key, \"0\");\r\n } else if (value !== undefined) {\r\n formData.append(key, value);\r\n }\r\n }\r\n }\r\n });\r\n if (!formData.has(\"clinicKey\")) {\r\n formData.append(\"clinicKey\", \"-1\");\r\n }\r\n if (!formData.has(\"insuranceTypeId\")) {\r\n formData.append(\"insuranceTypeId\", \"-1\");\r\n }\r\n if (!formData.has(\"requestTypeId\")) {\r\n formData.append(\"requestTypeId\", \"-1\");\r\n }\r\n await onSubmit(formData);\r\n setSubmitting(false);\r\n }}\r\n >\r\n \r\n {referralFormStructure.map((field) => renderFormField(field, errors))}\r\n \r\n \r\n <>\r\n
    \r\n
    \r\n

    \r\n Patient Information\r\n

    \r\n
    \r\n {patientFormStructure.map((field) => renderFormField(field, errors))}\r\n
    \r\n
    \r\n

    \r\n Guardian Information\r\n

    \r\n
    \r\n {guardianFormStructure.map((field) => renderFormField(field, errors))}\r\n \r\n \r\n \r\n {attachmentsFormStructure.map((field) =>\r\n renderFormField(field, errors)\r\n )}\r\n \r\n \r\n
    \r\n );\r\n};\r\nexport default ReferralForm;\r\n","import { FormikErrors, FormikValues } from \"formik\";\r\nimport { FC, ReactNode, useEffect, useState } from \"react\";\r\nimport referralFormContext from \"./ReferralFormContext\";\r\n\r\nconst ReferralFormState: FC<{ children: ReactNode }> = ({ children }) => {\r\n const [errors, setErrors] = useState>({});\r\n\r\n useEffect(() => {\r\n // console.log(\"STATE\", errors)\r\n }, [errors])\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n};\r\n\r\nexport default ReferralFormState;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Redirect, useLocation } from \"react-router-dom\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport ReferralService from \"../../../services/ReferralService\";\r\nimport IReferral from \"../../../types/IReferral\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport IReferralDetailed from \"../../../types/IReferralDetailed\";\r\nimport ReferralFormStructure from \"../../../data/ReferralFormStructure\";\r\nimport \"./new-referral-wizard.css\";\r\nimport IReferralFormDropdownData from \"../../../types/IReferralFormDropdownData\";\r\nimport ReferralForm from \"./components/ReferralForm\";\r\nimport IPatient from \"../../../types/IPatient\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport ReferralFormState from \"../../../context/ReferralFormState\";\r\nimport { Alert } from \"@mui/material\";\r\n\r\nimport axios from \"axios\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n} from \"../../../helpers/DateHelper\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport IFormDropdownOption from \"../../../types/IFormDropdownOption\";\r\n\r\ntype stateType =\r\n | number\r\n | IReferral\r\n | {\r\n state: {\r\n patient: IPatient;\r\n };\r\n };\r\n\r\nlet initialFormValues: IReferralDetailed | {} = {};\r\nReferralFormStructure.forEach((r) => {\r\n let t: {\r\n [x: string]: string | number | null;\r\n } = { [r.name]: \"\" };\r\n if (r.initialValue) {\r\n t = { [r.name]: r.initialValue };\r\n }\r\n Object.assign(initialFormValues, t);\r\n});\r\nconst NewReferralWizard: FC<{ name?: string }> = ({ name }) => {\r\n const location = useLocation();\r\n const isDisabled = location.pathname.toLowerCase().includes(\"editreferral\");\r\n const [initialValues, setInitialValues] = useState<{} | IReferralDetailed | {dateOfBirth: string, guardianDob: string ,state: {patient: IPatient}}>(initialFormValues);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [referralFormDropdownData, setReferralFormDropdownData] =\r\n useState();\r\n const { state } = useLocation();\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n const [referral, setReferral] = useState(); \r\n const [route, setRoute] = useState(\"\");\r\n \r\n useEffect(() => {\r\n const path = window.location.href.split('/').reverse()[0];\r\n setRoute(path);\r\n }, []);\r\n \r\n useEffect(() => {\r\n if (route == \"newreferral\") setInitialValues({});\r\n if(typeof state !== \"number\" && state !== undefined){\r\n setInitialValues({\r\n ...state,\r\n dateOfBirth: getFormattedDateFromDateTime(\r\n 'state' in state ? state.state.patient.dob : state.dateOfBirth\r\n ),\r\n guardianDob: getFormattedDateFromDateTime('state' in state ? undefined : state.guardianDob)\r\n });\r\n }\r\n\r\n ReferralService.getReferralFormDataList(accessToken)\r\n .then((response) => {\r\n setReferralFormDropdownData(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n }\r\n });\r\n\r\n }, [route])\r\n const getReferralData = () : IReferral | undefined => {\r\n \r\n if (route === \"newreferral\") return undefined;\r\n \r\n if (route === \"refer-a-patient\" && (\"state\" in initialValues)) {\r\n const referralInfo : {dateOfBirth: string, guardianDob: string ,state: {patient: IPatient}} = initialValues;\r\n const patient: IPatient = referralInfo.state.patient;\r\n const referral: IReferral = {\r\n cancellationReason: \"\",\r\n cernerStatus: \"\",\r\n clinicName: \"\",\r\n createdDtm: \"\",\r\n dateOfBirth: referralInfo.dateOfBirth??\"\",\r\n firstName: patient.patientName.split(', ')[1]??\"\",\r\n id: -1,\r\n lastName: patient.patientName.split(', ')[0]??\"\",\r\n mrn: patient.mrn.toString()??undefined,\r\n botMessage: \"\",\r\n botStatus: \"\",\r\n cancelationRequest: false,\r\n cernerReferralId: undefined,\r\n cernerUpdtDtm: undefined,\r\n clinics: undefined,\r\n guardianDob: referralInfo.guardianDob??undefined,\r\n guardianRelationship: undefined,\r\n guardianRelationshipId: undefined,\r\n insuranceType: undefined,\r\n insuranceTypeId: undefined,\r\n modifyBy: undefined,\r\n modifyDtm: undefined,\r\n parentReferralId: undefined,\r\n patientAcuity: undefined,\r\n patientSex: patient.sex??undefined,\r\n patientSexId: undefined,\r\n patientState: undefined,\r\n phoneNumber: undefined,\r\n physicianId: undefined,\r\n physicianName: patient.physicianName??undefined,\r\n reason: undefined,\r\n referralAppointment: undefined,\r\n requestType: undefined,\r\n secondaryPhoneNumber: undefined,\r\n statusId: undefined,\r\n zipCode: undefined,\r\n };\r\n return referral;\r\n }\r\n \r\n if (route === \"re-refer\") {\r\n const referral: IReferral = initialValues as IReferral;\r\n\r\n referral.cancellationReason = \"\";\r\n referral.cernerStatus = \"\";\r\n referral.clinicName = \"\";\r\n referral.createdDtm = \"\";\r\n referral.id = -1;\r\n referral.cancelationRequest = false;\r\n referral.clinicName = \"\";\r\n referral.clinics = undefined;\r\n referral.reason = undefined;\r\n\r\n return referral;\r\n }\r\n\r\n return undefined;\r\n }\r\n\r\n // return JSX\r\n if (\r\n referralFormDropdownData === undefined ||\r\n Object.keys(referralFormDropdownData).length === 0\r\n ) {\r\n return ;\r\n } else {\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n
    \r\n \r\n\r\n {referralFormDropdownData.practices.length !== 0 ? {\r\n return new Promise((resolve, reject) => {\r\n if (isDisabled) {\r\n ReferralService.editReferral(formData, accessToken).then((response) => {\r\n resolve(response)\r\n setRedirect({ redirect: true, message: \"success\" });\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n reject(e)\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n setRedirect({ redirect: true, message: \"error\" });\r\n }\r\n });\r\n } else {\r\n ReferralService.createReferral(formData, accessToken)\r\n .then((response) => {\r\n resolve(response)\r\n setRedirect({ redirect: true, message: \"success\" });\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n reject(e)\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n setRedirect({ redirect: true, message: \"error\" });\r\n }\r\n });\r\n }\r\n })\r\n }}\r\n referralFormDropdownData={referralFormDropdownData}\r\n referral = {getReferralData()}\r\n isDisabled={isDisabled}\r\n />:\r\n {\"Practice not assigned or Practice is deactivated.\"}\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 NewReferralWizard;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPracticeEdit from \"../types/IPracticeEdit\";\r\nimport IPracticeInfo from \"../types/IPracticeInfo\";\r\nimport IPracticeNonPhysicians from \"../types/IPracticeNonPhysicians\";\r\nimport IPracticePhysicians from \"../types/IPracticePhysicians\";\r\nimport IPracticePhysiciansToVerify from \"../types/IPracticePhysiciansToVerify\";\r\nimport IPracticeSearchResult from \"../types/IPracticeSearchResult\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param searchTerm receives the searched name\r\n * @param token receives the access token of type string\r\n */\r\nconst searchPracticeByName = async (\r\n searchTerm: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n // `${API_BASE_URL}/referral/${id}`,\r\n `${API_BASE_URL}/practice?searchTerm=${searchTerm}&searchKey=name`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst searchPracticeByLocation = async (\r\n searchTerm: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n // `${API_BASE_URL}/referral/${id}`,\r\n `${API_BASE_URL}/practice?searchTerm=${searchTerm}&searchKey=location`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst searchPracticeById = async (\r\n searchTerm: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n // `${API_BASE_URL}/referral/${id}`,\r\n `${API_BASE_URL}/practice?searchTerm=${searchTerm}&searchKey=id`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getPracticePhysicians = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/physicians`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getPracticeNonPhysicians = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/nonphysicians`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getPhysiciansToVerify = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/physicianstoverify`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getPracticeInfo = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/details/shallow`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst practiceDelegation = async (\r\n practiceId: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put<{ delegationEnabled: boolean }>(\r\n `${API_BASE_URL}/practice/${practiceId}/delegation`,\r\n {},\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\nconst practiceDefaultLocationChange = async (\r\n data: {\r\n locationId: number;\r\n practiceId: number;\r\n \r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put<{}>(\r\n `${API_BASE_URL}/Practice/locationchange`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\nconst practiceOwnerChange = async (\r\n data: {\r\n physicianId: number;\r\n practiceId: number;\r\n \r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put<{}>(\r\n `${API_BASE_URL}/Practice/pochange`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n\r\n return result;\r\n};\r\nconst verifyPhysician = async (\r\n data: {\r\n physicianId: number;\r\n practiceId: number;\r\n verificationStatus: boolean;\r\n },\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put<{}>(\r\n `${API_BASE_URL}/practice/verifyPhysician`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getPractice = async (\r\n id: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/${id}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst getPhysicians = async (\r\n id: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/${id}/physicians`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst getLocations = async (\r\n id: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/${id}/locations`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst isPoPresent = async (\r\n id: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/${id}/isPoPresent`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst changeDefaultPractice = async (\r\n data?:any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n\r\n console.log('Practice ID');\r\n console.log(data)\r\n const result = await axios.post(`${API_BASE_URL}/practice/defaultPractice`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\nconst PracticeService = {\r\n searchPracticeByName,\r\n searchPracticeByLocation,\r\n searchPracticeById,\r\n getPracticeNonPhysicians,\r\n getPracticePhysicians,\r\n getPhysiciansToVerify,\r\n getPracticeInfo,\r\n getPhysicians,\r\n getLocations,\r\n isPoPresent,\r\n practiceDelegation,\r\n verifyPhysician,\r\n getPractice,\r\n practiceDefaultLocationChange,\r\n practiceOwnerChange,\r\n changeDefaultPractice\r\n};\r\n\r\nexport default PracticeService;\r\n","import { useEffect, useState } from \"react\";\r\nimport IPracticeInfo from \"../types/IPracticeInfo\";\r\n\r\ntype KEY = \"practice_info\";\r\n\r\nconst getpracticeInfoFromSessionStorage = (\r\n key: KEY,\r\n initialValue: IPracticeInfo | undefined\r\n) => {\r\n const savedValue = localStorage.getItem(key);\r\n const savedValueJSON = savedValue && JSON.parse(savedValue);\r\n if (savedValueJSON) return savedValueJSON;\r\n if (initialValue instanceof Function) return initialValue();\r\n return initialValue;\r\n};\r\n\r\nconst usePracticeInfo = (\r\n key: KEY = \"practice_info\",\r\n initialValue?: IPracticeInfo\r\n) => {\r\n const [practiceInfo, setPracticeInfo] = useState(() => {\r\n return getpracticeInfoFromSessionStorage(key, initialValue);\r\n });\r\n useEffect(() => {\r\n if (practiceInfo !== undefined) {\r\n try {\r\n localStorage.setItem(key, JSON.stringify(practiceInfo));\r\n } catch (e) {\r\n alert(e);\r\n throw e;\r\n } finally {\r\n return;\r\n }\r\n }\r\n }, [practiceInfo]);\r\n return [practiceInfo, setPracticeInfo] as const;\r\n};\r\n\r\nexport default usePracticeInfo;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport IPracticePhysiciansToVerify from \"../../../../types/IPracticePhysiciansToVerify\";\r\nimport PracticeService from \"../../../../services/PracticeService\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport IPracticeRoles from \"../../../../types/IPracticeRoles\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport usePracticeInfo from \"../../../../hooks/usePracticeInfo\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomAlertModal from \"../../../common/CustomAlertModal\";\r\nimport useUserRole from \"../../../../hooks/useUserRole\";\r\nimport { Physicians } from \"../../../../types/IPracticePhysicians\";\r\n\r\n\r\nconst PhysiciansToVerify: FC<{setApiCallCount:any,practiceId:number}> = ({ setApiCallCount,practiceId }) => {\r\n const [practiceInfo] = usePracticeInfo();\r\n const [practicePhysicians, setPracticePhysicians] =\r\n useState();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [submittingYes, setSubmittingYes] = useState();\r\n const [submittingNo, setSubmittingNo] = useState();\r\n const [reload, setReload] = useState(false)\r\n const [error, setError] = useState(null)\r\n const [userRole, setUserRole] = useUserRole();\r\n\r\n const onVerifyClick = (id: number, status: boolean) => {\r\n setError(null)\r\n if (status) {\r\n setSubmittingYes(id)\r\n } else {\r\n setSubmittingNo(id)\r\n }\r\n PracticeService.verifyPhysician(\r\n {\r\n physicianId: id,\r\n practiceId: practiceId,\r\n verificationStatus: status,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n if (status) {\r\n setSubmittingYes(undefined)\r\n setApiCallCount((c:any) => c + 1); \r\n } else {\r\n setSubmittingNo(undefined)\r\n }\r\n setReload((r) => !r)\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n if (status) {\r\n setSubmittingYes(undefined)\r\n } else {\r\n setSubmittingNo(undefined)\r\n }\r\n setError(e);\r\n }\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setError(null)\r\n PracticeService.getPhysiciansToVerify(accessToken, cancelToken)\r\n .then((response) => {\r\n setPracticePhysicians(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [reload]);\r\n const checkRole = ():boolean => {\r\n\r\n if (userRole !== undefined){\r\n return userRole?.practiceRoles.filter(e=>e.roleId == \"3\" || e.roleId == \"9\").length > 0 ? true : false\r\n }\r\n\r\n return false\r\n }\r\n const renderTableHeader = ()=>{ \r\n if (checkRole() || practicePhysicians?.isDelegated) {\r\n return Verify\r\n }\r\n }\r\n\r\n const renderButtons =(user:Physicians)=>{ \r\n if (checkRole() || practicePhysicians?.isDelegated) {\r\n return \r\n
    \r\n {\r\n onVerifyClick(user.physicianId, true);\r\n }}\r\n title=\"YES\"\r\n small\r\n variant=\"accent\"\r\n borderBottomRightRadius=\"0px\"\r\n borderTopRightRadius=\"0px\"\r\n marginRight=\"auto\"\r\n isSubmitting={submittingYes === user.physicianId}\r\n />\r\n {\r\n onVerifyClick(user.physicianId, false);\r\n }}\r\n title=\"NO\"\r\n small\r\n variant=\"danger\"\r\n borderTopLeftRadius=\"0px\"\r\n borderBottomLeftRadius=\"0px\"\r\n marginLeft=\"auto\"\r\n isSubmitting={submittingNo === user.physicianId}\r\n />\r\n
    \r\n \r\n }\r\n }\r\n return (\r\n <>\r\n \r\n
    Physicians To Verify
    \r\n {loading ? (\r\n \r\n ) : (\r\n
    \r\n (\r\n {practicePhysicians !== undefined\r\n ? practicePhysicians.data.length\r\n : 0}\r\n )\r\n
    \r\n )}\r\n \r\n }\r\n content={\r\n <>\r\n

    \r\n Are the physicians below part of your practice? Please indicate Yes\r\n or No. Adding the physician to your practice will enable you to see\r\n data for all of their patients.\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {renderTableHeader()}\r\n \r\n \r\n \r\n \r\n \r\n {practicePhysicians?.data.map((user, key) => {\r\n return (\r\n \r\n \r\n \r\n \r\n {renderButtons(user)}\r\n \r\n \r\n );\r\n })}\r\n \r\n
    NameNPIEmail
    \r\n {user.firstName} {user.lastName}\r\n {user.npi}{user.email}
    \r\n
    \r\n \r\n }\r\n />\r\n {\r\n setError(null)\r\n // setReload(p => !p)\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={error?.response?.data.message || \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default PhysiciansToVerify;\r\n","import { FC, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\nimport IInvitePhysician from \"../../../../types/IInvitePhysician\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport AccountService from \"../../../../services/AccountService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios from \"axios\";\r\nimport * as Yup from 'yup'\r\n\r\nconst AddPhysicianToPracticeModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleAdd?: () => void;\r\n handleError?: () => void;\r\n}> = ({ show, handleClose, handleAdd, handleError }) => {\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(false);\r\n const initialValues: IInvitePhysician = {\r\n firstName: \"\",\r\n midName: \"\",\r\n lastName: \"\",\r\n medicalLicenseNumber: \"\",\r\n npiNum: null,\r\n email: \"\",\r\n mobilePhone: \"\",\r\n title: \"\",\r\n };\r\n\r\n return (\r\n {\r\n setError(false)\r\n if (handleClose) {\r\n handleClose()\r\n }\r\n }} centered>\r\n {\r\n AccountService.emailExists(values.email, accessToken, cancelToken).then((response) => {\r\n if (response.data === false) {\r\n setError(false)\r\n AccountService.invitePhysician(values, accessToken, cancelToken)\r\n .then((response) => {\r\n setSubmitting(false)\r\n if (handleAdd) { handleAdd() }\r\n })\r\n .catch((e) => {\r\n setSubmitting(false)\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n if (handleError) { handleError() }\r\n }\r\n })\r\n } else {\r\n setSubmitting(false)\r\n setError(true)\r\n }\r\n }).catch((e) => {\r\n setError(false)\r\n setSubmitting(false)\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n if (handleError) { handleError() }\r\n }\r\n })\r\n\r\n }}\r\n >\r\n {({ isSubmitting }) => (\r\n \r\n Add new physician to my practice\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {error && A user with this email already exists.}\r\n \r\n \r\n \r\n
    \r\n Note: This physician will be added to your practice and\r\n subsequently invited to join myCHLA.\r\n
    \r\n \r\n {\r\n setError(false)\r\n if (handleClose) {\r\n handleClose()\r\n }\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\r\n />\r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AddPhysicianToPracticeModal;\r\n","import { FC } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst RemoveUserConfirmationModal: FC<{\r\n show: boolean;\r\n name?: string;\r\n handleClose?: () => void;\r\n handleConfirm?: () => void;\r\n isPractice?: boolean;\r\n}> = ({ show, name = \"\", handleClose, handleConfirm, isPractice = true }) => {\r\n return (\r\n \r\n Confirmation Required\r\n \r\n
    \r\n

    Please confirm the removal of {name} from your {isPractice ? \"practice\" : \"embassy\"}.

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default RemoveUserConfirmationModal;\r\n","import { FC, useState, useRef } from \"react\";\r\nimport { Modal, Form } from \"react-bootstrap\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\n\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\n// import IInvitePhysician from \"../../../../types/IInvitePhysician\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport AccountService from \"../../../../services/AccountService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport axios from \"axios\";\r\nimport { Alert } from \"@mui/material\";\r\n\r\n// import * as Yup from 'yup'\r\n\r\nconst InvitePhysicianConfirmationModal: FC<{\r\n show: boolean;\r\n user: any;\r\n onHide?: () => void;\r\n handleAdd?: () => void;\r\n handleError?: () => void;\r\n}> = ({ show, user, onHide, handleAdd, handleError }) => {\r\n //\r\n const { authState } = useOktaAuth();\r\n const history = useHistory();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [data, setData] = useState({});\r\n const emailAddress = useRef(null);\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [success, setSuccess] = useState(false);\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n\r\n\r\n const handleOnChange = (e: any) => {\r\n setData({\r\n ...data,\r\n [e.target.id]: e.target.value,\r\n });\r\n }\r\n\r\n\r\n const handleSubmit = (e: any) => {\r\n setLoading(true);\r\n\r\n setError(false);\r\n e.preventDefault();\r\n\r\n const postBody = {\r\n firstName: user.firstName,\r\n midName: user.midName,\r\n lastName: user.lastName,\r\n medicalLicenseNumber: user.medicalLicenseNumber,\r\n npiNum: user.npi,\r\n email: emailAddress?.current?.value,\r\n mobilePhone: user.mobilePhone,\r\n title: user.title,\r\n verified: true\r\n };\r\n AccountService.invitePhysician(postBody, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setError(false);\r\n setSuccess(true);\r\n setRedirect({ redirect: false, message: \"success\" });\r\n\r\n })\r\n .catch((err) => {\r\n\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n\r\n }\r\n setLoading(false);\r\n setSuccess(false);\r\n\r\n setError(true);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n\r\n\r\n });\r\n }\r\n\r\n return (\r\n {\r\n\r\n\r\n if (onHide) {\r\n setError(false);\r\n setSuccess(false);\r\n onHide()\r\n }\r\n }} centered>\r\n \r\n \r\n Confirmation Required\r\n \r\n \r\n \r\n
    {`Please confirm that you wish to invite ${user.firstName} ${user.lastName} to your practice.`}
    \r\n

    \r\n \r\n handleOnChange(e)}\r\n type='text'\r\n required\r\n name=\"email\"\r\n ref={emailAddress}\r\n defaultValue={user.email}\r\n />\r\n\r\n \r\n {loading ? (\r\n

    \r\n \r\n
    \r\n ) : null}\r\n {success === true ? (<>\r\n \r\n Invitation Sent!\r\n \r\n ) : error === true ? (\r\n <>\r\n \r\n Error in submitting, please try again!\r\n \r\n \r\n ) : <>}\r\n

    \r\n
    Please correct the email address we have on file if necessary and click 'OK' to send an invitation.
    \r\n

    \r\n
    \r\n \r\n \r\n {\r\n if (onHide) {\r\n setError(false);\r\n setSuccess(false);\r\n onHide()\r\n }\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\r\n />\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default InvitePhysicianConfirmationModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport PracticeService from \"../../../../services/PracticeService\";\r\nimport IPracticePhysicians, {\r\n Physicians,\r\n} from \"../../../../types/IPracticePhysicians\";\r\nimport axios from \"axios\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport IPracticeRoles from \"../../../../types/IPracticeRoles\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport AddPhysicianToPracticeModal from \"./AddPhysicianToPracticeModal\";\r\nimport AccountService from \"../../../../services/AccountService\";\r\nimport usePracticeInfo from \"../../../../hooks/usePracticeInfo\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport CustomAlertModal from \"../../../common/CustomAlertModal\";\r\nimport RemoveUserConfirmationModal from \"./RemoveUserConfirmationModal\";\r\nimport InvitePhysicianConfirmationModal from \"./InvitePhysicianConfirmationModal\";\r\nimport useUserRole from \"../../../../hooks/useUserRole\";\r\n\r\nconst PracticePhysicians: FC<{ role?: IPracticeRoles, apiCallCount: any ,practiceId:number}> = ({ role, apiCallCount,practiceId }) => {\r\n const [practicePhysicians, setPracticePhysicians] =\r\n useState();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [showModal, setShowModal] = useState(false);\r\n const [modalShow, setModalShow] = useState(false);\r\n const [username, setUserName] = useState('');\r\n const [showRemoveModal, setShowRemoveModal] = useState(false);\r\n const [error, setError] = useState(false);\r\n const [isSubmitting, setIsSubmitting] = useState<{\r\n name: string;\r\n physicianId?: number;\r\n isSubmitting: boolean;\r\n }>({ name: \"\", physicianId: undefined, isSubmitting: false });\r\n const [practiceInfo] = usePracticeInfo();\r\n const [invited, setInvited] = useState(0);\r\n const [userRole, setUserRole] = useUserRole();\r\n const [response, setResponse] = useState<{\r\n show: boolean;\r\n header: string;\r\n body: string;\r\n }>({\r\n show: false,\r\n header: \"\",\r\n body: \"\",\r\n });\r\n const [userToRemove, setUserToRemove] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n PracticeService.getPracticePhysicians(accessToken, cancelToken)\r\n .then((response) => {\r\n setPracticePhysicians(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [isSubmitting.isSubmitting, invited, apiCallCount]);\r\n const checkRole = ():boolean => {\r\n\r\n if (userRole !== undefined){\r\n return userRole?.practiceRoles.filter(e=>e.roleId == \"3\" || e.roleId == \"9\").length > 0 ? true : false\r\n }\r\n\r\n return false\r\n }\r\n const renderRemoveButton = (user: Physicians) => {\r\n\r\n if ((practicePhysicians?.isDelegated || checkRole()) && user.status === \"Active\") {\r\n return (\r\n \r\n {\r\n setShowRemoveModal(true);\r\n setUserToRemove(user);\r\n }}\r\n title=\"Delete\"\r\n small\r\n variant=\"danger\"\r\n width=\"auto\"\r\n marginLeft=\"70px\"\r\n isSubmitting={\r\n isSubmitting.physicianId === user.physicianId &&\r\n isSubmitting.isSubmitting\r\n }\r\n />\r\n \r\n );\r\n } else return ;\r\n };\r\n const renderAddButton = () => {\r\n\r\n if ((practicePhysicians?.isDelegated || checkRole()) ) {\r\n return (\r\n
    \r\n {\r\n setShowModal(true);\r\n }}\r\n title=\"Add a physician to my practice\"\r\n small\r\n variant=\"secondary-light\"\r\n width=\"auto\"\r\n marginLeft=\"70px\"\r\n />\r\n
    \r\n );\r\n } else return null;\r\n };\r\n const inviteModal = (user: any) => {\r\n setModalShow(true);\r\n setUserName(user);\r\n }\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n Physicians in My Practice\r\n
    \r\n {loading ? (\r\n \r\n ) : (\r\n
    \r\n (\r\n {practicePhysicians !== undefined\r\n ? practicePhysicians.data.length\r\n : 0}\r\n )\r\n
    \r\n )}\r\n \r\n }\r\n content={\r\n <>\r\n {renderAddButton()}\r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(practicePhysicians?.isDelegated || checkRole()) ? :null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n {practicePhysicians?.data.map((user, key) => {\r\n return (\r\n \r\n \r\n \r\n\r\n {(practicePhysicians?.isDelegated || checkRole()) ? user.accountExists === false ? : :null}\r\n \r\n\r\n {renderRemoveButton(user)}\r\n \r\n );\r\n })}\r\n \r\n
    NameEmail Status
    \r\n {user.firstName} {user.lastName}\r\n {user.email} inviteModal(user)} style={{ cursor: 'pointer' }} >Invite physician to join myCHLA{user.userName}{user.status === 'In-Active' ? 'Inactive' : user.status}
    \r\n
    \r\n \r\n }\r\n />\r\n setModalShow(false)}\r\n handleAdd={() => {\r\n setModalShow(false);\r\n setResponse({\r\n show: true,\r\n header: \"Success\",\r\n body: \"Your request has been processed successfully.\",\r\n });\r\n }}\r\n />\r\n\r\n {\r\n setShowModal(false);\r\n }}\r\n handleAdd={() => {\r\n setShowModal(false);\r\n setInvited((c) => c + 1);\r\n setResponse({\r\n show: true,\r\n header: \"Success\",\r\n body: \"Your request has been processed successfully.\",\r\n });\r\n }}\r\n handleError={() => {\r\n setResponse({\r\n show: true,\r\n header: \"Error!\",\r\n body: \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\",\r\n });\r\n }}\r\n />\r\n {\r\n setResponse({\r\n show: false,\r\n header: \"\",\r\n body: \"\",\r\n });\r\n }}\r\n />\r\n {\r\n setShowRemoveModal(false);\r\n setUserToRemove(undefined);\r\n }}\r\n handleConfirm={() => {\r\n setShowRemoveModal(false);\r\n setIsSubmitting({\r\n name: userToRemove?.firstName + \" \" + userToRemove?.lastName,\r\n physicianId: userToRemove?.physicianId,\r\n isSubmitting: true,\r\n });\r\n if (userToRemove?.physicianId) {\r\n AccountService.removePhysician(\r\n {\r\n physicianId: userToRemove?.physicianId,\r\n practiceId: practiceId,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setIsSubmitting({\r\n name: userToRemove?.firstName + \" \" + userToRemove?.lastName,\r\n physicianId: userToRemove?.physicianId,\r\n isSubmitting: false,\r\n });\r\n })\r\n .catch((e) => {\r\n setIsSubmitting({\r\n name: userToRemove?.firstName + \" \" + userToRemove?.lastName,\r\n physicianId: userToRemove?.physicianId,\r\n isSubmitting: false,\r\n });\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n });\r\n }\r\n }}\r\n name={userToRemove?.firstName + \" \" + userToRemove?.lastName}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default PracticePhysicians;\r\n","import { UserClaims } from \"@okta/okta-auth-js\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { useEffect, useState } from \"react\";\r\nimport { appInsights } from \"../appInsights\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\n\r\nconst useUserInfo = () => {\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [userInfo, setUserInfo] = useState(null);\r\n const logout = async () => oktaAuth.signOut();\r\n\r\n useEffect(() => {\r\n if (!authState?.isAuthenticated) {\r\n // When user isn't authenticated, forget any user info\r\n setUserInfo(null);\r\n } else {\r\n oktaAuth\r\n .getUser()\r\n .then((info) => {\r\n if (info === undefined) {\r\n logout();\r\n } else {\r\n setUserInfo(info);\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n });\r\n }\r\n }, [authState?.isAuthenticated]);\r\n\r\n return userInfo;\r\n};\r\n\r\nexport default useUserInfo;\r\n","import { FC, useState, useEffect } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PracticeService from \"../../../../services/PracticeService\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport usePracticeInfo from \"../../../../hooks/usePracticeInfo\";\r\nimport useUserInfo from \"../../../../hooks/useUserInfo\";\r\nimport IPracticeInfo from \"../../../../types/IPracticeInfo\";\r\nimport { OKTA_AUTH_CONFIG } from \"../../../../config\";\r\nimport CustomAlertModal from \"../../../common/CustomAlertModal\";\r\nimport { Form } from \"react-bootstrap\";\r\n\r\nconst MyPracticeInfo: FC<{\r\n onPracticeInfoUpdate?: (practice: IPracticeInfo) => void;\r\n practiceInfo:IPracticeInfo | undefined\r\n}> = ({ onPracticeInfoUpdate,practiceInfo }) => {\r\n // const [practiceInfo, setPracticeInfo] = usePracticeInfo();\r\n const userInfo = useUserInfo();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState(null)\r\n\r\n\r\n\r\n\r\n const redirectOKTA = () => {\r\n let email:any = userInfo?.email;\r\n let isInternal;\r\n if (/^[a-zA-Z0-9._-]+@chla\\.usc\\.edu$/.test(email)) {\r\n isInternal = true;\r\n } \r\n\r\n \r\n if (isInternal) {\r\n window.open(\"https://oktalogin.chla.org/enduser/settings\");\r\n } else {\r\n window.open(\r\n OKTA_AUTH_CONFIG.issuer\r\n ? OKTA_AUTH_CONFIG.issuer.split(\"/oauth2\")[0]\r\n : \"https://extoktalogin.chla.org/enduser/settings\"\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n {practiceInfo !== undefined && (\r\n <>\r\n
    \r\n

    My Practice Info

    \r\n
    \r\n
    \r\n CHLA Practice ID: {practiceInfo?.practiceId}\r\n
    \r\n {practiceInfo.address !== null && <>

    {practiceInfo?.practiceName}

    \r\n

    {practiceInfo?.address.address1}

    \r\n

    {practiceInfo?.address.address2}

    \r\n

    \r\n {practiceInfo?.address.city}, {practiceInfo?.address.state},{\" \"}\r\n {practiceInfo?.address.zip}-{practiceInfo?.address.zip4}\r\n

    }\r\n

    Moving?

    \r\n
      \r\n
    • Is your practice moving?
    • \r\n
    • Are you leaving this practice?
    • \r\n
    • Are you part of another practice or joining a new practice?
    • \r\n
    \r\n Tell us about it\r\n
    \r\n myCHLA Account\r\n
    \r\n

    \r\n Update your account information or change your password{\" \"}\r\n here\r\n

    \r\n
    \r\n \r\n Switch Practice\r\n {\r\n PracticeService.changeDefaultPractice(e.target.value,\r\n accessToken,\r\n cancelToken)\r\n .then((response) => {\r\n window.location.reload()\r\n }\r\n )\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }}>\r\n {practiceInfo?.availablePractices?.map((practice:any) => (\r\n \r\n ))}\r\n \r\n \r\n
    \r\n \r\n )}\r\n {\r\n setError(null)\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={error?.response?.data.message || \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default MyPracticeInfo;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Form, Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\nimport IInviteNonPhysician from \"../../../../types/IInviteNonPhysician\";\r\nimport AccountService from \"../../../../services/AccountService\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport * as Yup from \"yup\";\r\nimport CustomAlert from \"../../../common/CustomAlert\";\r\n\r\nconst AddNonPhysicianToPracticeModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleAdd?: () => void;\r\n handleError?: () => void;\r\n}> = ({ show, handleClose, handleAdd, handleError }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(false);\r\n const initialValues = {\r\n firstName: \"\",\r\n lastName: \"\",\r\n midName: \"\",\r\n email: \"\",\r\n mobilePhone: \"\",\r\n roleId: 2,\r\n };\r\n\r\n return (\r\n {\r\n setError(false);\r\n if (handleClose) {\r\n handleClose();\r\n }\r\n }}\r\n centered\r\n >\r\n {\r\n AccountService.emailExists(values.email, accessToken, cancelToken)\r\n .then((response) => {\r\n if (response.data === false) {\r\n setError(false);\r\n AccountService.inviteNonPhysician(\r\n values,\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setSubmitting(false);\r\n if (handleAdd) {\r\n handleAdd();\r\n }\r\n })\r\n .catch((e) => {\r\n setSubmitting(false);\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n if (handleError) {\r\n handleError();\r\n }\r\n }\r\n });\r\n } else {\r\n setSubmitting(false);\r\n setError(true);\r\n }\r\n })\r\n .catch((e) => {\r\n setError(false);\r\n setSubmitting(false);\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n if (handleError) {\r\n handleError();\r\n }\r\n }\r\n });\r\n }}\r\n >\r\n {({ isSubmitting, values }) => (\r\n \r\n Add non-physician to my practice\r\n \r\n (\r\n \r\n \r\n {props.label}\r\n {props.required ? (\r\n *\r\n ) : (\r\n <>\r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n {error && (\r\n \r\n A user with this email already exists.\r\n \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n Note: This person will be added to your practice and\r\n subsequently invited to join myCHLA.\r\n
    \r\n \r\n {\r\n setError(false);\r\n if (handleClose) {\r\n handleClose();\r\n }\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\r\n />\r\n
    \r\n
    \r\n )}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default AddNonPhysicianToPracticeModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport PracticeService from \"../../../../services/PracticeService\";\r\nimport IPracticeNonPhysicians, {\r\n NonPhysicians,\r\n} from \"../../../../types/IPracticeNonPhysicians\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport IPracticeRoles from \"../../../../types/IPracticeRoles\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport AddNonPhysicianToPracticeModal from \"./AddNonPhysicianToPracticeModal\";\r\nimport AccountService from \"../../../../services/AccountService\";\r\nimport usePracticeInfo from \"../../../../hooks/usePracticeInfo\";\r\nimport IInviteNonPhysician from \"../../../../types/IInviteNonPhysician\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomAlertModal from \"../../../common/CustomAlertModal\";\r\nimport RemoveUserConfirmationModal from \"./RemoveUserConfirmationModal\";\r\nimport useUserRole from \"../../../../hooks/useUserRole\";\r\n\r\nconst PracticeNonPhysicians: FC<{ role?: IPracticeRoles,practiceId:number }> = ({ role,practiceId }) => {\r\n const [nonPhysicians, setNonPhysicians] = useState();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [error, setError] = useState(null);\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [isSubmitting, setIsSubmitting] = useState<{\r\n name: string;\r\n userId?: string;\r\n isSubmitting: boolean;\r\n }>({ name: \"\", userId: \"\", isSubmitting: false });\r\n const [showModal, setShowModal] = useState(false);\r\n const [showRemoveModal, setShowRemoveModal] = useState(false);\r\n const [response, setResponse] = useState<{\r\n show: boolean;\r\n header: string;\r\n body: string;\r\n }>({\r\n show: false,\r\n header: \"\",\r\n body: \"\",\r\n });\r\n const [practiceInfo] = usePracticeInfo();\r\n const [invited, setInvited] = useState(0);\r\n const [userToRemove, setUserToRemove] = useState();\r\n const [userRole, setUserRole] = useUserRole();\r\n\r\n const checkRole = ():boolean => {\r\n\r\n if (userRole !== undefined){\r\n return userRole?.practiceRoles.filter(e=>e.roleId == \"3\" || e.roleId == \"9\").length > 0 ? true : false\r\n }\r\n\r\n return false\r\n }\r\n const renderRemoveButton = (user: NonPhysicians) => {\r\n if ((nonPhysicians?.isDelegated || checkRole()) && user.status === \"Active\") {\r\n return (\r\n \r\n {\r\n setShowRemoveModal(true);\r\n setUserToRemove(user);\r\n }}\r\n title=\"Delete\"\r\n small\r\n variant=\"danger\"\r\n width=\"auto\"\r\n marginLeft=\"70px\"\r\n isSubmitting={\r\n isSubmitting.userId === user.userId && isSubmitting.isSubmitting\r\n }\r\n />\r\n \r\n );\r\n } else return ;\r\n };\r\n const renderAddButton = () => {\r\n if(nonPhysicians !== undefined){\r\n if ((nonPhysicians?.isDelegated || checkRole())) {\r\n return (\r\n
    \r\n {\r\n setShowModal(true);\r\n }}\r\n title=\"Add non-physician to my practice\"\r\n small\r\n variant=\"secondary-light\"\r\n width=\"auto\"\r\n marginLeft=\"70px\"\r\n />\r\n
    \r\n );\r\n } else return null;\r\n }\r\n else return null;\r\n };\r\n\r\n useEffect(() => {\r\n // setError(null);\r\n setLoading(true);\r\n PracticeService.getPracticeNonPhysicians(accessToken, cancelToken)\r\n .then((response) => {\r\n setNonPhysicians(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [isSubmitting.isSubmitting, invited]);\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n Non-Physicians in My Practice\r\n
    \r\n {loading ? (\r\n \r\n ) : (\r\n
    \r\n ({nonPhysicians !== undefined ? nonPhysicians.data.length : 0})\r\n
    \r\n )}\r\n \r\n }\r\n content={\r\n <>\r\n {renderAddButton()}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n {nonPhysicians?.data.map((user, key) => {\r\n return (\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n {renderRemoveButton(user)}\r\n \r\n );\r\n })}\r\n \r\n
    NameEmailRoleStatus
    \r\n {user.firstName} {user.lastName}\r\n {user.email}{user.roleName}{user.status === 'In-Active'?'Inactive':user.status}
    \r\n
    \r\n \r\n }\r\n />\r\n {\r\n setShowModal(false);\r\n }}\r\n handleAdd={() => {\r\n setShowModal(false);\r\n setInvited((c) => c + 1);\r\n setResponse({\r\n show: true,\r\n header: \"Success\",\r\n body: \"Your request has been processed successfully.\",\r\n });\r\n }}\r\n handleError={() => {\r\n setResponse({\r\n show: true,\r\n header: \"Error!\",\r\n body: \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\",\r\n });\r\n }}\r\n />\r\n {\r\n setResponse({\r\n show: false,\r\n header: \"\",\r\n body: \"\",\r\n });\r\n }}\r\n />\r\n {\r\n setShowRemoveModal(false);\r\n setUserToRemove(undefined);\r\n }}\r\n handleConfirm={() => {\r\n setShowRemoveModal(false);\r\n setIsSubmitting({\r\n name: userToRemove?.firstName + \" \" + userToRemove?.lastName,\r\n userId: userToRemove?.userId,\r\n isSubmitting: true,\r\n });\r\n if (userToRemove?.userId) {\r\n AccountService.removeNonPhysician(\r\n {\r\n userId: userToRemove?.userId,\r\n practiceId: practiceId,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setIsSubmitting({\r\n name: userToRemove?.firstName + \" \" + userToRemove?.lastName,\r\n userId: userToRemove?.userId,\r\n isSubmitting: false,\r\n });\r\n })\r\n .catch((e) => {\r\n setIsSubmitting({\r\n name: userToRemove?.firstName + \" \" + userToRemove?.lastName,\r\n userId: userToRemove?.userId,\r\n isSubmitting: false,\r\n });\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n });\r\n }\r\n }}\r\n name={userToRemove?.firstName + \" \" + userToRemove?.lastName}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default PracticeNonPhysicians;\r\n","import React, { FC, useState } from \"react\";\r\nimport \"./custom-toggle.css\";\r\n\r\nconst CustomToggle: FC<{\r\n onToggle: (e: React.MouseEvent) => void;\r\n isOn: boolean;\r\n isDisabled?: boolean;\r\n}> = ({ onToggle, isOn, isDisabled }) => {\r\n const [checked, setChecked] = useState(isOn);\r\n return (\r\n
    \r\n {\" \"}\r\n {\" \"}\r\n
    \r\n );\r\n};\r\n\r\nexport default CustomToggle;\r\n","import { FC, useContext, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport PracticeService from \"../../../../services/PracticeService\";\r\nimport CustomToggle from \"../../../toggle/CustomToggle\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport practiceInfoContext from \"../../../../context/PracticeInfoContext\";\r\nimport usePracticeInfo from \"../../../../hooks/usePracticeInfo\";\r\n\r\nconst PracticeDelegation: FC<{\r\n practiceId: number;\r\n delegationEnabled?: boolean;\r\n}> = ({ practiceId, delegationEnabled }) => {\r\n const [practiceInfo] = usePracticeInfo();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [delegation, setDelegation] = useState(delegationEnabled);\r\n const [toggle, setToggle] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n\r\n useEffect(() => {\r\n if (toggle > 0) {\r\n setLoading(true);\r\n PracticeService.practiceDelegation(practiceId, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n window.location.reload();\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }\r\n }, [toggle]);\r\n\r\n const onToggle = () => {\r\n setToggle((prev) => prev + 1);\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n

    Delegation

    \r\n
    \r\n

    Allow practice admin staff to manage account on my behalf

    \r\n {delegation !== undefined && (\r\n
    \r\n {\" \"}\r\n {\r\n onToggle()\r\n }} />\r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default PracticeDelegation;\r\n","import { useState, FC, useContext, useEffect } from \"react\";\r\nimport PhysiciansToVerify from \"./components/PhysiciansToVerify\";\r\nimport PracticePhysicians from \"./components/PracticePhysicians\";\r\nimport MyPracticeInfo from \"./components/MyPracticeInfo\";\r\nimport PracticeNonPhysicians from \"./components/PracticeNonPhysicians\";\r\nimport PracticeDelegation from \"./components/PracticeDelegation\";\r\nimport IPracticeInfo from \"../../../types/IPracticeInfo\";\r\nimport practiceInfoContext from '../../../context/PracticeInfoContext'\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport PracticeInfoState from \"../../../context/PracticeInfoState\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Roles from \"../../../config/Roles\";\r\nimport useUserRole from \"../../../hooks/useUserRole\";\r\nimport UserService from \"../../../services/UserService\";\r\nimport menuItemsContext from \"../../../context/MenuItemsContext\";\r\nimport Loader from \"../../common/Loader\";\r\n\r\n\r\n\r\nconst MyPractice: FC<{ name?: string }> = ({ name }) => {\r\n // const { practiceInfo, setPracticeInfo } = useContext(practiceInfoContext);\r\n const [ practiceInfo, setPracticeInfo ]= useState();\r\n const [error, setError] = useState(null);\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const { setMenuItems } = useContext(menuItemsContext);\r\n \r\n const [loading, setLoading] = useState(true);\r\n const [userRole, setUserRole] = useUserRole();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n \r\n useEffect(() => {\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n},\r\n [])\r\n\r\n useEffect(() => {\r\n setError(null)\r\n PracticeService.getPracticeInfo(accessToken, cancelToken)\r\n .then((response) => {\r\n setPracticeInfo(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e.response.data.message });\r\n setError(e.response.data.message);\r\n setLoading(false);\r\n }\r\n\r\n });\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n\r\n if (error !== null) {\r\n return (\r\n
    \r\n
    \r\n

    {name}

    \r\n
    {error + \"\"}
    \r\n
    \r\n
    \r\n );\r\n }\r\n const checkRole = ():boolean => {\r\n\r\n if (userRole !== undefined){\r\n return userRole?.practiceRoles.filter(e=>e.roleId == \"3\" || e.roleId == \"9\").length > 0 ? true : false\r\n }\r\n\r\n return false\r\n }\r\n return (\r\n
    \r\n
    \r\n

    {name}

    \r\n {loading ? (\r\n
    \r\n ) : (\r\n
    \r\n\r\n {practiceInfo !== undefined ?
    \r\n
    \r\n \r\n
    \r\n \r\n {(practiceInfo?.canControlDelegation || checkRole()) && (\r\n
    \r\n \r\n
    \r\n )}\r\n
    :null}\r\n
    \r\n {practiceInfo !== undefined ? <>\r\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 MyPractice;\r\n\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPortalUpdateSliderImage from \"../types/IPortalUpdateSliderImage\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getSliderImage = async (\r\n // data: IPortalUpdateSliderImage,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/sliderImages`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the form data\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createSliderImageRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/newsliderimage`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editSliderImageRequest(\r\n data: IPortalUpdateSliderImage,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editsliderimage`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst UploadImageService = {\r\n getSliderImage,\r\n // getAmbulatoryRequestById,\r\n createSliderImageRequest,\r\n editSliderImageRequest,\r\n};\r\n\r\nexport default UploadImageService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IPortalUpdateSliderImage from \"../../../types/IPortalUpdateSliderImage\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport UploadImageService from \"../../../services/UploadImageService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { getFormattedDateFromDateTime } from \"../../../helpers/DateHelper\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst SliderImages: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 10 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/uploadimages\");\r\n };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [sliderImageData, setSliderImageData] =\r\n useState();\r\n const [error, setError] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [flag, setFlag] = useState(false);\r\n const onToggle = (imageData: IPortalUpdateSliderImage) => {\r\n setLoading(true);\r\n setError(null);\r\n imageData.activeRecord = !imageData.activeRecord;\r\n UploadImageService.editSliderImageRequest(imageData, accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n // window.location.reload(false)\r\n setFlag(!flag);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n UploadImageService.getSliderImage(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setSliderImageData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, [flag]);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n \r\n {loading && }\r\n \r\n
    \r\n handleClick()}\r\n variant=\"primary\"\r\n disabled={false}\r\n title=\"Add New Slider\"\r\n width={\"fit-content\"}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {sliderImageData?.map((imageData) => {\r\n return (\r\n \r\n \r\n {imageData.imageName}\r\n \r\n \r\n \r\n \r\n\r\n \r\n {\r\n onToggle(imageData);\r\n }}\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n
    Image NameTargetURLModified ByModified OnAdded to Slider?
    \r\n {imageData.targetUrl}\r\n \r\n {imageData.modifiedBy}\r\n \r\n {getFormattedDateFromDateTime(imageData.modifiedOn)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default SliderImages;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IAnnouncementBanner from \"../types/IAnnouncementBanner\";\r\n\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getAnnouncementServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/announcement`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createAnnouncementServiceRequest(\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addannouncement`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editAnnouncementServiceRequest(\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editannouncement`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst AnnouncementService = {\r\n getAnnouncementServiceList,\r\n // getAmbulatoryRequestById,\r\n createAnnouncementServiceRequest,\r\n editAnnouncementServiceRequest,\r\n};\r\n\r\nexport default AnnouncementService ;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport FormPopover from \"../../common/FormPopover\";\r\nimport IAnnouncementBanner from \"../../../types/IAnnouncementBanner\";\r\nimport IReferral from \"../../../types/IReferral\";\r\nimport Sortable from \"../../common/Sortable\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { padding } from \"@mui/system\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport AnnouncementService from \"../../../services/AnnouncementService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Loader from \"../../common/Loader\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate, getFormattedTimeFromDateTime } from \"../../../helpers/DateHelper\";\r\nimport DisplayBanner from \"../../common/DisplayBanner\";\r\nimport usePagination from \"../../../hooks/usePagination\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst AnnouncementBanner: FC<{ name?: string }> = ({ name }) => {\r\n const history = useHistory();\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [loading, setLoading] = useState(true);\r\n const cancelToken = axios.CancelToken.source();\r\n // const [announcementData, setAnnouncementData, page, setPage, , , totalPages] =\r\n // usePagination(\"announcement_banner\");\r\n const [announcementData, setAnnouncementData] =\r\n useState();\r\n const [error, setError] = useState(null);\r\n const tableCellPadding = { padding: 10};\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newformannouncement\");\r\n };\r\n\r\n const handleOnClick = (announce: IAnnouncementBanner) => {\r\n history.push(\"/portalupdates/components/editformannouncement\", announce);\r\n };\r\n\r\n const onToggle = () => {};\r\n\r\n useEffect(() => {\r\n if (announcementData === undefined || announcementData.length === 0) {\r\n setLoading(true);\r\n setError(null);\r\n AnnouncementService.getAnnouncementServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setAnnouncementData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n } else {\r\n setLoading(false);\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n const incrementCount = () => {\r\n setApiCallCount((c) => c + 1);\r\n };\r\n return (\r\n <>\r\n {/* */}\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {announcementData?.map((announce) => {\r\n return (\r\n \r\n handleOnClick(announce)}\r\n >\r\n {announce.message}\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    MessageTypeValid From Valid To Modified On Modified By
    \r\n {announce.cssClassId === 1\r\n ? \"Success \"\r\n : announce.cssClassId === 2\r\n ? \"Info \"\r\n : announce.cssClassId === 3\r\n ? \" Danger\"\r\n : announce.cssClassId === 4\r\n ? \"Warning\"\r\n : \"\"}\r\n \r\n {getFormattedDateFromDate(announce.validFrom)}\r\n
    \r\n {getFormattedTimeFromDateTime(announce.validFrom)}\r\n
    \r\n {getFormattedDateFromDate(announce.validTo)}\r\n
    \r\n {getFormattedTimeFromDateTime(announce.validTo)}\r\n
    \r\n {getFormattedDateFromDate(announce.modifiedOn)}\r\n {announce.modifiedBy}
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AnnouncementBanner;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\n\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getAlumniSpotlightServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/PortalUpdate/alumnispotlight`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createAlumniSpotlightServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/PortalUpdate/addalumnispotlight`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editAlumniSpotlightServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editalumnispotlight`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst AlumniSpotlightService = {\r\n getAlumniSpotlightServiceList,\r\n // getAmbulatoryRequestById,\r\n createAlumniSpotlightServiceRequest,\r\n editAlumniSpotlightServiceRequest,\r\n};\r\n\r\nexport default AlumniSpotlightService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport AlumniSpotlightService from \"../../../services/AlumniSpotlightService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IAlumniSpotlight from \"../../../types/IAlumniSpotlight\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport usePagination from \"../../../hooks/usePagination\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst AlumniSpotlight: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newalumniform\");\r\n };\r\n const handleOnClick = (alumni: IAlumniSpotlight) => {\r\n history.push(\"/portalupdates/components/editalumniform\", alumni);\r\n };\r\n const [error, setError] = useState(null);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(true);\r\n const onToggle = () => {};\r\n const [alumniData, setAlumniData] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n AlumniSpotlightService.getAlumniSpotlightServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setAlumniData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, []);\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {alumniData?.map((alumni) => {\r\n return (\r\n \r\n handleOnClick(alumni)}\r\n >\r\n {alumni.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is Active\r\n Publication Date\r\n \r\n Modified OnModified By
    \r\n {alumni.fileName}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(alumni.publicationDate)}\r\n \r\n {getFormattedDateFromDate(alumni.modifiedOn)}\r\n \r\n {alumni.modifiedBy}\r\n
    \r\n {/*
    \r\n {\r\n setPage(p);\r\n }}\r\n totalPages={totalPages}\r\n range={5}\r\n />\r\n
    */}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AlumniSpotlight;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IDivisionMonth from \"../types/IDivisionMonth\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getDivisionMonths = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/PortalUpdate/divisionofmonth`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createDivisionMonthServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/PortalUpdate/adddivisionofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editDivisionMonthServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editdivisionofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst DivisionMonthService = {\r\n getDivisionMonths,\r\n // getAmbulatoryRequestById,\r\n createDivisionMonthServiceRequest,\r\n editDivisionMonthServiceRequest,\r\n};\r\n\r\nexport default DivisionMonthService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IDivisionMonth from \"../../../types/IDivisionMonth\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport DivisionMonthService from \"../../../services/DivisionMonthService\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport usePagination from \"../../../hooks/usePagination\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst DivisionOfTheMonth: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newdivisionform\");\r\n };\r\n const handleOnClick = (division: IDivisionMonth) => {\r\n history.push(\"/portalupdates/components/editdivisionform\", division);\r\n };\r\n const tableCellPadding = { padding: 10 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n const onToggle = () => {};\r\n\r\n const [divisionData, setDivisionData] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n DivisionMonthService.getDivisionMonths(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setDivisionData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {divisionData?.map((division) => {\r\n return (\r\n \r\n handleOnClick(division)}\r\n >\r\n {division.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is ActivePublication DateModified OnModified By
    \r\n {division.fileName}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(division.publicationDate)}\r\n \r\n {getFormattedDateFromDate(division.modifiedOn)}\r\n \r\n {division.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DivisionOfTheMonth;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getOnlineCMEServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/onlinecme`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createOnlineCMEServiceRequest(\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addonlinecme`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editOnlineCMEServiceRequest(\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editonlinecme`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst OnlineCMEService = {\r\n getOnlineCMEServiceList,\r\n // getAmbulatoryRequestById,\r\n createOnlineCMEServiceRequest,\r\n editOnlineCMEServiceRequest,\r\n};\r\n\r\nexport default OnlineCMEService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IOnlineCME from \"../../../types/IOnlineCME\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport OnlineCMEService from \"../../../services/OnlineCMEService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport usePagination from \"../../../hooks/usePagination\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\n\r\nconst OnlineCMELectures: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newonlineCMEforms\");\r\n };\r\n const handleOnClick = (cme: IOnlineCME) => {\r\n history.push(\"/portalupdates/components/editonlineCME\", cme);\r\n };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [onlineCMEData, setOnlineCMEData] = useState();\r\n const [error, setError] = useState(null);\r\n\r\n const onToggle = () => {};\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n OnlineCMEService.getOnlineCMEServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setOnlineCMEData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, []);\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {onlineCMEData?.map((cme) => {\r\n return (\r\n \r\n handleOnClick(cme)}\r\n data-title=\"Title\"\r\n id=\"table-text-ambulatory\"\r\n >\r\n {cme.title}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleEvent DateVideoURLIs ActiveModified OnModified By
    \r\n {getFormattedDateFromDate(cme.eventDate)}\r\n \r\n {cme.videoUrl}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(cme.modifiedOn)}\r\n \r\n {cme.modifiedBy}\r\n
    \r\n {/*
    \r\n {\r\n setPage(p);\r\n }}\r\n totalPages={totalPages}\r\n range={5}\r\n />\r\n
    */}\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default OnlineCMELectures;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPGRSASResponse from \"../types/IPGRSASResponse\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getPediatricGRServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/pediatricgrandround`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst getPGRSupportedMediaType = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/pediatricGrandRound/SupportedMediaTypes`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createPediatricGRServiceRequest(\r\n data: any,\r\n setProgress?: React.Dispatch>,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addpediatricgrandround`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n onUploadProgress: (data:any) => {\r\n //Set the progress value to show the progress bar\r\n if (setProgress !== undefined) setProgress(Math.round((100 * data.loaded) / data.total))\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n onUploadProgress: (data:any) => {\r\n //Set the progress value to show the progress bar\r\n if (setProgress !== undefined) setProgress(Math.round((100 * data.loaded) / data.total))\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function deletePediatricGRServiceRequest(\r\n id: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.delete(\r\n `${API_BASE_URL}/portalupdate/deletepediatricgrandround/${id}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editPediatricGRServiceRequest(\r\n data: any,\r\n setProgress?: React.Dispatch>,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n console.log(data.get(\"Video\"));\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editpediatricgrandround`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n onUploadProgress: (data:any) => {\r\n //Set the progress value to show the progress bar\r\n if (setProgress !== undefined) setProgress(Math.round((100 * data.loaded) / data.total))\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n onUploadProgress: (data:any) => {\r\n //Set the progress value to show the progress bar\r\n if (setProgress !== undefined) setProgress(Math.round((100 * data.loaded) / data.total))\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function uploadPGRVideo(\r\n data: any,\r\n setProgress?: React.Dispatch>,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/uploadpgrvideo`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n onUploadProgress: (data:any) => {\r\n //Set the progress value to show the progress bar\r\n if (setProgress !== undefined) setProgress(Math.round((100 * data.loaded) / data.total))\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n onUploadProgress: (data:any) => {\r\n //Set the progress value to show the progress bar\r\n if (setProgress !== undefined) setProgress(Math.round((100 * data.loaded) / data.total))\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function pediatricGrandRoundSAS(\r\n id: Number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/pediatricgrandroundsas/${id}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst PediatricGRService = {\r\n getPediatricGRServiceList,\r\n getPGRSupportedMediaType,\r\n deletePediatricGRServiceRequest,\r\n createPediatricGRServiceRequest,\r\n editPediatricGRServiceRequest,\r\n uploadPGRVideo,\r\n pediatricGrandRoundSAS\r\n};\r\n\r\nexport default PediatricGRService;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col,Form } from \"react-bootstrap\";\r\nimport FormPopover from \"../../common/FormPopover\";\r\nimport IPediatricGR from \"../../../types/IPediatricGR\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport PediatricGRService from \"../../../services/PediatricGRService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport usePagination from \"../../../hooks/usePagination\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst PediatricGrandRounds: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newpediatricform\");\r\n };\r\n const handleOnClick = (pediatric: any) => {\r\n const pediatricEditValue = pediatric;\r\n history.push(\"/portalupdates/components/editpediatric\", pediatricEditValue);\r\n };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(true);\r\n const [pediatricData, setPediatricData] = useState();\r\n const [error, setError] = useState(null);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n PediatricGRService.getPediatricGRServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n console.log(response.data);\r\n setPediatricData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, []);\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {pediatricData?.map((pediatric) => {\r\n \r\n \r\n return (\r\n \r\n {\r\n console.log(\"pediatric: \", pediatric);\r\n handleOnClick(pediatric)\r\n }}\r\n data-title=\"Title\"\r\n id=\"table-text-ambulatory\"\r\n >\r\n {pediatric.title}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleEvent DateIs ActiveModified OnModified By
    \r\n {getFormattedDateFromDate(pediatric.eventDate)}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(pediatric.modifiedOn)}\r\n \r\n {pediatric.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default PediatricGrandRounds;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getPracticeTipServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/PortalUpdate/practicetipofmonth`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createPracticeTipServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/PortalUpdate/addpracticetipofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editPracticeTipServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editpracticetipofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst PracticeTipService = {\r\n getPracticeTipServiceList,\r\n // getAmbulatoryRequestById,\r\n createPracticeTipServiceRequest,\r\n editPracticeTipServiceRequest,\r\n};\r\n\r\nexport default PracticeTipService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IPortalPracticeTip from \"../../../types/IPortalPracticeTip\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport PracticeTipService from \"../../../services/PracticeTipService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport axios from \"axios\";\r\nimport Loader from \"../../common/Loader\";\r\nimport usePagination from \"../../../hooks/usePagination\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nconst PracticeTipOfTheMonth: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newpracticetipform\");\r\n };\r\n const handleOnClick = (practiceTip: IPortalPracticeTip) => {\r\n history.push(\"/portalupdates/components/editpracticetipform\", practiceTip);\r\n };\r\n const [pages, setPages] = useState(0);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [loading, setLoading] = useState(true);\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n const [practiceTipData, setPracticeTipData] =\r\n useState();\r\n const [error, setError] = useState(null);\r\n\r\n const onToggle = () => {};\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n PracticeTipService.getPracticeTipServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setPracticeTipData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n \r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {practiceTipData?.map((practiceTip) => {\r\n return (\r\n \r\n handleOnClick(practiceTip)}\r\n >\r\n {practiceTip.title}\r\n \r\n \r\n {practiceTip.fileName}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is ActivePublication DateModified OnModified By
    \r\n \r\n \r\n {getFormattedDateFromDate(practiceTip.publicationDate)}\r\n \r\n {getFormattedDateFromDate(practiceTip.modifiedOn)}\r\n \r\n {practiceTip.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PracticeTipOfTheMonth;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\n\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getAmbulatoryList = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/ambulatoryschedule`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createNewAmbulatoryRequest(\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addambulatoryschedule`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editAmbulatoryRequest(\r\n data: any,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/PortalUpdate/editambulatoryschedule`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst AmbulatoryService = {\r\n getAmbulatoryList,\r\n // getAmbulatoryRequestById,\r\n createNewAmbulatoryRequest,\r\n editAmbulatoryRequest,\r\n};\r\n\r\nexport default AmbulatoryService;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport FormPopover from \"../../common/FormPopover\";\r\nimport IPortalUpdateAmbulatory from \"../../../types/IPortalUpdateAmbulatory\";\r\nimport IAmbulatoryQuery from \"../../../types/IAmbulatoryQuery\";\r\nimport Sortable from \"../../common/Sortable\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport AmbulatoryService from \"../../../services/AmbulatoryService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst AmbulatoryCareCenter: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/components/newambulatoryschedules\");\r\n };\r\n const handleOnClick = (ambulatory: IPortalUpdateAmbulatory) => {\r\n history.push(\"/portalupdates/components/editambulatory\", ambulatory);\r\n };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(true);\r\n\r\n const [ambulatoryData, setAmbulatoryData] =\r\n useState();\r\n const [error, setError] = useState(null);\r\n\r\n const onToggle = () => {};\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n AmbulatoryService.getAmbulatoryList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setAmbulatoryData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {ambulatoryData?.map((ambulatory) => {\r\n return (\r\n \r\n handleOnClick(ambulatory)}\r\n >\r\n {ambulatory.title}\r\n \r\n \r\n {ambulatory.url}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    \r\n Title\r\n URL Is ActivePublication DateModified OnModified By
    \r\n \r\n \r\n {getFormattedDateFromDate(ambulatory.publicationDate)}\r\n \r\n {getFormattedDateFromDate(ambulatory.modifiedOn)}\r\n \r\n {ambulatory.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AmbulatoryCareCenter;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\n\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n\r\n\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getMemberDirectoryServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/memberdirectory`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createMemberDirectoryServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addmemberdirectory`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editMemberDirectoryServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editmemberdirectory`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst MemberDirectoryService = {\r\n getMemberDirectoryServiceList,\r\n // getAmbulatoryRequestById,\r\n createMemberDirectoryServiceRequest,\r\n editMemberDirectoryServiceRequest,\r\n};\r\n\r\nexport default MemberDirectoryService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IDivisionMonth from \"../../../types/IDivisionMonth\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport DivisionMonthService from \"../../../services/DivisionMonthService\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport MemberDirectoryService from \"../../../services/MemberDirectoryService\";\r\nimport IMemberDirectory from \"../../../types/IMemberDirectory\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nconst MemberDirectory: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/newmemberdirectory\");\r\n };\r\n const handleOnClick = (member: IMemberDirectory) => {\r\n history.push(\"/portalupdates/editmemberdirectory\", member);\r\n };\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n const onToggle = () => {};\r\n\r\n const [memberDirectoryData, setMemberDirectoryData] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n MemberDirectoryService.getMemberDirectoryServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setMemberDirectoryData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {memberDirectoryData?.map((member) => {\r\n return (\r\n \r\n handleOnClick(member)}\r\n >\r\n {member.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is ActivePublication DateModified OnModified By
    \r\n {member.fileName}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(member.publicationDate)}\r\n \r\n {getFormattedDateFromDate(member.modifiedOn)}\r\n \r\n {member.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MemberDirectory;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IClinicalType from \"../types/IClinicalType\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getClinicalPathwayServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/PortalUpdate/clinicalcarepathways`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nconst getClinicalType = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/DropDownData/clinicalcaretypes`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createClinicalPathwayServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/PortalUpdate/addclinicalcarepathways`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editClinicalPathwayServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editclinicalcarepathways`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst ClinicalPathwayService = {\r\n getClinicalPathwayServiceList,\r\n // getAmbulatoryRequestById,\r\n getClinicalType,\r\n createClinicalPathwayServiceRequest,\r\n editClinicalPathwayServiceRequest,\r\n};\r\n\r\nexport default ClinicalPathwayService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IDivisionMonth from \"../../../types/IDivisionMonth\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport DivisionMonthService from \"../../../services/DivisionMonthService\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport IClinicalType from \"../../../types/IClinicalType\";\r\nimport IClinicalPathways from \"../../../types/IClinicalPathways\";\r\nimport ClinicalPathwayService from \"../../../services/ClinicalPathwayService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nconst ClinicalCarePathways: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 10 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/newclinicalcarepathways\");\r\n };\r\n const handleOnClick = (clinicalpathway: IClinicalPathways) => {\r\n history.push(\"/portalupdates/editclinicalcarepathways\", clinicalpathway);\r\n };\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [clinicalTypeData, setClinicalTypeData] = useState();\r\n const [error, setError] = useState(null);\r\n const onToggle = () => {};\r\n\r\n const [clinicalPathwayData, setClinicalPathwayData] =\r\n useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n ClinicalPathwayService.getClinicalType(accessToken)\r\n .then((response) => {\r\n //setLoading(false);\r\n setClinicalTypeData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n });\r\n ClinicalPathwayService.getClinicalPathwayServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setClinicalPathwayData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n const clinicalCareType = (id:number) => {\r\n return clinicalTypeData?.map((option, index: number) => {\r\n if(id == option.id)\r\n {\r\n return option.type;\r\n }\r\n else{\r\n return null\r\n }\r\n });\r\n };\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && clinicalPathwayData == undefined && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {clinicalPathwayData?.map((clinicalpathway) => {\r\n return (\r\n \r\n handleOnClick(clinicalpathway)}\r\n >\r\n {clinicalpathway.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name File Type Is ActivePublication DateModified OnModified By
    \r\n {clinicalpathway.fileName}\r\n \r\n {clinicalCareType(clinicalpathway.clinicalCareId)}\r\n {/* {clinicalpathway.clinicalCareId} */}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(\r\n clinicalpathway.publicationDate\r\n )}\r\n \r\n {getFormattedDateFromDate(clinicalpathway.modifiedOn)}\r\n \r\n {clinicalpathway.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ClinicalCarePathways;\r\n","import { crypto } from \"@okta/okta-auth-js\";\r\nimport { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\n\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n\r\n\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getCareNetworkServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/carenetworkteamcontacts`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createCareNetworkServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addcarenetworkteamcontacts`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editCareNetworkServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editcarenetworkteamcontacts`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst CareNetworkService = {\r\n getCareNetworkServiceList,\r\n // getAmbulatoryRequestById,\r\n createCareNetworkServiceRequest,\r\n editCareNetworkServiceRequest,\r\n};\r\n\r\nexport default CareNetworkService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport ICareNetworkTeam from \"../../../types/ICareNetworkTeam\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport CareNetworkService from \"../../../services/CareNetworkService\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst CareNetworkTeamContacts: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 10 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/newcarenetworkteamcontact\");\r\n };\r\n const handleOnClick = (carenetwork: ICareNetworkTeam) => {\r\n history.push(\"/portalupdates/editcarenetworkteamcontact\", carenetwork);\r\n };\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n\r\n const [careNetworkData, setCareNetworkData] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n CareNetworkService.getCareNetworkServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setCareNetworkData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {careNetworkData?.map((carenetwork) => {\r\n return (\r\n \r\n handleOnClick(carenetwork)}\r\n >\r\n {carenetwork.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is ActivePublication DateModified OnModified By
    \r\n {carenetwork.fileName}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(carenetwork.publicationDate)}\r\n \r\n {getFormattedDateFromDate(carenetwork.modifiedOn)}\r\n \r\n {carenetwork.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CareNetworkTeamContacts;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getMentalHealthServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/mentalhealthresources`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createMentalHealthServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addmentalhealthresources`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editMentalHealthServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editmentalhealthresources`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst MentalHealthService = {\r\n getMentalHealthServiceList,\r\n // getAmbulatoryRequestById,\r\n createMentalHealthServiceRequest,\r\n editMentalHealthServiceRequest,\r\n};\r\n\r\nexport default MentalHealthService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IMentalHealth from \"../../../types/IMentalHealth\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport MentalHealthService from \"../../../services/MentalHealthService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Checkbox } from \"@mui/material\";\r\n\r\nconst MentalHealthResources: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/newmentalhealthresources\");\r\n };\r\n const handleOnClick = (mentalhealth: IMentalHealth) => {\r\n history.push(\"/portalupdates/editmentalhealthresources\", mentalhealth);\r\n };\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n const onToggle = () => {};\r\n\r\n const [mentalhealthData, setMentalhealthData] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n MentalHealthService.getMentalHealthServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setMentalhealthData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {mentalhealthData?.map((mentalhealth) => {\r\n return (\r\n \r\n handleOnClick(mentalhealth)}\r\n >\r\n {mentalhealth.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is ActivePublication DateModified OnModified By
    \r\n {mentalhealth.fileName}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(mentalhealth.publicationDate)}\r\n \r\n {getFormattedDateFromDate(mentalhealth.modifiedOn)}\r\n \r\n {mentalhealth.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MentalHealthResources;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param query receives the body to be sent in the post request\r\n * @param token receives the access token of type string\r\n */\r\nconst getPatientFamilyServiceList = async (\r\n\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/patientfamilyeducationmaterials`,\r\n\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createPatientFamilyServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/addpatientfamilyeducationmaterials`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editPatientFamilyServiceRequest(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editpatientfamilyeducationmaterials`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst PatientFamilyService = {\r\n getPatientFamilyServiceList,\r\n // getAmbulatoryRequestById,\r\n createPatientFamilyServiceRequest,\r\n editPatientFamilyServiceRequest,\r\n};\r\n\r\nexport default PatientFamilyService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table, Col } from \"react-bootstrap\";\r\nimport IPatientFamilyEducation from \"../../../types/IPatientFamilyEducation\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport CustomToggle from \"../../toggle/CustomToggle\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PatientFamilyService from \"../../../services/PatientFamilyService\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Checkbox } from \"@mui/material\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst PatientAndFamilyEducationMaterials: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const handleClick = () => {\r\n history.push(\"/portalupdates/newpatientandfamilyeducationmaterials\");\r\n };\r\n const handleOnClick = (patientfamily: IPatientFamilyEducation) => {\r\n history.push(\"/portalupdates/editpatientandfamilyeducationmaterials\", patientfamily);\r\n };\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [error, setError] = useState(null);\r\n const onToggle = () => {};\r\n\r\n const [patientfamilyData, setPatientfamilyData] = useState();\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n PatientFamilyService.getPatientFamilyServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setPatientfamilyData(response.data);\r\n \r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {patientfamilyData?.map((patientfamily) => {\r\n return (\r\n \r\n handleOnClick(patientfamily)}\r\n >\r\n {patientfamily.title}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })}\r\n \r\n
    TitleFile Name Is ActivePublication DateModified OnModified By
    \r\n {patientfamily.fileName}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(patientfamily.publicationDate)}\r\n \r\n {getFormattedDateFromDate(patientfamily.modifiedOn)}\r\n \r\n {patientfamily.modifiedBy}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default PatientAndFamilyEducationMaterials;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MemberDirectoryService from \"../../../../services/MemberDirectoryService\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewMemberDirectory: FC<{ name?: string }> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [data, setData] = useState({});\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n let form = require(\"../../../../data/newDivisionForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n MemberDirectoryService.createMemberDirectoryServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n \r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n // setLoading(false);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Member Directory

    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n if(value.display !== \"Clinical Care Type \")\r\n {\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n
    \r\n \r\n {/* {loading && } */}\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewMemberDirectory;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate, getFormattedDateFromDateTime, getFormattedTimeFromDateTime } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport ClinicalPathwayService from \"../../../../services/ClinicalPathwayService\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport DateTimeInput from \"../../../common/DateTimeInput\";\r\nimport IClinicalType from \"../../../../types/IClinicalType\";\r\nimport IDropDownInfoWell from \"../../../../types/IDropDownInfoWell\";\r\nconst NewClinicalCarePathways: FC<{ name?: string }> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [data, setData] = useState({});\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n const [clinicalTypeData, setClinicalTypeData] = useState();\r\n const [error, setError] = useState(null);\r\n const cancelToken = axios.CancelToken.source();\r\n const { state: dropDownWells } = useLocation();\r\n const [formData, setFormData] = useState();\r\n \r\n const [value, setValue] = useState(\"\");\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string,id?:any) => {\r\n let value: any;\r\n\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else if(key === 'ClinicalCareId'){\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n const handleOnChangeClinical = (id: any,key? :string) => {\r\n if(key==='ClinicalCareId'){\r\n let data = new FormData();\r\n data.append(\"id\", id);\r\n setData((prev) => ({ ...prev, [key]: id.target.value }));\r\n \r\n }};\r\n \r\n let form = require(\"../../../../data/newClinicalCare.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n ClinicalPathwayService.createClinicalPathwayServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setLoading(false)\r\n // setError(e);\r\n }\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n ClinicalPathwayService.getClinicalType(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setClinicalTypeData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Clinical Care Pathway

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n \r\n \r\n Clinical Care Type *\r\n \r\n\r\n \r\n handleOnChangeClinical(e,'ClinicalCareId')}\r\n aria-label=\"Default select example\"\r\n required\r\n >\r\n {formData === undefined ? (\r\n \r\n ) : null}\r\n {clinicalTypeData\r\n ?.map((option, index: number) => (\r\n <>\r\n \r\n \r\n {/* {getFormattedDateWords(option.publicationDate)} :{\" \"} */}\r\n {option.type}\r\n \r\n \r\n \r\n ))\r\n .reverse()}\r\n \r\n \r\n \r\n \r\n \r\n File Name *\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\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 NewClinicalCarePathways;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport CareNetworkService from \"../../../../services/CareNetworkService\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewCareNetworkTeamContacts: FC<{ name?: string }> = ({ name }) => {\r\n const isDisabled = false;\r\n const [data, setData] = useState({});\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n let form = require(\"../../../../data/newDivisionForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n \r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n setLoading(true)\r\n CareNetworkService.createCareNetworkServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Care Network Team Contacts

    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n if(value.display !== \"Clinical Care Type \")\r\n {\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewCareNetworkTeamContacts;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport PatientFamilyService from \"../../../../services/PatientFamilyService\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewPatientFamily: FC<{ name?: string }> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [data, setData] = useState({});\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n let form = require(\"../../../../data/newDivisionForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n PatientFamilyService.createPatientFamilyServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    \r\n New Patient and Family Education Materials\r\n

    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n if(value.display !== \"Clinical Care Type \")\r\n {\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewPatientFamily;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MentalHealthService from \"../../../../services/MentalHealthService\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewMentalHealth: FC<{ name?: string }> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [data, setData] = useState({});\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n let form = require(\"../../../../data/newDivisionForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n MentalHealthService.createMentalHealthServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Mental Health Resources

    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n if(value.display !== \"Clinical Care Type \")\r\n {\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewMentalHealth;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport IDivisionMonth from \"../../../../types/IDivisionMonth\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MemberDirectoryService from \"../../../../services/MemberDirectoryService\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditMemberDirectory: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const { state: division } = useLocation();\r\n const [data, setData] = useState(division);\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n MemberDirectoryService.editMemberDirectoryServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Member Directory

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={division.title}\r\n />\r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n New File *\r\n \r\n\r\n \r\n handleOnChange(e, \"fileName\")}\r\n placeholder=\"\"\r\n defaultValue={division.fileName}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={division.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n division.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditMemberDirectory;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IDivisionMonth from \"../../../../types/IDivisionMonth\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport ClinicalCarePathways from \"../ClinicalCarePathways\";\r\nimport ClinicalPathwayService from \"../../../../services/ClinicalPathwayService\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport IDropDownInfoWell from \"../../../../types/IDropDownInfoWell\";\r\nimport IClinicalType from \"../../../../types/IClinicalType\";\r\nconst EditClinicalCarePathways: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const { state: division } = useLocation();\r\n const [data, setData] = useState(division);\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n const [clinicalTypeData, setClinicalTypeData] = useState();\r\n const [error, setError] = useState(null);\r\n const cancelToken = axios.CancelToken.source();\r\n const { state: dropDownWells } = useLocation();\r\n const [formData, setFormData] = useState();\r\n \r\n const [value, setValue] = useState(\"\");\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n const handleOnChangeClinical = (id: any, key?: any) => {\r\n if(key==='clinicalCareId'){\r\n\r\n setData((prev) => ({ ...prev, [key]: id.target.value }));\r\n \r\n }};\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n {window.scrollTo(0, 0)}\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n let formData = new FormData();\r\n\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n ClinicalPathwayService.editClinicalPathwayServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n {window.scrollTo(0, 0)}\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n {window.scrollTo(0, 0)}\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n ClinicalPathwayService.getClinicalType(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setClinicalTypeData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Clinical Care Pathways

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={division.title}\r\n />\r\n \r\n \r\n \r\n \r\n Clinical Care Type \r\n \r\n \r\n handleOnChangeClinical(e,'clinicalCareId')}\r\n aria-label=\"Default select example\"\r\n \r\n value={data.clinicalCareId !== undefined ? data.clinicalCareId : division.clinicalCareId}\r\n >\r\n \r\n {clinicalTypeData\r\n ?.map((option, index: number) => (\r\n <>\r\n \r\n \r\n {/* {getFormattedDateWords(option.publicationDate)} :{\" \"} */}\r\n {option.type}\r\n \r\n \r\n \r\n ))\r\n .reverse()}\r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n New File *\r\n \r\n\r\n \r\n handleOnChange(e, \"fileName\")}\r\n placeholder=\"\"\r\n defaultValue={division.fileName}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={division.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n division.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditClinicalCarePathways;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport ICareNetworkTeam from \"../../../../types/ICareNetworkTeam\";\r\nimport CareNetworkService from \"../../../../services/CareNetworkService\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { TrendingUpTwoTone } from \"@material-ui/icons\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditCareNetwork: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n\r\n const { state: carenetwork } = useLocation();\r\n const [data, setData] = useState(carenetwork);\r\n\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const onToggle = () => {\r\n setdelegationToggle(!delegationToggle);\r\n };\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n {window.scrollTo(0, 0)}\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n CareNetworkService.editCareNetworkServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n {window.scrollTo(0, 0)}\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n {window.scrollTo(0, 0)}\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Care Network Team Contacts

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={carenetwork.title}\r\n />\r\n \r\n \r\n \r\n \r\n Existing FileName\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={carenetwork.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n carenetwork.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditCareNetwork;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IDivisionMonth from \"../../../../types/IDivisionMonth\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport IPatientFamilyEducation from \"../../../../types/IPatientFamilyEducation\";\r\nimport PatientFamilyService from \"../../../../services/PatientFamilyService\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditPatientFamily: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const { state: patientfamily } = useLocation();\r\n const [data, setData] = useState(patientfamily);\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const onToggle = () => {\r\n setdelegationToggle(!delegationToggle);\r\n };\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n PatientFamilyService.editPatientFamilyServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Patient And Family Education Materials

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={patientfamily.title}\r\n />\r\n \r\n \r\n \r\n \r\n Existing FileName\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={patientfamily.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n patientfamily.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditPatientFamily;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IDivisionMonth from \"../../../../types/IDivisionMonth\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MentalHealthService from \"../../../../services/MentalHealthService\";\r\nimport IMentalHealth from \"../../../../types/IMentalHealth\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\n\r\nconst EditMentalHealth: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const { state: mentalhealth } = useLocation();\r\n const [data, setData] = useState(mentalhealth);\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const onToggle = () => {\r\n setdelegationToggle(!delegationToggle);\r\n };\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n MentalHealthService.editMentalHealthServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Mental Health Resources

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={mentalhealth.title}\r\n />\r\n \r\n \r\n \r\n \r\n Existing FileName\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={mentalhealth.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n mentalhealth.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditMentalHealth;\r\n","import { Form, Col } from \"react-bootstrap\";\r\nimport IReferralFormField from \"../../types/IReferralFormField\";\r\nimport { getFormattedDate } from \"../../helpers/DateHelper\";\r\nimport { FC, useEffect, useState } from \"react\";\r\n\r\nconst DateTimeInput: FC<{\r\n onChange: (dt: string) => void;\r\n label: string;\r\n required?: boolean;\r\n defaultTime: string;\r\n defaultDate: string;\r\n from:string;\r\n\r\n}> = ({ onChange, label, required, defaultTime,defaultDate,from}) => {\r\n const MAX_DATE = getFormattedDate(new Date());\r\n const [dateTime1, setDateTime1] = useState(defaultDate);\r\n const [dateTime2, setDateTime2] = useState(defaultTime);\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n value = e.target.value;\r\n if (key === \"date\") {\r\n onChange(value + \"T\" + dateTime2);\r\n setDateTime1(value);\r\n } else {\r\n onChange(dateTime1 + \"T\" + value);\r\n setDateTime2(value);\r\n }\r\n };\r\n return (\r\n \r\n \r\n {label}\r\n *\r\n \r\n\r\n \r\n handleOnChange(e, \"date\")}\r\n type=\"date\"\r\n required\r\n defaultValue={defaultDate}\r\n />\r\n \r\n \r\n handleOnChange(e, \"time\")}\r\n type=\"time\"\r\n required\r\n defaultValue={defaultTime}\r\n />\r\n \r\n \r\n );\r\n};\r\n\r\nexport default DateTimeInput;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button, Alert as BootstrapAlert } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate, getFormattedDateFromDateTime, getFormattedDateTimeFromDateTime, getFormattedTimeFromDateTime } from \"../../../../helpers/DateHelper\";\r\nimport CustomAlert from \"../../../common/CustomAlert\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport AnnouncementService from \"../../../../services/AnnouncementService\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Alert } from \"@mui/material\";\r\nimport DateTimeInput from \"../../../common/DateTimeInput\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport IAnnouncementBanner from \"../../../../types/IAnnouncementBanner\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewFomAnnouncement: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const [alertType, setAlertType] = useState(\"\");\r\n const [error, setError] = useState(null);\r\n const [data, setData] = useState({\r\n \r\n message: \"\",\r\n cssClassId: 0,\r\n validFrom: getFormattedDateTimeFromDateTime(new Date()),\r\n validTo: getFormattedDateTimeFromDateTime(new Date()),\r\n modifiedOn: \"\",\r\n modifiedBy: \"\"\r\n });\r\n const [message, setMessage] = useState(\"\");\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const MAX_DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"validFrom\" || key === \"validTo\") {\r\n value = e;\r\n } else {\r\n value = e.target.value.trim();\r\n if (key === \"message\") {\r\n value = e.target.value.trimStart();\r\n setMessage(value);\r\n } else if (key === \"cssClassId\") {\r\n value = parseInt(e.target.value.trim());\r\n setAlertType(value);\r\n }\r\n }\r\n\r\n\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n var from = new Date(data.validFrom);\r\n var to = new Date(data.validTo);\r\n {window.scrollTo(0, 0)}\r\n if(to.getTime() > from.getTime()){\r\n \r\n setLoading(true)\r\n AnnouncementService.createAnnouncementServiceRequest(data, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n else{\r\n setRedirect({ redirect: false, message: \"Date and Time of 'To' should be greater than 'From'\" });\r\n }\r\n \r\n };\r\n\r\n if (error) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Announcement

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Message *\r\n \r\n\r\n \r\n handleOnChange(e, \"message\")}\r\n placeholder=\"\"\r\n required\r\n value={message}\r\n />\r\n \r\n \r\n \r\n \r\n Type *\r\n \r\n\r\n \r\n handleOnChange(e, \"cssClassId\")}\r\n\r\n required\r\n placeholder=\"\"\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n handleOnChange(e, \"validFrom\")}\r\n defaultDate={getFormattedDateFromDateTime(data.validFrom)}\r\n defaultTime={getFormattedTimeFromDateTime(data.validFrom)}\r\n from={getFormattedDateFromDateTime(data.validFrom)}\r\n />\r\n handleOnChange(e, \"validTo\")}\r\n defaultDate={getFormattedDateFromDateTime(data.validTo)}\r\n defaultTime={getFormattedTimeFromDateTime(data.validTo)}\r\n from={getFormattedDateFromDateTime(data.validFrom)}\r\n />\r\n \r\n \r\n Preview\r\n \r\n\r\n \r\n \r\n {alertType === 1\r\n ? message\r\n : alertType === 2\r\n ? message\r\n : alertType === 3\r\n ? message\r\n : alertType === 4\r\n ? message\r\n : \"\"}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewFomAnnouncement;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport ReferralFormStructure from \"../../../../data/ReferralFormStructure\";\r\nimport UploadImageService from \"../../../../services/UploadImageService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nfunction bytesToSize(bytes: number): string {\r\n const sizes: string[] = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\"];\r\n if (bytes === 0) return \"n/a\";\r\n const i: number = parseInt(\r\n Math.floor(Math.log(bytes) / Math.log(1024)).toString()\r\n );\r\n if (i === 0) return `${bytes} ${sizes[i]}`;\r\n return `${(bytes / Math.pow(1024, i)).toFixed(1)} ${sizes[i]}`;\r\n}\r\nconst UploadImages: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const attachmentsFormStructure = ReferralFormStructure.filter(\r\n (r) => r.belongsTo === \"Attachments\"\r\n );\r\n\r\n const [formData, setFormData] = useState(new FormData());\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [message, setMessage] = useState(\"\");\r\n const [status, setStatus] = useState(0);\r\n const [loading, setLoading] = useState(false);\r\n const [flag, setFlag] = useState(false);\r\n const [flag1, setFlag1] = useState(false);\r\n const handleOnChange = (e: any, key: string) => {\r\n let data = new FormData();\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n if (e.target.files.length !== 0) {\r\n let img = new Image();\r\n img.src = window.URL.createObjectURL(e.target.files[0]);\r\n img.onload = () => {\r\n if (img.width === 1140 && img.height === 450) {\r\n setFlag(false);\r\n value = e.target.files[0];\r\n data.append(key, value);\r\n setFormData((prev) => {\r\n let p = prev;\r\n if (p.get(key) == undefined) {\r\n p.append(key, value);\r\n } else {\r\n p.set(key, value);\r\n }\r\n \r\n return p;\r\n });\r\n return;\r\n } else {\r\n setFlag(true);\r\n }\r\n };\r\n } else {\r\n setFlag(false);\r\n }\r\n } else {\r\n value = e.target.value;\r\n }\r\n\r\n if (formData != undefined) {\r\n setFormData((prev) => {\r\n let p = prev;\r\n if (p.get(key) == undefined) {\r\n p.append(key, value);\r\n } else {\r\n p.set(key, value);\r\n }\r\n return p;\r\n });\r\n }\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (formData === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n UploadImageService.createSliderImageRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setMessage(err.response.data.message);\r\n setStatus(err.response.data.status);\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Add New Slider

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

    \r\n To upload an image, please make sure that:\r\n

    \r\n
  • The file extension is(jpg, png or gif)
  • \r\n
  • Image size should not exceed 200KB
  • \r\n
  • Image height must be 450, and width must be 1140
  • \r\n
    \r\n
    \r\n \r\n Image to upload *\r\n handleOnChange(e, \"Attachment\")}\r\n />\r\n \r\n {flag === true ? (\r\n
    \r\n Image Height And Width is not Valid\r\n
    \r\n ) : (\r\n
    \r\n )}\r\n
    {message}
    \r\n \r\n \r\n Target URL *\r\n \r\n\r\n \r\n handleOnChange(e, \"TargetUrl\")}\r\n />\r\n \r\n \r\n
    \r\n \r\n Save\r\n \r\n \r\n {loading && }\r\n \r\n \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default UploadImages;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport AlumniSpotlightService from \"../../../../services/AlumniSpotlightService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewAlumniForm: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [data, setData] = useState({});\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const onToggle = () => {\r\n setdelegationToggle(!delegationToggle);\r\n };\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAlumniForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n // setLoading(true)\r\n {window.scrollTo(0, 0)}\r\n AlumniSpotlightService.createAlumniSpotlightServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Alumni Highlights

    \r\n
    \r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"file\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewAlumniForm;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport PracticeTipService from \"../../../../services/PracticeTipService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewPracticeTipForm: FC<{ name?: string }> = ({ name }) => {\r\n const [data, setData] = useState({});\r\n const DATE = getFormattedDate(new Date());\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n\r\n\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n let form = require(\"../../../../data/newPracticeForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n \r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n PracticeTipService.createPracticeTipServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Practice Tip Of The Month

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewPracticeTipForm;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewDivisionForm: FC<{ name?: string }> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [pages, setPages] = useState(0);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n const [data, setData] = useState({});\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"IsActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n let form = require(\"../../../../data/newDivisionForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true)\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n DivisionMonthService.createDivisionMonthServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Division Of The Month

    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n if(value.display !== \"Clinical Care Type \")\r\n {\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n }\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewDivisionForm;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport AmbulatoryService from \"../../../../services/AmbulatoryService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\n\r\nconst NewAmbulatorySchedules: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [formData, setFormData] = useState({});\r\n const [loading, setLoading] = useState(false);\r\n\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: any) => {\r\n let data: any = formData;\r\n if (key === \"isActive\") {\r\n data[key] = e.target.checked;\r\n } else {\r\n data[key] = e.target.value;\r\n }\r\n data.title = data.title.trimStart();\r\n data.title = data.title.trimEnd();\r\n setFormData(data);\r\n };\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (formData?.title === undefined||formData?.title.trim() === \"\") {\r\n {window.scrollTo(0, 0)}\r\n setRedirect({ redirect: false, message: \"Title is missing\" });\r\n return;\r\n }\r\n formData.title = formData?.title.trimStart();\r\n formData.title = formData?.title.trimEnd();\r\n setLoading(true)\r\n AmbulatoryService.createNewAmbulatoryRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Ambulatory Schedule

    \r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default NewAmbulatorySchedules;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport AmbulatoryService from \"../../../../services/AmbulatoryService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { useLocation, Redirect } from \"react-router-dom\";\r\nimport IPortalUpdateAmbulatory from \"../../../../types/IPortalUpdateAmbulatory\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\n\r\nimport axios from \"axios\";\r\nconst EditAmbulatory: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { state: ambulatory } = useLocation();\r\n const [formData, setFormData] = useState(ambulatory);\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const onToggle = () => {\r\n setdelegationToggle(!delegationToggle);\r\n };\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setFormData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (formData?.title === undefined||formData?.title.trim() === \"\") {\r\n {window.scrollTo(0, 0)}\r\n setRedirect({ redirect: false, message: \"Title is missing\" });\r\n return;\r\n }\r\n formData.title = formData?.title.trimStart();\r\n formData.title = formData?.title.trimEnd();\r\n setLoading(true)\r\n AmbulatoryService.editAmbulatoryRequest(formData, accessToken)\r\n .then((response) => {\r\n \r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Ambulatory Schedule

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={ambulatory.title}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n URL *\r\n \r\n\r\n \r\n handleOnChange(e, \"url\")}\r\n placeholder=\"\"\r\n type = 'Url'\r\n defaultValue={ambulatory.url}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n Is Active\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={ambulatory.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditAmbulatory;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { Redirect, useLocation } from \"react-router-dom\";\r\nimport IAlumniSpotlight from \"../../../../types/IAlumniSpotlight\";\r\nimport AlumniSpotlightService from \"../../../../services/AlumniSpotlightService\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditAlumni: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { state: alumni } = useLocation();\r\n const [data, setData] = useState(alumni);\r\n\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n {window.scrollTo(0, 0)}\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n setLoading(true);\r\n {window.scrollTo(0, 0)}\r\n AlumniSpotlightService.editAlumniSpotlightServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n {window.scrollTo(0, 0)}\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Alumni Highlights

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={alumni.title}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n Existing FileName\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={alumni.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n alumni.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditAlumni;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button, Alert as BootstrapAlert } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n editFormattedTimeFromDateTime,\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n getFormattedTime,\r\n getFormattedTimeFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport AnnouncementService from \"../../../../services/AnnouncementService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { useLocation, Redirect } from \"react-router-dom\";\r\nimport IAnnouncementBanner from \"../../../../types/IAnnouncementBanner\";\r\nimport DateTimeInput from \"../../../common/DateTimeInput\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\n\r\nimport axios from \"axios\";\r\nconst EditAnnouncement: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [loading, setLoading] = useState(false);\r\n \r\n\r\n const { state: announce } = useLocation();\r\n const [formData, setFormData] = useState(announce);\r\n const [alertType, setAlertType] = useState(announce.cssClassId);\r\n const [message, setMessage] = useState(announce.message);\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"validFrom\" || key === \"validTo\") {\r\n value = e;\r\n \r\n } else {\r\n if (key === \"isActive\") {\r\n value = e.target.checked;\r\n }\r\n else if (key === \"cssClassId\") { \r\n value = parseInt(e.target.value);\r\n setAlertType(value);\r\n }\r\n else {\r\n if (key === \"message\") {\r\n value = e.target.value;\r\n setMessage(value);\r\n }\r\n \r\n \r\n }\r\n }\r\n setFormData((prev:any) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n \r\n var from = new Date(formData.validFrom);\r\n var to = new Date(formData.validTo);\r\n if (formData.message === undefined||formData.message.trim() == \"\") {\r\n {window.scrollTo(0, 0)}\r\n setRedirect({\r\n redirect: false,\r\n message: \"Title is missing\",\r\n });\r\n return;\r\n }\r\n setLoading(true)\r\n if(to.getTime() > from.getTime()){\r\n AnnouncementService.editAnnouncementServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n \r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n \r\n }\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n else{\r\n setRedirect({ redirect: false, message: \"Date and Time of 'To' should be greater than 'From'\" });\r\n setLoading(false);\r\n }\r\n \r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Announcement

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Message *\r\n \r\n\r\n \r\n handleOnChange(e, \"message\")}\r\n placeholder=\"\"\r\n value={message}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n Type *\r\n \r\n\r\n \r\n handleOnChange(e, \"cssClassId\")}\r\n required\r\n placeholder=\"\"\r\n defaultValue={\r\n announce.cssClassId === 1\r\n ? \"1\"\r\n : announce.cssClassId === 2\r\n ? \"2\"\r\n : announce.cssClassId === 3\r\n ? \"3\"\r\n : announce.cssClassId === 4\r\n ? \"4\"\r\n : \"\"\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n handleOnChange(e, \"validFrom\")}\r\n defaultDate={getFormattedDateFromDateTime(announce.validFrom)}\r\n defaultTime={editFormattedTimeFromDateTime(announce.validFrom)}\r\n from={getFormattedDateFromDateTime(announce.validFrom)}\r\n />\r\n handleOnChange(e, \"validTo\")}\r\n defaultDate={getFormattedDateFromDateTime(announce.validTo)}\r\n defaultTime={editFormattedTimeFromDateTime(announce.validTo)}\r\n from={getFormattedDateFromDateTime(announce.validFrom)}\r\n\r\n />\r\n \r\n \r\n Preview\r\n \r\n \r\n \r\n \r\n {message}\r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\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 EditAnnouncement;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport PracticeTipService from \"../../../../services/PracticeTipService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport IPortalPracticeTip from \"../../../../types/IPortalPracticeTip\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { TrendingUpTwoTone } from \"@material-ui/icons\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditPracticeTipOfMonth: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const { state: practiceTip } = useLocation();\r\n const DATE = getFormattedDate(new Date());\r\n const [data, setData] = useState(practiceTip);\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n setLoading(true);\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n {window.scrollTo(0, 0)}\r\n PracticeTipService.editPracticeTipServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Practice Tip Of The Month

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={practiceTip.title}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n Existing FileName\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n // disabled={isDisabled}\r\n defaultChecked={practiceTip.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n practiceTip.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {loading && }\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditPracticeTipOfMonth;\r\n","import { FC, useEffect, useState, useRef } from \"react\";\r\nimport { Form, Col, Button, Tab, Tabs, Card } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDate,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IOnlineCME from \"../../../../types/IOnlineCME\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst EditSubform: FC<{\r\n name?: string;\r\n cmedata: IOnlineCME;\r\n onFormClick: (\r\n title: string,\r\n contentTitle: string[],\r\n contentMessage: string[],\r\n contentBulletLine: string[],\r\n contentFullname: string[],\r\n contentSignature: string[]\r\n ) => void;\r\n}> = ({ name, cmedata, onFormClick }) => {\r\n const isDisabled = false;\r\n type FormType = {\r\n title: string;\r\n eventDate: Date;\r\n videoUrl: string;\r\n isActive: boolean;\r\n contentTitle: string[];\r\n contentMessage: string[];\r\n contentBulletLine: string[];\r\n contentFullname: string[];\r\n contentSignature: string[];\r\n };\r\n const [data, setData] = useState({\r\n title: cmedata.title,\r\n eventDate: cmedata.eventDate,\r\n videoUrl: cmedata.videoUrl,\r\n isActive: cmedata.isActive,\r\n contentTitle: cmedata.contentTitle,\r\n contentMessage: cmedata.contentMessage,\r\n contentBulletLine: cmedata.contentBulletLine,\r\n contentFullname: cmedata.contentFullname,\r\n contentSignature: cmedata.contentSignature,\r\n });\r\n\r\n const [fieldCount1, setFieldCount1] = useState(data.contentTitle.length);\r\n const [fieldCount2, setFieldCount2] = useState(data.contentBulletLine.length);\r\n const [fieldCount3, setFieldCount3] = useState(data.contentSignature.length);\r\n const [title, settitle] = useState(\"undefined\");\r\n\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleMultipleOnChange = (\r\n e: any,\r\n key: keyof FormType,\r\n index: number\r\n ) => {\r\n const { [key]: mData } = data;\r\n const nData: string[] = mData as string[];\r\n nData[index] = e.target.value;\r\n\r\n switch (key) {\r\n case \"contentTitle\":\r\n const contentTitle: string[] = [];\r\n data.contentTitle.map((title, index) => {\r\n if (title.trim() != \"\") contentTitle.push(title);\r\n });\r\n data.contentTitle = contentTitle;\r\n if (index != fieldCount1-1) setFieldCount1(Math.max(data.contentTitle.length, 1));\r\n break;\r\n\r\n case \"contentBulletLine\":\r\n const contentBulletLine: string[] = [];\r\n data.contentBulletLine.map((title, index) => {\r\n if (title.trim() != \"\") contentBulletLine.push(title);\r\n });\r\n data.contentBulletLine = contentBulletLine;\r\n if (index != fieldCount2-1) setFieldCount2(Math.max(data.contentBulletLine.length, 1));\r\n break;\r\n\r\n case \"contentSignature\":\r\n const contentSignature: string[] = [];\r\n data.contentSignature.map((title, index) => {\r\n if (title.trim() != \"\") contentSignature.push(title);\r\n });\r\n data.contentSignature = contentSignature;\r\n if (index != fieldCount3-1) setFieldCount3(Math.max(data.contentSignature.length, 1));\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n setData(data);\r\n\r\n onFormClick(\r\n data.contentTitle[0],\r\n data.contentTitle,\r\n data.contentMessage,\r\n data.contentBulletLine,\r\n data.contentFullname,\r\n data.contentSignature\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {new Array(fieldCount1).fill(0).map((count, index) => {\r\n return (\r\n \r\n \r\n Title {index + 1}\r\n {index > 0 ? (\r\n <>\r\n ) : (\r\n *\r\n )}\r\n \r\n\r\n \r\n {\r\n // if (\r\n // e.target.value.trim() == \"\"\r\n // ) {\r\n // settitle(e.target.value.trim());\r\n // // console.log(\"trim\", title);\r\n // } else {\r\n // settitle(e.target.value);\r\n // // console.log(\"not\");\r\n // }\r\n handleMultipleOnChange(e, \"contentTitle\", index);\r\n }}\r\n required\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n data.contentTitle.length == fieldCount1\r\n ? setFieldCount1((prev) => prev + 1)\r\n : null\r\n }\r\n >\r\n Add New Title\r\n \r\n \r\n \r\n Message\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(e, \"contentMessage\", 0)\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n\r\n {new Array(fieldCount2).fill(0).map((count, index) => {\r\n return (\r\n \r\n \r\n Bullet Line {index + 1}\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(\r\n e,\r\n \"contentBulletLine\",\r\n index\r\n )\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n data.contentBulletLine.length == fieldCount2\r\n ? setFieldCount2((prev) => prev + 1)\r\n : null\r\n }\r\n >\r\n Add New Bullet Line\r\n \r\n \r\n \r\n Full Name\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(e, \"contentFullname\", 0)\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n\r\n {new Array(fieldCount3).fill(0).map((count, index) => {\r\n return (\r\n \r\n \r\n Signature {index + 1}\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(e, \"contentSignature\", index)\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n data.contentSignature.length == fieldCount3\r\n ? setFieldCount3((prev) => prev + 1)\r\n : null\r\n }\r\n >\r\n Add New Signature\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {/* {ReactHtmlParser(pgr.content)} */}\r\n\r\n {data.contentTitle?.map((bullet, index) => {\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n {bullet}\r\n \r\n \r\n );\r\n })}\r\n \r\n {getFormattedDateFromDate(data.eventDate)}\r\n \r\n \r\n {data.contentMessage[0]}\r\n \r\n {data.contentBulletLine?.map((bullet, index) => {\r\n return (\r\n
    \r\n {index + 1}.{\" \"}\r\n {bullet}\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n {data.contentFullname[0]}\r\n \r\n {data.contentSignature?.map((bullet, index) => {\r\n return
    {bullet}
    ;\r\n })}\r\n\r\n window.open(data.videoUrl)}\r\n >\r\n {\"Watch \" + \"\\u00bb\"}\r\n \r\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 EditSubform;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport EditSubForm from \"./EditSubform\";\r\nimport OnlineCMEService from \"../../../../services/OnlineCMEService\";\r\nimport IOnlineCME from \"../../../../types/IOnlineCME\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditOnlineCME: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({\r\n redirect: false,\r\n message: \"\",\r\n errorMessage: \"\",\r\n });\r\n const { state: cme } = useLocation();\r\n const [formData, setFormData] = useState(cme);\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const handleFormClick = (\r\n title: string,\r\n contentTitle: string[],\r\n contentMessage: string[],\r\n contentBulletLine: string[],\r\n contentFullname: string[],\r\n contentSignature: string[]\r\n ) => {\r\n setFormData((prev: any) => ({\r\n ...prev,\r\n title: title,\r\n contentTitle: contentTitle,\r\n contentMessage: contentMessage,\r\n contentBulletLine: contentBulletLine,\r\n contentFullname: contentFullname,\r\n contentSignature: contentSignature,\r\n }));\r\n };\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setFormData((prev: any) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n const handleSubmit = (e: any) => {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n e.preventDefault();\r\n if (formData.title === undefined || formData.title.trim() === \"\") {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Title is missing\",\r\n });\r\n return;\r\n }\r\n for (let i = 1; i < formData.contentTitle.length; i++) {\r\n if (\r\n formData.contentTitle[i] != \"\" ||\r\n formData.contentTitle != undefined\r\n ) {\r\n if (formData.contentTitle[i].trim() == \"\") {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Do not put space as title\",\r\n });\r\n return;\r\n } else {\r\n formData.contentTitle[i] = formData.contentTitle[i].trim();\r\n }\r\n }\r\n }\r\n for (let i = 0; i < formData.contentBulletLine.length; i++) {\r\n formData.contentBulletLine[i] = formData.contentBulletLine[i].trim();\r\n }\r\n for (let i = 0; i < formData.contentSignature.length; i++) {\r\n formData.contentSignature[i] = formData.contentSignature[i].trim();\r\n }\r\n setLoading(true);\r\n OnlineCMEService.editOnlineCMEServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\", errorMessage: \"\" });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"success\", errorMessage: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Error in submitting the form, please try again!\",\r\n });\r\n });\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n {redirect.errorMessage}\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Online CME Lectures

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={cme.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Event Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"eventDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(cme.eventDate)}\r\n />\r\n \r\n \r\n \r\n \r\n Video URL *\r\n \r\n\r\n \r\n handleOnChange(e, \"videoUrl\")}\r\n placeholder=\"\"\r\n type=\"Url\"\r\n defaultValue={cme.videoUrl}\r\n required\r\n />\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditOnlineCME;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IDivisionMonth from \"../../../../types/IDivisionMonth\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport DivisionMonthService from \"../../../../services/DivisionMonthService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Alert } from \"@mui/material\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst EditDivisionOfMonth: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { state: division } = useLocation();\r\n const [data, setData] = useState(division);\r\n\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const onToggle = () => {\r\n setdelegationToggle(!delegationToggle);\r\n };\r\n\r\n const handleOnChange = (e: any, key: string) => {\r\n let value: any;\r\n if (key === \"Attachment\") {\r\n value = e.target.files[0];\r\n } else if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n setData((prev) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newAmbulatorySchedules.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n e.preventDefault();\r\n if (data === undefined) {\r\n {window.scrollTo(0, 0)}\r\n alert(\"Cannot submit an empty form. Please attach an image to upload.\");\r\n } else {\r\n let formData = new FormData();\r\n Object.entries(data).map((entry) => {\r\n const key = entry[0];\r\n const value: any = entry[1];\r\n if (value !== null) {\r\n formData.append(key, value);\r\n }\r\n });\r\n setLoading(true)\r\n {window.scrollTo(0, 0)}\r\n DivisionMonthService.editDivisionMonthServiceRequest(\r\n formData,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setLoading(false)\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false)\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }\r\n };\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    Edit Division Of The Month

    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n placeholder=\"\"\r\n defaultValue={division.title}\r\n />\r\n \r\n \r\n \r\n \r\n Existing FileName\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n Replacement File\r\n \r\n\r\n \r\n handleOnChange(e, \"Attachment\")}\r\n disabled={isDisabled}\r\n />\r\n \r\n \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n defaultChecked={division.isActive}\r\n />\r\n \r\n \r\n \r\n \r\n Publication Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"publicationDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n division.publicationDate\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default EditDivisionOfMonth;\r\n","import { useEffect, useState } from \"react\";\r\nimport ReactQuill from \"react-quill\";\r\nimport \"react-quill/dist/quill.snow.css\";\r\n\r\nfunction RichTextEditor(props) {\r\n const [editorHtml, setEditorHtml] = useState(\"\");\r\n\r\n const modules = {\r\n toolbar: [\r\n [{ header: [1, 2, false] }],\r\n [\"bold\", \"italic\", \"underline\", \"strike\", \"blockquote\"],\r\n [\r\n { list: \"ordered\" },\r\n { list: \"bullet\" },\r\n { indent: \"-1\" },\r\n { indent: \"+1\" },\r\n ],\r\n [\"link\"],\r\n ],\r\n };\r\n\r\n const formats = [\r\n \"header\",\r\n \"bold\",\r\n \"italic\",\r\n \"underline\",\r\n \"strike\",\r\n \"blockquote\",\r\n \"list\",\r\n \"bullet\",\r\n \"indent\",\r\n \"link\",\r\n \"image\",\r\n ];\r\n\r\n return (\r\n \r\n );\r\n}\r\n\r\nexport default RichTextEditor;\r\n","import { FC, useEffect, useState, useRef } from \"react\";\r\nimport { Form, Col, Button, Tab, Tabs, Card } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDate,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IOnlineCME from \"../../../../types/IOnlineCME\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport RichTextEditor from \"../../../RichTextEditor/RichTextEditor\";\r\nimport { title } from \"process\";\r\nimport IPediatricGR from \"../../../../types/IPediatricGR\";\r\n\r\nconst PediatricSubForm: FC<{\r\n name?: string;\r\n pediatricData: IPediatricGR;\r\n editorHtml: any;\r\n setEditorHtml: any;\r\n onFormClick: (\r\n title: string,\r\n contentTitle: string,\r\n contentMessage: string,\r\n cosntentBulletLine: string,\r\n contentFullname: string,\r\n contentSignature: string\r\n ) => void;\r\n}> = ({ name, pediatricData, editorHtml, setEditorHtml, onFormClick }) => {\r\n const isDisabled = false;\r\n type FormType = {\r\n title: string;\r\n eventDate: Date;\r\n videoUrl: string;\r\n isActive: boolean;\r\n contentTitle: string;\r\n contentBulletLine: string;\r\n contentMessage: string;\r\n contentFullname: string;\r\n contentSignature: string;\r\n };\r\n const [data, setData] = useState({\r\n title: pediatricData.title,\r\n eventDate: pediatricData.eventDate,\r\n videoUrl: pediatricData.videoUrl,\r\n isActive: pediatricData.isActive,\r\n contentTitle: pediatricData.contentTitle,\r\n contentMessage: pediatricData.contentMessage,\r\n contentBulletLine: pediatricData.contentBulletLine,\r\n contentFullname: pediatricData.contentFullname,\r\n contentSignature: pediatricData.contentSignature,\r\n });\r\n\r\n const handleOnChange = (e: any, key: keyof FormType) => {\r\n const { [key]: mData } = data;\r\n\r\n switch (key) {\r\n case \"title\":\r\n data.title = e.target.value;\r\n break;\r\n\r\n case \"contentTitle\":\r\n data.contentTitle = e.target.value;\r\n break;\r\n\r\n case \"contentFullname\":\r\n data.contentFullname = e.target.value;\r\n break;\r\n\r\n case \"contentSignature\":\r\n data.contentSignature = e.target.value;\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n setData(data);\r\n\r\n onFormClick(\r\n data.title,\r\n data.contentTitle,\r\n data.contentMessage,\r\n \"\",\r\n data.contentFullname,\r\n data.contentSignature\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 Title *\r\n \r\n\r\n \r\n handleOnChange(e, \"title\")}\r\n defaultValue={pediatricData.title}\r\n required\r\n />\r\n \r\n \r\n \r\n \r\n SubTitle\r\n \r\n\r\n \r\n handleOnChange(e, \"contentTitle\")}\r\n defaultValue={pediatricData.contentTitle}\r\n />\r\n \r\n \r\n \r\n \r\n Message\r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n Full Name\r\n \r\n\r\n \r\n handleOnChange(e, \"contentFullname\")}\r\n placeholder=\"\"\r\n defaultValue={pediatricData.contentFullname}\r\n />\r\n \r\n \r\n\r\n \r\n \r\n Signature\r\n \r\n\r\n \r\n handleOnChange(e, \"contentSignature\")}\r\n defaultValue={pediatricData.contentSignature}\r\n />\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {/* {ReactHtmlParser(pgr.content)} */}\r\n \r\n {pediatricData.title}\r\n \r\n {pediatricData.contentTitle\r\n ?.split(\"|\")\r\n .map((bullet, index) => {\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n {bullet}\r\n \r\n \r\n );\r\n })}\r\n \r\n {getFormattedDateFromDate(pediatricData.eventDate)}\r\n \r\n \r\n {ReactHtmlParser(editorHtml)}\r\n
    \r\n
    \r\n \r\n {pediatricData.contentFullname?.split(\"|\")[0]}\r\n \r\n {pediatricData.contentSignature\r\n ?.split(\"|\")\r\n .map((bullet, index) => {\r\n return {bullet}
    ;\r\n })}\r\n\r\n window.open(pediatricData.videoUrl)}\r\n >\r\n {\"Watch \" + \"\\u00bb\"}\r\n \r\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 PediatricSubForm;\r\n","import IPediatricGR from \"../types/IPediatricGR\";\r\n\r\nfunction convertOlderPediatricToNewForm(oldPGR: IPediatricGR){\r\n const pgr = oldPGR;\r\n pgr.contentMessage = (pgr.contentBulletLine !== \"\" \r\n ? '

    '\r\n + pgr.contentMessage.split('|')[0] \r\n + '

    1. '\r\n + pgr.contentBulletLine.split('|').filter(src => src !== \"\").join('
    2. ')\r\n +'
    '\r\n :pgr.contentMessage);\r\n\r\n pgr.contentTitle = pgr.contentTitle.split('|').length > 1 \r\n ? pgr.contentTitle.split('|').filter(src => src !== \"\").slice(1).join('|')\r\n : pgr.contentTitle.split('|').filter(src => src !== \"\").join('|');\r\n pgr.contentFullname = pgr.contentFullname.split('|').filter(src => src !== \"\").join('|');\r\n pgr.contentSignature = pgr.contentSignature.split('|').filter(src => src !== \"\").join('|')\r\n \r\n\r\n pgr.contentBulletLine = \"\";\r\n\r\n return pgr;\r\n}\r\n\r\nconst PediatricHelper = {\r\n convertOlderPediatricToNewForm,\r\n}\r\n\r\nexport default PediatricHelper;","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, ProgressBar, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDateTime,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport PediatricSubForm from \"./PediatricSubForm\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport IPediatricGR from \"../../../../types/IPediatricGR\";\r\nimport PediatricHelper from \"../../../../helpers/PediatricHelper\";\r\nimport PediatricGRService from \"../../../../services/PediatricGRService\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\n\r\nconst PediatricForm: FC<{\r\n name?: string;\r\n variant?: string;\r\n}> = ({ name, variant }) => {\r\n const isDisabled = false;\r\n const { state: pediatric } = useLocation();\r\n const [data, setdata] = useState({\r\n contentMessage:\r\n \"At the end of this activity participants should be able to: \",\r\n isActive: false\r\n });\r\n const [file, setFile] = useState(null);\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [progress, setProgress] = useState();\r\n const [redirect, setRedirect] = useState({\r\n redirect: false,\r\n message: \"\",\r\n errorMessage: \"\",\r\n });\r\n const [editorHtml, setEditorHtml] = useState(\"At the end of this CME activity participants should be able to:\");\r\n const [supportedTypes, setSupportedTypes] = useState(\"\");\r\n useEffect(() => {\r\n if (variant === \"EditPediatricForm\") {\r\n setdata(PediatricHelper.convertOlderPediatricToNewForm(pediatric));\r\n setEditorHtml(PediatricHelper.convertOlderPediatricToNewForm(pediatric).contentMessage);\r\n }\r\n getPGRSupportedMediaType().then(\r\n supportedTypes =>\r\n setSupportedTypes(supportedTypes)\r\n ).catch(\r\n err =>\r\n setSupportedTypes(\"video/mp4\")\r\n );\r\n }, []);\r\n\r\n const getPGRSupportedMediaType = async () => {\r\n const supportedTypesList = (await PediatricGRService.getPGRSupportedMediaType()).data;\r\n const supportedTypes = supportedTypesList.join(', ');\r\n return supportedTypes;\r\n }\r\n const handleFormClick = (\r\n title: string,\r\n contentTitle: string,\r\n contentMessage: string,\r\n contentBulletLine: string,\r\n contentFullname: string,\r\n contentSignature: string\r\n ) => {\r\n setdata((prev: any) => ({\r\n ...prev,\r\n title: title,\r\n contentTitle: contentTitle,\r\n contentMessage: contentMessage,\r\n contentFullname: contentFullname,\r\n contentSignature: contentSignature,\r\n }));\r\n };\r\n const handleOnChange = (e: any, key: any) => {\r\n let value: any;\r\n value = e.target.value;\r\n if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n\r\n setdata((prev: any) => ({ ...prev, [key]: value }));\r\n };\r\n const handleFile = (e: any) => {\r\n if (e.target.files.length === 0) {\r\n setFile(null);\r\n if (variant === \"EditPediatricForm\"){\r\n changeValue();\r\n }\r\n } else {\r\n setFile(e.target.files[0]);\r\n }\r\n };\r\n const handleSubmit = (e: any) => {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n e.preventDefault();\r\n console.log(data);\r\n if (data.title === undefined || data.title.trim() === \"\") {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Title is missing\",\r\n });\r\n return;\r\n }\r\n\r\n if (file === null && (variant === \"NewPediatricForm\" || (videoExists === false && variant === \"EditPediatricForm\"))) {\r\n const videoInput: HTMLInputElement = document.getElementById(\r\n \"editVideo\"\r\n ) as HTMLInputElement;\r\n videoInput.focus();\r\n return;\r\n }\r\n\r\n var formData = new FormData();\r\n\r\n formData.append(\"Title\", data.title);\r\n formData.append(\"EventDate\", data.eventDate.toString());\r\n\r\n if (file !== null) formData.append(\"Video\", file);\r\n\r\n formData.append(\"IsActive\", data.isActive.toString());\r\n formData.append(\"ContentTitle\", data.contentTitle ?? \"\");\r\n formData.append(\"ContentMessage\", editorHtml ?? \"\");\r\n formData.append(\"ContentBulletLine\", \"\");\r\n formData.append(\"ContentFullname\", data.contentFullname ?? \"\");\r\n formData.append(\"ContentSignature\", data.contentSignature ?? \"\");\r\n\r\n setLoading(true);\r\n if (variant === \"NewPediatricForm\") {\r\n PediatricGRService.createPediatricGRServiceRequest(\r\n formData,\r\n setProgress,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({\r\n redirect: false,\r\n message: \"success\",\r\n errorMessage: \"\",\r\n });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\", errorMessage: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n\r\n setLoading(false);\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Error in submitting the form, please try again!\",\r\n });\r\n });\r\n }\r\n\r\n if (variant === \"EditPediatricForm\") {\r\n formData.append(\"Id\", pediatric.id.toString());\r\n formData.append(\"VideoUrl\", pediatric.videoUrl);\r\n PediatricGRService.editPediatricGRServiceRequest(\r\n formData,\r\n setProgress,\r\n accessToken\r\n )\r\n .then((response) => {\r\n setRedirect({\r\n redirect: false,\r\n message: \"success\",\r\n errorMessage: \"\",\r\n });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\", errorMessage: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n\r\n setLoading(false);\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Error in submitting the form, please try again!\",\r\n });\r\n });\r\n }\r\n };\r\n const changeValue = () => {\r\n if (!videoExists) return;\r\n\r\n if (variant === \"NewPediatricForm\") {\r\n return;\r\n }\r\n const videoInput: HTMLInputElement = document.getElementById(\r\n \"editVideo\"\r\n ) as HTMLInputElement;\r\n if (videoInput !== null && videoInput.files?.length === 0) {\r\n videoInput.blur();\r\n // Create a new File object\r\n const myFile = new File([\"Hello World!\"], `${pediatric.videoUrl}`, {\r\n type: \"text/plain\",\r\n });\r\n\r\n // Now let's create a DataTransfer to get a FileList\r\n const dataTransfer = new DataTransfer();\r\n dataTransfer.items.add(myFile);\r\n videoInput.files = dataTransfer.files;\r\n } else {\r\n console.log(\"Hello\");\r\n }\r\n };\r\n\r\n const videoExists = data?.videoUrl?.includes(\"http\") ? false : true;\r\n\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n {redirect.errorMessage}\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    {name}

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n IsActive\r\n \r\n\r\n \r\n handleOnChange(e, \"isActive\")}\r\n disabled={isDisabled}\r\n defaultChecked={data.isActive ?? false}\r\n />\r\n \r\n \r\n \r\n \r\n Event Date *\r\n \r\n\r\n \r\n handleOnChange(e, \"eventDate\")}\r\n type=\"date\"\r\n required\r\n defaultValue={getFormattedDateFromDateTime(\r\n data.eventDate ?? \"\"\r\n )}\r\n />\r\n \r\n \r\n \r\n \r\n Video *\r\n \r\n\r\n \r\n <>\r\n handleFile(e)}\r\n disabled={isDisabled}\r\n id=\"editVideo\"\r\n autoFocus\r\n onFocus={changeValue}\r\n />\r\n {file !== null && progress && (\r\n
    \r\n \r\n {progress}%\r\n
    \r\n
    \r\n )}\r\n \r\n \r\n {/* {videoExists === true ? (\r\n <>\r\n \r\n \r\n \r\n This will replace current video. (Optional)\r\n
    \r\n \r\n \r\n ) : null} */}\r\n \r\n\r\n {!videoExists && (\r\n \r\n \r\n Video URL\r\n \r\n\r\n \r\n handleOnChange(e, \"videoUrl\")}\r\n placeholder=\"\"\r\n type=\"Url\"\r\n defaultValue={pediatric.videoUrl}\r\n />\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n Save\r\n \r\n \r\n \r\n {/* {loading && } */}\r\n \r\n \r\n \r\n
    \r\n \r\n \r\n );\r\n }\r\n};\r\n\r\nexport default PediatricForm;\r\n","import { FC, useEffect, useState, useRef } from \"react\";\r\nimport { Form, Col, Button, Tab, Tabs, Card } from \"react-bootstrap\";\r\nimport DateHelper, {\r\n getFormattedDate,\r\n getFormattedDateFromDate,\r\n} from \"../../../../helpers/DateHelper\";\r\nimport IOnlineCME from \"../../../../types/IOnlineCME\";\r\nimport parse from \"html-react-parser\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { IndexType } from \"typescript\";\r\n\r\nconst SubForm: FC<{\r\n name?: string;\r\n cmedata: IOnlineCME;\r\n onFormClick: (\r\n title: string,\r\n contentTitle: string[],\r\n contentMessage: string[],\r\n contentBulletLine: string[],\r\n contentFullname: string[],\r\n contentSignature: string[]\r\n ) => void;\r\n}> = ({ name, cmedata, onFormClick }) => {\r\n const isDisabled = false;\r\n type FormType = {\r\n title: string;\r\n eventDate: Date;\r\n videoUrl: string;\r\n isActive: boolean;\r\n contentTitle: string[];\r\n contentMessage: string[];\r\n contentBulletLine: string[];\r\n contentFullname: string[];\r\n contentSignature: string[];\r\n };\r\n // console.log(cmedata);\r\n const [data, setData] = useState({\r\n title: \"\",\r\n eventDate: new Date(),\r\n videoUrl: \"\",\r\n isActive: false,\r\n contentTitle: [],\r\n contentMessage: [\r\n \"At the end of this activity participants should be able to: \",\r\n ],\r\n contentBulletLine: [],\r\n contentFullname: [],\r\n contentSignature: [],\r\n });\r\n\r\n const [fieldCount1, setFieldCount1] = useState(1);\r\n const [fieldCount2, setFieldCount2] = useState(1);\r\n const [fieldCount3, setFieldCount3] = useState(1);\r\n const [title, settitle] = useState(\"\");\r\n\r\n const DATE = getFormattedDate(new Date());\r\n\r\n const handleMultipleOnChange = (\r\n e: any,\r\n key: keyof FormType,\r\n index: number\r\n ) => {\r\n const { [key]: mData } = data;\r\n\r\n const nData: string[] = mData as string[];\r\n nData[index] = e.target.value;\r\n\r\n switch (key) {\r\n case \"contentTitle\":\r\n const contentTitle: string[] = [];\r\n data.contentTitle.map((title, index) => {\r\n if (title.trim() != \"\") contentTitle.push(title);\r\n });\r\n data.contentTitle = contentTitle;\r\n if (index != fieldCount1 - 1)\r\n setFieldCount1(Math.max(data.contentTitle.length, 1));\r\n break;\r\n\r\n case \"contentBulletLine\":\r\n const contentBulletLine: string[] = [];\r\n data.contentBulletLine.map((title, index) => {\r\n if (title.trim() != \"\") contentBulletLine.push(title);\r\n });\r\n data.contentBulletLine = contentBulletLine;\r\n if (index != fieldCount2 - 1)\r\n setFieldCount2(Math.max(data.contentBulletLine.length, 1));\r\n break;\r\n\r\n case \"contentSignature\":\r\n const contentSignature: string[] = [];\r\n data.contentSignature.map((title, index) => {\r\n if (title.trim() != \"\") contentSignature.push(title);\r\n });\r\n data.contentSignature = contentSignature;\r\n if (index != fieldCount3 - 1)\r\n setFieldCount3(Math.max(data.contentSignature.length, 1));\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n\r\n setData(data);\r\n console.log(data);\r\n // data.contentTitle.filter(src => src != \"\");\r\n // console.log(data.contentTitle);\r\n\r\n // setData((prev) => ({ ...prev, [key]: nData }));\r\n\r\n onFormClick(\r\n data.contentTitle[0],\r\n data.contentTitle,\r\n data.contentMessage,\r\n data.contentBulletLine,\r\n data.contentFullname,\r\n data.contentSignature\r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {new Array(fieldCount1).fill(0).map((count, index) => {\r\n return (\r\n \r\n \r\n Title {index + 1}\r\n {index > 0 ? <> : *}\r\n \r\n\r\n \r\n {\r\n handleMultipleOnChange(e, \"contentTitle\", index)\r\n }\r\n }\r\n placeholder=\"\"\r\n required\r\n value={data.contentTitle[index]}\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n data.contentTitle.length == fieldCount1\r\n ? setFieldCount1((prev) => prev + 1)\r\n : null\r\n }\r\n >\r\n Add New Title\r\n \r\n \r\n \r\n Message\r\n \r\n\r\n \r\n {\r\n handleMultipleOnChange(e, \"contentMessage\", 0);\r\n }}\r\n value={data.contentMessage[0]}\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n\r\n {new Array(fieldCount2).fill(0).map((count, index) => {\r\n return (\r\n \r\n \r\n Bullet Line {index + 1}\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(\r\n e,\r\n \"contentBulletLine\",\r\n index\r\n )\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n data.contentBulletLine.length == fieldCount2\r\n ? setFieldCount2((prev) => prev + 1)\r\n : null\r\n }\r\n >\r\n Add New Bullet Line\r\n \r\n \r\n \r\n Full Name\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(e, \"contentFullname\", 0)\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n\r\n {new Array(fieldCount3).fill(0).map((count, index) => {\r\n return (\r\n \r\n \r\n Signature {index + 1}\r\n \r\n\r\n \r\n \r\n handleMultipleOnChange(e, \"contentSignature\", index)\r\n }\r\n placeholder=\"\"\r\n />\r\n \r\n \r\n );\r\n })}\r\n \r\n data.contentSignature.length == fieldCount3\r\n ? setFieldCount3((prev) => prev + 1)\r\n : null\r\n }\r\n >\r\n Add New Signature\r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {/* {ReactHtmlParser(pgr.content)} */}\r\n\r\n {data.contentTitle?.map((bullet, index) => {\r\n return (\r\n <>\r\n \r\n {bullet}\r\n \r\n \r\n );\r\n })}\r\n \r\n {getFormattedDateFromDate(data.eventDate)}\r\n \r\n \r\n {data.contentMessage[0]}\r\n \r\n {data.contentBulletLine?.map((bullet, index) => {\r\n return (\r\n
    \r\n {index + 1}.{\" \"}\r\n {bullet}\r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n {data.contentFullname[0]}\r\n \r\n {data.contentSignature?.map((bullet, index) => {\r\n return
    {bullet}
    ;\r\n })}\r\n\r\n window.open(data.videoUrl)}\r\n >\r\n {\"Watch \" + \"\\u00bb\"}\r\n \r\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 SubForm;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../../headerName/HeaderName\";\r\nimport { Badge, OverlayTrigger, Table } from \"react-bootstrap\";\r\nimport FormPopover from \"../../../common/FormPopover\";\r\nimport IReferralQuery from \"../../../../types/IReferralQuery\";\r\nimport IReferral from \"../../../../types/IReferral\";\r\nimport Sortable from \"../../../common/Sortable\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport CustomPagination from \"../../../common/CustomPagination\";\r\nimport { Form, Col, Button } from \"react-bootstrap\";\r\nimport DateHelper, { getFormattedDate } from \"../../../../helpers/DateHelper\";\r\nimport SubForm from \"./SubForm\";\r\nimport { Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport OnlineCMEService from \"../../../../services/OnlineCMEService\";\r\nimport { title } from \"process\";\r\nimport BackButton from \"../../../backButton/BackButton\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport axios from \"axios\";\r\nconst NewOnlineCMEForms: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const isDisabled = false;\r\n const [delegationToggle, setdelegationToggle] = useState(true);\r\n const [formData, setFormData] = useState({});\r\n const DATE = getFormattedDate(new Date());\r\n const [loading, setLoading] = useState(false);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [html, setHtml] = useState(\"\");\r\n const [redirect, setRedirect] = useState({\r\n redirect: false,\r\n message: \"\",\r\n errorMessage: \"\",\r\n });\r\n const handleFormClick = (\r\n title: string,\r\n contentTitle: string[],\r\n contentMessage: string[],\r\n contentBulletLine: string[],\r\n contentFullname: string[],\r\n contentSignature: string[]\r\n ) => {\r\n setFormData((prev: any) => ({\r\n ...prev,\r\n title: title,\r\n contentTitle: contentTitle,\r\n contentMessage: contentMessage,\r\n contentBulletLine: contentBulletLine,\r\n contentFullname: contentFullname,\r\n contentSignature: contentSignature,\r\n }));\r\n };\r\n const handleOnChange = (e: any, key: any) => {\r\n let value: any;\r\n value = e.target.value;\r\n if (key === \"isActive\") {\r\n value = e.target.checked;\r\n } else {\r\n value = e.target.value;\r\n }\r\n\r\n setFormData((prev: any) => ({ ...prev, [key]: value }));\r\n };\r\n\r\n let form = require(\"../../../../data/newOnlineCMEForm.json\");\r\n\r\n const handleSubmit = (e: any) => {\r\n window.scrollTo(0, 0);\r\n e.preventDefault();\r\n if (formData.title === undefined || formData.title.trim() === \"\") {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Title is missing\",\r\n });\r\n return;\r\n }\r\n for (let i = 0; i < formData.contentTitle.length; i++) {\r\n if (\r\n formData.contentTitle[i] != \"\" ||\r\n formData.contentTitle != undefined\r\n ) {\r\n if (formData.contentTitle[i].trim() == \"\") {\r\n {\r\n window.scrollTo(0, 0);\r\n }\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Do not put space as title\",\r\n });\r\n return;\r\n } else {\r\n formData.contentTitle[i] = formData.contentTitle[i].trim();\r\n }\r\n }\r\n }\r\n\r\n for (let i = 0; i < formData.contentBulletLine.length; i++) {\r\n formData.contentBulletLine[i] = formData.contentBulletLine[i].trim();\r\n }\r\n for (let i = 0; i < formData.contentSignature.length; i++) {\r\n formData.contentSignature[i] = formData.contentSignature[i].trim();\r\n }\r\n setLoading(true);\r\n OnlineCMEService.createOnlineCMEServiceRequest(formData, accessToken)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\", errorMessage: \"\" });\r\n setTimeout(() => {\r\n setLoading(false);\r\n setRedirect({ redirect: true, message: \"\", errorMessage: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n }\r\n setLoading(false);\r\n setRedirect({\r\n redirect: false,\r\n message: \"error\",\r\n errorMessage: \"Error in submitting the form, please try again!\",\r\n });\r\n });\r\n };\r\n\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n \r\n {redirect.errorMessage}\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Online CME Lecture

    \r\n\r\n
    \r\n\r\n
    \r\n
    \r\n {Object.entries(form).map((field, index) => {\r\n const key = field[0];\r\n const value: any = field[1];\r\n return (\r\n \r\n \r\n {value.display}\r\n {value.required ? (\r\n *\r\n ) : null}\r\n \r\n \r\n {value.type === \"textarea\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"select\" &&\r\n key === \"announcementType\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n >\r\n {value.value.length !== 0\r\n ? value.value.map((v: any, index: any) => (\r\n \r\n ))\r\n : null}\r\n \r\n ) : value.type === \"date\" ? (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required\r\n disabled={isDisabled}\r\n />\r\n ) : value.type === \"Form\" ? (\r\n \r\n ) : value.type === \"checkbox\" ? (\r\n handleOnChange(e, key)}\r\n disabled={isDisabled}\r\n />\r\n ) : (\r\n handleOnChange(e, key)}\r\n type={value.type}\r\n required={value.required}\r\n disabled={isDisabled}\r\n />\r\n )}\r\n \r\n \r\n );\r\n })}\r\n {/* */}\r\n \r\n \r\n \r\n Save\r\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 NewOnlineCMEForms;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IEducation from \"../types/IEducation\";\r\nimport IPhysicianResources from \"../types/IPhysicianResources\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getPhysicianResourceService = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/physicianresources`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createPhysicianResourceService(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/downloadPdf`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\nconst downloadPdfProviderRelation = async (\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/getresourcedocument`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\nexport async function editPhysicianResourceService(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editdivisionofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst PhysicianResourceService = {\r\n getPhysicianResourceService,\r\n // getAmbulatoryRequestById,\r\n downloadPdfProviderRelation,\r\n createPhysicianResourceService,\r\n editPhysicianResourceService,\r\n};\r\n\r\nexport default PhysicianResourceService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport {\r\n Badge,\r\n OverlayTrigger,\r\n Button,\r\n Table,\r\n Col,\r\n Card,\r\n NavDropdown,\r\n} from \"react-bootstrap\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport EducationService from \"../../../services/EducationService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport PhysicianResourceService from \"../../../services/PhysicianResourceService\";\r\nimport IPhysicianResources from \"../../../types/IPhysicianResources\";\r\nimport Ambulatory from \"./Ambulatory\";\r\nimport IPortalUpdateAmbulatory from \"../../../types/IPortalUpdateAmbulatory\";\r\nimport Infowell from \"../home/Infowell\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport useInfowells from \"../../../hooks/useInfowells\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst PhysicianResources: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const [ambulatoryData, setAmbulatoryData] =\r\n useState();\r\n const [formData, setFormData] = useState();\r\n\r\n const handleClick = () => {\r\n history.push(\"/physicianresources/medicalstaff\");\r\n };\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [infowells, setInfowells] = useInfowells();\r\n const [physicianData, setPhysicianData] = useState();\r\n const [error, setError] = useState(null);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n PhysicianResourceService.getPhysicianResourceService(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setPhysicianData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n \r\n useEffect(() => {\r\n setLoading(true);\r\n HomeService.getInfowells(accessToken) \r\n .then((response) => {\r\n setInfowells(response.data);\r\n setLoading(false);\r\n \r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [accessToken]);\r\n return (\r\n
    \r\n \r\n
    \r\n {\" \"}\r\n

    {name}

    \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n
    \r\n {physicianData?.infoWells.map((physician) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PhysicianResources;\r\n","import React, { FC, useEffect, useState } from \"react\";\r\nimport { Card, Button, Form } from \"react-bootstrap\";\r\nimport useInfowells from \"../../../hooks/useInfowells\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport Loader from \"../../common/Loader\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { getFormattedDateWords } from \"../../../helpers/DateHelper\";\r\nimport IInfoWell from \"../../../types/IInfoWell\";\r\nimport IDropDownInfoWell from \"../../../types/IDropDownInfoWell\";\r\nimport EducationService from \"../../../services/EducationService\";\r\nimport { idText } from \"typescript\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport styles from \"../home/Jumbotron.module.css\";\r\nimport FormControlLabel from '@material-ui/core/FormControlLabel';\r\nimport Checkbox from '@material-ui/core/Checkbox';\r\nimport Favorite from '@material-ui/icons/Favorite';\r\nimport FavoriteBorder from '@material-ui/icons/FavoriteBorder';\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport GoButton from \"../../GoButton/GoButton\";\r\nimport { downloadFileFromEducationService } from \"../../../helpers/FileHelper\";\r\n\r\nconst InfowellsEdu: FC<{ infowell: IInfoWell ,likedInfowells?:IInfoWell[] }> = ({ infowell,likedInfowells=[] }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [infowells, setInfowells] = useInfowells();\r\n const [dropDownWells, setDropDownWells] = useState();\r\n const [dropDownName, setDropDownName] = useState(\"\");\r\n const [loading, setLoading] = useState(true);\r\n const [likeButtonClicked, setLikeButtonClicked] = useState(0);\r\n const [error, setError] = useState(null);\r\n const [formData, setFormData] = useState();\r\n const [value, setValue] = useState(\"\");\r\n\r\n\r\n const history = useHistory();\r\n const handleOnClick = () => {\r\n history.push(\"/education/pgrinfowells\");\r\n };\r\n const handleClick = () => {\r\n history.push(\"/education/cmeinfowells\");\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n if (infowell.dropDownName !== null) {\r\n HomeService.getDropDownWells(infowell.dropDownName, accessToken)\r\n .then((response) => {\r\n setDropDownWells(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [dropDownName]);\r\n const handleOnChange = (id: any,e?:any) => {\r\n let data = new FormData();\r\n let title =\r\n e.nativeEvent.target[e.nativeEvent.target.selectedIndex].text.split(\r\n \": \"\r\n )[1];\r\n data.append(\"id\", id);\r\n setFormData(data);\r\n setValue(title);\r\n\r\n };\r\n \r\n const likeButton =(id:any)=>{\r\n setLoading(true);\r\n let data={\r\n InfoWellId:id,\r\n Favorite:!isLiked(id)}\r\n HomeService.likeButton(data, accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }\r\n const isLiked=(id:any):boolean=>{\r\n var flag : boolean = false\r\n likedInfowells.map(item=>{\r\n if(item.id == id){\r\n flag = true\r\n }\r\n })\r\n\r\n return flag\r\n }\r\n return (\r\n \r\n \r\n } \r\n checkedIcon={}\r\n defaultChecked={isLiked(infowell.id) }\r\n name=\"checkedH\" />}\r\n // onChange={}\r\n onChange={()=>likeButton(infowell.id)}\r\n label=\"\"\r\n />\r\n \r\n {infowell.title ===\r\n 'Pediatric Grand Rounds ' ? (\r\n <>\r\n Pediatric Grand Rounds{\" \"}\r\n \r\n \r\n ) : infowell.title ===\r\n 'Online CME Lectures ' ? (\r\n <>\r\n Online CME Lectures{\" \"}\r\n \r\n \r\n ) : (\r\n infowell.title\r\n )}\r\n \r\n {infowell.paragraph}\r\n {infowell.dropDownName != null ? loading && :null}\r\n {infowell.dropDownName == null ? null : (\r\n \r\n handleOnChange(e.target.value,e)}\r\n aria-label=\"Default select example\"\r\n >\r\n {formData === undefined ?\r\n :null}\r\n {dropDownWells\r\n ?.map((option, index: number) => (\r\n \r\n ))\r\n .reverse()}\r\n \r\n )}\r\n
    \r\n {infowell.dropDownName !== null ? (\r\n {\r\n downloadFileFromEducationService(\r\n formData?.get(\"id\"),\r\n value,\r\n setLoading,\r\n setError,\r\n accessToken\r\n );\r\n }}\r\n />\r\n ) : (\r\n { \r\n if (\r\n infowell.title ===\r\n 'Pediatric Grand Rounds '\r\n ) {\r\n handleOnClick();\r\n } else if (\r\n infowell.title ===\r\n 'Online CME Lectures '\r\n ) {\r\n handleClick();\r\n } else {\r\n window.open(infowell.htmlContent);\r\n }\r\n }}\r\n />\r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default InfowellsEdu;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport {\r\n Badge,\r\n OverlayTrigger,\r\n Button,\r\n Table,\r\n Col,\r\n Card,\r\n NavDropdown,\r\n} from \"react-bootstrap\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport EducationService from \"../../../services/EducationService\";\r\nimport axios from \"axios\";\r\nimport Loader from \"../../common/Loader\";\r\nimport IEducation from \"../../../types/IEducation\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport DivisionMonthService from \"../../../services/DivisionMonthService\";\r\nimport IDivisionMonth from \"../../../types/IDivisionMonth\";\r\nimport IPortalPracticeTip from \"../../../types/IPortalPracticeTip\";\r\nimport Alumni from \"./Custom\";\r\nimport PracticeTip from \"./PracticeTip\";\r\nimport Division from \"./Division\";\r\nimport InfowellsEdu from \"./InfowellsEdu\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport useInfowells from \"../../../hooks/useInfowells\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst Education: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [educationData, setEducationData] = useState();\r\n const [error, setError] = useState(null);\r\n const [infowells, setInfowells] = useInfowells();\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n EducationService.getEducationService(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setEducationData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n useEffect(() => {\r\n setLoading(true);\r\n // console.log(accessToken)\r\n HomeService.getInfowells(accessToken) \r\n .then((response) => {\r\n setInfowells(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [accessToken]);\r\n if (educationData != undefined) {\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {\" \"}\r\n

    {name}

    \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n
    \r\n {educationData?.infoWells.map((education) => {\r\n return ;\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Education;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState, useRef } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport Loader from \"../../common/Loader\";\r\nimport {\r\n Alert,\r\n Button,\r\n Card,\r\n Tab,\r\n Tabs,\r\n Col,\r\n Nav,\r\n Modal,\r\n} from \"react-bootstrap\";\r\nimport IPhysicianResources from \"../../../types/IPhysicianResources\";\r\nimport IInfoWell from \"../../../types/IInfoWell\";\r\nimport PediatricGRService from \"../../../services/PediatricGRService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IPediatricGR from \"../../../types/IPediatricGR\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nimport {\r\n getFormattedDateFromDate,\r\n getFormattedYear,\r\n} from \"../../../helpers/DateHelper\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport styles from \"../home/Jumbotron.module.css\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport PediatricHelper from \"../../../helpers/PediatricHelper\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst PGRInfowells: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const aref = useRef(null);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [pediatricData, setPediatricData] = useState();\r\n const [error, setError] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [allYears, setAllYears] = useState([]);\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n PediatricGRService.getPediatricGRServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n const pgrList = response.data as IPediatricGR[];\r\n pgrList.every(src => PediatricHelper.convertOlderPediatricToNewForm(src));\r\n setPediatricData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n\r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n const handleVideo = (videoURL: string, id: Number) => {\r\n if (videoURL.includes(\"http\")) {\r\n window.open(videoURL);\r\n } else {\r\n window.open(`/education/pgrinfowells/${id}`);\r\n }\r\n };\r\n\r\n const getAllYear = () => {\r\n let yearArr: any[] = [];\r\n if (pediatricData != undefined) {\r\n for (var i = 0; i < pediatricData?.length; i++) {\r\n if (!yearArr.includes(getFormattedYear(pediatricData[i].eventDate))) {\r\n yearArr.push(getFormattedYear(pediatricData[i].eventDate));\r\n }\r\n }\r\n }\r\n yearArr.sort();\r\n yearArr.reverse();\r\n setAllYears(yearArr);\r\n };\r\n useEffect(() => {\r\n getAllYear();\r\n }, [pediatricData]);\r\n \r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\" \"}\r\n

    {name}

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

    \r\n As a provider of expert pediatric care, we make our Pediatric Grand\r\n Rounds presentations available for interested viewers. This helps\r\n other providers of care for children throughout the world access the\r\n same cutting-edge information that we have at our hospital. By\r\n watching Grand Rounds through this portal, you’ll be provided with\r\n video of both the presenter and the slides presented to the\r\n audience.\r\n

    \r\n

    \r\n To ensure that the content provided in this portal represents\r\n up-to-date health care delivery information, presentations are\r\n archived and retained for approximately two years.\r\n

    \r\n
    \r\n\r\n {!loading ? (\r\n {allYears?.map((year) => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {pediatricData?.map((pgr) => {\r\n if (\r\n getFormattedYear(pgr.eventDate) === year &&\r\n pgr.isActive == true\r\n ) {\r\n return (\r\n
    \r\n \r\n {/* {ReactHtmlParser(pgr.content)} */}\r\n \r\n {pgr.title}\r\n \r\n \r\n {pgr.contentTitle?.split('|').filter(src => src !== \"\").map(\r\n (bullet, index) => {\r\n return (\r\n <>\r\n {\" \"}\r\n \r\n {bullet}\r\n \r\n \r\n );\r\n }\r\n )}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(\r\n pgr.eventDate\r\n )}\r\n \r\n
    \r\n \r\n {ReactHtmlParser(pgr.contentMessage)}\r\n
    \r\n {pgr.contentBulletLine?.split('|').filter(src => src !== \"\").map(\r\n (bullet, index) => {\r\n return (\r\n \r\n {index + 1}.{\" \"}\r\n {bullet}\r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n \r\n {pgr.contentFullname.split('|')[0]}\r\n \r\n {pgr.contentSignature?.split('|').filter(src => src !== \"\").map(\r\n (bullet, index) => {\r\n return {bullet}
    ;\r\n }\r\n )}\r\n \r\n \r\n handleVideo(pgr.videoUrl, pgr.id)\r\n }\r\n infoButton=\"infowellButton\"\r\n >\r\n {\"Watch \" + \"\\u00bb\"}\r\n \r\n \r\n
    \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\n
    \r\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 PGRInfowells;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState, useRef } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Alert, Button, Card, Tab, Tabs, Col, Nav } from \"react-bootstrap\";\r\nimport IPhysicianResources from \"../../../types/IPhysicianResources\";\r\nimport IInfoWell from \"../../../types/IInfoWell\";\r\nimport PediatricGRService from \"../../../services/PediatricGRService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IPediatricGR from \"../../../types/IPediatricGR\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport {\r\n getFormattedDateFromDate,\r\n getFormattedYear,\r\n} from \"../../../helpers/DateHelper\";\r\nimport OnlineCMEService from \"../../../services/OnlineCMEService\";\r\nimport IOnlineCME from \"../../../types/IOnlineCME\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport styles from \"../home/Jumbotron.module.css\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst CMEInfoWells: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const aref = useRef(null);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [cmeData, setCmeData] = useState();\r\n const [error, setError] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [allYears, setAllYears] = useState([]);\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n OnlineCMEService.getOnlineCMEServiceList(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setCmeData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n }, []);\r\n\r\n // const tabArr=()=>{\r\n\r\n // }\r\n const getAllYear = () => {\r\n let yearArr: any[] = [];\r\n if (cmeData != undefined) {\r\n for (var i = 0; i < cmeData?.length; i++) {\r\n if (!yearArr.includes(getFormattedYear(cmeData[i].eventDate))) {\r\n yearArr.push(getFormattedYear(cmeData[i].eventDate));\r\n }\r\n }\r\n }\r\n yearArr.sort();\r\n yearArr.reverse();\r\n setAllYears(yearArr);\r\n };\r\n useEffect(() => {\r\n getAllYear();\r\n }, [cmeData]);\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\" \"}\r\n

    {name}

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

    \r\n As a provider of expert pediatric care, we make our Online CME\r\n Lectures presentations available for interested viewers. This helps\r\n other providers of care for children throughout the world access the\r\n same cutting-edge information that we have at our hospital. By\r\n watching CME Lectures through this portal, you’ll be provided with\r\n video of both the presenter and the slides presented to the\r\n audience.\r\n

    \r\n

    \r\n To ensure that the content provided in this portal represents\r\n up-to-date health care delivery information, presentations are\r\n archived and retained for approximately two years.\r\n

    \r\n
    \r\n \r\n {allYears?.map((year) => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {cmeData?.map((pgr) => {\r\n if (getFormattedYear(pgr.eventDate) === year && pgr.isActive == true) {\r\n return (\r\n
    \r\n \r\n {/* {ReactHtmlParser(pgr.content)} */}\r\n \r\n {pgr.contentTitle?.map(\r\n (bullet, index) => {\r\n return (\r\n <>\r\n \r\n {bullet}\r\n \r\n \r\n );\r\n }\r\n )}\r\n \r\n \r\n \r\n {getFormattedDateFromDate(\r\n pgr.eventDate\r\n )}\r\n {\" \"}\r\n
    \r\n \r\n {pgr.contentMessage[0]}\r\n \r\n {pgr.contentBulletLine?.map(\r\n (bullet, index) => {\r\n return (\r\n
    \r\n {index + 1}.{\" \"}\r\n {bullet}\r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n \r\n {pgr.contentFullname[0]}\r\n \r\n {pgr.contentSignature?.map(\r\n (bullet, index) => {\r\n return
    {bullet}
    ;\r\n }\r\n )}\r\n \r\n window.open(pgr.videoUrl)}\r\n >\r\n {\"Watch \" + \"\\u00bb\"}\r\n \r\n \r\n
    \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\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 CMEInfoWells;\r\n","import React from \"react\";\r\nimport { FC, useEffect, useState, useRef } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Alert, Button, Card, Tab, Tabs, Col, Nav } from \"react-bootstrap\";\r\nimport IPhysicianResources from \"../../../types/IPhysicianResources\";\r\nimport IInfoWell from \"../../../types/IInfoWell\";\r\nimport PediatricGRService from \"../../../services/PediatricGRService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IPediatricGR from \"../../../types/IPediatricGR\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\nimport {\r\n getFormattedDateFromDate,\r\n getFormattedYear,\r\n} from \"../../../helpers/DateHelper\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst MedicalStaff: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\" \"}\r\n

    {name}

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

    \r\n To request staff privileges, please email Gayane Abgaryan at\r\n gabgaryan@chla.usc.edu and provide the following information:\r\n

    \r\n
      \r\n
    • Full Name
    • \r\n
    • Email
    • \r\n
    • Specialty
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MedicalStaff;\r\n","import React, { FC } from \"react\";\r\nimport { ButtonGroup, ToggleButton } from \"react-bootstrap\";\r\nimport styles from \"./MButtonGroup.module.css\";\r\n\r\nconst MButtonGroup: FC<{\r\n size: \"lg\" | \"sm\";\r\n buttons: {\r\n type: \"radio\" | \"checkbox\";\r\n title: string;\r\n checked: boolean;\r\n variant: \"primary\" | \"outline-secondary\";\r\n onClick: (e: React.MouseEvent) => void;\r\n }[];\r\n}> = ({ size, buttons }) => {\r\n return (\r\n
    \r\n \r\n {buttons.map((button, index) => (\r\n button.onClick(e)}\r\n >\r\n {button.title}\r\n \r\n ))}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default MButtonGroup;\r\n","import { FC } from \"react\";\r\nimport { ILocation } from \"../../../../types/IPracticeSearchResult\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport Loader from \"../../../common/Loader\";\r\n\r\nconst AdminLocationsTable: FC<{ locations: ILocation[]; count?: number }> = ({\r\n locations,\r\n count,\r\n}) => {\r\n console.log(count)\r\n console.log(locations.length)\r\n if (count != 0) {\r\n if (locations.length == count) {\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 {locations.map((location, index) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    AddressCityStateZipContact PersonEmailPhoneFax
    {location.address}{location.city}{location.state}{location.zip}{location.contactPerson}{location.email}{location.phone}{location.fax}
    \r\n
    \r\n );\r\n } else {\r\n return ;\r\n }\r\n } else {\r\n return
    No record found
    ;\r\n }\r\n};\r\n\r\nexport default AdminLocationsTable;\r\n","import { FC } from \"react\";\r\nimport { IPhysician } from \"../../../../types/IPracticeSearchResult\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport Loader from \"../../../common/Loader\";\r\n\r\nconst AdminPracticePhysiciansTable: FC<{ physicians: IPhysician[], count : number }> = ({\r\n physicians,count\r\n}) => {\r\n console.log(physicians.length)\r\n console.log(count)\r\n if (count != 0) {\r\n if(physicians.length == count)\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 {physicians.map((physician) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ))}\r\n \r\n
    IDNamePortalEmailNPISpeciality
    {physician.id}\r\n
    {physician.lastName}, {physician.firstName} {physician.title}
    {physician.isPracticeOwner ? \" (PO)\":\"\"}
    \r\n
    NA{physician.email}{physician.npi}NA
    \r\n
    \r\n );}\r\n else{\r\n return \r\n }\r\n } else {\r\n return
    No record found
    ;\r\n }\r\n};\r\n\r\nexport default AdminPracticePhysiciansTable;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPhysicianCreate from \"../types/IPhysicianCreate\";\r\nimport IPracticeCreate from \"../types/IPracticeCreate\";\r\nimport IPracticeLookup from \"../types/IPracticeLookup\";\r\nimport IPhysicianEdit from \"../types/IPhysicianEdit\";\r\nimport IPracticeEdit from \"../types/IPracticeEdit\";\r\n\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst createPractice = async (\r\n data: IPracticeCreate,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{ id: number }>(\r\n `${API_BASE_URL}/practice/v2`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst editPractice = async (\r\n data: IPracticeEdit,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(`${API_BASE_URL}/practice`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst createPhysician = async (\r\n data: IPhysicianCreate,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.post<{ id: number }>(\r\n `${API_BASE_URL}/physician`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst practiceLookup = async (\r\n searchTerm: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/practice/lookup/${searchTerm}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst deactivatePractice = async (\r\n practiceId: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/practice/deactivate/${practiceId}`,\r\n {},\r\n {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst deactivatePhysician = async (\r\n physicianId: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/physician/deactivate/${physicianId}`,\r\n {},\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst editPhysician = async (\r\n data: IPhysicianEdit,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.put(`${API_BASE_URL}/physician`, data, loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n });\r\n return result;\r\n};\r\n\r\nconst AdminService = {\r\n createPractice,\r\n editPractice,\r\n practiceLookup,\r\n createPhysician,\r\n deactivatePractice,\r\n deactivatePhysician,\r\n editPhysician,\r\n};\r\n\r\nexport default AdminService;\r\n","import { FC, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport AdminService from \"../../../../services/AdminService\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios from \"axios\";\r\n\r\nconst DeactivateConfirmationModal: FC<{\r\n show: boolean;\r\n type: 'practice' | 'physician';\r\n id?: number;\r\n handleClose?: () => void;\r\n handleConfirm?: () => void;\r\n}> = ({ show, type, id, handleClose, handleConfirm }) => {\r\n //\r\n const [isSubmitting, setIsSubmitting] = useState(false)\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n //\r\n const handleRemove = () => {\r\n if (id !== undefined && handleConfirm !== undefined) {\r\n setIsSubmitting(true)\r\n if (type === 'practice') {\r\n AdminService.deactivatePractice(id, accessToken, cancelToken).then(response => {\r\n setIsSubmitting(false)\r\n handleConfirm()\r\n }).catch(e => {\r\n setIsSubmitting(false)\r\n handleConfirm()\r\n })\r\n } else {\r\n AdminService.deactivatePhysician(id, accessToken, cancelToken).then(response => {\r\n setIsSubmitting(false)\r\n handleConfirm()\r\n }).catch(e => {\r\n setIsSubmitting(false)\r\n handleConfirm()\r\n })\r\n }\r\n }\r\n }\r\n\r\n return (\r\n \r\n Confirmation Required\r\n \r\n
    \r\n

    Please confirm the removal of {type} with ID {id}.

    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default DeactivateConfirmationModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport styles from \"./AdminResult.module.css\";\r\nimport IPracticeSearchResult from \"../../../../types/IPracticeSearchResult\";\r\nimport AdminPracticeLocationsTable from \"./AdminLocationsTable\";\r\nimport AdminPracticePhysiciansTable from \"./AdminPracticePhysiciansTable\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport DeactivateConfirmationModal from \"./DeactivateConfirmationModal\";\r\n// import IPhysician from \"../../../../types/IPhysician\";\r\nimport {IPhysician,ILocation} from \"../../../../types/IPracticeSearchResult\";\r\nimport PracticeService from \"../../../../services/PracticeService\";\r\nimport axios from \"axios\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\n\r\nconst AdminPracticeResult: FC<{\r\n practiceSearchResult: IPracticeSearchResult;\r\n searchValue: string;\r\n}> = ({ practiceSearchResult, searchValue }) => {\r\n //\r\n const [showModal, setShowModal] = useState(false);\r\n const [isPractice, setPractice] = useState(false);\r\n const [physicians, setphysicians] = useState([]);\r\n const [locations, setlocations] = useState([]);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n const history = useHistory();\r\n\r\n const physicianResult = () => {\r\n if(physicians.length == 0 && practiceSearchResult.physicianCount != 0){\r\n PracticeService.getPhysicians(practiceSearchResult.practiceId, accessToken, cancelToken)\r\n .then((response) => {\r\n setphysicians(response.data);\r\n // setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (axios.isCancel(e)) {\r\n console.error(e);\r\n\r\n }\r\n else{\r\n // setLoading(false);\r\n }\r\n });\r\n }\r\n }\r\n const locationResult = () => {\r\n if(practiceSearchResult.locationCount != 0 && locations.length == 0){\r\n PracticeService.getLocations(practiceSearchResult.practiceId, accessToken, cancelToken)\r\n .then((response) => {\r\n setlocations(response.data);\r\n // setLoading(false);\r\n })\r\n .catch((e) => {\r\n console.error(e);\r\n });\r\n }\r\n }\r\n const handleEditClick = () => {\r\n localStorage.setItem(\"searchValue\", searchValue);\r\n history.push(\r\n `/accounts&access/physicians&practices/edit/practice/${practiceSearchResult.practiceId}`,\r\n { from: \"/accounts&access/physicians&practices/edit/practice\" }\r\n );\r\n };\r\n const handdlePracticeOwner = (practiceSearchResult:any) => {\r\n var isflag = false;\r\n practiceSearchResult.physicians.map((index:any, data:any) => {\r\n if (\r\n index.isPracticeOwner &&\r\n practiceSearchResult.isActive &&\r\n practiceSearchResult.isMyCHLA\r\n ) {\r\n isflag = true;\r\n }\r\n });\r\n return isflag;\r\n };\r\n const handleDeactivateClick = () => {\r\n setShowModal(true);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n ID\r\n
    \r\n
    {practiceSearchResult.practiceId}
    \r\n
    \r\n
    \r\n PRACTICE NAME\r\n
    \r\n
    \r\n {practiceSearchResult.practiceName + \" \"}\r\n {practiceSearchResult.isActive && practiceSearchResult.isMyCHLA && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {practiceSearchResult.isActive && (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n Physicians ({practiceSearchResult.physicianCount})\r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n\r\n \r\n Locations ({practiceSearchResult.locationCount}){\" \"}\r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n\r\n {\r\n setShowModal(false);\r\n }}\r\n handleConfirm={() => {\r\n setShowModal(false);\r\n window.location.reload();\r\n }}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminPracticeResult;\r\n","import { useEffect, useState } from \"react\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport Loader from \"../../common/Loader\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport IPracticeSearchResult from \"../../../types/IPracticeSearchResult\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios from \"axios\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport AdminPracticeResult from \"./components/AdminPracticeResult\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nvar loader = false;\r\nconst AdminPracticeSection = () => {\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [practiceSearchResults, setPracticeSearchResults] =\r\n useState();\r\n const [serachCount, setSearchCount] = useState(0);\r\n const [checkBox, setCheckBox] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [searchValue, setSearchValue] = useState(undefined);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const history = useHistory();\r\n\r\n const handleClearResultsClick = () => {\r\n setPracticeSearchResults(undefined);\r\n };\r\n\r\n const handleAddClick = () => {\r\n history.push(\"/accounts&access/physicians&practices/create/practice\");\r\n };\r\n\r\n\r\n useEffect(() => {\r\n const value = localStorage.getItem(\"searchValue\");\r\n const gotFrom = localStorage.getItem(\"gotFrom\");\r\n\r\n if (gotFrom === \"/physicians&practices/edit/practice/\") {\r\n localStorage.setItem(\"gotFrom\", \"\");\r\n localStorage.setItem(\"searchValue\", \"\");\r\n }else {\r\n return;\r\n }\r\n\r\n if (value === null) {\r\n setSearchValue(\"\");\r\n }else {\r\n setSearchValue(value);\r\n }\r\n \r\n }, [])\r\n\r\n useEffect(() => {\r\n if(!isNaN(parseInt(searchText))){\r\n setLoading(true);\r\n PracticeService.searchPracticeById(searchText, accessToken, cancelToken)\r\n .then((response) => {\r\n setPracticeSearchResults(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e: Error) => {\r\n if (axios.isCancel(e)) {\r\n // console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n else{\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n else if (searchText.length >= 3) {\r\n setLoading(true);\r\n PracticeService.searchPracticeByName(searchText, accessToken, cancelToken)\r\n .then((response) => {\r\n setPracticeSearchResults(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e: Error) => {\r\n if (axios.isCancel(e)) {\r\n // console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n else{\r\n setLoading(false);\r\n }\r\n });\r\n }else{\r\n \r\n setLoading(false);\r\n\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n \r\n }, [searchText, serachCount]);\r\n\r\n const filterPractice = (result: IPracticeSearchResult[]) => {\r\n return result.filter((item) => item.isActive === !checkBox);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\r\n setSearchCount((c) => c + 1);\r\n }}\r\n onTextChange={(text) => {\r\n setSearchText(text);\r\n }}\r\n placeholder={`Search for Practice Name or ID`}\r\n />\r\n
    \r\n {practiceSearchResults !== undefined && (\r\n
    \r\n \r\n
    \r\n )}\r\n {loading && }\r\n
    \r\n \r\n \r\n
    \r\n {\r\n setCheckBox(e.target.checked);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n {practiceSearchResults !== undefined &&\r\n (filterPractice(practiceSearchResults).length !== 0 ? (\r\n filterPractice(practiceSearchResults).map((practiceSearchResult) => (\r\n \r\n ))\r\n ) : (\r\n
    No Record found
    \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default AdminPracticeSection;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IPhysicianDetail from \"../types/IPhysicianDetail\";\r\nimport IPhysicianSearchResult from \"../types/IPhysicianSearchResult\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param searchTerm receives the searched term\r\n * @param token receives the access token of type string\r\n */\r\nconst searchPhysician = async (\r\n searchTerm: string,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n // `${API_BASE_URL}/referral/${id}`,\r\n `${API_BASE_URL}/physician?searchTerm=${searchTerm}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getPhysician = async (\r\n id: number,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/physician/${id}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst PhysicianService = {\r\n searchPhysician,\r\n getPhysician,\r\n};\r\n\r\nexport default PhysicianService;\r\n","import { FC } from \"react\";\r\nimport { IPractice } from \"../../../../types/IPhysicianSearchResult\";\r\nimport { Table } from \"react-bootstrap\";\r\n\r\nconst AdminPhysicianPracticesTable: FC<{ practices: IPractice[] }> = ({\r\n practices,\r\n}) => {\r\n if (practices != null ? practices.length > 0:false) {\r\n return (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {practices != null ? practices.map((practice) => (\r\n \r\n \r\n \r\n \r\n )):null}\r\n \r\n
    Practice IDPractice Name
    {practice.practiceId}{practice.practiceName}
    \r\n
    \r\n );\r\n } else {\r\n return
    No record found
    ;\r\n }\r\n};\r\n\r\nexport default AdminPhysicianPracticesTable;\r\n","import { FC, useState } from \"react\";\r\nimport CustomAccordion from \"../../../accordion/CustomAccordion\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport styles from \"./AdminResult.module.css\";\r\nimport IPhysicianSearchResult from \"../../../../types/IPhysicianSearchResult\";\r\nimport AdminPracticeLocationsTable from \"./AdminLocationsTable\";\r\nimport AdminPhysicianPracticesTable from \"./AdminPhysicianPracticesTable\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport DeactivateConfirmationModal from \"./DeactivateConfirmationModal\";\r\n\r\nconst AdminPhysicianResult: FC<{\r\n physicianSearchResult: IPhysicianSearchResult;\r\n}> = ({ physicianSearchResult }) => {\r\n //\r\n const [showModal, setShowModal] = useState(false)\r\n const history = useHistory();\r\n\r\n const handleEditClick = () => {\r\n history.push(\r\n `/accounts&access/physicians&practices/edit/physician/${physicianSearchResult.id}`\r\n );\r\n };\r\n\r\n const handleDeactivateClick = () => {\r\n setShowModal(true)\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n ID\r\n
    \r\n
    {physicianSearchResult.id}
    \r\n
    \r\n
    \r\n PHYSICIAN NAME\r\n
    \r\n
    \r\n {physicianSearchResult.lastName +\r\n \", \" +\r\n (physicianSearchResult.midName !== \"\" && physicianSearchResult.midName !== null ? physicianSearchResult.midName +\r\n \" \" : \"\") +\r\n physicianSearchResult.firstName +\r\n \" \" +\r\n (physicianSearchResult.title !== \"\" && physicianSearchResult.title !== null ? physicianSearchResult.title : \"\")}\r\n {physicianSearchResult.isMyCHLA && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {physicianSearchResult.isActive && }\r\n \r\n
    \r\n
    \r\n \r\n Locations ({physicianSearchResult.locations.length}){\" \"}\r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n \r\n Practices ({physicianSearchResult.practices!= null ? physicianSearchResult.practices.length:null})\r\n \r\n }\r\n content={\r\n \r\n }\r\n />\r\n {\r\n setShowModal(false)\r\n }}\r\n handleConfirm={() => {\r\n setShowModal(false)\r\n window.location.reload()\r\n }}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminPhysicianResult;\r\n","import { useEffect, useState } from \"react\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport Loader from \"../../common/Loader\";\r\nimport PhysicianService from \"../../../services/PhysicianService\";\r\nimport IPhysicianSearchResult from \"../../../types/IPhysicianSearchResult\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios from \"axios\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport AdminPhysicianResult from \"./components/AdminPhysicianResult\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst AdminPhysicianSection = () => {\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [physicianSearchResults, setPhysicianSearchResults] =\r\n useState();\r\n const [serachCount, setSearchCount] = useState(0);\r\n const [checkBox, setCheckBox] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const history = useHistory();\r\n\r\n const handleClearResultsClick = () => {\r\n setPhysicianSearchResults(undefined);\r\n };\r\n\r\n const handleAddClick = () => {\r\n history.push(\"/accounts&access/physicians&practices/create/physician\");\r\n };\r\n\r\n useEffect(() => {\r\n if (searchText.length >= 3) {\r\n setLoading(true);\r\n\r\n PhysicianService.searchPhysician(searchText, accessToken, cancelToken)\r\n .then((response) => {\r\n setPhysicianSearchResults(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e: Error) => {\r\n if (axios.isCancel(e)) {\r\n // console.error(e);\r\n console.log(\"searchText\",searchText);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n else{\r\n setLoading(false);\r\n }\r\n });\r\n }\r\n else{\r\n \r\n setLoading(false);\r\n\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [searchText, serachCount]);\r\n\r\n const filterPhysician = (result: IPhysicianSearchResult[]) => {\r\n return result.filter((item) => item.isActive === !checkBox);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\r\n setSearchCount((c) => c + 1);\r\n }}\r\n onTextChange={(text) => {\r\n setSearchText(text);\r\n }}\r\n placeholder={`Search for Physician Name or NPI`}\r\n />\r\n
    \r\n {physicianSearchResults !== undefined && (\r\n
    \r\n \r\n
    \r\n )}\r\n {loading && }\r\n
    \r\n \r\n \r\n
    \r\n {\r\n setCheckBox(e.target.checked);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n {physicianSearchResults !== undefined &&\r\n (filterPhysician(physicianSearchResults).length !== 0 ? (\r\n filterPhysician(physicianSearchResults).map(\r\n (physicianSearchResult) => (\r\n \r\n )\r\n )\r\n ) : (\r\n
    No Record found
    \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default AdminPhysicianSection;\r\n","import { useEffect, useState } from \"react\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport Loader from \"../../common/Loader\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport IPracticeSearchResult from \"../../../types/IPracticeSearchResult\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios from \"axios\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport AdminPracticeResult from \"./components/AdminPracticeResult\";\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst AdminLocationSection = () => {\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [practiceSearchResults, setPracticeSearchResults] =\r\n useState();\r\n const [serachCount, setSearchCount] = useState(0);\r\n const [checkBox, setCheckBox] = useState(false);\r\n const [loading, setLoading] = useState(false);\r\n const [searchValue, setSearchValue] = useState(undefined);\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const history = useHistory();\r\n\r\n const handleClearResultsClick = () => {\r\n setPracticeSearchResults(undefined);\r\n };\r\n\r\n const handleAddClick = () => {\r\n history.push(\"/accounts&access/physicians&practices/create/practice\");\r\n };\r\n\r\n useEffect(() => {\r\n console.log(history);\r\n const value = localStorage.getItem(\"searchValue\");\r\n const gotFrom = localStorage.getItem(\"gotFrom\");\r\n\r\n if (gotFrom === \"/physicians&practices/edit/practice/\") {\r\n localStorage.setItem(\"gotFrom\", \"\");\r\n localStorage.setItem(\"searchValue\", \"\");\r\n }else {\r\n return;\r\n }\r\n\r\n console.log(value);\r\n if (value === null) {\r\n setSearchValue(\"\");\r\n console.log(\"1st: \", searchValue);\r\n }else {\r\n setSearchValue(value);\r\n console.log(\"2nd: \", searchValue);\r\n console.log(value);\r\n }\r\n \r\n }, [])\r\n\r\n useEffect(() => {\r\n if (searchText.length >= 3) {\r\n setLoading(true);\r\n\r\n PracticeService.searchPracticeByLocation(searchText, accessToken, cancelToken)\r\n .then((response) => {\r\n setPracticeSearchResults(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e:Error) => {\r\n if (axios.isCancel(e)) {\r\n // console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n else{\r\n setLoading(false);\r\n }\r\n });\r\n }else{\r\n \r\n setLoading(false);\r\n\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [searchText, serachCount]);\r\n\r\n const filterPractice = (result: IPracticeSearchResult[]) => {\r\n return result.filter((item) => item.isActive === !checkBox);\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {\r\n setSearchCount((c) => c + 1);\r\n }}\r\n onTextChange={(text) => {\r\n setSearchText(text);\r\n }}\r\n placeholder={`Search for Practice Location`}\r\n />\r\n
    \r\n {practiceSearchResults !== undefined && (\r\n
    \r\n \r\n
    \r\n )}\r\n {loading && }\r\n
    \r\n \r\n \r\n
    \r\n {\r\n setCheckBox(e.target.checked);\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n {practiceSearchResults !== undefined &&\r\n (filterPractice(practiceSearchResults).length !== 0 ? (\r\n filterPractice(practiceSearchResults).map((practiceSearchResult) => (\r\n \r\n ))\r\n ) : (\r\n
    No Record found
    \r\n ))}\r\n \r\n );\r\n};\r\n\r\nexport default AdminLocationSection;\r\n","import { FC, useState } from \"react\";\r\nimport MButtonGroup from \"../../mButton/MButtonGroup\";\r\nimport styles from \"./AdminSection.module.css\";\r\nimport AdminPracticeSection from \"./AdminPracticeSection\";\r\nimport AdminPhysicianSection from \"./AdminPhysicianSection\";\r\nimport AdminLocationSection from \"./AdminLocationSection\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\n\r\nconst AdminSection: FC<{ name?: string }> = ({ name }) => {\r\n const TAB_1 = \"Physician\";\r\n const TAB_2 = \"Practice\";\r\n const TAB_3 = \"Location\"\r\n\r\n const [activeTab, setActiveTab] = useSessionState(\r\n \"admin_active_tab\",\r\n TAB_1\r\n );\r\n\r\n const onPhysicianClick = () => {\r\n setActiveTab(TAB_1);\r\n };\r\n const onPracticeClick = () => {\r\n setActiveTab(TAB_2);\r\n };\r\n const onLocationClick = () => {\r\n setActiveTab(TAB_3);\r\n };\r\n\r\n return (\r\n
    \r\n

    {name}

    \r\n
    \r\n \r\n
    \r\n {activeTab === TAB_1 ? : activeTab === TAB_2 ? :}\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminSection;\r\n","import { FormikProps, FormikValues } from \"formik\";\r\nimport { FC, useState } from \"react\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IFormDropdownOption from \"../../types/IFormDropdownOption\";\r\nimport MButton from \"../mButton/MButton\";\r\n\r\nconst MultiSelect: FC<{\r\n title: string;\r\n options: IFormDropdownOption[];\r\n multipleAllowed?: boolean;\r\n onSelect?: (value: number, text: string) => void;\r\n onAddClick?: () => void;\r\n onRemoveClick?: (id: number) => void;\r\n onDoubleClick?:(id: number,display?:string) => void;\r\n isLocation?:boolean;\r\n}> = ({\r\n title,\r\n options = [],\r\n multipleAllowed = false,\r\n onSelect,\r\n onAddClick,\r\n onRemoveClick,\r\n onDoubleClick,\r\n isLocation,\r\n ...props\r\n}) => {\r\n //\r\n const { name, required, form }: any = props;\r\n const [selected, setSelected] = useState();\r\n\r\n const handleRemoveClick = () => {\r\n if (onRemoveClick !== undefined) {\r\n if (multipleAllowed && selected !== undefined) {\r\n onRemoveClick(selected);\r\n return;\r\n }\r\n if (!multipleAllowed && options.length !== 0) {\r\n onRemoveClick(options[0].id);\r\n }\r\n }\r\n };\r\n\r\n const getValue = () => {\r\n if (multipleAllowed === true) {\r\n return selected;\r\n } else {\r\n return options.at(0)?.id || undefined;\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {title}\r\n {required ? * : <>}\r\n \r\n \r\n
    \r\n
    \r\n {\r\n onAddClick !== undefined && onAddClick();\r\n }}\r\n type=\"button\"\r\n style={{\r\n marginRight: 8,\r\n width: 26,\r\n textAlign: \"center\",\r\n border: \"none\",\r\n fontWeight: \"bold\",\r\n borderRadius: 2,\r\n }}\r\n disabled={multipleAllowed ? false : options.length !== 0}\r\n >\r\n +\r\n \r\n {\r\n handleRemoveClick();\r\n }}\r\n disabled={\r\n isLocation ? options.length === 1 :\r\n multipleAllowed\r\n \r\n ? selected === undefined\r\n \r\n ? true\r\n \r\n : options.length === 0 : selected !== undefined ? false : true\r\n \r\n }\r\n type=\"button\"\r\n style={{\r\n width: 26,\r\n border: \"none\",\r\n textAlign: \"center\",\r\n fontWeight: \"bold\",\r\n borderRadius: 2,\r\n }}\r\n >\r\n -\r\n \r\n
    \r\n
    \r\n {\r\n setSelected(parseInt(e.target.value));\r\n }}\r\n multiple\r\n required={required}\r\n // value={options && options.length > 0 ? options[0].id : undefined}\r\n >\r\n {options.map((option) => (\r\n \r\n ))}\r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\nexport default MultiSelect;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Modal, Form, ModalBody } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\nimport Geocode from \"react-geocode\";\r\nimport IFormDropdownOption from \"../../../../types/IFormDropdownOption\";\r\nimport * as Yup from 'yup'\r\nimport { PracticeLocation } from \"../../../../types/IPracticeCreate\";\r\nimport secrets from '../../../../env.json';\r\n\r\nconst AdminCreateLocationModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleAdd?: (values: PracticeLocation) => void;\r\n}> = ({ show, handleClose, handleAdd }) => {\r\n //\r\n const [loading, setLoading] = useState(true);\r\n const [apiCall, setApiCall] = useState(0);\r\n const [search, setSearch] = useState(\"\");\r\n const [showLocationModal, setShowLocationModal] = useState(false);\r\n const [isInitial, setIsInitial] = useState(true)\r\n const [isError, setIsError] = useState(false)\r\n const [isChecked, setIsChecked] = useState(false)\r\n\r\n const [formData, setFormData] = useState({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n\r\n const [formFilledData, setFormFilledData] = useState({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n\r\n const API_KEY = secrets.GEO_API_KEY;\r\n Geocode.setApiKey(API_KEY);\r\n Geocode.setLanguage(\"en\");\r\n\r\n // useEffect(() => {\r\n // // const geocoder = new google.maps.Geocoder();\r\n // Geocode.fromAddress(search).then(r => {\r\n\r\n // // console.log(r.results[0].address_components)\r\n // var data = formData\r\n // data = { ...data, ...formFilledData }\r\n\r\n // var flag = true\r\n // r.results[0].address_components.map((item: any, index: number) => {\r\n\r\n // if (item.types[0] == \"street_number\" || item.types[0] == \"route\" || item.types[0] == 'neighborhood') {\r\n // if (flag) {\r\n // data.address1 = \"\"\r\n // if(isChecked){\r\n // data.mailAddress1 = \"\"\r\n // }\r\n // flag = false\r\n\r\n\r\n // }\r\n\r\n // data.address1 = data.address1 + item.long_name + \" \"\r\n // if(isChecked){\r\n // data.mailAddress1 = data.mailAddress1 + item.long_name + \" \"\r\n // }\r\n // }\r\n // else if (item.types[0] == \"postal_code\") {\r\n // data.zip = \"\"\r\n // data.zip = data.zip + item.long_name\r\n // if(isChecked){\r\n // data.mailZip = \"\"\r\n // data.mailZip = data.mailZip + item.long_name\r\n // }\r\n \r\n // }\r\n // else if (item.types[0] == \"country\") {\r\n // data.country = \"\"\r\n // data.country = data.country + item.long_name\r\n // if(isChecked){\r\n // data.mailCountry = \"\"\r\n // data.mailCountry = data.mailCountry + item.long_name\r\n // }\r\n // }\r\n // else if (item.types[0] == \"administrative_area_level_1\") {\r\n // data.state = \"\"\r\n // data.state = data.state + item.short_name\r\n // if(isChecked){\r\n // data.mailState = \"\"\r\n // data.mailState = data.mailState + item.short_name\r\n // }\r\n // }\r\n // else if (item.types[0] == \"locality\") {\r\n // data.city = \"\"\r\n // data.city = data.city + item.long_name\r\n // if(isChecked){\r\n // data.mailCity = \"\"\r\n // data.mailCity = data.mailCity + item.long_name\r\n // }\r\n // }\r\n // })\r\n // r.results[0].address_components.map((item: any, index: number) => {\r\n\r\n // if (item.types[0] == \"subpremise\") {\r\n // if (flag) {\r\n // data.address1 = \"\"\r\n // data.mailAddress1 = \"\"\r\n // flag = false\r\n\r\n // }\r\n\r\n // data.address1 = data.address1 + item.long_name\r\n // if(isChecked){\r\n // data.mailAddress1 = data.mailAddress1 + item.long_name\r\n // }\r\n // }\r\n \r\n // })\r\n // data = { ...data, address1:data.address1.trim(),mailAddress1:data.mailAddress1.trim() }\r\n // // console.log(data)\r\n // setFormData(data)\r\n // setShowLocationModal(true)\r\n // // handleClose && handleClose()\r\n // }).catch(e => {\r\n // if (search !== \"\") {\r\n // setIsError(true)\r\n // setIsInitial(false)\r\n // }\r\n // console.error(e)\r\n // })\r\n\r\n // }, [search])\r\n const AddressSearch = (str:any) => {\r\n if (str.trim() != \"\") {\r\n Geocode.fromAddress(str)\r\n .then((r) => {\r\n // console.log(r.results[0].address_components)\r\n var data = formData;\r\n data = { ...data, ...formFilledData };\r\n\r\n var flag = true;\r\n r.results[0].address_components.map((item: any, index: number) => {\r\n if (\r\n item.types[0] == \"street_number\" ||\r\n item.types[0] == \"route\" ||\r\n item.types[0] == \"neighborhood\"\r\n ) {\r\n if (flag) {\r\n data.address1 = \"\";\r\n if (isChecked) {\r\n data.mailAddress1 = \"\";\r\n }\r\n flag = false;\r\n }\r\n\r\n data.address1 = data.address1 + item.long_name + \" \";\r\n if (isChecked) {\r\n data.mailAddress1 = data.mailAddress1 + item.long_name + \" \";\r\n }\r\n } else if (item.types[0] == \"postal_code\") {\r\n data.zip = \"\";\r\n data.zip = data.zip + item.long_name;\r\n if (isChecked) {\r\n data.mailZip = \"\";\r\n data.mailZip = data.mailZip + item.long_name;\r\n }\r\n } else if (item.types[0] == \"country\") {\r\n data.country = \"\";\r\n data.country = data.country + item.long_name;\r\n if (isChecked) {\r\n data.mailCountry = \"\";\r\n data.mailCountry = data.mailCountry + item.long_name;\r\n }\r\n } else if (item.types[0] == \"administrative_area_level_1\") {\r\n data.state = \"\";\r\n data.state = data.state + item.short_name;\r\n if (isChecked) {\r\n data.mailState = \"\";\r\n data.mailState = data.mailState + item.short_name;\r\n }\r\n } else if (item.types[0] == \"locality\") {\r\n data.city = \"\";\r\n data.city = data.city + item.long_name;\r\n if (isChecked) {\r\n data.mailCity = \"\";\r\n data.mailCity = data.mailCity + item.long_name;\r\n }\r\n }\r\n });\r\n r.results[0].address_components.map((item: any, index: number) => {\r\n if (item.types[0] == \"subpremise\") {\r\n if (flag) {\r\n data.address1 = \"\";\r\n data.mailAddress1 = \"\";\r\n flag = false;\r\n }\r\n\r\n data.address1 = data.address1 + item.long_name;\r\n if (isChecked) {\r\n data.mailAddress1 = data.mailAddress1 + item.long_name;\r\n }\r\n }\r\n });\r\n data = {\r\n ...data,\r\n address1: data.address1.trim(),\r\n mailAddress1: data.mailAddress1.trim(),\r\n };\r\n setFormData(data);\r\n setShowLocationModal(true);\r\n // handleClose && handleClose()\r\n })\r\n .catch((e) => {\r\n setIsError(true);\r\n if (search !== \"\") {\r\n console.log(\"in\");\r\n\r\n }\r\n console.error(e);\r\n });\r\n } else {\r\n \r\n setIsError(true);\r\n }\r\n\r\n }\r\n const handleHideLocation = () =>{\r\n setFormFilledData({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n \r\n setFormData({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n \r\n setIsInitial(true)\r\n setSearch(\"\")\r\n setShowLocationModal(false)\r\n handleClose && handleClose()\r\n }\r\n return (\r\n <>\r\n \r\n {isError ? <>\r\n Our Address Validation tool was unable to find this address. Please check the spelling and try again.\r\n \r\n Where applicable, refrain from using terms such as \"Office\" or \"Trailer\" or their abbreviated versions \"Ofc\", \"Trir\" in the address2 field because it can often result in errors. Use instead \"Ste\" for suite.\r\n If you continue having problems validating an address consider putting the Address2 info into the \"Mail Stop\" field.\r\n \r\n \r\n {\r\n // setIsInitial(false)\r\n setIsError(false)\r\n }}\r\n variant=\"secondary\"\r\n title={\"Ok\"}\r\n width={\"max-content\"}\r\n />\r\n : {\r\n // console.log(\"jsonValues\", values);\r\n if (!isInitial) {\r\n handleAdd && handleAdd(formFilledData)\r\n setFormFilledData({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n \r\n handleHideLocation()\r\n }\r\n setFormFilledData(values)\r\n var str = \"\"\r\n str = str + values.address1\r\n\r\n // setSearch(str)\r\n AddressSearch(str);\r\n actions.setSubmitting(false)\r\n \r\n window.scrollTo(0, 0);\r\n // if (handleAdd !== undefined) {\r\n // handleAdd(values as PracticeLocation);\r\n // }\r\n // await new Promise((r) => setTimeout(() => r, 3000));\r\n // alert(JSON.stringify(values, null, 2));\r\n \r\n \r\n }}\r\n >\r\n {({ values, setValues ,resetForm}) => (\r\n \r\n {showLocationModal ? \r\n The address you used requires a revision to adhere to postal standards.\r\n Below is the suggested version. If you feel the suggestion is not quite correct please update below and submit it.\r\n : null}\r\n \r\n {showLocationModal ? <> {\r\n if(formData.address1 != \"\" && formData.city != \"\"){\r\n // if(isInitial){\r\n // handleAdd && handleAdd(formData)\r\n // }\r\n // else{\r\n // setIsInitial(true)\r\n // }\r\n resetForm({})\r\n handleAdd && handleAdd(formData)\r\n setFormData({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n \r\n handleHideLocation()\r\n }else{\r\n setShowLocationModal(false);\r\n setIsError(true);\r\n }}}\r\n variant=\"primary\"\r\n title=\"Submit\"\r\n width={\"max-content\"}\r\n />\r\n {\r\n // setIsInitial(false)\r\n handleAdd && handleAdd(formFilledData)\r\n setFormFilledData({\r\n practiceId: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n });\r\n \r\n handleHideLocation()\r\n }}\r\n variant=\"secondary\"\r\n title={\"Use Original\"}\r\n width={\"max-content\"}\r\n /> : 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 <>\r\n \r\n
    {\r\n setIsChecked(e.target.checked)\r\n if (e.target.checked) {\r\n setValues({\r\n ...values,\r\n mailAddress1: values.address1,\r\n mailAddress2: values.address2,\r\n mailMailStop: values.mailStop,\r\n mailCity: values.city,\r\n mailState: values.state,\r\n mailZip: values.zip,\r\n mailZip4: values.zip4,\r\n mailCountry: values.country,\r\n })\r\n } else {\r\n setValues({\r\n ...values,\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n mailCountry: \"\",\r\n })\r\n }\r\n }}\r\n />
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* ----------- */}\r\n
    Info
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {!showLocationModal ? \r\n \r\n \r\n : null}\r\n
    \r\n )}\r\n }\r\n\r\n
    \r\n\r\n \r\n );\r\n};\r\n\r\nexport default AdminCreateLocationModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport SearchBar from \"../../../common/SearchBar\";\r\nimport axios from \"axios\";\r\nimport PhysicianService from \"../../../../services/PhysicianService\";\r\nimport IPhysicianSearchResult from \"../../../../types/IPhysicianSearchResult\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\nimport { PracticePhysician } from \"../../../../types/IPracticeCreate\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport * as Yup from 'yup'\r\n\r\ntype physicianContact = {\r\n contactName: string;\r\n email: string;\r\n phone: string;\r\n phoneExt: string;\r\n fax: string;\r\n department: string;\r\n};\r\n\r\nconst AdminSearchPhysicianModal: FC<{\r\n show: boolean;\r\n handleClose: () => void;\r\n handleAdd: (practicePhysician: PracticePhysician, name: string) => void;\r\n}> = ({ show, handleClose, handleAdd }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [physicianSearchResults, setPhysicianSearchResults] =\r\n useState();\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [searched, setSearched] = useState(0);\r\n const [renderForm, setRenderForm] = useState(false);\r\n const [selectedPhysician, setSelectedPhysician] =\r\n useState();\r\n const initialValue = {\r\n contactName: null,\r\n email: null,\r\n phone: null,\r\n phoneExt: null,\r\n fax: null,\r\n department: null,\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n PhysicianService.searchPhysician(searchText, accessToken, cancelToken)\r\n .then((response) => {\r\n setPhysicianSearchResults(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [searchText, searched]);\r\n\r\n if (renderForm) {\r\n return (\r\n \r\n {\r\n if (selectedPhysician !== undefined && handleAdd !== undefined) {\r\n \r\n handleAdd(\r\n {\r\n practiceLocationId: 0,\r\n practiceId: 0,\r\n physicianId: selectedPhysician.id,\r\n contactName,\r\n department,\r\n email,\r\n fax,\r\n phone,\r\n phoneExt,\r\n },\r\n selectedPhysician.lastName +\r\n \" \" +\r\n selectedPhysician.firstName +\r\n (selectedPhysician.midName !== \"\" && selectedPhysician.midName !== null ?\r\n ` ${selectedPhysician.midName}` : \"\") +\r\n (selectedPhysician.title !== \"\" && selectedPhysician.title !== null ?\r\n `, ${selectedPhysician.title}` : \"\")\r\n );\r\n setSelectedPhysician(undefined);\r\n setPhysicianSearchResults(undefined);\r\n setSearchText(\"\");\r\n setRenderForm(false);\r\n }\r\n }}\r\n >\r\n {({ touched, errors }) => (\r\n \r\n \r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n handleClose();\r\n setSelectedPhysician(undefined);\r\n setPhysicianSearchResults(undefined);\r\n setSearchText(\"\");\r\n setRenderForm(false);\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\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 handleClose();\r\n setSelectedPhysician(undefined);\r\n setPhysicianSearchResults(undefined);\r\n setSearchText(\"\");\r\n setRenderForm(false);\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\r\n />\r\n {\r\n setRenderForm(true);\r\n }}\r\n variant=\"primary\"\r\n title=\"Next\"\r\n width={\"max-content\"}\r\n />\r\n \r\n \r\n <>\r\n
    \r\n
    \r\n setSearchText(text)}\r\n placeholder=\"Search for Physician Name or NPI\"\r\n onSearch={() => {\r\n setSearched((prev) => prev + 1);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setPhysicianSearchResults(undefined);\r\n setSelectedPhysician(undefined);\r\n }}\r\n />\r\n
    \r\n
    \r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n {physicianSearchResults?.length !== 0 ? (\r\n
    \r\n {physicianSearchResults?.map((physician) => {\r\n return (\r\n <>\r\n {\r\n setSelectedPhysician(physician);\r\n }}\r\n >\r\n {physician.lastName} {physician.firstName}\r\n {physician.midName !== \"\" && physician.midName !== null ? ` ${physician.midName}` : \"\"}\r\n {physician.title !== \"\" && physician.title !== null ? `, ${physician.title}` : \"\"}\r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n
    No record found
    \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default AdminSearchPhysicianModal;\r\n","import { FC } from \"react\";\r\nimport { Modal, Table } from \"react-bootstrap\";\r\nimport IPracticeLookup from \"../../../../types/IPracticeLookup\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst AdminPracticeLookupModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleSubmit?: () => void;\r\n results?: IPracticeLookup[];\r\n}> = ({ show, handleClose, handleSubmit, results }) => {\r\n //\r\n const handleOnSubmit = () => {\r\n if (handleSubmit) {\r\n handleSubmit()\r\n }\r\n }\r\n //\r\n return (\r\n \r\n Possible Duplicates\r\n \r\n

    \r\n The Practice you are attempting to create may already be in the system.\r\n Please review the potential matches below and proceed only if it does not match with any of the practices.\r\n

    \r\n {results?.map(result => {\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
    IDPractice NameLocationsPhysicians
    {result.practiceId}{result.practiceName}\r\n {result.isMyCHLA && }\r\n {result.locationCount}{result.physicianCount}
    \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 AdminPracticeLookupModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Formik, Form as FormikForm, Field } from \"formik\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IFormDropdownOption from \"../../../types/IFormDropdownOption\";\r\nimport CustomInputFormik from \"../../common/CustomInputFormik\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport MultiSelect from \"../../multiselect/MultiSelect\";\r\nimport AdminCreateLocationModal from \"./components/AdminCreateLocationModal\";\r\nimport AdminSearchPhysicianModal from \"./components/AdminSearchPhysicianModal\";\r\nimport IPracticeCreate, {\r\n PracticeLocation,\r\n PracticePhysician,\r\n} from \"../../../types/IPracticeCreate\";\r\nimport * as yup from \"yup\";\r\nimport AdminService from \"../../../services/AdminService\";\r\nimport AdminPracticeLookupModal from \"./components/AdminPracticeLookupModal\";\r\nimport IPracticeLookup from \"../../../types/IPracticeLookup\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport CustomAlertModal from \"../../common/CustomAlertModal\";\r\n\r\nconst AdminCreatePractice: FC<{ name?: string }> = ({ name }) => {\r\n //\r\n const history = useHistory();\r\n const [error, setError] = useState(null);\r\n\r\n const handleBackClick = () => {\r\n history.goBack();\r\n };\r\n const [physicianOptions, setPhysicianOptions] = useState<\r\n IFormDropdownOption[]\r\n >([]);\r\n const [locationOptions, setLocationOptions] = useState(\r\n []\r\n );\r\n const [results, setResults] = useState([]);\r\n const [showLocationModal, setShowLocationModal] = useState(false);\r\n const [showPhysicianModal, setShowPhysicianModal] = useState(false);\r\n const [showPracticeLookupModal, setShowPracticeLookupModal] = useState(false);\r\n const [physician, setPhysician] = useState();\r\n const [location, setLocation] = useState();\r\n const [practiceName, setPracticeName] = useState(\"\");\r\n const [existingSimilarNames, setExistingSimilarNames] = useState([\"testpractice\"]);\r\n const [values, setValues] = useState();\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n //\r\n const json: IPracticeCreate = require(\"./sample.json\");\r\n const initialValues = {\r\n practiceName: null,\r\n groupName: null,\r\n npi: null,\r\n practiceType: null,\r\n domain: null,\r\n practice_Physician: {\r\n practiceId: 0,\r\n physicianId: 0,\r\n practiceLocationId: 0,\r\n contactName: null,\r\n email: null,\r\n phone: null,\r\n phoneExt: null,\r\n fax: null,\r\n department: null,\r\n },\r\n practice_Location: {\r\n practiceId: 0,\r\n address1: null,\r\n address2: null,\r\n mailStop: null,\r\n city: null,\r\n country: null,\r\n state: null,\r\n zip: null,\r\n zip4: null,\r\n mailAddress1: null,\r\n mailAddress2: null,\r\n mailMailStop: null,\r\n mailCity: null,\r\n mailCountry: null,\r\n mailState: null,\r\n mailZip: null,\r\n mailZip4: null,\r\n contactName: null,\r\n phone: null,\r\n phoneExt: null,\r\n fax: null,\r\n email: null,\r\n },\r\n };\r\n\r\n const handleCreatePractice = (v?: any) => {\r\n setError(null)\r\n if (v !== undefined) {\r\n AdminService.createPractice(v, accessToken, cancelToken)\r\n .then((response) => {\r\n history.push(\"/accounts&access/physicians&practices/\");\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n });\r\n } else {\r\n if (values !== undefined) {\r\n AdminService.createPractice(values, accessToken, cancelToken)\r\n .then((response) => {\r\n history.push(\"/accounts&access/physicians&practices/\");\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n });\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n

    {name}

    \r\n
    \r\n {\r\n setError(null)\r\n if(values.npi != null){\r\n var npinum: any = values.npi!;\r\n npinum = npinum.toString();\r\n values.npi = npinum;\r\n }\r\n for (var key in values) {\r\n if (key === \"practice_Location\") {\r\n for (var key_loc in values.practice_Location) {\r\n if (values[key][key_loc] === \"\") {\r\n values[key][key_loc] = null\r\n }\r\n }\r\n }\r\n else if (key === \"practice_Physician\") {\r\n for (var key_phy in values.practice_Location) {\r\n if (values[key][key_phy] === \"\") {\r\n values[key][key_phy] = null\r\n }\r\n }\r\n }\r\n if (key !== \"practice_Location\" && key !== \"practice_Physician\") {\r\n if (values[key] === \"\") {\r\n values[key] = null\r\n }\r\n }\r\n }\r\n setValues(values);\r\n AdminService.practiceLookup(\r\n values.practiceName,\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setResults(response.data);\r\n console.log(values.practiceName)\r\n setSubmitting(false);\r\n if (response.data.length > 0) {\r\n const practiceName: string = values.practiceName.toLowerCase();\r\n if (response.data.filter(src => src.practiceName.toLowerCase() == practiceName).length > 0){\r\n const listOfExisting = response.data.map(src => src.practiceName);\r\n setExistingSimilarNames([...listOfExisting]);\r\n }\r\n else {\r\n setShowPracticeLookupModal(true);\r\n }\r\n } else {\r\n handleCreatePractice(values);\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setSubmitting(false);\r\n }\r\n });\r\n }}\r\n >\r\n {({ setFieldValue, values, errors, touched, isSubmitting }) => (\r\n \r\n \r\n {existingSimilarNames.filter(src => src.toLocaleLowerCase() == practiceName?.toLocaleLowerCase()).length > 0 ? (\r\n
    \r\n
    \r\n
    \r\n Practice with same name already present.\r\n
    \r\n
    \r\n ) : null}\r\n {touched.practiceName && setPracticeName(values.practiceName)}\r\n \r\n \r\n \r\n (\r\n \r\n \r\n {props.label}\r\n {props.required ? (\r\n *\r\n ) : (\r\n <>\r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setShowPhysicianModal(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setPhysicianOptions([]);\r\n setPhysician(undefined);\r\n setFieldValue(\"practice_Physician\", \"\");\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setShowLocationModal(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setLocationOptions([]);\r\n setLocation(undefined);\r\n setFieldValue(\"practice_Location\", \"\");\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setShowLocationModal(false);\r\n }}\r\n handleAdd={(practiceLocation) => {\r\n setFieldValue(\"practice_Location\", practiceLocation);\r\n setShowLocationModal(false);\r\n setLocation(practiceLocation);\r\n setLocationOptions([\r\n {\r\n id: 1,\r\n display: practiceLocation.address1,\r\n },\r\n ]);\r\n }}\r\n />\r\n {\r\n setShowPhysicianModal(false);\r\n }}\r\n handleAdd={(physician, name) => {\r\n setShowPhysicianModal(false);\r\n setPhysician(physician);\r\n setFieldValue(\"practice_Physician\", physician);\r\n setPhysicianOptions([\r\n {\r\n id: physician.physicianId,\r\n display: name,\r\n },\r\n ]);\r\n }}\r\n />\r\n setShowPracticeLookupModal(false)}\r\n handleSubmit={() => handleCreatePractice()}\r\n results={results}\r\n />\r\n
    \r\n )}\r\n \r\n
    \r\n {\r\n setError(null)\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={error?.response?.data.message || \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminCreatePractice;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IAccountRequestDropdown from \"../types/IAccountRequestDropdown\";\r\nimport IPhysicianFormDropdownData from \"../types/IPhysicianFormDropdownData\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getAccountRequestEditDropdownData = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/DropDownData/accountrequest`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getPhysicianFormDropdownData = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/DropDownData/physicianform`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\nconst DropdownDataService = {\r\n getAccountRequestEditDropdownData,\r\n getPhysicianFormDropdownData,\r\n};\r\n\r\nexport default DropdownDataService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { Typeahead } from \"react-bootstrap-typeahead\";\r\nimport IFormDropdownOption from \"../../../../types/IFormDropdownOption\";\r\nimport MButton from \"../../../mButton/MButton\";\r\n\r\nconst AdminCreatePhysicianModal: FC<{\r\n show: boolean;\r\n name: string;\r\n handleClose?: () => void;\r\n handleSubmit?: (value: IFormDropdownOption) => void;\r\n options?: any;\r\n}> = ({ show, name, handleClose, handleSubmit, options }) => {\r\n\r\n //\r\n const [selected, setSelected] = useState();\r\n const data = [{id: -1,name: \"data not available\"}]\r\n const handleOnSubmit = () => {\r\n if (handleSubmit && selected) {\r\n handleSubmit({\r\n // @ts-ignore\r\n id: selected[0].id,\r\n // @ts-ignore\r\n display: selected[0].name,\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n }, [selected]);\r\n\r\n //\r\n return (\r\n \r\n {name}\r\n \r\n {\r\n // @ts-ignore\r\n setSelected(selected);\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 AdminCreatePhysicianModal;\r\n","import { Formik, Form as FormikForm, Field } from \"formik\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport IFormDropdownOption from \"../../../types/IFormDropdownOption\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport CustomInputFormik from \"../../common/CustomInputFormik\";\r\nimport MultiSelect from \"../../multiselect/MultiSelect\";\r\nimport DropdownDataService from \"../../../services/DropdownDataService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport IPhysicianFormDropdownData from \"../../../types/IPhysicianFormDropdownData\";\r\nimport AdminCreatePhysicianModal from \"./components/AdminCreatePhysicianModal\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport * as Yup from \"yup\";\r\nimport ICreatePhysician from \"../../../types/IPhysicianCreate\";\r\nimport AdminService from \"../../../services/AdminService\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Alert } from \"@mui/material\";\r\nimport CustomAlertModal from \"../../common/CustomAlertModal\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { ErrorBoundary } from \"react-error-boundary\";\r\nconst AdminCreatePhysician: FC<{ name?: string }> = ({ name }) => {\r\n //\r\n const styles: React.CSSProperties | undefined = {\r\n display: \"flex\",\r\n flexDirection: \"row\",\r\n };\r\n const [options, setOptions] = useState([]);\r\n const initialValue = {\r\n email: null,\r\n firstName: null,\r\n lastName: null,\r\n npiNum: null,\r\n midName: null,\r\n suffix: null,\r\n title: null,\r\n cellPhone: null,\r\n deaNum: null,\r\n deaExpireDate: null,\r\n boardCertified: null,\r\n licenseNumber: null,\r\n licenseState: null,\r\n medicaidId: null,\r\n medicaidState: null,\r\n medicareId: null,\r\n medicareState: null,\r\n medicareProviderFlag: null,\r\n medicalSchool: null,\r\n residency: null,\r\n yearStartedPracticing: null,\r\n hospitalAffiliation: null,\r\n preferredProvider: false,\r\n fochla: false,\r\n language1: null,\r\n language2: null,\r\n status: null,\r\n hdsRunDate: null,\r\n hdsPhyId: null,\r\n cernerId: null,\r\n starId: null,\r\n childrensConnect: false,\r\n notes: null,\r\n labOutreach: false,\r\n chlahealthNetwork: false,\r\n myChla: false,\r\n physicianSpecialties: [],\r\n physicianHospitalAffiliations: [],\r\n physicianInsuranceAccpted: [],\r\n };\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n //\r\n const [showModal, setShowModal] = useState(false);\r\n const history = useHistory();\r\n const [dropdownData, setDropdownData] =\r\n useState();\r\n const [showSpecialties, setShowSpecialties] = useState(false);\r\n const [specialties, setSpecialties] = useState([]);\r\n const [showAffiliations, setShowAffiliations] = useState(false);\r\n const [affiliations, setAffiliations] = useState([]);\r\n const [showInsurances, setShowInsurances] = useState(false);\r\n const [error, setError] = useState(null);\r\n const [insurances, setInsurances] = useState([]);\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n const languages: IFormDropdownOption[] =\r\n require(\"../../../data/languages.json\").map((s: any) => ({\r\n id: s.name,\r\n display: s.name,\r\n }));\r\n\r\n useEffect(() => {\r\n setError(null);\r\n DropdownDataService.getPhysicianFormDropdownData(accessToken, cancelToken)\r\n .then((response) => {\r\n setDropdownData(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n });\r\n }, [options]);\r\n const ErrorFallback = (error: any) => {\r\n return (\r\n \r\n {\"Data not Avalable\"}\r\n \r\n );\r\n };\r\n return (\r\n
    \r\n

    {name}

    \r\n
    \r\n {\r\n console.log(values);\r\n setError(null);\r\n if (values.deaExpireDate === \"\") {\r\n values.deaExpireDate = null;\r\n }\r\n if (values.hdsRunDate === \"\") {\r\n values.hdsRunDate = null;\r\n }\r\n // console.log(values)\r\n if(values.npiNum != null){\r\n var npi: any = values.npiNum!;\r\n npi = npi.toString();\r\n values.npiNum = npi;\r\n }\r\n AdminService.createPhysician(\r\n //@ts-ignore\r\n values as ICreatePhysician,\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setSubmitting(false);\r\n history.push(\"/accounts&access/physicians&practices/\");\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n setSubmitting(false);\r\n setError(e);\r\n }\r\n });\r\n }}\r\n >\r\n {({ isSubmitting, setFieldValue, values }) => (\r\n \r\n \r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \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 setShowSpecialties(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setSpecialties((prev) => [\r\n ...prev.filter((s) => s.id !== id),\r\n ]);\r\n setFieldValue(\"physicianSpecialties\", [\r\n ...values.physicianSpecialties.filter(\r\n (s) => s !== id\r\n ),\r\n ]);\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n \r\n setShowSpecialties(false)}\r\n handleSubmit={(value) => {\r\n setShowSpecialties(false);\r\n setFieldValue(\"physicianSpecialties\", [\r\n ...values.physicianSpecialties,\r\n value.id,\r\n ]);\r\n setSpecialties((prev) => [...prev, value]);\r\n }}\r\n options={dropdownData?.specialties}\r\n />\r\n \r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setShowAffiliations(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setAffiliations((prev) => [\r\n ...prev.filter((s) => s.id !== id),\r\n ]);\r\n setFieldValue(\"physicianHospitalAffiliations\", [\r\n ...values.physicianHospitalAffiliations.filter(\r\n (s) => s !== id\r\n ),\r\n ]);\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n \r\n setShowAffiliations(false)}\r\n handleSubmit={(value) => {\r\n setShowAffiliations(false);\r\n setFieldValue(\"physicianHospitalAffiliations\", [\r\n ...values.physicianHospitalAffiliations,\r\n value.id,\r\n ]);\r\n setAffiliations((prev) => [...prev, value]);\r\n }}\r\n options={dropdownData?.hospitals}\r\n />\r\n \r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setShowInsurances(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setInsurances((prev) => [\r\n ...prev.filter((s) => s.id !== id),\r\n ]);\r\n setFieldValue(\"physicianInsuranceAccpted\", [\r\n ...values.physicianInsuranceAccpted.filter(\r\n (s) => s !== id\r\n ),\r\n ]);\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n \r\n setShowInsurances(false)}\r\n handleSubmit={(value) => {\r\n setShowInsurances(false);\r\n setFieldValue(\"physicianInsuranceAccpted\", [\r\n ...values.physicianInsuranceAccpted,\r\n value.id,\r\n ]);\r\n setInsurances((prev) => [...prev, value]);\r\n }}\r\n options={dropdownData?.insurances}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n {\r\n setError(null);\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={\r\n error?.response?.data.message ||\r\n \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"\r\n }\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminCreatePhysician;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IEducation from \"../types/IEducation\";\r\nimport IResources from \"../types/IResources\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param token receives the access token of type string\r\n */\r\nconst getResourceService = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/portalupdate/carenetworkresources`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n};\r\n\r\n/**\r\n * @param id receives the patient id\r\n * @param token receives the access token of type string\r\n */\r\n// const getAmbulatoryRequestById = async (\r\n// id: number,\r\n// token?: string,\r\n// cancelToken?: CancelTokenSource\r\n// ) => {\r\n// const result = await axios.get(\r\n// `${API_BASE_URL}/patient/getpatientaccessrequestbyid/${id}`,\r\n// {\r\n// headers: {\r\n// Accept: \"application/json\",\r\n// \"Content-Type\": \"application/json\",\r\n// Pragma: \"no-cache\",\r\n// Authorization: `Bearer ${token}`,\r\n// },\r\n// cancelToken: cancelToken?.token,\r\n// }\r\n// );\r\n// return result;\r\n// };\r\n\r\n/**\r\n * @param data receives the referral form\r\n * @param token receives the access token of type string\r\n */\r\nexport async function createResourceService(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.post(\r\n `${API_BASE_URL}/portalupdate/downloadPdf`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nexport async function editResourceService(\r\n data: FormData,\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n) {\r\n const result = await axios.put(\r\n `${API_BASE_URL}/portalupdate/editdivisionofmonth`,\r\n data,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\n\r\nconst ResourceService = {\r\n getResourceService,\r\n // getAmbulatoryRequestById,\r\n createResourceService,\r\n editResourceService,\r\n};\r\n\r\nexport default ResourceService;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport {\r\n Badge,\r\n OverlayTrigger,\r\n Button,\r\n Table,\r\n Col,\r\n Card,\r\n NavDropdown,\r\n Form,\r\n} from \"react-bootstrap\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport EducationService from \"../../../services/EducationService\";\r\nimport axios from \"axios\";\r\nimport Loader from \"../../common/Loader\";\r\nimport IEducation from \"../../../types/IEducation\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport ResourceService from \"../../../services/ResourceService\";\r\nimport IResources from \"../../../types/IResources\";\r\nimport IMentalHealth from \"../../../types/IMentalHealth\";\r\nimport ICareNetworkTeam from \"../../../types/ICareNetworkTeam\";\r\nimport IMemberDirectory from \"../../../types/IMemberDirectory\";\r\nimport IClinicalPathways from \"../../../types/IClinicalPathways\";\r\nimport IPatientFamilyEducation from \"../../../types/IPatientFamilyEducation\";\r\n\r\nimport Infowell from \"../home/Infowell\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport useInfowells from \"../../../hooks/useInfowells\";\r\n\r\nimport { appInsights } from \"../../../appInsights\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst Resources: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n\r\n const handleOnClick = () => {\r\n history.push(\"/education/pgrinfowells\");\r\n };\r\n const handleClick = () => {\r\n history.push(\"/education/cmeinfowells\");\r\n };\r\n const [id, setId] = useState();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [infowells, setInfowells] = useInfowells();\r\n const [resourceData, setResourceData] = useState();\r\n const [memberDirectoryData, setMemberDirectoryData] =\r\n useState();\r\n const [careNetworkData, setCareNetworkData] = useState();\r\n const [clinicalPathwayData, setClinicalPathwayData] =\r\n useState();\r\n\r\n const [patientfamilyData, setPatientfamilyData] = useState();\r\n const [mentalhealthData, setMentalhealthData] = useState();\r\n\r\n const [error, setError] = useState(null);\r\n const handleOnChange = (e: any) => {\r\n var value = e.target.value;\r\n setId(value);\r\n };\r\n useEffect(() => {\r\n setLoading(true);\r\n setError(null);\r\n ResourceService.getResourceService(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setResourceData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n useEffect(() => {\r\n setLoading(true);\r\n HomeService.getInfowells(accessToken) \r\n .then((response) => {\r\n setInfowells(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n \r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [accessToken]);\r\n if (resourceData != undefined) {\r\n }\r\n return (\r\n
    \r\n \r\n
    \r\n {\" \"}\r\n

    {name}

    \r\n
    \r\n \r\n {loading && }\r\n \r\n
    \r\n
    \r\n {resourceData?.infoWells.map((resource) => {\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Resources;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Badge, OverlayTrigger, Table, Col, Form, Card } from \"react-bootstrap\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IDropDownInfoWell from \"../../../types/IDropDownInfoWell\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport Spinner from \"react-bootstrap/Spinner\";\r\nimport styles from \"../home/Jumbotron.module.css\";\r\nimport IClinicalType from \"../../../types/IClinicalType\";\r\nimport { downloadFileFromEducationService } from \"../../../helpers/FileHelper\";\r\nimport GoButton from \"../../GoButton/GoButton\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst ClinicalCarePathwaysScreen: FC<{\r\n name?: string;\r\n dropdown?: IClinicalType;\r\n data?: IDropDownInfoWell[];\r\n}> = ({ name, dropdown, data = [] }) => {\r\n const history = useHistory();\r\n const tableCellPadding = { padding: 20 };\r\n const tableHeadPadding = { paddingLeft: 20, paddingRight: 20 };\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n const [clinicalTypeData, setClinicalTypeData] = useState();\r\n const [error, setError] = useState(null);\r\n const [formData, setFormData] = useState();\r\n const cancelToken = axios.CancelToken.source();\r\n const { state: dropDownWells } = useLocation();\r\n const [value, setValue] = useState(\"\");\r\n const handleOnChange = (id: any, e?: any) => {\r\n let data = new FormData();\r\n let title = e.nativeEvent.target[e.nativeEvent.target.selectedIndex].text.split(\" - \").length !== 1\r\n ? e.nativeEvent.target[e.nativeEvent.target.selectedIndex].text\r\n .split(\" - \")\r\n .slice(1)\r\n .join(\" - \")\r\n : e.nativeEvent.target[e.nativeEvent.target.selectedIndex].text;\r\n data.append(\"id\", id);\r\n console.log(\"val\",title);\r\n setFormData(data);\r\n setValue(title);\r\n };\r\n\r\n return (\r\n
    \r\n {data != undefined ? (\r\n \r\n {dropdown?.type}\r\n\r\n handleOnChange(e.target.value, e)}\r\n aria-label=\"Default select example\"\r\n >\r\n {formData === undefined ? : null}\r\n {data\r\n ?.map((option, index: number) => (\r\n <>\r\n {option.clinicalCareType === dropdown?.type ? (\r\n \r\n ) : null}\r\n \r\n ))\r\n .reverse()}\r\n \r\n\r\n
    \r\n\r\n {loading ? (\r\n \r\n ) : (\r\n {\r\n downloadFileFromEducationService(\r\n formData?.get(\"id\"),\r\n value,\r\n setLoading,\r\n setError,\r\n accessToken\r\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 ClinicalCarePathwaysScreen;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport IDropDownInfoWell from \"../../../types/IDropDownInfoWell\";\r\nimport HomeService from \"../../../services/HomeService\";\r\nimport axios, { AxiosResponse } from \"axios\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\n// import { Glyphicon } from 'react-bootstrap';\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport ClinicalPathwayService from \"../../../services/ClinicalPathwayService\";\r\nimport IClinicalType from \"../../../types/IClinicalType\";\r\nimport ClinicalPathwayCards from \"./ClinicalPathwayCards\";\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst ClinicalCarePathwaysScreen: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const history = useHistory();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [loading, setLoading] = useState(false);\r\n const [clinicalTypeData, setClinicalTypeData] = useState();\r\n const [error, setError] = useState(null);\r\n const [formData, setFormData] = useState();\r\n const cancelToken = axios.CancelToken.source();\r\n const { state: dropDownWells } = useLocation();\r\n //const {state : infowell} = useLocation();\r\n const [data, setData] = useState();\r\n const [load, setLoad] = useState(true);\r\n\r\n useEffect(() => {\r\n var data:string = history.location.state as string\r\n if (data !== null) {\r\n setLoading(true);\r\n setLoad(true);\r\n HomeService.getDropDownWells(\"ClinicalCarePathways\", accessToken)\r\n .then((response) => {\r\n var data = response.data;\r\n setData(data);\r\n setLoading(false);\r\n setLoad(false);\r\n\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false);\r\n setLoad(false);\r\n\r\n });\r\n }\r\n setLoading(true);\r\n setError(null);\r\n ClinicalPathwayService.getClinicalType(accessToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setClinicalTypeData(response.data);\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n \r\n return (\r\n
    \r\n

    {name}

    \r\n {!load ?\r\n
    \r\n { clinicalTypeData?.map((dropdown, index) => {\r\n return \r\n })}\r\n
    : }\r\n
    \r\n );\r\n};\r\n\r\nexport default ClinicalCarePathwaysScreen;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport {\r\n Badge,\r\n OverlayTrigger,\r\n Button,\r\n Table,\r\n Col,\r\n Card,\r\n NavDropdown,\r\n Form,\r\n} from \"react-bootstrap\";\r\nimport { useHistory, useLocation, Link } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport EducationService from \"../../../services/EducationService\";\r\nimport axios from \"axios\";\r\nimport Loader from \"../../common/Loader\";\r\nimport IEducation from \"../../../types/IEducation\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport ResourceService from \"../../../services/ResourceService\";\r\nimport IResources from \"../../../types/IResources\";\r\nimport IMentalHealth from \"../../../types/IMentalHealth\";\r\nimport ICareNetworkTeam from \"../../../types/ICareNetworkTeam\";\r\nimport IMemberDirectory from \"../../../types/IMemberDirectory\";\r\nimport IClinicalPathways from \"../../../types/IClinicalPathways\";\r\nimport IPatientFamilyEducation from \"../../../types/IPatientFamilyEducation\";\r\n\r\nimport Infowell from \"../home/Infowell\";\r\n\r\nconst sortable = require(\"../../../assets/images/sortable.png\").default;\r\n\r\nconst CareWebsite: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const [resourceData, setResourceData] = useState();\r\n const [id, setId] = useState();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const history = useHistory();\r\n \r\n const [error, setError] = useState(null);\r\n \r\n const openLink = () => {\r\n \r\n window.open(\"https://chla.sharepoint.com/sites/HealthNetwork/SitePages/CHLA-Health-Network-Home-Page.aspx\")\r\n }\r\n openLink()\r\n history.goBack()\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default CareWebsite;\r\n","import { useEffect, useState } from \"react\";\r\n\r\nconst useDebounceQuery = (query: string, time = 500) => {\r\n const [debounceQuery, setDebounceQuery] = useState(query);\r\n\r\n useEffect(() => {\r\n const timeout = setTimeout(() => {\r\n setDebounceQuery(query);\r\n }, time);\r\n \r\n return () => {\r\n clearTimeout(timeout);\r\n }\r\n }, [query, time]);\r\n\r\n return debounceQuery;\r\n}\r\nexport default useDebounceQuery;","import { FC, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport {\r\n Field,\r\n Formik,\r\n Form as FormikForm,\r\n setNestedObjectValues,\r\n} from \"formik\";\r\nimport CustomInputFormik from \"../../common/CustomInputFormik\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport IAccountRequestDropdown from \"../../../types/IAccountRequestDropdown\";\r\nimport DropdownDataService from \"../../../services/DropdownDataService\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport { AccountRequest } from \"../../../types/IAccountRequests\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport {\r\n getFormattedDateFromDateTime,\r\n getFormattedDateTime,\r\n} from \"../../../helpers/DateHelper\";\r\nimport * as Yup from \"yup\";\r\nimport CustomAlertModal from \"../../common/CustomAlertModal\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport useDebounceQuery from \"../../../hooks/useDebounceQuery\";\r\n\r\nconst AccountRequestEdit: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n //\r\n const [error, setError] = useState(null);\r\n const [inviteLoader, setInviteLoader] = useState(false);\r\n const [reInviteLoader, setReInviteLoader] = useState(false);\r\n const [dropdownData, setDropDownData] = useState();\r\n //\r\n const location = useLocation();\r\n const request: AccountRequest = location.state;\r\n const history = useHistory();\r\n //\r\n const [query, setQuery] = useState(request.practiceId != null && request.practiceId != undefined ? request.practiceId.toString() : \"\");\r\n const [isPO, setIsPO] = useState();\r\n const debounceQuery = useDebounceQuery(query);\r\n\r\n const handleBackClick = () => {\r\n history.goBack();\r\n };\r\n\r\n useEffect(() => {\r\n DropdownDataService.getAccountRequestEditDropdownData(\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setDropDownData(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {\r\n setIsPO(undefined);\r\n if (debounceQuery.length > 0) {\r\n PracticeService.isPoPresent(debounceQuery, accessToken, cancelToken)\r\n .then((response) => {\r\n setIsPO(response.data);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n }\r\n });\r\n }\r\n }, [debounceQuery]);\r\n\r\n const handleReinvite = (values: AccountRequest, reInvite: boolean) => {\r\n setError(null);\r\n if (reInvite) {\r\n setReInviteLoader(true);\r\n }else if (reInvite === false) {\r\n setInviteLoader(true);\r\n }\r\n values.npi = values.npi.toString();\r\n AccountService.reinvite({ ...values, reInvite }, accessToken, cancelToken)\r\n .then((response) => {\r\n history.push(\"/accountsandaccess/accountrequests\");\r\n setInviteLoader(false);\r\n setReInviteLoader(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setInviteLoader(false);\r\n setReInviteLoader(false);\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n
    \r\n
    \r\n {\r\n if (values.npi != null) {\r\n var npiNum: any = values.npi!;\r\n npiNum = npiNum.toString();\r\n values.npi = npiNum;\r\n }\r\n\r\n setError(null);\r\n AccountService.editAccountRequest(\r\n {\r\n ...values,\r\n //@ts-ignore\r\n createdOn: undefined,\r\n //@ts-ignore\r\n modifiedOn: undefined,\r\n //@ts-ignore\r\n createdBy: undefined,\r\n //@ts-ignore\r\n modifiedBy: undefined,\r\n //@ts-ignore\r\n practiceId: (values.practiceId == \"\" || values.practiceId === undefined) ? null : values.practiceId,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((response) => {\r\n setSubmitting(false);\r\n history.push(\"/accountsandaccess/accountrequests\");\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setSubmitting(false);\r\n setError(e);\r\n }\r\n });\r\n }}\r\n >\r\n {({\r\n isSubmitting,\r\n values,\r\n setFieldValue,\r\n handleChange,\r\n }) => (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({\r\n id: d.id,\r\n display: d.name,\r\n })\r\n )}\r\n component={CustomInputFormik}\r\n />\r\n = 48 && event.charCode <= 57\"\r\n component={CustomInputFormik}\r\n onChange={(event: any) => {\r\n handleChange(event);\r\n setFieldValue(\r\n `practiceId`,\r\n event.target.value\r\n );\r\n setQuery(event.target.value);\r\n console.log(values.practiceId);\r\n }}\r\n />\r\n {isPO && values?.expectedRoleId == \"9\" ? (\r\n
    \r\n
    \r\n
    \r\n Practice Owner already present\r\n
    \r\n
    \r\n ) : 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 ({\r\n id: d.accountRequestStatusId,\r\n display: d.status,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n handleReinvite(values, false)}\r\n />\r\n handleReinvite(values, true)}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setError(null);\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={error?.response?.data.message || \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"}\r\n />\r\n \r\n );\r\n};\r\n\r\nexport default AccountRequestEdit;\r\n","import { FC } from \"react\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport { AccountRequest } from \"../../../types/IAccountRequests\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { getFormattedDateTime } from \"../../../helpers/DateHelper\";\r\n\r\nconst AccountRequestDetails: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n \r\n type stateType = {\r\n state: AccountRequest;\r\n };\r\n const location = useLocation();\r\n\r\n const request: AccountRequest = location.state\r\n const history = useHistory();\r\n\r\n const handleBackClick = () => {\r\n history.goBack();\r\n };\r\n\r\n const renderDetails = (label: string, value: any) => {\r\n return (\r\n \r\n {label}\r\n
    {value}
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n \r\n
    \r\n

    {name}

    \r\n
    \r\n {/* {Object.entries(request).map((v) =>\r\n renderDetails(v[0], v[1])\r\n )} */}\r\n \r\n ID\r\n
    \r\n {request.accountRequestId}\r\n
    \r\n
    \r\n \r\n First Name\r\n
    \r\n {request.userFirstName}\r\n
    \r\n
    \r\n \r\n Middle Name\r\n
    \r\n {request.userMiddleName}\r\n
    \r\n
    \r\n \r\n Last Name\r\n
    \r\n {request.userLastName}\r\n
    \r\n
    \r\n \r\n Email\r\n
    \r\n {request.userEmail}\r\n
    \r\n
    \r\n \r\n Mobile Phone\r\n
    \r\n {request.userPhone}\r\n
    \r\n
    \r\n \r\n Office Phone\r\n
    \r\n {request.officePhone}\r\n
    \r\n
    \r\n \r\n Title\r\n
    \r\n {request.userTitle}\r\n
    \r\n
    \r\n \r\n User Name\r\n
    \r\n {request.userName}\r\n
    \r\n
    \r\n \r\n NPI\r\n
    \r\n {request.npi}\r\n
    \r\n
    \r\n \r\n Medical License Number\r\n
    \r\n {request.medicalLicenseNumber}\r\n
    \r\n
    \r\n \r\n Role\r\n
    \r\n {request.expectedRole}\r\n
    \r\n
    \r\n \r\n Practice ID\r\n
    \r\n {request.practiceId}\r\n
    \r\n
    \r\n \r\n Practice Name\r\n
    \r\n {request.practiceName}\r\n
    \r\n
    \r\n \r\n Address 1\r\n
    \r\n {request.practiceAddress1}\r\n
    \r\n
    \r\n \r\n Address 2\r\n
    \r\n {request.practiceAddress2}\r\n
    \r\n
    \r\n \r\n City\r\n
    \r\n {request.practiceCity}\r\n
    \r\n
    \r\n \r\n State\r\n
    \r\n {request.practiceState}\r\n
    \r\n
    \r\n \r\n Zip\r\n
    \r\n {request.practiceZip}\r\n
    \r\n
    \r\n \r\n Phone\r\n
    \r\n {request.practicePhone}\r\n
    \r\n
    \r\n \r\n Fax\r\n
    \r\n {request.practiceFax}\r\n
    \r\n
    \r\n \r\n Practice Contact Name\r\n
    \r\n {request.practiceContactName}\r\n
    \r\n
    \r\n \r\n Practice Contact Email\r\n
    \r\n {request.practiceContactEmail}\r\n
    \r\n
    \r\n \r\n Notes\r\n
    \r\n {request.notes}\r\n
    \r\n
    \r\n \r\n Status\r\n
    \r\n {request.accountRequestStatus}\r\n
    \r\n
    \r\n \r\n Request Type\r\n
    \r\n {request.accountRequestTypeId}\r\n
    \r\n
    \r\n \r\n Created By\r\n
    \r\n {request.createdBy}\r\n
    \r\n
    \r\n \r\n Created On\r\n
    \r\n {getFormattedDateTime(request.createdOn)}\r\n
    \r\n
    \r\n \r\n Modified By\r\n
    \r\n {request.modifiedBy}\r\n
    \r\n
    \r\n \r\n Modified On\r\n
    \r\n {getFormattedDateTime(request.modifiedOn)}\r\n
    \r\n
    \r\n \r\n Is Active\r\n
    \r\n {request.activeRecord !== null && (request.activeRecord ? \"True\" : \"False\")}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {\r\n handleBackClick();\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AccountRequestDetails;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Modal, Form, ModalBody } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport IPatient from \"../../../../types/IPatient\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\nimport Geocode from \"react-geocode\";\r\nimport IFormDropdownOption from \"../../../../types/IFormDropdownOption\";\r\nimport * as Yup from \"yup\";\r\nimport { PracticeLocation } from \"../../../../types/IPracticeEdit\";\r\nimport { Alert } from \"@mui/material\";\r\nimport secrets from '../../../../env.json';\r\n\r\nconst AdminEditLocationModal: FC<{\r\n show: boolean;\r\n handleClose?: () => void;\r\n handleAdd?: (values: PracticeLocation, error?: any) => void;\r\n practiceId: number | undefined;\r\n selectedLocation?: PracticeLocation;\r\n}> = ({ show, handleClose, handleAdd, practiceId, selectedLocation }) => {\r\n //\r\n const [loading, setLoading] = useState(true);\r\n const [apiCall, setApiCall] = useState(0);\r\n const [search, setSearch] = useState(\"\");\r\n const [showSuggestion, setShowLocationModal] = useState(false);\r\n const [isInitial, setIsInitial] = useState(true);\r\n const [isError, setIsError] = useState(false);\r\n const [isChecked, setIsChecked] = useState(false);\r\n const [isflag, setisflag] = useState(undefined);\r\n\r\n const [formData, setFormData] = useState(\r\n selectedLocation !== undefined\r\n ? selectedLocation\r\n : {\r\n prctId: practiceId ? practiceId : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n }\r\n );\r\n const [formFilledData, setFormFilledData] = useState(\r\n selectedLocation !== undefined\r\n ? selectedLocation\r\n : {\r\n prctId: practiceId ? practiceId : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n }\r\n );\r\n\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n\r\n const API_KEY = secrets.GEO_API_KEY;\r\n Geocode.setApiKey(API_KEY);\r\n Geocode.setLanguage(\"en\");\r\n const AddressSearch = (str:any,values:any) => {\r\n var count = 0 ;\r\n if (str.trim() != \"\") {\r\n Geocode.fromAddress(str)\r\n .then((r) => {\r\n\r\n data = { ...data, ...formFilledData };\r\n var data = values;\r\n // data = { ...data, ...formFilledData };\r\n \r\n\r\n var flag = true;\r\n r.results[0].address_components.map((item: any, index: number) => {\r\n if (\r\n item.types[0] == \"street_number\" ||\r\n item.types[0] == \"route\" ||\r\n item.types[0] == \"neighborhood\"\r\n ) {\r\n if (flag) {\r\n data.address1 = \"\";\r\n if (isChecked) {\r\n data.mailAddress1 = \"\";\r\n }\r\n flag = false;\r\n }\r\n\r\n data.address1 = data.address1 + item.long_name + \" \";\r\n if (isChecked) {\r\n data.mailAddress1 = data.mailAddress1 + item.long_name + \" \";\r\n }\r\n } else if (item.types[0] == \"postal_code\") {\r\n data.zip = \"\";\r\n data.zip = data.zip + item.long_name;\r\n if (isChecked) {\r\n data.mailZip = \"\";\r\n data.mailZip = data.mailZip + item.long_name;\r\n }\r\n } else if (item.types[0] == \"country\") {\r\n data.country = \"\";\r\n data.country = data.country + item.long_name;\r\n if (isChecked) {\r\n data.mailCountry = \"\";\r\n data.mailCountry = data.mailCountry + item.long_name;\r\n }\r\n } else if (item.types[0] == \"administrative_area_level_1\") {\r\n data.state = \"\";\r\n data.state = data.state + item.short_name;\r\n \r\n states.map((s: any) => {\r\n if(s.display == data.state)\r\n {\r\n count = 1;\r\n return;\r\n }\r\n })\r\n if (isChecked) {\r\n data.mailState = \"\";\r\n data.mailState = data.mailState + item.short_name;\r\n }\r\n } else if (item.types[0] == \"locality\") {\r\n data.city = \"\";\r\n data.city = data.city + item.long_name;\r\n if (isChecked) {\r\n data.mailCity = \"\";\r\n data.mailCity = data.mailCity + item.long_name;\r\n }\r\n }\r\n });\r\n r.results[0].address_components.map((item: any, index: number) => {\r\n if (item.types[0] == \"subpremise\") {\r\n if (flag) {\r\n data.address1 = \"\";\r\n data.mailAddress1 = \"\";\r\n flag = false;\r\n }\r\n\r\n data.address1 = data.address1 + item.long_name;\r\n if (isChecked) {\r\n data.mailAddress1 = data.mailAddress1 + item.long_name;\r\n }\r\n }\r\n });\r\n data = {\r\n ...data,\r\n address1: data.address1.trim(),\r\n mailAddress1: data.mailAddress1.trim(),\r\n };\r\n \r\n \r\n setFormData({...data});\r\n if(count == 0)\r\n {\r\n setIsError(true);\r\n setShowLocationModal(false);\r\n }\r\n else{\r\n setShowLocationModal(true);\r\n }\r\n // handleClose && handleClose()\r\n })\r\n .catch((e) => {\r\n setIsError(true);\r\n\r\n // setFormData(formFilledData);\r\n // setIsInitial(false);\r\n });\r\n } else {\r\n setIsError(true);\r\n // setIsInitial(false);\r\n }\r\n }\r\n const handleHideLocation = () => {\r\n setFormFilledData({\r\n prctId: practiceId ? practiceId : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n });\r\n setFormData({\r\n prctId: practiceId ? practiceId : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n });\r\n setIsInitial(true);\r\n setSearch(\"\");\r\n setShowLocationModal(false);\r\n handleClose && handleClose();\r\n };\r\n return (\r\n <>\r\n \r\n {isError ? (\r\n <>\r\n \r\n Our Address Validation tool was unable to find this address.\r\n Please check the spelling and try again.\r\n \r\n \r\n Where applicable, refrain from using terms such as \"Office\" or\r\n \"Trailer\" or their abbreviated versions \"Ofc\", \"Trir\" in the\r\n address2 field because it can often result in errors. Use instead\r\n \"Ste\" for suite. If you continue having problems validating an\r\n address consider putting the Address2 info into the \"Mail Stop\"\r\n field.\r\n \r\n \r\n {\r\n setIsInitial(false);\r\n setIsError(false);\r\n }}\r\n variant=\"secondary\"\r\n title={\"Ok\"}\r\n width={\"max-content\"}\r\n />\r\n \r\n \r\n ) : (\r\n {\r\n var str = \"\";\r\n str = str + values.address1;\r\n // setSearch(str);\r\n setFormFilledData({...values});\r\n AddressSearch(str,values);\r\n values.address1 = values.address1.trim();\r\n values.city = values.city.trim();\r\n \r\n actions.setSubmitting(false);\r\n console.log(formFilledData);\r\n console.log(formData);\r\n console.log(values);\r\n //window.scrollTo(0, 0);\r\n }}\r\n >\r\n {({ values, setValues, resetForm }) => (\r\n \r\n {showSuggestion ? (\r\n \r\n The address you used requires a revision to adhere to postal\r\n standards. Below is the suggested version. If you feel the\r\n suggestion is not quite correct please update below and\r\n submit it.\r\n \r\n ) : null}\r\n \r\n {showSuggestion ? (\r\n <>\r\n {\r\n \r\n if(formData.address1.trim() != \"\" && formData.city.trim() != \"\"){\r\n // if(isInitial){\r\n // handleAdd && handleAdd(formData)\r\n // }\r\n // else{\r\n // setIsInitial(true)\r\n // }\r\n resetForm({});\r\n handleAdd && handleAdd(formData);\r\n setFormData({\r\n prctId: practiceId ? practiceId : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n });\r\n handleHideLocation();\r\n }else{\r\n setShowLocationModal(false);\r\n setIsError(true);\r\n }}}\r\n\r\n \r\n variant=\"primary\"\r\n title=\"Submit\"\r\n width={\"max-content\"}\r\n />\r\n {\r\n // setIsInitial(false)\r\n handleAdd && handleAdd(formFilledData);\r\n setFormFilledData({\r\n prctId: practiceId ? practiceId : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n });\r\n handleHideLocation();\r\n }}\r\n variant=\"secondary\"\r\n title={\"Use Original\"}\r\n width={\"max-content\"}\r\n />\r\n \r\n ) : 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 <>\r\n \r\n
    \r\n {\r\n setIsChecked(e.target.checked);\r\n if (e.target.checked) {\r\n setValues({\r\n ...values,\r\n mailAddress1: values.address1,\r\n mailAddress2: values.address2,\r\n mailMailStop: values.mailStop,\r\n mailCity: values.city,\r\n mailState: values.state,\r\n mailZip: values.zip,\r\n mailZip4: values.zip4,\r\n mailCountry: values.country,\r\n });\r\n } else {\r\n setValues({\r\n ...values,\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n mailCountry: \"\",\r\n });\r\n }\r\n }}\r\n />\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* ----------- */}\r\n
    Info
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {!showSuggestion ? (\r\n \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\n\r\nexport default AdminEditLocationModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport MButton from \"../../../mButton/MButton\";\r\nimport SearchBar from \"../../../common/SearchBar\";\r\nimport axios from \"axios\";\r\nimport PhysicianService from \"../../../../services/PhysicianService\";\r\nimport IPhysicianSearchResult from \"../../../../types/IPhysicianSearchResult\";\r\nimport Loader from \"../../../common/Loader\";\r\nimport { Field, Formik, Form as FormikForm, ErrorMessage } from \"formik\";\r\nimport CustomInputFormik from \"../../../common/CustomInputFormik\";\r\nimport IPracticeEdit, { PracticeLocation, PracticePhysician } from \"../../../../types/IPracticeEdit\";\r\nimport { appInsights } from \"../../../../appInsights\";\r\nimport * as Yup from 'yup'\r\n\r\ntype physicianContact = {\r\n contactName: string;\r\n email: string;\r\n phone: string;\r\n phoneExt: string;\r\n fax: string;\r\n department: string;\r\n};\r\n\r\nconst AdminEditSearchPhysicianModal: FC<{\r\n show: boolean;\r\n handleClose: () => void;\r\n handleAdd: (practicePhysician: PracticePhysician, name: string) => void;\r\n practiceId:number | undefined\r\n practices:IPracticeEdit\r\n selectedEditPhysician? : PracticePhysician \r\n}> = ({ show, handleClose, handleAdd,practiceId,practices,selectedEditPhysician }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(true);\r\n const [physicianSearchResults, setPhysicianSearchResults] =\r\n useState();\r\n const [searchText, setSearchText] = useState(\"\");\r\n const [searched, setSearched] = useState(0);\r\n const [renderForm, setRenderForm] = useState(false);\r\n const [showLocationError, setLocationError] = useState(false);\r\n const [selectedPhysician, setSelectedPhysician] =\r\n useState();\r\n let initialValue = {\r\n contactName: selectedEditPhysician !== undefined ? selectedEditPhysician.contactName : \"\",\r\n email: selectedEditPhysician !== undefined ? selectedEditPhysician.email : \"\",\r\n phone: selectedEditPhysician !== undefined ? selectedEditPhysician.phone : \"\",\r\n phoneExt: selectedEditPhysician !== undefined ? selectedEditPhysician.phoneExt : \"\",\r\n fax: selectedEditPhysician !== undefined ? selectedEditPhysician.fax : \"\",\r\n department: selectedEditPhysician !== undefined ? selectedEditPhysician.department : \"\",\r\n location:selectedEditPhysician !== undefined ? selectedEditPhysician.homeLocId : 0\r\n };\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n PhysicianService.searchPhysician(searchText, accessToken, cancelToken)\r\n .then((response) => {\r\n setPhysicianSearchResults(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [searchText, searched]);\r\n initialValue = {\r\n contactName: selectedEditPhysician !== undefined ? selectedEditPhysician.contactName : \"\",\r\n email: selectedEditPhysician !== undefined ? selectedEditPhysician.email : \"\",\r\n phone: selectedEditPhysician !== undefined ? selectedEditPhysician.phone : \"\",\r\n phoneExt: selectedEditPhysician !== undefined ? selectedEditPhysician.phoneExt : \"\",\r\n fax: selectedEditPhysician !== undefined ? selectedEditPhysician.fax : \"\",\r\n department: selectedEditPhysician !== undefined ? selectedEditPhysician.department : \"\",\r\n location:selectedEditPhysician !== undefined ? selectedEditPhysician.homeLocId : 0\r\n };\r\n if (renderForm || selectedEditPhysician !== undefined) {\r\n return (\r\n \r\n {\r\n if ((selectedPhysician !== undefined || selectedEditPhysician !== undefined) && handleAdd !== undefined && location !== 0) {\r\n \r\n if(selectedPhysician !== undefined){\r\n handleAdd(\r\n {\r\n activeRecord: true,\r\n id: 0,\r\n prctId: practiceId !== undefined ? practiceId : 0,\r\n physId: selectedPhysician.id,\r\n physicianFirstName: selectedPhysician.firstName,\r\n physicianLastName: selectedPhysician.lastName,\r\n physicianTitle: selectedPhysician.title,\r\n homeLocId: location !== null ? location : 0,\r\n contactName : contactName,\r\n email: email,\r\n phone: phone,\r\n phoneExt:phoneExt,\r\n fax: fax,\r\n department: department,\r\n dateCreated: new Date(),\r\n createdBy: \"\",\r\n dateModified: new Date(),\r\n modifiedBy: \"\",\r\n verified:null,\r\n verifiedBy:null,\r\n verifiedDate: null\r\n },\r\n selectedPhysician.lastName +\r\n \" \" +\r\n selectedPhysician.firstName +\r\n \r\n (selectedPhysician.title !== \"\" && selectedPhysician.title !== null ?\r\n `, ${selectedPhysician.title}` : \"\")\r\n );\r\n }\r\n else if(selectedEditPhysician !== undefined){\r\n handleAdd(\r\n {\r\n activeRecord: true,\r\n id: selectedEditPhysician.id,\r\n prctId: selectedEditPhysician.prctId,\r\n physId: selectedEditPhysician.physId,\r\n physicianFirstName: selectedEditPhysician.physicianFirstName,\r\n physicianLastName: selectedEditPhysician.physicianLastName,\r\n physicianTitle: selectedEditPhysician.physicianTitle,\r\n homeLocId: location !== null ? location : 0,\r\n contactName : contactName,\r\n email: email,\r\n phone: phone,\r\n phoneExt:phoneExt,\r\n fax: fax,\r\n department: department,\r\n dateCreated: selectedEditPhysician.dateCreated,\r\n createdBy: selectedEditPhysician.createdBy,\r\n dateModified: new Date(),\r\n modifiedBy: selectedEditPhysician.modifiedBy,\r\n verified:null,\r\n verifiedBy:null,\r\n verifiedDate: null\r\n },\r\n selectedEditPhysician.physicianLastName +\r\n \" \" +\r\n selectedEditPhysician.physicianFirstName +\r\n \r\n (selectedEditPhysician.physicianTitle !== \"\" && selectedEditPhysician.physicianTitle !== null ?\r\n `, ${selectedEditPhysician.physicianTitle}` : \"\")\r\n );\r\n }\r\n setSelectedPhysician(undefined);\r\n setPhysicianSearchResults(undefined);\r\n setSearchText(\"\");\r\n setRenderForm(false);\r\n }\r\n else{\r\n setLocationError(true)\r\n }\r\n }}\r\n >\r\n {({ touched, errors }) => (\r\n \r\n \r\n <>\r\n \r\n ({\r\n id: s.id,\r\n display: s.address1 + \" \" + s.address2 + \" \" + s.zip,\r\n })):null}\r\n placeholder=\"\"\r\n \r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n handleClose();\r\n setSelectedPhysician(undefined);\r\n setPhysicianSearchResults(undefined);\r\n setSearchText(\"\");\r\n setRenderForm(false);\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\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 handleClose();\r\n setSelectedPhysician(undefined);\r\n setPhysicianSearchResults(undefined);\r\n setSearchText(\"\");\r\n setRenderForm(false);\r\n }}\r\n variant=\"secondary\"\r\n title={\"Cancel\"}\r\n width={\"max-content\"}\r\n />\r\n {\r\n setRenderForm(true);\r\n }}\r\n variant=\"primary\"\r\n title=\"Next\"\r\n width={\"max-content\"}\r\n />\r\n \r\n \r\n <>\r\n \r\n
    \r\n
    \r\n setSearchText(text)}\r\n placeholder=\"Search for Physician Name or NPI\"\r\n onSearch={() => {\r\n setSearched((prev) => prev + 1);\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setPhysicianSearchResults(undefined);\r\n setSelectedPhysician(undefined);\r\n }}\r\n />\r\n
    \r\n
    \r\n\r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n {physicianSearchResults?.length !== 0 ? (\r\n
    \r\n {physicianSearchResults?.map((physician) => {\r\n return (\r\n <>\r\n {\r\n setSelectedPhysician(physician);\r\n }}\r\n >\r\n {physician.lastName} {physician.firstName}\r\n {physician.midName !== \"\" && physician.midName !== null ? ` ${physician.midName}` : \"\"}\r\n {physician.title !== \"\" && physician.title !== null ? `, ${physician.title}` : \"\"}\r\n
    \r\n
    \r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n
    No record found
    \r\n )}\r\n \r\n \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default AdminEditSearchPhysicianModal;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { Formik, Form as FormikForm, Field } from \"formik\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IFormDropdownOption from \"../../../types/IFormDropdownOption\";\r\nimport CustomInputFormik from \"../../common/CustomInputFormik\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport MultiSelect from \"../../multiselect/MultiSelect\";\r\nimport AdminCreateLocationModal from \"./components/AdminCreateLocationModal\";\r\nimport AdminSearchPhysicianModal from \"./components/AdminSearchPhysicianModal\";\r\nimport * as yup from \"yup\";\r\nimport AdminService from \"../../../services/AdminService\";\r\nimport AdminPracticeLookupModal from \"./components/AdminPracticeLookupModal\";\r\nimport IPracticeLookup from \"../../../types/IPracticeLookup\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport IPracticeEdit, {\r\n PracticeLocation,\r\n PracticePhysician,\r\n} from \"../../../types/IPracticeEdit\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport CustomAlertModal from \"../../common/CustomAlertModal\";\r\nimport AdminEditLocationModal from \"./components/AdminEditLocationModal\";\r\nimport AdminEditSearchPhysicianModal from \"./components/AdminEditSearchPhysicianModal\";\r\nimport { Alert } from \"@mui/material\";\r\nimport BackButton from \"../../backButton/BackButton\";\r\n\r\nconst AdminEditPractice: FC<{ name?: string }> = ({ name }) => {\r\n //\r\n //@ts-ignore\r\n const { id } = useParams<{ id?: number }>();\r\n const history = useHistory();\r\n\r\n const [error, setError] = useState(null);\r\n const [apiCall, setApiCall] = useState(0);\r\n const [defaultLocationError, setDefaultLocationError] = useState(\"\");\r\n const [physicianOptions, setPhysicianOptions] = useState<\r\n IFormDropdownOption[]\r\n >([]);\r\n const [locationOptions, setLocationOptions] = useState(\r\n []\r\n );\r\n const [showLocationModal, setShowLocationModal] = useState(false);\r\n const [showPhysicianModal, setShowPhysicianModal] = useState(false);\r\n const [defaultLocation, setDefaultLocation] = useState({\r\n id: 0,\r\n display: \"Please select default location\",\r\n });\r\n const [practiceOwner, setPracticeOwner] = useState({\r\n id: 0,\r\n display: \"Please Select practice Owner\",\r\n });\r\n const [physicians, setPhysicians] = useState([]);\r\n const [locations, setLocations] = useState([]);\r\n const [selectedLocation, setSelectedLocations] = useState();\r\n const [selectedPhysician, setSelectedPhysician] =\r\n useState();\r\n const [practiceName, setPracticeName] = useState(\"\");\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n //\r\n const [initialValues, setInitialValues] = useState();\r\n const [loading, setLoading] = useState(true);\r\n const [success, setSuccess] = useState(false);\r\n const [saveBtnLoad, setSaveBtnLoad] = useState(false);\r\n const [formData, setFormData] = useState({\r\n prctId: id !== undefined ? id : 0,\r\n locationId: 0,\r\n id: 0,\r\n address1: \"\",\r\n address2: \"\",\r\n mailStop: \"\",\r\n city: \"\",\r\n country: \"\",\r\n state: \"\",\r\n zip: \"\",\r\n zip4: \"\",\r\n mailAddress1: \"\",\r\n mailAddress2: \"\",\r\n mailMailStop: \"\",\r\n mailCity: \"\",\r\n mailCountry: \"\",\r\n mailState: \"\",\r\n mailZip: \"\",\r\n mailZip4: \"\",\r\n contactName: \"\",\r\n phone: \"\",\r\n phoneExt: \"\",\r\n fax: \"\",\r\n email: \"\",\r\n dateCreated: new Date(),\r\n dateModified: new Date(),\r\n createdBy: \"\",\r\n modifiedBy: \"\",\r\n activeRecord: true,\r\n defaultLocation: false,\r\n hdsSiteid: \"\",\r\n });\r\n useEffect(() => {\r\n if (id !== undefined) {\r\n setLoading(true);\r\n PracticeService.getPractice(id, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n let { locations, physicians } = response.data;\r\n setInitialValues(response.data);\r\n setLocations(locations);\r\n setLocationOptions(\r\n locations.map((l) => ({\r\n id: l.id,\r\n display:\r\n l.address1 +\r\n (l.address2 !== \"\" &&\r\n l.address2 !== null &&\r\n l.address2 !== undefined\r\n ? \", \" + l.address2\r\n : \"\") +\r\n (l.zip !== \"\" && l.zip !== null && l.zip !== undefined\r\n ? \", \" + l.zip\r\n : \"\"),\r\n }))\r\n );\r\n let deafaultLocArr = locations.filter(\r\n (item) => item.defaultLocation === true\r\n );\r\n if (deafaultLocArr.length > 0) {\r\n let deafaultLoc = deafaultLocArr[0];\r\n setDefaultLocation({\r\n id: deafaultLoc.id,\r\n display:\r\n deafaultLoc.address1 +\r\n (deafaultLoc.address2 !== \"\" &&\r\n deafaultLoc.address2 !== null &&\r\n deafaultLoc.address2 !== undefined\r\n ? \", \" + deafaultLoc.address2\r\n : \"\") +\r\n (deafaultLoc.zip !== \"\" &&\r\n deafaultLoc.zip !== null &&\r\n deafaultLoc.zip !== undefined\r\n ? \", \" + deafaultLoc.zip\r\n : \"\"),\r\n });\r\n }\r\n let practiceOwnerArr = physicians.filter(\r\n (item) => item.isPracticeOwner\r\n );\r\n if (practiceOwnerArr.length > 0) {\r\n let po = practiceOwnerArr[0];\r\n setPracticeOwner({\r\n id: po.physId,\r\n display: po.physicianFirstName + \" \" + po.physicianLastName,\r\n });\r\n }\r\n setPhysicians(physicians);\r\n setPhysicianOptions(\r\n physicians.map((p) => ({\r\n id: p.physId,\r\n display:\r\n p.physicianLastName +\r\n \" \" +\r\n p.physicianFirstName +\r\n (p.physicianTitle !== \"\" && p.physicianTitle !== null\r\n ? `, ${p.physicianTitle}`\r\n : \"\"),\r\n disabled: p.isPracticeOwner\r\n }))\r\n );\r\n })\r\n .catch((e) => {\r\n console.error(e);\r\n });\r\n }\r\n }, [apiCall]);\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n return (\r\n
    \r\n
    \r\n

    {name}

    \r\n \r\n
    \r\n
    \r\n {success === true ? (\r\n <>\r\n Practice updated successfully!\r\n \r\n ) : error ? (\r\n <>\r\n \r\n Error in submitting, please try again!\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n\r\n {initialValues !== undefined ? (\r\n {\r\n setError(null);\r\n if (values.npi != null) {\r\n var npinum: any = values.npi!;\r\n npinum = npinum.toString();\r\n values.npi = npinum;\r\n }\r\n for (var key in values) {\r\n if (key === \"practice_Location\") {\r\n for (var key_loc in values.practice_Location) {\r\n if (values[key][key_loc] === \"\") {\r\n values[key][key_loc] = null;\r\n }\r\n }\r\n } else if (key === \"practice_Physician\") {\r\n for (var key_phy in values.practice_Location) {\r\n if (values[key][key_phy] === \"\") {\r\n values[key][key_phy] = null;\r\n }\r\n }\r\n }\r\n if (\r\n key !== \"practice_Location\" &&\r\n key !== \"practice_Physician\"\r\n ) {\r\n if (values[key] === \"\") {\r\n values[key] = null;\r\n }\r\n }\r\n }\r\n setSuccess(false);\r\n console.log(\"landed here\");\r\n AdminService.editPractice(values, accessToken, cancelToken)\r\n .then((response) => {\r\n console.log(\"landed here\");\r\n\r\n setSuccess(true);\r\n setSubmitting(false);\r\n setApiCall(apiCall + 1);\r\n // history.push(\"/accounts&access/physicians&practices/\");\r\n })\r\n .catch((e) => {\r\n console.log(\"landed here\");\r\n if (!axios.isCancel(e)) {\r\n console.log(\"landed here\");\r\n setSubmitting(false);\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n });\r\n }}\r\n >\r\n {({ setFieldValue, values, touched, isSubmitting }) => (\r\n \r\n \r\n \r\n {touched.practiceName && setPracticeName(values.practiceName)}\r\n \r\n \r\n (\r\n \r\n \r\n {props.label}\r\n {props.required ? (\r\n *\r\n ) : (\r\n <>\r\n )}\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n />\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setSelectedPhysician(undefined);\r\n setShowPhysicianModal(true);\r\n }}\r\n onDoubleClick={(id: number) => {\r\n let selecPhysician: PracticePhysician =\r\n physicians.filter(\r\n (e) => e.physId === id\r\n )[0];\r\n setSelectedPhysician(selecPhysician);\r\n setShowPhysicianModal(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n if(physicians.filter(phy => phy.physId === id)[0].isPracticeOwner) {\r\n alert(\"Can not remove practice owner.\")\r\n return;\r\n }\r\n let newOptions = [\r\n ...physicianOptions.filter(\r\n (o) => o.id !== id\r\n ),\r\n ];\r\n let filteredPhysicians = physicians.map(\r\n (p) => {\r\n if (p.physId === id) {\r\n return { ...p, activeRecord: false };\r\n } else {\r\n return p;\r\n }\r\n }\r\n );\r\n setPhysicianOptions(newOptions);\r\n setPhysicians(filteredPhysicians);\r\n setFieldValue(\r\n \"physicians\",\r\n filteredPhysicians\r\n );\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n {\r\n setDefaultLocationError(\"\");\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={defaultLocationError}\r\n />\r\n {\r\n return (\r\n {\r\n setSelectedLocations(undefined);\r\n setShowLocationModal(true);\r\n }}\r\n onDoubleClick={(\r\n id: number,\r\n display: string\r\n ) => {\r\n let selecLocation: PracticeLocation =\r\n locations.filter(\r\n (l) =>\r\n l.id === id &&\r\n display ===\r\n l.address1 +\r\n (l.address2 !== \"\" &&\r\n l.address2 !== null &&\r\n l.address2 !== undefined\r\n ? \", \" + l.address2\r\n : \"\") +\r\n (l.zip !== \"\" &&\r\n l.zip !== null &&\r\n l.zip !== undefined\r\n ? \", \" + l.zip\r\n : \"\")\r\n )[0];\r\n setSelectedLocations(selecLocation);\r\n setShowLocationModal(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n let newOptions = [\r\n ...locationOptions.filter(\r\n (o) => o.id !== id\r\n ),\r\n ];\r\n\r\n if (id !== 0) {\r\n let flag = false;\r\n let filteredlocations: PracticeLocation[] =\r\n locations.map((l) => {\r\n if (\r\n l.id === id &&\r\n l.defaultLocation === false\r\n ) {\r\n return { ...l, activeRecord: false };\r\n } else {\r\n if (\r\n l.defaultLocation === true &&\r\n l.id === id\r\n ) {\r\n flag = true;\r\n setDefaultLocationError(\r\n \"Default Location cannot be deleted.\"\r\n );\r\n }\r\n return l;\r\n }\r\n });\r\n if (flag) {\r\n setLocationOptions(locationOptions);\r\n } else {\r\n setLocationOptions(newOptions);\r\n }\r\n setLocations(filteredlocations);\r\n setFieldValue(\r\n \"locations\",\r\n filteredlocations\r\n );\r\n } else {\r\n let filteredlocations = [\r\n ...locations.filter((o) => o.id !== id),\r\n ];\r\n setLocationOptions(newOptions);\r\n setLocations(filteredlocations);\r\n setFieldValue(\r\n \"locations\",\r\n filteredlocations\r\n );\r\n }\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n if (location.length > 0) {\r\n PracticeService.practiceDefaultLocationChange(\r\n {\r\n locationId: location[0].id,\r\n practiceId: id !== undefined ? id : 0,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((res) => {\r\n console.log(res);\r\n })\r\n .catch((err) => {\r\n console.log(err);\r\n });\r\n }\r\n }}\r\n component={CustomInputFormik}\r\n />\r\n {\r\n if (physician.length > 0) {\r\n setSaveBtnLoad(true);\r\n PracticeService.practiceOwnerChange(\r\n {\r\n physicianId: physician[0].id,\r\n practiceId: id !== undefined ? id : 0,\r\n },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then((res) => {\r\n setSaveBtnLoad(false);\r\n console.log(res);\r\n })\r\n .catch((err) => {\r\n setSaveBtnLoad(false);\r\n setDefaultLocationError(err.response.data);\r\n console.log(err);\r\n });\r\n }\r\n }}\r\n component={CustomInputFormik}\r\n />\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setShowLocationModal(false);\r\n }}\r\n selectedLocation={selectedLocation}\r\n handleAdd={(practiceLocation, error) => {\r\n setShowLocationModal(false);\r\n\r\n let filteredlocations: PracticeLocation[] = [];\r\n if (selectedLocation !== undefined) {\r\n filteredlocations = locations.filter(\r\n (e) => e.id !== practiceLocation.id\r\n );\r\n } else {\r\n filteredlocations = locations;\r\n }\r\n setLocations((prev) => [\r\n practiceLocation,\r\n ...filteredlocations,\r\n ]);\r\n setLocationOptions((prev) => [\r\n {\r\n id: practiceLocation.id,\r\n display:\r\n practiceLocation.address1 +\r\n (practiceLocation.address2 !== \"\" &&\r\n practiceLocation.address2 !== null &&\r\n practiceLocation.address2 !== undefined\r\n ? \", \" + practiceLocation.address2\r\n : \"\") +\r\n (practiceLocation.zip !== \"\" &&\r\n practiceLocation.zip !== null &&\r\n practiceLocation.zip !== undefined\r\n ? \", \" + practiceLocation.zip\r\n : \"\"),\r\n },\r\n ...filteredlocations.map((l) => ({\r\n id: l.id,\r\n display:\r\n l.address1 +\r\n (l.address2 !== \"\" &&\r\n l.address2 !== null &&\r\n l.address2 !== undefined\r\n ? \", \" + l.address2\r\n : \"\") +\r\n (l.zip !== \"\" && l.zip !== null && l.zip !== undefined\r\n ? \", \" + l.zip\r\n : \"\"),\r\n })),\r\n ]);\r\n setFieldValue(\"locations\", [\r\n practiceLocation,\r\n ...filteredlocations,\r\n ]);\r\n setSelectedLocations(undefined);\r\n }}\r\n practiceId={id}\r\n />\r\n {\r\n setShowPhysicianModal(false);\r\n }}\r\n selectedEditPhysician={selectedPhysician}\r\n handleAdd={(physician, name) => {\r\n setShowPhysicianModal(false);\r\n // @ts-ignore\r\n let filteredPhysicians: PracticePhysician[] = [];\r\n if (physician !== undefined) {\r\n console.log(selectedPhysician)\r\n console.log(physician)\r\n if(physicians.filter(src => src.physId == physician.physId).length > 0) return;\r\n filteredPhysicians = physicians.filter(\r\n (e) => e.physId != physician.physId\r\n );\r\n } else {\r\n filteredPhysicians = physicians;\r\n }\r\n\r\n setPhysicians((prev) => [physician, ...filteredPhysicians]);\r\n setFieldValue(\"physicians\", [\r\n physician,\r\n ...filteredPhysicians,\r\n ]);\r\n setPhysicianOptions((prev) => [\r\n {\r\n id:\r\n physician.id != 0\r\n ? physician.physId\r\n : physician.physId,\r\n display: name,\r\n },\r\n ...filteredPhysicians.map((l) => ({\r\n id: l.physId,\r\n display:\r\n l.physicianLastName +\r\n \" \" +\r\n l.physicianFirstName +\r\n (l.physicianTitle !== \"\" && l.physicianTitle !== null\r\n ? `, ${l.physicianTitle}`\r\n : \"\"),\r\n })),\r\n ]);\r\n }}\r\n practiceId={id}\r\n practices={initialValues}\r\n />\r\n
    \r\n )}\r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n {\r\n setError(null);\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={error?.response?.data.message || \r\n \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminEditPractice;\r\n","import { Formik, Form as FormikForm, Field } from \"formik\";\r\nimport { FC, useEffect, useState } from \"react\";\r\nimport IFormDropdownOption from \"../../../types/IFormDropdownOption\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport CustomInputFormik from \"../../common/CustomInputFormik\";\r\nimport MultiSelect from \"../../multiselect/MultiSelect\";\r\nimport DropdownDataService from \"../../../services/DropdownDataService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport IPhysicianFormDropdownData, {\r\n Hospital,\r\n Insurance,\r\n Specialty,\r\n} from \"../../../types/IPhysicianFormDropdownData\";\r\nimport AdminCreatePhysicianModal from \"./components/AdminCreatePhysicianModal\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport * as Yup from \"yup\";\r\nimport AdminService from \"../../../services/AdminService\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport PhysicianService from \"../../../services/PhysicianService\";\r\nimport IPhysicianDetail from \"../../../types/IPhysicianDetail\";\r\nimport IPhysicianEdit from \"../../../types/IPhysicianEdit\";\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport { getFormattedDateFromDateTime } from \"../../../helpers/DateHelper\";\r\nimport CustomAlertModal from \"../../common/CustomAlertModal\";\r\n\r\nconst AdminEditPhysician: FC<{ name?: string }> = ({ name }) => {\r\n //\r\n const [error, setError] = useState(null);\r\n //@ts-ignore\r\n const { id } = useParams<{ id?: number }>();\r\n const [initialValue, setInitialValue] = useState();\r\n //\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n //\r\n const history = useHistory();\r\n const [dropdownData, setDropdownData] =\r\n useState();\r\n const [loading, setLoading] = useState(true);\r\n const [showSpecialties, setShowSpecialties] = useState(false);\r\n const [specialties, setSpecialties] = useState([]);\r\n const [showAffiliations, setShowAffiliations] = useState(false);\r\n const [affiliations, setAffiliations] = useState([]);\r\n const [showInsurances, setShowInsurances] = useState(false);\r\n const [insurances, setInsurances] = useState([]);\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n const languages: IFormDropdownOption[] =\r\n require(\"../../../data/languages.json\").map((s: any) => ({\r\n id: s.name,\r\n display: s.name,\r\n }));\r\n\r\n const filterHospitalName = (arr: Hospital[], id: number) => {\r\n let filtered = arr.filter((x) => x.id === id);\r\n if (filtered.length > 0) {\r\n return filtered[0].name;\r\n }\r\n return \"Not found\";\r\n };\r\n\r\n const filterInsuranceName = (arr: Insurance[], id: number) => {\r\n let filtered = arr.filter((x) => x.id === id);\r\n if (filtered.length > 0) {\r\n return filtered[0].name;\r\n }\r\n return \"Not found\";\r\n };\r\n const filterSpecialtyName = (arr: Specialty[], id: number) => {\r\n let filtered = arr.filter((x) => x.id === id);\r\n if (filtered.length > 0) {\r\n return filtered[0].name;\r\n }\r\n return \"Not found\";\r\n };\r\n\r\n useEffect(() => {\r\n setError(null);\r\n DropdownDataService.getPhysicianFormDropdownData(accessToken, cancelToken)\r\n .then((response) => {\r\n let d = response.data;\r\n setDropdownData(response.data);\r\n if (id !== undefined) {\r\n PhysicianService.getPhysician(id, accessToken, cancelToken)\r\n .then((response) => {\r\n // console.log(response.data);\r\n let physicianDetail: IPhysicianDetail = response.data;\r\n let physicianEdit: IPhysicianEdit = {\r\n ...physicianDetail,\r\n id: id || 0,\r\n deaExpireDate: getFormattedDateFromDateTime(\r\n physicianDetail.deaExpireDate\r\n ),\r\n };\r\n setInitialValue(physicianEdit);\r\n setAffiliations(\r\n physicianDetail.physicianHospitalAffiliations?.map((id) => ({\r\n id: id,\r\n display: filterHospitalName(d.hospitals, id),\r\n })) || []\r\n );\r\n if (response.data.physicianInsurancesAccepteds !== undefined) {\r\n setInsurances(\r\n physicianDetail.physicianInsurancesAccepteds?.map((id) => ({\r\n id: id,\r\n display: filterInsuranceName(d.insurances, id),\r\n })) || []\r\n );\r\n }\r\n setSpecialties(\r\n physicianDetail.physicianSpecialties?.map((id) => ({\r\n id: id,\r\n display: filterSpecialtyName(d.specialties, id),\r\n })) || []\r\n );\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setLoading(false);\r\n setError(e);\r\n }\r\n });\r\n }\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setLoading(false);\r\n setError(e);\r\n }\r\n });\r\n }, []);\r\n\r\n if (loading) {\r\n return ;\r\n }\r\n return (\r\n
    \r\n

    {name}

    \r\n
    \r\n {initialValue !== undefined ? (\r\n {\r\n if(values.npiNum != null){\r\n var npi: any = values.npiNum!;\r\n npi = npi.toString();\r\n values.npiNum = npi;\r\n }\r\n setError(null);\r\n\r\n if (values.hdsRunDate === \"\") {\r\n values.hdsRunDate = null;\r\n }\r\n if (values.deaExpireDate === \"\") {\r\n values.deaExpireDate = null;\r\n }\r\n if (\r\n values.firstName.trim() == \"\" ||\r\n values.lastName.trim() == \"\"\r\n ) {\r\n var e = \"Please fill the mandatory field\";\r\n setError(e);\r\n setSubmitting(false);\r\n } else {\r\n values.firstName = values.firstName.trim();\r\n values.lastName = values.lastName.trim();\r\n AdminService.editPhysician(values, accessToken, cancelToken)\r\n .then((response) => {\r\n setSubmitting(false);\r\n history.push(\"/accounts&access/physicians&practices/\");\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n setSubmitting(false);\r\n setError(e);\r\n }\r\n });\r\n }\r\n }}\r\n >\r\n {({ isSubmitting, setFieldValue, values }) => (\r\n \r\n \r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n })\r\n )}\r\n component={CustomInputFormik}\r\n />\r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \r\n \r\n \r\n \r\n ({\r\n id: s,\r\n display: s,\r\n }))}\r\n component={CustomInputFormik}\r\n />\r\n \r\n \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 setShowSpecialties(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setSpecialties((prev) => [\r\n ...prev.filter((s) => s.id !== id),\r\n ]);\r\n if (values.physicianSpecialties !== null) {\r\n setFieldValue(\"physicianSpecialties\", [\r\n ...values.physicianSpecialties.filter(\r\n (s) => s !== id\r\n ),\r\n ]);\r\n }\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n setShowSpecialties(false)}\r\n handleSubmit={(value) => {\r\n setShowSpecialties(false);\r\n if (values.physicianSpecialties !== null) {\r\n setFieldValue(\"physicianSpecialties\", [\r\n ...values.physicianSpecialties,\r\n value.id,\r\n ]);\r\n } else {\r\n setFieldValue(\"physicianSpecialties\", [value.id]);\r\n }\r\n setSpecialties((prev) => [...prev, value]);\r\n }}\r\n options={dropdownData?.specialties}\r\n />\r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setShowAffiliations(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setAffiliations((prev) => [\r\n ...prev.filter((s) => s.id !== id),\r\n ]);\r\n if (\r\n values.physicianHospitalAffiliations !== null\r\n ) {\r\n setFieldValue(\r\n \"physicianHospitalAffiliations\",\r\n [\r\n ...values.physicianHospitalAffiliations.filter(\r\n (s) => s !== id\r\n ),\r\n ]\r\n );\r\n }\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n setShowAffiliations(false)}\r\n handleSubmit={(value) => {\r\n setShowAffiliations(false);\r\n if (values.physicianHospitalAffiliations !== null) {\r\n setFieldValue(\"physicianHospitalAffiliations\", [\r\n ...values.physicianHospitalAffiliations,\r\n value.id,\r\n ]);\r\n } else {\r\n setFieldValue(\"physicianHospitalAffiliations\", [\r\n value.id,\r\n ]);\r\n }\r\n setAffiliations((prev) => [...prev, value]);\r\n }}\r\n options={dropdownData?.hospitals}\r\n />\r\n
    \r\n
    \r\n {\r\n return (\r\n {\r\n setShowInsurances(true);\r\n }}\r\n onRemoveClick={(id) => {\r\n setInsurances((prev) => [\r\n ...prev.filter((s) => s.id !== id),\r\n ]);\r\n if (\r\n values.physicianInsurancesAccepteds !== null\r\n ) {\r\n setFieldValue(\r\n \"physicianInsurancesAccepteds\",\r\n [\r\n ...values.physicianInsurancesAccepteds.filter(\r\n (s) => s !== id\r\n ),\r\n ]\r\n );\r\n }\r\n }}\r\n />\r\n );\r\n }}\r\n />\r\n setShowInsurances(false)}\r\n handleSubmit={(value) => {\r\n setShowInsurances(false);\r\n if (values.physicianInsurancesAccepteds !== null) {\r\n setFieldValue(\"physicianInsurancesAccepteds\", [\r\n ...values.physicianInsurancesAccepteds,\r\n value.id,\r\n ]);\r\n } else {\r\n setFieldValue(\"physicianInsurancesAccepteds\", [\r\n value.id,\r\n ]);\r\n }\r\n setInsurances((prev) => [...prev, value]);\r\n }}\r\n options={dropdownData?.insurances}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n {\r\n setError(null);\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={\r\n error?.response?.data.message ||\r\n error ||\r\n \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"\r\n }\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default AdminEditPhysician;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport HomeService from \"../../../services/HomeService\";\r\n\r\nconst PracticeNotActive: FC = () => {\r\n const [statement, setStatement] = useState(\"myCHLA resources are temporarily unavailable to Your Practice. This could be the result of a practice owner change\");\r\n useEffect(() => {\r\n HomeService.GetPracticeNotActiveStatement()\r\n .then((data) => setStatement(data.data))\r\n .catch((e) => setStatement('myCHLA resources are temporarily unavailable to Your Practice. This could be the result of a practice owner change'))\r\n }, [])\r\n return (\r\n
    \r\n
    {statement}
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PracticeNotActive;","import { FC, useEffect, useState } from \"react\";\r\nimport ReactPlayer from \"react-player\";\r\nimport PediatricGRService from \"../../../services/PediatricGRService\";\r\nimport { useParams } from \"react-router-dom\";\r\nimport { getFormattedDate } from \"../../../helpers/DateHelper\";\r\nimport Loader from \"../../common/Loader\";\r\nimport ReactHtmlParser from \"react-html-parser\";\r\n\r\nconst PGRVideo: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n const [url, setUrl] = useState(\"\");\r\n const [title, setTitle] = useState(\"\");\r\n const [description, setDescription] = useState(\"\");\r\n const [eventDate, setEventDate] = useState(\"\");\r\n\r\n const [loading, setLoading] = useState(true);\r\n const params: { id: string } = useParams();\r\n\r\n const fetchSAS = async () => {\r\n console.log(params.id);\r\n const id = params.id;\r\n const data = await PediatricGRService.pediatricGrandRoundSAS(parseInt(id));\r\n\r\n return data.data;\r\n };\r\n useEffect(() => {\r\n fetchSAS()\r\n .then((SASInfo) => {\r\n setUrl(SASInfo.sas);\r\n setTitle(SASInfo.title);\r\n setEventDate(SASInfo.eventDate);\r\n setDescription(SASInfo.contentMessage);\r\n\r\n console.log(typeof SASInfo.eventDate);\r\n setLoading(false);\r\n })\r\n .catch((err) => {\r\n setLoading(false);\r\n console.log(err);\r\n });\r\n });\r\n\r\n\r\n return (\r\n
    \r\n {loading ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n <>\r\n \r\n
    \r\n \r\n {title}\r\n

    \r\n \r\n Event Date: {getFormattedDate(new Date(eventDate))}\r\n

    \r\n \r\n {(ReactHtmlParser(description))}\r\n

    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default PGRVideo;\r\n","import { CancelTokenSource } from \"axios\";\r\nimport { customAxios as axios } from \"./ServiceConfig\";\r\nimport { API_BASE_URL } from \"../config\";\r\nimport IEmbassyDetails from \"../types/IEmbassyDetails\";\r\nlet loginas = localStorage.getItem('loginAsFlag')\r\nlet loginasEmail = localStorage.getItem('loginAsEmail')\r\n/**\r\n * @param searchTerm receives the searched name\r\n * @param token receives the access token of type string\r\n */\r\nconst getEmbassyInfo = async (\r\n token?: string,\r\n cancelToken?: CancelTokenSource\r\n ) => {\r\n const result = await axios.get(\r\n `${API_BASE_URL}/api/embassy/details/shallow`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n };\r\nconst getEmbassyMembers = async (embassyId:number, token?:string, cancelToken?:CancelTokenSource) => {\r\n const result = await axios.get(`${API_BASE_URL}/api/Embassy/members?embassyId=${embassyId}`,\r\n loginas !== null ? {\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n loginas:loginas !== null ? loginas : JSON.stringify(false),\r\n email:loginasEmail !== null ? loginasEmail : \"\",\r\n },\r\n cancelToken: cancelToken?.token,\r\n }:{\r\n headers: {\r\n Accept: \"application/json\",\r\n \"Content-Type\": \"application/json\",\r\n Pragma: \"no-cache\",\r\n Authorization: `Bearer ${token}`,\r\n },\r\n cancelToken: cancelToken?.token,\r\n }\r\n );\r\n return result;\r\n}\r\nconst EmbassyService = {\r\n getEmbassyInfo,\r\n getEmbassyMembers,\r\n};\r\n \r\nexport default EmbassyService;","import { FC, useState, useEffect } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios, { AxiosError } from \"axios\";\r\nimport Loader from \"../../common/Loader\";\r\nimport usePracticeInfo from \"../../../hooks/usePracticeInfo\";\r\nimport useUserInfo from \"../../../hooks/useUserInfo\";\r\nimport IPracticeInfo from \"../../../types/IPracticeInfo\";\r\nimport { OKTA_AUTH_CONFIG } from \"../../../config\";\r\nimport CustomAlertModal from \"../../common/CustomAlertModal\";\r\nimport { Form } from \"react-bootstrap\";\r\nimport IEmbassyDetails from \"../../../types/IEmbassyDetails\";\r\n\r\nconst MyEmbassyInfo: FC<{\r\n onPracticeInfoUpdate?: (practice: IEmbassyDetails) => void;\r\n practiceInfo:IEmbassyDetails | undefined\r\n}> = ({ onPracticeInfoUpdate,practiceInfo }) => {\r\n // const [practiceInfo, setPracticeInfo] = usePracticeInfo();\r\n const userInfo = useUserInfo();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [loading, setLoading] = useState(false);\r\n const [error, setError] = useState(null)\r\n\r\n\r\n\r\n\r\n const redirectOKTA = () => {\r\n let email:any = userInfo?.email;\r\n let isInternal;\r\n if (/^[a-zA-Z0-9._-]+@chla\\.usc\\.edu$/.test(email)) {\r\n isInternal = true;\r\n } \r\n\r\n \r\n if (isInternal) {\r\n window.open(\"https://oktalogin.chla.org/enduser/settings\");\r\n } else {\r\n window.open(\r\n OKTA_AUTH_CONFIG.issuer\r\n ? OKTA_AUTH_CONFIG.issuer.split(\"/oauth2\")[0]\r\n : \"https://extoktalogin.chla.org/enduser/settings\"\r\n );\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {loading && (\r\n
    \r\n \r\n
    \r\n )}\r\n {practiceInfo !== undefined && (\r\n <>\r\n

    \r\n My Embassy Info\r\n

    \r\n
    \r\n Embassy ID: {practiceInfo?.embassyID}\r\n
    \r\n {practiceInfo.embassyAddress1 !== null && <>

    {practiceInfo?.embassyName}

    \r\n

    {practiceInfo?.embassyAddress1}

    \r\n

    {practiceInfo?.embassyAddress2}

    \r\n

    \r\n {practiceInfo?.embassyCity}, {practiceInfo?.embassyState},{\" \"}\r\n {practiceInfo?.embassyZip}\r\n

    }\r\n

    Moving?

    \r\n
      \r\n
    • Is your embassy moving?
    • \r\n
    • Are you leaving this embassy?
    • \r\n
    • Are you part of another embassy or joining a new embassy?
    • \r\n
    \r\n Tell us about it\r\n
    \r\n myCHLA Account\r\n
    \r\n

    \r\n Update your account information or change your password{\" \"}\r\n here\r\n

    \r\n \r\n )}\r\n {\r\n setError(null)\r\n }}\r\n header={\"Error!\"}\r\n // @ts-ignore\r\n body={error?.response?.data.message || \"There was an error processing your request. Please refresh the page and try again. If problems persist please contact myCHLA support.\"}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default MyEmbassyInfo;\r\n","import React, { FC, useEffect, useState } from \"react\";\r\nimport CustomAccordion from \"../../accordion/CustomAccordion\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { Table } from \"react-bootstrap\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport IEmbassyDetails from \"../../../types/IEmbassyDetails\";\r\nimport EmbassyService from \"../../../services/EmbassyService\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport IPracticeRoles from \"../../../types/IPracticeRoles\";\r\nimport RemoveUserConfirmationModal from \"../myPractice/components/RemoveUserConfirmationModal\";\r\nimport AccountService from \"../../../services/AccountService\";\r\n\r\ninterface EmbassyMember {\r\n userId: string;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n status: boolean;\r\n}\r\n\r\ninterface EmbassyMembersResponse {\r\n data: EmbassyMember[];\r\n}\r\n\r\nconst EmbassyMemberInfo: FC<{\r\n embassyInfo: IEmbassyDetails | undefined;\r\n accessToken: string | undefined;\r\n userRole: IPracticeRoles | undefined;\r\n}> = ({ embassyInfo, accessToken, userRole }) => {\r\n const [loading, setLoading] = useState(false);\r\n const [embassyMembers, setEmbassyMembers] = useState([]);\r\n const [error, setError] = useState(null);\r\n const [showRemoveModal, setShowRemoveModal] = useState(false);\r\n const [userToRemove, setUserToRemove] = useState();\r\n const [isSubmitting, setIsSubmitting] = useState<{\r\n isSubmitting: boolean;\r\n userId: string;\r\n }>({ isSubmitting: false, userId: \"\" });\r\n\r\n const cancelToken = axios.CancelToken.source();\r\n\r\n const checkRole = (): boolean => {\r\n if (userRole && userRole.embassyRoles) {\r\n return userRole.embassyRoles.some((e) => e.roleId === \"11\");\r\n }\r\n return false;\r\n };\r\n\r\n const getEmbassyMembers = (embassyId: number) => {\r\n setLoading(true);\r\n EmbassyService.getEmbassyMembers(embassyId, accessToken, cancelToken)\r\n .then((response: EmbassyMembersResponse) => {\r\n if (response?.data) {\r\n setEmbassyMembers(response.data);\r\n }\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const removeEmbassyMember = (\r\n embassyId: number | undefined,\r\n userId: string | undefined\r\n ) => {\r\n if (embassyId && userId) {\r\n setIsSubmitting({ isSubmitting: true, userId });\r\n AccountService.removeEmbassyMember(\r\n { embassyId, userId },\r\n accessToken,\r\n cancelToken\r\n )\r\n .then(() => {\r\n setIsSubmitting({ isSubmitting: false, userId });\r\n getEmbassyMembers(embassyId); // Refetch after removal\r\n })\r\n .catch((e) => {\r\n setIsSubmitting({ isSubmitting: false, userId });\r\n setError(e);\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n }\r\n });\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (embassyInfo && accessToken && checkRole()) {\r\n getEmbassyMembers(embassyInfo.embassyID);\r\n }\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [embassyInfo, accessToken]);\r\n if (checkRole()) {\r\n return (\r\n <>\r\n \r\n
    Embassy Members
    \r\n {loading ? (\r\n \r\n ) : (\r\n
    \r\n ({embassyMembers.length})\r\n
    \r\n )}\r\n \r\n }\r\n content={\r\n <>\r\n

    \r\n You can manage the list of Embassy members below. If you would\r\n like to add a new member, please contact the Center for Global\r\n Health at{\" \"}\r\n \r\n CFGH@chla.usc.edu\r\n \r\n

    \r\n\r\n
    \r\n {loading ? (\r\n <>\r\n ) : embassyMembers.length > 0 ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {embassyMembers.map((member) => (\r\n \r\n \r\n \r\n \r\n {userRole && checkRole() && member.status ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n ))}\r\n \r\n
    NameEmailStatus
    {member.firstName + \" \" + member.lastName}{member.email}{member.status ? \"Active\" : \"Inactive\"}\r\n {\r\n setShowRemoveModal(true);\r\n setUserToRemove(member);\r\n }}\r\n title=\"Remove\"\r\n small\r\n variant=\"accent\"\r\n bgColor=\"var(--color-purple)\"\r\n width=\"85px\"\r\n isSubmitting={\r\n isSubmitting.isSubmitting &&\r\n isSubmitting.userId === member.userId\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n ) : (\r\n

    No embassy members found.

    \r\n )}\r\n
    \r\n \r\n }\r\n isOpen={true}\r\n />\r\n {\r\n setShowRemoveModal(false);\r\n setUserToRemove(undefined);\r\n }}\r\n handleConfirm={() => {\r\n setShowRemoveModal(false);\r\n removeEmbassyMember(embassyInfo?.embassyID, userToRemove?.userId);\r\n }}\r\n isPractice={false}\r\n name={userToRemove?.firstName + \" \" + userToRemove?.lastName}\r\n />\r\n \r\n );\r\n }else{\r\n return <>\r\n }\r\n};\r\n\r\nexport default EmbassyMemberInfo;\r\n","import Roles from \"./Roles\";\r\nimport IRoute from \"../types/IRoute\";\r\n\r\nimport Home from \"../components/pages/home/Home\";\r\nimport MyPatients from \"../components/pages/myPatients/MyPatients\";\r\nimport SharedPatients from \"../components/pages/myPatients/SharedPatients\";\r\nimport PracticeAppointments from \"../components/pages/myPatients/PracticeAppointments\";\r\nimport PatientDetails from \"../components/pages/myPatients/PatientDetails\";\r\nimport ViewPatients from \"../components/pages/myPatients/ViewPatients\";\r\nimport NewPatientAccessRequest from \"../components/pages/myPatients/NewPatientAccessRequest\";\r\nimport PatientAccessRequests from \"../components/pages/myPatients/PatientAccessRequests\";\r\nimport NotMyPatientRequest from \"../components/pages/myPatients/NotMyPatientRequest\";\r\nimport PatientAccessRequestsDetails from \"../components/pages/myPatients/PatientAccessRequestsDetails\";\r\nimport PatientAccessRequestsEdit from \"../components/pages/myPatients/PatientAccessRequestsEdit\";\r\nimport MyAppointment from \"../components/pages/myPatients/MyAppointment\";\r\nimport AllAccounts from \"../components/pages/allAccounts/AllAccounts\";\r\nimport AllAccountsListEdit from \"../components/pages/allAccounts/AllAccountsListEdit\";\r\nimport AllAccountsListDetail from \"../components/pages/allAccounts/AllAccountsListDetail\";\r\nimport LoginAsAnotherUser from \"../components/pages/allAccounts/LoginAsAnotherUser\";\r\nimport AccountRequests from \"../components/pages/allAccounts/AccountRequests\";\r\nimport UserPrivacyPolicy from \"../components/pages/home/UserPrivacyPolicy\";\r\nimport TermsOfUse from \"../components/pages/home/TermsOfUse\";\r\nimport SentInvitations from \"../components/pages/allAccounts/SentInvitations\";\r\nimport MyReferrals from \"../components/pages/myReferrals/MyReferrals\";\r\nimport SharedReferrals from \"../components/pages/myReferrals/SharedReferrals\";\r\nimport ViewReferrals from \"../components/pages/myReferrals/ViewReferrals\";\r\nimport NewReferralWizard from \"../components/pages/myReferrals/NewReferralWizard\";\r\nimport MyPractice from \"../components/pages/myPractice/MyPractice\";\r\nimport SliderImages from \"../components/pages/portalUpdates/SliderImages\";\r\nimport AnnouncementBanner from \"../components/pages/portalUpdates/AnnouncementBanner\";\r\nimport AlumniSpotlight from \"../components/pages/portalUpdates/AlumniSpotlight\";\r\nimport DivisionOfTheMonth from \"../components/pages/portalUpdates/DivisionOfTheMonth\";\r\nimport OnlineCMELectures from \"../components/pages/portalUpdates/OnlineCMELectures\";\r\nimport PediatricGrandRounds from \"../components/pages/portalUpdates/PediatricGrandRounds\";\r\nimport PracticeTipOfTheMonth from \"../components/pages/portalUpdates/PracticeTipOfTheMonth\";\r\nimport AmbulatoryCareCenter from \"../components/pages/portalUpdates/AmbulatoryCareCenter\";\r\nimport MemberDirectory from \"../components/pages/portalUpdates/MemberDirectory\";\r\nimport ClinicalCarePathways from \"../components/pages/portalUpdates/ClinicalCarePathways\";\r\nimport CareNetworkTeamContacts from \"../components/pages/portalUpdates/CareNetworkTeamContacts\";\r\nimport MentalHealthResources from \"../components/pages/portalUpdates/MentalHealthResources\";\r\nimport PatientAndFamilyEducationMaterials from \"../components/pages/portalUpdates/PatientAndFamilyEducationMaterials\";\r\nimport NewMemberDirectory from \"../components/pages/portalUpdates/components/NewMemberDirectory\";\r\nimport NewClinicalCarePathways from \"../components/pages/portalUpdates/components/NewClinicalCarePathways\";\r\nimport NewCareNetworkTeamContacts from \"../components/pages/portalUpdates/components/NewCareNetworkTeamContacts\";\r\nimport NewPatientAndFamilyEducationMaterials from \"../components/pages/portalUpdates/components/NewPatientFamily\";\r\nimport NewMentalHealthResources from \"../components/pages/portalUpdates/components/NewMentalHealth\";\r\nimport EditMemberDirectory from \"../components/pages/portalUpdates/components/EditMemberDirectory\";\r\nimport EditClinicalCarePathways from \"../components/pages/portalUpdates/components/EditClinicalCarePathways\";\r\nimport EditCareNetwork from \"../components/pages/portalUpdates/components/EditCareNetwork\";\r\nimport EditPatientFamily from \"../components/pages/portalUpdates/components/EditPatientFamily\";\r\nimport EditMentalHealth from \"../components/pages/portalUpdates/components/EditMentalHealth\";\r\nimport NewFormAnnouncement from \"../components/pages/portalUpdates/components/NewFomAnnouncement\";\r\nimport UploadImages from \"../components/pages/portalUpdates/components/UploadImages\";\r\nimport NewAlumniForm from \"../components/pages/portalUpdates/components/NewAlumniForm\";\r\nimport NewPracticeTipForm from \"../components/pages/portalUpdates/components/NewPracticeTipForm\";\r\nimport NewDivisionForm from \"../components/pages/portalUpdates/components/NewDivisionForm\";\r\nimport NewAmbulatorySchedules from \"../components/pages/portalUpdates/components/NewAmbulatorySchedules\";\r\nimport EditAmbulatory from \"../components/pages/portalUpdates/components/EditAmbulatory\";\r\nimport EditAlumni from \"../components/pages/portalUpdates/components/EditAlumni\";\r\nimport EditAnnouncement from \"../components/pages/portalUpdates/components/EditAnnouncement\";\r\nimport EditPediatric from \"../components/pages/portalUpdates/components/EditPediatric\";\r\nimport EditPracticeTipOfMonth from \"../components/pages/portalUpdates/components/EditPracticeTipOfMonth\";\r\nimport EditOnlineCME from \"../components/pages/portalUpdates/components/EditOnlineCME\";\r\nimport EditDivisionOfMonth from \"../components/pages/portalUpdates/components/EditDivisionOfMonth\";\r\nimport PediatricForm from \"../components/pages/portalUpdates/components/PediatricForm\";\r\nimport NewOnlineCMEForms from \"../components/pages/portalUpdates/components/NewOnlineCMEForms\";\r\nimport PhysicianResources from \"../components/pages/physicianResources/PhysicianResources\";\r\nimport Education from \"../components/pages/education/Education\";\r\nimport PGRInfoWells from \"../components/pages/education/PGRInfoWells\";\r\nimport CMEInfoWells from \"../components/pages/education/CMEInfoWells\";\r\nimport MedicalStaff from \"../components/pages/physicianResources/MedicalStaff\";\r\nimport AdminSection from \"../components/pages/admin/AdminSection\";\r\nimport AdminCreatePractice from \"../components/pages/admin/AdminCreatePractice\";\r\nimport AdminCreatePhysician from \"../components/pages/admin/AdminCreatePhysician\";\r\nimport Resources from \"../components/pages/careNetwork/Resources\";\r\nimport ClinicalCarePathwaysScreen from \"../components/pages/careNetwork/ClinicalCarePathwaysScreen\";\r\nimport CareWebsite from \"../components/pages/careNetwork/CareWebsite\";\r\nimport AccountRequestEdit from \"../components/pages/allAccounts/AccountRequestEdit\";\r\nimport AccountRequestDetails from \"../components/pages/myPractice/AccountRequestDetails\";\r\nimport AdminEditPractice from \"../components/pages/admin/AdminEditPractice\";\r\nimport AdminEditPhysician from \"../components/pages/admin/AdminEditPhysician\";\r\nimport PracticeNotActive from \"../components/pages/home/PracticeNotActive\";\r\nimport PGRVideo from \"../components/pages/education/PGRVideo\";\r\nimport EmbassyPatients from \"../components/pages/myPatients/EmbassyPatients\";\r\nimport MyEmbassy from \"../components/pages/myEmbassy/MyEmbassy\";\r\n\r\nconst RouteConfig: IRoute[] = [\r\n {\r\n render: Home,\r\n id: 1,\r\n path: \"/\",\r\n exact: true,\r\n title: \"Home\",\r\n permissions: Roles.ROLES3,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: EmbassyPatients,\r\n id: 54,\r\n path: \"/myembassypatients\",\r\n exact: true,\r\n title: \"My Embassy Patients\",\r\n permissions: Roles.ROLES5,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: MyEmbassy,\r\n id: 55,\r\n path: \"/myembassy\",\r\n exact: true,\r\n title: \"My Embassy\",\r\n permissions: Roles.ROLES5,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: UserPrivacyPolicy,\r\n id: null,\r\n path: \"/home/privacypolicy\",\r\n title: \"User Privacy Policy\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: TermsOfUse,\r\n id: null,\r\n path: \"/home/terms\",\r\n title: \"myCHLA Terms of Use\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: PracticeNotActive,\r\n id: null,\r\n path: \"/practice-not-active\",\r\n title: \"Practice Not Active\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n exact: true,\r\n title: \"My Patients\",\r\n id: 2,\r\n path: \"/login\",\r\n isShownOnNavBar: true,\r\n permissions: Roles.ROLES3,\r\n children: [\r\n {\r\n render: MyPatients,\r\n id: 50,\r\n path: \"/patients/mypatients\",\r\n title: \"My Patients\",\r\n permissions: Roles.ROLES1,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: SharedPatients,\r\n id: 12,\r\n path: \"/patients/sharedpatients\",\r\n title: \"Shared Patients\",\r\n permissions: Roles.ROLES1,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: ViewPatients,\r\n id: 13,\r\n path: \"/patients/viewpatients\",\r\n title: \"View Patients\",\r\n permissions: Roles.ROLES2,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: NewPatientAccessRequest,\r\n id: 15,\r\n path: \"/patients/newpatientaccessrequest\",\r\n title: \"New Patient Access Request\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PatientAccessRequests,\r\n id: 14,\r\n path: \"/patients/patientaccessrequests\",\r\n title: \"Patient Access Requests\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PatientAccessRequestsDetails,\r\n id: null,\r\n path: \"/patients/patientaccessrequests/details/:id\",\r\n title: \"Patient Access Requests\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: PracticeAppointments,\r\n id: 18,\r\n path: \"/patients/practiceappointments\",\r\n title: \"Practice Appointments\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: MyAppointment,\r\n id: 17,\r\n path: \"/patients/appointments\",\r\n title: \"Appointments\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PatientDetails,\r\n id: null,\r\n path: \"/patients/:id\",\r\n title: \"View Patients\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n {\r\n exact: true,\r\n title: \"My Referrals\",\r\n id: 3,\r\n path: \"/login\",\r\n permissions: Roles.ROLES3,\r\n isShownOnNavBar: true,\r\n children: [\r\n {\r\n render: MyReferrals,\r\n id: 51,\r\n path: \"/referrals/myreferrals\",\r\n title: \"My Referrals\",\r\n permissions: Roles.ROLES1,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: SharedReferrals,\r\n id: 20,\r\n path: \"/referrals/sharedreferrals\",\r\n title: \"Shared Referrals\",\r\n permissions: Roles.ROLES1,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: ViewReferrals,\r\n id: 19,\r\n path: \"/referrals/viewreferrals\",\r\n title: \"View Referrals\",\r\n permissions: Roles.ROLES2,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: NewReferralWizard,\r\n id: 21,\r\n path: \"/referrals/newreferral\",\r\n title: \"New Referral\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: NewReferralWizard,\r\n id: null,\r\n path: \"/referrals/re-refer\",\r\n title: \"New Referral\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NewReferralWizard,\r\n id: null,\r\n path: \"/referrals/refer-a-patient\",\r\n title: \"Edit Referral\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NewReferralWizard,\r\n id: null,\r\n path: \"/referrals/editreferral\",\r\n title: \"Edit Referral\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n {\r\n id: 4,\r\n path: \"/login\",\r\n exact: true,\r\n title: \"My Practice\",\r\n permissions: Roles.ROLES3,\r\n isShownOnNavBar: true,\r\n children: [\r\n {\r\n render: MyPractice,\r\n id: 53,\r\n path: \"/practice/mypractice\",\r\n title: \"My Practice\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AccountRequests,\r\n id: 22,\r\n path: \"/practice/accountrequests\",\r\n title: \"Account Requests\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AccountRequestDetails,\r\n id: 22,\r\n path: \"/practice/accountrequests/details/:id\",\r\n title: \"Account Request Details\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n ],\r\n },\r\n {\r\n exact: true,\r\n title: \"Accounts & Access\",\r\n id: 5,\r\n path: \"/login\",\r\n permissions: Roles.ROLES4,\r\n isShownOnNavBar: true,\r\n children: [\r\n {\r\n render: PatientAccessRequests,\r\n id: 27,\r\n path: \"/patientaccessrequest/patientaccessrequests\",\r\n title: \"Patient Access Requests\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AccountRequests,\r\n id: 23,\r\n path: \"/accountsandaccess/accountrequests\",\r\n title: \"Account Requests\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AccountRequestEdit,\r\n id: null,\r\n path: \"/accountsandaccess/accountrequests/edit/:id\",\r\n title: \"Edit Account Request\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PatientAccessRequestsEdit,\r\n id: null,\r\n path: \"/patientaccessrequest/edit/:id\",\r\n title: \"Patient Access Requests\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NotMyPatientRequest,\r\n id: 28,\r\n path: \"/patientaccessrequest/notmypatients\",\r\n title: \"Not My Patient List\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: NotMyPatientRequest,\r\n id: 23,\r\n path: \"/patientaccessrequest/notmypatients\",\r\n title: \"Account Requests\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: SentInvitations,\r\n id: 24,\r\n path: \"/accountsandaccess/sentinvitations\",\r\n title: \"Sent Invitations\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AllAccounts,\r\n id: 25,\r\n path: \"/account/list\",\r\n title: \"All Accounts\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AllAccountsListEdit,\r\n id: null,\r\n path: \"/account/modify/:id\",\r\n title: \"All Accounts\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: AllAccountsListDetail,\r\n id: null,\r\n path: \"/account/detail/:id\",\r\n title: \"All Accounts\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NotMyPatientRequest,\r\n id: 26,\r\n path: \"/patientaccessrequest/notmypatients\",\r\n title: \"Create Internal Account\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AdminSection,\r\n id: 47,\r\n path: \"/accounts&access/physicians&practices\",\r\n title: \"Physicians & Practices\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: LoginAsAnotherUser,\r\n id: 49,\r\n path: \"/impersonation/create\",\r\n title: \"Login As Another User\",\r\n permissions: Roles.ROLES4,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AdminCreatePractice,\r\n id: null,\r\n path: \"/accounts&access/physicians&practices/create/practice\",\r\n title: \"Create Practice\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: AdminEditPractice,\r\n id: null,\r\n path: \"/accounts&access/physicians&practices/edit/practice/:id\",\r\n title: \"Edit Practice\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n\r\n {\r\n render: AdminCreatePhysician,\r\n id: null,\r\n path: \"/accounts&access/physicians&practices/create/physician\",\r\n title: \"Create Physician\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: AdminEditPhysician,\r\n id: null,\r\n path: \"/accounts&access/physicians&practices/edit/physician/:id\",\r\n title: \"Edit Physician\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n {\r\n exact: true,\r\n title: \"Portal Updates\",\r\n id: 7,\r\n path: \"/login\",\r\n isShownOnNavBar: true,\r\n permissions: Roles.ROLES3,\r\n children: [\r\n {\r\n render: SliderImages,\r\n id: 29,\r\n path: \"/portalupdates/sliderimages\",\r\n title: \"Slider Images \",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n\r\n {\r\n render: AnnouncementBanner,\r\n id: 30,\r\n path: \"/portalupdates/announcementbanner\",\r\n title: \"Announcements\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AlumniSpotlight,\r\n id: 31,\r\n path: \"/portalupdates/alumnispotlight\",\r\n title: \"Alumni Highlights\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PediatricGrandRounds,\r\n id: 32,\r\n path: \"/portalupdates/pediatricgrandrounds\",\r\n title: \"Pediatric Grand Rounds\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: OnlineCMELectures,\r\n id: 33,\r\n path: \"/portalupdates/onlinecmelectures\",\r\n title: \"Online CME Lectures\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PracticeTipOfTheMonth,\r\n id: 34,\r\n path: \"/portalupdates/practicetipofthemonth\",\r\n title: \"Practice Tip Of The Month\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: DivisionOfTheMonth,\r\n id: 35,\r\n path: \"/portalupdates/divisionofthemonth\",\r\n title: \"Division Of The Month\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: AmbulatoryCareCenter,\r\n id: 36,\r\n path: \"/portalupdates/ambulatorycarecenter\",\r\n title: \"Ambulatory Schedules\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: MemberDirectory,\r\n id: 41,\r\n path: \"/portalupdates/memberdirectory\",\r\n title: \"Member Directory\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: ClinicalCarePathways,\r\n id: 42,\r\n path: \"/portalupdates/clinicalcarepathways\",\r\n title: \"Clinical Care Pathways\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: CareNetworkTeamContacts,\r\n id: 43,\r\n path: \"/portalupdates/carenetworkteamcontacts\",\r\n title: \"Care Network Team Contacts\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: MentalHealthResources,\r\n id: 45,\r\n path: \"/portalupdates/mentalhealthresources\",\r\n title: \"Mental Health Resources\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: PatientAndFamilyEducationMaterials,\r\n id: 46,\r\n path: \"/portalupdates/patientandfamilyeducationmaterials\",\r\n title: \"Patient And Family Education Materials\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: NewFormAnnouncement,\r\n id: null,\r\n path: \"/portalupdates/components/newformannouncement\",\r\n title: \"New Form Announcement\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NewMemberDirectory,\r\n id: null,\r\n path: \"/portalupdates/newmemberdirectory\",\r\n title: \"New Member Directory\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NewClinicalCarePathways,\r\n id: null,\r\n path: \"/portalupdates/newclinicalcarepathways\",\r\n title: \"New Clinical Care Pathways\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NewCareNetworkTeamContacts,\r\n id: null,\r\n path: \"/portalupdates/newcarenetworkteamcontact\",\r\n title: \"New Care Network Team Contacts\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: NewMentalHealthResources,\r\n id: null,\r\n path: \"/portalupdates/newmentalhealthresources\",\r\n title: \"New Mental Health Resources\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: NewPatientAndFamilyEducationMaterials,\r\n id: null,\r\n path: \"/portalupdates/newpatientandfamilyeducationmaterials\",\r\n title: \"New Patient And Family Education Materials\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: EditMemberDirectory,\r\n id: null,\r\n path: \"/portalupdates/editmemberdirectory\",\r\n title: \"Edit Member Directory\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditClinicalCarePathways,\r\n id: null,\r\n path: \"/portalupdates/editclinicalcarepathways\",\r\n title: \"Edit Clinical Care Pathways\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditCareNetwork,\r\n id: null,\r\n path: \"/portalupdates/editcarenetworkteamcontact\",\r\n title: \"Edit Care Network Team Contacts\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditMentalHealth,\r\n id: null,\r\n path: \"/portalupdates/editmentalhealthresources\",\r\n title: \"Edit Mental Health Resources\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: EditPatientFamily,\r\n id: null,\r\n path: \"/portalupdates/editpatientandfamilyeducationmaterials\",\r\n title: \"Edit Patient And Family Education Materials\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: true,\r\n },\r\n {\r\n render: EditAnnouncement,\r\n path: \"/portalupdates/components/editformannouncement\",\r\n title: \"Edit Announcement Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: NewAlumniForm,\r\n id: null,\r\n path: \"/portalupdates/components/newalumniform\",\r\n title: \"New Alumni Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditAlumni,\r\n path: \"/portalupdates/components/editalumniform\",\r\n title: \"Edit Alumni Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: NewPracticeTipForm,\r\n id: null,\r\n path: \"/portalupdates/components/newpracticetipform\",\r\n title: \"New Practice Tip Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditPracticeTipOfMonth,\r\n path: \"/portalupdates/components/editpracticetipform\",\r\n title: \"Edit Practice Tip Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: NewDivisionForm,\r\n id: null,\r\n path: \"/portalupdates/components/newdivisionform\",\r\n title: \"New Division Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditDivisionOfMonth,\r\n path: \"/portalupdates/components/editdivisionform\",\r\n title: \"Edit Division Form\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: NewAmbulatorySchedules,\r\n id: null,\r\n path: \"/portalupdates/components/newambulatoryschedules\",\r\n title: \"New Ambulatory Schedules\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditAmbulatory,\r\n path: \"/portalupdates/components/editambulatory\",\r\n title: \"Edit Ambulatory\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: PediatricForm,\r\n id: null,\r\n path: \"/portalupdates/components/newpediatricform\",\r\n title: \"New Pediatric Grand Round\",\r\n variant: \"NewPediatricForm\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: PediatricForm,\r\n path: \"/portalupdates/components/editpediatric\",\r\n title: \"Edit Pediatric Grand Rounds\",\r\n variant: \"EditPediatricForm\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: NewOnlineCMEForms,\r\n id: null,\r\n path: \"/portalupdates/components/newonlineCMEforms\",\r\n title: \"New Online CME\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: EditOnlineCME,\r\n path: \"/portalupdates/components/editonlineCME\",\r\n title: \"Edit Online CME\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n id: null,\r\n },\r\n {\r\n render: UploadImages,\r\n id: null,\r\n path: \"/portalupdates/components/uploadimages\",\r\n title: \"Upload Images\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n {\r\n render: PhysicianResources,\r\n id: 9,\r\n path: \"/physicianresources\",\r\n exact: true,\r\n title: \"Physician Resources\",\r\n permissions: Roles.ROLES3,\r\n isShownOnNavBar: true,\r\n children: [\r\n {\r\n render: MedicalStaff,\r\n id: null,\r\n path: \"/physicianresources/medicalstaff\",\r\n title: \"Medical Staff Services\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n {\r\n render: Education,\r\n id: 11,\r\n path: \"/login\",\r\n exact: true,\r\n title: \"Care Network\",\r\n permissions: Roles.ROLES3,\r\n isShownOnNavBar: true,\r\n children: [\r\n {\r\n render: Resources,\r\n id: 40,\r\n path: \"/carenetwork/resources\",\r\n title: \"Resources\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: ClinicalCarePathwaysScreen,\r\n id: null,\r\n path: \"/carenetwork/clinicalcarepathwaysscreen\",\r\n title: \"Clinical Care Pathways\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: CareWebsite,\r\n id: 52,\r\n path: \"/carenetwork/carewebsite\",\r\n title: \"Care Network Website\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n {\r\n render: Education,\r\n id: 10,\r\n path: \"/education\",\r\n exact: true,\r\n title: \"Education\",\r\n permissions: Roles.ROLES3,\r\n isShownOnNavBar: true,\r\n children: [\r\n {\r\n render: PGRInfoWells,\r\n id: null,\r\n path: \"/education/pgrinfowells\",\r\n title: \"Pediatric Grand Rounds\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: PGRVideo,\r\n id: null,\r\n path: \"/education/pgrinfowells/:id\",\r\n title: \"Pediatric Grand Rounds\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n {\r\n render: CMEInfoWells,\r\n id: null,\r\n path: \"/education/cmeinfowells\",\r\n title: \"Online CME Lectures\",\r\n permissions: Roles.ROLES3,\r\n exact: true,\r\n isShownOnNavBar: false,\r\n },\r\n ],\r\n },\r\n];\r\n\r\nexport default RouteConfig;\r\n","import { useState, useEffect, FC, useCallback, useRef } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport PatientService from \"../../../services/PatientService\";\r\nimport PatientsList from \"./components/PatientsList\";\r\nimport PatientsCard from \"./components/PatientsCard\";\r\nimport SearchBar from \"../../common/SearchBar\";\r\nimport IPatient, { FutureVisit } from \"../../../types/IPatient\";\r\nimport usePatients from \"../../../hooks/usePatients\";\r\nimport useScrollPosition from \"../../../hooks/useScrollPosition\";\r\nimport useSessionState from \"../../../hooks/useSessionState\";\r\nimport LookbackFilter from \"../../common/LookBackFilter\";\r\nimport ILookbackOption from \"../../../types/ILookbackOption\";\r\nimport Loader from \"../../common/Loader\";\r\nimport { ButtonGroup, ToggleButton } from \"react-bootstrap\";\r\nimport VisitsModal from \"./components/VisitsModal\";\r\nimport CustomAlert from \"../../common/CustomAlert\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport DeleteConfirmationModal from \"./components/DeleteConfirmationModal\";\r\nimport IPatientQuery from \"../../../types/IPatientQuery\";\r\nimport CustomPagination from \"../../common/CustomPagination\";\r\nimport { useHistory } from 'react-router-dom'\r\nimport { min } from \"moment\";\r\nimport EmbassyService from \"../../../services/EmbassyService\";\r\nimport IEmbassyDetails from \"../../../types/IEmbassyDetails\";\r\ntype visits = {\r\n lastVisit: { dtm: string; location: string };\r\n futureVisits: FutureVisit[];\r\n};\r\n\r\nconst EmbassyPatients: FC<{ name?: string }> = ({ name }) => {\r\n const [error, setError] = useState(null);\r\n const visitLookbackOptions: ILookbackOption[] = require(\"../../../data/patientListVisitsLookbackOptions.json\");\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [patients, setPatients] = useState();\r\n const isBigScreen = window.innerWidth > 1000;\r\n const [flag, setFlag] = useState(isBigScreen);\r\n const [searchText, setSearchText] = useSessionState(\"viewpatientsearch_state\", \"\");\r\n const [patient, setPatient] = useState();\r\n const [showDeleteModal, setShowDeleteModal] = useState(false);\r\n const [isBack, setIsBack] = useState(true);\r\n const [pages, setPages] = useSessionState(\"viewpatientpages_state\", 0);\r\n const [maxPages, setMaxPages] = useSessionState(\"viewpatientMaxPage_state\", 0);\r\n const [currentPage, setCurrentPage] = useSessionState(\"viewpatientcurrentpage_state\", 1);\r\n const [lookback, setLookback] = useSessionState(\"viewpatientlookback_state\", visitLookbackOptions[0].value);\r\n const pageSize = 12;\r\n const [query, setQuery] = useState({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n });\r\n const [searched, setSearched] = useState(0);\r\n const [loading, setLoading] = useState(true);\r\n const [page, setPage] = useState(1);\r\n const [value, setValue] = usePatients(\"viewpatients\");\r\n const loader = useRef(null);\r\n const [viewAsFilter, setViewAsFilter] = useSessionState<\"list\" | \"cards\">(\"viewpatientsfilter_state\", \"list\");\r\n const [showModal, setShowModal] = useState(false);\r\n const [visits, setVisits] = useState();\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const [recentSearchPatientName, setRecentSearchPatientName] = useState(\"\");\r\n const [ locationKeys, setLocationKeys ] = useState([])\r\n const history = useHistory()\r\n\r\n const [ embassyInfo, setEmbassyInfo ]= useState();\r\n const [pageName, setPageName] = useState(name);\r\n \r\n \r\n useEffect(() => {\r\n setError(null)\r\n EmbassyService.getEmbassyInfo(accessToken, cancelToken)\r\n .then((response) => {\r\n setEmbassyInfo(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e.response.data.message });\r\n setError(e.response.data.message);\r\n setLoading(false);\r\n }\r\n\r\n });\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (embassyInfo == null || embassyInfo == undefined) return;\r\n setPageName(embassyInfo?.embassyName + \"'s Patients\");\r\n }, [embassyInfo])\r\n\r\n const [scrollPosition, setScrollPosition] = useScrollPosition(\"patientList\");\r\n const handleScroll = () => {\r\n const position = window.pageYOffset;\r\n setScrollPosition(position);\r\n };\r\n const PAGE_SIZE = 10;\r\n\r\n const getPaginatedValue = (array: any, page: number) => {\r\n return array.data\r\n };\r\n const handleQuery = () => {\r\n setQuery({\r\n PageSize: pageSize,\r\n PageNumber: currentPage,\r\n Lookback: lookback,\r\n SearchText: searchText\r\n })\r\n }\r\n const handleObserver = useCallback((entries) => {\r\n const target = entries[0];\r\n if (target.isIntersecting) {\r\n setPage((prev) => prev + 1);\r\n }\r\n }, []);\r\n\r\n const onHideOrShareClick = (personId: string, providerId: string) => {\r\n setLoading(true);\r\n // setError(null)\r\n PatientService.hideOrSharePatient(personId, providerId, accessToken, cancelToken)\r\n .then((response) => {\r\n window.location.reload();\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n\r\n const updateRecentSearch = (name: string) => {\r\n setQuery((q) => ({ ...q, SearchText: name, PageNumber: 1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n setRecentSearchPatientName(name);\r\n }\r\n const clearRecentSearch = () => {\r\n setRecentSearchPatientName(\"\");\r\n }\r\n\r\n const onVisitsClick = (patient: IPatient) => {\r\n setVisits({\r\n lastVisit: {\r\n dtm: patient.lastEncounterDtTm,\r\n location: patient.lastEncounterLoc,\r\n },\r\n futureVisits: patient.futureVisits,\r\n });\r\n setShowModal(true);\r\n };\r\n const removePatient = (patient: IPatient) => {\r\n setLoading(true);\r\n PatientService.removePatient(\r\n {\r\n patientId: patient.personId,\r\n patientName: patient.patientName,\r\n providerId: patient.providerId,\r\n providerName: patient.physicianName,\r\n dob: patient.dob\r\n },\r\n accessToken\r\n )\r\n .then((response) => window.location.reload())\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n // setError(e);\r\n }\r\n setLoading(false);\r\n });\r\n };\r\n const onRemoveClick = (patient: IPatient) => {\r\n setPatient(patient)\r\n setLoading(true);\r\n setShowDeleteModal(true)\r\n };\r\n const navigateToPage = (page: number) => {\r\n setCurrentPage(page);\r\n setQuery((q) => ({ ...q, PageNumber: page }));\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n };\r\n useEffect(() => {\r\n const cancelToken = axios.CancelToken.source();\r\n setLoading(true);\r\n PatientService.getPatients(\"embassypatients\", query, accessToken, cancelToken)\r\n .then((response) => {\r\n setLoading(false);\r\n setValue(response.data.data);\r\n setPatients(response.data.data);\r\n if (maxPages == 0) {\r\n if(response.data.hasNext || query.SearchText !== \"\"){\r\n setPages(response.data.totalPages);\r\n setMaxPages(response.data.totalPages);\r\n }\r\n \r\n }\r\n\r\n setCurrentPage(response.data.currentPage);\r\n\r\n })\r\n .catch((e: Error) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n \r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [apiCallCount]);\r\n\r\n\r\n useEffect(() => {\r\n if (viewAsFilter === \"list\") {\r\n if (isBigScreen) {\r\n setFlag(true);\r\n }\r\n } else {\r\n setFlag(false);\r\n }\r\n }, [viewAsFilter]);\r\n\r\n if (error) {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n
    \r\n

    {pageName}

    \r\n
    \r\n View as\r\n \r\n setViewAsFilter(\"list\")}\r\n >\r\n List\r\n \r\n {\r\n setViewAsFilter(\"cards\");\r\n }}\r\n >\r\n Cards\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setLookback(e.target.value)\r\n\r\n setQuery((q) => ({ ...q, Lookback: e.target.value, PageNumber: 1 }));\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n value={lookback}\r\n options={visitLookbackOptions}\r\n />\r\n
    \r\n {loading ? (\r\n
    \r\n \r\n
    \r\n ) : null}\r\n
    \r\n {\r\n setQuery((q) => ({ ...q, SearchText: searchText,PageNumber:1,Lookback:-1 }));\r\n setLookback(-1)\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n\r\n }}\r\n\r\n onTextChange={(text) => {\r\n\r\n if (text == \"\") {\r\n\r\n \r\n if(patients !== undefined){\r\n setQuery((q) => ({ ...q, SearchText: \"\",PageNumber:1,Lookback : -1}));\r\n setLookback(-1)\r\n }\r\n setMaxPages(0)\r\n setPatients(undefined)\r\n setApiCallCount((c) => c + 1);\r\n window.scrollTo(0, 0);\r\n }\r\n setSearchText(text)\r\n\r\n }}\r\n />\r\n
    \r\n
    \r\n {patients !== undefined ? (\r\n
    \r\n {patients.length === 0 ? (\r\n
    \r\n

    No record found

    \r\n
    \r\n ) : (\r\n
    \r\n {flag === false ? (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n updateRecentSearch={updateRecentSearch}\r\n />\r\n ) : (\r\n {\r\n onHideOrShareClick(id, pid);\r\n }}\r\n onVisitsClick={onVisitsClick}\r\n onRemoveClick={onRemoveClick}\r\n />\r\n )}\r\n
    \r\n\r\n )}\r\n {patients.length !== 0 ? (\r\n \r\n \r\n
    \r\n ) : null}\r\n
    \r\n\r\n ) : null}\r\n\r\n
    \r\n {\r\n setShowModal(false);\r\n setVisits(undefined);\r\n }}\r\n lastVisit={visits?.lastVisit}\r\n futureVisits={visits?.futureVisits}\r\n />\r\n {\r\n setLoading(false)\r\n setShowDeleteModal(false)\r\n }}\r\n handleConfirm={() => {\r\n patient && removePatient(patient)\r\n setShowDeleteModal(false)\r\n }}\r\n />\r\n
    \r\n );\r\n};\r\n\r\nexport default EmbassyPatients;\r\n","import { useState, FC, useContext, useEffect } from \"react\";\r\nimport PhysiciansToVerify from \"../myPractice/components/PhysiciansToVerify\";\r\nimport PracticePhysicians from \"../myPractice/components/PracticePhysicians\";\r\nimport MyPracticeInfo from \"../myPractice/components/MyPracticeInfo\";\r\nimport PracticeNonPhysicians from \"../myPractice/components/PracticeNonPhysicians\";\r\nimport PracticeDelegation from \"../myPractice/components/PracticeDelegation\";\r\nimport IPracticeInfo from \"../../../types/IPracticeInfo\";\r\nimport practiceInfoContext from '../../../context/PracticeInfoContext'\r\nimport Spinner from \"../../spinner/Spinner\";\r\nimport PracticeInfoState from \"../../../context/PracticeInfoState\";\r\nimport PracticeService from \"../../../services/PracticeService\";\r\nimport axios from \"axios\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport Roles from \"../../../config/Roles\";\r\nimport useUserRole from \"../../../hooks/useUserRole\";\r\nimport UserService from \"../../../services/UserService\";\r\nimport menuItemsContext from \"../../../context/MenuItemsContext\";\r\nimport Loader from \"../../common/Loader\";\r\nimport MyEmbassyInfo from \"./MyEmbassyInfo\";\r\nimport EmbassyService from \"../../../services/EmbassyService\";\r\nimport IEmbassyDetails from \"../../../types/IEmbassyDetails\";\r\nimport EmbassyMemberInfo from \"./EmbassyMemberInfo\";\r\n\r\n\r\n\r\nconst MyEmbassy: FC<{ name?: string }> = ({ name }) => {\r\n // const { practiceInfo, setPracticeInfo } = useContext(practiceInfoContext);\r\n const [ embassyInfo, setEmbassyInfo ]= useState();\r\n const [error, setError] = useState(null);\r\n const [apiCallCount, setApiCallCount] = useState(0);\r\n const { setMenuItems } = useContext(menuItemsContext);\r\n \r\n const [loading, setLoading] = useState(true);\r\n const [userRole] = useUserRole();\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const cancelToken = axios.CancelToken.source();\r\n const [pageName, setPageName] = useState(name);\r\n\r\n \r\n useEffect(() => {\r\n UserService.getMenuItems(accessToken)\r\n .then((response) => {\r\n setMenuItems(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e });\r\n setError(e);\r\n setLoading(false);\r\n }\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n},\r\n [])\r\n\r\n useEffect(() => {\r\n setError(null)\r\n EmbassyService.getEmbassyInfo(accessToken, cancelToken)\r\n .then((response) => {\r\n setEmbassyInfo(response.data);\r\n setLoading(false);\r\n })\r\n .catch((e) => {\r\n if (!axios.isCancel(e)) {\r\n console.error(e);\r\n appInsights.trackException({ error: e.response.data.message });\r\n setError(e.response.data.message);\r\n setLoading(false);\r\n }\r\n\r\n });\r\n\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (embassyInfo == null || embassyInfo == undefined) return;\r\n setPageName(embassyInfo?.embassyName);\r\n }, [embassyInfo])\r\n\r\n\r\n if (error !== null) {\r\n return (\r\n
    \r\n
    \r\n

    {pageName}

    \r\n
    {error + \"\"}
    \r\n
    \r\n
    \r\n );\r\n }\r\n return (\r\n
    \r\n
    \r\n

    My Embassy

    \r\n {loading ? (\r\n
    \r\n ) : (\r\n
    \r\n\r\n {embassyInfo !== undefined ?
    \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\n );\r\n};\r\n\r\nexport default MyEmbassy;\r\n\r\n","import Roles from \"./Roles\";\r\nimport RouteConfig from \"./RouteConfig\";\r\nimport secrets from '../env.json';\r\n\r\nconst ISSUER = secrets.REACT_APP_ISSUER;\r\nconst CLIENTID = secrets.REACT_APP_CLIENTID;\r\nconst API_BASE_URL = secrets.REACT_APP_API_ENDPOINT;\r\n\r\nconst ROUTES = RouteConfig;\r\nconst ROLES = Roles;\r\nconst REACT_APP_APPINSIGHTS_KEY = secrets.REACT_APP_APPINSIGHTS_KEY;\r\n\r\nconst OKTA_AUTH_CONFIG = {\r\n issuer: ISSUER,\r\n clientId: CLIENTID,\r\n redirectUri: window.location.origin + \"/implicit/callback\",\r\n scopes: [\"openid\", \"profile\", \"email\"],\r\n pkce: true,\r\n disableHttpsCheck: false,\r\n};\r\n\r\nexport {\r\n OKTA_AUTH_CONFIG,\r\n API_BASE_URL,\r\n ROUTES,\r\n ROLES,\r\n REACT_APP_APPINSIGHTS_KEY,\r\n};\r\n","import { FC, useEffect, useRef } from \"react\";\r\nimport OktaSignIn from \"@okta/okta-signin-widget\";\r\nimport \"@okta/okta-signin-widget/dist/css/okta-sign-in.min.css\";\r\nimport { Tokens } from \"@okta/okta-auth-js\";\r\n\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\n\r\ninterface Props {\r\n config: any;\r\n onSuccess: (tokens: Tokens | undefined) => void;\r\n onError: (err: any) => void;\r\n}\r\n\r\nconst OktaSignInWidget: FC = ({ config, onSuccess, onError }) => {\r\n const widgetRef = useRef(null);\r\n const { oktaAuth, authState } = useOktaAuth();\r\n\r\n useEffect(() => {\r\n if (!widgetRef.current) return;\r\n const widget = new OktaSignIn(config);\r\n widget\r\n .showSignInToGetTokens({\r\n el: widgetRef.current,\r\n })\r\n .then(onSuccess)\r\n .catch(onError);\r\n return () => widget.remove(); \r\n \r\n }, [config, onSuccess, onError]);\r\n\r\n return
    ;\r\n};\r\nexport default OktaSignInWidget;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { OKTA_AUTH_CONFIG } from \"../../config\";\r\nimport \"@okta/okta-signin-widget/dist/css/okta-sign-in.min.css\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Tokens } from \"@okta/okta-auth-js\";\r\nimport { Redirect, useHistory } from \"react-router-dom\";\r\nimport OktaSignInWidget from \"./OktaSignInWidget\";\r\nimport Spinner from \"../spinner/Spinner\";\r\nimport ReminderPopup from \"../common/ReminderPopup\";\r\nimport UserService from \"../../services/UserService\";\r\n\r\nconst Login: FC = () => {\r\n // \r\n const { oktaAuth, authState } = useOktaAuth();\r\n const [loading, setLoading] = useState(true);\r\n const [isLoggedIn, setIsLoggedIn] = useState(false);\r\n const history = useHistory();\r\n\r\n const { clientId, issuer, pkce, redirectUri, scopes } = OKTA_AUTH_CONFIG;\r\n const oktaSignInConfig = {\r\n /**\r\n * Note: when using the Sign-In Widget for an OIDC flow, it still\r\n * needs to be configured with the base URL for your Okta Org. Here\r\n * we derive it from the given issuer for convenience.\r\n */\r\n baseUrl: issuer ? issuer.split(\"/oauth2\")[0] : \"\",\r\n clientId,\r\n redirectUri,\r\n logo: \"https://ok6static.oktacdn.com/fs/bco/1/fs026al4oaNkfjFeF2p7\",\r\n i18n: {\r\n //Overrides default text when using English. Override other languages by adding additional sections.\r\n en: {\r\n \"primaryauth.title\": \"Log In\", // Changes the sign in text\r\n \"primaryauth.submit\": \"Log In\", // Changes the sign in button\r\n \"primaryauth.username.placeholder\": \"Email\",\r\n \"primaryauth.username.tooltip\": \"Email\",\r\n \"password.forgot.email.or.username.placeholder\": \"Email\",\r\n \"password.forgot.email.or.username.tooltip\": \"Email\",\r\n \"account.unlock.email.or.username.placeholder\": \"Email\",\r\n \"account.unlock.email.or.username.tooltip\": \"Email\",\r\n \"password.expired.title\": \"Your myCHLA password has expired\",\r\n \"mfa.call\": \"Call Me\",\r\n //ERROR\r\n \"errors.E0000004\": \"Log in failed!\",\r\n // \"model.validation.field.invalid.format.email\": \"This value is not a valid email address\",\r\n // \"idpDiscovery.email.placeholder\": \"Email\"\r\n },\r\n },\r\n features: {\r\n registration: true, // Enable self-service registration flow\r\n rememberMe: true, // Setting to false will remove the checkbox to save username\r\n multiOptionalFactorEnroll: true, // Allow users to enroll in multiple optional factors before finishing the authentication flow.\r\n selfServiceUnlock: true, // Will enable unlock in addition to forgotten password\r\n smsRecovery: false, // Enable SMS-based account recovery\r\n callRecovery: true, // Enable voice call-based account recovery\r\n router: true, // Leave this set to true for the API demo,\r\n idpDiscovery: true,\r\n },\r\n idpDiscovery: {\r\n requestContext: `${window.location.href}`,\r\n },\r\n registration: {\r\n click: function () {\r\n history.push('accountsandaccess/newpracticerequest')\r\n },\r\n },\r\n helpSupportNumber: \"(888) 631-2452\",\r\n brandName: \"myCHLA\",\r\n authParams: {\r\n pkce,\r\n issuer,\r\n display: \"page\",\r\n scopes,\r\n },\r\n };\r\n\r\n useEffect(() => {\r\n // console.log(authState);\r\n\r\n // // after successful authentication with IdP\r\n // oktaAuth.session.exists().then(function (sessionExists) {\r\n // setLoading(false);\r\n // if (sessionExists) {\r\n // oktaAuth.token.getWithoutPrompt().then(function (response) {\r\n // oktaAuth.tokenManager.setTokens(response.tokens);\r\n // });\r\n // }\r\n\r\n // check to see if the user already has an okta session\r\n\r\n oktaAuth.session.exists().then((response) => {\r\n // console.log(\" response : \", response);\r\n\r\n setLoading(false);\r\n\r\n if (response) {\r\n oktaAuth.token.getWithoutPrompt().then((response) => {\r\n oktaAuth.tokenManager.setTokens(response.tokens);\r\n });\r\n }\r\n });\r\n }, [oktaAuth, authState]);\r\n\r\n const onSuccess = (tokens: Tokens | undefined) => {\r\n let myItem = localStorage.getItem('okta-cache-storage');\r\n localStorage.clear();\r\n if (myItem !== null) localStorage.setItem('okta-cache-storage', myItem);\r\n localStorage.setItem(\"showReminder\", JSON.stringify(true));\r\n oktaAuth.handleLoginRedirect(tokens);\r\n };\r\n\r\n const onError = (err: any) => {\r\n // console.log(\"ENTERED ERROR\");\r\n console.error(\"Error logging in\", err);\r\n };\r\n\r\n if (!authState) {\r\n return null;\r\n } else if (authState.isPending) {\r\n return ;\r\n } else {\r\n return authState.isAuthenticated ? (\r\n <>\r\n \r\n \r\n ) : loading === true ? (\r\n \r\n ) : (\r\n \r\n );\r\n }\r\n};\r\n\r\nexport default Login;\r\n","import { ROUTES } from \"../config\";\r\nimport IMenuItem from \"../types/IMenuItem\";\r\nimport IRoute from \"../types/IRoute\";\r\n\r\nexport const getAllRoutes = () => {\r\n const allowedRoutes: IRoute[] = [];\r\n ROUTES.map((route) => {\r\n if (route.title === \"Home\") {\r\n return;\r\n }\r\n allowedRoutes.push(route);\r\n // if (route.render !== undefined) {\r\n // allowedRoutes.push(route);\r\n // }\r\n if (route.children !== undefined) {\r\n route.children.map((child) => {\r\n allowedRoutes.push(child);\r\n });\r\n }\r\n });\r\n return allowedRoutes;\r\n};\r\n\r\nexport const getRoutesFromMenuItems = (menuItems: IMenuItem[]) => {\r\n const routes = getAllRoutes();\r\n menuItems.forEach((menu) => {\r\n menu.path = routes.find((r) => r.id === menu.id)?.path;\r\n if (menu.items.length !== 0) {\r\n menu.items.forEach((item) => {\r\n item.path = routes.find((r) => r.id === item.itemId)?.path;\r\n });\r\n }\r\n });\r\n return menuItems.sort((a, b) => a.viewOrder - b.viewOrder);\r\n};\r\n\r\nexport const getAllowedRoutes = (roles: string[]) => {\r\n const allRoutes = ROUTES;\r\n let allowedRoutes: IRoute[] = [];\r\n const routeConfigs: Array = [];\r\n if (roles.length === 0) {\r\n return allRoutes;\r\n }\r\n roles.forEach((role) => {\r\n const routes: IRoute[] = [];\r\n allRoutes.forEach((route) => {\r\n if (route.permissions.includes(role)) {\r\n let newRoute: IRoute = { ...route };\r\n if (route.children !== undefined) {\r\n newRoute.children = route.children.filter((child) =>\r\n child.permissions.includes(role)\r\n );\r\n }\r\n routes.push(newRoute);\r\n }\r\n });\r\n routeConfigs.push(routes);\r\n });\r\n routeConfigs.forEach((routeConfig) => {\r\n routeConfig.forEach((route) => {\r\n if (allowedRoutes.findIndex((r) => r.path === route.path) === -1) {\r\n allowedRoutes.push(route);\r\n }\r\n let parentIndex = allowedRoutes.findIndex((r) => r.path === route.path);\r\n if (route.children !== undefined) {\r\n route.children.forEach((child) => {\r\n if (\r\n allowedRoutes[parentIndex].children?.findIndex(\r\n (c) => c.path === child.path\r\n ) === -1\r\n ) {\r\n allowedRoutes[parentIndex].children?.push(child);\r\n }\r\n });\r\n }\r\n });\r\n });\r\n return allowedRoutes;\r\n};\r\n","import { FC, useCallback, useContext, useEffect, useState } from \"react\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { Navbar, Nav, NavDropdown } from \"react-bootstrap\";\r\nimport { getRoutesFromMenuItems } from \"../../helpers/RouteHelper\";\r\nimport \"../../App.css\";\r\nimport styles from \"./Navbar.module.css\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport menuItemsContext from \"../../context/MenuItemsContext\";\r\nimport DropdownMenu from \"react-bootstrap/esm/DropdownMenu\";\r\n\r\nconst Tab: FC = () => {\r\n const { authState } = useOktaAuth();\r\n const history = useHistory();\r\n // const [, setRoles] = useState([]);\r\n const { menuItems } = useContext(menuItemsContext);\r\n const [dropdownMenu, setDropdownMenu] = useState(\"\");\r\n const [isEmbassyUser, setIsEmbassyUser] = useState();\r\n let key;\r\n // const getRoutes = useCallback(\r\n // () => {\r\n // getRoutesFromMenuItems(menuItems || [])\r\n // },\r\n // [menuItems],\r\n // )\r\n\r\n const getUserFromToken = (token: string | undefined) => {\r\n if (token) {\r\n try {\r\n return JSON.parse(atob(token.split(\".\")[1]));\r\n } catch (error) {\r\n // ignore\r\n }\r\n }\r\n return null;\r\n };\r\n\r\n const handleDropdownSelect = () => {\r\n let parentNav = document.getElementById(\"responsive-navbar-nav\");\r\n let child = parentNav!.getElementsByClassName(\"nav-link\");\r\n\r\n for (let i = 0; i < child.length; i++) {\r\n child[i].addEventListener(\"click\", function () {\r\n let current = document.getElementsByClassName(\"active\");\r\n // If there's no active class\r\n if (current.length > 0) {\r\n current[0].className = current[0].className.replace(\" active\", \"\");\r\n }\r\n // Add the active class to the current/clicked button\r\n child[i].className += \" active\";\r\n });\r\n }\r\n };\r\n \r\n const checkEmbassyUser = () => {\r\n if(menuItems){\r\n for (let item of menuItems) {\r\n if (item.parent.toLowerCase().includes(\"embassy\")) {\r\n setIsEmbassyUser(true);\r\n return;\r\n }\r\n }\r\n }\r\n setIsEmbassyUser(false);\r\n }\r\n \r\n useEffect(() => {\r\n handleDropdownSelect();\r\n checkEmbassyUser();\r\n // const userInfo = getUserFromToken(authState?.accessToken?.accessToken);\r\n // if (userInfo?.myCHLARole !== undefined && userInfo.myCHLARole.length > 0) {\r\n // setRoles(userInfo.myCHLARole);\r\n // }\r\n }, [authState?.accessToken?.accessToken, menuItems]);\r\n\r\n if (window.location.pathname === '/') {\r\n key = 'Home';\r\n }\r\n else if (window.location.pathname.includes('patients')) {\r\n key = \"My Patients\";\r\n }\r\n else if (window.location.pathname.includes('referrals')) {\r\n key = \"My Referrals\";\r\n }\r\n else if (window.location.pathname.includes('practice')) {\r\n key = \"My Practice\";\r\n }\r\n else if (window.location.pathname.includes('accountsandaccess')) {\r\n key = \"Accounts & Access\";\r\n }\r\n else if (window.location.pathname.includes('portalupdates')) {\r\n key = \"Portal Updates\";\r\n }\r\n else if (window.location.pathname.includes('physicianresources')) {\r\n key = \"Physician Resources\";\r\n }\r\n else if (window.location.pathname.includes('education')) {\r\n key = \"Education\";\r\n }\r\n else {\r\n key = 'Home';\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 {menuItems !== undefined &&\r\n getRoutesFromMenuItems(menuItems).map((r, index, row) => {\r\n return (\r\n
    \r\n {r.items.length !== 0 ? (\r\n \r\n {r.items.map((item, index) => {\r\n return (\r\n history.push(item.path || \"/\")}\r\n key={index}\r\n >\r\n {item.itemName}\r\n \r\n );\r\n })}\r\n \r\n ) : (\r\n <>\r\n history.push(r.path || \"/\")}\r\n className={styles.navbarLink}\r\n data-testid=\"home-link\"\r\n eventKey={r.parent}\r\n >\r\n {r.parent}\r\n \r\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 Tab;\r\n","import { useEffect, useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport \"./reminder-popup.css\";\r\nimport MButton from \"../mButton/MButton\";\r\n\r\nconst ReminderPopup = () => {\r\n //\r\n const [show, setShow] = useState(false);\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const showReminder = JSON.parse(localStorage.getItem(\"showReminder\"));\r\n\r\n useEffect(() => {\r\n if (authState?.isAuthenticated && showReminder == true) {\r\n localStorage.setItem(\"showReminder\", JSON.stringify(false));\r\n setShow(true);\r\n }\r\n }, [oktaAuth, authState]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n Reminder\r\n \r\n \r\n myCHLA is a secure login portal only for authorized users. Use of\r\n myCHLA is subject to Children’s Hospital Los Angeles’ policies,\r\n procedures, and terms and conditions. User access and activity within\r\n myCHLA will be monitored and audited. All patient information viewed\r\n through myCHLA is strictly confidential, and the privacy and security\r\n of such information is a fundamental obligation of all myCHLA users.\r\n Federal and state laws prohibit unauthorized access to myCHLA and the\r\n inappropriate access to, failure to secure, and unauthorized release\r\n of patient information. All violators will be prosecuted.\r\n \r\n \r\n
    Updated: June 2, 2014
    \r\n
    \r\n \r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ReminderPopup;\r\n","import React from 'react';\r\nimport Modal from 'react-bootstrap/Modal';\r\nimport Button from 'react-bootstrap/Button';\r\nimport MButton from \"../mButton/MButton\";\r\n\r\nexport const IdleTimeOutModal = ({showModal, handleContinue, handleLogout, remainingTime}) => {\r\n\r\n return (\r\n \r\n \r\n \r\n Are you still using myCHLA?\r\n \r\n \r\n \r\n \r\n \r\n )\r\n}","import React, { useEffect, useState } from \"react\";\r\nimport moment from \"moment\";\r\nimport { IdleTimeOutModal } from \"./IdleTimeOutModal\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\n\r\nconst IdleTimeOutHandler = (props) => {\r\n const [showModal, setShowModal] = useState(false);\r\n const [isLogout, setLogout] = useState(false);\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const [isActive, setIsActive] = useState(false);\r\n\r\n const history = useHistory();\r\n let timer = undefined;\r\n const events = [\"click\", \"load\", \"keydown\"];\r\n const eventHandler = (eventType) => {\r\n if (!isLogout) {\r\n localStorage.setItem(\"lastInteractionTime\", moment());\r\n if (timer) {\r\n props.onActive();\r\n startTimer();\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n addEvents();\r\n\r\n return () => {\r\n removeEvents();\r\n clearTimeout(timer);\r\n };\r\n }, []);\r\n\r\n const startTimer = () => {\r\n if (timer) {\r\n clearTimeout(timer);\r\n }\r\n timer = setTimeout(\r\n () => {\r\n let lastInteractionTime = localStorage.getItem(\"lastInteractionTime\");\r\n const diff = moment.duration(\r\n moment().diff(moment(lastInteractionTime))\r\n );\r\n let timeOutInterval = props.timeOutInterval\r\n ? props.timeOutInterval\r\n : 900000;\r\n if (isLogout) {\r\n clearTimeout(timer);\r\n } else {\r\n if (diff._milliseconds < timeOutInterval) {\r\n startTimer();\r\n props.onActive();\r\n } else {\r\n props.onIdle();\r\n setShowModal(true);\r\n const cTime = timer;\r\n\r\n setTimeout(() => {\r\n if (!isLogout && cTime == timer) {\r\n handleLogout();\r\n }\r\n }, 60000);\r\n }\r\n }\r\n },\r\n props.timeOutInterval ? props.timeOutInterval : 900000\r\n );\r\n };\r\n const addEvents = () => {\r\n events.forEach((eventName) => {\r\n window.addEventListener(eventName, eventHandler);\r\n });\r\n\r\n startTimer();\r\n };\r\n\r\n const removeEvents = () => {\r\n events.forEach((eventName) => {\r\n window.removeEventListener(eventName, eventHandler);\r\n });\r\n };\r\n\r\n const handleContinueSession = () => {\r\n setShowModal(false);\r\n setLogout(false);\r\n };\r\n const handleLogout = () => {\r\n removeEvents();\r\n clearTimeout(timer);\r\n setLogout(true);\r\n localStorage.setItem(\"loggedIn\", \"false\");\r\n localStorage.removeItem(\"loginAs\")\r\n localStorage.removeItem('loginAsFlag')\r\n localStorage.removeItem('loginAsEmail')\r\n oktaAuth.signOut();\r\n setShowModal(false);\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default IdleTimeOutHandler;\r\n","import { FC, useState } from \"react\";\r\n// file name should be navbar.css instead of Navbar.css\r\nimport styles from \"./Navbar.module.css\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport useUserInfo from \"../../hooks/useUserInfo\";\r\nimport Tab from \"./Tab\";\r\nimport ReminderPopup from \"../common/ReminderPopup\";\r\nimport TourScreen from \"../common/TourScreen\";\r\nimport { OKTA_AUTH_CONFIG } from \"../../config\";\r\nimport IdleTimeOutHandler from '../router/IdleTimeOutHandler'\r\n\r\n\r\nconst Nav: FC = () => {\r\n const userInfo = useUserInfo();\r\n const { authState, oktaAuth } = useOktaAuth();\r\n const history = useHistory();\r\n const [isActive, setIsActive] = useState(true)\r\n\r\n\r\n const login = async () => history.push(\"/login\");\r\n const logout = async () => {\r\n localStorage.clear();\r\n localStorage.setItem(\"loggedIn\", \"false\");\r\n localStorage.removeItem(\"loginAs\")\r\n oktaAuth.signOut();\r\n };\r\n const createAccount = () =>\r\n history.push(\"/accountsandaccess/newpracticerequest\");\r\n\r\n const onClickLogo = () => {\r\n window.location.href = \"/\";\r\n };\r\n\r\n const redirectOKTA = () => {\r\n let email:any = userInfo?.email;\r\n let isInternal;\r\n if (/^[a-zA-Z0-9._-]+@chla\\.usc\\.edu$/.test(email)) {\r\n isInternal = true;\r\n } \r\n\r\n if (isInternal) {\r\n window.open(\"https://oktalogin.chla.org/enduser/settings\");\r\n } else {\r\n window.open(\r\n OKTA_AUTH_CONFIG.issuer\r\n ? OKTA_AUTH_CONFIG.issuer.split(\"/oauth2\")[0]\r\n : \"https://extoktalogin.chla.org/enduser/settings\"\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 Refer, Admit or Transfer 888-631-2452\r\n \r\n |\r\n \r\n {!authState?.isPending && !authState?.isAuthenticated && (\r\n <>\r\n \r\n Request an Account\r\n \r\n |\r\n \r\n Quick Reference\r\n \r\n |\r\n \r\n Login\r\n \r\n \r\n )}\r\n {authState?.isAuthenticated && (\r\n <>\r\n { setIsActive(true) }} onIdle={() => { setIsActive(false) }} />\r\n\r\n <>\r\n <>\r\n Welcome{\" \"}\r\n\r\n \r\n {userInfo?.name}\r\n \r\n \r\n |\r\n \r\n Logout\r\n \r\n \r\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 Nav;\r\n","import { FC, ReactFragment } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"./footer.css\";\r\n\r\n/** Footer common for all screens */\r\nconst Footer: FC = () => {\r\n const history = useHistory();\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {/* Column1 */}\r\n
    \r\n

    Contact Us/Support

    \r\n
      \r\n
    • 4650 Sunset Blvd. #138
    • \r\n
    • Los Angeles, CA 90027
    • \r\n
    • help@chla.usc.edu
    • \r\n
    • 888.631.2452, option 3
    • \r\n
    \r\n
    \r\n {/* Column2 */}\r\n
    \r\n

    Patient Resources

    \r\n \r\n
    \r\n {/* Column3 */}\r\n
    \r\n

    Physician Newsletter

    \r\n \r\n
    \r\n {/* Column4 */}\r\n
    \r\n

    Terms & Conditions

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n ©{new Date().getFullYear()} Children's Hospital Los Angeles{\" \"}\r\n Version 3.4.0\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nexport default Footer;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport useUserInfo from \"../../hooks/useUserInfo\";\r\nimport AnnouncementService from \"../../services/AnnouncementService\";\r\nimport IAnnouncementBanner from \"../../types/IAnnouncementBanner\";\r\nimport IAnnouncementBannerHeader from \"../../types/IAnnouncementBannerHeader\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate } from \"../../helpers/DateHelper\";\r\nimport { Alert } from \"react-bootstrap\";\r\n\r\nconst DisplayBanner: FC<{ count?: number }> = ({ count }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const history = useHistory();\r\n const cancelToken = axios.CancelToken.source();\r\n const [shouldRender, setShouldRender] = useState(false);\r\n\r\n const [announcementData, setAnnouncementData] = useState<\r\n IAnnouncementBanner[]\r\n >([]);\r\n const [displayBanner, setDisplayBanner] = useState<\r\n IAnnouncementBannerHeader | undefined\r\n >();\r\n const [error, setError] = useState(null);\r\n const [varient, setVarient] = useState(\"\");\r\n\r\n let todayDate = new Date();\r\n\r\n useEffect(() => {\r\n setError(null);\r\n setShouldRender(false);\r\n AnnouncementService.getAnnouncementServiceList(accessToken)\r\n .then((response) => {\r\n setAnnouncementData(response.data);\r\n setShouldRender(true);\r\n setBanner(response.data);\r\n })\r\n .catch((e: Error) => {\r\n console.error(e);\r\n setError(e);\r\n });\r\n return () => {\r\n cancelToken.cancel();\r\n };\r\n }, [authState, count]);\r\n\r\n const setBanner = async (data: any) => {\r\n let todayBanners = await data?.filter((announce: any) => {\r\n return isValidBanner(announce);\r\n });\r\n\r\n if (todayBanners?.length == 0) {\r\n return;\r\n }\r\n let recentModified = todayBanners[0];\r\n todayBanners?.forEach((banner: any) => {\r\n let modifiedOn = new Date(banner.modifiedOn);\r\n let recentModifiedDate = new Date(recentModified.modifiedOn);\r\n if (\r\n modifiedOn >\r\n recentModifiedDate\r\n ) {\r\n recentModified = banner;\r\n }\r\n });\r\n setDisplayBanner(recentModified);\r\n let validTo = new Date(recentModified.validTo);\r\n let differenceTime = validTo.getTime() - todayDate.getTime();\r\n\r\n setTimeout(() => {\r\n setDisplayBanner(undefined);\r\n }, differenceTime)\r\n checkVarient(recentModified);\r\n };\r\n\r\n const isValidBanner = (announce: any) => {\r\n let validTo = new Date(announce.validTo);\r\n let validFrom = new Date(announce.validFrom);\r\n\r\n return (\r\n todayDate <=\r\n validTo &&\r\n todayDate >=\r\n validFrom\r\n );\r\n };\r\n\r\n const checkVarient = (announce: any) => {\r\n if (announce.cssClassId === 1) {\r\n setVarient(\"success\");\r\n } else if (announce.cssClassId === 2) {\r\n setVarient(\"info\");\r\n } else if (announce.cssClassId === 3) {\r\n setVarient(\"danger\");\r\n } else if (announce.cssClassId === 4) {\r\n setVarient(\"warning\");\r\n } else {\r\n setVarient(\"\");\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {displayBanner ? (\r\n \r\n {displayBanner?.message}\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n};\r\nexport default DisplayBanner;\r\n","import { FC, useState } from \"react\";\r\nimport MButton from \"../../mButton/MButton\";\r\nimport { Link, Redirect, useHistory, useLocation } from \"react-router-dom\";\r\nimport { Alert } from \"@mui/material\";\r\nimport { Field, Formik, Form as FormikForm } from \"formik\";\r\nimport CustomInputFormik from \"../../common/CustomInputFormik\";\r\nimport HeaderName from \"../../headerName/HeaderName\";\r\nimport AccountService from \"../../../services/AccountService\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport { appInsights } from \"../../../appInsights\";\r\nimport axios from \"axios\";\r\nimport * as Yup from \"yup\";\r\nimport IFormDropdownOption from \"../../../types/IFormDropdownOption\";\r\n\r\nconst NewPracticeRequest: FC<{\r\n name?: string;\r\n}> = ({ name }) => {\r\n //\r\n const [loading, setLoading] = useState(true);\r\n\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const [redirect, setRedirect] = useState({ redirect: false, message: \"\" });\r\n const states: IFormDropdownOption[] =\r\n require(\"../../../data/states.json\").map((s: any) => ({\r\n id: s.abbreviation,\r\n display: s.abbreviation,\r\n }));\r\n\r\n if (redirect.redirect) {\r\n return (\r\n \r\n );\r\n } else {\r\n return (\r\n <>\r\n \r\n {redirect.message === \"success\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Form is successfully submitted,please wait while we are\r\n redirecting!\r\n \r\n \r\n ) : redirect.message === \"error\" ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n Error in submitting the form, please try again!\r\n \r\n \r\n ) : redirect.message ? (\r\n <>\r\n {window.scrollTo(0, 0)}\r\n \r\n {redirect.message}\r\n \r\n \r\n ) : (\r\n <>\r\n )}\r\n
    \r\n

    New Practice Request

    \r\n
    \r\n
    \r\n
    \r\n {\r\n AccountService.newAccountRequest(values)\r\n .then((response) => {\r\n setRedirect({ redirect: false, message: \"success\" });\r\n setTimeout(() => {\r\n setRedirect({ redirect: true, message: \"\" });\r\n }, 3000);\r\n })\r\n .catch((err: any) => {\r\n if (!axios.isCancel(err)) {\r\n console.error(err);\r\n appInsights.trackException({ error: err });\r\n // setError(e);\r\n }\r\n setRedirect({ redirect: false, message: \"error\" });\r\n });\r\n }}\r\n >\r\n {({ }) => (\r\n \r\n
    \r\n
    \r\n \r\n Owner Information\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n Practice Information\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n You will need\r\n
    \r\n
      \r\n
    • Your mobile phone number
    • \r\n
    • Your email address
    • \r\n
    • Your personal NPI and license number
    • \r\n
    \r\n
    \r\n Resources\r\n
    \r\n
      \r\n
    • \r\n \r\n \r\n Quick Reference\r\n \r\n
    • \r\n
    \r\n

    \r\n If your practice has already enrolled in myCHLA, please\r\n contact your practice owner to create your account.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n};\r\nexport default NewPracticeRequest;\r\n","import { FC, useEffect, useState } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { useOktaAuth } from \"@okta/okta-react\";\r\nimport useUserInfo from \"../../hooks/useUserInfo\";\r\nimport AnnouncementService from \"../../services/AnnouncementService\";\r\nimport IAnnouncementBanner from \"../../types/IAnnouncementBanner\";\r\nimport IAnnouncementBannerHeader from \"../../types/IAnnouncementBannerHeader\";\r\nimport axios from \"axios\";\r\nimport { getFormattedDateFromDate } from \"../../helpers/DateHelper\";\r\nimport { Alert } from \"react-bootstrap\";\r\n\r\nconst LoginAsBanner: FC<{ count?: number }> = ({ count }) => {\r\n const { authState } = useOktaAuth();\r\n const accessToken = authState?.accessToken?.accessToken;\r\n const history = useHistory();\r\n const cancelToken = axios.CancelToken.source();\r\n const [shouldRender, setShouldRender] = useState(false);\r\n\r\n const [announcementData, setAnnouncementData] = useState<\r\n IAnnouncementBanner[]\r\n >([]);\r\n const [displayBanner, setDisplayBanner] = useState<\r\n IAnnouncementBannerHeader | undefined\r\n >();\r\n const [error, setError] = useState(null);\r\n const [varient, setVarient] = useState(\"\");\r\n const [alertMessage , setAlertMessage] = useState(\"\")\r\n let todayDate = new Date();\r\n\r\n useEffect(() => {\r\n setError(null);\r\n setShouldRender(false);\r\n let loginas = localStorage.getItem('loginAsFlag')\r\n let loginasEmail = localStorage.getItem('loginAsEmail')\r\n\r\n if(loginas !== null){\r\n setAlertMessage(`Caution! You have logged in as \"${loginasEmail}\". All the events will be logged and monitored.`)\r\n }\r\n else{\r\n setAlertMessage(\"\")\r\n }\r\n \r\n }, [authState, count]);\r\n\r\n return (\r\n <>\r\n {alertMessage !== \"\" ? (\r\n \r\n {alertMessage}\r\n \r\n ) : (\r\n <>\r\n )}\r\n \r\n );\r\n};\r\nexport default LoginAsBanner;\r\n","import { FC, Suspense, useContext, useEffect, useState } from \"react\";\r\nimport { Route, Switch, useHistory, withRouter } from \"react-router-dom\";\r\nimport { Security, SecureRoute, LoginCallback } from \"@okta/okta-react\";\r\nimport { OktaAuth, toRelativeUrl } from \"@okta/okta-auth-js\";\r\nimport Login from \"../auth/Login\";\r\nimport { OKTA_AUTH_CONFIG } from \"../../config\";\r\nimport Home from \"../pages/home/Home\";\r\nimport Navbar from \"../navbars/Navbar\";\r\nimport Footer from \"../footer/Footer\";\r\nimport Breadcrumbs from \"../breadcrumbs/Breadcrumbs\";\r\nimport { getAllRoutes } from \"../../helpers/RouteHelper\";\r\nimport DisplayBanner from \"../common/DisplayBanner\";\r\nimport NewPracticeRequest from \"../pages/allAccounts/NewPracticeRequest\";\r\nimport UserPrivacyPolicy from \"../pages/home/UserPrivacyPolicy\";\r\nimport TermsOfUse from \"../pages/home/TermsOfUse\";\r\nimport Spinner from \"../spinner/Spinner\";\r\nimport LoginAsBanner from \"../common/LoginAsBanner\";\r\nimport { ErrorBoundary } from \"react-error-boundary\";\r\nimport { Alert } from \"@mui/material\";\r\n\r\n// import menuItemsContext from \"../../context/MenuItemsContext\";\r\n\r\nconst oktaAuth = new OktaAuth(OKTA_AUTH_CONFIG);\r\nconst ErrorFallback = (error: any) => {\r\n return (\r\n \r\n {console.log('error',error)}\r\n {\"Some Error Occured. Please refresh. If Error is persistent contact admin.\"}\r\n \r\n );\r\n};\r\n\r\nconst AppWithRouterAccess: FC = () => {\r\n const history = useHistory();\r\n\r\n const customAuthHandler = () => {\r\n history.push(\"/login\");\r\n };\r\n\r\n const restoreOriginalUri = async (_oktaAuth: any, originalUri: any) => {\r\n history.replace(toRelativeUrl(originalUri || \"/\", window.location.origin));\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 {/* Loading...
    }> */}\r\n\r\n
    \r\n \r\n \r\n \r\n } />\r\n } />\r\n } />\r\n } />\r\n } />\r\n\r\n {getAllRoutes().map((route, index) => {\r\n return (\r\n {\r\n // const crumbs = getAllRoutes()\r\n // .filter((r) => props.match.path.includes(r.path))\r\n // .map(({ path, ...rest }) => ({\r\n // path: Object.keys(props.match.params).length\r\n // ? Object.keys(props.match.params).reduce(\r\n // (path, param) =>\r\n // path.replace(\r\n // `:${param}`,\r\n // props.match.params[param]\r\n // ),\r\n // path\r\n // )\r\n // : path,\r\n // ...rest,\r\n // }));\r\n const Element = route?.render;\r\n if (Element !== undefined) {\r\n return (\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 return

    404

    ;\r\n }}\r\n />\r\n
    \r\n
    \r\n
    \r\n\r\n {/* */}\r\n\r\n